Year: 2011

A Hacker’s Christmas Song

I’ll be home for Christmas To fix your old PC. Please have Coke and Mountain Dew And pizza there for me. Christmas Eve will find me In Windows Update screens, I’ll be done by New Year’s If only in my dreams. I’ll be home for Christmas Installing Google Chrome, Removing malware, cruft, and crud, And…

Read the full article

What Is a Program?

What is a program? Is it the source code that a programmer typed? The physical state of the machine on which it is run? Or something more abstract, like the data structures it creates? This is not a purely philosophical question: it has consequences for how programming languages are designed, how development tools work, and…

Read the full article

JDK Version Survey Results

After a month and about 175 responses, here are the results of my JDK Version Usage Survey (now closed): Versions: Almost everyone uses 1.6. A few are still using 1.5, and a few are trying out 1.7. Only a handful are still on 1.4. Fortunately, no one is on a version older than 1.4. Reasons:…

Read the full article

The Naming of Namespaces

From time to time I’m asked, “How do you organize namespaces in Clojure projects?” The question surprised me at first, because I hadn’t thought about it much. But then I was using Clojure back when the only way to load code was “load-file.” Most programming languages, especially object-oriented languages, provide strong hints on how to…

Read the full article

ClojureScript Launch, New York

As you may have heard, last night we (Clojure/core) announced ClojureScript at the Clojure NYC Meetup. Rich Hickey gave a talk, which was streamed live over the web, while we monitored Twitter and IRC for feedback. The event was a great success, with loads of excitement expressed by both the local New York crowd and…

Read the full article

Dependency Management First-Aid Kit

This article attempts to unravel some of the mysteries of dependency management with Maven and Maven-based tools. Help, something’s missing! Say you have a project named “my-new-project” which declares a dependency on version 3 of the “awesome-sauce” library by the Example.com corporation. You add the dependency to your pom.xml, project.clj, or whatever configuration file your…

Read the full article