Blog
Finda Websocket Architecture
2018 June 20 · How Finda uses websockets to communicate with your browsers and editors.
Logging Rust Errors on OS X
2018 May 10 · Logging errors and panics from a multithreaded Rust application to OS X’s Console.app. Also a debugging story.
Building a fast Electron app with Rust
2018 March 18 · Electron apps are often decried as slow and memory hungry, but that isn’t always the case. This article outlines an architecture of Electron as a rendering surface, with all application state handled in a native, Rust backend. Typical UI interaction response times are under 16 milliseconds.
CNC milling survey contours
2016 February 28 · Transforming 1 foot contour survey data into a table top wooden model via computational geometry and CNC milling.
Mosaic plots, a part-to-whole visualization
2014 November 18 · Mosaic plots are simple graphics that depict via area conditional, marginal, or joint distributions. Attractive mosaic plots can be implemented easily on the web using responsive CSS and HTML — for many plots, no JavaScript is necessary.
Which hipster housewares are purchased together?
2014 July 30 · A friend asked me to help determine which of their products were being purchased together. Rather than use fancy algorithms to infer “customers who purchased this item also purchased X”, we took advantage of the small product line and built a visualization to convey the purchased combinations.
Datomic test/live split
2014 July 23 · We have a Datomic-backed API service and want to provide a “test mode” for our users. This post outlines three possible solutions and compares their technical, user experience, and system complexity merits.
The technology of ClearCommit
2013 November 13 · A technical overview of ClearCommit, our entry for the 48-hour Node Knockout.
Node KO 2013: ClearCommit
2013 November 9 · Building a static analysis tool in 48 hours for the 2013 Node Knockout.
Clojure Cup Tips
2013 September 12 · So you’ve decided to enter the Clojure Cup. Awesome; the organizers have asked me to write up some advice.
Core.async UI first questions
2013 August 24 · Folks are excited about core.async enabling CSP-style programming for building UIs in the browser. These are my early thoughts and big open questions I’ve got on the subject.
Building an iOS weather app with Angular and ClojureScript
2013 June 27 · We just launched the Weathertron, an iOS weather app. The Weathertron is written in ClojureScript with Angular.js, backed by a weather forecast and almanac server written in Clojure on the JVM. This post outlines the motivation, benefits, and tradeoffs of this tech stack.
A sampler of ClojureScript application designs
2013 June 24 · Clojure is a great language for expressing data transformations, but what about clientside view-manipulation and user interaction logic? This post outlines the approaches I’ve used to build rich, clientside applications with ClojureScript.