Add to Technorati Favorites

Tagging in the year 3000 (BC)

19:44 January 4th, 2008 by terry. Posted under books, representation, tech. | 4 Comments »

Jimmy Guterman recently called Marcel Proust an Alpha Geek and asked for thoughts on “what from 100 years ago might be the hot new technology of 2008?”

Here’s something about 5000 years older. As a bonus there’s a deep connection with what Fluidinfo is doing.

Alex Wright recently wrote GLUT: Mastering Information Through the Ages. The book is good. It’s a little dry in places, but in others it’s really excellent. I especially enjoyed the last 2 chapters, “The Web that Wasn’t” and “Memories of the Future”. GLUT has a non-trivial overlap with the even more excellent Everything is Miscellaneous by David Weinberger.

In chapter 4 of GLUT, “The Age of Alphabets”, Wright describes the rise of writing systems around 3000 BC as a means of recording commercial transactions. The details of the transactions were written onto a wet clay tablet, signed by the various parties, and then baked. Wright (p50) continues:

Once the tablet was baked, the scribe would then deposit it on a shelf or put it in a basket, with labels affixed to the outside to facilitate future search and retrieval.

There are two comments I want to make about this. One is a throwaway answer to Jimmy Guterman’s request, but the other deserves consideration.

Firstly, this is tagging. Note that the tags are attached after the data is put onto the clay tablet and it is baked. This temporal distinction is important – it’s not like other mentions of metadata or tagging given by Wright (e.g., see p51 and p76). Tags could presumably have different shapes or colors, and be removed, added to, etc. Tags can be attached to objects you don’t own – like using a database to put tags on a physically distant web page you don’t own. No-one has to anticipate all the tag types, or the uses they might be put to. If a Sumerian scribe decided to tag the best agrarian deals of 3000 BC or all deals involving goats, he/she could have done it just as naturally as we’d do it today.

Secondly, I find it very interesting to consider the location of information here and in other systems. The tags that scribes were putting on tablets in 3000 BC were stored with the tablets. They were physically attached to them. I think that’s right-headed. To my mind, the tag information belongs with the object that’s being tagged. In contrast, today’s online tagging systems put our tags in a physically separate location. They’re forced to do that because of the data architecture of the web. The tagging system itself, and the many people who may be tagging a remote web page, don’t own that page. They have no permission to alter it.

Let’s follow this thinking about the location of information a little further…

Later in GLUT, Wright touches on how the card catalog of libraries became separated from the main library content, the actual books. Libraries became so big and accumulated so many volumes that it was no longer feasible to store the metadata for each volume with the volume. So that information was collected and stored elsewhere.

This is important because the computational world we all inhabit has similarly been shaped by resource constraints. In our case the original constraints are long gone, but we continue to live in their shadow.

I’ll explain.

We all use file systems. These were designed many decades ago for a computing environment that no longer exists. Machines were slow. Core and disk memory was tiny. Fast indexing and retrieval algorithms had yet to be invented. Today, file content and file metadata are firmly separated. File data is in one place while file name, permissions, and other metadata are stored elsewhere. That division causes serious problems. The two systems need different access mechanisms. They need different search mechanisms.

Now would be a good time to ask yourself why it has traditionally been almost impossible to find a file based simultaneously on its name and its content.

Our file systems are like our libraries. They have a huge card catalog just inside the front door (at the start of the disk), and that’s where you go to look things up. If you want the actual content you go fetch it from the stacks. Wandering the stacks without consulting the catalog is a little like reading raw disk blocks at random (that can be fun btw).

But libraries and books are physical objects. They’re big and slow and heavy. They have ladders and elevators and are traversed by short-limbed humans with bad eyesight. Computers do not have these characteristics. By human standards, they are almost infinitely fast and their storage is cheap and effectively infinite. There’s no longer any reason for computers to separate data from metadata. In fact there’s no need for a distinction between the two. As David Weinberger put it, in the real world “everything is metadata”. So it should be in the computer world as well.

In other words, I think it is time to return to a more natural system of information storage. A little like the tagging we were doing in 3000 BC.

Several things will have to change if we’re to pull this off. And that, gentle reader, is what Fluidinfo is all about.

Stay tuned.


Both my kids beat me at Connect 4

02:36 January 4th, 2008 by terry. Posted under me. | 2 Comments »

Image: katypearce

My 2 older kids got Connect 4 for xmas.

I’ve liked Connect 4 for a long time. The first TCP/IP socket programming I ever did was in 1987 and it was code to let two people on the net play Connect 4 against each other, with graphics done using curses code written with Andrew Hensel. Later I wrote a machine opponent that used some form of Alpha-beta pruning and which was popular among a few CS grad students at the University of Waterloo. Amazingly, you can still find traces of my youthful code (and function names!) online. I like/d to think I am/was a pretty good player.

So you can imagine my confidence as I walked into the kid’s room and asked them who wanted to be beaten at Connect 4 by the champion of the world. My friend Russell has a take-no-prisoners attitude towards playing games with his kids. He wouldn’t dream of deliberately letting them win at anything. I let mine win very often, and find it hard to imagine how you could teach a small kid to play (say) chess if you don’t give them a chance. Anyway, tonight I decided I was going to show no mercy and whip them repeatedly at Connect 4.

I was so wrong.

