Showing all posts tagged #programming:


OSS lazy-loads governance

Posted on April 7th, 2019

A special characteristic of open source software (OSS) is that you don't need institutional support to get started. It's interesting to compare this to physical infrastructure, like dams or railroads. Before you can begin those projects, you need upfront capital, permits, rights-of-way, environmental impact reviews, community hearings... and so much more. By contrast, all you need in order to begin a digital infrastructure project is an inte...

Twitter backup

Posted on August 22nd, 2018

I gave in to my paranoid tendencies today and wrote a little backup script for Twitter, which I figured I'd share here. Two requirements: github.com/sferik/t: A command-line power tool for Twittergithub.com/wireservice/csvkit: A suite of utilities for converting to and working with CSV, the king of tabular file formats To install these from the terminal: Here's the script to do the backup itself (which I plan to run ~1/mo): For some rea...

A steelman for tradition

Posted on June 3rd, 2018

Epistemic status: High confidence about the pros/cons discussed regarding my own experience, fairly low confidence about the parts I heard secondhand. Epistemic effort: Low-to-medium effort. I realized these things were connected while I was in the shower last night, then I spent two hours stream-of-consciousness writing to get them onto the page. I then read it over once for minor editing and shared it with a friend to sanity check. 1. "Bik...

Strategically ignorant

Posted on April 1st, 2018

Effective software developers know how to manage their ignorance. Studying the inner workings of each dependency and every layer of your stack is a luxury you often can't afford, so it's important to know how and when to make leaps of faith. More than any explicit technical knowledge, this intuition is perhaps the biggest thing that differentiates experienced programmers from inexperienced ones. When I first started coding, painful awareness ...

Webpack and Ethereum smart contracts with Typescript

Posted on March 12th, 2018

I originally gave this talk at Typescript Conference 2018. You can find the slides here. TypeScript is a godsend for Webpack and Ethereum developers. In the nascent world of smart contracts, developer-friendly tooling is almost non-existent, the only error message is VM Exception: revert, and bugs can cost millions of dollars. Meanwhile, most Webpack config files are incomprehensible, fragile, and cobbled together from a mess of Stack Overflo...

What's in a name?

Posted on February 6th, 2018

I often use a thesaurus while coding, and I mentioned this fact to a non-programmer friend today. He was shocked, and he said that he thought that programming was mathematical, not lexical. But it’s not so easy to separate out—naming is one of the most important parts of programming (and math!), because it’s how you reduce complexity down to something that you can understand, explain, and maneuver. The conversation reminded me of a post I rea...

Unambiguous Webpack config with Typescript

Posted on June 19th, 2017

You can write your Webpack config in Typescript, and it’ll save you a huge amount of pain. Webpack’s docs would lead you to believe that using Typescript requires a hacky customized set up, but in fact it’s as simple as installing a single module and changing your extensions from .js to .ts! You can find the rest of the post at the Webpack blog.