Tom Insam


Things my colo does

Been looking into getting rid of my colo. It costs a non-trivial amount of money, and philosophically I rather feel I should be able to exist in the cloud by now.

  • It hosts my SVN repository and clones of some of my git repositories.
  • It serves
  • I run irssi in a screen session as an IRC client. This will be hard to replace.
  • I run some perl-based IRC bots from it.
  • I back up my mail to it using offlineimap
  • Some friends have accounts and host simple web content / mail / irssi sessions on it. If you run a colo, don't give friends accounts ever, for any reason. This one right here is probably the biggest barrier to me getting rid of it. But don't take it personally if that's you..

Things it doesn't do that I'm thankful for

  • Host my mail. Tuffmail rock. But everyone I know already knows this.


Don't be late for the singularity. Once your mates get their brains uploaded, if you wait a week they'll have experienced years of virtual time, and will have entirely forgotten about you. And you won't know any of the in-jokes.

Don't be early, either. I expect we'll get the ability to upload brains (let's assume it's possible) well before we've invented computers that are independent and self-repairing enough that you'd trust them with your newly-immortal self. I can certainly see several singularities starting and burning themselves out almost immediately. Pick the wrong one and your best-case-scenario is to be stuck in obsolete and unreliable hardware for the rest of time.

Sure, the desktop revolution was inevitable. But that doesn't help the people who invested in Be. Or those that invested in Microsoft in 2001.

Apparently, designers shouldn't be programmers - should, in fact, actively suppress any programming ability they have when considering user interface design.

Personally, I disagree. Design is in large part about tradeoffs, clarity/information density/whatever. (I just write the code.) If you're not aware of the technical constraints of what you're trying to do, you'll not be able to make intelligent tradeoffs, you'll just have to guess what's possible.

For instance, my designer is Matt Jones, who is never fazed by trivial implementation details.

Reading a RWW article on non-relational databases, I came across the term 'Eventual Consistency' which is something I've seen a couple of times recently. I immediately and loudly demanded that mattb tell me what it meant. He proceeded to dump waaay too much reading material on me almost instantly, which tells me that I'm onto something. I hereby relay the following, so that I don't lose the links:

  • Eventually Consistent - Revisited by Werner Vogels (Amazon CTO). A nice overview of what the term means, including a list of things that you take for granted and aren't guaranteed, things you don't take for granted and aren't guaranteed, and things that it never occurred to you to doubt, that aren't guaranteed. For instance...

  • ..suppose you wanted to sync with a database traveling in a different relativistic frame? Well, ok, maybe slightly less serious than that, but things can still disagree on what the time is. Time, Clocks and the Ordering of Events in a Distributed System.

  • Amazon S3 Availability Event: July 20, 2008 - Amazon S3 fell over a few months ago. I remember this because all my twitter icons went away. Anyway, this is why. Interesting in the context of the other two.