At xmas just a couple of weeks ago I remember explaining the game to Sofia (8), and thinking what a vast gap existed between her understanding of the game and mine. Of course she quickly got the idea, but she had no idea at all of strategy. Lucas (6) came up during the explanation and of course had to be included, which meant an even more painstaking explanation from the champion of the world to his tabula rasa midgets.

Yesterday Ana told me that the kids, Sofia especially, were getting quite good. I smiled a knowing smile, and inside I scoffed.

Tonight I played Sofia in the first game and won fairly quickly. I told them we were going to play winner stays on, and so I then faced Lucas.

And the little bugger beat me. Fair and square he got me good, knew exactly what he was doing, and celebrated like a wild animal as he dropped the winning piece, while I sat there in shock with a huge smile on my face.

When I finally got back into the game I was up against Sofia. She proceeded to beat me too.

Amazing. Great. Funny. Alarming. How is this possible?

It reminds me of when I was about 12. My father was trying to figure out how to connect something with some cables. I took a look and told him what to do. I’ll never forget it. He knew I was right and he looked straight at me and said “how come you’re smarter than I am?” I guess I shrugged, but inside I was thinking “yep”.

Pride before a fall. Multiple falls. And you wouldn’t want it any other way, of course.

Still, they might have waited a few more years before mowing me down.


More email customization

02:04 January 4th, 2008 by terry. Posted under tech. | Comments Off on More email customization

My recent email changes are working out well. Yesterday morning I woke up and didn’t read email. That’s because I didn’t have any email!

Well, I did, but procmail had filed it all into mail/incoming/IN-20080103.spool because none of it needed immediate attention. I have set VM up so that it knows to look for an x.spool file if I ask it to visit a file called x. That’s one line of elisp in VM: (setq vm-spool-file-suffixes (list ".spool")).

I like this setup because 1) it keeps my main inbox almost empty, 2) it keeps non-essential emails out of my face, and 3) it puts pressure on me to quickly deal with stuff that collects in the daily file, because I know that if I don’t it’s going to be forgotten.

And how to get to the daily file when I do decide to go look? Yes, another little piece of code:

  (define-key vm-mode-map "i"
    '(lambda ()
       (interactive)
       (vm-visit-folder
        (expand-file-name
         (concat "~/mail/incoming/IN-"
                 (format-time-string "%Y%m%d"))))))

which simultaneously defines a function to take me (in VM, in emacs) to today’s file and puts that function on the “i” key in VM. So I just hit a single key and I’m automatically looking at the non-time-critical mail file for the day. I’ll probably write a little function to take me to yesterday’s too.

And yes, I guess this is all highly personalized, but these are things that I do many times a day every day of my life. So I’m happy to streamline them. And all the code is trivial. That’s the most interesting thing. With a tiny bit of code you can do so much and without it you can only do what other programmers thought you might want or need to be able to do.


I just deactivated my Facebook account

20:45 January 3rd, 2008 by terry. Posted under companies, me. | 1 Comment »

I just deactivated my Facebook account. This has nothing to do with Robert Scoble’s account being disabled earlier today, I’m just sick of Facebook. It does nothing whatsoever for me, except send messages that can and would otherwise have been sent in email. I don’t want to use a tool that encourages people to send me messages on a website that I then have to go log in to. I don’t want some website to hold my messages. I like them to be searchable with things like grep. I like to organize them my way. I like email. Apart from receiving messages in a totally unattractive way, Facebook is useless for me – just a steady stream of invitations to things I don’t want to attend from people I don’t know, plus a smattering of cream pies, flying sheep, etc. So I’m outta there. I wonder if I’ll manage to survive.


Amazon just billed me 14 cents

00:35 January 2nd, 2008 by terry. Posted under companies, tech. | 4 Comments »

I’ve been messing around with Esteve setting up an Amazon EC2 machine.

We set up a machine the other day, ssh’d into it, took a look around, and then shut it down a little later. Amazon just sent me a bill:

Greetings from Amazon Web Services,

This e-mail confirms that your latest billing statement is available on the AWS web site. Your account will be charged the following:

Total: $0.14

Please see the Account Activity area of the AWS web site for detailed account information.

Isn’t that cool?

It would certainly cost more than 14 cents to get your hands on your own (virtual) Linux box any other way.


My email setup

00:05 January 2nd, 2008 by terry. Posted under me, tech. | 1 Comment »

I like customizing my environment. I’ve spent lots and lots of time doing that over the decades.

Some examples: My emacs environment has about 6000 lines of elisp that I’ve written to help me edit. I have over 500 shell scripts in my bin directory (30K lines of code), and certainly hundreds of other scripts around the place to help with other specific tasks. My bash setup is about 2000 lines of shell script.

That’s about 40K lines of code all written just to help me edit and work in the shell.

As a computer user, I’m damned happy I’m a programmer. I don’t think I can imagine what it would be like to be a computer user and not a programmer.

As a non-programmer you’re at the mercy of others. When you run into a problem you don’t have a solution for, you’re either out of luck, you have to spend often huge amounts of time solving it in some contorted semi- or fully-manual way, you have to find someone else’s (likely partial) solution and maybe pay for it, or you ask or pay someone to solve your problem, or you wait for the thing you need to appear in some product, etc. And all the while you’ve got a perfectly good high-speed general-purpose machine sitting right in front of you, likely with all the programming tools you’d need already installed for you…. but you don’t know how to use it!!

How weird is that?

As a programmer when you run into a problem you don’t have a solution for, you can just write your own.

