PocketPC: backup software a necessity

I’ve lost track of how many times I’ve reinstalled my OS on my pocketpc in the last few months. Fortunately, I invested in good backup software a *long* time ago and I use it. I use it very often.I have no idea what irritates the darn thing, but it sure is annoying. Prior to getting backup software, I used to actually have to fully reinstall from a slicked down OS. Once you have your machine like you like it, this is a real pain in the bottom.

I hear you saying “Perhaps your device is a lemon”, and it’s possible. However, this is one of several devices I’ve owned and they’ve all been susceptible to corruption.

My iPhone seems to be more stable, but it’s easy to do when you allow so little customization and standardize so much. The trade-off with pocketpc seems to be improved performance and customization for stability.

I’ve been using Spb Backup for a loooong time now, and it rocks. You can schedule your backups automatically (I do this) and it backs up to the storage card. No worries. The stored backup file is an executable, which makes the whole restore thing incredibly easy. Simply click and go. The only problem I’ve had with Spb Backup is sometimes, very rarely, the auto backup has issues (if the OS won’t let go of a file or running process)…but it’s very good to validate the backup file and let you know if there are any problems. Pretty slick, that.

SoapUI: Doing some simple web service testing

Wow, been awhile since I last posted....sheesh.

Anyway, I've been doing some web service testing lately at work. Nothing to strenuous; just your basic does it do what it is supposed to do type testing. I was introduced to SoapUI in the process of this, and I can honestly say I like it. It's simple to set up and seems to work well. It provides a TestSuite/TestCase paradigm seems natural and normal to anyone who's done some testing.

My only complaint so far: it is has a steep learning curve once you get out of the basic uses. It does allow for scripting (in either Groovy or JavaScript) and I may need some of that later. For now, I am trying to keep the testing simple since I am on a deadline. I'll build some tests with it now that might be enhanced with scripting later.

More on this as I go...

Star trek: how excellent!

As usual, THERE BE NO SPOILERS HERE!!! I know this comes late, but I figured I had to share my two cents anyway.

(I recently almost strangled someone over the whole spoiler thing, so let me say it now: I will *always* be very clear whether or not my posts on a movie, book, or whatever contain spoilers although it is very rare I will actually post them.)

Loved it.

Simple to describe.

I saw it with a a buddy of mine who said (as the credits rolled)…”Wow, could they have made it exciting?!?!”. This was his ironic statement indicating the level of excitement this movie generates. I was on the edge of my seat…the story moves quickly and yet not too quick. The scripting is powerful and very little dialogue is wasted. You do have to pay attention  (which isn’t a bad thing, says I), though.

This is genre re-defining movie much as Batman Begins or Casino Royale was for their respective franchises. I hope that the next one is as good.

If you are an original series fan, yer gonna love it!

Dig dig remix for iPhone: I didn’t dig it

I recently downloaded and installed Dig Dug Remix for iPhone the other day. I remember really liking this game when I was a kid. Heck, I was a sucker for just about anything that let me drop a coin in a slot and see 8 bit video dance around. Dig Dug was one of those games that was fun to play, easy to learn, but difficult to master. I thought getting to play a classic on my iPhone would be great.

Turns out the game is actually two games in one...one is the original Dig Dug as you (might) remember it, the other is a slick graphic/gameplay upgrade. They both basically play the same as you remember the original. Pretty sweet...or so I thought...

Then I had to control it. OMFG are the controls bad! It uses an on-screen d-pad that doesn't react well at all. It is borderline unplayable at times. Forget careful timing or last-minute saves...it ain't there. I am hoping in later versions the controls might function better. I realize that trying to emulate the functionality of a real hardware controller via screen interface is difficult, I really do. However, I am of the opinion that if you can't make it playable, then maybe you shouldn't make the game at all. Just my two cents.

