hello.js

var please = require('share');
console.log('thank you');

Saturday, 6 April, 2019 UTC

Accessibility: buttons

Accessibility: buttons

One of a few articles I’m writing about accessibility. The previous one was about color contrast. Last time I wrote about accessibility, I complained about a common accessibility test that I think is inaccurate and counterproductive: color contrast. ... more


Friday, 29 March, 2019 UTC

How to maintain a bunch of open source projects

How to maintain a bunch of open source projects

Even after shedding my open source responsibilities at Mapbox, leaving a few major projects, and archiving old GitHub repositories, I still have a pretty significant set of open source projects to maintain and garden. I’ve settled into a decent rhythm ... more


Sunday, 10 February, 2019 UTC

A way to do CSS for applications

A way to do CSS for applications

There are lots of ways to style webpages. So many that it’s now a common thing to argue about - whether you should be writing your CSS in JavaScript, or as Sass, or some other hip new framework. My work, though, is building products, not arguing on the ... more


Tuesday, 8 January, 2019 UTC

Shiny stuff in the pipeline

Shiny stuff in the pipeline

Change is hard, and often controversial. Especially in the realm of web technology, the pace of change makes everyone occasionally feel overwhelmed, like they’re slipping behind. It’s tempting to assume a conservative or reactionary position, assuming ... more


Saturday, 5 January, 2019 UTC

Stumbling blocks on the way to web performance

Stumbling blocks on the way to web performance

I care about web performance – really I do. But we need to talk about something: a lot of the things we recommend for web performance are bad. The technology is unfinished, the implementations are rickety, and overall it’s just not easy to make something ... more


Monday, 26 November, 2018 UTC

Writing a small module in 2018

Writing a small module in 2018

The controversy over ‘micro’ modules in the land of JavaScript has faded, arguably because they won. Heavily-used modules like npm itself use micro-dependencies like once, a 42-line module with over 8 million weekly downloads. But simultaneously, the ... more


Sunday, 7 October, 2018 UTC

D12 - a prototype and documentation braindump

D12 - a prototype and documentation braindump

From 2015 to 2017, I spent quite a bit of time building documentation.js, a project that I hoped would be like JSDoc but better. This year I’ve been pretty hands-off - helping merge and review pull requests, but otherwise not pursuing any big changes ... more


Monday, 18 June, 2018 UTC

How and why I use (neo)vim

How and why I use (neo)vim

Preface : if you’re reading this and you use Sublime Text or VSCode or anything else, and this gives you the feeling that you should or must switch to vim, or that I consider it a lower class of editor and think that the mere existence of vim makes other ... more


Friday, 9 February, 2018 UTC

Advice to the newish programmer

Advice to the newish programmer

I occasionally field questions about computing and the industry from people starting out, whether it be friends switching jobs or just internet denizens. My answers are opinions, but I wish I had formed some of these opinions earlier. For someone’s benefit, ... more


Monday, 11 December, 2017 UTC

Owning my reading log

Owning my reading log

Since 2007, I’ve recorded my reading habits with goodreads. It’s always been a nice, simple place where I try to beat my old reading records and save reviews and ratings for future reference. I have few qualms with the site technically, but I’ve been ... more


Friday, 24 November, 2017 UTC

Trees

Trees

These are some of the trees I keep and care for. This is my ficus, in two parts. I trunk chopped it a few weeks ago. It used to look like this. It’a a Home Depot special bonsai that I acquired at 4 years old and purists will frown upon. But it’s so forgiving ... more


Monday, 2 October, 2017 UTC

Recently

Recently

I’ve been listening to Hello Shark ’s Break Arms a bit, after seeing a clip of their show in DC. It’s maybe a little too melodic, and solidly in the ‘man feelings’ genre, but has very nice moments. Also Blonde Redhead ’s Melody of Certain Damaged Lemons ... more


Saturday, 2 September, 2017 UTC

Recently

Recently

Listening Lyla Foy - Mirrors the Sky Vince Staples - Summertime ‘06 Andrew Bird & Fiona Apple - ‘Why’ Maurice Ravel - Pavane de la Belle au bois dormant Chapo Trap House podcast Watching The Kolakoski Sequence on Numberphile A Brief History of Graphics ... more


Thursday, 10 August, 2017 UTC

So you want to decentralize your website with IPFS

So you want to decentralize your website with IPFS

Last time we discussed decentralization, I was creating a dat version of this website using Beaker Browser. I want to try some other dex systems, and the next on my list is IPFS. IPFS and dat have similar aims but differ in many respects: dat IPFS Team ... more


Saturday, 29 July, 2017 UTC

JavaScript wats, dissected

JavaScript wats, dissected

JavaScript still gets quite a bit of flak for being weird. I’m going to dig in to some of the most commonly lampooned features and ask whether it really deserves that reputation. Sorting > [14, 1, 2, 3].sort() [ 1, 14, 2, 3 ] What’s weird : 14 is ... more