One thing that always surprises me is how little time most other programmers tend to spend customizing their environments. Given 1) that programmers probably spend a large percentage of each day in their editor, in email, and in the shell, 2) that those things can all be programmed (assuming you use emacs :-)), and 3) that programmers usually don’t like repeating themselves, doing unnecessary work or being inefficient, you’d think that programmers would all be spending vast amounts of time getting things set up just so.

FWIW, here’s a description of the email setup I’ve built up over the years.

But first some stats.

I’ve been saving all my incoming and outgoing emails since Sept 19, 1989. I don’t know why I didn’t start earlier – I wish I had. My first 7 years of emailing is lost, almost certainly forever. I’ve sent 125K emails in that time and received 425K. I’ve got all my incoming email split into files by sender, with some overlap, in 6700 files. The total disk usage of all mails is just under 4G. I have 1.1G (compressed) of saved spam. I have 1250 mail aliases in my .mailrc file.

  1. I write mail in emacs, of course. Seeing as email is text, why would you use anything but your text editor to compose it? Not being able to use emacs to edit text is a show-stopper for me when it comes to using software products. Don’t try to make me use an inferior editor. Don’t ask me to edit text in my browser.
  2. All my outgoing mails get dumped into a single file. I occasionally move these files when they get too big. I keep things this way as it’s then really fast to look at stuff I’ve sent, which I do frequently. I have shell commands called o, oo, ooo etc., to show me the last (second last, etc) of these files (starting at bottom) instantly.
  3. I read mail in emacs (using VM). I could do that differently, but email is (usually) text and I want to copy it, paste it, edit it, reply to it, etc. I also use the emacs supercite package, smart paragraph filling, automatic alias expansion, etc. All that has been standard in emacs for at least 10 years, but it’s still not available in tons of “modern” email readers.
  4. VM recognizes the 37 email addresses I’ve used over the years as indicating a mail is from me (and so doesn’t put that address in any followup line).
  5. I do all my MIME decoding manually. VM knows how to handle most things, I just don’t let it do it until I want it done. That’s mainly a security thing – several years ago I predicted that PDF files would one day be used to trigger buffer overflows, as just happened. I don’t open any attachment of any form from anyone I don’t know (and don’t open them from some people I do know who like to pass along random crap from others).
  6. I have VM figure out exactly where each mail should be saved, based on sending email address. So I never have to make a decision about where to save anything.
  7. I have 154 virtual folders defined in VM. These let me dynamically make a mail folder based on fairly flexible rules (subject, sender, etc). They’re not folders on disk, but are composed from these on the fly. It’s a great feature of VM, highly useful. E.g., I have friends with multiple email addresses – my friend Emily has used 21 emails addresses in the last 15 years and I can see all her incoming mail in one virtual folder no matter where she sends it from. Virtual folders can be used for much more than that though.
  8. I have an emacs function that detects if the person sending me mail also uses VM and, if so, lets me know if their version of VM is newer than mine. That way I don’t have to think about upgrading VM – when a friend does it, emacs tells me automatically.
  9. I have VM keys set up to send messages to SpamBayes to teach it that things are spam or ham.
  10. I have an emacs hook function that looks at the mail I’m currently looking at in VM and sets my email address accordingly. So if I’m reading mail from Cambridge it sets my address to be my Cambridge one, and similarly for Fluidinfo, for my jon.es domain and a couple of others. That means I pretty much never reply to an email using an address I didn’t want to use on that email. That’s all totally automatic and I never have to think about email identity, except when mailing someone for the first time.
  11. VM also does a bunch of other things for me, like add attachments, encrypt and decrypt mail, etc. But that’s all fairly standard now.
  12. I use a script I wrote to repeatedly use fetchmail to pull my incoming mails from half a dozen mailboxes.
  13. I use grepmail to search for emails. It’s open source, so I was able to speed it up, fix some problems I ran into, and add some enhancements I wanted in versions 4.72 and 4.80.
  14. In front of grepmail I run my own mail-to program which knows where I store my outgoing mail, parses command line from and to dates to figure out the relevant files to pass to grepmail, etc.
  15. I use cron and some scripts to maintain a list of email addresses I’ve ever received/sent mail from/to (78500 of these) or just received from (40K of these). Cron updates these files nightly, using another program that knows how to pull things that look like emails out of mail files.
  16. I have a shell script which looks in the received mail address file to find email addresses. So if I am wondering about what someone’s address from, e.g., Siemens might be, I can run emails-of siemens and see 140 Siemens email addresses. Yes, I used to send a lot of mail to Siemens.
  17. I use procmail to filter my incoming mail. With procmail I do a bunch of things:
  18. Procmail logs basic info on all my incoming mail to a file.
  19. It looks for a special file in my home directory, and if it’s there it forwards mail to my mobile phone.
  20. It also looks for mail from me with a special subject, and when, found either creates or removes the above file. This allows me to turn forwarding to my mobile phone on and off when I’m away from my machine.
  21. It dumps some known spam addresses for me.
  22. With procmail I run incoming mail through a script I wrote that looks at the above file of all known (received) mail addresses. This adds a header to the mail to tell me it’s from a known former sender. Those mails then get favorable treatment as they’re very likely not spam.
  23. With procmail I run incoming mail through another program I wrote that looks at the From line and marks the mail as being something I want delivered immediately. If not it gets put aside for later viewing.
  24. With procmail I run incoming mail through another program I wrote that looks at the overall MIME structure of the mail and flags it if it looks like image spam (hint: don’t send me a GIF image attachment).
  25. Finally, I also use procmail to run incoming mail through both SpamBayes and Spam Assassin.
  26. I used to use procmail to auto-reply to anything considered spam (and then auto-drop the many bounces to this). But I turned that off as it was making too many mistakes replying to forged mails from mailing lists.
  27. I have a program that cron runs every night which goes through the day’s spam and summarizes the most interesting messages. It typically pulls out 15-20% of my spam into a summary mail which it sends me. The summary is sorted based on the mail address in the To line (my old mail addresses get scored very low). It also identifies common subjects (so I can kill them), and does some checks like tossing emails whose subjects are not composed of at least some recognizable words. This program is pretty severe – all these mails have already been classed as spam by one of the above programs, so this is just a safety check that I haven’t tossed anything I should keep. It generates a piece of emacs lisp for each message it pulls out so I can jump straight to the correct spam folder and message number in case I want to look at something. It also keeps a list of things to watch for that are definitely not spam. With this program in place I never go looking in my spam folders. I can also run this from the shell at any time.
  28. I have a program that summarizes the mail I’ve put aside (not for immediate delivery). Cron runs that nightly and mails me the result. I can also run this from the shell at any time.
  29. I have a simple program I use to grep for mail aliases in my .mailrc.
  30. I have a script which lists my received email files in reverse order of last update. I can pipe the output of that program into xargs grep to quickly search all incoming mail, in new-to-old order (for speed), mentioning any term.
  31. I have a script to send unrecorded mail (from the shell). That’s mail that doesn’t have my usual FCC line in it, in case I’m mailing out something large and don’t want a copy of it in my outgoing mail file.
  32. I have an emacs function to visit my current outgoing mail folder with backups disabled (the folders are often large and I rarely want to edit them).
  33. And I can’t resist pointing out that I wrote the Spamometer in 1997 to do probabilistic spam detection, and set up a Library of Spam (which attracted a hell of a lot of spam). This was 5 years before Paul Graham wrote his famous A Plan for Spam article about doing Bayesian filtering to detect spam. The Spam Assassin is very similar in approach and design.

