Coding Tips

How to fix Dropbox conflicts automatically

June 16, 2018 |Source Code

If you use Dropbox regularly, you have probably managed to screw it up at some point by modifying a file on two machines without syncing it between edits. When this happens, Dropbox will save both versions of the file and rename one of them like so:

A metalsmith plugin to prerender mathematical equations

January 10, 2016 |Source Code

I recently used MathJax for the first time to dynamically render equations in a post using the LaTeX format. The MathJax documentation recommends loading the script that converts the LaTeX format to beautifully formated math equations asynchronously. It works great, but there's typically a lag where a user sees the raw, ugly LaTeX for about a second before it gets rendered.

Getting states borders from counties using TopoJSON's merge function

September 27, 2015

I use the immortal Mike Bostock's TopoJSON for every map I make at TIME. Whenever we're looking at geographies more granular than states—usually counties, congressional districts or PUMAs—I like to have state boundaries drawn over the map to help orient the viewer.

Rendering exported musical scores in the browser

February 21, 2015 |Source Code

The transcriptions I've posted on Mechanical Scribe were generated by a Windows-only program called Mozart. I can't stand the way the embedded PDFs look on the page, and would much prefer to render the scores directly. Fortunately, there is a fantastic, actively developing project called VexFlow that is capable of doing just this.

A plugin for versioned posts in Metalsmith

January 12, 2015 |Source Code

I just moved this site from Jekyll over to Metalsmith since I work primarily in Node and Javascript and don't know a lick of Ruby. Which means, sadly, think I had to leave behind Jeremy Singer-Vine's peerless Gekyll plugin for tracking versions of posts using Git.

Use your LESS files in Browserify with this Node module

November 22, 2013

Update: Since May 2017, node-lessify is now being actively maintained by GitHub user @dxcanas, who generously took over the project after I moved from browserify to webpack. I'm maintaining this post for archival reasons but encourage you to start with the current documentation on NPM.