she swears <i>geek</i> is a term of endearment

iPhone vs. BlackBerry Curve

January 29th, 2008 Rusty

I was very, very tempted to document a comparison of my brand new blackberry curve against my wife’s new iPhone.  If I had the time, perhaps I’d doc such a thing.

We both got new phones.  I opted for the bargain BlackZBerry Curve 8310 while my wife was coveting the iPhone for months…

I am left jealous and disappointed in my device.  While mine would have been a slam dunk on its own, it is simply crushed by the experience of the iPhone.  Now, take the difference in price into consideration - Blackberry Curve $100 after rebate / iPhone $500.     Read on…

Presentation

The first thing i noticed was packaging.  The iPhone was like unwrapping something special, something exclusive.  My wife compared it to an American Express Black.  I’ve never seen such a thing but apparently its something special.  Lordy, I hope we never get one of those…  The iPhone is presented in beautiful packaging and presentation.  You feel as though you’ve received a gift.  The blackberry?  Lots of white stickers, crappy baggies and cheap plastic. 

Capability

The second thing I noticed was, well, the device.  The iPhone is fantastic!   Its easy to sync, easy to understand, easy to use.  In fact, a pleasure to use.  The blackberry is a pain in the ass.  I still haven’t been able to transfer my contacts from my Razr.  My wife’s razr has long sync’d using her iBook.  Slim, shut up.  Google maps is a tie.  Both devices equal opportunity.  The bottom line is that the iPhone is user centric while the Blackberry is balckberry centric.  If you think about the hours of wasted time trying to f&#$ with the BB while the iPhone user gleefully completes her task and then moves on to music, $400 well spent.

Moving On Then

Jason Hoekstra mentioned the Microsoft Multi-touch in contrast to the iPhone.  He has a good point.  Today I thought of one killer app that could make a large format multi-touch display launch to the moon.  The fax machine!  Who in the hell still thinks fax machines have their place in the world?  We all have scanning capability but you have to scan then configure then send then watch then report then print…  argh!  I still struggle with fax machines.  It is due time for a machine that one can lay a piece of paper on, scan it in and then, on the surface, deliver it somewhere.  Of course, Mark Jones (where is your blog, man?) pointed out that MacBooks have a new app that allows you to scan bar codes using your built in  camera phone.  Anyone else realize how simple, relevant and disruptive this could be?  Toss every laser scanner in the trash and start using camera phones to scan bar codes.  Next, toss every damn fax machine, scratch that, BURN every damn fax machine in a giant inferno of fuel oil and gunpowder, dancing around the bonfire in a celebratory exorcism of ancient and inadequate technology as we replace something that doesn’t work with something that we all already own.  Hmmmm..   Should I refrain from posting this?   Nah!  I will personally pay the persona who develops the software necessary to use a cell phone camera as a fax machine replacement $1000.  I hate them so.

My point is that these technologies are so long in coming that we’ve become complacent in their reception and, when they finally arrive, we say, "wow, nice, cool."  But we fail to stop and consider what star trek episode is actually within reach because your iPhone let’s you flip through your voice mails out of order and create an effective user interface from pixels on a handheld device.  Yeah, the tabletop computer is too expensive to care about right now but, think about it…  Imagine checking your voice mail on that device, setting the temperature of the thermostat, sending some music to your car stereo, ordering a pizza and then picking which movie to stream to your wireless HD TV.

Center for Puppetry Arts - Duke Ellington’s Cat

January 19th, 2008 Rusty

duke-ellingtons-cat

Today my family visited the Center for Puppetry Arts to see Duke Ellington’s Cat.  I’d previously seen one performance there and was expecting quite a lot.  They blew away all my expectations! 

Set the Stage

First, the set was breathtaking!  The puppets aren’t just the characters.  The entire stage comes to life under the skillful hands and creative minds of the performing puppeteers. 

Pure Puppet Magic

