<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: swannodette</title><link>https://news.ycombinator.com/user?id=swannodette</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 14 Apr 2026 22:36:25 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=swannodette" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by swannodette in "Monosketch"]]></title><description><![CDATA[
<p>If you use Emacs, there's a pretty nifty package <a href="https://github.com/tbanel/uniline" rel="nofollow">https://github.com/tbanel/uniline</a></p>
]]></description><pubDate>Fri, 13 Feb 2026 16:48:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47004771</link><dc:creator>swannodette</dc:creator><comments>https://news.ycombinator.com/item?id=47004771</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47004771</guid></item><item><title><![CDATA[New comment by swannodette in "Offpunk 3.0"]]></title><description><![CDATA[
<p>I don't think Gnus is that bad once you spend some time setting it up. For groups with a ton of content where I mostly want to search, I found it was better to just download the whole group and index into notmuch. I could query 20 years of the Smalltalk USENET group or the Supercollider mailing list instantly.</p>
]]></description><pubDate>Mon, 09 Feb 2026 14:28:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=46945572</link><dc:creator>swannodette</dc:creator><comments>https://news.ycombinator.com/item?id=46945572</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46945572</guid></item><item><title><![CDATA[Preserving Human Voices and Faces]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.vatican.va/content/leo-xiv/en/messages/communications/documents/20260124-messaggio-comunicazioni-sociali.html">https://www.vatican.va/content/leo-xiv/en/messages/communications/documents/20260124-messaggio-comunicazioni-sociali.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46825214">https://news.ycombinator.com/item?id=46825214</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 30 Jan 2026 15:05:39 +0000</pubDate><link>https://www.vatican.va/content/leo-xiv/en/messages/communications/documents/20260124-messaggio-comunicazioni-sociali.html</link><dc:creator>swannodette</dc:creator><comments>https://news.ycombinator.com/item?id=46825214</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46825214</guid></item><item><title><![CDATA[New comment by swannodette in "Claude wrote a functional NES emulator using my engine's API"]]></title><description><![CDATA[
<p>WASM and the performance seems catastrophically bad (45ms to render a frame on an M4 laptop)? It would be much more impressive if Claude could optimize it into something that someone would actually want to play? Compare this to a random hit from Google, <a href="https://jsnes.org/" rel="nofollow">https://jsnes.org/</a> which has sound, much smaller payload, and runs really fast (<1ms to render a frame).<p>The cost of slop is >40X drop in performance? Pick any metric that you care about for your domain perhaps that's what you're going to lose and is the effort to recover that practical with current vibe-coding strategies?</p>
]]></description><pubDate>Wed, 31 Dec 2025 15:13:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=46444804</link><dc:creator>swannodette</dc:creator><comments>https://news.ycombinator.com/item?id=46444804</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46444804</guid></item><item><title><![CDATA[New comment by swannodette in "Homeschooling hits record numbers"]]></title><description><![CDATA[
<p>If you can afford it! "Grass-roots segregation hits records numbers" would be an equally fitting title.</p>
]]></description><pubDate>Fri, 21 Nov 2025 19:51:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46008204</link><dc:creator>swannodette</dc:creator><comments>https://news.ycombinator.com/item?id=46008204</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46008204</guid></item><item><title><![CDATA[New comment by swannodette in "One Handed Keyboard"]]></title><description><![CDATA[
<p>Some research on this topic <a href="http://edgarmatias.com/papers/hci96/" rel="nofollow">http://edgarmatias.com/papers/hci96/</a><p>On OS X you can achieve this with Keyb, Karabiner Elements, etc. It's also easy to do with a programmable keyboard with ZMK/QMK. I've set up my Kinesis 360 Pro this way, being symmetrical means I can access every key easily. Hardware support for sticky keys also helps quite a bit.</p>
]]></description><pubDate>Sat, 15 Nov 2025 10:59:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=45936600</link><dc:creator>swannodette</dc:creator><comments>https://news.ycombinator.com/item?id=45936600</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45936600</guid></item><item><title><![CDATA[New comment by swannodette in "Mathematical exploration and discovery at scale"]]></title><description><![CDATA[
<p>I don't see how anything about what's presented here that refutes such claims. This mostly confirms that LLM based approaches need some serious baby-sitting from experts and those experts can derive some value from them but generally with non-trivial levels of effort and non-LLM supported thinking.</p>
]]></description><pubDate>Thu, 06 Nov 2025 13:45:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=45835171</link><dc:creator>swannodette</dc:creator><comments>https://news.ycombinator.com/item?id=45835171</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45835171</guid></item><item><title><![CDATA[New comment by swannodette in "GHC now runs in the browser"]]></title><description><![CDATA[
<p>Loading 50mb of WASM is a big tradeoff just to run code on a website.</p>
]]></description><pubDate>Sat, 01 Nov 2025 17:16:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=45783396</link><dc:creator>swannodette</dc:creator><comments>https://news.ycombinator.com/item?id=45783396</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45783396</guid></item><item><title><![CDATA[New comment by swannodette in "Learn to play Go"]]></title><description><![CDATA[
<p>Blitz format is reasonably popular on KGS (once you get to a certain level) usually 10+0. Blitz is harder to find on Pandanet - but you can easily blitz on Fox.</p>
]]></description><pubDate>Sun, 28 Sep 2025 12:58:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=45404013</link><dc:creator>swannodette</dc:creator><comments>https://news.ycombinator.com/item?id=45404013</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45404013</guid></item><item><title><![CDATA[New comment by swannodette in "Learn to play Go"]]></title><description><![CDATA[
<p>It's easier to get games on Pandanet <a href="https://pandanet-igs.com/communities/pandanet" rel="nofollow">https://pandanet-igs.com/communities/pandanet</a> and Fox Weiqi <a href="https://www.foxwq.com" rel="nofollow">https://www.foxwq.com</a>. You can run Fox on OS X w/ Parallels or Crossover. It supposedly possible with Wine but I could never get it to work.</p>
]]></description><pubDate>Sun, 28 Sep 2025 11:05:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=45403445</link><dc:creator>swannodette</dc:creator><comments>https://news.ycombinator.com/item?id=45403445</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45403445</guid></item><item><title><![CDATA[New comment by swannodette in "I used standard Emacs extension-points to extend org-mode"]]></title><description><![CDATA[
<p>Yes! Recent personal hacks with advice interactively programmed with the help of Claude 4.1 chat session running in Emacs.<p><pre><code>  - popping the global mark to travel backwards to previous edit points would reuse the same Emacs window instead of using a window that is already showing the buffer. Fixed
  - I would accidentally destroy my window configuration w/ C-x 1. Fixed, use advice to automatically save the window configuration into a register if I invoke the command to remove all other windows. Now I can easily recover if I make that mistake.
  - I want to be able to select and then scroll any other open window w/o leaving the current one. Fixed
  - A crazy one. I collect note w/ links or whatever for reading/watching later, these are marked w/ a timestamp. My notes file is not an agenda file, i.e. not filled with todos / tasks. I made a hack to temporarily include the current non-agenda org-mode buffer in the agenda list and then show inactive timestamps. Now I can scan a day/week/month for interesting notes I took. This doesn't interact at all with my real agenda.
  - org-agenda opens items in weird places, use advice to fix it so that it always appears where I like.
  - fix inf-clojure so that it uses dep.edn as project root over .git
