So we didn’t check messages until Tuesday, and lo and behold, there was a message from one of the attendants on our American Airlines flight where I lost my phone. They found it! It’s shipping back to me. I am glad they found it, but I don’t know what shape it’ll be in when I get it. Fingers crossed…
The final day was upon me all too soon. We had a helpful discussion on using web standards, which reminded me that I must pick up a copy of Jeffrey Zeldman‘s Designing With Web Standards. We also discussed AJAX, Flex, and Flash, unpacking the tradeoffs between them and the limitations of AJAX for Rich Internet Applications. We wrapped with a recap and summary roundtable where everyone summarized their take-away from the conference. Very worthwhile, and I would most definitely do one of these again.
Code Quality, Mentoring, Enterprise Software Management, and mixing Java and .Net carried the day. The format we adapted today was excellent for these topics; we went in roundtable fashion and each participant shared what they do to ensure quality and mentor. After hearing Ben Geyer talk about XRadar, I definitely have to get that set up on my projects at the client site. Someone mentioned the idea of “a build breakage is a line stoppage”; I think it may have been Andrew Moore. That was an interesting concept and hearing how it was carried out in Andrew’s instance was beneficial. Here are the points I shared about quality:
In my consulting/development work
- Reiterating the “sign your work” principle of Pragmatic Programming
- Discipline as a necessary quality; the ability to do what is required for good software yet isn’t fun, intriguing, or stimulating to a narrow attention span
- Use a world-readable version control repository
- Publish the Javadoc and unit test reports to the project website
- Use Checkstyle to enforce conventions
- Use peer reviews for code releases that push to production
- Solid unit/integration/functional testing
This was probably the most public setting where I have shared my observation on unit testing, probably my most original (and distinctly Southern) perspective on quality:
Unit tests are like toilet paper; they have it everywhere I go, but the quality varies widely from place to place.
In my Debian work
Day two of the conference was equally rich. We kicked off the morning with Model-Driven Architecture (MDA), Object Design, and Agile User Requirements (read User Stories). I weighed in on my opinion of MDA as a lost cause; that stems largely from my close brushes with OptimalJ while subcontracting through Compuware. I think this was the point where I shared that if software development ever became so devoid of its aspects of art and craft that reliable, flexible, scalable, and maintainable software were crafted simply from drawing UML diagrams, I would leave the trade and pursue something else, like being a brickmason. No kidding, that’s really what I think. At the point that this field became that miserable and devoid of soul, I’d want out. I have interviewed a couple of long-time programmers who are currently using WebLogic Integration (WLI), my inclinations about MDA’s promises have been confirmed. Bruce made some comments about MDA related to linear algebra and GÃƒÂ¶del’s Theorem that I’d love to see unpacked in a blog entry or article sometime.
I spoke about user stories at length (maybe too much) and how they have been more worthwhile to me than use cases in providing low barriers to entry for requirements participation from business persons as well as technical persons. We also talked about how user stories break down the work into easily-prioritizable chunks of work that fit well within iterative development. Mike Cohn‘s User Stories Applied For Agile Software Development has been my invaluable reference in adopting user stories.
Agile Software Development was a natural segue. Regrettably, my notes are rather sparse. Must’ve been talking too much again 8^). I came away with quite a list of books and tools to check out:
- Slack : Getting Past Burnout, Busywork, and the Myth of Total Efficiency – Tom deMarco
- Peopleware – deMarco and Lister
- Domain-Driven Design – Eric Evans
- Secrets of Consulting – Gerald M. Weinberg
- Don’t Make Me Think – Steve Krug
It appears that this conference will be everything I had hoped. The group is small and refreshingly cross-disciplined. We have folks from large enterprise shops, mid-range consultancies using Java, Ruby, PHP, and Python, and solo developers from several disciplines. There’s even a ColdFusion person!
The OpenSpaces conference format is already fulfilling its promises. We had a full docket of topics before we even had our first break!
In the afternoon session we had a good discussion about Content Management Frameworks/Systems. It’s interesting to me to see Drupal, WordPress, Plone, and others now being referred as Content Management Frameworks instead of Content Management Systems. I hypothesized that perhaps it was because of issues with clients who expected a CMS to be something akin to off-the-shelf software packages that are just installed and then ready-to-use. With the shift to “framework” instead of “system”, the idea of a need for customization and buildout is more clearly expressed. I gave heavy endorsement to Drupal as a CMS. I have heard that some people were using WordPress as a CMS, and there were a few folks with clients doing that.
Today I finally pulled out of my loss-of-expensive-phone stupor, and Laura and I went skiing. We actually took lessons; I am a beginner, but Laura skiied lots years ago. Instead of a beginner class I took a Turning Skills workshop. It was amazing; the biomechanics of skiing are nothing like I imagined. My instructor Tom was great; he really pushed me to get into the zen of turning. Supposedly getting that right will make my advancement much greater down the road. It really felt good to get out into the mountains, moving through those snow-covered runs, surrounded by evergreens.
Today a new milestone has been reached in our lives; air travel with an infant. Caslin did really well on the plane; Laura calls it the “giant womb simulator effect”.
In other news, my two-day-old Nokia N90 was stolen from the back seat pocket where I left it on an Amercian Airlines flight from Atlanta to Dallas. That was an unlocked GSM phone that I had for 2 days; really bummed about that, as it’s my main toy I hoped to learn about on this trip and also had pictures and video of Caslin on it. If you haven’t seen a Nokia Nseries phone before, check them out. They’re light years ahead of Treos and Blackberry handhelds.
I turned 35 last Saturday. On that morning, I awoke and had the longest run I have had in over 10 years. It felt great. Mind you, it wasn’t necessarily a long run; it’s just that I have had knee trouble for the better part of 14 years that has totally kept me from being able to run, which was once a favorite activity of mine. I also still have a 32″ waist, which has been a maintenance goal of mine since college. I am not big on birthdays, as my wife will tell you, but something about those decade and half-decade intervals cause me to reflect more than usual. Apparently my reflection only went as far as checking my waist size and still being able to exercise; how introspective of me.
Writing about something as banal as turning 35 was the only way I felt I could break the inertia of not having blogged in so long. My sincerest apologies to those who patiently kept asking about when I’d start writing again; forming my corporation, starting with an interesting and challenging client, and the birth of my first child two weeks later have absorbed most all of my spare energy and time of late. It is flattering that people read this at all, much less care enough to ask me for updates. I have three drafts in the queue, and all were technical topics that I have not made time to complete to my satisfaction.
My family is doing quite well; Caslin is healthy and Laura has risen to the challenge of motherhood in most impressive ways. I thought I was crazy about kids before, but having Caslin has exponentially intensified that. Watching Born Into Brothels tonight had me with tearful eyes before it even got to the really sad parts, just because I knew something would probably happen to those precious kids. Speaking of my baby, here’s an obligatory snapshot, though not all that recent:
For the astute observers, yes, I did cut my hair off. And yes, I do regret it to some degree. I blame it primarily on a couple of days of playing Splinter Cell via my GameTap subscription and some really bad pictures from the first few days after Caslin’s birth. I may grow it back. I wish I had a ponytail for Debconf6, but that’s life.
Work lately has been more about managing development than getting to actually develop software, which has been tough for me. Even though I have historically ended up as the Technical Lead on any project in which I have been involved, there has always been a fair amount of hands-on activity that granted me a certain level of gratification. Managing a shared services development group with three very active businesses for customers has left little to no time for active development involvement.
Bruce Eckel‘s Programming The New Web conference is being hosted within a few miles of by brother’s and father’s houses in Colorado, so I have signed up for the conference. I have never been to an Open Spaces conference, so I’m really looking forward to it. It will be one of those step-back-and-think sort of gatherings, and no doubt the group will be a motivated set of individuals. Plus, it’ll be great to finally get to see where my brother lives now. I hear Crested Butte is a really wonderful town.
My Debian work has definitely suffered, which really bugs me. I was just getting some momentum with my New Maintainer process when this all happened. Fortunately, my Application Manager is very familiar with how life’s responsibilities can put these pursuits on hold.