big week. started deep in common lisp on the native os, shipped a self-hosted server to replace netlify, got the os booting on old macs, rewrote all the papers in first person, and ended today building two new multiplayer pieces.
the week picked up right where the last post left off — getting common lisp running natively on the ac os. monday was all quickjs bridge work: export stripping, replacing let* locals with defvars, and getting usb mounts reliable with retry loops.
tuesday i got sbcl + swank embedded in a single c build and added a boot animation — drifting triangles with a W install prompt. spent a lot of time on shutdown: proper exit codes, waiting for tts before rebooting, and multiple fallback methods. also added DA/ES/ZH translations for six papers and updated blank.mjs with better layout.
wednesday was huge. wrote a kidlisp cl-native evaluator with parser, eval, and builtins, then built the cl piece launcher — type notepat.lisp and it runs the cl version. did a big voice pass across all the papers — rewrote them in first-person @jeffrey voice, removing "we argue" and "this paper" framing from ac, kidlisp, pieces, goodiepal, os, dead-ends, who-pays, and notepat. also wrote a new paper on ucla arts department funding, added a japanese plork translation, and updated the cards template with cjk fonts and translation links. on the native side: captive portal auto-detect with dns fallback, device-token api so the os can auth for chat, and a profile page redesign. blank.mjs got animated why/what/how labels and an ac native os button.
thursday i added a composite wavetype to notepat — five layered detuned oscillators. space bar is now a kick drum with metronome on F10. got cl piece dispatch with 4 test pieces. the papers site got a sort bar and live build telemetry.
friday lith went live — a self-hosted monolith on caddy replacing netlify. response caching, full ssl, deploy webhook, access logs + traffic dashboard, and a wider papers layout with author handles and colophon. started getting the os booting on intel macs — systemd-boot for mac efi, a chainloader workaround since mac efi can't load a 270mb kernel directly, and macbook pro 2011 support. built the swank bridge to eval cl on any online device from the dashboard. tts now announces wave type on tab switch. wrote an at protocol section about pds on bare metal.
saturday: sdl2 → sdl3 migration with gpu-accelerated effects, gpu display backend on by default. universal boot — one usb image works on both macs and thinkpads now, with a splash screen chaining to systemd-boot. macbook pro 2011 got bcm5974 trackpad and cirrus logic cs4206 audio. audio defaults to 48khz now with dynamic rate negotiation. lith got auto-deploy on push to main, graceful shutdown, kidlisp.com routing, and self-hosted ipfs replacing pinata for keeps minting. also added a farcaster frame endpoint for kidlisp pieces and a liberapay widget on the give page. told people in the main chat that ac was officially off of netlify as of friday and tested chat from the native os for the first time.
today i built two multiplayer pieces back to back. first table — a shared card surface with draggable cards, drag-to-return deck with pan and minimap, then chips and elastic panning. right after that came dumduel — a stick figure shootout with a queue system. it evolved fast: top-down arena with practice dummy, synth sounds, animated legs and bigger arena, then deterministic multiplayer sync. also today: kidlisp wasm compiler, usb midi gadget, udp midi relay between native and web, gpt-4o-mini-tts and elevenlabs tts with scream mode, and an auth0 login fix.
on laer-klokken
351 messages this week. the crew was in jens benz's studio on høfdingsvej recording all week (mon–fri, 09–16). wednesday night r8dio went live with goodiepal — people tuned in from høve and across denmark. thursday someone asked "wait what is this chat for" and got the answer: "learning clock." there's a show coming up — dj inferno "op på hesten igen" on april 2nd, and a bigger one just announced: lær klokken playing for the communists in aarhus on may 23 at ridehuset. people were sharing pikblod tracks on bandcamp, helping each other figure out how to record from tape decks to computers, and coordinating pizza runs and snus. someone's fætter showed up and shared rust youtube videos. good energy all week.
on the main chat
680 messages. @sat noticed the new profile view and talked about studying astrophysics and rewriting their story. some russian-speaking users were excited to find cyrillic works in chat now. people were exploring pieces together — someone discovered notepat and said "i love using notepat it's super fun." @owingsugar learned how to import images by dragging from the gallery, and i showed them how to nuke paintings they didn't like (the dots menu needs to be more obvious — noted). @tildaa checked in. a bunch of kids had a chaotic afternoon with the bomb commands and thumbtack drama. and i tested chat from the native os for the first time on friday night — it worked.
— @jeffrey