Adam Howitt's Blog

Aug 11
2006

Rebel Inside / Change something everyday

I am currently reading Yevgeny Zamyatin's We and it strikes a chord in me.  I got the idea to read it after reading George Orwell's 1984 which had a reading list of other distopias. Next I read Lord of the Flies, Aldus Huxley's Brave New World and now I've reached Zamyatin's We.

I think the reason the distopia genre strikes a strong chord in me is that it reminds me of what it means to be a little different.  For me this is both an outward facing mantra and an inward facing one. Externally it is good to be a little different, not crazy different but enough that distinguishes you in a good way.  Internally it is your charge to do something different everyday that is part of your routine.  If you always eat at the same restaurants, pick a different one every now and then.  If you always leave work at the same time, try an hour earlier or an hour later if you have the flexibility.  If you get the bus to work, cycle one day or if you walk, take a different route.  With so much to see and do, you can't possibly do anything but becoming mundane in your routine is letting yourself miss so much of the experience.  On a side note, a former colleague of mine would probably argue that it also helps prevent "them" from knowing where you are at any minute of the day but that's paranoia for you.

"A description of the recently invented musicometer ... Simply by turning this handle, any one of you can produce up to three sonatas per hour.  And how much labor such a thing cost your ancestors!"

The same mantra applies to programming too and is partly why all powerful code generating frameworks like Ruby on Rails and their simulations scare me a little.  I will push myself outside of my comfort zone and explore these new frameworks because they are different but I would also avoid sitting on a tool like that and doing everything that way because you are missing out on the experience.  Code generation is generally a good thing if done well and can help launch an application faster for a client,  but if the generic code makes your applications all look the same then you have lost some of the human touch websites need.  The latest codegen tools have advanced to the point where you have the flexibility and the option to modify the code for performance or to create new layouts so seize the opportunity.  Do this so we don't end up repairing applications in a year or two which have maxed out the hardware for all the wrong reasons.  The wrong reasons are lazy programmers on tight deadlines afraid to push back on clients demanding cheap, fast AND accurate.  In the absence of the skills to explain these fundamental tradeoffs to a client,  the desperate programmer reaches for a tool.  Distinguish yourself for the right reason as a programmer with a desire to do the right thing for your clients for the long term, not just to use the latest tool where you don't fully understand what is going on underneath the hood.  

Don't get me wrong - I'm not against Ruby on Rails, I'm not anti-frameworks or anti-codegen.  I write codegen tools all the time to make my life easier as a programmer but here is the distinction.  If you understand what is happening under the hood, it makes it easier to find the problem with the codegen tool yourself.  Clients are paying you to understand your work in much the same way you might expect a mechanic to take good care of your car.  There are plenty of mechanics out there who are bad at what they do and make money off innocent people who don't understand enough to be able to spot someone who doesn't know what they are talking about.  Get yourself a reputation of not being the bad mechanic.

Change something everyday in your routine as a programmer, as a partner, as a family member, as an employee, as a citizen and any other way you can.  Life gets better when you stretch yourself beyond your comfort zone.

Dec 21
2005

Wall Street Journal Traffic Spikes

In a deviation from my usual neurotic email compulsion I managed to avoid Gmail until about 11am on Monday.  I checked my messages and noted that the alerts I get when my Google Maps mashup WalkJogRun.net had increased showing around 50 new routes since 6am that morning.  Weird but not that unusual.  Fast forward to 3pm when I got an IM from Jeff (Mr. CSS):

[15:54] jeff: ummm
[15:54] jeff: hey
[15:54] Me: wassup
[15:54] jeff: did you know that walkjogrun was mentioned in the wall street journal today?!?!

Floored.  Naturally I snapped up a couple of copies and on page R8 of Monday's WSJ in the middle of the page as a huge callout is a list of example Google Maps mashups including in pole position WalkJogRun.net!  Google Analytics took a few hours to reveal the extent of the referrals but it appears that Monday yielded 3,700 unique visitors up from a daily average of 150 and Tuesday brought another 1,700.

The online version of the Wall Street Journal is carrying the article entitled "Where in the World Is..." by Jessica E. Vascallaro too and can be found in the Journal Report section.

