procrastination diagram

2004 January

I won't complain

Well, that was a year. Hopefully this one will be better than the last one, although I'm just too superstitious to say that it couldn't possibly be any worse. 2003 started on a relatively high note and then sort of slid downhill into "everything worth having rusts". I have this fond hope that things turned around ever so slightly at dinner time last night, though.

Thanks to Dan Eisenbud for inspiration for the title of this entry; I ran into him at a party last night and he asked how I was, and I said "I can't complain", which produced, well, a reaction from the audience, although no one said "What, did you lose that part of the brain in an accident?". So we concluded that "I won't complain" is the best polite-but-actually-true response to that sort of question in many cases... from someone like me, anyway.

In other news, "elder brother also speaks" has become appropriate, as my sister has a blog now. She called hers "Eclectic Glob of Tangential Verbosity", which is consistent in a way that I don't think I can describe in words to people. Now she (like Ken Macleod) just needs to get an RSS feed.

Link dumps, more UI, and technical rants to follow, hopefully.

sad mexican itunes

First, an unhappiness: Casa Mexico closed! The outright best Mexican food in Boston, the best spiced coffee.. no more.

I'm sitting in the downstairs living room, watching Garry and Shmike play Mario Kart while Shmike (between races) is ripping his CDs into iTunes and poking at Garry's music collection (which Garry has in iTunes). So I start wondering how hard it would be to poke at an iTunes collection from a linux box, and started googling...

It looks fairly promising. Ignoring the ac3 decoding issue for now, I found a perl client, which I'm too tired to try right now, lots of protocol notes, two libraries, two servers, and an overarching website. Yay listening to Garry's music, maybe, someday. If I'm careful I won't even have to write any code.


Paul Graham has a much ballyhooed essay on the things you can't say in "polite" society, and why. It's thought provoking, although I think his argument either weakens slightly toward the end or he misses a chance to point out some of the tactics of the people who don't want you saying certain things.

random neuron firing

I think that the weblog phenomenon is, on some level, a reaction to USENET (and to some degree mailing lists) becomming unusable due to spam. Even if most of the people writing weblogs have never come closer to something that implements nntp than having an unnoticed copy of Outlook Express on their hard drive, if USENET hadn't been killed by the green card lawyers' followers, they'd be using it today.

It is also possible, of course, that I'm undervaluing the allure of having a site that looks the way you want it to, with only your words on it.

Unrelatedly, someone needs to figure out a way to build a PDA and a phone into a wallet. There's plenty of room for user interface, it just needs to be kind of squishy, hold credit cards and cash, and be able to survive being sat on.

bleat 4

There is a new version of the software, which doesn't do anything particularly exciting. I noticed that the front page was getting a little bit long, so I added archives and am now limiting the front page (and the rss feed) to ten items. Also, using a python rewrite of Simon Willison's Safe HTML checker, I now allow limited markup in comments, automatic HTMLification, and the same-old same-old plain text. (I was able to convince myself that the HTMLification code was safe by having it run through the XHTML checker.)

Behind the scenes, there was yet another revamp of the templating system, which should make trackback even easier when I get around to it. Trackback and a management page (which most of you will see nothing of) are up next, which will probably lead to an entry summarizing the state of authenticating to web doodads at some point.

citizens for a wider internet

Speak Freely, one of the older Internet telephony applications, recently1 announced that it was shutting down with a FAQ, among other things, decrying the proliferation of Network Address Translation on the net at large. Now, this is something I've been complaining about for a while, and I was annoyed to find that when my parents got DSL that they got a NATed address. I suppose that it does protect the average user who can't be bothered to patch their Windows install from some classes of attack. It can't, however, protect them from bugger mail readers or incautious downloads (which I would guess that about 50% of the people who don't bother to run Windows Update are prone to). I also suspect that the attackers that NAT does any good against would break like water against my Dad's UltraSPARC running Linux.

