Add to Technorati Favorites

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.

AddThis Social Bookmark Button

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.

AddThis Social Bookmark Button

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.
AddThis Social Bookmark Button

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.

AddThis Social Bookmark Button

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).

AddThis Social Bookmark Button

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.

AddThis Social Bookmark Button

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.

AddThis Social Bookmark Button

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.

AddThis Social Bookmark Button

Twitter creeps in

21:30 November 21st, 2007 by terry. Posted under me, tech, twitter. 3 Comments »

I often notice little things about how I work that I think point out value. One sign that a piece of UI is right is when you start to look for it in apps that don’t have it. For example, after I had started using mouse gestures in Opera I’d find myself wanting to make mouse gestures in other applications. When mice first started to have a wheel, I was skeptical. Support of the mouse wheel was not universal across applications. When I found myself trying to scroll with the mouse wheel in applications that didn’t support it, I knew it was right.

Tonight I came home and went to my machine. The first thing I did was to check what was going on in Twitter. That’s pretty interesting, at least for someone like me. I’ve been sending email on pretty much a daily basis for 25 years. It’s pretty much always the first thing I look at when I come back to my machine. Occasionally these days I find myself first going into Google reader to see what’s new, but that’s pretty rare and I might be looking for something specific. Tonight, I think for the first time, Twitter was where I went to – and not just for the general news, but for communications between and about people I know or am interested in. Much more interesting than looking through my email.

I’m one of those that thought Twitter was pretty silly when I first signed up (Dec 2006). I only used it once, and also found it intolerably slow. But it’s grown on me. And I find definite value there.

A few examples:

  1. I’d mailed Dick Costolo a few times in the past. Then I saw him twittering that he was drinking cortados. So I figured he must be in Spain. I mailed him, and he was. As a result I ended up at the FOWA conference in London the next day and met a bunch of people.
  2. On Tuesday I went out and bought a Wii in Manhattan to take back to my kids in Spain. I twittered about heading out to do it. I got an email a bit later from @esteve telling me to take the Wii back as they are region-locked. So I did.
  3. A week or so ago I was reading some tweets and noticed that someone had just been out to dinner in Manhattan with someone else that I wanted to meet. So I sent a mail to the first person and was soon swapping mails with the second.
  4. I’ve noticed about 5 times that interesting people were going to be in Barcelona and so I’ve mailed them out of the blue. That’s really good – people on holiday are often happy to have a beer and a chat. I’d have had no idea they were going to literally be outside my door were it not for Twitter.
AddThis Social Bookmark Button

Stop in the middle of something

05:37 November 15th, 2007 by terry. Posted under me. 1 Comment »

Over the years I’ve found little tricks to keep myself working efficiently.

For some reason I have it in mind that people think it’s good to finish off tasks before taking a break or heading to bed. I find that that’s a really bad strategy. If you finish what you’re doing before you stop, then when you re-start work, you’ll have to look for a next task to begin. There’s overhead in that no matter when you do it. But when you go back to work you have less momentum. It’s harder to begin on something new from a cold start.

I find I’m much more efficient if I leave tasks incomplete before taking a break. That way when I come back to them I just pick up where I was. So I’ll leave a line of code only half written, or open a quote and not close it so the syntax coloring in my editor looks wacky. Or I’ll simply stopping writing in the middle of a sentence. With code you have the advantage that you can leave it syntactically incorrect, so there’s no chance you can forget to fix what you were doing.

If you’re heading to bed, it’s best to take your task to the point where what remains is just mechanical. That way you don’t continue to think about a problem when you should be falling asleep.

Right now, in another window, I’m running a bunch of unit tests. When I finish this blog entry I’m not going to go look at them, I’m going to bed. I’m pretty sure they’ll run successfully. In the morning I’ll have to do a few mechanical things – fix any failed tests and re-test, merge my changes, re-run tests, close a ticket, and remove a completed branch. By the time I’m done with that I’ll be in the swing of things and starting a new task will be easy.

AddThis Social Bookmark Button

Is Andrew Parker secretly running Union Square Ventures?

18:06 November 14th, 2007 by terry. Posted under companies, me. 6 Comments »

Fred Wilson stirred up the entrepreneurial blogosphere 6 months ago with a series of posts wondering about the influence of founder age on startup success. I wrote one of my typically long comments.

Today I was making myself a coffee, and thinking about how fast/slow I can move, and how that’s changed over the years. When I was 24 I perhaps had more energy, but I often acted in a quite unfocused way. Now I’m 44, and I still have tons of energy. E.g., I was up coding last night until 6:30am, and then got up at 10am this morning and continued, so I’m not exactly loafing around with slippers and a pipe reflecting on my glory days. But I also have 3 kids, and other things going on. I have to act in a much more focused way or I couldn’t do the things I want to do.