I resolve to waste less time online

20:35 January 1st, 2008 by terry. Posted under me. | 1 Comment »

It’s new year’s day. I never make new year’s resolutions. But today I’ve finally taken a step I’ve been meaning to take for a while, and it happens to be Jan 1st, so there you go.

Over the last 2 months I’ve spent lots of time running around talking to people and not producing any code (or much of anything else).

I’ve also found it increasingly hard to get anything useful done (by useful I almost always mean “code”).

I’m going to try cutting myself off a little more. But I need to be online – to read docs, to receive/send some mail, to test code, etc.

I’ve just made some changes to my email setup. Now all my mail, with about 15 exceptions, will go into a separate file that I’m only going to look at once a day (more likely I’ll write a little program to send me a summary). If you’re one of the lucky 15 your mail will still go straight into my inbox and I’ll see it pretty quickly.

I get about 550-700 mails a day. 300-500 of them are spam and are caught as spam by my filters. But that still leaves hundreds of mails a day that pop up in my mailbox all the time.

Quite a lot of those are from mailing lists and some spam that slips through. Of the rest, from actual people, hardly any need to be read or replied to straight away. So I’m going to file them out of sight and read them once in a while. If I remember.

I’m planning another blog post on my email setup. It’s heavily customized. That’s good and it’s also why I figure I’ll probably never switch to another email setup – the bar is just too high and too personalized.

I’m also planning to blog less, to twitter less, to stop reading RSS streams, etc. If I don’t I’m going to turn into one of those trendy knowledgeable tech people who generate a lot of hot air and not much else. I don’t want to be like that.


User authentication in a world with no free will

02:43 December 13th, 2007 by terry. Posted under other, tech. | 6 Comments »

I have a little background in user authentication. I wrote my undergrad CS honors thesis on Secrecy and Authentication. If you search Google hard enough you can even find mentions of the Seberry & Jones Scheme for implementing subliminal channels. I held a provisional patent with Sydney University on a biometric user authentication method based on typing style in 1985/6. The method turned out not to be original, has been re-invented multiple times since then, and was even somehow published as new years later in CACM.

I therefore feel eminently qualified to speculate on what user authentication might look like in a world with no free will.

Note that I don’t care whether free will exists or not, and I certainly don’t want to waste my time thinking or talking about it. But if it doesn’t exist, then the following user authentication algorithm does exist. We couldn’t implement it, but it would certainly exist and it’s fun to consider instead of doing real work.

When a computer needs to verify who you are, it tells you to move the mouse around randomly for as long as you like. Or to just bang on the keyboard. The kind of thing you do when you’re generating randomness for the construction of a PGP/GPG key.

But if there’s no free will then it’s not random.

So the algorithm can just look up what you did in a big table to see who you are. As two users could conceivably do the same thing, it probably needs a little more information, like the time of day and your IP address – neither of which you’d have any control over either.

That’s it. No need for anything fancy, just a lookup table. No-one would ever fail to be recognized, no-one would ever be mistaken for someone else, there’d be no identity theft, etc. Even if you just sat there and did nothing for a while the machine would know exactly who you were. You could always log in by just briefly doing nothing at all, and then continuing. The length of time you did nothing for would betray you.

