<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: jphorism</title><link>https://news.ycombinator.com/user?id=jphorism</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 27 Oct 2026 19:22:09 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jphorism" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Open-XY: Custom Firmwares for the Teenage Engineering OP-XY]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/etcetc000/open-xy">https://github.com/etcetc000/open-xy</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=50255370">https://news.ycombinator.com/item?id=50255370</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 27 Oct 2026 06:37:33 +0000</pubDate><link>https://github.com/etcetc000/open-xy</link><dc:creator>jphorism</dc:creator><comments>https://news.ycombinator.com/item?id=50255370</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50255370</guid></item><item><title><![CDATA[New comment by jphorism in "The State of Context Engineering"]]></title><description><![CDATA[
<p>Cool. Do you find it useful for human review too, or is this mainly about the agents having the right abstractions to work with?</p>
]]></description><pubDate>Mon, 26 Oct 2026 04:54:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=50239296</link><dc:creator>jphorism</dc:creator><comments>https://news.ycombinator.com/item?id=50239296</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50239296</guid></item><item><title><![CDATA[New comment by jphorism in "The State of Context Engineering"]]></title><description><![CDATA[
<p>actually, I think agents have a lot to design after Zettelkasten yet. It's the concept of having an append-only policy and gardening to consolidate knowledge. IMO we've seen some, but there is still so much potential</p>
]]></description><pubDate>Mon, 26 Oct 2026 03:08:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=50238597</link><dc:creator>jphorism</dc:creator><comments>https://news.ycombinator.com/item?id=50238597</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50238597</guid></item><item><title><![CDATA[New comment by jphorism in "Show HN: Enzyme – a programming language that compiles wikis for agents"]]></title><description><![CDATA[
<p>Agents respond well to keeping instructions simple -- I've noticed that elaborate knowledge bases are hard for agents to consistently grok, so by simplifying the agent abstraction Enzyme improves its ability to navigate</p>
]]></description><pubDate>Sat, 24 Oct 2026 14:56:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=50221880</link><dc:creator>jphorism</dc:creator><comments>https://news.ycombinator.com/item?id=50221880</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50221880</guid></item><item><title><![CDATA[New comment by jphorism in "Show HN: Enzyme – a programming language that compiles wikis for agents"]]></title><description><![CDATA[
<p>Yeah! You're highlighting something interesting in that taste is observed over compounded judgment (ie design decisions). The reason this works well is by observing questions, Enzyme turns compounded curiosity into an agent lens</p>
]]></description><pubDate>Sat, 24 Oct 2026 14:53:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=50221853</link><dc:creator>jphorism</dc:creator><comments>https://news.ycombinator.com/item?id=50221853</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50221853</guid></item><item><title><![CDATA[New comment by jphorism in "Show HN: Enzyme – a programming language that compiles wikis for agents"]]></title><description><![CDATA[
<p>QMD is great! Concept is similar, relies on having an existing Markdown store for your agent's memory.<p>Enzyme is 100x smaller and precomputes questions that help agents to write better queries (which theyre getting great at these days), instead of relying on a finetuned model. So it is overall faster<p>Enzyme produces local artifacts, so technically it could easily run on each team member's machine (it's cheap enough), provided there's another way to sync the knowledge base. Markdown + team kb's is an interesting area and I am also curious to see what standards will take shape -- probably an adjacent problem</p>
]]></description><pubDate>Sat, 24 Oct 2026 13:48:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=50221193</link><dc:creator>jphorism</dc:creator><comments>https://news.ycombinator.com/item?id=50221193</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50221193</guid></item><item><title><![CDATA[New comment by jphorism in "Show HN: Enzyme – a programming language that compiles wikis for agents"]]></title><description><![CDATA[
<p>Hey all!<p>I built Enzyme to help agents and people compound knowledge, together. This week I decided to open-source several years of my work (it began as an Obsidian plugin, then became the first MCP for Obsidian).<p>Enzyme is like an LSP for ideas; it orients agents by emulating your working memory from a local knowledge base (sqlite or .md). I decided that a language was the best way to represent several design elements of agent memory at once: append-only log locations, temporal distribution config, profiles for "dreaming", and more. Your agent can setup Enzyme, compile the Enzyme program, and maintain a local-first, self-updating lens over its wiki. It's very fast.<p>I use it daily to maintain my 8000+ note Zettelkasten that also acts as a personal CRM (meeting transcriptions), Readwise collection, journal, and home for agent rollout summaries.<p>Core to its design are questions that are generated from recent material and projected over the corpus. Instead of "dreaming" .md files over fragments, it generates questions to connect their ideas using embedding similarity (static embeddings developed by Flower Computer). What these questions notice is configurable.<p>The binary, including the embedding weights baked in, sits under 30 mb.</p>
]]></description><pubDate>Sat, 24 Oct 2026 13:31:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=50221079</link><dc:creator>jphorism</dc:creator><comments>https://news.ycombinator.com/item?id=50221079</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50221079</guid></item><item><title><![CDATA[New comment by jphorism in "Reverse Engineering of the M-VAVE FM-1 Pocket Synthesizer Firmware"]]></title><description><![CDATA[
<p>I would LOVE teenage engineering to release something open source for us to hack with.</p>
]]></description><pubDate>Fri, 16 Oct 2026 14:51:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=50119083</link><dc:creator>jphorism</dc:creator><comments>https://news.ycombinator.com/item?id=50119083</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50119083</guid></item><item><title><![CDATA[Show HN: Animated dither wallpapers for Helium's new tab page]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/jshph/helium-dither-ntp">https://github.com/jshph/helium-dither-ntp</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49744733">https://news.ycombinator.com/item?id=49744733</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 17 Sep 2026 18:34:42 +0000</pubDate><link>https://github.com/jshph/helium-dither-ntp</link><dc:creator>jphorism</dc:creator><comments>https://news.ycombinator.com/item?id=49744733</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49744733</guid></item><item><title><![CDATA[New comment by jphorism in "Turning a pile of documents into a searchable useable knowledge base"]]></title><description><![CDATA[
<p>Nice, what are you hoping to accomplish with this project?</p>
]]></description><pubDate>Thu, 09 Jul 2026 00:19:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=48839288</link><dc:creator>jphorism</dc:creator><comments>https://news.ycombinator.com/item?id=48839288</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48839288</guid></item><item><title><![CDATA[New comment by jphorism in "Show HN: Diarize – CPU-only speaker diarization, 7x faster than pyannote"]]></title><description><![CDATA[
<p>Really cool project, thank you for sharing!! I've added it to the pipeline for my local first meeting recorder called aside: <a href="https://github.com/jshph/aside/" rel="nofollow">https://github.com/jshph/aside/</a></p>
]]></description><pubDate>Fri, 06 Mar 2026 01:32:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=47269684</link><dc:creator>jphorism</dc:creator><comments>https://news.ycombinator.com/item?id=47269684</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47269684</guid></item><item><title><![CDATA[Show HN: Aside – Local meeting capture with vault-native AI distillation]]></title><description><![CDATA[
<p>I built aside this weekend because I was tired of pasting meeting transcripts into Claude Code myself to get notes that actually connected to my Obsidian vault. Every tool I tried either required an account, sent my audio to a server, or produced summaries disconnected from where I actually think.<p>aside is a ~5MB Rust binary that records meetings and feeds them into an AI-native transcription-to-vault workflow:<p>1. Record — captures mic + system audio simultaneously (stereo WAV, left=you, right=them) with a timestamped TUI editor for real-time notes
2. Transcribe — local transcription via whisper.cpp, with a 7-stage cleanup pipeline that strips hallucinations, deduplicates backchannels, and merges fragments
3. Align — interleaves your memo lines with the transcript on a shared timeline, so you can see what was said around each thing you noted
4. Distill — a Claude Code skill searches your Obsidian vault for related notes, then writes a structured note back into it with [[wikilinks]] to your existing thinking<p>The distillation step is the part I'm most interested in feedback on. The entire pipeline is a 240-line markdown file (a Claude Code "skill") that the LLM follows as instructions. It treats your memo lines as attention signals — what you wrote down mid-call gets priority over what you didn't. Lines you edited mid-meeting get weighted even higher. It searches your vault semantically and by structure (tags, people, wikilinks), then weaves connections into the output note.<p>The output doesn't read like a meeting summary with action items. It reads like what you would have written up yourself if you had the time — highlighting what mattered to you, connected to what you've already been thinking about.<p>The skill is plain text. You can read it in the repo, fork it, change how it prioritizes topics or formats notes. There's no black box between the transcript and the vault note — just markdown instructions an LLM follows.<p>This matters because the workflow is vault-native end to end: sessions live inside the vault, distilled notes land where your thinking already lives, and the AI step uses your vault's own language and structure as context. The meeting note isn't a standalone summary — it's a node in your existing knowledge graph.<p>Technical details: 3.1k lines total. Rust binary handles recording + TUI (cpal for audio, ratatui for the editor, lock-free ring buffers for real-time capture). Python script handles transcription cleanup. Claude Code skill handles distillation. Everything runs locally except the optional LLM call.<p>Dual audio capture solves hybrid meetings — conference room mic + remote participants on speaker both get transcribed on separate channels.<p>No accounts, no telemetry, Apache 2.0. Install via `brew install jshph/aside/aside`</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47233839">https://news.ycombinator.com/item?id=47233839</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 03 Mar 2026 15:27:35 +0000</pubDate><link>https://github.com/jshph/aside/</link><dc:creator>jphorism</dc:creator><comments>https://news.ycombinator.com/item?id=47233839</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47233839</guid></item><item><title><![CDATA[New comment by jphorism in "How I archived 10 years of memories using Spotify"]]></title><description><![CDATA[
<p>Cool to see that it pays off to have split things up by season!<p>having worked on the AI Playlist feature at Spotify (which is agentic) -- one thing you can try to prompt is "give me songs that sound <vibe> from my <liked songs | playlist called "X">.<p>An extension of this is "give me a sequence of N tracks from each of <list of playlist names for each past year> that all evoke <vibe / memory / activity>". Could be a fun prompt to play with</p>
]]></description><pubDate>Sun, 04 Jan 2026 22:26:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=46492980</link><dc:creator>jphorism</dc:creator><comments>https://news.ycombinator.com/item?id=46492980</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46492980</guid></item><item><title><![CDATA[New comment by jphorism in "Experiments with Ableton-MCP"]]></title><description><![CDATA[
<p>That's cool! Have you thought about some docstring augmentation loop -- either by having the agent log the tool uses or by auto querying (e.g. perplexity API) for example use cases in the wild?</p>
]]></description><pubDate>Sun, 04 Jan 2026 05:10:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=46485135</link><dc:creator>jphorism</dc:creator><comments>https://news.ycombinator.com/item?id=46485135</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46485135</guid></item><item><title><![CDATA[New comment by jphorism in "Elegance is Bullshit"]]></title><description><![CDATA[
<p>A friend of mine uses Apple Reminders to rank his most favorite sentences of all time. It struck me that authority emerges through which ones continue to stick around (as forwarded ideas).</p>
]]></description><pubDate>Sun, 04 Jan 2026 02:36:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=46484242</link><dc:creator>jphorism</dc:creator><comments>https://news.ycombinator.com/item?id=46484242</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46484242</guid></item><item><title><![CDATA[New comment by jphorism in "The suck is why we're here"]]></title><description><![CDATA[
<p>I wonder if the premium on consistent writing quality is different than the premium we place on consistent novelty.<p>I'd hazard a guess that from the writer's perspective, novelty scales with volume of thought / connections, which is (at present) a fragmented process and not that well-assisted by AI. OTOH, can "writing quality" be better approximated by LLMs?</p>
]]></description><pubDate>Sun, 04 Jan 2026 02:32:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=46484220</link><dc:creator>jphorism</dc:creator><comments>https://news.ycombinator.com/item?id=46484220</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46484220</guid></item><item><title><![CDATA[New comment by jphorism in "The suck is why we're here"]]></title><description><![CDATA[
<p>It's possible to do both. I write in a small field journal to think better, then periodically use Wispr Flow to quickly transcribe it to Obsidian (where I can use LLMs on the writing).</p>
]]></description><pubDate>Sun, 04 Jan 2026 02:26:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=46484189</link><dc:creator>jphorism</dc:creator><comments>https://news.ycombinator.com/item?id=46484189</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46484189</guid></item><item><title><![CDATA[New comment by jphorism in "The suck is why we're here"]]></title><description><![CDATA[
<p>The plumbing metaphor is interesting. The most adjacent place I've heard this metaphor is in theology (Mako Fujimura)<p>The goal of plumbing is to fix / repair; certainly it's possible to enjoy fixing and repairing. But is the joy of writing in "repairing ideas"? How is that a separate concept from creating new ones?</p>
]]></description><pubDate>Sun, 04 Jan 2026 02:23:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=46484162</link><dc:creator>jphorism</dc:creator><comments>https://news.ycombinator.com/item?id=46484162</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46484162</guid></item><item><title><![CDATA[New comment by jphorism in "Experiments with Ableton-MCP"]]></title><description><![CDATA[
<p>Awesome stuff. Seems to me like one great use case of an MCP for Ableton would be to develop muscle / workflow memory for music production workflows. Adjacently, I've started using Perplexity a bunch for this sort of thing because it indexes YouTube tutorial transcripts. Any thoughts on how to design MCPs for learning Ableton better?</p>
]]></description><pubDate>Sun, 04 Jan 2026 02:10:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=46484086</link><dc:creator>jphorism</dc:creator><comments>https://news.ycombinator.com/item?id=46484086</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46484086</guid></item></channel></rss>