Jordan Eldredge's Blog

Personal blog of Jordan Eldredge, software engineer and musician.
https://jordaneldredge.com/ (RSS)
visit blog
“The Old Dope Peddler” by Tom Lehrer
11 Dec 2024 | original ↗

Recorded another Tom Lehrer song over my lunch break

Open Goldberg Variations
8 Dec 2024 | original ↗

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
8 Dec 2024 | original ↗

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
7 Dec 2024 | original ↗

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

Partitioning complexity
22 Nov 2024 | original ↗

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)
21 Nov 2024 | original ↗

A rule of thumb for thinking about scaling client application state

Rendering “modern” Winamp skins in the browser
20 Nov 2024 | original ↗

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

Hyper-Reality
31 Oct 2024 | original ↗

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

Webamp can pose for the camera
30 Oct 2024 | original ↗

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

Code golfing interview questions
26 Oct 2024 | original ↗

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

The Birth & Death of JavaScript
23 Oct 2024 | original ↗

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
21 Oct 2024 | original ↗

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
16 Oct 2024 | original ↗

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?
10 Oct 2024 | original ↗

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

“KillsParentOnException” a lesson in API naming
8 Oct 2024 | original ↗

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

no-unused-binary-expressions: From code review nit to ecosystem improvements
7 Oct 2024 | original ↗

How implementing an ESLint rule led to changes in how people write JavaScript

From opera to tech
29 Sept 2024 | original ↗

Reflections on my journey from a classical music background to a career in big tech

Videos: I used to sing with a men’s chorus
28 Sept 2024 | original ↗

Youtube videos of a choral group I used to sing with

My GraphQL Conf 2024 talk: Semantic Nullability
16 Sept 2024 | original ↗

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 of my wife and I singing Mozart’s Requiem
16 Sept 2024 | original ↗

A video from earlier this year of my wife Chelsea Hollow and myself singing the soprano and bass solos in Mozart’s Requiem

I was on the Changelog podcast again
24 Aug 2024 | original ↗

I caught up with Jerod and Adam about nostalgia, music, file sharing, Napster and the weird stuff I found in corrupt Winamp skins

How the React model tames N by N code complexity
6 Aug 2024 | original ↗

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

Hal fixing a light bulb (what software development always feels like to me)
2 Aug 2024 | original ↗

This clip from Malcolm in the Middle perfectly encapsulates the experience of trying to get anything done with software

Itsy Bitsy Data Structures
2 Aug 2024 | original ↗

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

Bob Nystrom explains the Pratt Parser algorithm
2 Aug 2024 | original ↗

Sharing Bob Nystrom’s excellent blog post explaining the Pratt Parser algorithm which offers a very clean way to model operator precedence

Windows93.net
25 Jul 2024 | original ↗

One of the most fascinating pieces of software art/trolling/humor I’ve ever seen

Using Notion as my CMS with Next.js
24 Jul 2024 | original ↗

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

The Winamp Skin Museum has a secret debug mode
24 Jul 2024 | original ↗

Shhhh. Don't tell anyone, but the Winamp Skin Museum has a secret debug mode.

The Winamp Skin Museum is powered by an sqlite3 database
24 Jul 2024 | original ↗

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

Winamp Skin Mosaics
24 Jul 2024 | original ↗

Generating photo mosaics from Winamp Skins

The bizarre secrets I found investigating corrupt Winamp skins
24 Jul 2024 | original ↗

I started looking through corrupt Winamp skins and it lead me down some very strange rabbit holes

How I indirectly helped remove stray characters from across the web
24 Jul 2024 | original ↗

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

Next.js’s unstable_cache() demystified
24 Jul 2024 | original ↗

I found some interesting information about Next.js’ elusive unstable_cache API

Grats: A More Pleasant Way to Build TypeScript GraphQL Servers
5 Mar 2024 | original ↗

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

Implementation-First GraphQL
17 Apr 2023 | original ↗

Defining a meaningful distinction within code-first GraphQL server libraries.

