Jordan Eldredge

Items tagged "opinion"


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


This Software is Punk Rock

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


I did a Q/A with the Reactiflux community

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


I did an interview for the Changelog Podcast

I talked about Winamp2-js on the Changelog Podcast.


Making the case for building something useless

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


Gzip hates your DRY code

How to remove code and still increase your library weight.


I was interviewed for a podcast

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


Why linting errors should cause tests to fail

Making the case against allowing linting errors in master.


Podcasts I like

A summary of the podcasts to which I subscribe.


Listen Faster: How I found 30 extra hours in my week

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


Breaking into open source

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


You're underusing Underscore

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


I gave a talk: Finding Creativity Through Constraints

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


Surviving Hacker News traffic with the help of free CDNs

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

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


Why I switched from Vundle to Plug

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


Are your digital memories going to be there when you're old?

Thinking about the challenges of preserving digital memories


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


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


Avoid “straw that broke the camels back” lint rules

A class of lint rules that I think are best to avoid


The Challenges with Client Controlled Nullability

Explaining some of the non-obvious problems with the Client Controlled Nullability GraphQL spec RFC


Avoid name-spacing GraphQL mutation fields

Explaining why nesting your mutations inside GraphQL types is problematic


Type systems as a mental tool

Type systems lead to clearer thinking and thus better code


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


My favorite API: Vim Mode

An observation that Vim mode is a type of API


Compiling to AST

A pattern for tracking location information when compiling to a high level language


Lint or Keep Quiet

Code review feedback that could be encoded as a lint rule, should be