RSSAmplifier

Blog

Jordan Eldredge's Blog

Personal blog of Jordan Eldredge, software engineer and musician.

jordaneldredge.comRSS feed ↗207 posts

Latest posts

Talk: React Server Components Vs. GraphQL

Sharing the video of the talk I gave at GraphQL Conf. 2026 about the fundamentals underlying GraphQL and React Server Components and they ways in which they compete and compose

Building a metadata database with AI agents

Rebuilding a 20 year old side project in the AI era. Some things I’ve learned about building applications where agents act as users.

Talk: Grats - Bringing Implementation-First GraphQL to TypeScript

Sharing the video of one of three talks I gave at GraphQL Conf. 2025. in Amsterdam.

This blog has secrets

Shh… this blog has secret features

Prevent MacOS from inserting a period after two spaces

How to disable the feature of MacOS that auto inserts a period after typing two spaces

Markdown is great for encoding test snapshots

Making the case for encoding test snapshots as markdown

Aliasing alias

The time I accidentally aliased the command alias and fork bombed myself

Keynote: GraphQL at Meta

Sharing the video of one of three talks I gave at GraphQL Conf. 2025. in Amsterdam.

Talk: The Big Ideas in Relay

Sharing the video of one of three talks I gave at GraphQL Conf. 2025. in Amsterdam.

“’S Wonderful” by George Gershwin

Snuck in a few minutes to record myself playing through this Gershwin tune on the piano

Winamp in Your Pocket: 63 artist depictions of physical Winamp players

A massive dump of every 3D rending and artist concept of physical versions of Winamp

A Mental Model for Data in UI Applications

A technology-agnostic model of the layers that naturally arise in any reasonably sized application, and the abstract properties of each layer.

React’s useTransition and state update reordering

Clarifying how React will sometimes apply state updates out of order when using concurrent features, and a best practice which can help you avoid it.

2018 Talk by Tracey Jaquith: Webamp at archive.org

Sharing a 2018 lightning talk given by Tracey Jaquith about adding Webamp to the Internet Archive

SQLite Railroad Diagrams

I love the way SQLite uses these visual diagrams to describe the grammar of their SQL dialect

[2012] FachMe mentioned on Voicebox

Recalling the time in 2012 when my opera related software project was discussed on a local public radio program

Podcast episode on the history of the Real Book

An excellent podcast episode detailing the early music piracy of jazz fake books and their codification as the Real Book

SQLite can emit ASCII art diagrams of its parse AST

For debugging purposes you can compile SQLite with special flags to make it print out its ASTs in a special ASCII format

List Out of Lambda

Sharing a brilliant post in which Steve Losh shows, in JavaScript, how you can build up the constructs of arithmetic and eventually arrays using only lambda functions

Preserving Winamp skins for posterity at the Internet Archive

The story of how the Internet Archive came to preserve over 100k Winamp skins and include Webamp as one of their embedded media players

My one, awkward, Winamp Skin

Despite spending a fair portion of my adult life thinking about keeping Winamp skins accessible and preserved. But I was never a real skin creator myself.

My old websites

Sharing a hilarious collection of screenshots of websites I built as a kid

An archive of 31k GeoCities badge images

Sharing a collection of 31k website badges scraped from archives of user-generated GeoCities sites

Teenagers making Winamp skins in 2025

Hack Club is running a program where teens who make a Winamp skin, and upload it to the Winamp Skin Museum, will be rewarded with a prize

Grats’ very nice testing strategy

Sharing a document I wrote about a testing strategy which I’ve found quite effective for Grats

My blog’s audio player

Details on the audio player I’ve added to this blog

An SQL murder mystery

A fun murder mystery in the format of an SQLite database

A C program who’s source code is a Magic Eye

A 2001 International Obfuscated C Code Contest winner who’s code forms a magic eye and which can produce a magic eye for any input

{transitions} = f(state)

Thinking about the React component tree as modeling a state machine can help clarify the implications of asynchronous updates and React’s concurrent features.

“A Dream is a Wish Your Heart Makes” (piano/whistling)

Playing Disney songs at the piano on a rainy Friday

Fumbling through “Aria” from Bach’s Goldberg Variations

A quick recording I made of myself fumbling through one of my favorite pieces to play at the piano

“A Glorious Dawn”, a brilliant remix of Carl Sagan and Stephen Hawking

I still frequently think about this 16 year old remix

Dr. Richard Hipp Lectures on SQLite

SQLite’s creator Dr. Richard Hipp shares the story and implimentation of SQLite

Kids on Youtube playing my ukulele arrangement

Sharing and reflecting on four videos from Youtube of kids from Malaysia playing a simple ukulele arrangement I made in 2011

Philip Glass Piano Works by Víkingur Ólafsson

Sharing an album I’ve been obsessed with this year

“The Old Dope Peddler” by Tom Lehrer

Recorded another Tom Lehrer song over my lunch break

Open Goldberg Variations

Sharing one of my favorite music projects: a gorgeous, free - as in freedom - recording of J.S. Bach’s Goldberg Variations

You can now “read” this blog as a podcast

I wired this blog up to Open AI’s text-to-speech API so you can listen to individual posts or subscribe to the blog as a podcast.

“A Christmas Carol” by Tom Lehrer

Sharing a quick video I made of Tom Lehrer’s very funny song “A Christmas Carol”

Partitioning complexity

Sharing Kent Beck’s excellent article describing how we can find modes of working which can help manage complexity as it scales

Client data should not need to exceed O(screen size)

A rule of thumb for thinking about scaling client application state

Rendering “modern” Winamp skins in the browser

Writing an interpreter for a custom bytecode opens the door for rendering interactive custom Winamp skins in the browser

Hyper-Reality

This incredible 2016 video presents a dystopian, visually opulent, and depressingly believable augmented reality future.

Webamp can pose for the camera

Webamp.org has a feature that lets it pose as if it were in action

Code golfing interview questions

A very silly code golf solution I came up with that I’m still amused by ten years later

The Birth & Death of JavaScript

Sharing this classic brilliant, hilarious and prophetic talk about the crazy language that is JavaScript

100k skins: Reflections on the Winamp Skin Museum’s upload flow

A technical breakdown of the Winamp Skin Museum’s over-engineered upload flow, and how it helped create a positive feedback loop

Reactive GraphQL Architecture

A vision for using GraphQL on the client for local-first apps, apps using e2e encryption, and other apps with heavy client state

Why use the Relay Connection Spec?

My response to a Reddit user’s question about the value of the Relay Connection Spec

“KillsParentOnException” a lesson in API naming

An internal Meta decorator name which taught me something important about API naming