Interesting Bugs Caught by ESLint’s no-constant-binary-expression
20 Jun 2022 | original ↗

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

?? "" is a Code Smell
12 Apr 2022 | original ↗

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

A VSCode Extension to Clarify Operator Precedence in JS
23 Nov 2021 | original ↗

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

Implementing Python's Context Manager Pattern in JavaScript
23 Nov 2021 | original ↗

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

Open .ani Animated Cursors Online
19 Nov 2021 | original ↗

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
18 Nov 2021 | original ↗

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

This Software is Punk Rock
28 Sept 2021 | original ↗

A reprint of an interview I did with the Italian design magazine Progetto Grafico about Winamp's significance in our digital culture.

Generating a 12 Hour Youtube Video With Python
12 Sept 2021 | original ↗

Making a video that smoothly scrolls through 70k Winamp skins over the course of 12 hours.

Building the @WinampSkins Twitter Bot
28 Jul 2021 | original ↗

How my Twitter bot @winampskins works under the hood, how it has evolved over time, and what I've learned from the project.

Using Machine Learning to Generate Winamp Skins
7 Jul 2021 | original ↗

I used thousands of screenshots of Winamp skins and StyleGAN2 to train an ML model generate more Winamp skins.

Speeding Up Webamp's Music Visualizer with WebAssembly
1 Apr 2021 | original ↗

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

Talk: Design as an Optimization Problem
8 Jan 2021 | original ↗

Video of a talk I gave at Speakeasy JS about the engineering and design philosophy behind the Winamp Skin Museum.

Rendering Animated .ani Cursors in the Browser
9 Dec 2020 | original ↗

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
23 Sept 2020 | original ↗

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

Implementing a Robust Web Audio API Balance Node
16 Apr 2019 | original ↗

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

I did a Q/A with the Reactiflux community
18 May 2018 | original ↗

Read the transcript of a live Q/A I did about Webamp and Nuclide.

I did an interview for the Changelog Podcast
6 Apr 2018 | original ↗

I talked about Winamp2-js on the Changelog Podcast.

Making the case for building something useless
10 Mar 2018 | original ↗

Why I'm perfectly happy to have built something that nobody really uses.

I talked about Winamp2-js on the Zeal Interestings Podcast
9 Mar 2018 | original ↗

I appeared on the Zeal Interestings Podcast to talk about Winamp2-js.

A Tour of Winamp2-js Features
8 Mar 2018 | original ↗

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

Crash Safari with the Web Audio API
15 Aug 2017 | original ↗

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

Markdown Today: Journal from any browser
7 Apr 2017 | original ↗

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

Gzip hates your DRY code
13 Mar 2017 | original ↗

How to remove code and still increase your library weight.

Functional JavaScript: Learn by refactoring
11 Nov 2016 | original ↗

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

I was interviewed for a podcast
29 Oct 2016 | original ↗

My work interviewed me as part of their "employee spotlight" series.

"Ah leave me not to pine" ukulele solo
20 Sept 2016 | original ↗

Video and PDF tablature of a Gilbert and Sullivan aria arranged for ukulele.

Why linting errors should cause tests to fail
16 Sept 2016 | original ↗

Making the case against allowing linting errors in master.

Podcasts I like
14 Jul 2016 | original ↗

A summary of the podcasts to which I subscribe.

Listen Faster: How I found 30 extra hours in my week
22 Jun 2016 | original ↗

I’ve added the equivalent of 30 hours to my week, all dedicated to reading and listening.

The game Snake in 90 lines of JavaScript
15 Apr 2016 | original ↗

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

Breaking into open source
31 Mar 2016 | original ↗

A detailed guide for those who are struggling to find a way to contribute to open source.

Vim Awesome: Talk at the San Francisco Vim meetup
16 Mar 2016 | original ↗

Video of a talk I gave introducing and explaining Vim Awesome.

You're underusing Underscore
18 Feb 2016 | original ↗

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

