Kevin Kulik — kevinkulik.dev
Kevin Kulik kvnklk
ctx: lab/sync-drift · aktualisiert 2026-08-11
DE EN
kvnklk — workbench ~/kevinkulik.dev
session: öffentlich · lesend
KONTEXT
kevinkulik.dev/
├─ work/
├─ lab/
│ └─ sync-drift/ ●
├─ systems/
│ ├─ agent-workspace
│ ├─ hermes
│ ├─ contegus-ui
│ ├─ iris
│ ├─ homelab
│ └─ obd2-telemetry
├─ notes/
└─ about.md
● = aktive untersuchung
navigation auch ohne terminal
whoami.md sync-drift.md status.log
# readme — öffentliche ebene

Kevin Kulik

Diagnostischer technischer Operator

Ich gehe in unklare Situationen, trenne Signal von Rauschen und prüfe Implementierungen, statt Etiketten zu vertrauen. Dann benenne ich die wahrscheinliche Ursache — und den kleinsten verlässlichen nächsten Schritt.

Diese Seite ist die öffentliche Ebene meiner privaten technischen Arbeit: Untersuchungen, Systeme, Messungen, Notizen. Kein Portfolio, kein Funnel.

INSPECTOR
kontextlab/sync-drift rolleoperator, kein anbieter methodebeobachten → prüfen → ändern sprachede · en-mirror geändert2026-08-11 jsoptional
EVIDENZ, ZULETZT
ntp-offset gemessen measured chrony-fix committed changed rezidiv-beobachtung pending
terminal — bash optional. alles ist auch klick- und scrollbar.
⤢ vollbild
{{ ln.pfx }}{{ ln.text }}
{{ hint }}
kvnklk@web:~$
{{ s.label }}
● bereit statisch generiert · astro keine telemetrie de
letzter commit: a3f9c12
terminal — vollbild
esc · schließen
{{ ln.pfx }}{{ ln.text }}
{{ hint }}
kvnklk@web:~$
{{ s.label }}
01

Aktuelle Untersuchung

/lab/sync-drift
in arbeit

Sync Drift

begonnen 2026-07-28system: agent-workspace ↔ homelabref: a3f9c12
1 · problem observed

Syncthing zwischen Workstation und Homelab-Node verliert sporadisch Änderungen: Einzelne Notizdateien fallen auf einen älteren Stand zurück — ohne Konflikt-Datei, ohne Fehlermeldung.

2 · wahrscheinliche ursache inferred

Der Sync-Container läuft ohne Host-Zeitsynchronisation. Wenn seine Uhr driftet, gewinnt bei der Konfliktauflösung gelegentlich die ältere Version — sie sieht neuer aus.

3 · evidenz measured
$ chronyc tracking # im container System time : 41.83 s slow of NTP time $ stat -c '%y' notes/queue.md # beide seiten host: 2026-08-09 14:22:07 · node: 2026-08-09 14:21:29
gemessen über 6 tage · 4 reproduzierte fälle · vollständiges log im case-file
4 · entscheidung changed

Kleinster verlässlicher Schritt: Zeitquelle des Containers an den Host binden, statt die Konfliktlogik anzufassen.

compose.yml · a3f9c12
- image: syncthing/syncthing:1.27
+ image: syncthing/syncthing:1.27
+ volumes:
+ - /etc/localtime:/etc/localtime:ro
5 · ergebnis, bisher measured

Drift seit dem Fix unter 80 ms. Kein Rückfall in 10 Tagen — noch nicht genug, um „verified“ zu schreiben.

6 · nächster schritt pending

30 Tage Rezidiv-Beobachtung; danach Konfliktzähler prüfen und den Case schließen oder die Hypothese verwerfen.

02

Ausgewählte Systeme

/systems · sortiert nach letzter änderung
6 einträge
NAME / TYPZWECKEVIDENZ · GRENZEZUSTAND · GEÄNDERT
{{ sys.name }}
{{ sys.type }}

