Computing and Computers

Can pure computing in the style of Edsger Dijkstra be a gateway to understanding computers?

There was an interesting belief several decades ago, most prominently held by Edsger Dijkstra, that computing as a field could be separated entirely from computers, the machines that engage in computing. The argument went something like this:

  1. The theorems of computing are true regardless of the machine they are implemented on. Put another way, the only machines to be called computers were those machines that could engage in computing, and any such machine is equivalent to any other, save for implementation details
  2. Algorithms, the formal method for defining computation, exist independently of the machines that implement them
  3. Limitations on computation are not truly given by hardware (if they, the limitation is temporal, not technical, in nature) but by the algorithm itself

In other words, while algorithms are not useful unless they have a machine to implement them, the truth of what they are and can do exists independently of such a machine. Thus, the conflation of program and machine, of computing and computer, is wrong.

Write Like A Person

A few suggestions for writing well while you’re still young, from someone who learned late.

I’d like to take a moment to speak to all the students who have just in the last month or so graduated from High School, and who are now preparing to join the workforce or go to university. I’d like to share with you a piece of advice I wish I’d received. Something that took me years to realize independently. It’s about writing. It’s about how to write well and not sound like a jackass; and I never figured it out until I went back and read some of the things I’d written in the past. It’s something that will require a lot of you to forget what you learned in High School: forget the five paragraph format, the hook-thesis-preview opener, the summative conclusion, all of it. It may seem intimidating at first, and so in this small piece I will spend the majority of my time explaining why this is in fact easier for you than everything you’ve learned, and I will attempt to convince you that writing in this way will not only make it easier to write, but will improve people’s reactions to what you’ve written. So what is this suggestion?

Write like a person.

Is This Really Permanent?

Ars Technica has an article out about preserving technology. Read it if you haven’t already. It’s not long, and the topic is important.

Read it? Okay, good.

I liked the article, in case it wasn’t clear, and it got me thinking about the issue of information permanence. In the past our knowledge and experiences (or at least artifacts that act as evidence of them) were inherently preserved to some degree by their medium of expression. Pictures were physical goods, books were physical goods, videos were physical goods. Yet the increasing digitization of human experience makes that experience all the more fragile to the whims of time. Imagine for a moment what would happen if Dropbox disappeared, so that all your data stored there was gone forever. Would you still have your pictures? Would you still have your videos? Your essays? What would remain to you? Maybe you backed it all up and it’s on a hard drive somewhere. Well, imagine it’s 50 years later, and you’ve found that hard drive and you want to take a look and those old pictures and videos. Can you even use it? Do you have a device that can connect to it and read it? Or was the permanence of the physical good a lie?

Surpassing The Hacks

On the history of web development hacks and the path to overcoming them.

Web development history is rife with hacks. Developers have always been looking to push the boundaries while maintaining relative consistency cross-browser, and the pace of developer creativity has consistently exceeded the pace of implementer development. So, hacks.

Goodbye Quora

It is easy to forsake principles for a beloved service, but when is it right, and when should you stop?

I have recently decided, after much consideration and an abundance of time, to leave Quora behind. I have been an active member for several years, and have shared information on there across topics as diverse as Computer Science, the proper use of Tumblr, and elementary school bullying. In that time I have interacted with a number of impressively funny and intelligent individuals, and I am happy to say I have learned a lot about a variety of subjects.

Why then, have I chosen to leave?

Dijkstra’s Writings Available

Reading smart writings written by smart people is an excellent way to get smarter. Here’s new stuff.

Edsger Dijkstra, famous Computer Scientist, is one of my favorite intellectuals. He was a man with strong opinions, who consistently and publicly defended them. His piece “On the Cruelty of Really Teaching Computer Science” stands as one of my favorite pieces of academic writing.

Getting Back

After days of excitement how do you avoid the siren call of old routines?

I returned just yesterday from the Southern California Linux Expo. It was my first time going, and I went with a large group of friends, all of whom but one had also never been. It was a fun time. This post isn’t about the conference though. It’s about what happens when you get back.

Conferences and expos are a time to extract yourself from the world, and have some fun learning new things and meeting new people. There’s a certain joy in the picking of sessions and watching of keynotes. A certain excitement in a conversation picked up with strangers over some tech overhead in passing.