UrlMeme: Make memes anywhere you can type a URL
27 Sept 2015 | original ↗

I made a meme generator where the URL is the user interface.

I gave a talk: Finding Creativity Through Constraints
25 Sept 2015 | original ↗

In which I discuss how constraints have inspired my creative process as a musician and programmer.

I think my new paste bin should be immune to takedown notices
13 Mar 2015 | original ↗

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
9 Mar 2015 | original ↗

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
4 Jan 2015 | original ↗

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

Drawing mandalas with JavaScript and canvas
2 Jan 2015 | original ↗

Rewriting a PHP script from 2008 in JavaScript.

Surviving Hacker News traffic with the help of free CDNs
16 Dec 2014 | original ↗

Free CDNs are a thing, and they can be put to use almost instantaneously during an unexpected traffic spike.

I'm glad I factored out jQuery
13 Dec 2014 | original ↗

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

Why I switched from Vundle to Plug
10 Sept 2014 | original ↗

I've found Plug to be superior to Vundle in several regards.

Speed up Laravel tests with database transactions
30 May 2014 | original ↗

How I used transactions to make my tests run eight times faster.

Globally install PHP command-line tools with Composer
25 Apr 2014 | original ↗

How to install CLI tools wiht Composer.

Writing a custom Codeception module
19 Mar 2014 | original ↗

How to write a custom Codeception module and distribute it as a Composer package.

Infinite javascript array using AJAX
10 Feb 2014 | original ↗

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

Testing emails with Codeception
23 Jan 2014 | original ↗

A Codeception helper to test emails sent by your application.

Acceptance testing with Codeception and Vagrant
22 Jan 2014 | original ↗

How to get Codeception acceptance tests working in a Vagrant workflow.

Intro to Vim Talk
16 Jan 2014 | original ↗

I gave a talk at the San Francisco Vim Enthusiasts user group.

The two characters that were destroying our CodeIgniter sessions
10 Dec 2013 | original ↗

Documenting a bug in CodeIgniter that causes sessions to be irretrievable.

A trick to get consistent checkbox form values
6 Dec 2013 | original ↗

A tehcnique to ensure that unchecked checkboxes submit a value of zero with PHP apps.

Laravel 4.1 handles ambiguous routes differently than 4.0
5 Dec 2013 | original ↗

Documenting a change in Laravel 4.1 that affects how ambiguous routes are handled.

My Git alias for shipping a feature branch
4 Dec 2013 | original ↗

A handy Git alias for merging a feature branch into master and pushing it to the server.

Setting up PHP completion in Vim
4 Dec 2013 | original ↗

.vimrc settings for PHP completion in Vim

Better indent support for PHP in Vim
18 Nov 2013 | original ↗

A .vimrc snippet for better indent support for PHP with HTML.

Issue tracking for your workflow
18 Nov 2013 | original ↗

I've been using GitHub issues to track problems with my workflow.

WhatTheFuckShouldIBeForHalloween.com
16 Oct 2013 | original ↗

Generate infinite sexy Halloween costume ideas.

Free Edition of Charles Gounod’s Le Crucifix
1 Oct 2013 | original ↗

I typeset a Creative Commons edition of Charles Gounod's a cappella choral work 'Le Crucifix'.

Piano Four-Hands Arrangement (Wedding Gift)
19 Sept 2013 | original ↗

As a wedding gift for Chelsea I arranged a piano four-hands version of the song her dad wrote to sing her to sleep.

Papageno's Glockenspiel-kulele [Ukulele Ringtone]
26 May 2013 | original ↗

A ringtone for Chelsea based on Papageno's Glockenspiel music from Mozart's The Magic Flute.

Silly fach generator
2 Jan 2013 | original ↗

I created a website that will generate silly fach names.

One way "curl pipe sh" install scripts can be dangerous [proof of concept]
8 Nov 2012 | original ↗

One way in which 'curl pipe sh' install scripts can be dangerous.

Charlie Chaplin's Smile: Ukulele Solo
22 Oct 2012 | original ↗