duke-ellingtons-cat2 I can’t help but think this must be what the audience at early Jim Henson shows might have thought when they saw his genius on the stage.  However, this is definitely a different experience.  There’s more history and pure art at work in this show that pull you out of your seat and suck you into the story until you forget that there are people behind these hand-powered, mechanical wonders, dressed in black, working in teams of 3 and 4 to bring characters, cars, buildings and entire cityscapes to life.  I assumed the songs were certainly pre-recorded but learned, during the equally impressive post show puppet education, that the songs are performed live, by the puppeteers themselves.  But don’t fret that you won’t find them as silly as you expect you puppets to be. A good show should make you laugh and I can’t remember the last time I heard a 2 year old laughing with the same intensity as a 30 year old.  Perhaps watching Pixar’s Cars for the first time, I shared that moment with my son, where we both found the same level of humor in the writing and performance.  This show, however, was happening right there, in the same room, and the energy is fantastic.

Education of your Seat

Duke Ellington was a brilliant jazz musician from the 20’s through the 70’s and is one of the most influential composers in American history.  The show does a wonderful job of taking you through his life and music in a way that focuses on his music without taking for granted the social circumstance that surrounded his career.  He was a black musician in a time when being black was an impossible challenge.  Its so hard to represent this fact without overshadowing the importance of his music yet it is inappropriate not to recognize the things that shaped him, his art and the world he so meaningfully changed.  He helped define American music.  He did it in spite of unimaginable hardship.    Duke Ellington’s Cat brings you the story through the eyes of his cat and does a fantastic job of telling a wonderful true and important story in a way that keeps you completely entertained.  My son sat on the edge of his seat from the time he sat down until the lights were lit in the auditorium.

Membership Seating

galapagos Following our last show, Galapagos George, we didn’t hesitate to purchase a family membership.   Their website wasn’t allowing me to purchase online so I left a message for the membership coordinator.  However, we called the box office and managed to get our membership and tickets squared away in ten minutes.  You just need to call after they open. 

Members get to sit in the first two rows.  I can’t even tell you how amazing the show is from ten feet away.  Its worth the membership for this alone.  However, you are supporting an art that is not very popular anymore because we all have gotten used to TV.  Its tax deductible and these are some dedicated artists who do this because they love to entertain.  As a musician, I can relate to that and truly respect the effort and investment they each make to put on a show.

Obviously, I recommend checking it out.  Its such a treat to see something so unique and so well done that you owe it to yourself not to miss this show.  Instead of watching a reality show on TV, why not go see a real performance with no commercials and follow it up with some Midtown or Highlands dining?   I recommend Osteria for the kids.

Atlanta Hidden Treasure

If you live in Atlanta, you know we have great cultural resources.  We have fantastic dining, arts, theater and shopping.  You can find about everything you want here (except public interest in local bands, sadly).  Its not surprising that we have perhaps the best puppet organization and theater in the country, possibly further.  What is surprising is that no one knows about it.  It ain’t no puppet city but it is a good city for puppets.  No comment about our Georgia politicians…

Defining Done

January 17th, 2008 Rusty

People often use "building a house" as a metaphor for software engineering.  Ironically, they use it from both sides of several arguments.  For example: a Waterfall proponent may suggest that you don’t start swinging your hammer until you have the architectural blueprints drawn up and the construction schedule reconciled with contractors and suppliers.  An Agilist would counter that you don’t have pick out the curtains before you begin pouring the foundation.  Both are right (at least this specific argument).  Its not good practice to dive into a software project without a plan but you don’t have to plan three years out, just far enough to set expectations for delivery.

Visualizing your Goal

Far more important that your plan is your visionPlans should change when new information is discovered along the way.  However, vision should be pretty much consistent through changes in climate and circumstance

With software, your vision is what the end user does with the system.  It is the user experience, from their perspective, for how they use the new or enhanced features.  If its a small project, that’s usually easy.  When its a major feature enhancement, this can be more difficult.  By removing the UI from your description, you can usually be more accurate (through changing requirements) and keep the details simple. 

For example:

Let’s say you are building an online flight search tool.  Your description of the completed work should be: user can search for flights from origin to destination within a certain date range and optional time range.  That’s pretty high level.  No talk of drop down menus, page navigation, font color, etc.  If you start there, you can then narrow the focus during design. 

This should be done before you begin swinging your hammer.  Agile doesn’t mean sprinting headlong into uncertainty.  Its important to understand what means "done" before you begin.

Tests as your Benchmark

