Software without abstractions, built for real-world tooling.
I tackle anything from maps and data intensive applications to reverse engineering and hardware projects. The best way to solve problems is to approach everything with care and an open mind.
- ASTAGE
- BFOH
- CPIT
- DDOCK
NON-TRANSFERABLE • CREW ACCESS ONLY
NON-TRANSFERABLE • PRODUCTION CREW ONLY • MUST BE DISPLAYED
notebook
drag a page corner to turn itswipe or tap to turn the pageOBD logger
14.03
ESP32 in the OBD-II port,
CAN @ 500k
gnd 4, 5
6 CAN-H
1
8
9
16
14 CAN-L
16 +12V
pin 16 is always live → deep sleep when the ignition's off, or it flattens the battery
then out to the web:
MQTT
ws
fuel
the car won't say, so work it out
PIDs, mode 01:
fuel L/h = MAF · 3600 / (14.7 · 740)
AFR
g/L petrol
L/100km = L/h ÷ km/h × 100
not at 0 km/h!!
L/100km
km/h
transit map
how it fits together
POST,
via the pi
compare
SSE
every stop
per-stop
delays
delay = recorded arrival − scheduled time
delays
the recorder, see p.44
scheduled 08:10 (GTFS stop_times)
arrived 08:14 (recorder)
+4 min late
- 1. the recorder logs every vehicle arriving at every stop
- 2. stored in timescaleDB
- 3. matched against the GTFS schedule
- 4. → per-stop delay analytics
SSE, not websockets. one way only, and the browser reconnects by itself
EU4 → discord
02.04
v1: open the latest autosave and parse it
ironman saves are encripted encrypted. dead end
v2: steam already knows what I'm doing
- 1. steam ID3 from the install folder
- 2. scrape paradox's ownrich presence off my steam profile
- 3. pypresence → discord
"Leading as Basileus of Byzantium in war against Epirus in 1445"
that's steam's text, not mine
more than one steam account on the PC?
→ ID3 goes in the config by hand
it works! my discord profile
arduino timer
LCD + 7-seg displays, a buzzer for the alarm, control buttons, analog temp sensor
arduino
D2–D8
7 × 220Ω
7-seg
a
b
c
d
e
f
g
com
btn 1
btn 2
buzzer
INPUT_PULLUP
no resistors
temp from the sensor ★
todo: transit map
- buses + trolleys
- metro, tram
- trains (GTFS-RT)
- docker compose on the pi
- recorder → timescaleDB p.45
- per-stop delay page
- write a README
route shapes come from OSM overpass
misc
- – RANDU in a 3D plot = 15 planes. still funny
- – lightshot IDs went random after 2022. the old sequential fuskers are done
- – supabase: check RLS. every table
SEK Δα
USATC S100,
0-6-0 side tank


US army drawing, 1942
photos
mostly shot on smartphone