All totally absurd, of course, and thinking about it quickly becomes highly circular. Just like the rest of the debate.

As you were.


Carrying a knife onto a plane

00:46 December 13th, 2007 by terry. Posted under travel. | 3 Comments »


Tonight I carried a pocketknife with a 5cm blade onto a plane in Paris.

At the Le Web conference, the bag they handed out to attendees had a really nice pocketknife in it courtesy of Six Apart. It’s silver, very solid construction, with 11 blades including scissors, screwdriver, corkscrew, etc. It’s not a cheap knife. It’s totally different from any other conference giveaway I’ve ever seen, and I’ve seen a few.

It’s also a pretty odd thing to hand to a bunch of travelers who are in town for 2 days, many of whom will not be checking baggage on their flights. I imagine the bins at CDG will have a fair number of fancy knives in them tonight. But not mine.

I’m not a security threat on an airline. A pocketknife buried in my carry-on bag stashed in an overhead locker probably doesn’t make the flight less safe. You could argue it makes it safer, if you were inclined to argue about it. I’m reminded of a comment Ana made after 9/11. She said the pilot should have a button in the cockpit. In case of hijack the pilot pushes the button and a compartment containing a baseball bat slides open beside every (window seat) passenger.

I don’t agree that if someone gives me a present in Paris that I need to surrender it to the airport authorities because I might be a terrorist. I’m clearly not a terrorist, even if the airport security doesn’t know it. So I put the knife into my carry-on and went through security with no problem at all.

There are plenty of studies, done by people like the TSA, where they test security at airports. The results are invariable dismal, with the checkers missing something like 75% of the weapons and bomb-making materials going through security. If they can get away with it, then why can’t I? Plus I had a plausible excuse – that I had thrown my conference stuff into my bag without thinking. The knife was still in a cardboard box, obviously brand new. And I guess I half wanted to see what would happen if they did find it.

I also don’t bother taking out my toothpaste and deodorant and putting them in a plastic bag. That just seems stupid too and so I decided not to do it. It’s even more ridiculous when you realize that security are basically relying on people to do as they’re told, take out their liquids, put them in a plastic bag, etc. If you don’t, they don’t see it on the scanner. Or maybe they do see something (is a tube of toothpaste highly characteristic when seen in a scanner? I don’t know). What kind of security is that? All the complying regular people are highly inconvenienced, forced to throw things away, find plastic bags, buy tiny amounts of things, just so they can show security that they’re carrying a tube of toothpaste. And what do the terrorists do? If they wanted to commit a crime involving liquids of some form they’d probably just put it in a regular commercial tube of some kind and put that in a plastic bag. They’d breeze through security. The whole thing is designed to limit liquid quantity. Leaving your liquid in your carry-on is probably the best way to indicate you’re not a terrorist. If they do open your bag, which happens to me from time to time, you can say you made a mistake, weren’t thinking, were rushing to the airport, etc.

So there you go, I’m probably a terrorist and I just don’t know it yet. Rules are made to be broken, etc. Most especially if you know for a fact that they do not and should not apply to you. I know, I know, I’m probably reckless or even stupid to do this, and it probably doesn’t work to fight stupidity with stupidity, but… I don’t feel like doing what I’m told in this case. It’s like having a job with a stupid boss. Unbearable.


Conference panels – self-indulgent, elitist, and smug

23:32 December 12th, 2007 by terry. Posted under tech. | Comments Off on Conference panels – self-indulgent, elitist, and smug

I’ve been to too many conferences recently. FOWA in London, Web 2.0 in Berlin, and tonight I got back from Le Web in Paris.

Among various other dislikes, one thing I particularly don’t enjoy are the panels. I find panels very self-indulgent. Some small number of panelists sit on stage and have a conversation with each other, while the rest of us are supposed to sit there passively and lap it up. Then at the very end, the panelists take a question or two from the audience. Sometimes the questions are incoherent or require a bit of elaboration, and often the result is that the panelists end up being rude and dismissive. Most questions go unanswered simply due to lack of time.

That doesn’t feel right. I always wish the time balance were changed. And I wish I didn’t get the overwhelming feeling that the panelists are basking in their own glory, too busy for the common conference goer. It’s a pity, because I and I suppose many others, are genuinely interested in the individuals on the panels. But the format doesn’t work at all for me.

I could say much more, but that would probably get too specific.


As I please: pizza margarita & 2 beers

23:50 December 11th, 2007 by terry. Posted under books, me, tech, travel. | 2 Comments »

I’m in Paris for the Le Web conference. Tonight is the party, at La Scala, which looks like exactly the kind of place I hate. I never understand why people go to loud clubs.

So instead, I went out wandering and found a pizza place, ordered a margarita, drank a couple of Italian beers and took my time savoring more of Orwell. It’s such a pleasure, as with Gore Vidal essays or Proust, to read his thoughts on all manner of things. I’ve been taking my time, slowly working through the 4 volumes of Collected Essays, Journalism and Letters (that link is to volume 1).

Here’s the last piece I read tonight, the May 19, 1944 As I Please column. Maybe you wont find it extraordinary, but I do. It probably helps to have the context, to have read the previous volumes (I’m in the middle of vol. 3).


Random travel thoughts

02:55 December 9th, 2007 by terry. Posted under barcelona, travel. | 10 Comments »

Here are some random thoughts on air travel from my last few weeks.

