<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: Show HN</title><link>https://news.ycombinator.com/shownew</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 06 Jul 2026 05:37:35 +0000</lastBuildDate><atom:link href="https://hnrss.org/show?comments=25&amp;points=100" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Show HN: Homegames. An open-source game platform I've been making for 8 years]]></title><description><![CDATA[
<p>I'm making a platform for simple open source games you can play anywhere.<p>Games are all just JavaScript classes and you can read the source of every game on the platform.<p>I started working on initial "games" (mostly rendering tests) in 2018 and eventually built all of the platform stuff around it to make it easy to share games.<p>There's also an in-browser editor available for you to make and publish games all from the browser.<p>Would love some feedback on the games and studio features as well as the platform overall. All of the code is available at <a href="https://github.com/homegamesio" rel="nofollow">https://github.com/homegamesio</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48798153">https://news.ycombinator.com/item?id=48798153</a></p>
<p>Points: 121</p>
<p># Comments: 35</p>
]]></description><pubDate>Sun, 05 Jul 2026 21:32:44 +0000</pubDate><link>https://homegames.io</link><dc:creator>homegamesjoseph</dc:creator><comments>https://news.ycombinator.com/item?id=48798153</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48798153</guid></item><item><title><![CDATA[Show HN: Bramble – Local-first password manager]]></title><description><![CDATA[
<p>I'm currently working on Bramble, an open source password manager with P2P cross-device sync. Initially I released the Chrome extension, but recently I also published the Android app and iOS is pending Apple's approval. Besides that, the latest version also includes passkey storage for all platforms!<p>About Bramble:<p>It aims to be as feature-rich as all popular and a replacement for cloud-based providers. I don't think we need to store our data in the cloud and be at the whims of companies raising their prices every year. There's always a breach and then we find out that some fields aren't encrypted, metadata is visible, and so on. I'm frustrated with this and the increasing lack of transparency during these breaches.<p>The P2P sync in Bramble uses a Nostr relay (which can be self-hosted) to keep your devices in sync. The relay just introduces the devices to each other; the data then flows directly over WebRTC, so there's no vault server and no cloud copy of your passwords anywhere. What leaves your device is end-to-end encrypted and your devices authenticate each other directly, so a snooping or MITM relay gets practically nothing.<p>Crypto is all done in Rust so I can control exactly how key material lives and dies in memory (secrets get zeroed out, no GB leaving copies lying around). In Chromium it's a wasm module, on mobile it's native builds bridged over via uniffi.<p>Android app:<p>I'm still deciding whether to publish the app on Play store or simply provide the signed APK which users can sideload. Reason for that is Google's plan to lock down Android and take away ownership from its users. Read more about it here: <a href="https://keepandroidopen.com/" rel="nofollow">https://keepandroidopen.com/</a><p>The app uses no Play APIs whatsoever and runs perfectly on GrapheneOS, where I actually did all my testing.<p>Questions, feedback, feature requests - all welcome!<p>TL;DR: I dislike private-equity and venture funded companies messing with our security, so I created my own Password Manager which is local-first, free, open source and as transparent as it gets.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48766242">https://news.ycombinator.com/item?id=48766242</a></p>
<p>Points: 143</p>
<p># Comments: 44</p>
]]></description><pubDate>Thu, 02 Jul 2026 19:29:58 +0000</pubDate><link>https://github.com/flythenimbus/bramble</link><dc:creator>MegagramEnjoyer</dc:creator><comments>https://news.ycombinator.com/item?id=48766242</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48766242</guid></item><item><title><![CDATA[Show HN: Mail Memories – A desktop app to rescue photos from Gmail]]></title><description><![CDATA[
<p>Hey HN, I’m the creator of Mail Memories. Like many of you, I've had my Gmail address for more than 20 years. A few years ago, I got curious and wanted to see what photos were buried deep in my account. I ended up finding lots of "lost" pictures of old friends, family members, and a ridiculous number of vintage memes.<p>I originally built and launched this as a SaaS, but even with code and policies in place that kept users' photos private, I figured everyone would feel more comfortable with a desktop app.<p>So, I threw out the server architecture and completely rewrote it as a 100% local desktop app for Mac and Windows.<p>How it works now: The app connects directly to Google's server from your computer, processes everything entirely on your system, and saves photos straight to your hard drive.<p>You can download your 50 oldest photos for free (no credit card required) just to see what's in there. If you want to download all the pictures in your account, it's a one-time payment of $29. No subscriptions.<p>If you have an old, pre-2010 Gmail account, definitely give it a spin. You'll be surprised at what you find deep in your archive.<p>I'd love to hear your feedback on the layout, scanning performance, or anything else.<p>TL;DR: I turned my SaaS into a local desktop app (Mac/Windows) that recovers decades of forgotten photos from your Gmail. 100% local, no cloud, no subscriptions, no AI.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48762000">https://news.ycombinator.com/item?id=48762000</a></p>
<p>Points: 102</p>
<p># Comments: 57</p>
]]></description><pubDate>Thu, 02 Jul 2026 14:16:57 +0000</pubDate><link>https://mailmemories.com</link><dc:creator>ltiger</dc:creator><comments>https://news.ycombinator.com/item?id=48762000</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48762000</guid></item><item><title><![CDATA[Show HN: ZeroFS – A log-structured filesystem for S3]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.zerofs.net/">https://www.zerofs.net/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48761493">https://news.ycombinator.com/item?id=48761493</a></p>
<p>Points: 128</p>
<p># Comments: 52</p>
]]></description><pubDate>Thu, 02 Jul 2026 13:41:11 +0000</pubDate><link>https://www.zerofs.net/</link><dc:creator>Eikon</dc:creator><comments>https://news.ycombinator.com/item?id=48761493</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48761493</guid></item><item><title><![CDATA[Show HN: A graph paper generator that renders vector PDFs in the browser]]></title><description><![CDATA[
<p>Article URL: <a href="https://freegraphpaper.net/">https://freegraphpaper.net/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48761294">https://news.ycombinator.com/item?id=48761294</a></p>
<p>Points: 107</p>
<p># Comments: 25</p>
]]></description><pubDate>Thu, 02 Jul 2026 13:29:09 +0000</pubDate><link>https://freegraphpaper.net/</link><dc:creator>lam_hg94</dc:creator><comments>https://news.ycombinator.com/item?id=48761294</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48761294</guid></item><item><title><![CDATA[Show HN: Searchable directory of 22k+ products from worker-owned co-ops]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.workerowned.info/">https://www.workerowned.info/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48752905">https://news.ycombinator.com/item?id=48752905</a></p>
<p>Points: 394</p>
<p># Comments: 82</p>
]]></description><pubDate>Wed, 01 Jul 2026 20:47:41 +0000</pubDate><link>https://www.workerowned.info/</link><dc:creator>IESAI_ski</dc:creator><comments>https://news.ycombinator.com/item?id=48752905</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48752905</guid></item><item><title><![CDATA[Show HN: DRM-Free Books]]></title><description><![CDATA[
<p>After several years of mandatory DRM lockdowns from most commercial book sources, now authors have a choice when it comes to DRM for their books.  Pick authors and books that are DRM-free, or download DRM-free classics that are out of copyright.<p><a href="https://frequal.com/Perspectives/DrmFreeAuthors.html" rel="nofollow">https://frequal.com/Perspectives/DrmFreeAuthors.html</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48709186">https://news.ycombinator.com/item?id=48709186</a></p>
<p>Points: 118</p>
<p># Comments: 48</p>
]]></description><pubDate>Sun, 28 Jun 2026 16:58:56 +0000</pubDate><link>https://frequal.com/Perspectives/DrmFreeAuthors.html</link><dc:creator>TeaVMFan</dc:creator><comments>https://news.ycombinator.com/item?id=48709186</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48709186</guid></item><item><title><![CDATA[Show HN: Zanagrams]]></title><description><![CDATA[
<p>Article URL: <a href="https://zanagrams.com/">https://zanagrams.com/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48708182">https://news.ycombinator.com/item?id=48708182</a></p>
<p>Points: 397</p>
<p># Comments: 107</p>
]]></description><pubDate>Sun, 28 Jun 2026 15:26:14 +0000</pubDate><link>https://zanagrams.com/</link><dc:creator>pompomsheep</dc:creator><comments>https://news.ycombinator.com/item?id=48708182</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48708182</guid></item><item><title><![CDATA[Show HN: Decomp Academy – Learn to decompile GameCube games into matching C]]></title><description><![CDATA[
<p>Over the past few months I've been heavily involved in the decompilation community. I've been hands-on decompiling a beloved game from my childhood (Star Fox Adventures). I started this journey with zero prior decomp experience—and to make things worse I had never really touched C nor assembly either.<p>Learning how to decompile was challenging. It's difficult to find any good learning resources for it and any open-source projects for this are inactive and/or contain little actual learning material.<p>So I put together Decomp Academy! Decomp Academy is an interactive way to learn how to decompile PowerPC assembly back into C. The site runs a live Metrowerks CodeWarrior GC/2.0 compiler, converts your C into assembly, and then checks how close your assembly matches the target. If even 1 instruction or bit is off, that's a fail. This is the gold standard for video game decompilation and this is much stricter than a normal decompile.<p>As of writing there are 250+ lessons on the site and the lessons start at the very basics so anyone with a little programming experience should be able to jump straight in, even if you're not a C expert. Some lessons also have real functions taken from live open source decomp projects (Star Fox Adventures, Mario Party 4, Pikmin, Metroid Prime). The idea being you learn everything you need to know to be able to jump in and contribute to a real decompilation project when done.<p>The site is completely free, open source and you have access to all lessons without having to sign up. All lessons are stored in markdown in the repo (src/curriculum), it's trivial to add or modify lessons. The site is very new and the lessons are rapidly changing every day with a whole C++ section on the way. The site has already been well received by the decomp community and I'm happy to share it with HN. I'm very keen on others to contribute to this project and I hope this becomes the best resource on the internet for learning the art of decompilation. Please let me know what you think!<p>Source: <a href="https://github.com/JackPriceBurns/decomp-academy-fe" rel="nofollow">https://github.com/JackPriceBurns/decomp-academy-fe</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48703412">https://news.ycombinator.com/item?id=48703412</a></p>
<p>Points: 196</p>
<p># Comments: 78</p>
]]></description><pubDate>Sun, 28 Jun 2026 01:21:20 +0000</pubDate><link>https://decomp-academy.dev</link><dc:creator>jackpriceburns</dc:creator><comments>https://news.ycombinator.com/item?id=48703412</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48703412</guid></item><item><title><![CDATA[Show HN: Adrafinil – keep a lid-closed Mac awake only while agents work]]></title><description><![CDATA[
<p>A month ago there was a wave of posts and tweets about engineers walking around cafes and parks with their MacBooks propped half-open, as fully closing the lid forces sleep that stops their AI agents. Some people made snarky comments about using tmux or Amphetamine, and some defended their choice with “but I only need it sometimes, and forgetting to disable Amphetamine and finding my laptop discharged in my bag is worse.”<p>This is a solution to this problem. Unlike caffeinate, it will prevent your MacBook from sleeping even with the lid closed, with no external power or display, using pmset disablesleep 1. Unlike other sleep-preventing apps, Adrafinil only activates when there’s an agent actively doing something. It detects agent activity through hooks it installs into Claude Code, Codex, and others. To reassure you it’s working, the app shows the active status in the menu bar, and it plays a chime when you close the lid.<p>Once the agent is done, Adrafinil detects it and lets the laptop go to sleep by setting pmset disablesleep back to 0. It will also let it sleep in case of overheating. And if you want to manually toggle it, you can install an optional MCP and tell your agent to keep the MacBook awake for a specific time.<p>It has four binaries, one of which is a root helper exposing a single setSleepBlocked call. All the logic and policy live in the unprivileged parts. They’re all notarized, and the app is fully open source (MIT).</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48701512">https://news.ycombinator.com/item?id=48701512</a></p>
<p>Points: 124</p>
<p># Comments: 78</p>
]]></description><pubDate>Sat, 27 Jun 2026 20:34:53 +0000</pubDate><link>https://github.com/kageroumado/adrafinil</link><dc:creator>kageroumado</dc:creator><comments>https://news.ycombinator.com/item?id=48701512</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48701512</guid></item><item><title><![CDATA[Show HN: Hacker News on a train station-style flip board]]></title><description><![CDATA[
<p>Although the page itself is more just fun to have made and look at (I like the flip sound), the fun part is how I made it to verify the (and I hate to say it) vibe host service I've been working on. The recent flip board back and forth's on Twitter (X) are what inspired me.<p>The idea here is that people (like me or you) can create something neat like this, and others can remix it, change it and publish their own version. This is that all in action and it worked great. I wrote a blog about it (the blog is dogfooding, it's just an app hosted on quickish that uses the built in db lib).<p>For the HN version of this flip board I use their firebase api via the built in quickish server functions that make use of the fact that the front-end can get realtime updates (now that you mention firebase) from cloud function db updates. Of course that's over-kill but I wanted to show something fun. You can remix and host your own version for free, just need a google oauth login that's it.<p>OG flip board I built (Portland Based - Current Weather): <a href="https://popflame.quickish.space/flipboard-preview" rel="nofollow">https://popflame.quickish.space/flipboard-preview</a><p>Blog post that dives a tiny bit deeper: <a href="https://popflame.quickish.space/blog/hacker-news-on-a-split-flap-board/" rel="nofollow">https://popflame.quickish.space/blog/hacker-news-on-a-split-...</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48693912">https://news.ycombinator.com/item?id=48693912</a></p>
<p>Points: 114</p>
<p># Comments: 30</p>
]]></description><pubDate>Sat, 27 Jun 2026 00:43:39 +0000</pubDate><link>https://popflame.quickish.space/hn-flipboard/</link><dc:creator>PaybackTony</dc:creator><comments>https://news.ycombinator.com/item?id=48693912</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48693912</guid></item><item><title><![CDATA[Show HN: Smart model routing directly in Claude, Codex and Cursor]]></title><description><![CDATA[
<p>We built a model router that plugs into coding agents (e.g. Claude Code, Codex, Cursor, etc.) and intelligently sends requests to the best model to serve them. Here's a quick demo of running it locally: <a href="https://www.youtube.com/watch?v=isKhAyivtfM" rel="nofollow">https://www.youtube.com/watch?v=isKhAyivtfM</a>.<p>At Weave, we write most of our code with AI, and it's been getting more expensive. This came to a head when Opus 4.7 was released and, thanks to its tokenizer changes, our costs shot up. We knew we didn't need Opus for <i>everything</i> but we didn't want to lose out on the intelligence for the cases where you really need it. So we decided to build a model router to handle this for us.<p>The Weave Router acts as an Anthropic/OpenAI endpoint specifically for coding agents. It looks at every inference request and intelligently (more on that in a sec) decides what model to send it to, handling all the translations required along the way. So it can use faster/cheaper models (e.g. DeepSeek v4, GLM 5.2, Kimi K2.6) when possible, and frontier models (Opus 4.8 & GPT 5.5 (& Fable whenever it's back)) when necessary.<p>How do we know what model to route to? We trained an RL model on tens of thousands (so far!) of agent traces. We reward the routing model when it selects an LLM that successfully completes the given task.<p>Here's an example: if you ask the router to plan a complex change, it will (probably) route that request to Opus 4.8. Subagents exploring the codebase to gather context will be routed to more suitable models (e.g. DeepSeek V4 Flash). Then when you have the plan ready to implement, it will be (most likely) be handed to a quicker model (e.g. GLM 5.2) to carry it out.<p>We've been using this internally for the last month or so. We've saved 40% on tokens vs. what we otherwise would have paid, with no noticeable differences in quality or velocity.<p>The router is source-available under Elastic License 2.0, so you can self-host it. Or if you prefer, you can also use our hosted version: weaverouter.com.<p>I'll be here to answer any questions you may have!</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48688700">https://news.ycombinator.com/item?id=48688700</a></p>
<p>Points: 216</p>
<p># Comments: 113</p>
]]></description><pubDate>Fri, 26 Jun 2026 16:40:11 +0000</pubDate><link>https://github.com/workweave/router</link><dc:creator>adchurch</dc:creator><comments>https://news.ycombinator.com/item?id=48688700</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48688700</guid></item><item><title><![CDATA[Show HN: OpenKnowledge – open source AI-first alternative to Obsidian/Notion]]></title><description><![CDATA[
<p>Hi HN, Nick here. We’re launching OpenKnowledge (<a href="https://openknowledge.ai/" rel="nofollow">https://openknowledge.ai/</a>), a “what you see is what you get” markdown editor that has direct integrations with Claude, Codex, and other agents. Available as MacOS app or Web UI+CLI. Fully free/local and OSS.<p>We built this because we wanted a Notion-like experience for writing and sharing markdown files across our team. Obsidian is the best alternative we tried, but found it doesn’t have a true WYSWIG UI and it didn’t integrate well with Claude/Codex outside of community plugins.<p>So we built OpenKnowledge. It takes shape as:<p>1. A MacOS app with a file navigator, the WYSIWYG editor, and link explorer.<p>2. Integrations with the Claude, Codex, and Cursor desktop apps. The agents can open an OpenKnowledge editor within their embedded web browsers for a side-by-side experience.<p>3. Built-in mcps, skills, and RAG for LLM-wiki and “AI Second Brain” scenarios + spec writing<p>4. An embedded terminal and CLI for TUI-first users<p>OSS stack includes: Tiptap/prosemirror, CodeMirror, yjs (CRDT), Electron (MacOS app), Orama, remark/rehype/micromark/mdast, @pierre/trees<p>On the architecture side, the interesting eng. challenges included:<p>1. A pipeline to convert ProseMirror to markdown in a bidirectional lossless way. ProseMirror uses ASTs, which are not designed to have byte-fidelity.<p>2. A dual-observer CRDT to keep the ProseMirror and markdown state in-sync.<p>The CRDT + git also power a collaborative experience that shows what Agents are doing in the markdown, have undo/redo, and version history. The “Share” and cloud-sync functionality are geared for team collaboration. They feel “no-code” but leverage git/GitHub under the hood, which also means data stays fully private.<p>In that spirit, we made OpenKnowledge open source for anybody who’s curious or who’d like to contribute.<p>We’re actively thinking about plugins/extensibility and what’s next. If you have suggestions or feedback, would love to hear it.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48675435">https://news.ycombinator.com/item?id=48675435</a></p>
<p>Points: 381</p>
<p># Comments: 173</p>
]]></description><pubDate>Thu, 25 Jun 2026 16:04:46 +0000</pubDate><link>https://github.com/inkeep/open-knowledge</link><dc:creator>engomez</dc:creator><comments>https://news.ycombinator.com/item?id=48675435</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48675435</guid></item><item><title><![CDATA[Show HN: I made Google Trends for Hacker News by indexing 18 years of comments]]></title><description><![CDATA[
<p>Article URL: <a href="https://hackernewstrends.com">https://hackernewstrends.com</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48673671">https://news.ycombinator.com/item?id=48673671</a></p>
<p>Points: 822</p>
<p># Comments: 156</p>
]]></description><pubDate>Thu, 25 Jun 2026 14:08:55 +0000</pubDate><link>https://hackernewstrends.com</link><dc:creator>ytkimirti</dc:creator><comments>https://news.ycombinator.com/item?id=48673671</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48673671</guid></item><item><title><![CDATA[Show HN: Bible as RAG Database]]></title><description><![CDATA[
<p>Made this in a free evening. Index an permissive license translation of the Bible (WEB) into a RAG database to allow returning passages of similar semantic meaning. Lots of fun. For example, "more money more problems" returns Ecclesiastes 5:9-13 which, I'll just say, is spot on..<p>"Moreover the profit of the earth is for all. The king profits from the field. He who loves silver shall not be satisfied with silver, nor he who loves abundance, with increase. This also is vanity. When goods increase, those who eat them are increased; and what advantage is there to its owner, except to feast on them with his eyes? The sleep of a laboring man is sweet, whether he eats little or much; but the abundance of the rich will not allow him to sleep. There is a grievous evil which I have seen under the sun: wealth kept by its owner to his harm."<p>Anyway - thought it was fun enough to share. It's slow and I vibe coded it so I haven't sorted out how to make it not take 15 seconds to vector search against the full 4GB index.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48667807">https://news.ycombinator.com/item?id=48667807</a></p>
<p>Points: 165</p>
<p># Comments: 94</p>
]]></description><pubDate>Thu, 25 Jun 2026 01:42:55 +0000</pubDate><link>https://www.crosscanon.com/</link><dc:creator>jacksonastone</dc:creator><comments>https://news.ycombinator.com/item?id=48667807</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48667807</guid></item><item><title><![CDATA[Show HN: Nub – A Bun-like all-in-one toolkit for Node.js]]></title><description><![CDATA[
<p>Colin here, creator of Nub. I’ve had the general shape of this in mind for years. Nub runs your code with stock `node`, augmented with a `--require` preload hook[0] that adds a transpiler (oxc-powered, packaged as a Node-API add-on), registers a module resolution hook[1], and injects polyfills as needed for APIs like `Worker`, `Temporal`, etc. All purely additive, your code ultimately runs using Node’s actual engine & stdlib implementations.<p>[0] <a href="https://nodejs.org/api/cli.html#-require-module" rel="nofollow">https://nodejs.org/api/cli.html#-require-module</a><p>[1] <a href="https://nodejs.org/api/module.html#moduleregisterhooksoptions" rel="nofollow">https://nodejs.org/api/module.html#moduleregisterhooksoption...</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48660267">https://news.ycombinator.com/item?id=48660267</a></p>
<p>Points: 277</p>
<p># Comments: 81</p>
]]></description><pubDate>Wed, 24 Jun 2026 14:14:18 +0000</pubDate><link>https://github.com/nubjs/nub</link><dc:creator>colinmcd</dc:creator><comments>https://news.ycombinator.com/item?id=48660267</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48660267</guid></item><item><title><![CDATA[Show HN: TikZ Editor – WYSIWYG editor for figures in LaTeX]]></title><description><![CDATA[
<p>Hi all! TikZ is a widely-used LaTeX package for drawing figures in papers. It uses commands like \draw[->] (0,0) -- (1,2); to draw lines, shapes, text, etc. Academics usually code up their figures by hand, so there is lots of twiddling around with the coordinates and recompiling until things look nice. I guess it’s a bit like SVG, but it’s more code than markup, for example it has loops with \foreach.<p>I built an open-source WYSIWYG TikZ editor (available for web and desktop) that allows you to edit your TikZ source code visually by dragging and resizing elements. It simultaneously shows the source code and the rendered figure, and lets you edit either one while the two views stay in sync. I’m not aware of any other editors that are simultaneously source editors and WYSIWYG (even for editing SVG or HTML), and I’m quite pleased with how well the combination works.<p>The way the app is implemented is by parsing the TikZ code, and at all times keeping track of the exact source location of each object. Thereby, when a user drags an element to a new position, the app can override just the numbers in the coordinate without changing anything else in the code (such as line breaks or indentation).<p>This approach essentially required reimplementing a large fraction of TikZ, which is the kind of task that no human would ever want to do. I think building software that doesn’t exist yet because it would be impossibly tedious to code up is one of the great new possibilities thanks to coding agents, and it’s worth brainstorming for other examples. (This app was built almost entirely by Codex.)<p>Implementing the app came with lots of fun side quests, including building converters from SVG / pptx / ipe to TikZ, re-implementing the LaTeX hyphenation and line-breaking algorithm to support multi-line nodes, and making a color picker that uses the red!20!black color mixing notation used in LaTeX papers.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48645437">https://news.ycombinator.com/item?id=48645437</a></p>
<p>Points: 451</p>
<p># Comments: 74</p>
]]></description><pubDate>Tue, 23 Jun 2026 14:24:21 +0000</pubDate><link>https://tikz.dev/editor/</link><dc:creator>DominikPeters</dc:creator><comments>https://news.ycombinator.com/item?id=48645437</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48645437</guid></item><item><title><![CDATA[Show HN: Overfitted a 900KB Transformer to Compress a 100MB CSV into 7MB]]></title><description><![CDATA[
<p>I built an experiment that uses an overfitted transformer and arithmetic coding to compress individual files.<p>Instead of training the model to generalize, I train a 900KB transformer to memorize a single file and predict the next byte. Those predictions are fed into an arithmetic coder to produce the compressed output.<p>On a 100MB NYC taxi CSV, it compresses to about 7MB (~0.5 bits/byte). On a 100MB slice of enwik9, it compresses to about 21MB (~1.68 bits/byte).<p>It's pretty slow right now (roughly 20–30 minutes of training and 45 minutes each for compression and decompression on my AMD 7800XT).<p>Checkout the repo - <a href="https://github.com/samyak112/pym-particles" rel="nofollow">https://github.com/samyak112/pym-particles</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48644463">https://news.ycombinator.com/item?id=48644463</a></p>
<p>Points: 112</p>
<p># Comments: 71</p>
]]></description><pubDate>Tue, 23 Jun 2026 13:11:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48644463</link><dc:creator>spidy__</dc:creator><comments>https://news.ycombinator.com/item?id=48644463</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48644463</guid></item><item><title><![CDATA[Show HN: Oak – Git alternative designed for agents]]></title><description><![CDATA[
<p>Oak is a version control system I've been working on designed for agents (<a href="https://oak.space" rel="nofollow">https://oak.space</a>). It improves the speed and context your agents need when working on serious projects. With virtual mounts, agents locally and in the cloud no longer need a full copy of a repo to get working. You can work on many tasks in parallel without needing to download everything or fight worktrees. Version control shouldn't waste you or your agents time. It should be fast, creative and fun to make things with agents.<p>Oak is still early in development. There's no Windows build and missing plenty of features (no CI, no issues, no comments). We still use GitHub Actions for building Oak now, but we've been fully bootstrapped on Oak with no Git backup for several months: <a href="https://oak.space/oak/oak" rel="nofollow">https://oak.space/oak/oak</a>.<p>Blog post: <a href="https://oak.space/blog#git-is-forever" rel="nofollow">https://oak.space/blog#git-is-forever</a><p>Docs: <a href="https://oak.space/docs" rel="nofollow">https://oak.space/docs</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48631726">https://news.ycombinator.com/item?id=48631726</a></p>
<p>Points: 216</p>
<p># Comments: 189</p>
]]></description><pubDate>Mon, 22 Jun 2026 15:37:48 +0000</pubDate><link>https://oak.space/oak/oak</link><dc:creator>zdgeier</dc:creator><comments>https://news.ycombinator.com/item?id=48631726</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48631726</guid></item><item><title><![CDATA[Show HN: Monolisa v3 – a typeface for developers and creatives]]></title><description><![CDATA[
<p>Originally we (Andrey, Marcus, Juho) built MonoLisa in 2020 as we realised there's room for a better monospaced typeface for developers. The key insight was to make the glyphs slightly wider to make more room for design to make letters like m feel less cramped.<p>Since then we've released a variable v2 (2022) and now we're happy to expand the typeface with a new family called MonoLisa Text. The reasoning was to cover *other* use cases beyond coding with this proportional font.<p>We hope you give Monolisa a go as there's a free trial to try. We also welcome feedback!</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48630318">https://news.ycombinator.com/item?id=48630318</a></p>
<p>Points: 190</p>
<p># Comments: 92</p>
]]></description><pubDate>Mon, 22 Jun 2026 14:05:23 +0000</pubDate><link>https://www.monolisa.dev/</link><dc:creator>bebraw</dc:creator><comments>https://news.ycombinator.com/item?id=48630318</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48630318</guid></item></channel></rss>