27 Nov 2004 dcoombs   » (Master)

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!

Specifications

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.

Discuss.

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.

Latest blog entries     Older blog 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!