a syzygy is an alignment of things, so a syzygyst is someone who lines things up

Hello I am Harold Cooper and here are some of my digital artifacts. I also put stuff on GitHub and on Instagram and on SoundCloud and on Twitter.

2012.12

Coroutine Event Loops in Javascript discusses the use of coroutines for Javascript event-handling, as an interesting alternative to callbacks.

It includes a live demo contrasting coroutines and callbacks.

2012.04

One-line Tree in Python is a frivolous use of the builtin defaultdict to implement a tree structure.

2012.04

GitHubbub visualizes public GitHub activity in real time.

2011.11

ExtendNY is an interactive map which extends the Manhattan Grid of streets and avenues to every point on Earth.

It received lots of feedback, including people around the world tweeting their "New York" addresses, many comparisons to View of the World from 9th Avenue, and was called "Infographic Of The Day" despite not really being an infographic.

I also gave a short talk about the project.

2011.03

WordMerge is an iPhone app for generating and discovering portmanteaux like stupidestrian and enchantelope.

I built the app with Matt Handler, who made the original web version WerdMerge.

2008.11

PCollections serves as a persistent and immutable analogue of the Java Collections Framework.

2008.04

Spectra is a math poem thought experiment which asks the question "Is there a continuous surface made up of every continuous function?" and meanders towards the answer.

2007.06

Mechanical Linkages in Python provides a graphical interface for simulating mechanical linkages, and describes the rigidity theory used to implement the simulator.

2005.06

Phi is a frenetic Processing sketch which zooms in and out through the endless golden spiral.

The original Java version has sound—careful it's loud—but apparently Processing.js doesn't support that :'(

2004.09

hungarian is a simple Python wrapper for a C++ implementation of Knuth's Hungarian algorithm, a.k.a. Munkres' algorithm, for solving the linear assignment problem.

2004.08

pyLAPJV is a simple Python wrapper for a C++ implementation of the Jonker-Volgenant algorithm, LAPJV, for solving the linear assignment problem.