farkhad@frkhd:~/works main

farkhad
bennett

i write programs the way other people write playlists. mostly small, mostly rust, mostly on a weekend. by the time you scroll the bottom of this page, you will have read the names of forty of them.

age 19 school eth zürich (freshman) based zürich · sometimes almaty capacity q3 2026, 1-2 clients contact hello@frkhd.com
~/works -- zsh
manifesto

by the time you scroll to the bottom of this page, you will have read the names of about forty programs i have written. most in rust. most on a weekend. some in a single sitting. the rest of this page is a footnote to that fact.

64
public repos
on github
89
days
since the account opened
247
commits
in the last 30 days
11
languages
used in production
selected work

eight projects, in roughly the order you should read them.

archive

forty things, give or take.

drift/ rust shipping sql linter, 34ms vs 15s sqlfluff tape/ rust shipping record/replay runtime, also a language anchor/ rust shipping local llm proxy + cache + budget tracker jitvm/ rust learning bytecode vm with one-pass x86-64 jit mlkem-rs/ rust crypto pure-rust fips 203 ml-kem mlkem-tls/ rust crypto x25519mlkem hybrid kem for tls 1.3 nanokern/ c kernel multitasking x86-64 kernel in 785 loc vantage/ swift shipping macos menubar app, swift-native skl/ rust ai cross-runtime ai skills registry pluvgo/ rust shipping fast neovim plugin manager bashward/ rust ai checkpoint + rewind for bash side effects skill-scan/ rust ai prompt-injection scanner for ai agents pqfetch/ rust crypto tls post-quantum readiness scanner nanolm/ py learning tiny transformer trained from scratch halo/ rust shipping cli ascii halo, just for fun cove/ go shipping private git mirror that survives github cram/ rust shipping spaced repetition over your terminal tempo/ rust shipping minute-precise time tracker rabbitmark/ rust shipping bookmark manager that does not nag typesprint/ web shipping 60-second typing test, browser-only llmdiff/ rust ai diff that knows code from llm output commitgen/ rust ai commit messages from your diff ephemeral/ web shipping self-deleting messages, e2e foldlab/ web learning origami-aware geometry sandbox goalgraph/ web shipping goals as a directed graph mailsift/ rust shipping sieve filter compiler nowhere/ web shipping a place that is not on the map pixels/ web learning cellular automata in your browser pulse/ rust shipping one terminal window for local dev servers qubit/ rust learning two-qubit quantum sandbox raytrace1k/ c learning ray tracer in 1024 bytes shh/ rust shipping shell history with mtls spin/ web shipping lights-out puzzle in css twine/ rust shipping two-cursor collab editor ztail/ rust shipping tail -f for redis pubsub chessdrift/ web shipping chess-960 against your past self dolater/ web shipping task manager that respects bandwidth cmdvault/ py shipping commands you keep googling, fuzzy-searched agent-budget/ rust ai soft + hard caps for agent runs gemini-proxy/ web ai cf worker proxy for gemini api
$ cat ~/now.md
building tape v0.2, drift v0.19, anchor v0.1
reading remarque, "три товарища" (third pass), 4000 weeks by burkeman
listening lord huron, ludovico einaudi, mostly background quiet
thinking why dev tools rarely launch on hn cold; whether to keep starting repos
eating too much coffee, mostly v60 in the morning
not doing starting new public repos for the next ninety days

the longer version of this page

say hi