In a direct response to the extra attention I decided to squeeze in a feature I have been planning for some time to enhance loyalty.  You have always been able to create routes as a guest and always will but I added a login/member tool where routes are no longer anonymous.  The response has been great with over 200 new members in the last two days.  The immediate benefit of membership is that any routes you create are attributed to your username so you can easily locate the routes you use regularly.  Future enhancements will leverage this feature further to add training logs to monitor your pace and performance and loads more.

I've also added Ray Camden's forum software Galleon to facilitate discussion about the site and exercise routes in general.   I have one forum dedicated to feature requests in case anyone has some good ideas about how to improve the site but it has yet to gain some momentum.

I'm also excited that snippets of my code for WalkJogRun is also to be included in Rich Gibson and Schuyler Erle's "Google Maps Hacks" scheduled for release on January 1st 2006.

Sep 07
2005

Moneyball, Classic Authors and Software Development

It's been a while since I posted about the great books I have been reading and the most recent stood out so much I had to post.  I figured I'd start with a quick rundown of the alphabetical classic author series and then finish with some really important lessons learnt from the last book I read which easily translate to the programming world.

Classic literature series
The first stop since I left you was Oliver Twist by Charles Dickens. I didn't read this book as a child and I'm pretty glad I didn't! The story is well written yet a desperate tale of what life holds in store. It's an important lesson that despite the will to do the right thing and try to lift yourself above arduous circumstances, there are people and systems in place out there who will try to stop you. As an adult I think I've come across these kind of issues over and over again but as a child I think it would have scared me (thanks to the Immigration and Naturalization service to mention one great milestone in my life).

At a loss for a true classic I went with a more contemporary E author and found A Heartbreaking Work of Staggering Genius by Dave Eggers. For those of you who haven't read this book, it reads like one of David Sidaris' books. I found the book to be a quick read and enjoyable as he skips around Lake Forest, IL and then San Francisco. It's as much about psychology as it is about the story it unfolds of the author's life. Only when I began reading it did I discover that my company, Duo Consulting, is responsible for the McSweeneys publishing website which I believe Dave Eggers went on to start after the book.

Melissa recommended my classic F in the form of The Great Gatsby by F. Scott Fitzgerald. This fell around the great wedding planning trip to Boston so the book was pretty much done when I returned to Chicago. I was a little disappointed with the story, expecting something a little more along the lines of a Dickens book.

My last classic was the incredible Lord of the Flies by William Golding. It's not hard to imagine the creator of the TV show Lost finding inspiration in the pages. The book is a lot more than the text on the page as it carefully summarizes modern thinking about human behavior. It's also a gripping tale of childhood adventure and I thoroughly enjoyed it.

Other books
I quickly finished The Everything Groom Book by Shelly Hagen and am proud to report that not only did it seem like it might be useful information for a future Groom but it has already helped coordinate my role in the proceedings to date. We now have a date set for the wedding (September 2006), the church and the reception site in Cape Cod. Things are trucking along nicely so I can start planning my Bachelor party in Dublin early next year ;-)

Having seen literally hundreds of Chicago commuters reading The Devil in the White City by Erik Larson I added it to my amazon wishlist and I was fortunate enough to receive a copy for Christmas. It's a true tale (with embellishments) about two events in Chicago's history which occured over the same time. One was the Columbian Exposition and the other was a killer who preyed on the visitors to the fair.

The book I finished this morning was another Christmas present off my wishlist, MoneyBall by Michael Lewis. I fell in love with the Chicago Cubs and Baseball when I moved to the US in 2000. My enthusiasm and comprehension lolled around until I started playing softball with some friends in 2002 for Team Bad Guy. The following year the Cubs beat up on the Braves only to be defeated by the glove of Steve Bartman in the game against the Marlins. As I moved back to Chicago last year I watched more and more baseball and I had heard rave reviews about this book. It's an incredible story of the underdog but it also serves a couple of great lessons which can be applied to the world of software development (with some creative thinking).

  1. Wait for your pitch Knowing when to swing at a new business idea is sometimes the least intuitive thing to do but harnessing the skill will save you getting egg on your face.
  2. On Base Percentage is more important than slug - Any software team is going to be better off in the long run with people who have a career record of getting on base. In the software world this equates to people who can deliver working solutions on time. The last success is also not as good as your career average as an indicator of future performance. Slug percentage can often be dictated by the quality of the pitches you are thrown
  3. All anyone cares about is the postseason. Your regular season record is just a means to an end. - If you slaved your heart out on a project, nobody really cares as long as it works. If you don't deliver a project on time, all your hard work is forgotten. So hours pouring over the ultimate solution which increased your development hours radically generally aren't worth the effort.
  4. A GM should focus on efficiency, not the money. An effective GM will do more with less.Be wary of anyone who tries to throw money at a problem. Good problem solvers can work with what they are given while minimizing costs. Avoid adding anyone to your team who believes that the latest greatest hardware is the only way to fix the load issue on your cf server. A different take on this could be that you can run an efficient consulting firm without hiring and paying silly salaries to superstars.
