Category: Programming

Org Mode for Blogging

On the impossibility of separating content from presentation I like writing in Emacs’ Org mode, not because it’s an especially good means of writing prose, but because I already use Org so heavily for notes and source code. My last post was written in Org mode. But my blog remains, as it always has been,…

Read the full article

Clojure Start Time in 2019

From 2011 to 2015, I wrote an annual Clojure Year in Review post, attempting to summarize all the interesting things that happened in Clojure in the last year. After 2015, I gave up. There was just too much happening, and I couldn’t keep track of it all. A couple of years ago, I got tired…

Read the full article

Clojure Don’ts: Numbered Parameters

Continuing my series of Clojure do’s and don’ts — which, as always, is a mix of technical recommendations and my personal stylistic preferences — and continuing on the topic of the previous post in this series, here are some more arbitrary rules about anonymous functions.

Triple-Screen Pairing Dream

I’ve spent time at various jobs “pairing” with another developer in a different location. Sometimes I think I must have tried every different piece of software ever developed for this purpose. I have not been completely satisfied with any of them.

Clojure Don’ts: Thread as

A brief addendum to my last post about Clojure’s threading macros. As I was saying … I said you could use as-> to work around the placement of an argument that doesn’t quite fit into a larger pattern of ->. My example was: (-> results :matches (as-> matches (filter winning-match? matches)) (nth 3) :scores (get…

Read the full article

Threading with Style

No, not multi-threading. I’m talking about Clojure’s threading macros, better known as “the arrows.” The -> (“thread-first”) and ->> (“thread-last”) macros are small but significant innovations in Clojure’s Lisp-like syntax. They support a functional style of programming with return values and make composition intuitive. They answer the two chief complaints about Lisp syntax: too many…

Read the full article

Building for Growth at Clubhouse

A couple of weeks ago, I sat down with my new coworkers Camille Acey and Paul Groudas to talk about the work we’re doing to scale up and expand Clubhouse.io. The interview is on the Clubhouse blog as Building for Growth: A Conversation with Clubhouse’s Paul Groudas and Stuart Sierra.