So let’s say you begin your project and you stop to define what it is that you are trying to build.  You establish you high level description of a successful outcome.  Now what? 

Break it down into tests!  If you are given a broad-scoped feature request, a logical thing to do is decompose that into smaller tasks necessary to accomplish the goal.  Do the same thing from vision to tests.  In the above example, you can elaborate that a user must select a date range.  The second date must be equal to or later than the first.  Time is not required.  Same rule for second time selection, however.  An origin and a destination are required.  The rest of the details, you may have to discuss with the business owner to get consensus

Once you have this list, write them in a format that can easily be implemented as input / output tests.  This should be done during design elaboration of the feature.  As you are designing how the program will implement the feature, you should be detailing how you will validate that it works. 

This list should be converted to unit tests as much as possible.  Those items that cannot should be written as automated UI tests.   This should be done before you begin coding.  If you have a QA department, great, they should write the UI tests and help develop the unit tests (at least in human language).  If you don’t, that ain’t no free pass.  Taking the time to validate your outcome before you begin will save you a tremendous amount of time and guarantee that you won’t cut corners as release time approaches.  You’ll find that you are "done" sooner and that you are more "done" than if you hadn’t taken this step.

Less Time Chasing Rabbits

Another benefit of this practice is that you can produce executable documentation for your feature.  Yes, it lives with the code and continues to validate the business rules you worked so hard to support.  Just as importantly, you will have something to share before you have a screen to show.  Anyone involved in the project can review those rules and find an opportunity to add additional detail or call out a conflict.  If you have just begun to build your object layer and someone informs you that login is required to access the feature, you don’t have to toss a bunch of code around to support that.  You learn earlier what needs to change and you can implement that change more easily and for a much lower cost. 

How do I Test That?

The basic message to take away is that a "test" is your best way to define done.  Having a test to start with will help you reach done faster.  It will help you be more done and spend less time responding to "issues" found in your code.  A solid, consistent practice for testing first will allow you to satisfy both sides of the "build a house" argument and reach a happy compromise between code slinging and sandbagging.

Lenovo Rescue and Recovery Success

January 13th, 2008 Rusty

My recent post: Lenovo restore and recovery - 3rd try is the charm indicated that I had successfully restored the system to a trimmed down state using the factory Lenovo Rescue and Recovery partition.  It didn’t go into any detail as to whether that was a good thing to have done.  BTW, I didn’t realize until just now that its Rescue not Restore.

Restore from Lenovo Partition Using Custom Configuration

To make sure I’ve clearly explained what I did, here it is.

I created a custom Restore manifest in Lenovo Restore and Recovery to refresh the operating system with only the necessary drivers and utilities.  I omitted all the ThinkVantage (crap) software that I could and chose absolutely no third party utilities, tools or programs except Adobe Acrobat and Sun JVM.  I then initiated a complete restore using this configuration.  After the refresh, I installed all the things I needed, including 7-Zip, TortoiseSVN, Elaborate Bytes VirtualCloneDrive, Office Ultimate (not on the restore image), Google Toolbar (opted out of updater but they installed it anyway), Visual Studio 2005, TestDriven.Net, SQL Server Express with Tools, Paint.Net, Firefox with Firebug and Windows Live Writer.  I then disabled start up items (like Acrobat and the surprised to find Google Updater).

The Results of My lenovo Lobotomy

Since the Lenovo Lobotomy, my X61 absolutely rocks.  Vista is even (dare I jinx myself) stable…

If things continue to work as smoothly as they have this past week, I am a happy camper.

Here are the noticeable differences between my computer today and the one that shipped from Lenovo.  Note: this is a comparison of the computer from the factory, before I installed anything, and what I am using today.  After I installed a few non-invasive things on the original build, it became unusable (the factory image).

Things that are better:

  • The screen color is right.  The first thing I noticed on my new X61 was that the screen was yellow and looked like a computer from the 80’s.  I’d tweaked the gamma to compensate but it wasn’t clean and sharp.  Now it is!  (wtf?)
  • Boot up is reasonable.  I haven’t timed it but it comes up quickly.
  • Return from sleep is instant.  Before the refresh it took more than 90 seconds to go from sleep to ready.  I was getting truly irritated about this and was ready to disable sleep entirely and even got in the habit of shutting down for now reason.  Yes, I mean sleep, not hibernate. 
  • Windows Explorer doesn’t crash.  This is probably where I am jinxing myself.
  • The computer is usable.  The way the thing was shipped to me is a crime. 

