Twenty seven

My first real job was at a company called AKQA. Nobody ever knew for sure what the letters stood for.

I’d been working, for fun, in an off license in South Croydon, while attempting to run a web design startup. The startup was going well, save for the fact that I didn’t have a clue what I was doing, had no clients, no business skills and very little money. So, I thought, time to get a job.

Two weeks later, I was in. I’d had a 20 minute interview, at least half of which was spent admitting I knew no ASP at all but knew my HTML, and the other half was them persuading me to join. I took it for 20 grand a year.

First day on the job, I had to build my own desk. Seriously. They just pointed to a corner and a power screwdriver. Then I spent that week reading their ASP coding standards. I have still never written any ASP.

At the first opportunity, I jumped into some JavaScript. The guy I was working with, full of tall tales and brag, was struggling with a sliding bar. He’d copied some code from dynamic drive, but was then lost. “I’ve got it all done,” he said, “I just can’t make it slide right instead of left.”

I read the JavaScript book that week. Loved it. Memorised most of it.

We were working on a site for Littlewoods, a catalogue retailer. It was good, it had some fun quirks. The backend was written by some muppets from Oracle. We had no JSP back then, so they’d repurposed the span tag for server side markup. Weird.

As the site rolled out, the problem was always speed, and in those days that meant your modem. 28k was standard. The office couldn’t even manage that. We had a couple of ISDN lines shared between 150 of us.

Yes, 150. This company was the shit. All the major players worked with them. There was money coming out of their ears.

Not ours, you understand. There were no stock options. In fact, shares were divided (unequally) between the four founders – who were the oldest people at the company.

They were twenty-seven.

Anyway, site performance was key. Towards the end, I’d realised that I could just duplicate HTML on the fly for each item, reducing the bandwidth of the download by about fifty percent. I also wrote a clever tool that used LZW compression on the HTML, decoding with JS.

We didn’t go with either – they caused too many crashes. It was too far ahead of its time.

The other project I worked on was for Saga, the over-fifties club. They were huge, and just wanted us to build pretty templates for their own teams to build out. I picked up the project late – just bug fixing and a workshop to run.

The design we had was awful – it locked the site into a box designed for 800×600 screens. There was no space for any text, so we had to have custom scrolling boxes, each only showing a sentence or so. All this for old people. Terrible.

Of course, this was before accessibility (and apparently common sense) had been invented.

My major cockup in all this was the workshop. They’d paid an overhead for this, maybe 30k, I don’t know. But I hadn’t been briefed – I had absolutely no idea what they expected from it, or who would be there. I figured I could bluff it, talk them through the site.

We got there to find a room full of random people. From the IT manager of one team, to the press guy who wanted to know about the website. None of them knew what they wanted either.

I sat down at the computer they’d prepared. Everybody crowded round.
Netscape. Shit. Well, ok.
No Internet. Shit. But ok.
I pop the CD in from the office.

Nothing.
There was nothing there. I had nothing to show, nothing I could present.
When I got back to the office the next day, I asked the guy who prepared the CD why he hadn’t put the stuff on there as promised. “Oh,” he said, “it didn’t fit.”

So, yeah, what do you do?

I wore the shame of that awkward encounter for about a week. I still kick myself over it.

I quit soon after, but not because of that. I was young. Didn’t mind making mistakes. I’d already been promoted to tech lead, but I had no clue. I left in search of fame and fortune. It was December 2000. The bubble had burst, and the next job was harder to find.

Before I left, I hired this guy for my team called Dan. He wore huge trousers. But he was really smart. Got up to speed on everything in no time.

We kept in touch.
He’s now my Engineering Manager at Twitter.

Education, education, education.

I’ve been reading newspapers online from back home. People in the UK are always tinkering with education. Like others, I judge them on their ideas, call them crazy, and laugh about how little they understand about anything.

What’s odd is that we always compare the proposed changes with our own education. Which in my case began some thirty years ago.

I’m a computer programmer. And this is the kind of education I had.

Primary school was divided in two: infants (5-7), and juniors (7-11).

