Clojure is a sequence processing language – sequences are the core abstraction between data and function. I have come to the notion that code that handles 1 or N of something is far more likely to be correct than code that handles 2 (or any fixed number > 1). In general, any time you use [...]
Very saddened by the news today. My first experience with a computer was writing Logo on an Apple IIe. I was probably 7 or so and I was hooked. I eventually moved on to an IBM PC and spent many years in the land of DOS and Windows before finally returning to the Apple fold [...]
My daughter (who is 8) had to write a list of questions today at school to write about in her journal. The list is awesome. I present it to you here without changes but with a few editorial remarks for understanding. How does a parachute help you land softly? Why do [string] basses have to [...]
Fogus had a post today about the Scala “Cliff of Insanity” and Java’s “Cliff of Inanity”. I requested in the comments his Clojure curve for comparison and he instead threw down the gauntlet requesting my own take on it. Thus I present the rolling Clojure hills of abstraction: There is an initial learning phase of [...]
In general, dealing with Java from Clojure is quite painless and much easier than calling Java from Java. :) However, I ran into (not for the first time) some issues around subclassing an abstract class and properly overriding a method from the parent class. For my own future sanity (and perhaps yours dear reader), I [...]
I saw a question on a list about promoting conferences. Rather than keep that reply private, here it is: Promotion ideas: user groups – your most concentrated and geographically interesting source of potential attendees. Beyond your local groups, track down appropriate Google groups, LinkedIn groups, and Meetups within a short drive? I find physically traveling [...]
Realized I had never done FizzBuzz in Clojure. FizzBuzz says for numbers 1 to 100, Print “Fizz” if number is a multiple of 3 Print “Buzz” if number is a multiple of 5 Print “FizzBuzz” if number is a multiple of both Otherwise, print the number Here’s my (failing) test: (ns fizzbuzz (:use [ clojure.test [...]
Revelytix is pleased to announce the release of two new open source projects: Spark and Sherpa. Spark Spark is a Java client API for accessing remote SPARQL processors, similar in style to JDBC, the Java Database Connectivity API, for accessing remote relational databases. SPARQL is a query language for RDF, commonly used to access data [...]
The Strange Loop Call for Presentations ends June 10th, just 10 days from now! The conference is Sept 18-20th in St. Louis, Missouri. Please note that Strange Loop pays travel (US domestic, or partial for international) and hotel costs for speakers and most meals are provided. If you’re interested in being part of a great [...]
Lately I’ve been doing some research and prototyping for the purposes of building a custom client-server communication library. This roughly can be broken into: Data serialization – how you translate between language-specific data structures and a byte stream Inter-process communication – transport and RPC/IPC Below is some free-form commentary based on what I’ve read. This [...]
This is not a grand post but rather a small example of Clojure vs Java I ran across. Maybe the first in a longer series… A while back some of my colleagues at Revelytix built a core library for representing and working RDF data and graphs thereof. One small aspect of that was to define [...]
I was interested to read Manik’s new proposal for a data grid JSR to be based on JSR 107 (the long dormant caching JSR) and some of the ensuing discussion. [I am a former Terracotta employee but have not spoken to anyone at either Terracotta or Red Hat about this; these are my own opinions.] [...]
I’ll be in Chicago next week for Enterprise Data World and I have several talks scheduled if you’re interested in hearing about either Clojure or the Semantic Web. All of these talks are on Wednesday April 6th – three chances! If you happen to be attending Enterprise Data World, I’ll be doing a talk at [...]
So I had a horrible but genius idea today while I was in the car. I have no time or even inclination to follow up on this so I give it to you oh great Internet. If you get rich, send me a check. What if you crossed the social and game experience of fantasy [...]
Last weekend I did a talk about Clojure and abstraction at the CodepaLOUsa conference in Louisville, KY. At the end of it I summarized the list of features and what kind of abstraction they support: Functions (name and manipulate code as a unit) Collections (trait-based, immutable collections of data) Seq (logical list view of a [...]

Hi! My name is Alex Miller and I live in St. Louis. I write code for a living and currently work for