tech-r2-b · Spec sheetsProjects as engineering drawings on the gate's grid paper. Four featured projects get full sheets with a title block, an AI stamp and numbered callouts; the rest sit in a drawing register (T1's overview, with character) that opens each sheet in place. A T4-style inspector shows the selected sheet's skills and writing.
off the clock →
drawn by

Lucas Winther

Computer scientist. Builds and runs research software.

current · Jan 2025–now

IT-medarbejder, IT Research Tech, Aarhus University

Slurm compute platform, document services, secure and monitored infrastructure.

previous

ScienceAtHome, intern · 2019

TERMA Group, student helper, local configuration management · 2016–18

education · contact

BSc Computer Science, Aarhus University

lucas@lucaswinther.info
GitHub · LinkedIn

full CVPDF ↓1 page
DevOps · Docker · Linux admin · observability · cloud (OCI) · Slurm · React/Node · Ansible · Unity/C# · leadershipsheets 01–04 featured · 17 in register · rev. Nov 2026

Featured sheets

Click a sheet to inspect it. Numbered circles point at the notes on the right of each sheet.

▸ selected
ABCDEF
1234
web: 1…n compute.au.dk (placeholder) new job submit queue ERDA files nodes nodenodenode compute: 0…n (OCI) Slurm ctl.+ job service Entra IDOAuth login ERDAAU storage 1 2 3 4 5
FIG. 1 · placeholder: job dashboard screenshot, over the platform's two elastic tiershidden lines = scaled-down

Notes

  1. Job form. Researchers submit Slurm jobs without a terminal: script, resources, inputs.
  2. Queue. Status and logs per job, fed by a Node service that talks to Slurm for the user.
  3. ERDA picker. Inputs come from, and results go back to, AU's own ERDA storage.
  4. Nodes. Compute nodes on Oracle Cloud scale up with the queue and down to zero when it's empty.
  5. Login. OAuth with Entra ID: university accounts only.

what & whyA scalable, easy-to-use compute job system for researchers: Slurm's power behind a React/Node web app, with both web stack and compute scaling on Oracle Cloud.

interestingScaling the web tier and the compute pool separately, since a busy week of uploads isn't a busy week of jobs.

REVDATECHANGE
A2025first release, one group
B2026autoscaling compute
projectAU compute platform
dwg no.LW-01
rev / yearB · 2025–
stackSlurm · React · Node · OCI · Entra ID
roledeveloper & ops, AU IT Research Tech
AI levelnot marked
▸ selected
ABCDEF
1234
.92.88.71.95.64.90 DETAIL A · one audit round challengeproofscorenext Δt 1 2 3 4
FIG. 2 · reputation network (scores = weighted audit history) and detail Ahatched = free-rider

Notes

  1. Free-rider. Claims to store chunks, fails the spot checks. Hidden lines: the links that get dropped.
  2. Score. Each peer's reputation comes from its past audits, weighted toward recent ones.
  3. Audit round. Challenge, proof, score, repeat every Δt.
  4. Churn. Honest peers going offline mustn't look like cheating; this needed a grace window.

what & whyBachelor thesis: reputation systems for peer-to-peer archival, so peers that don't keep what they promise get found and routed around. Simulated in Node.js.

REVDATECHANGE
A2022thesis submitted
projectHyperCache, bachelor thesis
dwg no.LW-02
rev / yearA · 2022
stackNode.js · simulation · P2P
roleauthor, BSc CS
by handno AI
▸ selected
ABCDEF
1234
seat ≈70° ≈ 2.9 m Arduinoangles @ 60Hz headset · Unity 1 2 3 4
FIG. 3 · rig, plan view · dimensions approximatehidden lines = cables

Notes

  1. Oarlock sensor. An angle sensor where each oar pivots; angle, not force, is what the boat needs.
  2. Arduino. Reads both sensors and streams angles to Unity over USB serial.
  3. Unity. C# turns two angle streams into a boat; mixed reality, so you still see your hands.
  4. Real oars. Two of them, with real weight. Taped, not welded.

what & whyA mixed-reality rowing game played with two real oars. Does real resistance make a virtual space feel more real?

REVDATECHANGE
A2020course project, group
projectMixed-reality rowing game
dwg no.LW-03
rev / yearA · 2020
stackUnity · C# · Arduino
rolehardware + game, group of 3
by handno AI
▸ selected
ABCDEF
1234
config/ inventory.ymlgroup_vars/roles/docker/backup/monitoring/compose/media.ymlservices.ymlvault.yml (enc.) ansibleplaybook site.yml nasmini-1mini-2 3 hosts, 1 command 1 2 3 4
FIG. 4 · repo and hosts · host and file names placeholderhatched = compose stack

Notes

  1. Secrets. In an encrypted vault file, never in plain history.
  2. One command. Any host rebuilt from bare metal with a single playbook run.
  3. Roles. Generated by AI, then iterated for a month; the layout was written by hand.
  4. Compose, not Kubernetes. The lab is three machines.

what & whyAnsible + docker-compose deployment management for the homelab, with git as the documentation.

brokeEvery run restarted every container: a template rendered a new timestamp. Found by hand with --diff.

REVDATECHANGE
A2025first hosts
B2025idempotent templates
projectConfig
dwg no.LW-04
rev / yearB · 2025
stackAnsible · docker-compose · IaC
rolesolo, homelab
AI-madespec by hand

Drawing register

Every project. Click a row to open its sheet in place.

dwgtitlestackyearmade