HNHacker News
TopNewBestAskShowJobs

xenodium

1,469 karma · joined August 14, 2015

submissionscomments
xenodium··on Apple Pass Designer
Creating Wallet cards always struck me as unnecessarily cumbersome, even for devs, let alone end-users. They are are often forced to open iOS apps to merely display a QR code.

A friend and I created a fun little project to enable us (and anyone) to create cards from the web https://kitty.cards

xenodium··on Which tools do Claude, Codex and Cursor choose? We measured 17k runs to find out
Support vendor agnostic tools offering agent integrations through the likes of Agent Client Protocol https://agentclientprotocol.com

ps. I built Emacs integration through ACP https://github.com/xenodium/agent-shell

xenodium··on Emacs 31: An unofficial guide to Markdown-ts-mode
Wonderful to hear. Thank you sir!
xenodium··on Show HN: Agent-shell – vendor-neutral chat with AI agents in Emacs
I recently read someone [1] make the case for a sweet spot blending the best of CLI agents (fast, keyboard-driven, in a terminal) and desktop agents (rich UI: inline images, diffs).

This resonated with me as fairly on point to what agent-shell has been going for, except from inside Emacs, which arguably gets you plenty of goodies at once: it's fast and text/keyboard-driven like a terminal, also renders inline images, markdown and tables like a desktop app, but with first class integration into your text editor (no context switch). Also, since it's all elisp, you can bend any of it to your own workflow.

This release pulls more of that desktop-like experience with richer TAB navigation, actionable items (resizable images) and a more chat-like experience.

Also worth highlighting, agent-shell is vendor-neutral: it speaks ACP, so you can drive Claude, Codex, Gemini... without relearning your tools.

Repo: https://github.com/xenodium/agent-shell (also on MELPA). Full 0.73 notes: https://xenodium.com/agent-shell-0-73-updates. Feedback welcome.

[1] Sorry, I read this somewhere recently but couldn't find it again.

xenodium··on My Emacs Configuration (Dired)
Tangentially related, I wrote https://github.com/xenodium/dwim-shell-command to save all sorts of command invocations (I'm looking at you ffmpeg) and easily batch apply to dired files. Here's a demo video https://www.youtube.com/watch?v=77NtPfgr4x0
xenodium··on ytr: YouTube Radio for Emacs
About that, mine loves Munetaka Murakami's fight song https://www.yakyu-ouen.net/murakami-munetaka, so I had plenty of chances to memorize the words.

This is lovely too :) https://www.youtube.com/watch?v=LSBT4ES9b9U&list=RDLSBT4ES9b...

edit: Thanks for Angine de Poitrine!

xenodium··on ytr: YouTube Radio for Emacs
Thanks! It’s an undecorated frame. I wanted a “widget” experience of sorts.
xenodium··on ytr: YouTube Radio for Emacs
> Extra impressive considering he has a newborn at home.

My newborn is on board! Nursery rhymes on YT ftw ;)

xenodium··on ytr: YouTube Radio for Emacs
Glad to hear it worked as advertised! Sorry, not super familiar with evil (on vanilla keys here). Please send a PR if you find out how to configure for evil so we can document in README.
xenodium··on A History of IDEs at Google
While most IDEs converged to a unified web solution, pockets of devoted users continued to volunteer improvements/integrations for their preferred editors.

During my time there, a relatively small, but fairly active Emacs group, would often share tips, tricks, and elisp integrating the latest internal tools.

xenodium··on Lazycut: A simple terminal video trimmer using FFmpeg
Neat! I did the Emacs equivalent https://github.com/xenodium/video-trimmer
xenodium··on How I write software with LLMs
From my experience, you kinda get what you ask for. If you don't ask for anything specific, it'll write as it sees fit. The more you involve yourself in the loop, the more you can get it to write according to your expectation. Also helps to give it a style guide of sorts that follows your preferred style.
xenodium··on Emacs and Vim in the Age of AI
Resume is supported by agent-shell, but is dependent on agent's to implement the relevant ACP. Do you know if OpenCode's ACP implementation has listing and resuming session support?

Also, you'll need to enable resuming as per post (it's a new feature) https://xenodium.com/agent-shell-0-47-1-updates

