Although reverse-chronological order is not the most interesting way to read my writing, you can view it all here.
-
Learning Japanese Part-Time
After 6.5 years of studying Japanese, and only getting moderately far, I reflect on how to most effectively study a second language while only being able to spare an hour or two a day.
-
ChatGPT Is Not a Blurry JPEG of the Web
Are LLMs just compressed representations of their training data, or something more? The "simulators" hypothesis proposes that they're much more like a human imagination, instantiating simulacra of various entities.
-
DigitalOcean's Hacktoberfest is Hurting Open Source
A plea for DigitalOcean to stop making open source maintainers' lives miserable, once a year every year.
-
Mathematical Consciousness
What if your mind is nothing more than evolving data—and what if the cosmos is nothing more than a static mathematical object?
-
Reading from Sockets
Designing JavaScript streams APIs for network sockets, on top of non-blocking syscalls, leads us to the concept of push vs. pull sources.
-
Reading from Files
Designing JavaScript streams APIs for file I/O leads us to consider bring-your-own-buffer APIs and how to avoid race conditions.
-
Byte Sources: Introduction
The intro to a short series of posts explaining some design decisions behind the web streams APIs, and how they abstract over underlying I/O interfaces.
-
The Revealing Constructor Pattern
A new-at-the-time JavaScript design pattern, used by several web APIs, to preserve encapsulation while keeping a functional constructor.
-
Continual Progress in the W3C TAG
My "campaign speech" asking for W3C members to vote me onto the W3C Technical Architecture Group.
-
The Extensible Web
A view from 2013 of how the web platform has been evolving recently, and how it can evolve better going forward by using the extensible web principles.
-
ES6 Iterators, Generators, and Iterables
A reference guide for JavaScript iterator and generator terminology, from back when they were just starting to see implementations in JavaScript engines.
-
Explaining Away the Web's Magic
An introduction to the extensible web manifesto, a web API design philosophy that espouses exposing primitives and letting developers build high-level abstractions that are competitive with those shipped with the browser.
-
Strict Mode = Static Scoping
JavaScript strict mode has a lesser-known benefit in how it brings sanity to variable scoping.
-
Peer Dependencies
I added the original peer dependencies feature to npm 1.2.10, to allow plugins to express what versions of a host package they're compatible with.
-
You're Missing the Point of Promises
The original essay that helped promises win over callbacks in the JavaScript ecosystem.
-
Portable Node.js Code
In the early days of Node.js, I often ran into people writing code that excluded Windows users.