Always Clean a New Windows Computer

Buying a Windows based computer from a major player like Dell, Lenovo or HP will always leave you with something that does not perform as well as it could.  I can’t, for the life of me, figure out why they "f" up your computer before they give it to you.  Sure, they get $$$ for installing trials of things.  Perhaps there are some executives at these companies insisting that the system engineers provide every tool their competitor does so they just hack it all together out of spite.  Regardless, it sucks, and we suffer. 

This punctuates the fact that I need to create standard builds for my organization.   I really only four or five.  I need a server, an office desktop, a developer desktop, an office laptop and a developer laptop.  I am seriously considering using Linux for Server and Developer OS and installing VMWare on top of that.  Then we could create, use, move, share and manage nothing but VMWare instances.  I need to prototype that concept and that requires time so I am not expecting that anytime soon.  So stuck on hardware, be I.

I would actually pay extra for a factory machine that had nothing but the raw OS installed when it arrived.  I would be more than willing to install everything I want from an online software repository.  If there is anyone out there who would like to start a computer company, be the first to market with the LeanMachine.  I’ll buy them. 

How Blogging impacts work performance

January 12th, 2008 Rusty

Blogging is a exercise that helps a technology professional connect to the outside world in a way that doesn’t tweak his or her social dysfunction.  It is a place to capture thoughts that may not be complete and by virtue of throwing it out there the idea is both solidified and subjected to the wisdom of the crowds.  A blog is a low-cost web publishing platform that makes public experimentation easy and effective.  There are a lot of intangibles that  result from having a blog but there are also some pretty impressive, concrete values that one provides.

Staying Current and Being Creative

I have found that blogging more makes me read more: industry news, product reviews, product releases, competitive editorial and other blogs.  This keeps me current and encourages a diverse influence in my knowledge of important topics related to my job.  In other words, by making it a policy to share my opinion and discoveries, I am incentivized to read other blogs and research my points to provide support for what I am putting out there.  If course, I am at liberty to be entirely self-gratifying and post things like this - where no support is warranted.  This is then just a creative outlet where mind dumping seemingly has a purpose. 

Improving Efficiency

Bloggers feel guilty when a long period of time passes and they haven’t blogged.  Therefore, like anything, blogging can become a commitment.  When it becomes exceedingly difficult to maintain a regular post practice, a blogger is forced to evaluate means to increase efficiency.  For example: this post is written using Windows Live Writer.  This may seam like a small point but it allows me to post immediately after clicking the program shortcut.  This one step replaces: launching a browser, navigating to my blog home page, clicking login if I missed the admin page, logging in, clicking "write blog entry".  Of course, each of these steps may include waiting for an Internet page load or it might require diagnosing wireless connection problems or some other artifact of web browsing.  I’d like to point out that an Internet connection is not needed until the post is completed so every one of those steps is unnecessary.  By replacing this with a tool that can work offline and re-organize the workflow to match the need, I can post more efficiently.

Experiencing this, personally, causes me to evaluate all of my company work-flows and processes.  If this low-cost implementation can reduce the burden of blogging to its required steps and ordinality,  what similar tools could do the same for business processes that don’t look like they are serious problems but could be wasting valuable time, energy and money? 

Evaluating Behavior

Much like improving efficiency, blogging is a part of a person’s day that needs to be managed and reflected on regularly.  This post is a perfect example.  I started it on Friday morning and here I am, on Saturday morning, trying to complete what I started.  On one had, I probably shouldn’t have posted it.  I could then have just abandoned the post without feeling obligated to spend my weekend writing about my work.  On the other hand, failing to blog usually indicates limited availability.   (at least for me)

If posts go unfinished due to interruption, and this happens quite often, a person should consider how this impacts other projects.  The first thing to recognize is that starting more projects is probably not a good idea at the moment.  Blog entries are like micro-projects.  They don’t take long to complete but sometimes two periods of fifteen minutes might be necessary to complete a meaningful post.  If this is impossible during a day when the author intended to complete a simple post, self-inspection is necessary.