But….., I then thought, the life of your average VC probably has some strong similarities. A couple of kids, insanely busy when working, regularly carving out quality time for family, needing to stay very organized and on top of things, needing to keep multiple balls rolling, etc. Those thoughts led me to reconsider Fred’s posting, but in the context of VCs.

Might it be that the best VC general partners would actually be a bunch of 24 years olds? Of course they could have some older guys as analysts. What do 40-50 year old VCs have that 20-30 year olds don’t that makes them more qualified and better as VCs? If you want to argue that experience makes the older better, you probably need to argue that for entrepreneurs too. If you want to argue that the energy of youth makes for a better entrepreneur, you might need to argue that for VCs too. If you want to argue that young founders have unique insight into what products will be successful, you might think the same would be true of young VCs — if there were any.

It takes a massive amount of work to create and build a startup. Unless you’re a superstar, it’s also a huge amount of work to get funded. You have to go begging and scraping, on bended knee, hat in hand, to make mature and otherwise sober people with a lot of money believe in you. And that’s all done against a background of very steep odds. Similarly, it’s a massive amount of work to raise a venture fund. You have to make even more mature and more sober people with even more money believe in you. And you have to do it in a much less forgiving environment, also against steep odds.

Thirty or even twenty years ago, most CEOs would probably have scoffed at the idea that a 20-year-old could start and run a company, and sell it for tens or hundreds of millions, or even a billion, or take it public. We now know that that actually happens, and the idea that the very young can do it, including getting financial backing, is no longer foreign. Might not the same one day be true for fund managers? When will we see the first VC fund run by a couple of twenty-somethings? Will they exhibit a marked preference for funding older founders?

Back when Fred was posting, I pointed Howard Gutowitz to one of the postings. A couple of days later, Howard told me that he’d talked about it to his brother:

Robert made what is actually an interesting suggestion: get a figurehead 26 year old to be the CEO. Turn the old game around.

I think that’s pretty amusing.

Maybe Andrew Parker is actually running Union Square Ventures. Turn the old game around.

AddThis Social Bookmark Button

Learning to work on the road

11:57 November 7th, 2007 by terry. Posted under me, tech. Comments Off on Learning to work on the road

I’m not good at working away from my home setup. I like my Kinesis keyboard, my big flat-screen monitor, and even the convenience of an external mouse. I don’t really like working without them.

But I’m learning to deal with being away. For the last few days I’ve been sitting in talks at Web 2.0 Expo in Berlin. There’s wifi and the speed is quite good. So I sit here checking out code, writing and running unit tests, and generally getting a few things done. I’m also surprised at how easy it is to work but also keep one ear on the presentation. The most obvious manifestation is when a speaker asks for a show of hands – I am surprised to find my hand going up (or not), without my really being very conscious of what’s going on. Before I hear the question, I’d have thought I wasn’t really listening. But it seems that I am.

That’s all good. One reason I don’t much like going to conferences is that they’re mainly down time. The talks are not good enough or fast enough or don’t have enough content, so if you sit in one it’s often frustrating. But in a way, lightweight talks are good, because they let you work in parallel. And if the talk does happen to be good you can always pay more attention.

AddThis Social Bookmark Button

Art for art’s sake

17:49 November 6th, 2007 by terry. Posted under me. Comments Off on Art for art’s sake

Did I forget to blog today?

No.

AddThis Social Bookmark Button

Cereal, coffee, bread

03:22 October 27th, 2007 by terry. Posted under me. Comments Off on Cereal, coffee, bread

My company is fueled in large part by 3 ingredients: cereal, coffee, and bread. Mainly cereal.

In my kitchen there are 6 empty boxes of cereal stacked end to end. Kelloggs All Bran Fruta y Fibra if you must know. Nuts, dried fruit, sultanas. It’s crunchy. I like my milk super cold, I use tons of it, and I eat it fast (can’t stand soggy cereal).

I’ve eaten cereal pretty much every day of my life since I was probably ten years old.

Hmmm….. let’s say 50 spoonfuls of cereal per bowl (I have big bowls). Say 3 bowls a day. Say 350 days per year. 34 years. That’s about 1.8M spoonfuls of cereal.

AddThis Social Bookmark Button

Promoting comments

16:56 October 26th, 2007 by terry. Posted under me. Comments Off on Promoting comments

While this blog was out of action July-September 2007 I made some apparently “long” comments on other blogs. I’m going to pull them and post them here. While a comment in someone’s high-traffic blog is probably going to get more attention than a top-level posting here, I want to have my own thoughts in one place, not spread thinly over the blogosphere. Or, if you know me at all, I want them in both places at the same time.

Hence Fluidinfo.

AddThis Social Bookmark Button

Pocket battleship

