Not sure where to start? Just put a button on the page.

When building a website, it’s hard to know where to start. It’s unclear from the get-go what code will be necessary. And designing the model, the view, or the controller in isolation is difficult.

To solve that blank-page problem, try UI-first development. The methodology of UI-first development is simple:

  1. Add something to the UI so the user can take action.
  2. Fix the resulting error chain.
  3. Repeat.

Want users to contact you? Start by adding a page with a textarea on it. Then fix the resulting errors.

Want users to be able to log out? Start by…

They won’t.

Conversations are based on collaboration. If I opened the door to the café in front of us and said to you “go ahead”, you would understand what I am trying to convey. Not because I am being unambiguous or even clear, but because you can take in the salient points of the situation and infer the most likely interpretation. When you succeed at this and enter the café first, I know you understood me. If you had not, I would have added something else. I would have helped you understand.

No such luck with software. Computers…

What makes code readable?

We like to describe code as pretty or ugly, clean or complicated, clever or cryptic. Those aren’t useful epithets: they describe emotions about code rather than describing code itself. It’s impossible for beginners to understand that kind of language. And it gives us the impression that we understand what we are saying.

When pushed to justify our thoughts about a piece of code, we like to talk about readability. This is a more useful metric — but it’s quite vague. Can the code be understood easily? Can I hold large chunks of it in my head…

A book review 

I recently read the book The News: A User’s Manual, by Alain de Botton. The book is an exercise in practical philosophy: de Botton treats the news as a serious topic worthy of investigation and shares his deliberations and conclusions.

To start with, the book is well written. The prose flows quietly and it’s easy to sit down in the couch and devour page after page. The argument is not heavy and the reading feels more like reading a novel than it does a philosophical essay. More like Rousseau, less like Kant.

Alain de Botton looks at some of the…

Or something I learned while on sabbatical

Plato thought that knowledge was justified true belief. This succinct explanation of knowledge is nice as it summarizes well our first intuition. But there are a few problems with it. There are cases (known in jargon as Gettier problems) where a justified true belief can hardly be considered knowledge. Take the stopped clock example from Bertrand Russell: if I look at a clock that tells me it is noon, I then know what time it is. But if the clock stopped working exactly 12 hours ago, my knowledge will seem very accidental. …

Or something I learned while on sabbatical

All truths are relative. Not in the relativist sense but in the sense that truth is best thought of as a relation between two statements. One statement can be truer than another. Asking whether either of them is true on its own is nonsense.

I find this simple idea very zen. When confronted with the task of figuring out whether something is true or not, I can call nonsense and go back to work. “Truer than what?” would be a good question. If the statement is true enough and gives us good results, then that’s all…


I'm a software developer writing mostly about tech and philosophy.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store