The Source for Java Technology Collaboration
User: Password:



Ron Hitchens's Blog

March 2004 Archives


Situated Software

Posted by ronhitchens on March 31, 2004 at 05:19 PM | Permalink | Comments (2)

A reference to this article by Clay Shirky was posted to a Patterns mailing list I belong to. I found the new perspective on software engineering so fascinating that I thought others would be interested as well.

Mr. Shirky describes his experiences while teaching at NYU and the approaches his students took when creating software for very specific, well-known social groups. He's basically talking about the opposite end of the spectrum from highly general, scalable, enterprise web applications.

I found his observations about how the situation in which the software is to be developed and deployed to be most enlightening. Should we learn to think outside the JVM?



What I learned at SD Expo West 2004

Posted by ronhitchens on March 21, 2004 at 11:50 PM | Permalink | Comments (0)

I was lucky enough to spend all of last week at Software Development Expo West (SD West) in Santa Clara, California. I usually don't have the luxury of devoting so much time to a "non-essential" activity, but the stars just happened to align fortuitously. My wife is expecting our second child soon and I'd scheduled myself to be voluntarily unemployed at this time anyway.

I can't remember when I've learned more or had a better time at a technical conference. It's not only because I'm more-or-less at leisure (and therefore don't have deferred work nagging at my subconscious) but also because of the people. As with so many things in life, it's the people that really matter.

I wrote a book for O'Reilly and have done a little speaking at various groups and conferences as time and opportunity have permitted. Doing so has allowed me to rub elbows with many fascinating and well-known folks that I'd never otherwise expect to meet. A bunch of them were at SD West.

Lords of the Ring

I spent so much time talking with so many people at this conference that I often found myself standing in rings -- slowly expanding rings -- talking to all sorts of people about all sorts of things. Most of them were wearing Speaker badges.

If you've ever attended a conference and spotted a well-known author (or several) standing around on the show floor talking with colleagues but were intimidated to approach, don't be. Most speakers when attending a conference are more than happy to talk with you about their field of expertise -- that's why they're there. Join the ring. Step right up. Introduce yourself. Odds are they're talking about email spam or something equally mundane and will be happy for a change of subject.

Good technical conferences (and SD Expo conferences are among the best) are extremely valuable resources. They bring together a critical mass of big thinkers and important information that you just can't find in any other venue. Exploit that resource. Jump in and interact with the like-minded people around you. Participate.

Everything I Know Is Wrong

So, what did I learn at this great conference that I'm blathering on about? Let's begin at the end.

The last session I attended on Friday afternoon was by Allen Holub, with the provocative title "Everything You Know Is Wrong: Why Extends and Get/Set Methods Are Evil". This talk was based on a series of JavaWorld articles written by Mr. Holub (here and here, also look here). There are some deep insights here into the nature of Object Oriented vs procedural programming and how established practices are not always best practices.

At the end of this talk I knew I'd made these same mistakes and knew that I should have known better. I learned that I should constantly examine my assumptions, especially those I'm most comfortable with.

Rewind now to Day One. Most of the day I spent in a tutorial on Java Data Objects (JDO). JDO is a favorite topic of mine. I've used it in commercial projects and given presentations on it here and in Europe. I believe JDO is a great, under-appreciated technology that has yet to reach its full potential.

The tutorial on Monday was led by Kieron McCammon, CTO of Versant and a member of the JDO Expert Group. Even though I already know JDO very well, I still learned new things from Kieron. Later in the week, Craig Russell (Spec Lead for JDO) gave a presentation on the upcoming features planned for JDO 2.0. The forthcoming enhancements promise to make JDO a compelling solution for even the most demanding enterprise apps.

But the highlight of Monday was the lunchtime keynote by Steve McConnell, whose upcoming book Code Complete, 2nd Edition is highly anticipated. The first edition was published about a decade ago and the keynote was about how the software industry has evolved in that time. What I learned was that many of the principles underlying the Agile movement are not new and have manifested in diverse ways throughout the industry.

I also learned this week that Daniel Steinberg can never make it for lunch.

Jam-Packed Craniums

I won't bore you all with a complete rundown of my conference schedule for the week. But I do want to note a few don't-miss speakers that you should never pass up a chance to see.

Robert C. (Uncle Bob) Martin led a fascinating free-form discussion on Friday. It pretty much followed the subject matter of his amazing book, Agile Software Development: PPP, but ranged from speculation about parallel Hubble Bubble universes to the importance of 3x5 index cards. Bob Martin is one of the smartest (and apparently, nicest) people in this or any other Hubble Bubble. Whenever you have the opportunity, listen and learn.

I attended a very informative session by Mary Poppendieck on Wednesday about software productivity and lessons learned in recent years. Mary contends that the software industry is hurting right now primarily because of declines in productivity that have snuck up on us over the last few years, not so much because of recession or even offshoring. It's about process and processes in the software industry are often lacking when compared to more mature industries.

Jason Hunter gave a well attended talk on XQuery, a new W3C standard that's nearing completion. XQuery provides a standardized way of referring to and manipulating "jagged data" -- basically anything that can be represented as XML. XQuery is exciting because it could greatly simplify the task of working with the mountains of structured data that don't fit neatly into relational databases. XQuery is something to pay attention to (Jason too, for that matter). From Jason I also learned of a good burrito place in Sunnyvale.

The most entertaining event of the week was the evening keynote by pbs.org columnist Robert X. Cringely. One of the first things he said was "I used to be a developer -- now I'm developed". Funny guy. Smart guy. I can't remember much else of what he said. I was laughing too hard. I learned that back in the day, Apple must have been a hell of a place.

What Did You Learn Today?

So why does my rambling about yet another tech conference matter? I think it matters, at least to me, because I was reminded this week that it's important to always keep learning. And to keep re-learning that you need to keep learning. It's very easy to settle into a comfort zone and engage the cruise control.

The software industry in general and the Java platform in particular are undergoing seismic shifts. To survive you need to stay current and learn to see the big picture. You need different perspectives, new ideas and the courage to take on new challenges in a world where the old rules may cease to apply, conventional wisdom may become foolish and Moore's Law can kick your ass.

Life Renews

A new life will be joining my family very soon. I look forward to teaching her. But more importantly I can't wait to learn something new from her each day.

What did you learn today? Who will you teach tomorrow?





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds