2018 June 20 · How Finda uses websockets to communicate with your browsers and editors.
2018 May 10 · Logging errors and panics from a multithreaded Rust application to OS X’s Console.app. Also a debugging story.
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.
2016 February 28 · Transforming 1 foot contour survey data into a table top wooden model via computational geometry and CNC milling.
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.
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.
2013 November 13 · A technical overview of ClearCommit, our entry for the 48-hour Node Knockout.
2013 November 9 · Building a static analysis tool in 48 hours for the 2013 Node Knockout.
2013 September 12 · So you’ve decided to enter the Clojure Cup. Awesome; the organizers have asked me to write up some advice.
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.
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.
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.