If I cannot blog and I haven’t been having a very busy week, I should be aware that I cannot commit to additional obligations.  I have too many plates spinning in the air right now to get anything of value completed.  Blogging on Saturday morning does not count!  I took some time the latter part of this past week  to recover some organization practices that I’d abandoned when a recent project spiraled into scramble mode.  It was reading a few blogs, after a period of disengagement, that reminded me how important that is to my ability to design strategy for our IT department.  The project that was the catalyst to bad time and personal management has spun down and is back within reasonable delivery expectations but I am just now realizing that I have not caught up.  It has been many months since I felt "in control" and organized and confident that I was cutting trees in the right forest.  I’ve been cutting some damn trees all right, just not sure if it was goal-related output.  Rather than continue to scramble, I paused to put everything back in order.  As a result, there are some things from mid-week that are still not completed.  However, they are not the most important things to be done so it is finally clear that reprioritization will prune some of the low return tasks from my list. 

When someone who enjoys blogging goes dark, you can assume something has come up and they are not at liberty to share their life.  You can assume they also are not at liberty to do other things that might be important for growth.  If you find yourself reading less and writing less, and you consider yourself a blogger, it might be time to take a breath and look at your behaviors.   

LiveWriter works great - get id error

January 11th, 2008 Rusty

"Invalid Server Response - The response to the xxx method received from the web-log server was invalid. You must correct this error before proceeding."

It turned out to be a problem with my chosen wordpress theme.  If you are having trouble configuring WordPress and Microsoft Live Writer, try selecting the default theme to see if that corrects the problem. 

I really liked my theme.  Now I have to find a new one.

p.s. Slim, your theme looks like a big fat football.

Stupid Orange Juice Theme interfering with blog tools

January 11th, 2008 Rusty

I tried installing Microsoft LiveWriter but it could connect and initialize. I tried every recommended xmlrpc.php change listed in the blogosphere and even tried BlogDesk to be sure it wasn’t Microsoft’s problem. I disabled all my plugins, I then updated my WordPress blog to the latest version. The good news: upgrade worked fine. The bad news: still no blog tool support.

Finally, I swiched to the default theme. BOOM. There ya go…

So this post is written using BlogDesk. Its really quite nice! I will try LiveWriter a little later.

Then its off to find out why that old theme broke. I noticed, using Fiddler, that there was a css file referenced that was 404′d. I may try dumping that js into the dir or removing the reference. It would suck if bad css references prevented initialization of the software without a message like “could not retrieve file, chump change.”

I am Levous - levo.us

January 9th, 2008 Rusty

The other night I was dreaming of a car that was designed using agile principles. It would be a car that started simple and was architected for easy modification. Systems would be modular and interact through distinct, well-defined, isolated interfaces. The first run would be expensive but limited production. From driver feedback, built into the car’s feature set, the next model would evolve based on consumer response. The people who owned them would tweak the next model by requesting “a little more low-end torque” or “a quieter ride”. By focusing on the ability to change, rather than trying to make each model a year long competative production run, the car would quickly become the most consumer-friendly, desirable car on the road. I thought the car should be called Evolocity and woke the next morning to check on the domain name. I thought it would be fun to provide a website where social contributors designed a cyber car. Perhaps we could us Second Life as a modeling platform. The domain was taken. I took that as a sign that the idea is a little far-fetched…

But it got me looking for a good domain name again. VitaminZProductions.com is toooo long. I am tired of typing it and no one knows what it means. Its my last name, first letter: Z. And its the last vitamin you ever need. Vitamin Z. What, are you 12?! It used to be VitaminZRecords but I broadened it to make sense for both music and web.

I also have RustyZarse.com (too long, too hard to remember) and have wanted zarse.com (taken by zarse cabinet makers, so I registered zarsecabinetry.com and plan to build them a rocking site to trade for my name).

Today I was investigating top level domains after i learned that levous.com was registered. It was registered just 1 month ago by some equipment sales company in LA. I have no idea why they took levous.com.

For me, levous has been my nickname since I was about 19. I was visiting my brother in Madison, WI. We were partying and my brother, Karl, was repeating, “rusle… rus-le-vous…” At that moment it was just repetition of the slurring of my first name and was relatively catchy.