xenodium··on Emacs and Vim in the Age of AI
That's nice to hear. Thank you!
xenodium··on Emacs and Vim in the Age of AI
I put off adopting popular agents for most of 2025 primarily because there was no agent-agnostic path to first-class Emacs integration. That changed with ACP (https://agentclientprotocol.com), thus I started working on agent-shell.

I'm happy with how the integration is shaping up, enabling me to have my cake and eat it too (Emacs + AI agents).

I wrote an agent-shell post recently with the latest changes https://xenodium.com/agent-shell-0-47-1-updates

xenodium··on When does MCP make sense vs CLI?
I've yet to play with Emacs MCPs thoroughly. Having said that, after initial exposure to agent skills directing agents to just use CLI/emacsclient, I no longer think I need to go deeper into MCP. emacsclient via CLI has been working remarkably well. Did a little video on that https://www.youtube.com/watch?v=ymMlftdGx4I
xenodium··on Claude Opus 4.6
I like LLMs, but guarantees in LLMs are... you know... not guaranteed ;)
xenodium··on Agent-shell: A native Emacs buffer to interact with LLM agents powered by ACP
> It's still not crystal clear to me architecturally is going on

[ Emacs ] <-- JSONRPC (stdin/stdout) -> [ Agent subprocess (headless) ]

> I'd love to know how that is wired to the agents; is that input sent over ACP?

Yes. All traffic goes over ACP between Emacs and the agent. You can inspect the traffic using agent-shell itself.

https://github.com/xenodium/agent-shell?tab=readme-ov-file#h...

> Is that just sending to the shell?

The compose buffer is an UX abstraction on top of the agent shell buffer which is a native Emacs buffer, but ultimately all traffic is sent over ACP.

agent-shell's links to blog posts may be of interest https://github.com/xenodium/agent-shell?tab=readme-ov-file#n...

xenodium··on Agent-shell: A native Emacs buffer to interact with LLM agents powered by ACP
> Like with claude-code-ide you can define custom MCP tools that run Emacs commands.

Should be possible in newer versions of agent-shell (see https://github.com/xenodium/agent-shell/pull/237)

xenodium··on Agent-shell: A native Emacs buffer to interact with LLM agents powered by ACP
> Keeping your own data as plain text has huge benefits. Having all my chats persistent is good. It's all private.

While agent-shell is much newer than chatgpt-shell, it likely has richer interaction by now (specially the compose interface). I'm veering off topic here... agent-shell now saves all interactions to project/.agent-shell/transcripts as Markdown files. We can totally do org too, but I just haven't gotten to it.

xenodium··on Ask HN: Do you also "hoard" notes/links but struggle to turn them into actions?
I had been hoarding links/notes to movies/tv shows for some time, saved to a plain text file. Often by sharing links from other apps (ie. Reddit or Letterboxd), paired with hashtags, using an iOS app I built.

Finally extracted the data for these hashtags and fed it to an LLM to organize. I'm happy with the result https://xenodium.com/film-tv-bookmarks-chaos-resolved

xenodium··on Show HN: www.kitty.cards – Make your own Apple Wallet cards
Tap pencil to edit card, and then tap on QR code (you should have a choice of using the camera or uploading a QR code).
xenodium··on I was a top 0.01% Cursor user, then switched to Claude Code 2.0
Great to hear it! Thank you =)
xenodium··on I was a top 0.01% Cursor user, then switched to Claude Code 2.0
For most of 2025, I ignored popular agents because I wanted to stay within my preferred text editor (Emacs). Thanks to ACP (https://agentclientprotocol.com), I no longer live under a rock ;) I built https://github.com/xenodium/agent-shell and now get a native experience. Claude Code works great. If curious what that looks like, I made a video recently https://xenodium.com/bending-emacs-episode-10-agent-shell
xenodium··on Org Mode syntax is one of the most reasonable markup languages for text (2017)
There’s this https://orgmode.org/worg/org-syntax.html
xenodium··on Org Mode syntax is one of the most reasonable markup languages for text (2017)
I’ve built a handful of org based iOS apps.

While my initial intention was to bring as much org support to iOS as possible (https://plainorg.com), my thinking evolved over time and I gravitated towards a different kind of mobile-optimised experience, and so https://journelly.com was born. I’ve recently added Markdown support too https://xenodium.com/journelly-1-3-released

I use Journelly the most and is also my most popular app.

I have an org scratch pad and also a habit tracking app https://flathabits.com.

xenodium··on Graphite is joining Cursor
Also with ACP (https://agentclientprotocol.com) we can all have a native IDE/editor experience integrating agents, kinda like what LSP brought us.

Even Emacs nuts like me can use agents natively from our beloved editor ;) https://xenodium.com/agent-shell-0-25-updates

xenodium··on Unscii
These are lovely. I miss some of that ASCII art quirkiness, so I added it to my blogging platform (as ASCII art banners) https://lmno.lol
xenodium··on Ask HN: What Are You Working On? (December 2025)
https://LMNO.lol Drag and drop your markdown to the web and get a blog.

Also because the web/blogs lost itself in tracking, bloat, paywalls... and I miss some of the quirkiness.

My blog runs on it: https://xenodium.com

xenodium··on Surprisingly, Emacs on Android is pretty good
Thank you! That’s wonderful to hear.
Page 1 of 10Next →