Still not dead

Yup, still not dead.

The blog and my other site’ve just moved to a new server. Let me know if you see anything weird. It’s supposed to be the same software configuration as the old server but whackloads faster… The joys of Debian/stable. (‘s hgwebdir.cgi isn’t running… No python or bzr on the new server yet, as it’s the CBIT Internet shared webhosting server. I’m still weighing up whether to install it or if I can keep it all in the webtree somehow.

I’m now syndicated at

Oh, one more thing: were-virgin.


Certifiable Linux Professional

My LPI exam results came on Thursday, but I only just read the email…

Score Report for Exam 101

Your Score: 660
Required Passing Score: 500
Status: Pass

Test Section Information
Percent Correct Section
 71%            Hardware  Architecture
 78%             Linux Installation & Package Management
 95%            GNU & Unix Commands
100%            Devices, Linux Filesystems, Filesystem Hierarchy Standard
 75%            The X Window System
Score Report for Exam 102

Your Score: 690
Required Passing Score: 500
Status: Pass

Test Section Information
Percent Correct Section
100%            Kernel
 75%            Boot, Initialization, Shutdown and Runlevels
100%            Printing
100%            Documentation
100%            Shells, Scripting, Programming and Compiling
 66%            Administrative Tasks
100%            Networking Fundamentals
 94%            Networking Services
 83%            Security

Given my intense need to know just how much cleverer I am than those around me, I went to the LPI website to find out just what the LPI scores mean. It turns out that they’re scaled to give a mean of 480 and a standard deviation of 100.

If you’re not familiar with standard deviation, Wikipedia to the rescue: Standard Deviation

This means that passing should be just under 50%. However, their stats say that the pass-rate was about 64% up to 2003, and the recent stats say they’ve given 100k exams and have 32k certified LPIC-1’s — you need two exam passes to be an LPIC-1. Well, I guess at least they’re consistent over the years…

More importantly, this means that my 101 result puts me at the middle-high end of the 84.1 — 97.7% block (1σ-2σ) and my 102 result puts me at the low end of the 97.7% — 99.8% block (2σ-3σ). Which means a score between 780 and 860 is top-0.2%, for those playing along at home.

I’m quite pleased, given they only took me around 20 minutes each. ^_^

So how am I spending my weekend? Installing Visual Studio for a development project I’ve won. >_<

I also recently discovered a new prime number generation algorithm. Ask a client to submit all their new artwork for their website. Some portion of it will need scaling down. And some portion of that will have a dimension that is prime. O_O

Edit: Fix image

Maginnis Magee

Light in Dark Corners: My Dad wrote this, and it’s really really good. I’ve enjoyed it immensely, and highly recommend it. ^_^
Syriana: The movie was actually really good, but I felt bad after seeing it. It’s a sad and scary world we live in, and that’s over here on the easy side of it.
The AppleCare Protection Plan turns out to be good for keeping my laptop running.Since putting this into place, my laptop’s not once dropped dead from overheating… I actually suspect if I’d configured the power settings properly this wouldn’t be neccessary.

AppleCare Protection Plan 2AppleCare Protection Plan 1

That’s actually the display box. We’re an Apple reseller of some kind at CBIT, but due to lack of a front counter while the construction work happens out the back, all the display boxes are in my offfice…

Oh, the pain… I’m sitting here working on this entry at home, and the damn thing overheats. >_< I prolly should add a temperature sensor output of some kind to my desktop… Or at least bring the AppleCare Protection Plan home with me…

At least, I’ve a belly full of dairy-free pizza. Good on Dominos for publishing their list of allergens. ^_^

Edit: I forgot to give this post a clever title… I think this one’s fitting. ^_^

Edit: Fix images

Things to do in your loungeroom when you're broke

Meh. There’s another weekend spent doing very little. And for a change, this didn’t involve me spending any time either playing video games, or on IRC.

I took a troll through Planet Linux Australia (and also remembered to submit my blog there again…) and came up with the following links, for your eddification and mine:

So what else have I been doing? Well, I played with Google Maps until I identifed my current home, and the CBIT offices, although the latter’s photo is slightly old now, as there’s a sort of overhang thing over the entrance now.

I finished Every Which Way But Dead by Kim Harrison. Happily, the next book in the series is due out in June… Although lord knows how long it’ll take to get here. I also this week finished The Shining City by Kate Forsyth. Sequel also due mid-year, and she’s Australian so I am more hopeful of seeing it before next summer… I prolly should go to one of those ‘enter my books’ sites and record for posterity just how many books I’ve spent my rent-money on.

Speaking of rent-money, I’m at the broke end of the week, so went last night and spent $32 on food until Wednesday. This covered four pot-noodles, five microwave paster dinners, and five bottles of Caffiene-Free Diet Coke. Also some lollies, to cover sugar-cravings. Mind you, I haven’t eaten yet today… Hmm, I’d better do that soon.

Of course, you can’t waste a weekend if you have no plans. And this weekend, I was supposed to finish the new CBIT Internet Customer Administration interface… It’s neat, and AJAXified (using the very neat xajax PHP-based setup) and the only thing I did on this this weekend was fix a problem I was having with Internet Explorer 6 on Windows. I couldn’t do this at work, because I’m developing under Linux on my PowerBook.

OK, I guess that’s not all I did. I spent a few hours screwing with wine, trying trying get IE6 going under Win2K-mode (partly for the AJAX stuff, partly so I could run QuickBooks). I’ve gotten IE6 installed, but it seems to barf when making the AJAX calls, not to mention needing to be Ctrl-C’d when presenting a username/password box.

In the end, I grabbed the IEs 4 Linux script, which installed IE6 in it’s own WINEPREFIX, like a charm. I’m well pleased with it. ^_^

I’m also gonna grab Opera to test the site against. Happily, not only do they have an Apt repository, they’ve also got a public beta program which includes Linux-PPC support. ^_^ This is really how commercial, closed-source software should be addressing the Linux community.

Also, Opera for Nintendo DS. I mean, like, wow.

Also wow, ABC’s podcasts. I wonder if they’ll do video podcasting soon? Not that I’m watching or listening to any podcasts, but…

I also wasted a few hours this weekend watching the latest episodes of TV shows from the US. Thinking about it, I watch: Battlestar Galactica, Boston Legal and House MD. I also watch Dr Who and Tripping The Rift when it’s on… I know that Apple now sells TV episodes over their iPod store, and so I feel like I should be paying something to watch these shows, but I dunno what they’re charging. I’d happily pay 50c per episode. I dunno if I’d pay more than that, though. Maybe if I had a better viewing setup, or planned on keeping the files and watching them again…

I also watched the Casanova BBC Miniseries last weekend. It was really really really good. ^_^ I was kinda iffy about the Heath Ledger movie, but Margaret and David thought it was leave-your-brain-at-the-door funny, and I’m now willing to give it a burl.

Hmm. I wish I was a large software corporation, so I could go try and do what Loki failed to do, but instead of buying the license and selling the game, I’d contract to the publishing houses to port the game for them, kind of like how many Mac-ported games seem to be done. I _really_ want to play GuildWars, but it doesn’t yet work in wine, and don’t want to reboot to Windows to do so. I _might_ give a burl to this partial success report for GuldWars on Wine…

And fun as Battle for Wesnoth is, I’m awful at it.

One conference to bring them all and in the summer bind them: LCA End of Days

My final LCA06 report from the land of Dunedin, where the shadows lie. Although I’m here until Monday, I doubt my Internet will be working for much longer.

Started the morning at the usual time, which gave me an extra hour of bumming around (reading my LPI book…) before the (10am) keynote of the day.

And what a keynote it was. Mark Shuttleworth (The Ubuntu guy for those who’re playing along at home) gave a presentation about how collaboration works in successful projects, how it doesn’t work in unsuccessful projects, how to get projects to cooperate with each other, and how to get localisation from people who aren’t programmers. And he packed it in hard, leaving a fairly long period for questions. There were of course a few fairly long questions asked, so this was all for the best.

Amongst Mark’s major points were that the barriers to entry for things like bug tracking systems and translations are too high. Anything that isn’t debbugs needs you to register to post a bug, and you lose 50-70% of hits at that stage. Translation systems that aren’t Gnome currently require you to email around .po files, requiring the translator to edit them in plain text, and some even muck about with more esoteric tools. Gnome provides a neat program, and apparently so does KDE, to handle all that for you.

Mark’s other major point was that distributed revision control systems will turn the language of development from mailling lists to patches. A question from the audience pointed out that mailling-list review of patches (eg. linux-kernel mailling list, and we do this on FreeRADIUS-devel too) would probably suffer if people were just branching things, working on them, and then pushing them back upstream… It’s an interesting puzzle, but between this and the translations stuff, I’m the closest I’ve ever been to looking at contributing to Ubuntu… Scary.

For the one scheduled session of the day I went to a talk from Matthew Garrett about projects dealing with the loss of maintainers or pvioltal people, and how they can deal with it. I can relate, since I am both a sucker (I was kind-of the FreeRADIUS 1.0.0 Release Manager), and soon after moved, changed jobs, and basically stopped posting to (but kept reading what I could of) the FreeRADIUS-devel mailing list. I’ve been lucky that FreeRADIUS is a good, stable package, and so I don’t think my long periods of inattention have caused the Debian package to suffer.

After the barbecue lunch and ceremonial shaving of the luminaries (including Rusty’s moustache!), I attended one of the best-of session, about The RepRap, an attempt to produce a low-cost von Neumann Universal Constructor. And not only is this cool as heck stuff, it was heartwarning to see a geek from a different field, and know that much as our interests diverge, we are united in geekness.

It was also good to see that there are good jobs for geeks, doing geeky things for the betterment of humanity. Especially when one of those things is building the world’s largest nanobot.

At afternoon tea, I scored some Ubuntu 5.10 i386 CD sets, which I think I’ll take back to work and put on a desk with “Free! Try Linux without risking your data.” sign on it or something.

This reminded me that I haven’t checked WhirlPool in a week and a half, and I haven’t yet picked up Omiyage… Still, I will have tomorrow and Monday morning to do so…

Also sitting around the link, reminded again to try WorldForge and Thousand Parsec… Also to find the mesa 6.4 packages and see if the r300 driver’s been updated.

And a note about Blender that slipped my mind for yesterday… It’s awful without a mouse. In fact, a two-button mouse would be pretty awful, but shift-F11-touchpad is particularly not an easy thing to do with only two hands.

Went to the panel discussion, which was largely focussed on patents, trademarks, and how best to promote linux onto both desktops and SMEs.

Finally, was the conference close, where prizes were awarded for the programs for drawing the raffle, then the raffle was drawn, and during demonstrations of some of the other programs submitted, my ticket was drawn. >_<. Although I dunno if I really wanted one of the shirts, it looked like someone’d scribbled all over it, and it’d need some heavy-duty washing…

The total money raised for the John Lyons Chair was just over AU$48k, which is a sterline effort. We also raised NZ$1800 or so from the raffle for the NZ version of Kid’s Help line, which is an excellent cause. Hack fest winners were announced, much thanking of those who have sacrificed so much to get this going, including Mike Beattie’s second standing ovation (The only presenter I saw get a standing ovation was Van Jacobsen), which was well deserved.

Mike mentioned afterwards that the photoblog prize had been completely forgotten, so hopefully they’ll judge it anyway, and we’ll have something pretty to look at on the CD. There’s also supposed to be a written-blog prize, but I suspect my abuse of the “Excerpts” box may count against me. Unless the judges share my sense of humour. ^_^

I must say I have had an absolutly brilliant time. I’ve been rushed off my feet, exhausted, tired, I sat my second LPI exam tonight without having read the last three chapters of the Exam Cram book (It still only took twenty-two minutes by the wall clock… I hope I passed!) and on top of all that I’ve been coughy and snuffly when I wasn’t writing in pain from my throat. And I’d do the whole thing again at the drop of a hat. Or preferably a spiral.

Of course, like (with which I’ve been involved on the other side a couple of times, but which is only one day, rather than six) these things take so much time and effort to prepare, that managing one every year is quite impressive, even though it’s a new team each year. It’s been suggested that 2008’s LCA location be selected more than twelve months out to give them more time to prepare, but for me, my eyes are firmly fixed on LCA07, Sydney. (Their site’s not up yet as of this writing, but yesterday it wasn’t even in DNS. ^_^)

Unless I’m in Japan, of course. I was actually looking around yesterday afternoon in the link, at all these people, these luminaries of my industry and my passion, and wondering if Japan is the right choice… I mean, there’s CBIT now, and I’d hate to leave that. But it’s not what I want to do… And there’s the other project I may have mentioned, which I will be having a meeting about next week, with luck… And yet, having come this far, how can I not go further? Maybe I should be searching harder for Open-Source jobs in Japan, and combine my interests. Sure, I love teaching, and I love teaching languages… But it’s so scary!

I guess it comes down to Feel the fear and do it anyway. And I suspect if I do get to go on JET, as long as I have an Internet connection, I’ll be able to spend more time on my hobbies than I do now. Or maybe not.

A final thought on LCA06… I hope everyone realised the sense of humour it must have take to aware LCA06 to a New Zealand team… ^_^

The PowerPC and the PHPassion: LCA Presentations Day 1 Afternoon

Lunch: Spent so much time editing the morning’s post, didn’t get to eat, and then went to two wrong theatres and missed the start of the 32/64 comparison with x86 and Power by Olof Johansson. And they were out of pies so I bought sushi instead…

The 32/64 bit presentation was interesting. I’d seen discussion on Debian-Devel along the lines that PPC64 is slower than PPC, and therefore a pure 64-bit Debian port (ala. AMD64 port) was a poor idea (as opposed to AMD64). Olof presented benchmarks (which supported this) as well as a discussion of the way the both x86 and PPC’s ABI’s differ between 32 and 64 bits. It seems that the PPC64 ABI has actually added more overhead to function calls, and hasn’t taken advantage of an ABI change to improve existing issues, while x86_64 has actually used the ABI change to make more use of CPU registers to improve function calls significantly.

An audience member mentioned that newer toolchains than those tested use a different function-call structure or something and should be more efficient. So maybe PPC64’s problems aren’t insurmountable. Mind you, PPC64 does seem to be mainly targetted at specific applications, rather than overall system support ala x86_64… I wonder how MacOS X on G5 does it? I presume its a 32-bit userland from this…

Following on neatly there’s a PPC presentation on next from Paul Mackerras… I wonder if this issue will be addressed then too?

Either way, it was a quick session, and happily I was _just_ able to follow the stuff that was going on and the following audience discussion… ^_^

And the short session meant I got to eat my sushi before the next presentation

Paul Mackerras (Paulus)’s presentation on Recent Developments in PowerPC

Merging 32-bit ppc and 64-bit ppc64 architectures in the Linux kernel: Lots of duplicate code, ensures both architectures benefit from features, cleanups, bugfixes and drivers etc. So instead, there’s one architecture powerpc which is now the default arch.

This explains why recently building kernel modules on my PowerBook G4 failed, unless I prefixed the make with ARCH=ppc… >_< I noticed rene’s bcm43xx packages did the same thing in debian/rules, so it’s not just me.

Interestingly, Paul said that powermacs are no longer supported in ARCH=ppc as of 10th January. So 2.6.16 I guess…

It’s been a fairly fast project, having been agreed to last July, first hit the tree on 29th August, and by 19th November the PPC64 stuff was completely gone.

During a question from Dave Miller about the PPC handing of OpenFirmware VS Sparc64’s handling I was passed a card to sign for Paul Mackerras’s birthday. I can’t imagine how the people sitting directly in front of him signed it without him seeing…

Further discussion of memory layouts (64kb hardware page support means lots and lots of addressable memory!) followed by a quick round of Happy Birthday rounded out the rather technical session nicely.

I spent the interlude before the PHP5 presentation (ie while everyone else was off getting afternoon tea) finishing the morning’s posting, and jealously guarding my powerpoint.

Rasmus Lerdorfs’s PHP5 talk was quite technical, fast and codery in nature, so I’ll just be noting the cool points I wasn’t previously aware of. The version posted on his site right now is slightly older (marked 2006-01-25) than the one he’s displaying on the screen (marked 2006-01-26).

PHP’s main aspects: Fail Fast, Fail Cheap, Be Lazy. The greatest efficiencies come from solving problems you will never have.

Rasmus said that PHP has the unix philosophy of solving one small problem and solving it well. It’s not a framework, or the complete solution, but it does what it does very well.

AJAX makes this even better because the layout stuff gets moved to the local browser side, meaning that PHP only really needs to serve up the data in a format like JSON or XML, and the client-side UI code is actually run on the client site.

AJAX appears (now that I’ve seen it on the code-side) to simply be javascript in the web browser sending requests to the server with updates and whatnot and dynamically changing the UI without refreshing the entire page. This is good stuff, and I probably would have understood it earlier if I had actually listened to anyone whom I’d talked to about it before now. I wonder if we’ll be talking about this at the Perl BOF tomorrow…

I now also know what MVC means, and why it’s not actually sensible for web applications. But we use AJAX to do something similar, seperating presentation and data (oooh, like XHTML!).

Oooh! A very very useful thing in PHP is the <<< construct. Like the << shell function, and it expands PHP variables that appear inline.

Coming soon from Yahoo!, some kind of useful library thing for AJAX and stuff. ^_^

Hmm. JSON is apparently a Javascript self-extracting object. Neat. And I didn’t even know Javascript had an eval() function…

Man, the CBIT Internet customer manager interface is gonna be sooo cool when I’m done with it. ^_^

PDO is a new PECL extension for PHP5, and part of PHP5.1 which looks a lot like Perl’s DBI. It lets you bind parameters which will also save a whackload of crappy coding on my part… Mind you, I didn’t use the binding stuff in Perl5, but I should be doing so.

Things in PHP5 that make it good for AJAX stuff: XML uses libxml2 and dom now. This gets us XPath and XSL… and SimpleXML! This gives a PHP native object from the XML file….

item as $it)
echo "link}'>{$it->title} {$it->description}

