Domenic Denicola

Archives

Although reverse-chronological order is not the most interesting way to read my writing, you can view it all here.

  1. 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.

  2. 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.

  3. DigitalOcean's Hacktoberfest is Hurting Open Source

    A plea for DigitalOcean to stop making open source maintainers' lives miserable, once a year every year.

  4. 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?

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. Continual Progress in the W3C TAG

    My "campaign speech" asking for W3C members to vote me onto the W3C Technical Architecture Group.

  10. 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.

  11. 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.

  12. 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.

  13. Strict Mode = Static Scoping

    JavaScript strict mode has a lesser-known benefit in how it brings sanity to variable scoping.

  14. 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.

  15. You're Missing the Point of Promises

    The original essay that helped promises win over callbacks in the JavaScript ecosystem.

  16. Portable Node.js Code

    In the early days of Node.js, I often ran into people writing code that excluded Windows users.