A solo ukulele arrangement of Charlie Chaplin's 'Smile'.

Walking Away [Ukulele]
15 Sept 2012 | original ↗

An original song from the vaults. Recorded on my first ukulele into my first (MacBook) laptop.

Tom Waits' "Ol' 55" for Jared and Kathleen [Ukulele]
12 Sept 2012 | original ↗

I recorded a simple version of Tom Waits' 'Ol' 55' for my friends Jared and Kathleen's wedding.

Chelsea's Text Tone [Ukulele]
26 Aug 2012 | original ↗

A tiny ukulele track for Chelsea's iPhone text tone.

I Wish I Had The Time [Ukulele/Vocal Multitrack]
26 Aug 2012 | original ↗

I wrote and recorded a song about not having time to write songs.

I Love You Truly [Ukulele Mp3]
10 Feb 2012 | original ↗

I arranged and recorded 'I Love You Truly' on electric ukulele for Chelsea.

[Ukulele Solo] Never On Sunday
8 Nov 2011 | original ↗

I arranged and recorded a solo ukulele version of the classic song 'Never on Sunday'.

Backyard Ukulele Session: Ukulele Videos with Chelsea
4 Nov 2011 | original ↗

Chelsea and I recorded a few songs in our backyard with the help of Beau Lambert.

I Come To the Garden Alone (For George Morris)
18 Jul 2011 | original ↗

I arranged and recorded the hymn 'In The Garden' on ukulele in memory of George Morris.

FachMe: Find your roles
29 May 2011 | original ↗

I built a website to help opera singers discover role which might suite their voice.

"The Surprise Slide" Ukulele Micro Song
22 May 2011 | original ↗

A micro song for Chelsea, written and recorded while she was in San Diego.

Electric ukulele ring-tone for Chelsea
21 Sept 2010 | original ↗

While visiting my parent's cabin in the woods, I created a little ring-tone song with my Electric Ukulele for Chelsea.

Irving Berlin's "Blue Skies" on Eleuke electric ukulele
21 Sept 2010 | original ↗

I arranged and recorded Irving Berlin's 'Blue Skies' on my new Eleuke electric ukulele.

Jazz Ukuele Video: What's New?
2 Apr 2010 | original ↗

I arranged and recorded a jazz ukulele version of the classic song 'What's New?'

Jazz Ukulele "Love Is a Song" from Bambi
6 Feb 2010 | original ↗

I arranged and recorded 'Love Is a Song' from Walt Disney's Bambi on my new ukulele.

Multitrack Video: "In My Room"
4 Jan 2010 | original ↗

On New Years Day some friends and I recorded a multitrack video of The Beach Boys' song 'In My Room'.

Video: I Made a $4 Electric Ukulele
30 Dec 2009 | original ↗

I got bored over winter break and make an electric ukulele out of stuff I found in my parent's basement.

Mary Had a Little Lamb - Parallel Fifths
13 Dec 2009 | original ↗

My dad and I recorded a version of Mary Had a Little Lamb where I sang and played the same song a fifth above.

Original Song: "Driving"
28 Nov 2009 | original ↗

I wrote a song for Chelsea after three years of dating.

