In your head, then on paper, then on screen

I guess it’s pretty clear that the programming portions of Flash Boys were most interesting to me.

They had been forced to learn to program computers without the luxury of endless computer time. Many years later, when he had plenty of computer time, Serge still wrote out new programs on paper before typing them into the machine. “In Russia, time on the computer was measured in minutes,” he said. “When you write a program, you are given a tiny time slot to make it work. Consequently we learned to write the code in ways that minimized the amount of debugging. And so you had to think about it a lot before you committed it to paper. . .

I don’t plan as much as I should.

Even with this website (and its previous Jekyll iteration), I open the files up and do some HTML/CSS edits. Live coding! I think there’s a place for it but for laying content out I think the results will nearly always be better by doing it in a graphics editor first.

When I’m designing in code, a lot of it ends up being ready, fire, aim. Then I stop when I have something acceptable. There’s a chance it’s good, but it’s unlikely to be great.

Doing a layout on paper and then in Sketch (or other graphics editor.

On a project with a team, there’s usually some kind of project management. Design and development might be done by completely separate people so this isn’t tightly coupled.

Working on this site solo, I just need to be better about remembering to plan and design before writing any code. I’ve tried restricting my time by saying “Oh I’ll only tinker on the weekend. I’ll write during the week.” The restriction is artificial though, so I’d find myself in a code editor on any random day instead of writing.

This time around I’m just keeping an updated list on a todos page. It gives me the satisfaction of knowing it’s written down somewhere that I might possibly get to down the road. Then when I set time aside to tinker, I’ll have a list of things to better prioritize.

It’s not quite programming on a 1980s machine with a limited amount of computer time. Or programming on paper while in prison. (Like Serge did later on.)

This reminds me of something from Founders at Work. The del.icio.us founder talks about building the site in small pieces over years.

I could come in and look at it, figure out what I’m doing, do it, and be done for the day in 15 minutes. So if I could get one thing done a day, I was happy. A lot of stuff, if I could spend more time, I did, but as long as I could get one or two things done a week total, if I didn’t have time, I didn’t have time.

If I didn’t have time, I… skipped sleep to get it done, stressed over it, got frustrated? Those are certainly options, but a lot of times it might be best to just not do it.

It’s one of the luxuries you can take with a side project. And I’d say it’s a luxury you need to take if you’re in it for the long run.

Todo: break the items in the todos page into smaller pieces.