Anyway, at least it was only $5. :-(

WTF Moment at work

We are in a new building where I work. It is pretty nice building. We have been trying to get the air conditioning setup correctly for months. The issue is that the zones are off; we have our IT development room on the same zone as several groups that don’t have 30 server class machines. As a result, our room freezes/fries the others do the opposite. It’s balancing act we don’t do well.

One of the founders came up stairs on Monday claiming our lamps were the problem. He pointed to mine specifically and mentioned it was 111 degrees on the outside. I tried to explain that the bulb was very tiny; for all the temperature, it was not producing any real amount of heat. If you place something a foot away for a day, the temperature of the item will not increase. My tiny bulb simply doesn’t have enough surface area to produce any real heat. I said this is likely true of the other lamps in the room (we operate with our overhead lights off to reduce screen glare) and the real problem is the server class machines development uses.

I don’t think this helped. I base this on the fact that when we came in this morning, we found that every lamp in the room had been busted and/or stolen. Broken bulbs everywhere. Cube walls torn down. My personal ($30 at OfficeMax) non-functional. One person’s personal lamp completely stolen.

Now, if the desire was to remove the lamps, I am thinking there is likely a better approach. I have no doubt that should my boss have said something like “Theo, we need you to take your lamp home to help with the heat problem”. Had that happened, I’d have done it. No argument. I’d think it silly, but I’d have complied. Busting my lamp is not the solution.

The founder is up here now distributing lamps to replace the ones taken, but I feel terribly intimidated to ask for one. This is seriously messed up.

EDIT:
My lamp was replaced. The founder handed them out.

Sherman Branch Park: Charlotte Mountain Biking at its best

We went out to Sherman Branch Park to ride this morning. We had heard about and since we were looking for somewhere new to ride, we figured we'd try it out. We weren't expecting much since it seemed to be off the beaten path and such.

Turns out it was a local's treasure spot.

It is 7 miles of fun trails for the beginner with 1.7 miles of advanced riding ("Roller Coaster Loop") and 2.5 miles of a Lake trail. We rode the Roller Coaster Loop on accident (Sheri doesn't like the more aggressive loops), and it was great. The trails are well maintained and well-marked.

We'll be back there very soon, I've no doubt.

Wolverine: No way, bub.

THERE BE NO SPOILERS HERE!!!

My title makes it sound like it was bad, but it really wasn't that bad. Was it great? Nope. Did it deliver on the promise that the Jackman showed in the first two Xmen movies (I refuse to acknowledge there even was a third...blech)? I don't think it did.

The action scenes were pretty good, actually. Definitely some suspension of disbelief (and I don't mean the obvious things like using swords to chop bullets) in some places were it just didn't sell well, but the action was pretty good. The fights were fast and furious.

I did NOT like the acting at all. Now, for some folks, this isn't important at all in this kind of movie and I can appreciate that. However, these heroes are more than just characters in a movie to me. I grew up reading them and learning how they behaved. I had some expectations that they would act a certain way. They didn't. Jackman's Wolverine was not nearly the Wolverine he was in the first two Xmen movies.  I also did not at all like the love interest. She's pretty as heck in that doesn't need makeup sorta way (I like that), but her acting was flat. She's an interesting blend of features that reminds me of Liv Tyler but prolly cheaper to hire. Just a thought. The chemistry between the characters didn't work really well, either. The "love" scenes just didn't sell at all.

Liev Schreiber plays a great Sabretooth, and he stole the show. My only complaint? He doesn't look like Sabretooth. Wolvie was pretty short, and in the comic, Sabertooth stood head and shoulders over him. In the movie, Sabretooth/Wolverine look the same height. This really troubled me, but Jackman is 6'3"...would be tough to find someone the right size.

Some of the CGI looked like it was from the 80s it was so bad. Especially the claws. Keep an eye on them and you'll see what I mean. I am a stickler for details and they troubled me.

So, overall would I suggest seeing it? Oh, yes, by all means. Is it one that is going to standout in mind as great film based on comic books? No. If the recent Batman movies were a 10, Iron Man an 8, Fantastic Four a 5, the Hulk a 2 and Barb Wire a 0, then Wolverine probably rates a 5 or a 4 (in my opinion) in the 1-10 scale of comic-based films.

Safari books online: tech library in your pocket

I’ve been a professional developer/automated test software engineer for 10 years, and I’ve always seemed to move from discipline to discipline. First VB6, then .Net, now Java. Over the years, I’ve read a ton of books.

I was recently offered the chance to review Safari Books Online and I jumped at the chance. I love tech books. I always have several I am reading at any given time (don’t we all?), and I often pick up books on topics for which I don’t even currently have any particular use (I like to stay “in touch”). Needless to say, I end up with a quite a bookshelf of books in a fully, half-read, or not really needed state all of the time.

To be honest, I’ve used Safari books before. A previous employer provided us with a license for Safari. I was a traveling consultant at the time and I found that my access to Safari was priceless. Imagine having (more or less) instant access to a HUGE library of the best in the technical book world. Sometimes, the client would mention something we might want to be working on (Ruby even came up once even though it was a .Net shop). I could go back to my room that night and great resources were right at my fingertips. I could (and did) often educate myself on the topic at hand literally overnight so I could provide the best service to my client and represent my employer well.

Prior to this review, I’d always used the web-based PC interface, and it works quite well. I especially liked the bookshelf feature, which would keep the books I was currently reading in a convenient location. I also appreciated the note feature, which would allow me to make notes at specific places in the book and refer to them later. When I found a code example or explanation that was particularly useful, I could make note of it for later. Very handy.

I got to use the mobile interface for this review, too, I love it. I am using an iPhone 3G and I simply love the immediate access to the books. I expected the interface to be slow, perhaps hard to read, etc….all the things you’d expect in a small screen interface. I was wrong. With the iPhone at least, the interface is clean and slick. I can get at the same notes, favourites, etc., that I get in the web. Very handy for those notes I mentioned before. I can read my books on the train, in the car, etc.

My only complaint is with the mobile version if the Bookbag app for the iPhone. It simply didn’t work for me. I tried removing/reinstall, rebooting (both warm and cold), but it just wouldn’t work (I enter my credentials but the app shuts itself down without ever logging in. I was hoping that it would provide even more features than the browser-based, but honestly, the browser-based works wonderfully. The only thing I really wanted to see was how the Bookbag app actually stores the books on the phone and how it works when the connection is poor (i.e., on the Edge network). I think the reception for the Bookbag app is universally lukewarm given it has only a two star rating on iTunes.

I’d also like to thank the Safari Books people for the chance to review their service. It’s easy and fun to review a product that is this good.

As a special offer:
For a limited time, Safari Books Online is offering GeekswithBlogs readers a 15 day free trial, plus a 15% discount on a monthly subscription for a full year. Learn more and start your free trial at this link.

Win7: Why I am not sure it’s that big a deal

I am currently downloading the Win7 RC from MSDN even as I type this, so believe me when I say I am interested in seeing it. I installed the beta months ago, and worked in it. It’s not a bad OS, of course. Honestly, as someone who is still on WinXP Pro SP3 and absolutely hates Vista for development or gaming (which is about all I do on my PC), I am hoping Win7 lives up to the hype we’ve all heard. Seriously, if Win7 can deliver the performance with all those added features and without the incredible weight and bloat of Vista (btw, I’ve used Vista ultimate on one of my spare boxes for months to give it a chance), I’ll be the first to upgrade. I am hoping against hope that Win7 delivers on what was promised with Vista.

I wrote the previous paragraph to illustrate where I am mentally with regards to the Win7 product before I write the body of this post.

A gentleman has recently written a post on Top Ten reasons why you should upgrade to Windows 7, and if these are *really* the top 10 then Win7 is going fall on its very pretty face (it *is* pretty, I’ll certainly grant…although I detest the taskbar/systray arrangement in the beta…blech). The author does a great job of communicating his ideas and I appreciate this. I can’t however agree that the reasons listed are really worthwhile. This is not so much a critique of the author or his article, but more of me expressing my difference in opinion. I can’t help but think the author was assigned the article, because few, if any of the reasons in this article are as compelling as I’d like. Here are some key ones:

1. A fast install time. Seriously?!?! This is a reason? Ok, improved boot time is cool, “snappier UI” could be cool (although XP, with XP power tools tweaking UI is pretty darn fast)…but install time?!?!

2. Removal of IE8 and other components. First off, this isn’t a really good reason to upgrade the whole OS and go through the patching process. Does IE really take up enough space that it’s a big deal? Secondly, there are already tools available that will remove IE.

3. Problem Steps Recorder. Again, this is a tool that most people will never even use, I suspect, and not really compelling at all.

4. Updates to Calc, Wordpad, and Paint. Again, these can’t seriously be reasons to upgrade a whole OS. I’ve always thought MS hasn’t really changed these apps over the years for two incredibly good reasons: 1) for what they are, they work fine and 2) there are free apps on the web that are significantly better so there is no money in supporting them. I am still stunned that this would be a reason.

The author does list “Less Bloat” as a reason, and this is a pretty good one. Another is the fact that DirectX will not longer be upgraded on XP (this is the most likely reason why I’d upgrade). I hope there are other, even better reasons than listed in this article. <crosses finners>

Diablo2: old school gaming goodness

Good games don’t get old, they just get old school.

Some of the ppl with whom I work (great team building) and I have recently started reliving our past by having a weekly online session of Diablo II. You know, I always liked this game, but never really got to play it too much in a group. Being able to get back into it after years has been a complete blast. It’s old, but it’s still a very cool game. :-) I’d forgotten just how much fun the hack and slash dungeon crawl can be.

We have a TeamSpeak server set up, of course, something we would’ve loved to have had back in the old days. It makes the game easier without losing all of the gaming goodness we remember.

Adventure racing: cause I ain’t thought of enough ways to hurt myself

I was recently invited to join a team that does adventure racing here in NC. Involves mountain biking, canoeing, cross country running, rock wall climbing, etc. I am excited to be asked to run with a team and participate. Excellent!

http://www.ncars.info/

Non-tech post: Journey w/o destination

Figured I was overdue for a non-technical post. :-) Please excuse my self-indulgent, mindless ramblings. Anyone who’s known me for any amount of time will not be surprised and just skip over this post. :-)