So that was the entry (however badly written that I was going to write once I got the coding done. However, I feel I should toss in a link to Simson Garfinkel's inflammatory article on the adoption of IPv6. I'm not sure why I'm increasing his pagerank, but I do want to say that I'm pretty sure he's vastly underestimating the potential market forces behind a wider address space, vastly underestimating the cleverness that people will apply to get it deployed, and vastly overestimating the costs.

Of course, I may be underestimating the lengths that traditional one-to-many media will potentially go to preserve their worldview...

1Well, in August. But they're shutting down in three days.

random thought

A basic axiom of system administration is to automate everything that can be automated.

Thus, a good system administrator in a perfect world would never waste their time putzing around in languages without garbage collection.


This is very odd. I don't know where the week went. I have been thinking that I'd written the previous two entries "the day before yesterday", but that obviously hasn't been true since Tuesday. Anyway, I'm still here; it's been very cold. And I'm still working on the web-doodad-authentication thing.

It occurs to me, having reread the above paragraph, that I really should have taken a cue from my speech habits and called this blog "Anyway,".

aggravated bloggery

Dave Winer went and did something clever, which is to say, a website where you can hand over your rss feed subscriptions as an OPML file so people can do statistics (i.e. figure out who's winning the popularity contest this week, affinity data, etc.).

So far, so good. He's announced an "SDK" which appears to amount to a couple of examples and a pointer to the raw data, as well what seems to be a license for the raw data (which does not have an explicit copyright or license included, not that matters, it's just unclear) that forbids sharing of the data in formats other than OPML without permission.

That last bit seems to have annoyed people, and even led Danny Ayers to request that Mr. Winer remove the links to his sites, which seems like a slight overreaction (short of pulling a Pilgrim), and for Winer to immediately raise the prospect of litigation, which seems like even more of an overreaction.

Ayers also came up with a way of (supposedly) transforming the data into valid simultaneously valid OPML and RDF, which also seems like an overreaction, if a kinda cool one. I think religious wars over file formats are even sillier than religious wars over editors. (I usually write these entries in emacs, but fix them in vi. :->) However, using a compilation license to promote your pet file format also seems deeply silly, especially when it stands a chance of fragmenting the market for subscription-list aggregators and causing everyone to lose. It's not like I know of any other formats for tossing feed subscription info around in (although I suppose you can do it with RDF, but if you believe the RDF boosters, it also walks dogs). It would seem cleverer just to let the market decide and not do things that might offend your target demographic.

I find this all fairly amusing, since I imagined (for lack of a better word) this service a few months before Winer said anything about it. It counts for nothing, because I didn't bother to tell anyone, and didn't have the time or bag of tricks handy to implement it before Winer did at any rate.

I, personally am not going to submit my subscriptions to, because I don't have a good tool for manipulating OPML and thus no good way of marking the feeds that I (for whatever reason) don't want to share. I'm also not thrilled by the notion of contributing to someone else's crusade, but I wasn't going to contribute before I found out about the crusade anyway.

Next, social networks, public keys, and some applications I'd find useful. I should also start keeping statistics on how often I actually meet my plans for the next entry. :->

Useful Social Software

A field of endeavor known as "Social Software" has been generating lots of buzz recently; there's been talk of a " social software bubble", especially after Friendster and LinkedIn got funded (given this, it would be a lot easier to take Friendster seriously if they could at least keep up with LiveJournal in performance. Even the old, slow LiveJournal. Anyway). It's a nebulous term; according to some people, blogs are social software; LiveJournal certainly is; it might include email and USENET news; Friendster and LinkedIn (automated matchmaking and business schmoozing, respectively) are probably the best matches for the archetype. Clay Shirky offers the definition " that which can be spammed"; it seems as good a meaning as any. 1

The problem is that these archetypal sites don't really solve the problems that people have. Not in the "people don't have this problem" sense, but in the "don't solve" sense. Friendster more or less devolves into a personal ad site where you have to click on people that you already know to find the ones you don't (and isn't particularly useful if you aren't that photogenic (and I'm not bitter at all, no :-)). LinkedIn has a variety of anecdotal problems that I can't be quite so verbose about since I've never really used it. I suspect that a better way of putting it is that these systems don't solve your problems if you aren't a people person to begin with.

LiveJournal, on the other hand, gets a crucial thing right: It solves a problem for its users directly. I tell it who my friends are, it lets me read their journals; I type stuff in, my friends can read it. What I want (and have taken quite a while to get to, I see) is social software that makes it easier for me to share information with my friends. I mentioned previously that I had imagined a service similar to What I actually wanted was a way to mutually share my subscriptions with my friends so on some level we could be reading the same newspaper.

There are probably many ideas in this vein, but here's the next one I thought up, and might still begin to implement if the technology comes together: intelligently shared address books. People's contact information slowly changes and if you're the sort of person that likes to stuff numbers into your phone or PDA, and you've had the phone for more than a month or so (or have some clever syncing software), chances are you have some outdated information. Also, circles of friends shift over time, which makes it easier to accidentally leave people out. (To those of you who think PDAs and phones with more than a redial button are newfangled and effete, your paper address book gets out of date just as fast...)

Here's a story (actually, my original train of thought): I have a friend named Alexis. She bought a house recently, which means her address changed, and her landline phone number is likely to have changed. It would be really neat if Alexis could update her information somewhere (not necessarily, in fact probably not anywhere public) and have it find its way into my phone, and my PDA, and onto my laptop, with little or no intervention on my part.

Another story: Marc bought a new phone. He doesn't have any clever synchronization software, and thus is bereft of his phonebook until he keys everything in. It would be way cool if he could hit a web application from the WAP browser on his phone and get a bunch of vCards for the people in his immediate "social network".

Now, there has to be some sort of privacy protection; Alexis might concede that it's useful for Marc to get her number but doesn't necessarily want google to find it; There needs to be some protection from people spamming the system, and there might need to be some explicit way to handle non-shared circles of friends, as well as people who should be in everyone's address book but can't bothered to maintain their own entry. (Maybe you get entries of people who are in a certain threshold of other people's addressbooks that have you in your addressbook? More thought is required, but it can wait until implementation-time, if that ever happens.)

FOAF might be an interesting place to start with this. You'd need to weld on something like a security model, but it admits to the notion that people can be described in multiple places by multiple other people, although you'd need some way of stamping out incorrect information (I don't know if FOAF has a notion of "I am describing myself").

I think the privacy aspects of this are what will make it hard, unless you go for a centralized, difficult to scale design, like LiveJournal or Friendster. It would be so cool if you could do it by just publishing files on your web site, though; but you'd have to encrypt them to make the privacy requirement, and then you *do* need some sort of infrastructure to avoid the project-killing PKI curse.

Speaking of Public Key Infrastructure, it occurred to me the other day that PGP may be the first piece of social "networking" software. I don't think its social network is useful for anything but the originally intended purpose (sending authenticated, integrity-protected and possibly secret messages to people), but it's an interesting side note. When it first occurred to me, I thought it had more bearing on the problems described above, but I'm pretty sure I was wrong.

I have no idea what I'm going to cough up next.

1 This paragraph will likely clinch my first nomination for the 2004 "vicious overuse of the semicolon" award.


Gosh, once again I have no idea where the week went. Maybe I should explicitly devote today to writing code to make posting as frictionless as possible for me. Fiddling with the comment system could also be interesting, although I think that implementing trackback might be a bad idea. Anyway, Orkut.

Orkut is another useless piece of social software, but this time "in affiliation with Google" and much slicker than, say, Friendster. It's having some teething problems, but it hasn't started to slow down yet, and is much more fun to click around in. I can't really explain why, but I think that it's the best UI for an application in a browser that I've ever encountered. It differentiates itself from Friendster by trying to be both for business and pleasure, and having communities and forums. One gets the feeling that they could add some actually useful functionality any day now. If anyone who bothers to read this wants an invitation and hasn't gotten one yet, let me know.

G4 Goodness and more Social Software

I bought a Macintosh! Jesse's old G4 was cheap and capable of running GarageBand, which was otherwise slowly tempting me to buy a G5, which I can't really afford. I have nothing to say about GarageBand yet, it's still "Optimizing System Performance".

In other news, what I was describing as useless social software is apparently called "social networking software". Eric Gradman wrote an interesting paper (which doesn't use that term) on "User-Centric Distributed Social Software", which describes an architecture for making Orkut/Friendster-alike systems work a) without requiring one monster system that you tell everything about yourself (you probably end up with several) and b) allowing weirdos like me who run their own web servers to play. He does not address the issue of how you might selectively limit distribution of some of the information, or the "making sure people are who they say they are" issue. Neither of these are reasons not to implement, however. He does suggest another novel application: dynamically created playlists based on recorded trust in musical taste.

I found this via Corante Many 2 Many which also links to Leonard Lin's "Next-Generation Distributed Social Software Networks: Designs and Applications" presentation, which alludes to some interesting stuff but suffers from being a slide show.

Tibbetts suggests, in response to my address-book idea:

Doesn't seem to me like centralized infrastructure is a bad thing. Sure, its un-sexy. But its also where your customer lock-in comes from, assuming you want to benefit from the social software bubble.

I specifically don't want there to be lock-in for this sort of thing. I don't really want to benefit from the social software bubble, I just want the respect and adulation of my peers that I so richly seem to so far fail to deserve. That and an up-to-date address book.

Final note: GarageBand clearly has the potential to be an enormous time vacuum, but also will give me an opportunity to exercise bits of my brain that have been in consumer-only mode for the past decade and a half... and it says my disk is too slow for some of the demos. ☹

Creative Commons License
This work by Karl Ramm is licensed under a Creative Commons Attribution 3.0 United States License.