Before that came nursery school. I never understood nursery school. You turn up, you play with other kids. Where’s the schooling? Years later, my mum told me that there was teaching, but that I’d been emphatic about playing. School was for playing I said. Home was for learning.

I learnt a lot at home, from an early age. Having a brother 18 months ahead is a great way to just naturally learn.

At junior school we had this great maths system based on boxes of cards. Each box was a different colour, and contained about three hundred cards. You could work at your own pace. It was fan-tas-tic.

The school probably had three computers. BBC micros, running old educational software like grannies garden. You could expect to use one of these about three times, total, only on special occasions.

Secondary school is 11-16.

Now, my secondary school was considered a good quality school. One of the best in the area. Not posh enough for local boys Beckham and Ive to have been to, but good nonetheless. When I got there it had a room (!) full of BBC micros. After a year, they were replaced with a room of Acorn Archimedes.

Never heard of that? Hmm, surprising. Or not surprising at all, because they were computers intended only for education. That’s right, some smartarse in government thought that kids should learn how to use one kind of computer, just so they’d be completely lost when it turned out the rest of the world used PCs. This is why we point at politicians and laugh.

Anyway, so we had computer lessons. No, I’m joking. There were no computer classes. THEY’D ACTUALLY STOPPED TEACHING COMPUTER PROGRAMMING. Gone. Kapoof. No programming lessons at all. They had them in the eighties, but had stopped them.

How? What? Why?

So what did we have? Well, for GCSE, I could take Office Technology. This involved learning to type. To music. Taking dictation. Writing letters. Oh yes, it was fifties secretarial school. I actually didn’t get the top mark in this. Why? Conversation went like this: me: “Do you think I’ll get an A Star?” her: “A what?” So, yeah, didn’t get one.

Somehow I got a B in English Language. Bastards.

On to sixth form (16-18). This was known to be a shitty school. I was tired of travelling on the train. Went to the local school. No friends. Didn’t care.

But they had PCs. They taught PCs. You know what? It was great!
Databases, programming, hacking.
Computing A-Level, ka-ching! Wonderful.

During this time, my brother borrowed the 1600baud modem from his school. You have no idea how slow this thing was. We couldn’t pay for AOL, so I spent hours online to various bulletin boards. Our monthly phone bill went up from 10 to 80 pounds a month. My parents were very forgiving. I upgraded to 14.4k. Wow. And then 28.8k, 36.6k, 56k. I loved being online.

Anyway, On to university (18-21). A prestigious one.

Oh my god.

Green screen terminals. Only. In the computer department. Some neck beard bleating about how they were better, if only you’d spend every hour of the day configuring it. How cursor keys that actually worked were a dumb idea.

I hated it. You know what, they had colour PCs in the library. I used those.

I really wish they could have caught my interest there. In retrospect the material was useful, but god they made it so hard to stay interested.

More lectures? Just kill me.

They assumed no computer skills at all to start with. Computing A-Level was not a prerequisite. So the first year was three quarters ignorable. Not a good start.

The Internet was taking off, but these guys did not care. I wasn’t allowed to install a phone line in my room to run a modem. It was so hard.

What an amazing waste of 150 energetic ambitious students, who could have done so much.

My education was terrible.

I imagine computer education now must be different because work life is so different. The Internet and OSS bridged the gap between abstract education and applied ideas. I imagine students these days are burning hours on GitHub. Brilliant.

My advice to them: you’ll never again have as much time as you do now. Try everything. Obsess over something. Get into Open Source in a big way, even if you’re just helping on the fringes. Make mistakes. Learn things.

And try to ignore us adults as we tinker with your education.
You see, we grew up in a very different world. No laptops, no mobile phones, no Internet.
And that’s how we imagine school is still.

What do babies cost?

What do babies cost?

Answer one. Nothing. You just need a member of the opposite sex, and for most of you, a diagram. Har har.

Answer two. Your sanity. The best years of your life. Ho ho.

Answer three. Good question, let’s figure it out.

I’m sure you could raise a baby on biscuit crumbs and dishwater, but I doubt very much that any of you would do that. You want the best stuff, or if not the best stuff, the *right* stuff.

