Wednesday, 1 April 2009

Software Craftsmanship

I signed the Software Craftsmanship Manifesto the other day. It felt like the right thing to do since I have for a long time felt like I am a craftsman doing the software development craft. What really made me realize this was the keynote speech Robert C. Martin (Uncle Bob) gave at the Øredev conference in November 2008. He really put words on some of the feelings I have had for a long time.

I believe every software developer is unique and just not an interchangeable resource with which we can staff up any project. Some developers are brilliant and some need more guidance to say it in a diplomatic way. I will even go out on a limb here and say that the success of a software project relies on the ability to staff a project with the right developers.

We need those brilliant developers that can be the inspiration of the other developers. We need the developers aspiring to become brilliant developers. We need the developers starting out with the potential of becoming a brilliant developer. We need the developers that does not implement what the customer asks for but what the customers really need. We need developers that really gets it. We need software craftsmen.

This is why I signed the Manifesto for Software Craftsmanship.

Friday, 5 December 2008

Come fly with me

I bought a laptop a year ago and it was my first real contact with Windows Vista. I must say I am not overly enthusiastic about Vista (understatement) and I have never been quite satisfied with the laptop. It is painfully slow to use and I dread the hard drive light to be turned on because that is a bad signal.

For that reason I have for a long time been curious about Ubuntu GNU/Linux but the overhead of backing up, repartitioning has stopped me from installing Ubuntu. I have been running Ubuntu under vmware but that was also a painful experience. Then I found Wubi.

Wubi is Windows installer that installs Ubuntu without doing any changes to partitions and it is a dual boot thing. Yeah, right I thought when I read about it but I felt I had to give it a try.

The Wubi installer is a small installation program, it is about 1 MB, but of course it needs a bit more than this. When you start it you just specify some parameters and start the installation. It will download a lot of stuff, like 500 MB or something, and after rebooting the machine it will install ubuntu in a folder named ubuntu on the windows disk you specified. The actual disk for ubuntu will be a file so you will not have top performance but it is really a good way to try out Ubuntu and it really lowers the threshold for trying it out.

I know that all things does not work very well with Linux so I thought the WLan and the Bluetooth would give me a hard time. Well, I was wrong. When booted up I was informed that there were some proprietary drivers for my wlan and my graphics chips which I installed. The wlan was up and running after configuring without any problems. Bluetooth worked like a charm.

My only worry now was the mobile networking dongle I have, although I have read that there is good support for the Huawei E220. Well, this morning I got it working so now there is nothing really stopping me from migrating to Ubuntu all together, and I will.

For me it has been a revolution. My laptop is flying with Ubuntu.

It has never been as fast as it is today and it feels like the usability factor has increased even though I go from Windows Vista to Linux. That feels strange but I think that Linux has come a long way when it comes to being usable for ordinary people.

So if you are curious about Ubuntu and you are stuck on a Windows machine, try Wubi. If you decide that Ubuntu is nothing for you, just boot up Windows and uninstall Wubi like any other Windows program. No worries.

Monday, 15 September 2008

Simple scheduling in Windows

I have tried to become friends with the scheduling service in Windows but I guess it just does not like me. It was as simple as running a little command file that would make a backup of a wiki I have set up locally. I struggled over a period of several months to get it working but it was always something with the accounts and privileges that made it fail. When I finally got it to work I had to changed my password on the system and the backup stopped working, silently of course. I finally gave in and started to look for some other solution.

What I found was cron which a really simple freeware program that just does the job. It is a clone of the Unix cron so it uses a similar configuration file and it also has a log file which logs every attempt to start a job and the result. I just dropped a shortcut in the Windows Startup folder for it to start at boot time and it worked from day one. I could forget that it even had it running, which I actually did until the day I got a new computer and had to migrate my environment.

I made a mistake and put the backup command file in another location on the new machine and forgot to update the crontab file. When I did my usual check if the backup was working, which the Windows scheduler had taught me was a good idea, I realised my mistake and corrected it. I also had a look at the log file which showed that the backup has been running flawlessly since the day I set it up with cron, well until the system was migrated over which I also could see in the log. Now it works flawlessly again.

This is a good example of less is more. Simplicity rules.

Friday, 22 August 2008

Tuesday, 19 August 2008

Bye, bye, RealPlayer

I have been using RealPlayer for some years now just for listening to Internet radio. I know a lot of people dislike RealPlayer but I found a way to fiddle with the settings and get something that gave a look and functionality that worked for me.

I recently installed it on a new computer, the latest version of the free player. Well, I have to join the crowd that dislikes RealPlayer because the version I installed is not possible to customise to make it usable for me. So...

Bye, bye, RealPlayer and hello WinAmp.

Monday, 11 August 2008

Phone amnesia

It has probably happened to you too. The mobile phone is turned off and you suddenly need to know your PIN code to get it going again. It happened to me the other day.

The first time you enter the incorrect code you think, I must have pressed the wrong button somewhere. You enter the code again and really try to be aware of what you are doing. Normally this is where the phone open its arms and welcomes you. But not for me.

That is when the confusion really hits you and you start to go through your mind troubleshooting what you just have experienced. You can only come to one conclusion.

My phone has forgotten my PIN code.

That is what happened to me. I never tried a third time but I left the phone running so my pocket had a go at it with no success. When I eventually found that PUK code I managed to convince the phone what PIN code it has. Let us hope it sticks this time.

Thursday, 7 August 2008

The hammer for RIA

I listened to the lively debate regarding Rich Internet Applications (RIA) on The Java Posse podcast, episode 198, and I really have to agree that it is a really bad name for it. A RIA is no more than a more beefy web application.

Having had my primary focus outside of the web application sphere for a long time I have noticed the hammer and the nail mentality inside the sphere. You know, if the only thing you have is a hammer (web application) everything looks like a nail (application ideas).

I have seen this myself some years back where a company wanted a web application which should show graphs where you would be able to interact with the graph like zooming and dragging and such. Of course, one of the requirements was also that the application should not need any additional software to be installed and this was before the AJAX acronym was publicly known. I saw no way of making a good solution within a browser since what they really wanted was a rich internet application so my recommendation had to be that a desktop application should be deployed.

No deal that time.

It is some sort of perverted idea that every application user interface could be realised in a web browser. I don't really think that is the case and even if it was true, the browser is not the ideal environment for all productivity tools. Imagine having your development IDE in a browser window.

I think you should use the tools that fits the requirements instead of trying to fit the square pieces in the round holes. I am working with rich internet applications today but I Swing my hammer.