My uncle Al

[Note: This is ridiculously long for a blog entry and entirely personal in nature. It was written on a plane about 18 months ago where the people next to me no doubt thought something was horribly wrong with me to be writing and crying on a plane. In any case, I release it now...] This weekend I traveled to Portland for the memorial service of my uncle, Al Miller. Al was a special guy and I wanted... [Read more]


Clojure multi-methods

A friend asked me a question about multi-methods and since the response was long-ish, I’m dumping it here in case it helps someone else: Question: “Is it possible to write a multimethod that has defmethods which handle ranges of values? For example, say that a person has an age. Can I write a multimethod that accepts a person as a parameter and returns “child” if age < 16,... [Read more]


Learning Clojure #16: class reference

Most new Clojure devs find the need to call static Java methods or access static Java fields pretty quickly and doing so is easy: user=> (Math/max 5.2 2.7) 5.2 user=> Math/PI 3.141592653589793 But recently I need to get the Class of a well-known Java class, which I would normally have done with String.class in Java. This *looks* like a static field so I first tried to access it like one: user=>... [Read more]


Open source bargain

This blog started as a Twitter conversation between me and @realjenius about Ehcache but I needed a little more room to make my point. Ehcache is the most widely used open source Java caching library. Terracotta (my former employer) bought Ehcache last year and I was intimately involved in tending it while I worked at Terracotta … just to make my relationship to this clear. Periodically someone... [Read more]


Strange Loop 2010!

I have released the full schedule for Strange Loop 2010 and it is (in my humble opinion) a truly mind-blowing set of talks and speakers. Check out these keynotes: Guy Steele (Oracle) – “How to Think about Parallel Programming: Not!” Douglas Crockford (Yahoo) – “Heresy and Heretical Open Source: A Heretic’s Perspective” Billy Newport (IBM) – “Enterprise... [Read more]


Mapping relational data to the semantic web

I thought it would be interesting to share some of what we’re working on at Revelytix and also ask for comment on an initial piece of it. I’ll start with a little background first. Much of this is also covered in my recent slides from SemTech and that might be a useful set of complementary pictures. Revelytix is currently working on a project for the US Department of Defense. The aim... [Read more]


?assoc and ->>

I had a need today to take an existing map and put (assoc) a bunch of new key-value pairs into it. Additionally, many of these key-value pairs might have a nil value, in which case I’d prefer to skip the assoc. In particular, I didn’t want to overlay existing keys in the map with a nil, so it was not ok to just drop them and remove/ignore the nils later. So I wrote this null-aware assoc... [Read more]


Redirecting a Google Apps domain to a blog

I fought with this for a few hours tonight so thought I would post it here for the hive mind. I (perhaps foolishly) signed up for Google Apps and registered a domain name in the process. Google registers the domain with GoDaddy.com and properly sets up all the DNS records appropriately (I was happy to avoid that part). Registering for Google Apps standard is free, registering for the domain is $10/year.... [Read more]