kacerr and Claude Fable 5
86a61da36f
04-log-topn: implement TopN with bufio.Scanner and slices.SortFunc
...
Count paths in a map, copy into []KV, sort by count descending with
cmp.Compare, truncate to n. Scanner buffer raised to 1MB for long lines;
malformed lines (<3 fields) are skipped.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_012MpK9niZm4jcs3mAJbxMfi
2026-09-02 09:34:03 +02:00
kacerr and Claude Fable 5
47ced49d6a
gitignore: exclude .claude/ settings and stray server binary
...
.claude/ holds machine-specific permission allowlists; /server is a
compiled artifact accidentally built at the repo root.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_012MpK9niZm4jcs3mAJbxMfi
2026-09-02 09:33:59 +02:00
kacerr and Claude Fable 5
5e2d9400ac
03-rate-limiter: implement token bucket Limiter with step-by-step comments
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GbnJj9ZqEx9nUvzkjdwfMq
2026-08-29 19:05:15 +02:00
kacerr and Claude Fable 5
1610cd69e0
Add global-ratelimit experiment: token-bucket limiter as an HTTP service
...
limiter/ package (ex03 bucket + ex09 sharded keyed store + idle sweep,
race-tested), server/ with /allow /stats /healthz and X-RateLimit headers,
client/ demo replica with fail-open/closed and latency percentiles.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GbnJj9ZqEx9nUvzkjdwfMq
2026-08-29 18:53:09 +02:00
kacerr and Claude Fable 5
9230d0cd3d
body-drain: add -c concurrency and -idle-per-host to the client
...
Bounded concurrency via semaphore+WaitGroup, atomic counters, stop-on-first-
error without cancelling in-flight requests (cancel would hide the leaks).
Exposes MaxIdleConnsPerHost so pool thrash under concurrency is observable.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GbnJj9ZqEx9nUvzkjdwfMq
2026-08-29 00:08:27 +02:00
kacerr and Claude Fable 5
f80ba127d8
body-drain: rename server stat new= to accepted_total= to avoid reading it as open conns
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GbnJj9ZqEx9nUvzkjdwfMq
2026-08-29 00:05:00 +02:00
kacerr and Claude Fable 5
57349285b4
body-drain: add -role server|client|both and -header-timeout
...
Lets each side run out of fds in its own process; document ulimit -Hn
(Go raises soft limit to hard) and Linux hang vs macOS RST difference.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GbnJj9ZqEx9nUvzkjdwfMq
2026-08-28 23:55:05 +02:00
kacerr and Claude Fable 5
8dd8381b8c
01-url-health-checker: add URL option sets, start CheckAll implementation
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GbnJj9ZqEx9nUvzkjdwfMq
2026-08-28 23:49:38 +02:00
kacerr and Claude Fable 5
9df64837dd
Add body-drain experiment: observe HTTP body drain/close/leak effects
...
Local counting server + httptrace/goroutine metrics showing connection
reuse (drain), pool bypass (close only) and fd/goroutine leak (no close).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GbnJj9ZqEx9nUvzkjdwfMq
2026-08-28 23:49:04 +02:00
kacerr and Claude Fable 5
7219eb5a23
Initial commit: Go SRE interview exercises
...
Includes solved 02-worker-pool and 09-safe-counter (mutex, atomic, sharded).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GbnJj9ZqEx9nUvzkjdwfMq
2026-08-28 22:18:09 +02:00