sh0ds.dev
- what
- static site, served from a Raspberry Pi 5 on my desk
- goal
- write every tool behind this site myself
- order
- shell, SQL → C, ARM64 → Haskell → Pharo → Erlang
- next
- /next, the rebuild in progress, not up yet
hardware
- host
- raspberry-pizian
- soc
- BCM2712, 4× Cortex-A76 @ 2.4 GHz
- ram
- 8 GB LPDDR4X
- root
- NVMe SSD
- bak
- restic 03:30, local HDD + Hetzner Storage Box
- os
- Raspberry Pi OS Lite, arm64
- httpd
- Caddy 2.11
- build
- 3sgc, C11
live stats connecting
temp
—
load
—
mem
—
up
—
since last boot
- src
/ramdisk/pistats.json, polled every 10 s, waiting for the first sample
partitions
| part | label | used for | flag |
|---|---|---|---|
| p01 | Linux | Caddy, AdGuard Home, systemd timers, restic | using |
| p02 | Bash · AWK | deploy script, timers, log parsing | using |
| p03 | SQL | SQLite: visit counts, FTS5 search | using |
| p04 | C | 3sgc: Markdown → HTML, templates, listings | using |
| p05 | ARM64 | reading compiler output, crc32 by hand | learning |
| p06 | Haskell | Markdown parser for 3sgc | learning |
| p07 | Pharo | site tool: build, link check, feeds | next |
| p08 | Erlang | live stats over WebSocket, guestbook | next |
boot sequence
- pushcommit to
mainOK - pull
site-deploy.timerpolls GitHub every 2 minOK - make
cc -std=c11 -Wall -Wextra→build/3sgcOK - 3sgc
content/*.md→blog/,projects/OK - rsyncoutput →
/srv/wwwOK - youHTTPSBOOT