US travel is much much easier than it used to be. In the years immediately post-9/11, it was such a hassle to go anywhere. Despite the fact that we still have to take off our shoes and put liquids into ridiculous transparent bags, it’s much less hassle than it was.

Ubiquitous free wifi is still a distant dream. It makes sense to offer it as it’s a differentiator, it’s a fairly cheap thing to provide, companies and advertisers can sponsor it, etc. If Samsung and others can set up recharging stations for laptops in many airports, can free wifi be far behind? As I already wrote, I’d choose an airline offering free wifi – even if their tickets are more expensive. Probably dumb, but true.

One on flight (US Air, I think) I pulled down my tray table to see a full-tray advertisement. Never seen that before. The ad was for Sony noise-canceling headphones.

In 2002/3/4 I was Gold on Delta. Even so, I never used their lounges. I still have the Gold membership card and I used it to check-in in Chicago. The woman didn’t look at it, but handed me a invitation to the Air France lounge. So I went in. There’s “free” everything (though not wifi): sandwiches, wine, beer, champagne, newspapers, coffee, etc. Lots of business types. Meanwhile on the other side of the wall the regular punters are sitting in discomfort surrounded by super expensive and bad quality crap food offerings. The frequent flyers board calmly straight from the lounge, first of course.

Esther, who has about 10 million miles with various airlines, told me that in Frankfurt she gets taken to an entirely separate Lufthansa building. From there the “senators” are driven to the plane in a Porsche.

I hate taking Air France through Paris. They’re always a risk – I’ve been hit by strikes about 3 times, had to stay overnight in Paris (far less attractive than it may sound when you’re bussed late at night, after waiting for hours to get things sorted, to the cheapest economy hotel as close to CDG as possible), they’ve lost my bags (temporarily) a few times, etc. BUT, the meal last night out of Chicago was really excellent.

Terminal 2F at CDG is full of ridiculously expensive stores. It’s nuts. I did once buy a watch in one of them, back when I was spending way too much time in airports and I had taken to buying cheap watches in them for some reason. The watch shop in terminal 2F has extremely expensive watches. There are dozens of models for around €3,000. I saw one for €9,950. How many of them would they sell a year? It couldn’t be too many. If you’re going to spend that much on a watch, would you just pick one up at CDG? Or do a little more work and get it elsewhere? I guess if you’re that rich it may not matter to you. And there are plenty of other insanely expensive stores there too, with Hermès scarves, Mont Blanc pens, etc. It feels somehow wrong – I mean economically wrong, as though much more money could be extracted from travelers if they weren’t all selling outrageously expensive stuff.

In the waiting area at CDG for the flight to Barcelona I sat next to an American family. The son was saying how the flight from Paris would go West to get to Barcelona. The father corrected him, saying it went South, and then corrected himself saying it was actually South-East. I guess that’s not too remarkable – I’ve probably been on many flights where I couldn’t have correctly given the direction accurately – but it did make me smile. The conclusion of the conversation had the whole family believing something wrong, just because the father figure had stated it categorically, and then made a correction to make his claim even more precise and authoritative. The act of refining his opinion seemed to the family to lend extra weight to his claim – it wasn’t just South, it was South-East – while simultaneously revealing to others that he didn’t really know.

It still takes bags half an hour to emerge in Barcelona. Vegas is about the same, perhaps with more of an excuse.

I had about a 5 hour delay going in to Vegas. We got in at about 2 in the morning. Outside with my bags there was a queue of about 1000 people waiting for taxis. No kidding. It went back and forth about 4 or 5 times out the front of the terminal, running the whole length of the building. But it was well organized and moved fast. Still, a bit daunting. It was raining but not too cold, and we were covered.

It was about -17C overnight in Chicago on Wednesday. I shoveled snow a few times, for the first time in a long long time. I used to do it for fun in Canada, and do my neighbor’s driveway as well, to their amazement.

The Van Galder bus service out of O’Hare is pretty good. Efficient, not crowded, reasonably priced, easy to find/use etc.

I hired a car from Fox rental cars in Oakland. $16/day for a PT Cruiser. Hard to beat. No GPS though. I’m going to rent a car with GPS next time I do something like that. I made about 5 driving trips with multiple Firefox tabs open on my laptop showing Google maps.

Well, enough for now. I’m very happy to be back in Barcelona. I could live here forever.


Free wifi, with blacklisted IP, in Vegas McCarran airport

11:43 December 3rd, 2007 by terry. Posted under travel. | Comments Off on Free wifi, with blacklisted IP, in Vegas McCarran airport

I’m sitting next to about 70 poker machines at gate B15 at the Los Vegas McCarran airport. They have free wifi, which is great.

But the IP address I picked up (63.164.47.227) appears in about a dozen blacklists (check your IP address here, for example). As a result, the various mail relays I have access to are rejecting my outgoing email. So I have to resort to blogging.


Pushing back on the elevator pitch

23:28 December 1st, 2007 by terry. Posted under companies, me. | 8 Comments »

I’ve been out talking to people about raising money for Fluidinfo.

Over the last 7 years I’ve read literally thousands of articles on talking to potential investors, pitching, raising money, angels, VCs, dilution, control, rounds, boards, strategies, valuations, burn rates, equity, etc. I’ve bought and read dozens of related books. I’m a regular reader of about a dozen VC blogs and the blogs of several entrepreneurs. I’ve swapped stories in person and learned lessons from probably a hundred other entrepreneurs. I was CTO of Eatoni Ergonomics, a startup that raised $5M in NYC, and I sat on the board for 4 years.

