Home
Abracadata
Cancel

Atari Eastern Front 1941: browser redux

ef1941.jpg thumbnail

Check out my playable TypeScript port of Chris Crawford’s Eastern Front 1941. Can you capture Moscow? More importantly, how long can you hold it? The project started as a pandemic diversion after chancing on an article about Atari’s 50th anniversary....

G3: a flexible framework for steam gauge instrument panels

gauge.jpg thumbnail

G3 is a flexible Javascript framework for building steam gauge instrument panels that display live external metrics from flight (or other) simulators like X-Plane and Microsoft FS2020. This demo gives a sense of what you can build: G3’s goal is to ...

Taming the flowsnake and visualizing Covid proteins

gosper.jpg thumbnail

The Gosper curve is a well-known space-filling curve. It sports a dual form called a flowsnake which sequentially visits every hexagon of an infinite lattice with no jumps or crossovers, reminiscent of the Hilbert curve on the Cartesian (square) grid....

Atari Eastern Front 1941: Chris Crawford's narrative history

ef1941map.png thumbnail

Chris Crawford’s original “narrative history” of his work on Eastern Front 1941 is a great read from a general software engineering and product management perspective. The AI player implementation in 1200 bytes of assembler is mind-blowing. That’s wha...

Cartoon maps

cartoon-map.jpg thumbnail

A quick visualization experiment to create an informal / cartoonish map reminiscent of the game of Risk.

Omega Speedmaster Demo

speedmaster.png thumbnail

Did I mention I got obsessed with gauges? I reconstructed the iconic Omega Speedmaster watch using my G3 toolkit as an illustration of its flexibility to create complex, working gauges that look good.

Hex cube visualization

hexcubes.png thumbnail

This visualization was inspired by Amit Patel’s diagram illustrating cube coordinates. That diagram initially confused me because the edges of the grid cubes centered on integer coordinates in the plane x + y + z = 0 don’t themselves lie in the plane,...

Hopper’s data science DNA: the tenets we live by

ds-tenets.png thumbnail

At Hopper, we’re busy building the world’s most customer-centric travel marketplace. Traditionally, buying travel has been time-consuming, frustrating and often leaves the customer dissatisfied: feeling that they could have done better if only they’d wo...

Geographic heatmap in D3

geoheat.png thumbnail

Illustrates how to use Vladimir Agafonkin’s clever simpleheat JS library to overlay a heatmap of Hopper search destinations on a D3 map. Just for fun we use a separate svg layer ‘under’ the canvas to display the map, although it’s easy enough to have D...

Litebrite flight shopping animation

litebrite.jpg thumbnail

This is a simple D3 animation of flight shopping data for a single route, inspired by LiteBrite. A number of interesting patterns surface, like the downward pointing red triangles corresponding to expensive mid-week trips without a Saturday night stay, ...