Archive for April, 2007

A toast, my friends, raise your glasses to “Absent Companions!”

Once a Blue Angel Always a Blue Angel

Maybe it’s because I’m an Amateur Radio Operator, but Software Defined Radio (SDR) has always fascinated me. Now comes the news that the SDR Forum has a Smart Radio Challenge open to students, and Clemson University (just around the corner) made it to the 2nd round.

Interesting comparison of ZigBee and WLAN over at RF Design Line. Each has their target application.

Jack Ganssle’s latest Embedded Muse 144 (back issues here, but it hasn’t yet been posted) talks about implementing a bit banging serial interface, something he wrote about 15 years ago. He would be proud to know I have done this just a few months ago :-)

When the net fails, revert to dead trees… DDJ in this case

Scott Ambler has an article about transitioning from developing an agile project to the delivery of the final project. What then?

Bertrand Meyer, the creator of the Eiffel language, has won the ACM Software System Award. He was a pioneer of the design-by-contract approach to object oriented programming. I still have his book “Object-Oriented Software Construction“.

Holy guacamole! My post on ageism got Larry O’Brien thinking which caused Mike Gunderloy to include that in The Daily Grind 1124. I guess I should do less aggregation and more angst-based posting?

Ryan Martens has an opinion piece in Dr. Dobbs about how the software industry has a massive impact on the environment, even though we think of ourselves as working in the digital world. I’m all for less CDs!

Udi Dahan has a podcast over at DDJ about how to structure .NET solutions and Components. Dang! Yet another interesting blog.
Ivar Jacobson has written a few articles for DDJ which points out that development processes should be replaced with Practices that are customized for your needs and level of experience. Part 1 and Part 2 are out. Part 3 will be next month. This appeals to my pragmatic side, but all these practices typically need some coaching…

I have a tendency to fall in love with specific technologies. Past recipients of my affection included C, C++ and Python. Eiffel’s software by contract did catch my eye. I had to share a room with REXX, but that went nowhere. And Perl and Tcl, well…that was more of a one night stand. I never had the opportunity to know Java, but maybe we can meet for lunch someday?
My latest tryst is with .NET. I am just taken with the ease of development, the powerful tools and approach one can easily use: VS 2005, N/MbUnit, NPerf, NCover, FxCop, JetBrain’s Resharper. The list goes on and on. There is a freedom found in .NET that sadly, I am not experiencing at work. Sure, I write the occasional small program in C#, but most of the work is in C or C++. I have to deal with header files and function declarations, no built-in support for refactoring. Like a jilted lover, I’m starting to feel resentment towards my old flame.
I long to be free of the shackles of my past, and embrace a future with .NET.

Of course, one of the issues associated with my passion for new technologies is that a pernicious mindset can take hold: every problem can be solved with the judicious application of duct tape. Or as the old adage goes: when your only tool is a hammer, everything looks like a nail. Does the world really need a .NET ModBus Protocol library?

Maybe I should look into language counseling…

Back in ’96, I had the opportunity to attend my first (and only) development conference (The C++ Developer’s conference). This was an amazing experience, where I got to attend workshops by Robert Martin, John Lakos and others. I even met Dr. Bjarne Stroustrup.

I mentioned to one of my fellow attendee that it would be amazing to work with Dr. Stroustrup. He told me that one of his friend actually worked at Bell Labs. It was great to work such luminaries as Stroustrup, Kernigan and Richie. However, his friend could not help but feel that he couldn’t measure up. Being around such greatness, he simply felt inadequate. Back then, in my mid-twenties, I didn’t get it. I simply thought it would be fantastic to work with such pioneers. Now, with a few more years under my belt, I think I get it.
I wonder how I would feel if I were to work with Larry O’Brien (Magazine editor at 25, someone who did a $100M/year transaction engine in SmallTalk, and uses genetic algorithms to tune C++ compiler settings).

How about Robert Martin and the crew at Object Mentor? The man is a prolific author and everyone at OM seems to be a deep thinker: Tim Ottinger, Michael Feathers and the rest of the gang.

Let’s not forget Scott Hanselman, who can whip out a program to embed images in an MP3 file over lunch (he used a library, but still!), wrote a Tiny OS in C# and puts out a weekly podcast.

I could go on: Roy Osherove, Mark Miller (good lord, he’s got a blog!), Guido van Rossum, etc…
I suspect working with any of them could bring out insecurities. But interestingly, the reason why I sometimes experience self-doubt doesn’t have to do with colleagues, but with the fact that most of our company product portfolio rests on my shoulders. As we’re in the middle of a large product introduction, with multiple deliverable devices, a delay in delivery has a direct and very measurable impact. I don’t own the company, yet the self-imposed pressure to produce is there. That is not a fun place to be. Sometimes I long for the anonymity of a large organization. Luckily, we’re getting a new engineer to take on some of the load.