Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
How implementing an ESLint rule led to changes in how people write JavaScript
-
Reflections on my journey from a classical music background to a career in big tech
-
Youtube videos of a choral group I used to sing with
-
Youtube video of the talk I gave at GraphQL Conf 2024 covering advanced client error handling and its implications for potentially fundamentally solving the problem of pervasive nullability in GraphQL
-
A video from earlier this year of my wife Chelsea Hollow and myself singing the soprano and bass solos in Mozart’s Requiem
-
I caught up with Jerod and Adam about nostalgia, music, file sharing, Napster and the weird stuff I found in corrupt Winamp skins
-
Explaining how exactly the UI = f(state) model tames code complexity
-
This clip from Malcolm in the Middle perfectly encapsulates the experience of trying to get anything done with software
-
Sharing this repository which teaches data structures through charmingly commented JavaScript implementations
-
Sharing Bob Nystrom’s excellent blog post explaining the Pratt Parser algorithm which offers a very clean way to model operator precedence
-
One of the most fascinating pieces of software art/trolling/humor I’ve ever seen
-
Why I chose to use Notion as the backing CMS for the Notes portion of this site, and the technical details of how it’s implemented
-
Shhhh.
-
The Winamp Skin Museum is powered by an sqlite3 database containing 1.2gb of metadata about 86,000 Winamp skins and exposed as a public GraphQL endpoint
-
Generating photo mosaics from Winamp Skins
-
I started looking through corrupt Winamp skins and it lead me down some very strange rabbit holes
-
I wrote a simple lint rule which detected hundreds of user facing bugs at Meta and inspired my colleague to ship a similar validation to every major JS parser
-
I found some interesting information about Next.js’ elusive unstable_cache API
-
The funniest Alexa interaction I’ve ever had
-
Bringing Implementation-First GraphQL to TypeScript via a novel static analysis approach.
-
Defining a meaningful distinction within code-first GraphQL server libraries.
-
I contributed a rule to ESLint that catches a surprisingly wide variety of logic bugs.
-
Defaulting to empty string is a lie we tell our type checker.
-
Python Context Managers are a great way to model resources with setup and teardown.
-
I wrote a VS Code extension which shows subscript parentheses in your JS code to help clarify operator precedence.
-
I made a simple website where you can instantly open and view any .ani file for free.
-
Video of my TSConf 2021 talk entitled "Faster, Safer: Compiling Untrusted Code to WebAssembly in the Browser".
-
A reprint of an interview I did with the Italian design magazine Progetto Grafico about Winamp's significance in our digital culture.
-
Making a video that smoothly scrolls through 70k Winamp skins over the course of 12 hours.
-
How my Twitter bot @winampskins works under the hood, how it has evolved over time, and what I've learned from the project.
-
I used thousands of screenshots of Winamp skins and StyleGAN2 to train an ML model to generate more Winamp skins.
-
Writing an in-browser compiler to compile untrusted user-supplied code to fast and secure Wasm at runtime.
-
Video of a talk I gave at Speakeasy JS about the engineering and design philosophy behind the Winamp Skin Museum.
-
Technical breakdown of how the NPM module ani-cursor converts .ani files into CSS animations in the browser.
-
Thoughts on what I think made the Winamp Skin Museum successful.
-
After more than four years, I'm finally happy with how Webamp implements balance.
-
Read the transcript of a live Q/A I did about Webamp and Nuclide.
-
I talked about Winamp2-js on the Changelog podcast.
-
Why I'm perfectly happy to have built something that nobody really uses.
-
I appeared on the Zeal Interestings Podcast to talk about Winamp2-js.
-
Demo videos of Winamp2-js' more interesting features with notes on how they are implemented.
-
Discovering, reproducing, and working around a bug that crashes Safari hard.
-
A private, mobile-first web app that writes your journal directly to Dropbox.
-
How to remove code and still increase your library weight.
-
Learn the basics of functional programming by iteratively refactoring imperative code.
-
My work interviewed me as part of their "employee spotlight" series.
-
Video and PDF tablature of a Gilbert and Sullivan aria arranged for ukulele.
-
Making the case against allowing linting errors in master.
-
A summary of the podcasts to which I subscribe.
-
I've added the equivalent of 30 hours to my week, all dedicated to reading and listening.