Several hours later, and much partying further, I performed music, for the vey first time in front of an audience, and our lifetime friend, Mike, shouted, “Rus-le-fahkin Vous!”

It stuck. Its been something I’ve always been fond of and a name I smile when I hear.

When I found that levous.com was missed by 30 days, I was disappointed. Then I noticed “.us”

“levo.us” NO WAY?!

Its registered for the next ten years. I will be moving to that domain as soon as I can. I am looking forward to having a 6 character url including the top level qualification.

Lenovo restore and recovery - 3rd try is the charm

January 9th, 2008 Rusty

Following up from Vista Lobotomy

I’ll bet I can set you up with any girl in the bar

I ran the restore process from beginning to end. My system came up fresh, light, almost sexy! I started entering my username, password, computer name, start menu icon, background - poof! The screen went black and a reboot ensued. It reminded me of an evening a long time ago, from days when I had less to be thankful for, and I had managed to take a girl home from a karoke bar… It was really just another guy winning a bet that he could hook me up with any girl in the bar. To my disappointment, the waitress was not on the table (literally and figuratively). Nonetheless, he won the bet, I drove the girl, we went inside and my 20ish excitement peaked when suddenly - snooooore. She passed out.

Just like that night, I hadn’ given up home. I tried to spark the system to life but when it awoke, it had no idea who I was. The username I entered was not my user, it was “other user” and no password I tried would work. Many years ago, I gave up, went to bed and left in the morning. Today I returned to meetings and ran restore and recovery all over again.

Another night alone

The restore process, several hours later, informed me: “Windows could not be installed. Please try the restore process, again.”

How much is a macBook, anyway?

So I took the damn thing home and tried it again. This time, I just left it alone, touched nothing, and waited. Just a few minutes ago, the screens prompting me to enter my user information loaded. Wow! You’d think it had done my laundry, washed my car and made me breakfast! I entered my stuff, carefully, and got through to first launch.

Tip: do NOT try to select one of the backgrounds from Lenovo if you’ve not included them in the optional installation selections. Aparently, that’s all it takes to corrupt the whole Vista install process.

So I am presently blogging from my squeeky-clean Vista install. It is down right snappy. Sidebar doesn’t even crash. Maybe it wasn’t Microsoft that caused all that crashing before? Well, any software works well when it is all by its lonesome.

So far, I am a supporter of using the Lenovo Restore and Recovery to clean a new x61.

Lenovo x61 Tablet Vista Lobotomy

January 9th, 2008 Rusty

I am about to completely refresh my almost brand new Lenovo x61 tablet. I recently installed VS.Net 2005 and disabled some startup items and the thing started choking badly. Explorer crashes every few minutes. Networking is on and off. Random applications hang. Files take as long as 90 minutes to open. Task Manager won’t launch. Dead, khaput, trashed, useless. Oh, Vista, you giant piece of s%*#!

I’ve just completed a custom restore manifest using Lenovo “Base Software Administrator” and backed up every file I thought I couldn’t afford to lose.

I have about 10 seconds left on the last copy to an external drive (Vista users will know that this actually means it might be several minutes). Next up, reboot and enter system restore.

After reading John Robbins’s blog entry about the trials and tribulations of OEM installs, I’ve decided to give Vista one more chance. I’m more inclined to go out and get an Apple MacBook but I haven’t got the cash and this computer was running ok until I tried to install some software. How dare I?! Perhaps removing all that OEM crap and superflous utilities will make things better.

…gone! I just kicked off the recovery process. I am not sure I needed to create the custom manifest using the Lenovo BSA software as the recovery process offered a custom recovery option where I was able to unselect every option except Adobe Reader and Sun JRE 6.0. YEs, I recommend this as a first step when receiving your new Lenovo X61. Don’t hesitate, the Lenovo software that is unselectable both sucks and is completely unnecessary. (Don’t worry, I will ammend my post if I turn out to be wrong).

I truly hope that I will have a working laptop in a couple of hours. If I have any more trouble, its off to find out how to “upgrade to a more familiar operating system” …xp.

I will refrain from making self-gratifying remarks against Vista suffice to say, “c’mon people, get it together!)