Items tagged "javascript"


Grats: A More Pleasant Way to Build TypeScript GraphQL Servers

Bringing Implementation-First GraphQL to TypeScript via a novel static analysis approach.


Interesting Bugs Caught by ESLint’s no-constant-binary-expression

I contributed a rule to ESLint that catches a surprisingly wide variety of logic bugs.


?? "" is a Code Smell

Defaulting to empty string is a lie we tell our type checker.


Implementing Python's Context Manager Pattern in JavaScript

Python Context Managers are a great way to model resources with setup and teardown. Here's how to implement that pattern in JavaScript.


A VSCode Extension to Clarify Operator Precedence in JS

I wrote a VS Code extension which shows subscript parentheses in your JS code to help clarify operator precedence.


Open .ani Animated Cursors Online

I made a simple website where you can instantly open and view any .ani file for free.


I gave a talk about compiling to WebAssembly in the browser

Video of my TSConf 2021 talk entitled "Faster, Safer: Compiling Untrusted Code to WebAssembly in the Browser".


Speeding Up Webamp's Music Visualizer with WebAssembly

Writing an in-browser compiler to compile untrusted user-supplied code to fast and secure Wasm at runtime.


Rendering Animated .ani Cursors in the Browser

Technical breakdown of how the NPM module ani-cursor converts .ani files into CSS animations in the browser.


Mainlining Nostalgia: Making the Winamp Skin Museum

Thoughts on what I think made the Winamp Skin Museum successful.


Implementing a Robust Web Audio API Balance Node

After more than four years, I'm finally happy with how Webamp implements balance.


A Tour of Winamp2-js Features

Demo videos of Winamp2-js' more interesting features with notes on how they are implemented.


Crash Safari with the Web Audio API

Discovering, reproducing, and working around a bug that crashes Safari hard.


Markdown Today: Journal from any browser

A private, mobile-first web app that writes your journal directly to Dropbox.


Gzip hates your DRY code

How to remove code and still increase your library weight.


Functional JavaScript: Learn by refactoring

Learn the basics of functional programming by iteratively refactoring imperative code.


The game Snake in 90 lines of JavaScript

I wrote a minimal implementation of the game Snake in JavaScript.


You're underusing Underscore

Ten common mistakes people make when using Underscore, and a linting tool to detect them.


UriBin: A self-replicating paste bin that lives in url shorteners

I wrote a mad-scientist project that creates self-replicating paste bins that live in URL shorteners.


Jerkll: A tiny static site generator that runs in your browser

Replacing Jekyll with 14 lines of run-anywhere JavaScript.


I think my new paste bin should be immune to takedown notices

I recently released a new website called HashBin which avoids being able to see the content the pastes it helps create.


How Winamp2-js loads native skins in your browser

How we get from a binary Winamp skin file to seeing Winamp2-js take on the look of your favorite skin, all within the limitations of your browser.


Creating the Shepard Tone audio illusion with JavaScript

The Shepard Tone is an audio illusion that creates the impression of an endlessly rising or falling tone.


Drawing mandalas with JavaScript and canvas

Rewriting a PHP script from 2008 in JavaScript.


I'm glad I factored out jQuery

I refactored Winamp2-js to not depend on jQuery, and learned native JavaScript is not so bad.


Infinite javascript array using AJAX

A simple way to asynchronously load suggestions into an array in JavaScript.


How the React model tames N by N code complexity

Explaining how exactly the UI = f(state) model tames code complexity


Itsy Bitsy Data Structures

Sharing this repository which teaches data structures through charmingly commented JavaScript implementations


Using Notion as my CMS with Next.js

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


A nice way to render Markdown in React apps

A pattern for rendering Markdown in React apps directly from an AST without any serialized HTML


How Relay Enables Optimal Data Fetching

Sharing a blog post I wrote about what makes Relay so special


Web Audio regression in Safari iOS 17 Beta

Documenting a regression, I observed in iOS’ implementation of the web audio API


On ephemeral UI, fragile app state, and anxiety

Ephemeral UI make us nervous because we’ve learned that there’s a high likelihood lose our state by accident