Huzzah. Two instruction RSS aggregator… I can’t imagine why Planet takes so much code… ^_^

And with the demonstration of and unsafe search (I wasn’t quick enough on the URL, and the only thing Google will find is an old version of it, Rasmus’s one had images. Images!) it was obvious that this is the future of the web.


Boy’ve I’ve been looking for a place to use that last one. I can’t find the website I saw it on, but as soon as I saw it, I know I had to write it somewhere. ^_^

And then just to finish off (and whet our appetites for tomorrow’s “Fast and Secure websites” presentation) Rasmus pointed us to APC, a PHP Opcode Cache which Yahoo! is happily running on their servers. One server he pulled up has taken 87 million hits in the past few hours, with 20k cache misses. O_O

And then there’s the XHTML problem which I really need to sit down and unblithe my pages about…

BOFs… VoIP. I visited PowerPC, but on consideration this one’s actually more important to me.

VoIP BOF links for my own reference: MacOS X softphone, Platronics nice USB headset which can be bought from Harris Technology.

Interesting things pulled off Planet LCA2006: Gumstix – Small, small small computers; CryoPID – Freezes processes so they can be migrated across ttys and even machines. CryoPID was actually described at the lightning talks at LCA05, and received many oohs and aahs at the time at the idea of screening processes after they’d been started.

