Latest Items
- My approach to global AI engineering hub via dotfiles
I use several coding agents: Claude Code, Codex, Cursor, OpenCode... across personal and work laptops. The failure mode is familiar: each tool wants its own instruction file, the files drift, and a new machine means redoing the wiring. My fix was not to “sync ~/.claude through Dropbox/Drive”, but rather a small, curated hub in git, deployed with GNU Stow: Repo: benoror/dotfiles/stow/agents Published notes: notes.benoror.com/Agents/README Three layers Global personal defaults that travel with me: ~/.agents/AGENTS.md Project / Team: Committed repo AGENTS.md / CLAUDE.md (facts and conventions for that codebase). Local override: gitignored CLAUDE.local.md when I need private exceptions. Global stays lean. Project files own architecture. I do not force personal quirks into team repos. One Stow packageUnder stow/agents/, Stow installs the hub and tool entrypoints in one shot: ~/.agents/AGENTS.md + RESOLVER.md (canonical + discovery playbook) ~/.claude/CLAUDE.md → @~/.agents/AGENTS.md ~/.codex/AGENTS.md (and OpenCode / generic paths) → hub symlinks Bootstrap on a new machine: $ cd ~/dotfiles $ make agents-install $ make agents-verify No fan-out shell scripts. Stow owns the links; Make owns install / restow / verify. Details: stow/agents/README.md Cursor is the exception: global User Rules (and Settings Sync) matter more than a...
Continue reading...Also shared to:Bluesky - 🎮 Resurrecting a ~25-year-old GBA project
🎮 Resurrecting a ~25-year-old GBA project Around 2003 teenage me shipped the last version of a GBA Arkanoid clone called @rkanoid to PDRoms.de, back when "homebrew distribution" meant a faithful curator, a personal site, and a forum thread on gbadev.org. Then it sat dormant for ~25 years...
- I just added an experimental chatbot to benoror.com 🤖
I just added an experimental chatbot to benoror.com 🤖 Spent the weekend playing with Google’s Gemma 4 model to feel it in the wild. It’s rough and a bit weird. Try it out. If it says something unhinged… that’s on me 🙂
- Been experimenting this weekend with agentic workflows on top of Obsidian vaults... it's addictive
Been experimenting this weekend with agentic workflows on top of Obsidian vaults... it's addictive AI agents that handle meetings, transcripts, follow-ups, recaps, and commits -- all via slash commands, right inside your vault. Works with Cursor, Claude Code, OpenCode, etc...
- Prompt Engineering Cheatsheet
About Some prompts snippets I have found useful and [mostly] effective through my agentic coding workflows.
Also shared to:Bluesky - The Son of Man: An [incomplete] AI short story I wrote in 2004
I recently rediscovered a short story in my old files archive that I wrote, though never finished, around 2004, when I was a high school teenager. It’s a story about the advent of artificial intelligence. Re-reading this text in 2026 feels oddly early, perhaps even a bit haunting. While I remain an AI optimist, I liked the fact that the story doesn't necessarily try to predict the future; instead, it tries to understand something more fundamental: the origins of intelligence. That focus seems to have aged better than other blunt technological prophecies of the time. By the early 2000s, my love for Sci-Fi was already cemented by the likes of Isaac Asimov and generational films like The Matrix and Minority Report. I hadn't yet discovered contemporary authors like Dan Simmons, Iain M. Banks, Liu Cixin, or especially qntm, whose short story Lena later captivated me with its documentary, technical style and quiet speculative weight. In a rather ironic twist, I decided to use modern LLMs to slightly rework the prose and flow style of this old draft. Specifically, I "qntm-fied" it to make the reading more pleasurable, keeping the ideas intact but stripping away the teenage flourishes for something more clinical and precise. I’m keeping the original version as-is for posterity. You can also see the versioned iterations by ChatGPT & Gemini. The following is the iteration I liked the most, one I surely hope to finish...
Continue reading...Also shared to:Bluesky - The greatest pastel color scheme of all-time
I craved pastel-based colorchemes for my Arch Linux TUIs before the likes of Catppuccin
(the proof is in the pudding)
In a recent spike of nostalgic-fueled excitement, I impulsively bought xoria256.com domain and planned for world domination afterwards. I still love Xoria256 but I am not that sure anymore.

- Made AI-gen a Podcast a while ago
Last year I was playing around with Google's NotebookLM and ended up creating a podcast episode by feeding it with Naval's content, pluse using other Gen AI tools for the assets (intro music, sfx, images...)
Head over to /pop-podcast
- Modularize a long/complex SQL query in Ruby
Continue reading...def my_big_ish_reportmy_long_query = ```sqlSELECT a,b,c FROM ... AS q_aJOIN (SELECT ... ' Sub-query 1WHERE client_id = 'foobar') sq_1 ON q_a.fkey_id = sq_1.idINNER JOIN (SELECT x,y,z FROM ... ' Sub-query 2JOIN (SELECT ... ' Sub-query 1 ' Sas as Sub-query 1 above ^WHERE client_id = 'foobar'))...etc...```results = ActiveRecord::Execute::SQL(my_long_query)# ...... - Export base meta data from Airtable
Continue reading...const fda = ( fields ) => {let data = []for(const f of fields ){data.push(fd(f))}return data}const fd = ( field ) => {let data = {id: field.id, name: field.name, type: field.type, isComputed: field.isComputed, options:field.options, description: field.description}return data}let tables = []for (const table of base.tables ){let views = []...
Generated at Aug 11, 2026, 5:00 AM