{{ sys.purpose }}

{{ sys.evidence }}
grenze: {{ sys.limit }}
{{ sys.state }}
{{ sys.changed }}
03

Werkstatt

/lab/experiments · aktive experimente, keine versprechen
lokale-inferenz measured

7B-Modelle auf der 780M-iGPU: was lokal wirklich läuft, gemessen statt geschätzt.

llama-3.1-8b · q4_k_m
11.2 tok/s · vulkan · 16 gb
n=5 läufe, gleiche prompts
obd2-parser changed

CAN-Frames vom ELM327 robust parsen: Mehrzeilen-Antworten wurden bisher verworfen.

- if line.startswith('41'):
+ if is_frame_start(line):
+ buf.extend(continuation)
eink-statusboard pending

Homelab-Zustand auf 7,5″ E-Ink — ohne Dauerpolling, Push statt Pull.

wartet auf: treiber-verifikation
partial-refresh flackert — ursache offen
04

Homelab

/systems/homelab · architektur & ausgewählte vorfälle
ARCHITEKTUR
internet — keine öffentlichen ports
EDGE
wireguard caddy · reverse proxy unbound · dns
COMPUTE — node-01nuc · 64 gb · proxmox
hermes iris syncthing grafana prometheus gitea
STORAGE — naszfs mirror · 2×8 tb
snapshots · stündlich backups · 3-2-1 restore zuletzt geprüft: 2026-07
zugriff nur über tailnet · kupfer = eigenentwicklung · restore-test zählt als evidenz, backup allein nicht
AUSGEWÄHLTE VORFÄLLE
2026-06-14 Nächtlicher Backup-Job blockiert ZFS-Snapshots
verified
befund: cron-überlappung. lock-file eingeführt, 8 wochen ohne rezidiv.
2026-04-02 DNS-Ausfälle nach Unbound-Update
checked
befund: veraltete root-hints im image. pinning + eigener healthcheck.
2026-02-19 WireGuard-Handshake-Timeouts im LTE-Fallback
measured
befund: mtu-fragmentierung. 1420 → 1280 gemessen, timeouts weg.
→ alle case-files im lab
05

Technische Notizen

/notes · ruhig, editorial, ohne chrome
2026-07-30 · 9 min · de / en · checked

Etiketten prüfen: Warum „verschlüsselt“ nichts beweist

Ein Produkt schreibt „Ende-zu-Ende-verschlüsselt“ auf die Website. Was heißt das — geprüft am Netzwerk-Trace statt am Marketingtext? Drei Fälle aus diesem Jahr, in denen das Etikett und die Implementierung verschiedene Dinge waren.

Die Methode ist immer gleich: Behauptung notieren, beobachtbares Verhalten definieren, messen, vergleichen. Der Rest ist Dokumentation.

weiterlesen →
2026-08-05 · 6 min · entwurf aus lab/sync-drift
NTP im Container — eine kleine Fallstudie

Warum Container-Uhren driften, wie man es misst und was der kleinste Fix ist.

2026-05-12 · 7 min · de / en
Langweilige Werkzeuge, prüfbare Ergebnisse

Über die Wahl von Technik, die man im Fehlerfall vollständig verstehen kann.

→ alle notizen
06

Über

/about · herkunft

Ich habe Systeme zuerst repariert und dann gebaut. Aus dem Reparieren kommt die Grundhaltung: Der Fehler ist selten dort, wo die Meldung steht — und ein System, das man nicht messen kann, versteht man nicht.

Hier dokumentiere ich, wie ich tatsächlich arbeite: Untersuchungen mit Evidenz, Systeme mit ehrlichen Grenzen, Notizen mit prüfbaren Aussagen. Was hier steht, habe ich beobachtet, gemessen oder geprüft — und so ist es auch markiert.

standortde seit2014 an eigenen systemen schwerpunktdiagnose · infrastruktur · privacy kontaktmail@kevinkulik.dev pgpim impressum