There seems to be a push underway to wean Java developers off of the “internal” sun.* packages in Java 9+. I was notified that Clojure currently uses sun.misc.Signal/SignalHandler in the Clojure REPL to intercept SIGINT (ctrl-c) to abort evaluation of the current expression (instead of terminating the process). Is there a viable replacement to using […]

Patterns and dependency injection – I’m partying like it’s 2006! Say you have some Clojure functions that look like this: (defn foo [config queue db-conn arg1] …use config, queue, db-conn… ) (defn bar [config queue db-conn arg1 arg2] …use config, queue, db-conn… ) Bindings Seeing all those config options and system resources on every function […]

Following up on my last post about the results of the 2013 State of Clojure & ClojureScript survey, I was very interested in digging into the responses to the question “What do you think is Clojure’s most glaring weakness / blind spot / problem?”. I’ve spent some time categorizing the answers, trying to tease out […]

I found the results of the 2013 State of Clojure & ClojureScript survey to be very interesting. Tonight I dug in a little deeper to the answers to the specific question “Name *one* language feature you would like to see added to Clojure.” There were 610 answers to this question (of 1061 survey responses). Many […]

Occasionally I hear someone say that the Clojure community is against testing. I understand the sources of this – Rich Hickey (creator of Clojure) has spoken about testing in a number of talks and I think some of those comments have been misconstrued based on pithy tweet versions of more interesting longer thoughts. I’d like […]

Just for fun I implemented Rock Paper Scissors with core.async. Each player is modeled as a go process that generates moves on a channel. A judge is modeled as a go process that takes moves from each player via their channel and reports the match results on its own channel. To start, let’s pull in […]

Today I am thrilled to announce that I have joined Relevance, Inc. People have been paying me to write code for a couple of decades now and I’ve been very fortunate to have great opportunities. I felt very lucky in this transition to have had time to figure out what I wanted and where I […]

A very happy Ada Lovelace day to you all! In honor of the day I thought I would post a few of my favorite tech talks given by women. Sarah Allen – Teaching Code Literacy When I first invited Sarah to speak at Strange Loop 2011 about her efforts at creating a tool for teaching […]

Recently it was announced that the Java modularity Project Jigsaw would be pushed out of Java 8. Jigsaw and its older brethren JSR 294 and JSR 277 have a tortured history from years of fighting during Java 7. That fighting is not just internally on political and design issues but externally vs other modularity systems, […]

A few days ago I posted a poll about interest in a functional programming conference. I wanted to share some of the data and my intentions. I have had a total of 313 responses to the survey (as of now) – if you still want to respond please do! [Update: now updated with info from […]

I’ve been kicking around an idea for a US-based conference (probably changing cities each year) for working (or aspiring) functional programmers. I am aware of events like CUFP, but I am thinking of something larger, US-based, and more practical in focus. I am also interested in the idea of mixing the following conference styles: Sessions […]

Normally I write technical stuff on this blog, but I feel a need to talk about this publicly. As you may be aware, the Boy Scouts have long had a policy disallowing openly gay den leaders or youth. One high profile case of a mother being removed from boy scout leadership is discussed here on […]

I read Paul Irish’s “Open Conference Expectations” for speakers with great interest.  I don’t know Paul (other than by reputation) but I organize the Strange Loop and Clojure/West conferences.  While I typically cover the bulk of the items mentioned for speakers in the conferences I run, to me many of these are not something that […]

As I make the end-of-year rounds this weekend for several organizations I belong to with kids and family, I am again struck by how at the heart of every functioning organization are a small core of incredibly dedicated people. My heartfelt thanks go out to these people that power the various important parts of my […]

About a week ago I put up a poll asked questions about what people in the Clojure community valued. In particular, this was a series of questions that said, “We value X over Y”. I was trying to capture the same notion from the agile manifesto where they say that while there is value in […]