Back and Busy

by Kieran

I got back to Guernsey just over a week ago after our seven hour boat trip from Portsmouth where I was surprised with club class which was a nice treat.  I actually had a single day off before I started my new job so life has been so hectic that this is the first time I’ve managed to get on my laptop in about ten days.

So my new career is good, and the learning curve has been as always, quite immense.  I’m working mainly in VB.NET, SQL, JavaScript and ASP.NET where I’m spending time fixing bugs, making enhancements and responding to personal requests which eventually reach my desk.  VB.NET is quite a simple language, but not without its quirks as I have previously mentioned.  My job keeps me interested as I feel I can add my own personal touch, opinions, and share things that I have learnt in the past with other employees.  For example, we currently have no real bug tracking and feature-pushing system to help us keep track of everything, we literally work by pen and paper so I’m currently pushing for this as we can hook it up to our SVN repo and keep track via revision.

The systems we work with are actually quite important as they’re number-crunching systems, and if a figure is even marginally out then we could do some real damage, although there’s many safety measures to ensure that this would never happen.  I also have skilled professionals working closely over my shoulder to ensure nothing could go wrong.

Being back in Guernsey is quite nice, although I find I have absolutely no time recently for anyone, neither responding to e-mails or being able to answer calls.  By time evening comes I’m cleaning the house as we’ve filtered through all of our stuff trying to get rid of things we don’t need, which inherently means there’s more mess than ever.  Today the front room is finally tidy, but we have been out of the house a lot recently, especially as we forget to check our gas tanks which ran out leaving us with no hot water and no way to cook anything.

Finally, I’ve worked out my university grades, and I’m on the borderline, it’s now completely down to the officials at the university whom are apparently "fighting for my case" in the ever-going battle of a first class grade.  I feel as if I should just give up trying and settle down! ;)

Twitter, What?

by Kieran

I’ve been surfing the net a lot recently just generally having a look around and finding a phenomenal amount of posts about the serious love for Twitter.  Can I just ask this one vital question; why?  What benefit does it have? It reminds me of Facebook status updates, something which I typically refrain from using because I just can’t see the point in them.  Twitter is completely devoted to ask the ultimate question of "what are you doing?" and allowing people all over the globe to simply find out what you are doing.

I’d rather read a post about time-wasting than read someone’s current status.  Maybe it’s just me, but I can’t keep up with Internet trends.

Harmful Generics

by Kieran

A few years ago, whilst I was using Java 1.4 I was introduced to the newer features of Java, more notably generics.  Once I had learnt how to use them correctly I thought they were an absolute blessing from the monkeys at Sun.  More recently, however, I’ve had a number of people point out to me that they’re not as useful as one may assume them to be, and in fact cause more problems rather than solve them.  The reason I use generics is for applications that deal with objects at such an abstract level that they could never really determine what type of object they are unless some seriously awful code was lurking around (which I have been known to do).

I was writing an application dealing with Shape objects, with a lot of help from a certain someone.  I had to be able to draw Shape objects to screen but without knowing their type as they were being serialized and received over a network connection.  I literally couldn’t find out what type of object they were unless I did some very static type checking, which is something I wanted to avoid.  Furthermore I had a draw(Shape s) method which took the generic type and drew it to screen using its own method with the correct graphics context.  So in this case I ended up calling s.draw(g); which is a solution I admittedly found over at Java Ranch.  In my opinion, using generics in this case is absolutely fine, because there is a type hierarchy, and it is ever-expanding so the abstract approach using generics was beneficial.

Ken Arnold clears up some of his issues with generics by looking into recursive (or circular) types such as Enum<E extends Enum<E>>, something which scares the crap out of me, that’s for sure.  However, if you read through the comments you’ll find some insightful comments on generics, namely that they were poorly introduced, or they shouldn’t be mixed with arrays whatsoever, and as some people point out, C++’s template system is far more complex.  I’d like more insight into this area as for me generics are a day-to-day, run-of-the-mill usage of language features.  I actually don’t know how else I would approach problems without them.  Perhaps this could be compared to activists who disagree with OOP?

Note: I am aware generics was a Java 5 feature, it’s just it was previewed during Java 1.4 ;)