The only thing I didn't like about this book was the bitter rebuttal at the end in the Afterword.  It seems that after he published the hard back version (without the afterword) there was a raging debate where some unpleasant things were said about the book.  Unfortunately Michael Lewis used the afterword of the paperback edition to publish his opinion where I believe none was warranted.  Anyone reading the book could easily see how many issues of the actual debate were unfounded.  That said, I heartily recommend it.

May 02
2005

C is down, bring on Dickens

I finished The Last of the Mohicans by James Fenimore Cooper over the weekend so I have finally left the classic C books behind me.

What a great book.  I have tried to read this before but got stuck in some of the opening chapters but having committed to it, it pays off well.  It's interesting in contrast to some of the fight scenes in The Red Badge of Courage since a lot of the text focusses on the skill of the combatants instead of a random pot shot where anyone can become a hero.  La Longue Carabine is your classic sniper, giving us a hero we can trust to make it through the book.

I have Charles Dickens' Oliver Twist in the on deck circle but it will have to hold off until I can make my way through "The Everything Groom Book" by Shelly Hagen.  Melissa bought it for me and it's actually a fun read.  My favorite quote so far:

"Men tend to do something far less insane (than women) at weddings: they attend and enjoy the party.  They generally don't spend the evening whispering to their friends about the cheap quality of the table linens."

We're currently trying to locate a reception place in Boston and as a programmer I'm stunned there is no central reference for this stuff.  Prices range from below 50 to nearly 150 dollars per head but each has it's own caveats as to what is and is not included so it's hard to do a straight comparison. 

I've hacked together a spreadsheet but if I can get busy with my code I'll run something together so both Melissa and I can work from home or work to do our research.  All I want is to be able to compare like with like and filter out the crap.  There are lots of sponsored lists but no real comparison shopping tool. If anyone has any other suggestions please let me know.  We're on theknot.com and weddingchannel.com thus far but the reception info seems sparse at best.

Apr 19
2005

Advanced Macromedia ColdFusion MX 7 Application Development

I've just placed my pre-order for Ben Forta's "Advanced Macromedia ColdFusion MX 7 Application Development".  It's due out April 25th and I'm keen to see how it compares to the earlier books. 

I was a little disappointed with the last Web Application Construction Kit (pre MX 7) when one of my co-workers, new to CF, reported that the chapter on stored procedures I was directing him to wasn't in the book.  A handy note on the page and many other chapters directs readers to the CD where I believe PDFs were provided.  Now don't get me wrong, I believe the 80/20 rule can be a good thing but when you are in such a rush to get a book out that you have to provide chapters on a CD because you couldn't get them typeset prior to the release date then I think it is sloppy.  Then again, I have never been under a publishing deadline!

 

Apr 05
2005

The Red Badge of Courage

I finished Stephen Crane's "Red Badge of Courage" over the weekend and I'm sad to say it took me nearly 3 weeks to do so despite the fact it is only 100 pages. In my defense the book hardly licks along at a good pace until the last 30 pages when it really gets interesting and you feel invested.  Lots of guys told me it was a great book while many girls just remembered it from school as boring. 

Towards the end I found myself picturing the forests around Georgia and the times I've been paintballing in that environment.  In my experience it seems fairly random who gets clipped by a paintball unless you're the kind of ass who brings the BFG of paintball guns and hides in a hole by the flag. I don't mean to trivialize the danger of fighting with real guns by drawing the comparison but rather to say how much it scares me to think how hard it must be.