I like to analyze things, to sit around thinking, to generalize, to look for lessons, to find patterns, etc. So I reckon I have a fairly good idea of what creating a startup and raising money is about.

Some aspects of doing that are relatively formulaic. But others have significant variation.

For example, what should you put in a business plan? You can spend many months working on business plans. It’s hard work to write well and concisely. Then you show it to VC A and they tell you they’d also like to see X and Y and Z, that are not in your plan. So you put them in. You show it to VC B, and they tell you the plan is way too long! That you should take out P, Q, R and S. That leaves you with a wholly new-looking plan and when you show that to VC C, they’ll tell you it’s incoherent and doesn’t flow and look at you like you’re some kind of innocent child who doesn’t even know how to structure its thoughts. When you tell them you actually already know all that and that you agree, they’ll think you’re even weirder. And so it continues.

Thinking is changing on the business plan front, though. Some entrepreneurs and some investors have realized that creating or insisting on a business plan too early is probably a waste of time. Everyone knows the market numbers and the financial projections are probably rubbish. People expect the business and the plan to change, etc., etc.

When someone asks me for a business plan, I (politely) tell them I don’t have one or intend to write one. I tell them I’m looking for someone who wants to understand what I’m doing and fund it, without needing to see a formal written business plan. I suggest that if I reach the stage of looking for someone who wants the comfort of a better-thought-out plan that I will get back to them.

I think that’s a good change all round. You have to push back a little. A tiny engineering team focused on building a product probably shouldn’t stop, or be stopped, to write a business plan. I’m certainly not going to do that. I could spend that time writing code, working with people I’m paying to create more of a product, to get more online, to have more to point to, etc.

Elevator pitches

There’s definitely been a change with respect to business plans.

And now to the meat of this post, to a place where a similar change has yet to penetrate: the blind insistence on having an elevator pitch.

Almost universally, potential investors will want or expect an elevator pitch. Tons of VC sites will advise you that if you can’t describe your idea in a couple of sentences, it’s probably a non-starter. If you don’t have a compelling elevator pitch they wont talk to you, wont reply to email (even if you have been introduced), and they certainly wont read any materials.

Some even go so far as to tell you that without an elevator pitch you wont be able to communicate your ideas to your employees to motivate them! Uh, excuse me? Since when did the intelligent, driven, dig-in, curious, thoughtful, dedicated people who join startups acquire the attention span of gnats?

Listen. Some ideas can’t be summarized and/or grasped in a two-minute elevator ride. Sometimes you don’t even know yourself what the outcome will be. The history of science and innovation is full of examples. Imagine what the world would be like if, in order to get seed resources to push a new project along, all ideas had to be pre-vetted, each in 2 minutes, by a fairly general audience (I’m being polite again).

Entrepreneurs have to push back—where necessary—on the demand for an elevator pitch.

I’ve tried to put my round ideas into the square hole of an elevator pitch for long enough. I haven’t managed to do it and I don’t want to spend any more time trying.

Until tonight I’ve just been telling people I don’t have an elevator pitch, sorry. I’ve even told them (hi Nivi!) that instead of robotically insisting that I shape my ideas to their expectations that they try being more open minded about the process and try working on their expectations.

From now on, I’m going to give the following elevator pitch:

Here is a list of people. Each of them has had the curiousity, time, and patience to listen to my ideas for at least an hour. Ask them if I’m worth talking to further.

(See below for my list.)

If that’s not ok, then I agree that 1) if I reach the stage where I need to talk to people who really need an elevator pitch, and 2) you’re still interested, then I’ll try again to work on getting you what you need. Same goes for a business plan.

Up to this point I’ve tried to only talk to people who are willing to put the time in, to listen and think, to talk among themselves and draw their own conclusions. But I’ve still run into a bunch of people who wont do that. That’s ok, of course. I also know what it’s like to be busy.

Here’s my list. I’m very happy and very thankful to have recently spent at least an hour, sometimes much more, with each of the following:

Bradley Allen,
Art Bergman,
Jason Calacanis,
Dick Costolo,
Daniel Dennett.
Esther Dyson (now an investor),
Brady Forrest,
Eric Haseltine,
David Henkel-Wallace,
Jim Hollan,
Steve Hofmeyr,
Mark Jacobsen,
Vicente Lopez,
Roger Magoulas,
Jerry Michalski,
Nelson Minar,
Roger Moody,
Ted Nelson,
Tim O’Reilly,
Norm Packard,
Jennifer Pahlka,
Andrew Parker,
Scott Rafer,
Clay Shirky,
Reshma Sohoni,
Graham Spencer,
Stefan Tirtey,
Mark Tluszcz,
David Weinberger, and
Fred Wilson.

That’s my new elevator pitch.

If you buy it, let’s talk properly sometime soon. If you don’t, but you’re still curious, talk to some of those folks. Take your pick.

And if you don’t know any of those people, maybe you should be sending me your elevator pitch.


reCaptcha added

19:31 November 30th, 2007 by terry. Posted under tech, travel. | Comments Off on reCaptcha added

I’m stuck in the Oakland airport with a 3 hour delay on a flight to Vegas. Bambi, who steadfastly refuses to blog for reasons unknown, has dinner waiting for me there. Bummer.