Colors of The Wind (Alice n' The Irving Street Kidz)
22 Nov 2009 | original ↗

My friends and I recorded a cover of 'Colors of The Wind' from the major motion picture _Pocahontas_.

Eight-Part Barbershop Tag In Parallel Fifths
14 Nov 2009 | original ↗

Experimenting with recording every part in a barbershop tag a perfect fifth higher to create jazzy chords.

[Multitrack] "That's Why I Love You"
21 Aug 2009 | original ↗

I recorded an a cappella version of 'That's Why I Love You' by The Flamingos.

[Multitrack] Gilbert + Lisa 30th Anniversary
30 Jul 2009 | original ↗

I recorded a little audio drama for my parents 30th wedding anniversary featuring characters and musical excerpts from the hilarious musical Forever Plaid.

Happy Birthday/PhD Nathaniel: "That's Mathematics"
6 Jul 2009 | original ↗

I got my family to record a math themed song for my brother's birthday and graduation.

[Original Song] "Parking Garage"
5 Jul 2009 | original ↗

I recorded a short song in a parking garage.

[Original Song] "Our Love Will Last As Long"
4 Jul 2009 | original ↗

I wrote and recorded a novelty love song for Chelsea.

"Lazy Afternoon" Barbershop Tag
29 Jun 2009 | original ↗

I wrote and recorded a barbershop tag for Chelsea.

We're Going To Be Friends (White Stripes Cover)
30 May 2009 | original ↗

I recorded a cover of 'We're Going To Be Friends' by the White Stripes with multiple voice parts and ukulele.

Alice 'n The Irving Street Kidz
21 May 2009 | original ↗

My friends and I recorded a rendition of 'I Want to Hold Your Hand' by The Beatles.

Refresh Cannon Bot
7 May 2009 | original ↗

Geoff's Boring Programming Stuff wrote a bot to beat my Refresh Cannon game.

Refresh Cannon
5 May 2009 | original ↗

I turned my forum avatar image into an interactive projectile aiming game.

Refresh Hero Avatar Game
30 Apr 2009 | original ↗

I turned my forum avatar image into an interactive rhythm streak game.

Original Barbershop Tag: You Beside My Side
2 Apr 2009 | original ↗

I wrote a barbershop tag for my girlfriend Chelsea.

Endlessly rising Shepard Tone
25 Mar 2009 | original ↗

I created the Shepard Tone audio illusion using Lilypond.

Barbershop Happy Birthday For Amanda
14 Mar 2009 | original ↗

I multitracked 'Happy Birthday' for my friend Amanda Ortmayer's birthday.

Further Backwards ABCs Foolishness
25 Feb 2009 | original ↗

I sing the alphabet song with the melody backwards, the words backwards while showing solfegge hand signs and conducting.

Backwards ABCs One Step Nerdier
15 Feb 2009 | original ↗

I recorded myself singing the ABCs backwards while playing the ukulele.

The ABCs Backwards
6 Feb 2009 | original ↗

I learned to sing the alphabet song backwards and recorded it in Golden Gate Park.

Doo-Wop Multitrack: "Earth Angel" (for Chelsea)
17 Jan 2009 | original ↗

I recorded a doo-wop arrangement of 'Earth Angel' for my girlfriend Chelsea.

Barbershop Multitracks with Zane
29 Dec 2008 | original ↗

I recorded two barbershop tags with my friend Zane Fiala.

Shrewd Simon Short
20 Nov 2008 | original ↗

I recorded myself reading a tongue twister story about Shrewd Simon Short.

How I DDOSed myself with an avatar
12 Nov 2008 | original ↗

An inventive trick with dynamically generated avatar images, or: How I learned the hard way just how motivated people are by leader boards.

Play the card game "War" in my avatar
12 Nov 2008 | original ↗

I programed a dynamic avatar that plays the card game war.

Php only serving one page at a time [fix!]
30 Oct 2008 | original ↗

I uncovered the reason why my php server was only serving one page at a time.

Your Debut Album (Automated)
12 Oct 2008 | original ↗

I wrote a PHP script that automates a hilarious method for generating Your Debut Album.

PHP: Avatar Hack
9 Oct 2008 | original ↗

A php script that generates an image for use as an avatar.

New Song: Ballad of the man who can't sing
4 Aug 2008 | original ↗

I wrote and recorded an original song about not being able to write.

Drawing mandalas with PHP for my Papa
28 Jun 2008 | original ↗

I wrote a PHP script that generates mandalas based on the size and number of points you give it.

Get alerts when the emails you send are opened
28 Jun 2008 | original ↗

I wrote a script that sends you an email when the image you embed in your emails is opened.

Multi-track Jazz Standard: Everything I have is yours
22 Jun 2008 | original ↗

I record a multi-track of the jazz standard Everything I Have is Yours, with strange harmonies.

Video: Barbershop tag taught with hand signs
14 Jun 2008 | original ↗

I recorded a video multitrack of a barbershop tag, showing all four parts in sol-feg hand signs.

Video: Overtone singing
14 Jun 2008 | original ↗

I experiment with overtone singing.

Barbershop Multitrack Tag: Overtone experiment / robot quartet
31 May 2008 | original ↗

I recorded a barbershop tag in a robot voice to experiment with overtones.

Barbershop multi-track: Happy Anniversary Chelsea
24 May 2008 | original ↗

I recorded a barbershop tag for Chelsea on our year and a half anniversary.

Alvin sings Schumann's Widmung
8 May 2008 | original ↗

I tricked my professor into thinking I found a recording of the Chipmunks singing Schumann's Widmung.

Barbershop multi-track: Cry
7 May 2008 | original ↗

I recorded a multi-track of the barbershop tag 'Cry'

Barbershop multi-track: I Love To Sing 'Em (Best tag so far!)
15 Apr 2008 | original ↗

I recorded a multi-track of the barbershop tag 'I Love To Sing 'Em'

Found: "still, the fire hasn't burnt out yet for us Baby, just keep holding on to me Alfonso"
23 Mar 2008 | original ↗

I found a letter in which the writer tries to assure the recipient that the fire hasn't burnt out yet for them.

Found: Envelope of old photos and slides
12 Mar 2008 | original ↗

I found an envelope of old photos and slides in a PG&E bill return envelope.

Barbershop multi-track: Original cell phone ring tone tag
11 Mar 2008 | original ↗

I wrote and recorded a multi-track of a barbershop tag for my cell phone ring tone.

Barbershop multi-track: Who'll Take My Place When I'm Gone
11 Mar 2008 | original ↗

I recorded a multi-track of the barbershop tag 'Who'll Take My Place When I'm Gone'

Found: Three smutty paper airplanes
10 Mar 2008 | original ↗

Three paper airplanes I found in San Francisco with writing on them which is decidedly not safe for work.

Found: "Update on Money Unpaid to Me and Evil Needed to be Stopped"
7 Mar 2008 | original ↗

A chaotic note I found taped to a newspaper vending box.

Barbershop multi-track: Lord, You Made the Night Too Long
6 Mar 2008 | original ↗

I recorded a multi-track of the barbershop tag 'Lord, You Made the Night Too Long'

Found: Socrates Myspace Page
4 Mar 2008 | original ↗

A drawing I found depicting what Socrates' Myspace page would look like.

My first barbershop multi-track: Love Letters
4 Mar 2008 | original ↗

I recorded a multi-track of the barbershop tag 'Love Letters Straight From the Heart'

Found: Henry system of music transcription
2 Mar 2008 | original ↗

A strange document I found on the ground which refers to an unknown music transcription system.

SFSU Chamber Singers sing for ACDA
2 Mar 2008 | original ↗

A video of my choir singing at St. Boniface Church in Anaheim, California.

My brother's minuet
11 Feb 2008 | original ↗

I recorded myself playing a minuet my brother wrote for a music course.

Youtube also caught my choir
7 Feb 2008 | original ↗

Sharing a youtube video of the choir in which I sing.

PGP Desktop was causing OS X to run slowly
5 Feb 2008 | original ↗

Sharing an issue I found where PGP Desktop was causing my computer to run slowly.

Only the first and last letters of a word need be in the right place
26 Dec 2007 | original ↗

A made a script that scrambles the inner letters of words but, surprisingly, leaves them still readable.

Fixed the two major problems with the MAME cabinet
24 Dec 2007 | original ↗

Update on my MAME cabinet project.

Mac OS X keychain fix
29 Oct 2007 | original ↗

How to fix a corrupt keychain file on Mac OS X

↑ These items are from RSS. Visit the blog itself at https://jordaneldredge.com/ to find everything else and to appreciate author's digital home.