The repositories you'll find here tend to begin with something I want to observe, record, model, analyse or understand β whether that's wildlife, aircraft, fossils, shell growth, stromatolites, sport, music, retrocomputing or something else that has caught my interest.
Some projects explore a particular phenomenon through computation; others develop the tools needed to turn observations into structured, traceable evidence that can be revisited and analysed.
π At the moment I'm particularly interested in computational natural history, observational data and retrocomputing.
π± I'm exploring how small computational models can help explain natural processes and emergent behaviour.
π¬ Ask me about RC2014/Z80 programming, aircraft observation, natural-history data, computational modelling, or turning an interesting question into a small software project.
β‘ Fun fact: the subjects here range from stromatolites and cephalopods to aircraft, rugby and 8-bit computers β but most of them ultimately start with the same question:
What can I make out of it?
The subject matter is fairly eclectic, but much of what you'll find here falls into a few broad themes.
I enjoy collecting observations and turning them into useful, queryable datasets. Increasingly, I'm also interested in the processes that turn raw observational material β including photographs and video footage β into structured records that can be identified, analysed and revisited.
- ADS-B BaseStation Reader β local-first aircraft observation and analysis workspace
- NatureRecorderPy β wildlife sightings recorder and analysis environment
- ReefFrame β enhancement of underwater video footage and extraction of still images for subsequent examination and identification
- FishTrack β detect, segment and track fish in underwater video using computer vision and AI
- ReefTag β annotation and species identification in underwater photographs, with observation provenance and transfer to Nature Recorder
- FossilTracker β fossil collection catalogue with taxonomy, provenance and geological context
- PlateLibrary β microscopy investigation and specimen plate library
- FlightRecorder, ShippingRecorder and DroneFlightLog β personal observational logbooks
Increasingly, I use small computational models as a way of exploring how natural processes produce the structures and behaviour we observe.
- LogSpiral β procedural exploration of shell growth, aperture geometry and internal architecture
- StromatoliteGrowth β process-based models of microbial growth, sediment deposition and layered stromatolite structure
- MolecularClockSimulation β simulation of sequence evolution and molecular-clock methods
- ChromatophoreSimulator β experimental graphical modelling inspired by cephalopod chromatophores
- OdeSolver β a small environment for exploring ordinary differential equation models
- LangtonsAnt β an implementation of Langton's Ant and its wonderfully surprising emergent behaviour
Sometimes the computer itself is the thing being explored.
- RC2014 β programs, experiments and utilities exploring what can be made with an RC2014 Mini II Z80 computer
- ti-84-python β Python programs and experiments for the TI-84 CE-T Python Edition
- TelloCommander β software for controlling a Tello drone and collecting its telemetry
- RPi-WeatherStation β Raspberry Pi weather-station experiments
Other projects have grown directly out of things I do or subjects I'm interested in.
- SpectrogramViewer β analysis of bat recordings, spectrograms and individual calls
- ChessAnalyser β chess-game analysis using UCI engines
- RugbyTracker and CricketTracker β fixtures, results and league tracking
- MusicCatalogue β personal music catalogue with external API integration
- DailyTaskManager β focused personal task and routine management