</code></pre>
I used IntelliJ happily for 10 years (I was a heavy Emacs user for 10 years before that). While it's true that some things are a little less convenient (I don't use LSP), knowing that I can tailor things exactly to my tastes is a serious breath of fresh air.<p>It used to be I mostly used IntelliJ for work/OSS and Emacs for org-mode. Now the situation is likely reversed. Emacs for work/OSS and IntelliJ only if I need step debugging/global refactoring.</p>
]]></description><pubDate>Sat, 13 Sep 2025 12:51:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=45231669</link><dc:creator>swannodette</dc:creator><comments>https://news.ycombinator.com/item?id=45231669</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45231669</guid></item><item><title><![CDATA[New comment by swannodette in "A beginner's guide to extending Emacs"]]></title><description><![CDATA[
<p>Yes. gptel supports two output modes out of the box, markdown (meh), and org-mode. I make an org-mode heading with my question, then I press `C-c <enter>`. Claude will use the area bellow the heading for its answer. It will make sub-headings, code blocks, lists, tables, etc. If I have another question then I make a new top level org-mode heading.<p>I started doing this because I got fed-up with Claude Desktop for my StackOverflow style programming questions - and then stumbled upon using it to configure Emacs.</p>
]]></description><pubDate>Fri, 12 Sep 2025 17:57:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=45224747</link><dc:creator>swannodette</dc:creator><comments>https://news.ycombinator.com/item?id=45224747</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45224747</guid></item><item><title><![CDATA[New comment by swannodette in "A beginner's guide to extending Emacs"]]></title><description><![CDATA[
<p><p><pre><code>  > My experience extending a core emacs function was an instructive and 
  > interesting exercise. I don't know what the future of emacs looks like in an
  > increasingly LLM-crazed world, but I hope that future  includes an open and
  > powerful way to extend and customize the tools we use to write software.
