BBC micro:bit

Some unique projects and insights on this programming platform for schools.

TAD Hack 2016

Developing two projects in a single weekend. Both prize winning!

VR

VR in education

OpenGL 4 Javascript

An implementation of the OpenGL specification, without using WebGL, for use in web-based games and application.

Space Bounce

An HTML5 game to accompany my new book

Slow scan webcam

Build up a single image over ten seconds. All movements will be detected.

Ada 99

Basicode

Cross-platform programming before Java.

Slytherin

A software synthesizer, written in HTML5. For webkit browsers, like Chrome.

London Tube API

Geo data for all London stations.

ZX Vega

Writing ZX Adventure

0day

Create read-only APIs without almost 0 code, and 0 time!

TAD Hack

note2self

Voice-focused TODO list

Super Camtoy

Real-time image manipulation with WebRTC.

Jedi Forth

In Javascript. In 230 lines.

A proof of concept project, written on a lazy Sunday morning...

Spoon

An Esoteric Language

Spoon is a programming language that uses only two characters - 1 and 0. You can hide code inside ASCII art, write painfully obfuscated code, or even switch the two symbols (of 1 & 0) to A and B, < and > or even 0 and 1!

HTML Parser

in C++

A full HTML parser written in C++ which builds every entity and element into an instance of its appropriate class. Pure OO class!

Armstrong

The Arduino Music System

Amstrong is a collection of routines to make the building and prototyping of musical instruments on the Arduino very much easier. It abstracts the hardware pins from their function and supports serial communications, allowing sounds to be played on remote hardware (PC or synthesizer) without additional coding.

QuBit

Quantum Superpositions

QuBit is a library to support Quantum Superpositions in C++. This allows each CQuBit variable to hold a number of different values at the same time.

IFS

Interated Function System

Fixed Point

maths library

Written to accompany the Linux Magazine article, back in 2003, this is still a very usable GPL library.

Ultra

A web server, data store, and processing language... all in 51K

MIDI Library

Steev's MIDI Library is a pure C library to handle the MIDI protocol, as well as providing code to read and write standards-compliant MIDI files. This provides code functionality for apps wishing to support MIDI file serialism, as well as write music apps that auto-compose music.

Bencode library

Pure and simple - read torrent files in Javascript.

BigFraction

in Java

This holds arbitrary precision fractional numbers held in numerator and denominator.

BitStream

in Java

Handling serial data, one bit at a time.