Thursday 27 November 2008

Perfect code

This morning I wrote perfect code. It was elegant, extensible and dependency injected. I was so proud. How happy was I? It was time for a happy dance and a celebratory caramel latte.

However it didn't do what the client wanted. I can't describe my disappointment when I discovered that my 'perfect' solution was not the answer. Instead a one line code changed was used to get the job done.

I smiled on the outside but inside there were tears.

As Bruce Lee said "it's like a finger pointing at the moon, don't focus on the finger or you'll miss all that heavenly glory". A valuable less on indeed.

Tuesday 18 November 2008

Victory!

After the ongoing grief with Eclipse and Subversion I have finally been able to update the goodtimes project. I used a very cool Subversion GUI called Versions and it worked beautifully. I guess I'm not hardcore as I didn't use command line.

Anyway the news now is that if anyone is interested you can check out the source build it, play with it, add to it and most importantly leave me feeback.

Monday 17 November 2008

What a day...

I have begun refactoring GoodTimes and so far its working well with MigLayout. The biggest problem has been that subversion seems to be drastically out of sync so I am still yet to get the new code into the repo. I'm sure that I'll get past it soon (even if I have to do something drastic).

Its side issues like this that gets frustrating initially but ultimately will be satisfying once its fixed.

Sunday 16 November 2008

Patience...

After the course on Wednesday night I attended the local Java Users Group meeting and saw some great presentations on Eclipse Rich Client Platforms and Spring's Rich Web Applications. Both of these shows were great and after each one I found myself saying "wow I've got to try that".
However time is an issue and I really need to set priorities otherwise I'll never finish anything. So with this is in mind I've decided to head back to an open source project I was working on. Its nothing special just a children's times tables testing game that I started some time ago. Its available here if you're interested.
Originally I used it to experiment with JFreeChart and NetBean's Matisse GUI Builder however I am now using it to test MigLayout as I really haven't found an easy to use GUI framework for swing. There seems to be too much choice and none of it (until MigLayout) seemed to be simple when coding by hand.
I haven't committed my latest tinkerings yet but will endeavour to during the week sometime.

Monday 10 November 2008

Course

Today fate smiled upon me and presented me with a last minute opportunity to attend a Websphere Application Server course. Now its not really part of principle role at work but its amazing how useful this info is going to be to me. All ready (after one day) I am starting to see why we do things certain ways and its cementing my knowledge.

Prior to this I had primarily looked at extending my learning to actual programming topics rather than environmental issues. Seeing things from other points of via helps me to be less inclined to apportion blame and more likely to find solutions.

Awesome!

Sunday 9 November 2008

IDE's

I know this is an age old question - which IDE is best? My experiences so far are these:
  • NetBeans - I like the language support (Groovy/Grails) and the Matisse GUI editor. However it looks terrible on my Mac. The Swing components seem to take up too much space and take the focus off the code.
  • IntelliJ Idea - Many people rave about this one. Whilst I haven't used it extensively (only for the 30 day evaluation period) I prefer its interface over NetBeans. However the deal breaker with this one is COST. Its not free like NetBeans and I can't justify paying AUD$200 for a tool that does the same thing as a free tool.
  • Eclipse - This workhorse remains my preferred option. Whilst it lacks the groovy/grails integration that NetBeans has, it is quick and unobtrusive. I may be biased as it is also what we use at work and I find it much easier to remember one set of shortcuts. Again as a free offering its hard to look past.
As an aside I did outlay my hard earned to buy TextMate which is more a text editor than an IDE. While it is very nice and easy to use, I find myself not using it in favour of MacVIM which gives me the power of vim and doesn't lock me into a particular platform. (I will rant someday soon about operating systems).
It certainly seems to me that there are plenty of very competitive free options for someone working on their code projects. If anyone reads these posts, let me know what you think.

Saturday 8 November 2008

Agile? development

Ok so now I'm going to rage about Agile development and I know that this is probably just my inexperience showing but...

Isn't Agile Development just another phrase for building before planning? If you're working to a deadline don't constantly changing requirements mean that code has to be consistently rewritten? It seems that 'agile' means don't worry about thinking through the design as the coders will build it and then you can tell them what you don't like and get them to change it.

Surely a case of fire, ready, aim...

What are your experiences?

Tuesday 4 November 2008

Monday 3 November 2008

The Road Onward...

I haven't been coding anything since the last post, instead I've been concentrating on a new book Bruce Eckel's 'Thinking In Java'. I've been looking forward to getting into this one as in addition to being a good general Java refresher it will fill me in on some of the Java 5 features such as enums and annotations that I've missed. My Uni course was completed in a time when 1.4 ruled. I intend to do each of the exercises as well to cement the learning.
At in excess of 1500 pages it will take me a while to get through!