$ git log --author=f4rkh4d --since="1 year ago" | wc -l 1,689
0 on 2025-05-11 1 on 2025-05-12 0 on 2025-05-13 0 on 2025-05-14 1 on 2025-05-15 0 on 2025-05-16 0 on 2025-05-17 0 on 2025-05-18 0 on 2025-05-19 1 on 2025-05-20 0 on 2025-05-21 0 on 2025-05-22 1 on 2025-05-23 0 on 2025-05-24 0 on 2025-05-25 0 on 2025-05-26 0 on 2025-05-27 1 on 2025-05-28 0 on 2025-05-29 0 on 2025-05-30 1 on 2025-05-31 0 on 2025-06-01 0 on 2025-06-02 0 on 2025-06-03 0 on 2025-06-04 1 on 2025-06-05 0 on 2025-06-06 0 on 2025-06-07 0 on 2025-06-08 0 on 2025-06-09 0 on 2025-06-10 1 on 2025-06-11 0 on 2025-06-12 0 on 2025-06-13 1 on 2025-06-14 2 on 2025-06-15 0 on 2025-06-16 0 on 2025-06-17 1 on 2025-06-18 0 on 2025-06-19 0 on 2025-06-20 1 on 2025-06-21 0 on 2025-06-22 0 on 2025-06-23 0 on 2025-06-24 1 on 2025-06-25 0 on 2025-06-26 0 on 2025-06-27 1 on 2025-06-28 0 on 2025-06-29 1 on 2025-06-30 0 on 2025-07-01 0 on 2025-07-02 0 on 2025-07-03 0 on 2025-07-04 1 on 2025-07-05 0 on 2025-07-06 0 on 2025-07-07 1 on 2025-07-08 1 on 2025-07-09 0 on 2025-07-10 0 on 2025-07-11 1 on 2025-07-12 0 on 2025-07-13 1 on 2025-07-14 0 on 2025-07-15 0 on 2025-07-16 0 on 2025-07-17 0 on 2025-07-18 1 on 2025-07-19 0 on 2025-07-20 0 on 2025-07-21 1 on 2025-07-22 0 on 2025-07-23 0 on 2025-07-24 0 on 2025-07-25 2 on 2025-07-26 0 on 2025-07-27 0 on 2025-07-28 0 on 2025-07-29 0 on 2025-07-30 0 on 2025-07-31 0 on 2025-08-01 2 on 2025-08-02 0 on 2025-08-03 0 on 2025-08-04 0 on 2025-08-05 1 on 2025-08-06 0 on 2025-08-07 0 on 2025-08-08 1 on 2025-08-09 0 on 2025-08-10 0 on 2025-08-11 0 on 2025-08-12 0 on 2025-08-13 1 on 2025-08-14 0 on 2025-08-15 1 on 2025-08-16 1 on 2025-08-17 1 on 2025-08-18 0 on 2025-08-19 0 on 2025-08-20 1 on 2025-08-21 1 on 2025-08-22 1 on 2025-08-23 1 on 2025-08-24 1 on 2025-08-25 0 on 2025-08-26 1 on 2025-08-27 1 on 2025-08-28 0 on 2025-08-29 2 on 2025-08-30 0 on 2025-08-31 0 on 2025-09-01 1 on 2025-09-02 1 on 2025-09-03 0 on 2025-09-04 0 on 2025-09-05 1 on 2025-09-06 0 on 2025-09-07 1 on 2025-09-08 1 on 2025-09-09 0 on 2025-09-10 0 on 2025-09-11 1 on 2025-09-12 0 on 2025-09-13 0 on 2025-09-14 1 on 2025-09-15 0 on 2025-09-16 1 on 2025-09-17 1 on 2025-09-18 0 on 2025-09-19 1 on 2025-09-20 1 on 2025-09-21 2 on 2025-09-22 0 on 2025-09-23 2 on 2025-09-24 0 on 2025-09-25 1 on 2025-09-26 1 on 2025-09-27 0 on 2025-09-28 1 on 2025-09-29 1 on 2025-09-30 0 on 2025-10-01 1 on 2025-10-02 1 on 2025-10-03 0 on 2025-10-04 0 on 2025-10-05 2 on 2025-10-06 1 on 2025-10-07 0 on 2025-10-08 0 on 2025-10-09 0 on 2025-10-10 2 on 2025-10-11 0 on 2025-10-12 0 on 2025-10-13 1 on 2025-10-14 0 on 2025-10-15 1 on 2025-10-16 1 on 2025-10-17 0 on 2025-10-18 2 on 2025-10-19 1 on 2025-10-20 0 on 2025-10-21 0 on 2025-10-22 1 on 2025-10-23 0 on 2025-10-24 3 on 2025-10-25 2 on 2025-10-26 0 on 2025-10-27 1 on 2025-10-28 0 on 2025-10-29 0 on 2025-10-30 0 on 2025-10-31 0 on 2025-11-01 1 on 2025-11-02 0 on 2025-11-03 0 on 2025-11-04 1 on 2025-11-05 0 on 2025-11-06 0 on 2025-11-07 2 on 2025-11-08 0 on 2025-11-09 2 on 2025-11-10 0 on 2025-11-11 3 on 2025-11-12 1 on 2025-11-13 0 on 2025-11-14 0 on 2025-11-15 1 on 2025-11-16 0 on 2025-11-17 1 on 2025-11-18 1 on 2025-11-19 0 on 2025-11-20 0 on 2025-11-21 1 on 2025-11-22 1 on 2025-11-23 0 on 2025-11-24 0 on 2025-11-25 0 on 2025-11-26 1 on 2025-11-27 0 on 2025-11-28 1 on 2025-11-29 0 on 2025-11-30 1 on 2025-12-01 1 on 2025-12-02 0 on 2025-12-03 1 on 2025-12-04 1 on 2025-12-05 0 on 2025-12-06 0 on 2025-12-07 0 on 2025-12-08 1 on 2025-12-09 1 on 2025-12-10 0 on 2025-12-11 0 on 2025-12-12 0 on 2025-12-13 1 on 2025-12-14 0 on 2025-12-15 0 on 2025-12-16 1 on 2025-12-17 0 on 2025-12-18 0 on 2025-12-19 1 on 2025-12-20 1 on 2025-12-21 0 on 2025-12-22 0 on 2025-12-23 0 on 2025-12-24 0 on 2025-12-25 0 on 2025-12-26 0 on 2025-12-27 0 on 2025-12-28 0 on 2025-12-29 1 on 2025-12-30 0 on 2025-12-31 0 on 2026-01-01 0 on 2026-01-02 1 on 2026-01-03 1 on 2026-01-04 0 on 2026-01-05 0 on 2026-01-06 1 on 2026-01-07 0 on 2026-01-08 0 on 2026-01-09 0 on 2026-01-10 1 on 2026-01-11 1 on 2026-01-12 0 on 2026-01-13 2 on 2026-01-14 1 on 2026-01-15 0 on 2026-01-16 0 on 2026-01-17 1 on 2026-01-18 1 on 2026-01-19 0 on 2026-01-20 1 on 2026-01-21 1 on 2026-01-22 1 on 2026-01-23 0 on 2026-01-24 1 on 2026-01-25 0 on 2026-01-26 0 on 2026-01-27 1 on 2026-01-28 1 on 2026-01-29 0 on 2026-01-30 0 on 2026-01-31 2 on 2026-02-01 2 on 2026-02-02 1 on 2026-02-03 0 on 2026-02-04 2 on 2026-02-05 1 on 2026-02-06 2 on 2026-02-07 2 on 2026-02-08 0 on 2026-02-09 0 on 2026-02-10 0 on 2026-02-11 0 on 2026-02-12 0 on 2026-02-13 6 on 2026-02-14 1 on 2026-02-15 3 on 2026-02-16 1 on 2026-02-17 2 on 2026-02-18 5 on 2026-02-19 3 on 2026-02-20 2 on 2026-02-21 2 on 2026-02-22 2 on 2026-02-23 3 on 2026-02-24 3 on 2026-02-25 2 on 2026-02-26 2 on 2026-02-27 3 on 2026-02-28 2 on 2026-03-01 4 on 2026-03-02 0 on 2026-03-03 4 on 2026-03-04 3 on 2026-03-05 5 on 2026-03-06 4 on 2026-03-07 3 on 2026-03-08 3 on 2026-03-09 1 on 2026-03-10 2 on 2026-03-11 2 on 2026-03-12 2 on 2026-03-13 3 on 2026-03-14 4 on 2026-03-15 1 on 2026-03-16 1 on 2026-03-17 7 on 2026-03-18 3 on 2026-03-19 10 on 2026-03-20 4 on 2026-03-21 5 on 2026-03-22 4 on 2026-03-23 4 on 2026-03-24 2 on 2026-03-25 7 on 2026-03-26 1 on 2026-03-27 7 on 2026-03-28 8 on 2026-03-29 5 on 2026-03-30 7 on 2026-03-31 6 on 2026-04-01 8 on 2026-04-02 7 on 2026-04-03 7 on 2026-04-04 9 on 2026-04-05 11 on 2026-04-06 13 on 2026-04-07 9 on 2026-04-08 19 on 2026-04-09 13 on 2026-04-10 15 on 2026-04-11 15 on 2026-04-12 17 on 2026-04-13 47 on 2026-04-14 28 on 2026-04-15 24 on 2026-04-16 71 on 2026-04-17 48 on 2026-04-18 60 on 2026-04-19 60 on 2026-04-20 41 on 2026-04-21 100 on 2026-04-22 7 on 2026-04-23 6 on 2026-04-24 9 on 2026-04-25 9 on 2026-04-26 11 on 2026-04-27 19 on 2026-04-28 13 on 2026-04-29 36 on 2026-04-30 90 on 2026-05-01 109 on 2026-05-02 67 on 2026-05-03 68 on 2026-05-04 35 on 2026-05-05 15 on 2026-05-06 4 on 2026-05-07 48 on 2026-05-08 71 on 2026-05-09 62 on 2026-05-10 19 on 2026-05-11 30 on 2026-05-12 35 on 2026-05-13 3 on 2026-05-14
click any cell to see the count
$ awk '/today/' ./streak
72d
day streak
$ when --tz=zurich
sun
mon
tue
wed
thu
fri
sat
00 06 12 18
$ git log -5 --pretty=oneline
less more · updated 2026-05-13 22:17Z