Computer Language Comparison

Guillaume Marceau has used data from the Computer Language Benchmark Game to provide a graphical comparison of many different languages. If you drew the benchmark results on an XY chart you could name the four corners. The fast but verbose…

Decentralized Garbage Collection

When I visited Washington D.C. for ASPLOS/VEE, I was working on my paper about cascade failure, and had distributed systems on my mind. Some of the papers at the joint conference were about garbage collection. One of the more interestring…

Philosophy of Computer Science: Naming

For a very long time, western culture has had a strong undercurrent about naming. Conceptually, it starts with the recognition that the ability to name a thing gives you power over it. This is reflected in many deep and ancient…

Philosophy of Computer Science: Boundaries

One of the reasons that I’ve decided to spend my life studying Computer Science is its deep connections with philosophy. Mankind has been asking deep philosophical questions for a very long time, but we’ve been able to chip away at…

Linguistics and Computer Languages

Of course, I would never think that I was the only one to have the idea of studying computer languages from a linguistics point of view. Well, I found an interesting character, by the name of Chris Barker that gave…

P vs NP

We’ve reached the NP-completeness section of my Fundamental Algorithms class, and I’ve noticed something interesting about P and NP. class P NP-complete Euler tour Hamiltonian Cycle 2-SAT 3-SAT Shortest path Longest simple path We have problems from a variety of…

Probability Programming

Yesterday a very interesting speaker, Eric Hehner, gave a talk at the graduate seminar: TITLE A Probability Perspective ABSTRACT This talk could be called “probability meets programming”. It draws together four perspectives that contribute to a new understanding of probability…

Function calling notation.

I was reading Yegge’s rant Rhinos and Tigers, and he mentioned that: So it’s kind of unfortunate when you have to use functions, because if you have to say, you know, HTMLElement.getChildren.whatever, it gets inverted with functions: whatever(getChildren(HTMLElement)). You have…

Heterogenous Lists

I’m used to C’s version of unions and structs. In C a union is simply a spot of memory into which various types of things can be stored. C doesn’t do all that much checking on the data types though….

Secure Computing

Cloud computing, remote virtual machines, web mash-ups, and anything that executes on someone else’s machine with data you (or your customers) provide is really insecure. Sure you can encrypt the traffic, but in the end that remote machine is forced…