Older blog entries for dcoombs (starting at number 63)

27 Nov 2004 (updated 27 Nov 2004 at 19:47 UTC) »
On Security

I don't know whether to laugh or cry.

Break My Stuff!

I've finally gotten around to open-sourcing a couple of fun PHP projects I've been working on lately in my spare time. Currently they're only available by anonymous CVS, but I plan to whip up some tarballs soon too.

PlaNit is a weblog aggregator designed to easily host a "Planet"-style site. It currently runs my company's pla.nit.ca site.

NITLog is a simple but fairly flexible weblogging system. It was originally my excuse for learning PHP, but I've been using and improving it for more than a year now, and I plan to keep doing so. I have a few specific ideas in mind for improving it, mainly feature requests from hub.

Both of these are things I started mainly for fun on my NonDirectionalFridays. I could easily have used some other weblog system and jdub's Planet, but I definitely learned more this way, and both projects have become flexible and general enough that someone else might find them useful. So here you go!


Talking to apenwarr yesterday, he lamented how user interfaces always come out wrong. We've been on a specifications kick at NITI for the last year or more, and we've had very good luck producing detailed specs for the functionality of new features and products, and then code is written according to the spec, and it's generally good. Except for user interfaces.

Everybody knows programmers shouldn't design UI's, beceause we don't think like users. But we let non-programmers write our UI specs, we code the corresponding UI, and we give it back to them, and they don't like it, and they're right not to like it. UIs are rather notoriously like that.

Avery's question: Is it possible to write a decent spec for a good UI on the first try? How?

My corollary: Should we even try?

We did agree that UI work is thankfully not very deep. You'll try a newly coded UI, you'll hate it, you'll file 20 bugs, and then a day later they'll all be fixed. It's piddly tedious work, not fundamental design change work. If the first version of any UI is going to be despicable whether or not it had a spec, which itself has probably undergone umpteen revisions, why not skip a few steps and get stuff done faster?

I don't think either of us likes this discontinuity between working on UIs and working on the functionality underneath. We have certainly benefited from detailed specs for the latter, and we would like to be able to effectively specify the former. But we don't like wasting time either.


Everything Moves Real Slow When It's 40 Below

I saw Sam Roberts with Andrew, Peter and Jeff the other night. It was the last show of his multi-year tour, in his home town of Montréal. Goodness but this man knows how to (a) scream, and (b) work a crowd. Much energy, and much volume; I loved it. The singalong bits were well selected; there's something so very appealing about having a thousand fans at a rock concert extolling the benefits of socialism at the top of their lungs. Only in Canada.

I Haven't Eaten Since Later This Afternoon

Primer is an intentionally baffling film. I can't remember the last time I was so confused. Comparisons are being drawn to Pi, but I'm not convinced, other than that it's probably the same audience that will appreciate both. Primer's $7000 budget is naturally evident in the video and audio quality, but I can't complain about how they're used. The framing is precise, the dialog is sharp, and the geeks are definitely geeks. I failed to make any sense of the last 20 minutes, but I guess that was the point. I'll have to see it again and emerge hopefully less, but possibly more, bewildered.


The record must be set straight. There exist certain people, and they know who they are, who insist on spreading the horrible lie that I never sleep. Yesterday, after being awake for three and a half days, I was feeling mildly weary, so I lay down at 5:00 PM intending to have a quick nap. The next time I looked at my clock, it was 7:30 AM this morning and I was late returning my rental car.

It is clearly, clearly not true that I never sleep. I rarely sleep. Thank you.


My brother lives on the 17th floor in residence at the University of Ottawa. The view from his room is pretty good!


I have been chasing ridiculous bugs. It's never anything straightforward; all I get is "the rsync pipe sometimes freezes or does this other crazy thing, but only some versions, and only the second time you run it, but not even always then, and never, good heavens, if you strace it." Reasonably satisfying to actually figure it all out eventually, even if the culprits (accidentally non-non-blocking sockets, and overzealous killing of processes) turn out to be less interesting than the problems they cause.

And if somebody could please reduce the temperature in the office by about ten degrees, that'd be super. Thank you.

On Accidental Sequester

You know those Medeco keys that are all expensive and highly secure? They evidently fail to be as structurally sound as one might like. There is presently a good chunk of one wedged deep in the lock on the front door of my apartment building. The rest of said key remains uselessly on my key chain. This presents certain logistical difficulties, such as not being able to go outside and then come back in. As a thought experiment, try combining this concept with, say, not owning any food.

Visitors are, thus, welcome.