Meanwhile, Russell, who does blog and makes a mean Irish coffee, tells me I need to add a Captcha to this blog, so I’ve installed the very clever reCaptcha. Enjoy.

All in all a pretty thrilling night here at the airport. Battery #2 is halfway done. Me too.


Elevator status report

23:51 November 29th, 2007 by terry. Posted under travel. | 2 Comments »

Tonight I caught the BART from San Francisco back to Oakland. Waiting for the train to arrive and then again when I got off, I heard the world’s stupidest public announcement. It was so weird that I took out my laptop and typed it in. Here it is, pretty much word for word:

Elevator status report: all station elevators are currently in service. All station agents please make sure your status boards reflect this information.

This was broadcast to the whole station. It reminds me of town criers of old: “It’s 9pm and all’s well.”


The blogging honeymoon is over

23:56 November 25th, 2007 by terry. Posted under me. | 2 Comments »

I can’t take it any more. I can’t handle the pace of blogging every day. The honeymoon is over, barely a month after I got the blogmobile back on the road. I just don’t have that much to say.

Actually, I do. There are things I am dying to write – for example about how I think the current debate about data ownership and privacy and control could be resolved. But those thoughts say too much about what we’re building for my taste right now. It’s very hard to know how to balance letting information out for the sake of attention with keeping information in for the sake of competitive advantage. I don’t know the answer to that one.

I have a list of things I could easily write about – it’s just that I don’t really feel like it.

Tomorrow I have a couple of meetings in LA and then I’m heading up to the Bay area until Friday.


Hacking Twitter on JetBlue

21:41 November 24th, 2007 by terry. Posted under companies, me, python, twitter. | 7 Comments »

I have much better and more important things to do than hack on my ideas for measuring Twitter growth.

But a man’s gotta relax sometime.

So I spent a couple of hours at JFK and then on the plane hacking some Python to pull down tweets (is this what other people call Twitter posts?), pull out their Twitter id and date, convert the dates to integers, write this down a pipe to gnuplot, and put the results onto a graph. I’ve nothing much to show right now. I need more data.

But the story with Twitter ids is apparently not that simple. While you can get tweets from very early on (like #20 that I pointed to earlier), and you can get things like #438484102 which is a recent one of mine, it’s not clear how the intermediate range is populated. Just to get a feel for it, I tried several loops like the following at the shell:

i=5000

while [ $i -lt 200000 ]
do
  wget --http-user terrycojones --http-passwd xxx \
    http://www.twitter.com/statuses/show/$i.xml
  i=`expr $i + 5000`
  sleep 1
done

Most of these were highly unsuccessful. I doubt that’s because there’s widespread deleting of tweets by users. So maybe Twitter are using ids that are not sequential.

Of course if I wasn’t doing this for the simple joy of programming I’d start by doing a decent search for the graph I’m trying to make. Failing that I’d look for someone else online with a bundle of tweets.

I’ll probably let this drop. I should let it drop. But once I get started down the road of thinking about a neat little problem, I sometimes don’t let go. Experience has taught me that it is usually better to hack on it like crazy for 2 days and get it over with. It’s a bit like reading a novel that you don’t want to put down when you know you really should.

One nice sub-problem is deciding where to sample next in the Twitter id space. You can maintain something like a heap of areas – where area is the size of the triangle defined by two tweets: their ids and dates. That probably sounds a bit obscure, but I understand it :-) Gradient of the growth curve is interesting – you probably want more samples when the gradient is changing fastest. Adding time between tweets to gradient gives you a triangle whose area you can measure. There are simpler approaches too, like uniform sampling, or some form of binary splitting of interesting regions of id space. Along the way you need to account for pages that give you a 404. That’s a data point about the id space too.


Free Wifi with JetBlue at JFK terminal 6

14:20 November 23rd, 2007 by terry. Posted under travel. | Comments Off on Free Wifi with JetBlue at JFK terminal 6

berlin wifi

I’ve never flown with JetBlue before. I’m in Terminal 6 at JFK and JetBlue has free Wifi. That’s so sensible. I’ll even blog about it. I’ll remember it. And next time I have a chance to fly out of here with JetBlue, I will.

Compare that with probably 70 flights I’ve taken out of JFK since 2000. Not a single one has offered free Wifi. It’s always the expensive pay-through-the-nose access.

Compare that with Berlin’s Tegel airport. I was there a couple of weeks ago and there were 5 Wifi providers. But they all operated under the aegis of the airport, and their prices were all outrageous. Four of them charged an identical fee of €5.95 for 30 minutes (USD 8.83), and one was half that. I guess that’s supposed to be competition.

Las Vegas airport is the only other airport I know of with free Wifi. Surely there must be a site one can go to to check on this sort of thing. I’d use it when booking travel. Maybe Kayak or some other modern flight search engine will add it one day as an airline criterion.

At least JetBlue can do something right.


Off to LA

11:28 November 23rd, 2007 by terry. Posted under travel. | Comments Off on Off to LA

I’m off to LA today. I’m staying with an old school friend. I’ve not been blogging much in NY. Yesterday was extremely warm and very unlike November. But I spent most of the day and night inside working. Today it’s cold again. I’m done with laundry, and about to pack. I’m flying Jetblue to Burbank. No doubt all my details will be safely in the hands of the US government before the plane takes off. On Monday after a couple of meetings, it’s up to the bay area.