Web Audio clock demo

This is a little demo web app that uses the Web Audio clock to correctly control the timing of audio playback. I'm contemplating the idea of implementing a web based drum machine and this is background research. The app starts by fetching a JSON manifest file (from S3). The manifest…

NES (6502) composite sprites

The following Gist demonstrates how to get the 8-bit Nintendo (NES) to render a 4 part sprite of /sprites/ with 6502 pure assembly. I generally shadow SPR-RAM in general purpose RAM from address $0200 and when the VBlank NMI occurs, I ask the Direct Memory Access controller at $4014 to…

Conway's game of life

This is a fairly simple web based implementation of Conway's game of life. I wrote it as a Kata and for interview preparation and thought the result was kinda neat. It starts randomised, sometimes it will halt almost immediately, other times it will seem to go on forever. That's the…

NES (6502) 16-bit counter

The following Gist demonstrates how to create a 16-bit counter using 6502 assembly. It increments the Least Significant Byte (LSB) and the Most Significant Byte (MSB) separately in such a way that the MSB is incremented once for every 256 increments of the LSB, totalling 65536 iterations.…

LZ77

LZ77 is a lossless, streaming compression algorithm invented in 1977. The central concept is its use of a Sliding Window, which is a fixed size, sequentially ordered buffer; sometimes referred to as the history buffer. The LZ77 compression algorithm starts by reading in a string of bytes (from a stream)…

Hacker Text JS

HackerTextJS is a small JavaScript library that renders Matrix-esque animated HTML widgets with pure text.…