11:33 October 24th, 2007 by terry. Posted under me. Comments Off on Pocket battleship

Last night I dreamed that Peter Roebuck, my cricket coach in 1981, had written an extremely long article about me, full of color pictures. Weirdly though, he had spelled my name “Terry Jun”, and so there were all these people trying to find out who the hell Terry Jun was.

What does this mean?

Roebuck had captained the Somerset county side, opened the batting, and was rumored (at least among our bunch of 17 year olds on the other side of the planet) to be under consideration for the England XI. He played with Viv Richards and Ian Botham and was full of stories.

Later I played with him in a local side. Other teams were always thrilled and despairing to hear that we had a borderline international batsman in our line up. In one case, this time not a dream, we played a side containing the then-famous Australian playwright Alex Buzo. As it turned out, Buzo was mad keen on cricket and had been long looking forward to the day when he might bowl to the famous Peter Roebuck. In the meantime, I had been looking forward to the day when I might bat against Alex Buzo, and was determined to hit him out of the park.

I prevailed, hitting him for consecutive sixes (yes, of course I tried for 3 in a row) and finishing the game – before Roebuck had a chance to bat! I was delighted, in fact am still delighted, that Buzo later wrote an article in a widely-read cricket magazine describing the time he almost bowled to the great Peter Roebuck. But, he wrote, the other team had sent in a “pocket battleship” who had given no quarter and denied him his chance.

Now I read with sadness that Alex Buzo is dead, and I wish things had been a little bit different. Maybe just one six, then a quick single, and then he could have bowled Roebuck for a golden duck.

AddThis Social Bookmark Button

Resurrection

14:46 October 22nd, 2007 by terry. Posted under me. 1 Comment »

Today I resurrected as many of my old postings as I could find. I think I have about half. I’m still saddened by the loss of all those words. I can never believe it when I hear of writers who burn things, throw them away, etc. I even keep scraps of paper from 20 or more years ago that I wrote on. I don’t know why I place such value on simple words, but I do.

Anyway, I missed my blog. I miss some of the postings that are now gone forever.

I’m going to blog every single day, at least for today. Watch me.

AddThis Social Bookmark Button

I’m back

12:15 October 21st, 2007 by terry. Posted under me. Comments Off on I’m back

Well, I’m back.

The previous instantiation of this blog was washed away in a storm in early August. A server got hacked and in my hurry to have it decommissioned I forgot to pull out the MySql database for my blog. I’m still annoyed at myself – partly because it’s so public and basic an error, but mainly because I care so much about words and now all those words are gone. A recovery operation using google cache and the wayback machine got me about half of the posts back. I may add them here at some point. I’m pissed that I lost so much stuff, and there’s no-one to blame but myself.

AddThis Social Bookmark Button

forgetting how to dial international

14:56 June 26th, 2007 by terry. Posted under me, tech. 1 Comment »

A weird thing happened to me this morning.

I needed to call someone in Portugal. I reached for the trusty land line, checked for a dial tone (so old fashioned), grabbed the number, and went to dial. Then I realized I didn’t remember the prefix to dial to get out of the country!

That’s pretty amazing. I’ve been living “overseas” (whatever that means) for over 20 years, and I’ve made plenty of international calls in that time.

I’ve been using Skype for international calls almost exclusively for at least 2 years.

Concepts like “dial tone” and “international dialing prefix” are soon going to appear extremely quaint.

I took my kids to a flea market a couple of months ago. We ran across a rotary phone. Although they knew it was a phone, they couldn’t figure out how you were supposed to dial. Why not just push a button? Dial tone? Access code? Why not just push a (mouse) button?

AddThis Social Bookmark Button

reflective bandwagon

02:26 June 14th, 2007 by terry. Posted under me, tech. Comments Off on reflective bandwagon

Here’s another thing I’ve had enough of: The graphic design bandwagon of which this image is a perfect example:

zoho

This technique is like a rash all over the web. It’s one thing to jump on the bandwagon and make your site look all cool and Web2.0-esque, but there’s another thing about these images that bugs me.

I don’t understand them.

There’s something about them that just doesn’t work for me. When I look at an image like the above, it somehow doesn’t sit right in my mind. I mean, where’s the light coming from? That’s not a shadow, it’s a reflection. It’s bouncing off that nice shiny black highly-reflective surface. So I guess the solution is that there is a bright light somewhere behind me and above my head. Is that it?

Images that have a shadow next to them or behind them are so much easier to deal with. But that was the bandwagon 10 years ago. Now we have the Web2.0 effect in full color, not boring gray. It’s romantic, it’s engaging, and it’s coming right at you, like, like, yes like a perfect reflection on a cool and glassy alpine lake.

And it’s….. everywhere.

AddThis Social Bookmark Button