</code></pre>
I have gptel configured with Claude 4.1 via API. Claude generates an org-mode file. I ask it questions about Emacs packages, Emacs configuration, and Emacs customization. It responds w/ Elisp snippets that I can eval immediately and see the effect. Claude knows a lot about Emacs. All these chats are version controlled into git so I can easily pull, consult-ripgrep, and pickup where I left off from any of my machines.<p>I can add my `.emacs` to the Claude context to get more precise answers. If it falls over on some package I can `M-x find-library` to add that library's source to the context. If the code it wrote doesn't work, I add the `<i>Messages</i>` buffer and the `<i>Backtrace</i>` buffer for errors. I eval the snippet, reprompt, rinse and repeat.<p>With this fast feedback loop (no restarting Emacs, just live coding), I've added a ton of customizations that in my twenty years of using Emacs previously just never felt like I had the time or enthusiasm for given higher priorities:<p>* Boring stuff: managing where modes open buffers in which windows<p>* More ambitious stuff: standard org-remark behavior isn't that natural for highlighting and making notes so I made a nicer Transient based thing for it.<p>* Stuff for work: a fast logging minor mode that font locks incrementally, disables all the save prompting, and handles ASCII color codes. Later I intend to linkify stack traces, linkify data so that they open pretty printed in a different buffer, collect errors and show an unobtrusive notification in the active window, etc. etc.<p>In two weeks, I've learned more Emacs than I did the 10 years prior. Most of all, this is a usage of LLMs that I can say I honestly love - improving my own day-to-day tools. Because Emacs is a text-oriented live programming environment - LLM integration just feels like it's on a completely different level.<p>Claude (or any good LLM) + Emacs is a killer app.</p>
]]></description><pubDate>Fri, 12 Sep 2025 17:19:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=45224392</link><dc:creator>swannodette</dc:creator><comments>https://news.ycombinator.com/item?id=45224392</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45224392</guid></item><item><title><![CDATA["Stone Tools"]]></title><description><![CDATA[
<p>Article URL: <a href="https://stonetools.ghost.io/introducing/">https://stonetools.ghost.io/introducing/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45118312">https://news.ycombinator.com/item?id=45118312</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 03 Sep 2025 17:20:19 +0000</pubDate><link>https://stonetools.ghost.io/introducing/</link><dc:creator>swannodette</dc:creator><comments>https://news.ycombinator.com/item?id=45118312</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45118312</guid></item><item><title><![CDATA[New comment by swannodette in "The End of Handwriting"]]></title><description><![CDATA[
<p>I have 2 Sailor Pro Gear Slims 14K and one Sailor Pro Gear 21K. The later is the best writing experience. I'm not an ink maniac but I tried a few and I found that Sailor inks tend to dry reasonably quickly while still having a good flow. Midori paper and Tomoe River both perform very well. If I'm going to do a whole page of writing smearing from hand moisture can be a problem, especially w/ non-Sailor inks so in that case I use the "today" cards you can get for the Hobonichi.</p>
]]></description><pubDate>Wed, 20 Aug 2025 13:49:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=44961938</link><dc:creator>swannodette</dc:creator><comments>https://news.ycombinator.com/item?id=44961938</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44961938</guid></item><item><title><![CDATA[New comment by swannodette in "The End of Handwriting"]]></title><description><![CDATA[
<p>I’m left handed, with the right ink and paper this isn’t a huge problem. I picked up fountain pens a year ago and I will never go back to regular pens for my own writing.</p>
]]></description><pubDate>Wed, 20 Aug 2025 11:54:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=44961017</link><dc:creator>swannodette</dc:creator><comments>https://news.ycombinator.com/item?id=44961017</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44961017</guid></item><item><title><![CDATA[New comment by swannodette in "Why MIT switched from Scheme to Python (2009)"]]></title><description><![CDATA[
<p>> Following SICM I think even its authors were doubtful about whether Scheme was a good medium for working with those ideas.<p>Hrm <a href="https://mitp-content-server.mit.edu/books/content/sectbyfn/books_pres_0/9580/9580.pdf?dl=1" rel="nofollow">https://mitp-content-server.mit.edu/books/content/sectbyfn/b...</a></p>
]]></description><pubDate>Fri, 25 Jul 2025 22:40:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=44689342</link><dc:creator>swannodette</dc:creator><comments>https://news.ycombinator.com/item?id=44689342</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44689342</guid></item><item><title><![CDATA[New comment by swannodette in "ClojureScript from First Principles [video]"]]></title><description><![CDATA[
<p>We forked Google Closure Library. This is mostly a good thing as GCL started introducing frustrating breaking changes around 2018/2019. We've backed everything out and now ClojureScript libraries from 14 years ago work again.</p>
]]></description><pubDate>Sun, 06 Jul 2025 14:04:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=44480927</link><dc:creator>swannodette</dc:creator><comments>https://news.ycombinator.com/item?id=44480927</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44480927</guid></item><item><title><![CDATA[New comment by swannodette in "ClojureScript 1.12.42"]]></title><description><![CDATA[
<p>I'm curious as to how you think this is different from say, committing to JavaScript/BundlerX/NPM or TypeScript/BundlerX/NPM? Surely those have an equally heavy influence on how you write code?</p>
]]></description><pubDate>Fri, 16 May 2025 23:57:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=44010863</link><dc:creator>swannodette</dc:creator><comments>https://news.ycombinator.com/item?id=44010863</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44010863</guid></item><item><title><![CDATA[New comment by swannodette in "Google Closure Library has been archived"]]></title><description><![CDATA[
<p>The implementation really is not built on top of GCL, the bulk of the standard library is persistent datastructure implementation and functional apis. The few cases here and there like `goog.string` can be removed over time. But really what's the rush? Large portions of GCL have worked unchanged for nearly two decades. Does Google archiving GCL make perfectly good code stop working?<p>When we eventually remove the direct GCL dependency it will sadly be more for optics than anything else.</p>
]]></description><pubDate>Fri, 30 Aug 2024 16:03:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=41401972</link><dc:creator>swannodette</dc:creator><comments>https://news.ycombinator.com/item?id=41401972</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41401972</guid></item></channel></rss>