So let’s imagine you’re expecting a baby. I know lots of you are at the moment. I can only imagine the rest of you are stuck on the diagram, but read on anyway, you might learn something.

Before you bring the baby home, you will need:
Car seat: $130
Car seat frame $100
Changing table $200 (one of our best buys)
Diapers, wipes, tissues $50
Poo bin $50
Whole bunch of wipes (cloth diapers are good) $30
Baby swing $50
Glider $300
Cot $150
Mattress $20
Nest $40
Stroller with bassinet (pram) $300
Sheets, covers, towels etc $100
Plastic bath tub $20
Mobile $60
Clothes $200
TOTAL $1600

Ongoing costs PER MONTH for the first 3 months
Takeaway food (not kidding) 50×30 = $1500
Formula 15×15 = $225
Breast pump $70
Diapers, wipes $60
Poo bin refills $15
Clothes $300 (a complete change every month)
Trip to doc $60 cab $10 cover
Toys, books $50
Washing 3×30 $90
TOTAL $2390

I’ve linked to the ones we liked.

On top of these monthly costs, remember that one of you isn’t working, or you’re paying for daycare. Also there’s hundreds of little things to buy that aren’t on this list, and there’s things that don’t really work to waste your money on.

Remember that you spent lots of money paying for taxis to the doctors while pregnant, and myriad creature comforts to get you through that time.

If you haven’t just moved across the world, spending all your savings in the process, grumble grumble, then you can probably acquire some of the initial items through a baby shower.

If you’re comparing this to your annual salary and thinking, “oh this is ok”, try comparing the monthly against the amount you’re currently saving each month. Then remember that you need to actually start saving more, for college, for school, for emergencies.

And if you live in SF, don’t forget to upgrade your earthquake kit.

3 month extras
Mat $50
Jumperoo $80
Bibs (as many as possible) $150

6 month extras
High chair $20
Solid food $5 a day = $150 per month
Child proofing the house $TBC

Optional extras:
New camera $600 (I bet you buy one)
Better stroller $500 (because you shouldn’t have tried to save earlier)
Another cot (because he/she won’t sleep)
Flights and hotels for visitors (some of them)
COFFEE

TOTAL COST FOR THE FIRST SIX MONTHS $17,440

about twenty thousand dollars

How to visit a friend with a baby

Until recently, I didn’t have much experience with babies. Even when I knew it was coming, I still stayed away from friends with babies, because I felt I wouldn’t know what to do. I was sure that when I had my own, I’d figure it out.

This is true. You do figure it out.

But, hey, it might be that you’re visiting a friend with a baby (like us for example, please come and visit), and you haven’t had your own sprog yet. How do you behave? Here is a handy guide.

Say hello to mum. If not first, then at least second. It’s easy to forget, what with the baby.

Wash your hands before touching the baby. Golden rule, no exceptions.

Don’t take the baby. Ask, if you want a hold. But not straight away. Let the baby get used to you. Babies have a phase called “stranger anxiety”. If the baby screams at you, back off and give it time.

If the baby cries, keep clear. This can be a stressful time for the parents, especially with a guest present. Don’t hover, don’t help, just stand back and amuse yourself. Maybe take a walk.

Be prompt. You have no excuse not to be on time. We might be late – we have a baby. But don’t leave us hanging around waiting on you. It’s surprisingly disruptive (babies need to be changed, fed, napped, exercised), and besides, it’s just rude.

Don’t get all up in the baby’s face. You don’t shove your face into every strangers nose. He can see you. There’s really no need to be less than an inch away.

Don’t offer advice. Don’t take us aside and suggest we might be doing this wrong, or that wrong. You have no idea. Even if you think you have an idea, keep it to yourself. Instead, compliment us. Tell us how big and strong the baby is, how happy he is, what an amazing job we’re doing.

If you find yourself in the kitchen, tidy up and wash up. Observe the local practises (there may be equipment just for baby stuff). Try to find yourself in the kitchen regularly!

Take your cues. If we’re yawning vigorously, and asking about how you’ll get home, then take the hint and go.

Finally, here’s the best point of all. It’s the best. The winner.
“How can I help?”
Simple question. Ask it often.