Spiffy-keen, one could say, were one so inclined. This recent key madness notwithstanding, the week in Waterloo with denizsarikaya and sfllaw was most welcome. We variously share a wide range of semi-overlapping eclectic interests, and an affinity for understated humour and bad puns, such that coming home on the train, a random passenger said it was great to hear such camaraderie from us. I guess this means he was either continually blinded by our wit, or he wished we would all just shut up already. In retrospect, I should have asked for clarification.

The Well Traveled Cheesecake

Attention Waterloovians! Sneak into the staff lounge on the 2nd floor of the CECS building, open the fridge, locate the foil-wrapped pumpkin cheesecake, and please enjoy responsibly. It has been forgotten enough times. Somebody needs to eat it.

The Well Traveled Tripod

After my accident in England, and my subsequent purchase of a new tripod, I received mail from TfL saying that they had found my old one, and would mail it back to me for a mere £24.87 sterling. I cobbled together a money order, mostly out of curiosity, sent it off, and have now received a letter saying no no, we can't accept that kind of money order. It is now unclear whether I should bother figuring out exactly what it is they want.

On Bureaucracy and/or Civic Duty

The Ministry of the Attorney General of Ontario has randomly selected my name from a municipal voters list, as a candidate for next year's Jury Roll. They sent me mail, in Québec, to tell me this.

They say I am legally required to fill out the accompanying questionnaire and return it to them, so they can determine whether to add me to their list.

I don't know to what degree this legal requirement applies to people who don't live in Ontario anymore, nor, if I fill it out, whether they could actually summon me back across the border.

It all seems vaguely broken.

7 Oct 2004 (updated 8 Oct 2004 at 04:38 UTC) »

I spent some time yesterday and today making loads of improvements to NITLog, the thing I wrote that drives my home page and my web log. Several other NITiots had been using it on their own and commented to me how sucky it was that the layout was hard-coded into the PHP. Well, they're right. I've split that stuff out so that you can feed it an HTML file and it will replace macros with content. I also took the opportunity to make myself a new layout.

There are still a few more things I want to fix, and then I will give the same treatment to PlaNit, and then I plan to open-source them both.


I am 3.85% older. But my friends got me a muffin. But the muffin played the birthday song. But then I ate it. That shut it up.

Going Home

Flying to Thunder Bay for the long weekend tomorrow. I'm very much looking forward to resting a bit, seeing family and friends, etc.

2 Oct 2004 (updated 2 Oct 2004 at 23:32 UTC) »
On Superhuman Powers

So I'm moving to a new apartment. After much gruntwork, all my stuff had left my old place and arranged itself haphazardly in random piles scattered around my new place. I was dealing with these piles, while listening to music (one cannot unpack without music, unless one is initially unpacking one's stereo), and I decided to run down and grab something from the car. I hit the pause button on my stereo, and, I swear, at that exact instant, the power in my apartment cut out. I thought I must have blown a fuse in an extremely peculiar fashion. Nope.

I looked in the hallway, and the emergency lights were on. I thought I must have blown a floor-wide fuse or something. Nope.

I go downstairs to investigate some random beeping and honking, which turned out to be the fire-alarm panel complaining that it had no power and couldn't save anybody's life in the event of a fire. I start to become impressed with this newfound force I wield. I determine the entire building and the one next door, at least, are out.

I get in the car to drive to NITI to check my email, and notice several traffic lights in the area are also out, and a stretch of stores and restaurants on Sherbrooke are dark. I have apparently knocked out a good chunk of the Vendôme area in Montréal by pausing a CD.

The Moral Of The Story

During periods of light wind and drizzle, I control the world through my stereo. Fear me.

20 Sep 2004 (updated 20 Sep 2004 at 16:57 UTC) »

I've been hacking. I've merged in most of jdeboer's changes, and have been fixing bugs like crazy. His redesign of my protocol is excellent, and most welcome. A lot of the other stuff he did to get synchronization of a full directory tree working is less well executed, and has needed a lot of massaging. (Admittedly, he was in a hurry.) I've come a long way reworking it, but there's still quite a bit to do before I can start adding new stuff to it.

Next on my list is fixing the absolute/relative pathname mess (it's not only suboptimal, it's downright broken). I'm looking forward to adding more pipeliney goodness to the transmission of librsync deltas, integrating the new index file format, making deletes work, fixing conflict resolution, making renames efficient, and so on. Lots to do.


