Programming
in the 21st
Century

Complete Archives

Pretend This Optimization Doesn't Exist January 31, 2012

Virtual Joysticks and Other Comfortably Poor Solutions January 23, 2012

Recovering From a Computer Science Education January 15, 2012

Follow-up to "A Programming Idiom You've Never Heard Of" January 5, 2012

A Programming Idiom You've Never Heard Of January 3, 2012

2011 Retrospective December 31, 2011

User Experience Intrusions in iOS 5 December 30, 2011

Photography as a Non-Technical Hobby November 27, 2011

Adventures in Unfiltered Global Publishing November 9, 2011

Things That Turbo Pascal is Smaller Than October 30, 2011

Starting in the Middle October 24, 2011

Papers from the Lost Culture of Array Languages October 17, 2011

The Revolution is Personal October 16, 2011

Optimization on a Galactic Scale October 8, 2011

Greetings from the Bottom of the Benchmarks October 4, 2011

Beyond Empty Coding September 27, 2011

Boldness and Restraint September 13, 2011

Building Beautiful Apps from Ugly Code September 8, 2011

It's Like That Because It Has Always Been Like That August 25, 2011

"Avoid Premature Optimization" Does Not Mean "Write Dumb Code" August 17, 2011

Collapsing Communities August 13, 2011

8-Bit Scheme: A Revisionist History August 4, 2011

The End is Near for Vertical Tab July 27, 2011

The Nostalgia Trap July 24, 2011

Living in the Era of Infinite Computing Power June 26, 2011

Tough Love for Indies June 20, 2011

Constantly Create May 22, 2011

Impressed by Slow Code April 30, 2011

Follow the Vibrancy April 20, 2011

Revisiting "Tricky When You Least Expect It" April 15, 2011

Caught-Up with 20 Years of UI Criticism April 11, 2011

If You're Not Gonna Use It, Why Are You Building It? March 26, 2011

Don't Distract New Programmers with OOP March 16, 2011

Exploring Audio Files with Erlang March 12, 2011

Accidental Innovation, Part 3 March 9, 2011

Accidental Innovation, Part 2 March 1, 2011

Accidental Innovation, Part 1 February 19, 2011

A Three-Year Retrospective December 29, 2010

Write Code Like You Just Learned How to Program December 24, 2010

Instant-On December 19, 2010

Learning to Ignore Superficially Ugly Code December 12, 2010

Good-Bye to the Sprawling Suburbs of Screen Space November 25, 2010

Easy to Please November 20, 2010

This Isn't Another Quick Dismissal of Visual Programming October 25, 2010

A Concurrent Language for Non-Concurrent Software October 17, 2010

Advice to Aimless, Excited Programmers September 23, 2010

Erlang vs. Unintentionally Purely Functional Python September 16, 2010

Common Sense, Part 1 August 31, 2010

Personal Programming August 28, 2010

Stop the Vertical Tab Madness July 29, 2010

One Small Step Toward Reducing Programming Language Complexity July 24, 2010

Free Your Technical Aesthetic from the 1970s July 17, 2010

Explaining Functional Programming to Eight-Year-Olds July 9, 2010

What Do People Like? July 1, 2010

Tricky When You Least Expect It June 29, 2010

A Ramble Through Erlang IO Lists June 13, 2010

How to Think Like a Pioneer May 13, 2010

How Much Processing Power Does it Take to be Fast? April 24, 2010

Rethinking Programming Language Tutorials April 3, 2010

Living Inside Your Own Black Box March 23, 2010

A Short Story About Verbosity March 17, 2010

Eleven Years of Erlang March 10, 2010

It Made Sense in 1978 March 4, 2010

Dehumidifiers, Gravy, and Coding March 3, 2010

Optimizing for Fan Noise February 10, 2010

What to do About Erlang's Records? January 30, 2010

Nothing Like a Little Bit of Magic January 29, 2010

Flickr as a Business Simulator January 25, 2010

No Comment January 16, 2010

The Recovering Programmer January 1, 2010

Follow-up to "Functional Programming Doesn't Work" December 30, 2009

Functional Programming Doesn't Work (and what to do about it) December 28, 2009

How I Learned to Stop Worrying and Love Erlang's Process Dictionary December 9, 2009

Slow Languages Battle Across Time November 14, 2009

How Did Things Ever Get This Good? November 10, 2009

Tales of a Former Disassembly Addict October 18, 2009

Micro-Build Systems and the Death of a Prominent DSL September 27, 2009

The World's Most Mind-Bending Language Has the Best Development Environment August 24, 2009

A Personal History of Compilation Speed, Part 2 August 22, 2009

The Pure Tech Side is the Dark Side August 8, 2009

A Personal History of Compilation Speed, Part 1 August 2, 2009

Want People to Use Your Language Under Windows? Do This. July 28, 2009

How to Crash Erlang June 15, 2009

Digging Deeper into Sufficiently Smartness June 14, 2009

Let's Take a Trivial Problem and Make it Hard May 4, 2009

On Being Sufficiently Smart April 18, 2009

How My Brain Kept Me from Co-Founding YouTube April 7, 2009

Puzzle Languages February 7, 2009

Revisiting "Purely Functional Retrogames" January 4, 2009

Accidentally Introducing Side Effects into Purely Functional Code December 14, 2008

Timidity Does Not Convince November 30, 2008

Macho Programming August 30, 2008

Understanding What It's Like to Program in Forth August 2, 2008

Kilobyte Constants, a Simple and Beautiful Idea that Hasn't Caught On July 20, 2008

Functional Programming Went Mainstream Years Ago July 6, 2008

Want to Write a Compiler? Just Read These Two Papers. June 29, 2008

A Spellchecker Used to Be a Major Feat of Software Engineering June 8, 2008

Coding as Performance May 31, 2008

Don't Be Afraid of Special Cases May 25, 2008

Purely Functional Retrogames, Part 4 May 11, 2008

Purely Functional Retrogames, Part 3 May 3, 2008

Purely Functional Retrogames, Part 2 April 19, 2008

Purely Functional Retrogames, Part 1 April 12, 2008

My Road to Erlang March 23, 2008

Slumming with BASIC Programmers March 9, 2008

In Praise of Non-Alphanumeric Identifiers February 25, 2008

Five Memorable Books About Programming February 18, 2008

Back to the Basics of Functional Programming January 31, 2008

Don't Structure Data All The Way Down January 20, 2008

Garbage Collection in Erlang January 6, 2008

Why Garbage Collection Paranoia is Still (sometimes) Justified January 5, 2008

Functional Programming Archaeology December 28, 2007

Would You Bet $100,000,000 on Your Pet Programming Language? December 23, 2007

Timings and the Punchline December 21, 2007

Revisiting "Programming as if Performance Mattered" December 16, 2007

Finally: Data Structure Constants in Erlang December 9, 2007

Two Stories of Simplicity December 8, 2007

Deriving Forth December 6, 2007

Trapped! Inside a Recursive Data Structure December 1, 2007

Sending Modern Languages Back to 1980s Game Programmers November 20, 2007

Erlang as a Target for Imperative DSLs November 18, 2007

Follow-up to "Admitting that Functional Programming Can Be Awkward" November 13, 2007

Admitting that Functional Programming Can Be Awkward November 9, 2007

On the Perils of Benchmarking Erlang November 4, 2007

A Deeper Look at Tail Recursion in Erlang November 2, 2007