We parents will thank you for following these rules. If not out loud (we’re busy), then in spirit.

We thank you.

I miss running

I haven’t been running for a long time – since my baby was born. There’s just not enough time and energy for it these days. We wake up for the second or third time that night at about six am, pull the little one out of bed and try to soothe as best we can. By the time we’re all fed and watered, it’s about 8.30 and I’m rushing to the bus stop.

I don’t really miss the long run to work though. It’s a slow four miles along the coast, avoiding traffic lights and the famous San Franciscan hills. I just jog at a steady pace. The distance isn’t hard, just the boredom. Long distance running is pretty dull – you have to have a lot on your mind to be able to run without getting really bored.

It’s running fast that’s more fun.
Not a run, not full speed even.
I mean a full-on sprint.

That extra burst of energy you throw in when you’re already going full speed. When your arms are pumping as hard as your legs, reaching out to claw the air closer. When the skin on your face starts moving against the bone. When you shift your weight down and back, so your feet can make maximum contact with the ground, but it’s still not enough. When you forget about breathing because it’s just another distraction. When every muscle in your body is working maximum power, maximum speed, just to propel you forward.

That’s the kind of running I miss.

Step lightly

At the centre of my childhood home was a staircase. Not one of the elaborate kind, just a brown, carpet-covered, twelve step staircase, with a hallway on each end.

We’d play on it for hours. Jumping off higher and higher points. My older brother could leap the entire distance – I don’t think I ever managed that. We’d slide down face-first, face-down, we’d vault the bannisters.

My father taught me two valuable lessons. One, he said I should climb the stairs in twos. I’m not sure why this was important, but I’ve done this ever since. From a couple of steps run-up, I can easily fly up in twos, threes, or even fours.

I take the London Underground escalator in twos as well, enjoying that satisfying moment of airtime the additional speed of the escalator gives you when you hit the peak.

The other lesson was that you should tread lightly. Even when hitting the stairs to climb four in one go, your step should be virtually undetectable. I can imagine why he thought this important (probably not the noise, actually, he was always just worried about us destroying his house).

I love moving without making a sound. To this day, I take my shoes off at the door, and move soundlessly around my apartment in socks. I avoid the squeaky floorboards. I step with the ball of my foot first. My heel touches the ground, but doesn’t take my weight.

Try it now, it’s actually quite fun. And harder than you’d think.

You have to walk confidently – no tiptoeing around the place. Learn your floorboards, your squeaky steps, and like an obsessive-compulsive approaching a crack, you go around.

I do the same outside the house. My shoes are Nike Frees. Maximum comfort, minimum noise. It’s a different walk, the placement of your foot is quite different. I stroll silently around the office, while others rattle the furniture as they stomp past.

Of course, it’s not without problems. At home, I scare the living daylights out of my wife on a regular basis. I now have to announce my presence as I approach: “I’m coming, I’m coming,”. I wonder what our neighbours think of it.

It’s harmless fun, I enjoy it, and it makes me more of a ninja than all you JavaScripters out there.

2011: This year I have…

My annual End of Year update. See previous years: 2010, 2009 and 2008.

Last year I said I’d:

  • Run another marathon.
  • Write some more.
  • Enjoy my new job and life in SF.

Well, I’ll score that a two out of three. Yes, I ran the marathon, but I stopped halfway (oh, the hills!); I didn’t really blog any more; but yes I enjoyed life in SF. Sometimes life makes things difficult, but my amazing wife and I got through it together.

We started the year in an empty apartment, sleeping on the floor, not knowing anyone in the city. By the end, I feel we’ve settled in and started to make friends.

This year I have: Continue reading

Big News

I’m happy to announce the release of a project we’ve been working on for a while now: a new little human.

This project has turned out to be far more complicated than I ever imagined it could be, and so during development, my wife and I agreed to keep our news offline until the launch.

Now we’ve hit 1.0, and we’ve come to like the privacy. So we’re going to keep this one to ourselves, and enjoy ourselves without needing to overshare all the details all over Facebook and Twitter.

We’ve discovered a new respect for everyone who’s been through this development cycle before. Parents are heroes.

Let me know by email if you want to know more.