Friday Book of the week #3 and #4: Refactoring By Martin Fowler and Design Patters by Erich Gamma et-al.

July 28, 2006

Oops. Last week seemed to pass in a huge rush, trying to get the Beta version of Gemini4Smarphone ready. For release, so there are 2 books this week. Nothing particularly clever in the selections, I’ve gone for a couple of classics. Every developer needs to understand refactoring these days (especially since most project managers still think that “rewriting” something is bad, but “refactoring” is OK (Not that they are the same thing, I just happen to feel that they are both useful techniques.)) So anyway, Refactoring By Martin Fowler was the first book on the subject, and is an absolute classic.

At the moment, Amazon will also sell you another classic development book at the same time: Design Patterns by Erich Gamma I strongly recommend you get over to Amazon and get them both.


Zidane Funnies

July 14, 2006

Its always annoyed me that where Football (That’s Soccer for you Yanks) is concerned, nobody seems to be able to manage anything remotely approaching un-biased reporting. This page is particularly funny, but I think it makes an important point about the quality of our modern punditary (Yeah, I know! Invented verb. That was for the yanks too…  :-) )


Excellent post on developer productivity

July 14, 2006

Similar to my comments on the Pragmatic Programmer book earlier today, nothing particularly new in here, but everything is a useful reminder if you know it already and a good collection of tips if you’ve not seen them before.

One particularly useful comment says turn off your internet connections, messaging etc. and stop reading or writing blogs… Yeah, I would do, but the alternative is to get back to hacking a Ruby application for deploying my website. At the moment, I’d rather gnaw my own left leg off. But that’s the subject of a blog article for the future…


Friday Book of the Week #2 “The Pragmatic Programmer” : Andrew Hunt and David Thomas

July 14, 2006

My book recommendation for this week is a bit of a classic in my opinion. Unfortunately by the time I read it at the age of 36, there was almost nothing in it which I didn’t already know, but since I have spent the best part of quarter of a century learning about software development, that shouldn’t come as too big a shock. “The Pragmatic Programmer” is now one of those books which I try to make sure anybody who works for or with me has read. If you are just starting out on your software development career, read this and then go back to it often until it is all second nature.

The book covers lots of little gems of wisdom that developers learn over the years, such as the importance of keeping every decision in one place (No Cut’n'paste thank you very much) and having modules which only effect one thing, and not any other orthogonal issues. Often, we are taught these things during our Software Engineering degrees, but the real importance of them does not surface until our projects have 10s of developers, 1,000s of man hours and 1,000,000s of lines of code. None of these things are rocket science and most of them are pretty obvious, but it really helps to have something to point to when you want to spend a few extra hours re-factoring a hopelessly tangled piece of code, but the project manager wants to “save time and money” by just pushing it out there.

Unfortunately, you will most likely often stray from the correct path that you know is right, but each time you get bitten just think of the book and remind yourself, so that next time it is that little bit harder to step onto the verges…


Firefox “surging” in popularity

July 12, 2006

I’m not sure how happy this makes me. I tend to use Firefox because I have seen fewer public discussions about security flaws than other browsers I could mention. At the moment, I very rarely have to switch to any other more popular browsers (Ok, I think there may only be one on the PC, that’s the one I mean…) because a page doesn’t work in Firefox. Web developers pretty much support it these days. The trouble is that if Firefox gets REALLY popular, hackers will start to concentrate more fire power on it and then who knows…


Buying a PC, just a PC and nothing but the PC

July 12, 2006

It looks as though Dell may be starting to fix the one beef that I’ve always had with buying kit from them: the accessories. Generally speaking I like Dell computers, they are cheap enough, reliable enough and well designed enough for me, and I know what I’m getting. It’s just that when I buy a new computer, I’m always looking for a system box and just that. I buy my software from Microsoft (They have great deals for ISVs in the first few years.) I have great monitors that I want to use with all of my new desktops and I don’t need a new printer. I would much rather pay less and get less. Hopefully the, buy the bits you want and not the ones you don’t, approach taken in this super-duper new model may start to spread through the entire range. Cracking machine though. Could make a superb dev box. Its such a shame I don’t play computer games.


A self pitching Tent

July 12, 2006

This is a great idea, the self pitching tent. A couple of weeks ago, I went away to a sailing regatta and arrived in my campsite late in the evening just as the dew started to descend. Everything got damp before we had time to pitch the tent. I would have loved one of these. No doubt the downside is getting it to fold back into its original shape. We had to spend about 10 minutes with our conventional tent and it still didn’t quite all fit in the bag it had come from (Overhang and the end…)


Friday Book of The Week #1 “Screw it, let’s do it” : Richard Branson

July 7, 2006

Every Friday I shall be recommending a new “book of the week”. Either something I have found extremely useful in the past, and some stuff that I’m reading at the moment. For this first one, its an uplifting book from Richard Branson: “Screw it, let’s do it”. Branson is the multi-millionaire business man behind the Virgin brands. I’m only a few pages through it but already I’m feeling a whole lot better about MY new business venture. If you want to start your own business, or just be more successful and happier in life, this is for you (Especially at a mere £2.99). I never realised books could still be this cheap.


Open Source Applications AKA – “Shooting Ourselves In The Foot”

July 7, 2006

I saw this fascinating post today in TechCrunch. Apparently 37signals are facing free competition from an open source alternative created by a Serbian PHP developer. My question is WHY? For some reason the post discusses what would happen to 37signals business model if someone decided to build a free alternative and give it away. Duh! What would happen to any business model if somebody came in and gave away their product for free? Cars for example. Would Honda survive if a group of un-enterprising students decided to build a high quality free alternative and give it away to everybody? Oh, but wait, they can’t because there is an intrinsic cost to building cars, the parts cost. The only intrinsic cost in software, is the cost of the equipment on which to write it. This always has to be paid for by somebody, but it may be very small, or it may be paid for by educational institutions in an attempt to educate their students. So, unfortunately software CAN be given away for free, especially now that the web is allowing virtually instantaneous virtually free distribution.

I just don’t get this. To quote from the article above: “Is it just me or is it crazy to think that the 37signals business model could be wiped away by one weekend of hard work between a group of developers?”. But why would you do that?
Lets not bandy words. What we are talking about here is stopping the 37signals guys from earning the money to put food in their mouths. That’s not a funny joke. Its not as though 37signals is a huge mega-corp grabbing everything they can, there applications are based around Ruby On Rails a free framework for web development built in Ruby. 37signals developed that framework and then gave it away for free, they also give away free versions of all of their products for people who can’t afford or don’t need to afford the paid for versions. From the outside, this looks like just about as far from a greedy mega-corp that you can get.

So, given that you have a product to compete with Basecamp or any other easily copyable application, why not do that? Don’t give your code away, compete with them. activeCollab could have a niche for the people who want to run their project management apps internally and don’t trust web alternatives. The advantage of paying for something is that you can get upset when it doesn’t work. But maybe this is too much of a challenge. If your open-source application is of low quality, you can just say “OK. So its free. Don’t use it if you don’t like it”.

My advice to everybody out there with the skills to develop software: Don’t take other people’s ideas and throw free alternatives out there. One day you might be relying on the money from similar business models. Let’s stop devaluing our profession by shooting ourselves in the foot. Go out, find your own ideas and feel free to give them away for free, or better still, why not make some money out of it? No need to be greedy, but why work for nothing?

There is much more to say on this subject and I expect to say some of it over the next few days and weeks


Follow

Get every new post delivered to your Inbox.