Friday, 21 July, 2017 UTC

So you want to decentralize your website

So you want to decentralize your website

Blogging in 2017 is absurd: most people don’t own websites anymore. Microblogging might be still in, video blogging might be the last-next frontier, and maybe tinyletter will stay underground-cool. It’s pretty weird to run your own website, to care about ... more


Saturday, 10 June, 2017 UTC

Software - what I use

Software - what I use

Software: I’m very picky about it, and on a daily basis, try to use as little as possible. As I’ve written before, software doesn’t do anything on its own, and there are no silver bullets. In fact, I’ve observed incredibly productive people using singularly ... more


Wednesday, 7 June, 2017 UTC

State of documentation.js

State of documentation.js

I’ve been taking a break from actively maintaining documentation.js, to get some perspective and to see if anyone steps up to fill the gap. Here’s where that’s at: Project health Besides being a truly top-notch game for Mac OS, escape velocity is how ... more


Thursday, 1 June, 2017 UTC

Data science scratchpad

Data science scratchpad

I spent the last computer-week working solely on data science, that mixed, applied practice of statistics, exploratory data analysis, machine learning, and so on. Despite my involvement in simple statistics, classification & prediction-oriented analysis, ... more


Saturday, 20 May, 2017 UTC

Wah, a slightly higher level language for WebAssembly, with a reference compiler in Clojure

Wah, a slightly higher level language for WebAssembly, with a reference compiler in Clojure

I’m finally ready to publicize & link to wah, a slightly higher-level language on top of WebAssembly. It’s what I’m using to slowly assemble simple-statistics-wasm, a WebAssembly port of Simple Statistics. wah is slightly higher-level - it offers ... more


Thursday, 4 May, 2017 UTC

zeroarg

zeroarg

zeroarg is a weird new kind of argument parser. Argument parsers, like yargs, commander, and meow, are utilities that make command-line interfaces possible, by parsing arguments that you give to a program in a shell like bash or zsh into variables in ... more


Tuesday, 2 May, 2017 UTC

Recently

Recently

This was my first month after leaving my full-time job. It was great - I’ve spent time taking care of plants, going on runs, seeing friends, and carefully folding laundry into more optimal shapes. I’ve had fun learning some new things, and giving more ... more


Friday, 28 April, 2017 UTC

Trees, Elm, whiteboardable algorithms

Trees, Elm, whiteboardable algorithms

I’ve been idly thinking about a blog post about the asymptotic complexity of running every street in a city, and in order to illustrate it, I need to visualize some trees: theoretical data structure trees. Since that post is still in the process of baking, ... more


Friday, 21 April, 2017 UTC

Big 3

Big 3

Big 3 is better. It’s the version of Big where I’ve learned from years of user input, from many presentations made, and I wanted to make the best possible presentation framework. Giving up golf The main in-joke with Big before was that it was code-golfed: ... more


Wednesday, 19 April, 2017 UTC

ES6 Modules aren't just syntax sugar

ES6 Modules aren't just syntax sugar

Sidenote protip: the thing that made this blog post writable for me, and a thing that I do and would recommend you try doing, is reading machine-readable output. Compiled, compressed, so-called-unreadable output, is, if you look at long enough, still ... more


Tuesday, 11 April, 2017 UTC

Day 2

Day 2

Yesterday I spent some quality time on documentation.js and other projects. Here’s the gist: I switched documentation.js and gulp-documentation to use prettier for code formatting. Prettier is the way forward with code formatting: instead of checking ... more


Monday, 10 April, 2017 UTC

Working on documentation.js

Working on documentation.js

This week, the second week after I left my full-time job, I’m going to devote some good, focused time to hacking on documentation.js. This is the ‘kickoff post’, so here’s some context for why, what, and how. documentation.js is an API documentation ... more


Friday, 7 April, 2017 UTC

Simple Statistics 3

Simple Statistics 3

Today I released Simple Statistics 3.0.0. Like other projects, it follows semver - so the jump from 2.5.0 to 3.0.0 was required because I changed something in a non-backwards compatible way. That thing is how Simple Statistics handles invalid input, ... more


Monday, 13 March, 2017 UTC

Map, a moderately better dictionary datastructure for JavaScript

Map, a moderately better dictionary datastructure for JavaScript

From the beginning JavaScript objects don’t map from any string to any value Why it matters The ‘right way’ to use objects as data: Object.create(null) Introducing the Map Pro: testing for emptiness is easier with Map Pro: testing for a key’s existence ... more


Monday, 27 February, 2017 UTC

Miscellaneous

Miscellaneous

Like many coders, I also do it for fun. Sometimes for the fun of learning a new technology or solving a problem, or just to explore ideas. Self-education is great, and learning by doing comes naturally to me. So, I’m starting ‘Miscellaneous’, a complement ... more