The fact that it took me 3 weeks to read this book is a classic signal that I'm starting to slip back on my priorities so I made the effort to review my checklist and how I'm organizing my free time. I don't know if it's because I'm a programmer but I feel like there is so much I want to read, to watch, to learn and to experiment with I regularly spread myself too thinly or focus on frivolous things at the cost of personal goals.

In an effort to keep myself on track I think sharing these goals might add some artificial pressure on myself to complete them:

  • Run 30 mins every other day
  • Ride to work at least once a week
  • Play soccer once a week
  • Participate in a 5k once a month with steadily improving times
  • Practice guitar once a week besides class
  • Finish one of the books in my classical literature A to Z every 3 weeks
  • Finish the examples from  the Eclipse 3 book
  • Modify the CFEclipse parser to handle custom tags correctly
  • Finish phase I of CFLunch.com to make co-ordinating the site with the meetings easier.

Of course, like many other things, there are obstacles to my progress on the horizon:

  • Cubs baseball has just started up again
  • An apartment to maintain which seems to be swallowing my personal belongings.  Latest loss was my favorite Cubs hat.  Reward of $5 dollars if you find it :-)
  • Dollar burgers on a Monday night at the Union
  • A week in San Francisco for the Gilbane conference
  • The wedding tour as my girlfriend and I hit DC, Atlanta, New York and Birmingham (England) for a series of weddings
So there you have it.  Am I strange?  Do all programmers lament on how to fit everything in or is it just me?

Mar 09
2005

Help Write CFEclipse!

Spike and I have been discussing CFEclipse lately in terms of people gettting involved and I thought I could help generate some forward momentum by recommending a book by Berthold Daum called "Eclipse 3 for Java Developers".  It explains how to get the most out of Eclipse to begin with before explaining how to create fragments and plugins for Eclipse like CFEclipse for instance.  If, despite the number of Eclipse plugins out there, you don't find what you need from a plugin it will teach you how to roll your own.  It still relies on an understanding of Java but do pick the book up!

Mar 07
2005

Jane Eyre down at last

After a marathon six hour reading session last night, I have finally finished Charlotte Bronte's Jane Eyre and can move on the letter C in my classic literature reading series. I started reading Stephen Crane's Red Badge of Courage this morning and since it is only 100 pages I'm sure I'll be moving on to James Fennimore Cooper's Last of the Mohicans tomorrow.

Jane Eyre was a bit of a drag compared to the nimble style of Jane Austin's Pride and Predudice. I found Charlotte Bronte's dialogue a little tedious and unnecessary in parts. The story in itself is interesting and clever but I couldn't wait to finish it.

Jan 27
2005

Dan Brown down, bookless until lunch time

I finished Dan Brown's "Deception Point" last night so I remain bookless until lunch time when I will pick up Charlotte Bronte's "Jane Eyre" from the book store near work.  I'm doubling up on letters if I received something for Christmas hence the second B. 

I'm hoping "Jane Eyre" has as much to offer as "Pride and Predudice".  That book was a really well crafted story with the plot unfurling gradually throughout the book with precise details left out for the reader to imagine.  The language was a little more troubling to read since it dealt with a historic snapshot of the language from around 1800.  It's not that the words are strange, just that the words are crafted like poetry which deserves more than a cursory review. 

"Deception Point" was the first book I would ever describe as a "page turner".  I have read "Angels and Demons" and "The DaVinci Code" but neither of them was quite so compelling as this book.  The book flips chapter by chapter between two very different situations engaging the characters in the story.  There is the usual Dan Brown dragging of feet to unveil each piece of the plot but it seems less tedious here.  I think the last book I read in 6 days was Nick Hornby's "High Fidelity" on an 18-30s holiday in Ibiza around 10 years ago!

Jan 21
2005

Seeking a Classic B

I've finished the first stop on my alphabetical tour of classic novels with Jane Austen's fantastic "Pride and Predudice" and am looking for a B.  Bronte springs to mind but which one and which book?  In the meantime I am skimming through Dan Brown's "Deception Point" since it was a Christmas gift but it doesn't qualify as a classic just yet!