After the BOF, went to do my LPI 101 exam. As mentioned, I’ve been studying from LPIC 1 Exam Cram 2, which the LPI’s Books page describes as …the most up-to-date publication reflecting recent changes in LPI exam objectives.. Mind you, it fails to mention that they’ve since (as of October 1st 2005) merged the DEB and RPM exams… Mind you, I hadn’t checked the errata since I was actually only going along to ask a question about the exam proceedure. Having since checked the errata, there’s six pages of corrections, and there’s still some whoppers missing. The above change to the exams, and the fact that Linux doesn’t have an “Archive” bit…

Either way, it took 20 minutes of the 90 allotted, and I feel really good about it. Still worried about the second exam, will prolly put that off until Saturday and push hard to finish the book first.

And another episode of S.O.S watched, as this site was being slow for some reason… It’s so wrenchingly painful to watch, but I can’t possibly stop until I know what happens…

Either way, an excellent day topped off with way too much Japanese food. ^_^

Oh yes. If I get a chance, I must ask Dave Miller at the presenter’s panel about the IEEE 802.11 stacks…

Debian bunfights, AJ sells his soul, and Battlestar Galactica: LCA Miniconfs Day 1 Morning

Happily, wifi works in the theatres. ^_^

First up in the Debian minconf was just enough of S2 Ep1 of Battlestar Galactica to remind me of where the Australian TV season’s up to, and probably frustrate those who haven’t already seen it.

