ncunningham is currently certified at Journeyer level.

Name: Nigel Cunningham
Member since: 2005-08-21 11:19:13
Last Login: 2007-09-22 09:43:09

FOAF RDF Share This


I'm the developer of the kernel patches called Suspend2, an implementation of suspend to disk for Linux. I'm also lightly involved in the wider effort to get better power management on the whole in Linux. I hope to do more once Suspend2 gets (hopefully) merged into mainline. I also work for Redhat on a part-time basis. The best parts of my life have nothing to do with computers, however: I have a wife of 12 years (at the time of writing) and an eight year old son. I'm also a Christian of the Reformed variety, which means that as far as theology goes, I consider the Bible to be the source of everything we need to know to live life the way it was meant to be. I've trained to be a minister, and am currently serving a small congregation in rural Victoria, Australia. Computer programming is interesting and challenging, but anything we can make won't last. Knowing and loving God - that's what life's really all about.

Recent blog entries by ncunningham

Syndication: RSS 2.0

I wonder how long until Debian has xorg 7.1 and compiz in testing, working out of the box.

For quite a while, VMWare and Madwifi haven't played well together. Yes, you can use NAT to give your virtual machine access to the net, but when your virtual machine is running some other operating system (I have to! They don't make Libronix for Linux yet.), and you want to print via another computer running Cups, you were stuck.

No more! I just upgraded to Vmware 5.5.2, and ath0 bridging is fixed! Yay! Now my M$ virtual machine can fully participate in the network browsing. (And if I was silly enough to point router ports it at, I could make it a honeypot too!).

Thanks, VMWare!

A conference was held in Ottawa last week, at which one software engineer (GregKH) confidently proclaimed "Linux is evolution, not intelligent design". What he of course meant was that Linux doesn't develop by people sitting down and making great and intricate plans about what they're going to do, then starting to do it. Rather, the vast majority of work on the Linux kernel is people making small improvements here and there to what already exists.

But is that evolution? When we normally talk about evolution, we are talking about the process by which all life came to be, the Darwinian theory of random mutation and 'natural selection'. Clearly, this is a very different beast. No one is going to claim that the developers of computer programs do their work by making random modifications and then waiting to see if the end result works better. If they did, we wouldn't expect them to be employed for long, we certainly wouldn't pay them the salaries they currently earn, and our technology would be nowhere near as advanced (or reliable) as it is.

More than that, our process of software development does involve intelligent design. People sit down and (at least in the ideal case) think carefully about the changes they're going to make, the best way to make them, and then do careful testing of the resulting patch.

And the process is not entirely one of incremental improvement. In my work on Suspend2, I've done several reworkings of different parts of the subsystem, first carefully designing the new way of doing things (eg storing metadata or implementing a cleaner internal API), then rearchitecting and reworking the code to match the design. These changes don't fit into an evolutionary model because they involve the addition of new code that's initially useless (no reason for 'natural selection'), and then break the old code in order to switch it over to the new implementation (not incremental).

Greg isn't alone, however. Many people would refer to the development of Linux as evolution. So how did people come to call incremental development 'evolution'? My guess would be that a superficial similarity has been seen and taken as an accurate summary of the whole process. In short, people aren't thinking carefully about what they're saying, just saying and accepting statements because they 'sound right'.

What about you and I? How superficial is our examination of the things we hold as true? I call myself a Christian. Do I do so merely because Christianity as I know it 'sounds right', or have I seriously examined its claims, so that I can say "I know whom I have believed, and am convinced that He is able to guard what I have entrusted to Him until that day"? In the same way, if you believe in evolution, is it just because people have told you it's true, or have you carefully examined the theory?

(This is a revision of my pastoral note for this week, for the congregation I serve).

17 Sep 2005 (updated 17 Sep 2005 at 03:13 UTC) »

A bit further along the road toward Suspend2 v2.2 .. rc7 for 2.6.13 and 2.6.14-rc1 was released last night. A couple of small problems were found so I'll probably do an rc8 today. Hopefully it will be the last one before 2.2.

24 Aug 2005 (updated 24 Aug 2005 at 09:25 UTC) »

Busy week so far.

We've gone from to .14 to 2.2-rc1 and then 2, all in the space of a few days. The .14 release was mentioned in the last entry - corrupted tree. Then I finally found the cause of an annoying bug, the last one I'd been searching for. That got me happy enough to make 2.2-rc1. This afternoon Linus released 2.6.13-rc7, and I had a few more little fixes to pop in (gcc 3.4 doesn't like being told we're clobbering all the registers, so we have to lie to it, and there was a int vs ul problem with the lzf compressor on amd64). So we're at 2.2-rc2. Now to get on with preparing a git tree.

1 older entry...


Others have certified ncunningham as follows:

  • lethal certified ncunningham as Journeyer
  • Chicago certified ncunningham as Journeyer

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page