Structure and Interpretation of Computer Programmers

I make it easier and faster for you to write high-quality software.

Monday, October 23, 2006

We’re off to see the Wozzard….

So, they said that Steve Wozniak would be there, and that he’d be signing books. So I took my book to be signed. That wasn’t wrong, was it?


N.B.: yes, I bought a copy of iWoz and had that signed too. But the iBook is cooler ;-)

posted by Graham Lee at 15:17  

Saturday, October 21, 2006

I feel sorry for…

The people credited with bringing GNUstep support to OCUnit a few versions back (at least one of whom I recognise as a competent programmer who really knows what they’re doing), as the current version just won’t work at all ;-).  It’ll be more future-proof on the Apple platform, as it uses @try/@catch blocks.  However, as I want to use it on the GNU platform, this means a lot of #ifdef __NEXT_RUNTIME__ wrappers and NS_DURING/NS_HANDLER/NS_ENDHANDLER blocks…

posted by Graham Lee at 18:35  

Sunday, October 15, 2006

Best.  App.  Evar!

In the spirit of My Dream App, I’ve invented my own dream app. would be able to divine what needs to be done by detecting my brainwaves, and would then do it when I hit the button.  To make it easy for you to implement, I’ve already designed the UI:

So, why hasn’t it been made yet?  Come on, you lazy coders!  The hardest bit would be the brain-computer interface, but there are example I/O Kit projects on the ADC site.

posted by Graham Lee at 19:20  

Monday, October 9, 2006

A spot of ultravaiolence, my droogs?

I’m currently having a Vaio VGN-S4M inflicted upon me.  I can’t say I dislike it totally; the X-black screen is rather nice and it has one killer feature in that there’s a (physical) radio kill switch on the front.  However, by and large I do dislike it.  The Centrino wireless jobbery is not fully documented, so only works with a binary blob driver which means it’s useless for most of the operating systems I care about (it doesn’t work in CEntOS, for instance, and I don’t have the luxury of being able to switch to Ubuntu where I’ve heard better results are possible).  It seems to run very hot doing anything (including nothing), so the fan constantly winds up and down.  And it’s a loud little fan.  The whole keyboard seems to bend a little when I press any key (although I’m used to the Tactile Pro, so probably whack a little harder than necessary…)  The only saving grace in the design is that PC manufacturers seem now to be getting over the desire to install legacy ports all over their laptops; but the thing’s still closer to the size of a 14″ iBoko (hi u.c.s.m) than that of its brother, the 13.3″ MacBoko.

So, with a recent cash injection and an ADC hardware discount coupon both burning a hole in my pocket, as well as a desire to crack on with the ObjC 2.0 work on the c.l.o-c FAQ; it seems an Intel Mac and a copy of some virtualisation tech are in order.  The question becomes simple: do I jump now, and get a MacBoko or MacBoko Pro, or do I hold on in case the Core 2 Duo variants are around the corner?  Or I could even combine the two and get an iMac, keeping the Vaio for corridor worrying?  I’m tempted by the “buy now” approach, as I actually need^Wwant a new system now, not in January…

posted by Graham Lee at 17:15  

Wednesday, October 4, 2006

Init dead; no casualties

An interesting time if you happen to be an aging startup superserver; Ubuntu are to replace init with Upstart from "Edgy Eft". That’s quite cool, the model in which everything needs to always come up and always in the same order put forward by both styles of init is long dead, and the system V style of init is particularly cumbersome (though someone at Apple clearly liked it, as they had both SystemStarter and watchdog in the past).

I’m actually both surprised and pleased to see a Linux distribution making the jump here, I’ve always considered them fairly conservative (apart from in throwing any old free package into the distribution; I mean from a "core stuff"[*] perspective. I know that FreeBSD attempted something with launchd last Summer, but the latter has too much mach_init magic which can’t cleanly be excised.

[*]now Apple are going to start a CoreStuff API and sue me. Fantastic.

One thing from TFA saddened me (though I really ought to have expected it), and that’s this:

To avoid reinventing the wheel, we first looked at how much effort it would be to use of modify the existing replacements to be able to do this. Sun SMF and Apple launchd were immediately ruled out due to licence issues. It was important for us that the solution be uncontroversially free so that other distributions might adopt it; many had already rejected these for GPL incompatibility reasons.

Yes, it’s the standard "GPL first, utility second" argument. I have a fairly strong opinion here: if something works, and I can see that it works, and it works better than any alternative I have access to, I’ll use it. That’s why I’m posting this from OmniWeb on a Mac, despite [i]there being free web browsers around, [ii]my work involving Linux. I prefer to have access to the source, except where that involves a retrograde step in terms of utility. Anyway, I digress; the point here is that launchd is released under (well, depends which version you look at) the Apache licence, and OpenSolaris under the CDDL; both of which are free software licences, but are incompatible with the GPL on technicalities. That’s nice if you really do want to split hairs, but GNU/Linux (if you like) is supposed to be a usable OS so shouldn’t utility come first? Admit it, how many of you have uninstalled kaffe or gcj and are using the Sun jdk? More to the point, how many of you are using Apache (which is also released under the Apache licence)? It’s time to get over it. I propose that if you want to work on a pure GNU system, you should indeed work on a pure GNU system and hie thineself over to the HURD mailing lists. I fully intend to, if a gobbet of spare time makes itself available soon…but more because I think the HURD’s cool ;-).

posted by Graham Lee at 19:43  

Powered by WordPress