Next was a presentation by a Ubuntu MOTU member regarding Debian/Ubuntu collaberation. A bit of interesting information about how Ubuntu’s Debian-collaberation stuff works, a few buns thrown, and a fair bit of jovial back-and-forth. Just what I was hoping for. Interesting link: – Version comparisons between Ubuntu and Debian.

Interlude: Coffee, chat, and the next 20 minutes of the BSG episode.

Anthony Towns and his way of trying to get people to pay him to work on Open Source projects. It’s kind of an inverse bounty where he posts what he wants people to work on, and people put up money to what they want done. It involves a Supply and Demand curve pair apparently, but he didn’t post slides… So here’s the link to it: AJ Market. The discussion evolved into a look at “betting markets” as a replacement for bounty systems. The idea is, you bet $x against something being implemented. If it’s implemented, you got your feature. If it’s not implemented, you get your money back, plus money that was bet _for_ it being done. People working on implementing it bet on it being implemented, and share the winnings if it is implemented. Obviously this places a bit of risk on the side of the implementors, but it’s a fascinating idea.

Overhearing a conversation about this while I was packing up, apparently part of this also involves the buy and selling of “bets”, which actually turn out to be more like shares… The idea being that a programmer can pick up cheap shares (eg. because the project’s been ignored for ages, and is seeming very unlikely) and then complete it, realising the full value of the shares. This requires that any initial investments are made on both sides of the bet. This situation would encourage people to ignore things they know they _could_ do until it’s worth it to do it, but at the same time if you want something done, you can buy your shares on both sides, and give away the “will be done” shares to a likely candidate, which gives them an incentive to get it done, as the shares are only on paper until the project is completed.

I’m sure AJ’s blog has more useful information, or will do really soon now. I’m interested, myself. Anyone wanna bet me that I can’t do Linux WMB for things other than ralink cards? ^_^

An interlude in the history of PHPRasmus Lerdorf is actually presenting a tutorial onPHP5 behind Web2.0 (AJAX etc) stuff which I’m probably going to go to on Thursday afternoon, much as it clashes with the tutorial on programming Asterisk PABX at serveral levels and the latter is highly relevant to what I’m supposed to be doing for a living.

This afternoon, however, it’ll be the Perl 6 session at the Damien Conway miniconf in Burns 7. ^_^