Showing all posts tagged #programming:
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...
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...
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.
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 ...
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...
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...
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.