stefanos strauss

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.

CREW S. STRAUSS
DEPARTMENT / SPECIALTY SOFTWARE • HARDWARE • RIGGING
  • ASTAGE
  • BFOH
  • CPIT
  • DDOCK
PASS ID: #26-08419-AAA

NON-TRANSFERABLE • CREW ACCESS ONLY

NON-TRANSFERABLE • PRODUCTION CREW ONLY • MUST BE DISPLAYED

notebook

drag a page corner to turn it

14.03

OBD logger / fuel

ESP32 on 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, so deep sleep when the ignition's off or it flattens the battery

PIDs, mode 01:

0Crpm = (256A + B) / 4 0Dspeed = A km/h 10MAF = (256A + B) / 100 g/s 5Efuel rate most cars don't report it

fuel L/h = MAF · 3600 / (14.7 · 740)

AFR

g/L petrol

L/100km = L/h ÷ km/h × 100

not at 0 km/h!!

42

transit map

how it fits together

OASA APItelematics
GTFS-RTtrains
GTFSschedules
python pollers
redislive positions
recorder
timescaleDBarrivals
next.js + leafletthe map
delay analyticsper stop

POST, via the pi

compare

SSE

every stop

per-stop
delays

delay = recorded arrival − scheduled time

43

delays

the recorder

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. data only goes one way and the browser reconnects by itself

44

EU4 → discord

02.04

v1: open the latest autosave and parse it

ironman saves are encrypted. dead end

v2: steam already knows what I'm doing

  1. steam ID3 from the install folder
  2. scrape paradox's own rich 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

45

todo: transit map

  • buses + trolleys
  • metro, tram
  • trains (GTFS-RT)
  • docker compose on the pi
  • recorder → timescaleDB
  • 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
46

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

47

SEK Δα

USATC S100, 0-6-0 side tank

48

US army drawing, 1942

49

photos

mostly shot on smartphone
mountain.jpg
lake.png
sea.png
mantis.png
powerline.png
sky.png
snail.jpg
chess.png
mushroom.png
gondola.png
disco.jpg
robot.jpg

projects

all of them →

writing

all posts →