Since last month's JDJ was the Linux focus issue, I didn't get a chance to inflict my goals for the year. I call them goals, as I hate the term New Year's resolutions as resolutions are always broken by the end of the first week of the new year. In fact, I think it's more of a custom in the UK to purposely break New Year's resolutions so people can get back to normal as soon as possible.
1. Read Thinking in Java cover-to-cover.
Now in its third edition, Thinking in Java by Bruce Eckel (Prentice Hall) continues to fill my head with all things new. It's a good reminder of how Java programs should be constructed and how programmers should approach programming problems in general. It touches on design patterns and how they're used and also things like integrating Ant and JUnit.
2. Create a Java Weblog.
Weblogs are online diaries, so you can share your programming thoughts, hints, and general musings to a world that either does or doesn't care.
There are plenty of Web sites about for creating blogs. Blogger and Blog City let you create a blog and host it on their system. If you're feeling more adventurous, you can download software, such as Roller Weblogger, MiniBlog, or Moveable Type, so you can maintain your own.
The real power of blogging comes when you syndicate large amounts of blogged data, then you have a powerful tool to reference when you need information or opinions. Java.blogs is a Web site of (amazingly enough) Java-related blogs. As long as you can generate a rich site summary (RSS) feed, then you can add it to the site.
Our illustrious leader got the idea that we all should have a blog to document what's going on in our heads. So Alan, Ajit, and myself have blogs that are updated whenever. There is a time and place for going public on information so I tend not to say too much, but for handy announcements on Java-related stuff, it's a winner.
3. Get involved in at least one SourceForge project.
There are thousands of open-source projects that you could get involved in or you could create your own. Funnily enough, I was working on a small API to create RSS feeds. There are plenty of libraries for reading RSS feeds but none for writing them (not without really messing about with XML APIs). So I set to work on an API. Then, while I was talking to Joseph Ottinger, something struck a chord and things started to take off. He suggested that it be made open on SourceForge.
I learned some very useful lessons: first, never write off collaboration; second, the more eyes that look at your code, the more bugs that will be identified and (hopefully) corrected. SourceForge supplies everything you need for your project including Web space and a CVS repository. You can work at your own pace and time (though I am disappointed about the amount of projects with no documentation or released files, just ideas). We ended up calling the RSS API "rsslibj"; you can see its progress (or get involved) at http://rsslibj.sourceforge.net.
The whole open-source ethic is widely documented, but I still advise you to have a look at The Cathedral and the Bazaar by Eric S. Raymond (O'Reilly).
4. Treat yourself to at least one music CD.
Well, you have to really, don't you? I'm going through a spate of excellent acoustic guitarists so this year I want to get "Facing the Wall" by Don Potter, anything by Michael Hedges, and anything by Adrian Legg. I've heard so much by the California Guitar Trio that I don't need anymore....
This year will be interesting; it will be the year we find out whether a shift to things like .NET will really happen. The time for hype is over; now it's time for people to put their money where their mouth is!
References Bruce Eckel:
Jason Bell is a programmer and chief technical officer for a B2B Web portal in York, England. He has been involved in numerous Web projects over the past five years, the last two of which have been servlet-based.