I was thinking about the whole fitness dealie recently, and was examining the amount of time I spend working on it. I actually spend a good bit of time each week trying to improve my fitness level overall. Crossfit (adding a day of this to each week starting next Tuesday), Kettlebell, hockey…lots and lots of exercise.

But where am I going?

I was considering the fact that these days I don’t really have a goal for my fitness program. Nothing, certainly, as cut and dried as “lose 20 pounds”. My weight is right where I want it, my BF is fine. I don’t have a “destination”.

So, why do I do it? Why, the journey, of course.

At this point, I am focused on the path and not where it goes. Each w/o is examined and performed as part of a larger whole, but strangely I am not really concerned about where I am going.

The Tao of Fitness, perhaps?

Opensta: Handy in a hurry

I was asked to put some load on one of our servers yesterday using our functional testing harness (Selenium), but I knew this wasn’t going to generate enough load to make a real stab at stressing the server. We don’t have a genuine load testing harness here, so what to do?

I remembered at my last job I had experimented with OpenSTA for load testing, and it seemed to work pretty well. It does, supposedly, have some issues with https (allegedly you can work around these, but I’ve not tried it yet) but it is free, and very easy to get running. I popped it onto a VM and poof! Instant load tester. Now, obviously the test I ran was the most rudimentary imaginable, but I can expand on it later should there be need.

Overall, I am very pleased with OpenSTA and should the https issue become a problem, I can probably use the success of this initial usage to possibly get funding for a product that handles it better. For now, though, I couldn’t be happier with it.

Selenium: getTable vs. getText/getAttribute

I originally didn't like the getTable function in Selenium very much. Mostly, I didn't like the cell adressing approach it uses. I, therefore, used to use getText and iterate the table. I am usually stuck using an iterative approach as much of our content is dynamically generated and no predictable properties are created at generation time. I figured since getText/getAttribute would get at the same information ultimately, getTable had no use in my toolbox.

What I didn't realize is how unbelievably slow getText/getAttribute can be when attempting to crawl a table on a page. The cells are addressed using xpath in this case, often very long xpath. If there is one hit on Selenium it is that resolving long xpath is very, very slow. Reading the contents of a table using this approach took 40 or 50 minutes! Whilst I don't normally worry about performance a great deal on test code, this timeframe was ridiculous.

So, being the curious type, I tried getTable. ZOMG! WAY faster. getTable does only read the text from the cell, however, so if you need more than that you'll be stuck using getText/getAttribute. However, getting the text of the cell faster may allow you to avoid having to iterate the whole table to find what you need using getText/getAttribute.

Selenium: getXpathCount bug?

I found something interesting in Selenium today. I use the selenium.getXpathCount a lot in my code. Mostly for dynamically generated tables and such. I also use it in testing as it is best to interrogate the page rather than assume the page structure hasn't changed.

I know,  know...I could isElementPresent() to handle this also, but each execution of isElementPresent() requires selenium to resolve the xpath on each iteration. This is painfully slow. I don't really worry about speed for testing under normal circumstances, but the performance hit in this case is really, really painful. You can use it if you'd like, but I ain't gonna.

But I digress...

I have come code that reads the text out of a set of list item tags using xpath dynamically generated by a loop structure based on the getXpathCount. let's say the first time, getXpathCount returns 13 li tags.  Cool so far. I move to another page then re-count the items (to I can compare the text in the li tags to make sure they've not changed). Essentially it's a new page with the component I am checking refreshed. I visually see that I have 13 li tags in the html. Coolness.

getXpathCount insists there are 26. It has doubled them. Odd.

The same code tests these pages several times (in different languages) and there's no issue.

Going to try some things and see if it continues to be a problem....never seen this particular problem w/Selenium before.