My own legacy code

I’ve just started work on an ISO8583 server for a client. I’ve done similar work for them in the past and the first thing that I did was to take the basic shell of the last server that I did for them and update it to use all of latest version of The Server Framework. The next was to start to look at the first of the requirements for the new server.

Another day learning the Linux way...

My client has decided that we should ignore the video driver problem and press on with the proof of concept using the external VGA screen as a display. So this week was spent learning about building software for a machine running a minimal Linux installation using libc 2.3.2 on a machine running a proper distro using libc something else… The first job was to evaluate a couple of small web browsers, dillo and viewml; their choice, not mine (not that I have any issues with the choice, I just didn’t do any research around it).

Currently reading

Just before I dive back into my other project, the one I don’t talk about, I thought I’d post a short note about the pile of books that I’m currently reading… Working Effectively with Legacy Code by Michael C. Feathers. Roy Osherove has this as his book of the month and I’d previously read some of Michael’s writings on testing and found them useful. The book’s great. If you ever have to work with the kind of code that I wrote about at length as ’the refactoring project’ then this book is for you.

So, where's the Unix version of CodeProject?

Software development is hard. Lots of details that are hard to get your head around and harder to simplify. CodeProject is a wonderful resource for Windows programmers where programmers try and make the complicated more simple for others; I view it as giving something back. If I’ve spent several weeks fighting to understand a problem and now I do it’s nice to write up and article and post it, either here, or on CodeProject, so that others don’t have to fight so hard.

Linux's Dll hell?

I’ve been playing with Linux this week. The last time I played with Linux was back when it fitted on 15 floppy disks; I think I still have the 15 floppy disks in Dad’s office somewhere. It’s come a long way but I can’t help thinking that, much like Windows, it still has a long way to go… Bear in mind I’m writing this from the point of view of someone who knows enough to get by and do some development work on the platform fairly quickly but not someone who knows, or wants to know, all the nitty gritty.

Showstopper?

Today was “get the Vortex86’s SiS 550 graphics card working in graphics mode” day. In summary, I didn’t and it’s because the LCD is a DSTN one and the current Linux SiS drivers don’t support it yet… The first job of the day was to build a new 2.4.31 kernel with support for the network card in the VMWare machine. I needed this so that I could easilly test my new kernel and get to the point where I was confortable configuring LILO with multiple boot options before moving on to doing it for real on the Vortex86.

Travelling at the speed of a floppy drive

This afternoon has been “one of those” afternoons. It started innocently enough when I checked my mail and my cables had arrived. I plugged a floppy drive into the Vortex86 and checked that I could boot off of it into DOS. All was well, if you ignore the fact that the only way I could get a) a floppy drive and b) a power supply to power it was to take the cover off of a 1U server box that I had laying around and use the PSU and floppy drive from that.

2.4.31 Kernel build is go...

As I mentioned yesterday I’m currently playing around with Linux on an embedded PC. Stage 0: was to get a build environmet set up. That’s complete now and I have a build of the 2.4.31 kernel running whilst I type this. Getting a build machine set up was pretty painless. I downloaded the evaluation of VMWare Workstation 5 and had hoped to grab a pre-built image from Red Hat but the only images that they have available are enterprise server builds that were around 900->1000mb downloads with no details about what had been installed on them.