Nobody I asked had any opinions, so Ashkenazy wins, and yesterday I bought his recording of all Beethoven's piano sonatas. I've disassembled a few of my longtime favourites and I love it so far. He's all kinds of dynamic, which is essential with Beethoven, his technical proficiency is legendary, the sound quality is very good (if a little quiet), but most impressive to me are his articulation and phrasing. It's easy to play Beethoven as a jumbled mess (trust me, I do it), but his phrasing is clear, original, pronounced, and always seems to fit. It makes me slap my forehead and say "of course!" which I was not expecting. Lovely. It seems clear that he has the intelligence to suggest what Beethoven might have intended, and the skill to pull it off.

I may also need to get his complete Chopin, which is apparently also excellent. It is mighty tempting.

All I need now is a piano. I miss that.


Note to self: go live it.

3 Sep 2004 (updated 4 Sep 2004 at 01:42 UTC) »
September Already

Where the [bleep] has this year gone?

Transitions galore. Various new and returning co-ops at work, I have my dog back, Jess has moved out, and I will be moving next month. Last night I was slicing some bread to make some sweet delicious toast, and I accidentally cut my hand. A moment later I realized I no longer owned any band-aids, or, for that matter, a toaster. These things take time.

Been dealing with paperwork, furthering the Ultimate Montréal Sushi Quest with dilu, visiting hub while he was in the hospital and keeping his family in France up to date, exchanging life stories with denizsarikaya, fiddling with jdeboer's hacks to WvSync, and reprimanding myself for being lazy.

Peter Zion gave a great talk at work on Wednesday about processes in Unix. Delightfully obscure and archaic! He chronicled how he solved the infamous years-old Ctrl-C-doesn't-work bug on the Nitix command line in his second week of work. It turned out to be apenwarr's fault (Avery has helpfully provided a generalized admission of guilt for occasions like this), but the subtle ways that signal handlers, setpgid(), controlling terminals, and the ever-quirky setsid() interact are fascinating. And horrifying.

This weekend I clearly need to do some shopping and get my apartment organized again. Beyond that, attending nancyrihakova's garden party, catching up on sleep, and photographing Montréal (the weather has been lovely) are certainly in order.

I also owe mcote some drinks. But he's busy. Booooo.

Pantsless in England

Now that I have your attention, I will talk about things that are unrelated to pants. This bulletin board, for instance, has nothing to do with pants, and is proudly on display in the Worsley Building at the University of Leeds, where UKUUG's annual Linux Technical Conference is being held.

And speaking of that, I am on the eighth floor of a seven-storey building. I can get away with this because they decided to number the floors of this building from sea level, and thus the ground floor is actually the fourth. I suppose that's nice and unambiguous.

I've been here speaking about WvStreams on Saturday and WvSync today. In fact, I was extremely pleased with the positive response to my WvSync talk, after which people asked sensible questions, offered encouragement and some new ideas, and one brave soul even asked if I was willing to accept contributions (yes), said my talks were among main reasons he came to the conference, and promised to fiddle with WvStreams and look at the WvSync code and see what he thought. Yikes!

The rest of the conference has been good. It's quite low-key and enjoyable. Highlights for me were seeing Michael Meeks talk about OpenOffice.org development (wlach, you got a quick mention!), Simon Myers demonstrate ridiculous things I didn't know Vim could do but am glad it can, Aaron Crane's talk about Unicode and how to make it work right, and Antony Stone's talk about wardriving.

Tomorrow I go home.

4 Aug 2004 (updated 4 Aug 2004 at 18:52 UTC) »

(Crossposted minus photos. See here for Rising Bollards!)


After a day in London and a day in Cambridge, I have arrived in Leeds for the UKUUG's Linux conference.

Unfortunately, I can barely walk due to having messed up my knee while spending the last two days walking constantly, so I haven't seen much of Leeds yet, although it does look nice.

I still need to get both my talks in order for the conference. Isn't that always the way?

In Cambridge I met up with my friend Tony, who I know from a past life during one of my co-op jobs. I hadn't seen him in three years, so we had a lot of catching up to do. We traded stories, laughed a lot, drank beer, ate curry, and discovered that while we weren't paying attention our lives went and developed some eerie parallels that neither of us would have expected.

I am reasonably impressed by the quality of English train travel. They've always had a reputation for being late, but from what I can tell they're not nearly as bad as Canadian trains. That said, they're also clearly not as on the ball as the German ones, but then they're more comfortable and at least as frequent. Who's to say?

I did some night photography in London, followed by something mind-blendingly stupid. I lost my tripod. I still have its carrying bag, but no tripod. I suspect I was too lazy to put it back in its bag on my way home, and then I just left it sitting on the seat of the Underground like some sort of idiot. I liked that tripod, too. Grumble.

54 older entries...

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!