<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: rahen</title><link>https://news.ycombinator.com/user?id=rahen</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 08 Jun 2026 17:05:05 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=rahen" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by rahen in "The Smallest Brain You Can Build: A Perceptron in Python"]]></title><description><![CDATA[
<p>The first AI winter was largely triggered by Minsky in a book he published in 1969, which mathematically proved that single-layer perceptrons couldn't solve non-linear problems. Favorite quote: "Our intuitive judgment is that the extension [to multilayer systems] is sterile."<p>Yet we had the computational power to run backpropagation in the 1960s and small Transformers in the 1970s (I'm the author of both):<p><a href="https://github.com/dbrll/Xortran" rel="nofollow">https://github.com/dbrll/Xortran</a> (backprop on IBM 1130, 60s)<p><a href="https://github.com/dbrll/ATTN-11" rel="nofollow">https://github.com/dbrll/ATTN-11</a> (Transformer on PDP-11, 70s)<p>What was missing wasn't the raw processing power, but the ideas and algorithms themselves. Because funding and research were completely discouraged during the AI winter, neural networks research was left dormant and we lost two decades.</p>
]]></description><pubDate>Mon, 08 Jun 2026 14:27:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=48445878</link><dc:creator>rahen</dc:creator><comments>https://news.ycombinator.com/item?id=48445878</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48445878</guid></item><item><title><![CDATA[New comment by rahen in "The Smallest Brain You Can Build: A Perceptron in Python"]]></title><description><![CDATA[
<p>In the early days of machine learning (before the first AI winter), networks like this were often implemented and trained in hardware: <a href="https://en.wikipedia.org/wiki/ADALINE" rel="nofollow">https://en.wikipedia.org/wiki/ADALINE</a><p>That was the first thing that came to mind when I read "the smallest brain you can <i>build</i>". Nowadays, that "small brain" would likely be built on a breadboard using op-amps instead.</p>
]]></description><pubDate>Mon, 08 Jun 2026 06:31:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=48441935</link><dc:creator>rahen</dc:creator><comments>https://news.ycombinator.com/item?id=48441935</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48441935</guid></item><item><title><![CDATA[New comment by rahen in "Powering up a module from the IBM 604: an electronic calculator from 1948"]]></title><description><![CDATA[
<p>The Gamma 3, which competed with the 604, only had about 400 tubes as far as I remember: <a href="https://en.wikipedia.org/wiki/Bull_Gamma_3" rel="nofollow">https://en.wikipedia.org/wiki/Bull_Gamma_3</a><p>Both the 604 and the G3 were bit serial to save components.</p>
]]></description><pubDate>Sun, 07 Jun 2026 19:56:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=48437962</link><dc:creator>rahen</dc:creator><comments>https://news.ycombinator.com/item?id=48437962</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48437962</guid></item><item><title><![CDATA[New comment by rahen in "Go: Support for Generic Methods"]]></title><description><![CDATA[
<p>Scheme has a coherent and minimalist design, but its ecosystem and abstraction facilities feel too sparse for large applications.<p>When I started building a Lisp-based machine learning framework, Guile seemed like the right choice because it provides GOOPS and generic functions, yet I still ended up with a lot of boilerplate to compensate for the lack of a strong type system.<p>Scheme feels to me like C is to C++: not ergonomic for large-scale application development. Go is one of those languages that has both minimalism and productivity.</p>
]]></description><pubDate>Wed, 27 May 2026 14:50:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48295239</link><dc:creator>rahen</dc:creator><comments>https://news.ycombinator.com/item?id=48295239</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48295239</guid></item><item><title><![CDATA[New comment by rahen in "A sleep-like consolidation mechanism for LLMs"]]></title><description><![CDATA[
<p>I was thinking of curated replay buffers, which would act like "dreams". To prevent collapse, the offline dataset would mix the new mid-term data with a baseline of anchor data (the original training distribution) so the model doesn't drift.<p>Also, we wouldn't train on the whole session. A separate critic module, like a reward model, would filter the KV cache to extract the high-value information, like a garbage collector before the LoRA.<p>That's just an idea though. Right now most research focuses on changing the architecture itself (TITAN, HOPE...) instead.</p>
]]></description><pubDate>Tue, 26 May 2026 17:05:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=48282554</link><dc:creator>rahen</dc:creator><comments>https://news.ycombinator.com/item?id=48282554</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48282554</guid></item><item><title><![CDATA[New comment by rahen in "A sleep-like consolidation mechanism for LLMs"]]></title><description><![CDATA[
<p>That's an idea I had a few months ago: after going through a compaction once the KV cache is nearing capacity, accumulate this knowledge into a dataset to fine-tune a LoRA during offline hours.<p>This would create a three-layer memory system:<p>- Stable long-term memory (initial base weights)<p>- Mid-term memory built from the compactions and replay buffers<p>- Short-term memory (KV cache)<p>Sleeping would just be a fancy term for consolidating and transferring information from one memory layer to another during offline hours. Maybe that's also what the brain does while sleeping.</p>
]]></description><pubDate>Tue, 26 May 2026 16:49:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=48282299</link><dc:creator>rahen</dc:creator><comments>https://news.ycombinator.com/item?id=48282299</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48282299</guid></item><item><title><![CDATA[New comment by rahen in "CODA: Rewriting Transformer Blocks as GEMM-Epilogue Programs"]]></title><description><![CDATA[
<p>Strictly speaking, this is very domain-specific and doesn't enable any performance that Triton couldn't already achieve  (eliminating global memory round-trips via epilogue fusion is nothing new). The real takeaway is the design shift for LLM-driven codegen rather than handcrafted kernels.<p>LLMs are still bad at low-level hardware optimizations, but really good at high-level composition.  Designing compiler abstractions with a restricted, composable API so an LLM can easily glue expert-written blocks together is a smart move. I suspect this will eventually become the norm for codegens as we move to agentic development.</p>
]]></description><pubDate>Fri, 22 May 2026 06:26:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=48232654</link><dc:creator>rahen</dc:creator><comments>https://news.ycombinator.com/item?id=48232654</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48232654</guid></item><item><title><![CDATA[New comment by rahen in "Growing Neural Cellular Automata"]]></title><description><![CDATA[
<p>There is ongoing research on neural cellular automata, as they seem to be a very efficient way to generate pretraining tokens: <a href="https://arxiv.org/html/2603.10055v1" rel="nofollow">https://arxiv.org/html/2603.10055v1</a></p>
]]></description><pubDate>Tue, 19 May 2026 20:53:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48199484</link><dc:creator>rahen</dc:creator><comments>https://news.ycombinator.com/item?id=48199484</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48199484</guid></item><item><title><![CDATA[New comment by rahen in "Hyperpolyglot Lisp: Common Lisp, Racket, Clojure, Emacs Lisp"]]></title><description><![CDATA[
<p>Emacs Lisp is a descendant of PDP-10 MAClisp, which makes it one of the oldest Lisp dialects still actively maintained. Whether it's version 24.5 or 30.2 doesn't make much of a difference semantically.</p>
]]></description><pubDate>Mon, 18 May 2026 23:43:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=48187423</link><dc:creator>rahen</dc:creator><comments>https://news.ycombinator.com/item?id=48187423</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48187423</guid></item><item><title><![CDATA[New comment by rahen in "Windows 9x Subsystem for Linux"]]></title><description><![CDATA[
<p>Previous: <a href="https://news.ycombinator.com/item?id=47861270">https://news.ycombinator.com/item?id=47861270</a></p>
]]></description><pubDate>Sat, 16 May 2026 17:41:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=48162233</link><dc:creator>rahen</dc:creator><comments>https://news.ycombinator.com/item?id=48162233</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48162233</guid></item><item><title><![CDATA[New comment by rahen in "AI slop is killing online communities"]]></title><description><![CDATA[
<p>Obvious slop still makes it to the front page of HN, and sometimes farms GitHub stars.<p>These posts also usually get all these glowing comments from users who clearly haven't checked the code. It's even worse when authors get busted and claim "Okay, Claude wrote it, but the design is mine" despite clearly not understanding the output themselves.<p>Unfortunately, that makes high-effort projects less visible. The SNR will probably keep getting worse until slop can be flagged on HN.</p>
]]></description><pubDate>Thu, 07 May 2026 21:27:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=48055302</link><dc:creator>rahen</dc:creator><comments>https://news.ycombinator.com/item?id=48055302</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48055302</guid></item><item><title><![CDATA[New comment by rahen in "Why TUIs are back"]]></title><description><![CDATA[
<p>Ink is the Electron of text-based apps. I tried OpenCode out of curiosity, it routinely used hundreds of megabytes of memory.<p>I'll stick with Emacs as my TUI platform of choice, especially for tool-assisted development.</p>
]]></description><pubDate>Mon, 04 May 2026 06:54:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=48005480</link><dc:creator>rahen</dc:creator><comments>https://news.ycombinator.com/item?id=48005480</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48005480</guid></item><item><title><![CDATA[New comment by rahen in "Why TUIs are back"]]></title><description><![CDATA[
<p>> try making a DAW in it...<p>It would in fact work pretty well for a tracker.</p>
]]></description><pubDate>Mon, 04 May 2026 06:50:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48005451</link><dc:creator>rahen</dc:creator><comments>https://news.ycombinator.com/item?id=48005451</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48005451</guid></item><item><title><![CDATA[New comment by rahen in "Why I still reach for Lisp and Scheme instead of Haskell"]]></title><description><![CDATA[
<p>Jank looks promising if you want a typed Lisp. It’s essentially native Clojure without the JVM:
<a href="https://jank-lang.org/" rel="nofollow">https://jank-lang.org/</a><p>In case you're into machine learning, I'm also building something similar - a tensor-first, native Clojure-like ML framework.</p>
]]></description><pubDate>Wed, 29 Apr 2026 20:48:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=47954402</link><dc:creator>rahen</dc:creator><comments>https://news.ycombinator.com/item?id=47954402</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47954402</guid></item><item><title><![CDATA[New comment by rahen in "Greece to ban anonymity on social media"]]></title><description><![CDATA[
<p>I wonder how they plan to implement that on decentralized social networks such as Nostr. I assume targeting big centralized networks such as X and Facebook is good enough.</p>
]]></description><pubDate>Tue, 28 Apr 2026 17:14:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=47937409</link><dc:creator>rahen</dc:creator><comments>https://news.ycombinator.com/item?id=47937409</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47937409</guid></item><item><title><![CDATA[New comment by rahen in "Show HN: How LLMs Work – Interactive visual guide based on Karpathy's lecture"]]></title><description><![CDATA[
<p>Some subreddits have already taken measures against this: 
<a href="https://www.reddit.com/r/ProgrammingLanguages/comments/1sd66w9/in_order_to_reduce_aillm_slop_sharing_github/" rel="nofollow">https://www.reddit.com/r/ProgrammingLanguages/comments/1sd66...</a><p>Same everywhere: avalanches of AI garbage and intellectual dishonesty. People claiming "I wrote this", then a look at the code shows massive slop and an author with no clue about the topic.<p>More worrying, this trend is creeping to all domains:
"Nearly 75,000 tracks uploaded to Deezer are fully created using AI. That’s 44% of daily uploads, and more than 2 million per month. Back in June, the daily number was around 20,000."<p><a href="https://www.vice.com/en/article/how-deezer-is-fighting-fraudulent-streams-as-ai-music-uploads-reach-millions-per-month/" rel="nofollow">https://www.vice.com/en/article/how-deezer-is-fighting-fraud...</a></p>
]]></description><pubDate>Fri, 24 Apr 2026 12:55:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47889561</link><dc:creator>rahen</dc:creator><comments>https://news.ycombinator.com/item?id=47889561</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47889561</guid></item><item><title><![CDATA[New comment by rahen in "Windows 9x Subsystem for Linux"]]></title><description><![CDATA[
<p>Before WSL, the best ways to run unmodified Linux binaries inside Windows were CoLinux and flinux.<p><a href="http://www.colinux.org/" rel="nofollow">http://www.colinux.org/</a><p><a href="https://github.com/wishstudio/flinux" rel="nofollow">https://github.com/wishstudio/flinux</a><p>flinux essentially had the architecture of WSL1, while CoLinux was more like WSL2 with a Linux kernel side-loaded.<p>Cygwin was technically the correct approach: native POSIX binaries on Windows rather than hacking in some foreign Linux plumbing. Since it was merely a lightweight DLL to link to (or a bunch of them), it also kept the cruft low without messing with ring 0.<p>However, it lacked the convenience of a CLI package manager back then, and I remember being hooked on CoLinux when I had to work on Windows.</p>
]]></description><pubDate>Wed, 22 Apr 2026 10:17:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=47861444</link><dc:creator>rahen</dc:creator><comments>https://news.ycombinator.com/item?id=47861444</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47861444</guid></item><item><title><![CDATA[New comment by rahen in "Soul Player C64 – A real transformer running on a 1 MHz Commodore 64"]]></title><description><![CDATA[
<p>Yes. The author mentions Claude for testing, but it was obviously used for the README and code as well.<p>This is a giveaway for AI generation, from the docstring to the terrible opcode dispatch (Claude sucks at assembly or low-level optimization):
<a href="https://github.com/gizmo64k/soulplayer-c64/blob/main/src/cpu6502.py" rel="nofollow">https://github.com/gizmo64k/soulplayer-c64/blob/main/src/cpu...</a><p>A human would use a proper dispatch table and wouldn't make excuses for a sloppy implementation ("Python is fast enough").<p>Besides, the author has an art and design background, which doesn't seem to match the deep knowledge of Transformers or assembly required for such a project.</p>
]]></description><pubDate>Tue, 21 Apr 2026 09:19:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=47846513</link><dc:creator>rahen</dc:creator><comments>https://news.ycombinator.com/item?id=47846513</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47846513</guid></item><item><title><![CDATA[New comment by rahen in "Soul Player C64 – A real transformer running on a 1 MHz Commodore 64"]]></title><description><![CDATA[
<p>A little disappointed to see PyTorch + Claude here. I was hoping for some "demo-scene" hand-crafted 6502 assembly, and hopefully training on the C64.</p>
]]></description><pubDate>Tue, 21 Apr 2026 07:44:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47845778</link><dc:creator>rahen</dc:creator><comments>https://news.ycombinator.com/item?id=47845778</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47845778</guid></item><item><title><![CDATA[New comment by rahen in "Want to Write a Compiler? Just Read These Two Papers (2008)"]]></title><description><![CDATA[
<p>I'm also writing a compiler and CS6120 from Cornell has helped me a lot:
<a href="https://www.cs.cornell.edu/courses/cs6120/2025fa/self-guided/" rel="nofollow">https://www.cs.cornell.edu/courses/cs6120/2025fa/self-guided...</a></p>
]]></description><pubDate>Wed, 15 Apr 2026 18:32:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47783226</link><dc:creator>rahen</dc:creator><comments>https://news.ycombinator.com/item?id=47783226</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47783226</guid></item></channel></rss>