<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: geon</title><link>https://news.ycombinator.com/user?id=geon</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 14 Apr 2026 21:35:23 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=geon" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by geon in "Microsoft hasn't had a coherent GUI strategy since Petzold"]]></title><description><![CDATA[
<p>Isn't that windows only?</p>
]]></description><pubDate>Tue, 07 Apr 2026 06:36:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47671474</link><dc:creator>geon</dc:creator><comments>https://news.ycombinator.com/item?id=47671474</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47671474</guid></item><item><title><![CDATA[New comment by geon in "Claude Code's source code has been leaked via a map file in their NPM registry"]]></title><description><![CDATA[
<p>buttbuttination</p>
]]></description><pubDate>Tue, 31 Mar 2026 15:23:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47588712</link><dc:creator>geon</dc:creator><comments>https://news.ycombinator.com/item?id=47588712</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47588712</guid></item><item><title><![CDATA[New comment by geon in "Oracle slashes 30k jobs"]]></title><description><![CDATA[
<p>Where did he say he's not worried about other billionaires?</p>
]]></description><pubDate>Tue, 31 Mar 2026 15:19:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47588643</link><dc:creator>geon</dc:creator><comments>https://news.ycombinator.com/item?id=47588643</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47588643</guid></item><item><title><![CDATA[New comment by geon in "Audio tapes reveal mass rule-breaking in Milgram's obedience experiments"]]></title><description><![CDATA[
<p>Is there any information on how many of the participants realized the victim was just acting? Surely it can’t be zero.<p><a href="https://en.wikipedia.org/wiki/Milgram_experiment" rel="nofollow">https://en.wikipedia.org/wiki/Milgram_experiment</a></p>
]]></description><pubDate>Tue, 31 Mar 2026 14:23:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47587838</link><dc:creator>geon</dc:creator><comments>https://news.ycombinator.com/item?id=47587838</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47587838</guid></item><item><title><![CDATA[New comment by geon in "Audio tapes reveal mass rule-breaking in Milgram's obedience experiments"]]></title><description><![CDATA[
<p>The “complete breakdown” does not refer to the experiment, but the fictional setting of the experiment.<p>The article doesn’t claim that the experiment was invalidated, but that some conclusions drawn from it are not well founded.</p>
]]></description><pubDate>Tue, 31 Mar 2026 14:18:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47587768</link><dc:creator>geon</dc:creator><comments>https://news.ycombinator.com/item?id=47587768</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47587768</guid></item><item><title><![CDATA[New comment by geon in "End of "Chat Control": EU parliament stops mass surveillance"]]></title><description><![CDATA[
<p>This is to be expected in a 2-party system like the US.<p>Since there can only ever be one axis, it must encode all possible issues. And with the strong polarization at the moment, sports team thinking takes over. If you identify with one of the 2 parties, you are expected to agree with the arbitrarily decided position on every single issue, no matter how contradictory.</p>
]]></description><pubDate>Sat, 28 Mar 2026 12:50:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=47554131</link><dc:creator>geon</dc:creator><comments>https://news.ycombinator.com/item?id=47554131</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47554131</guid></item><item><title><![CDATA[New comment by geon in ".apks are just .zips; semi-legally hacking software for orphaned hardware [video]"]]></title><description><![CDATA[
<p>Yeah, I had perfect disassembly, since that's a purely mechanical process. I used da65, which worked reasonably well.<p>But you don't get any function names that way, obviously. Claude would claim some random function were applying friction based on just a subtraction. And a variable that had 2 possible states was named player_id, when the game supports 1-8 players.<p>It was a bit better when the memory addresses were known IO registers, but not by much.</p>
]]></description><pubDate>Sat, 28 Mar 2026 12:38:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47554038</link><dc:creator>geon</dc:creator><comments>https://news.ycombinator.com/item?id=47554038</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47554038</guid></item><item><title><![CDATA[New comment by geon in ".apks are just .zips; semi-legally hacking software for orphaned hardware [video]"]]></title><description><![CDATA[
<p>I experimented with disassembling 6502 from the c64  California Games. Claude was very prone to bullshit.</p>
]]></description><pubDate>Sat, 28 Mar 2026 07:55:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=47552508</link><dc:creator>geon</dc:creator><comments>https://news.ycombinator.com/item?id=47552508</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47552508</guid></item><item><title><![CDATA[New comment by geon in "Generators in Lone Lisp"]]></title><description><![CDATA[
<p>In typescript/js, you can iterate over async generators with for-await-of. Very ergonomic.<p>This article sums it up pretty well: <a href="https://medium.com/@bhagyarana80/why-async-generators-were-the-missing-piece-in-my-node-js-api-scaling-puzzle-b37ef6443856" rel="nofollow">https://medium.com/@bhagyarana80/why-async-generators-were-t...</a><p>In nodejs, all streams are async iterables, so you can iterate over them. Really nice for handling stuff like connections to a server, or messages on a socket.<p>I’ve use generators to code ui  “sagas”. You await async events like clicks etc, and yield the appropriate state updates. A sub-dialog can be implemented as a separate generator, and the main dialog generator can open it by with the yield* syntax to iterate over and pass on all the events until the generator returns. The return value would be the result of the dialog.<p>Super nifty.</p>
]]></description><pubDate>Fri, 27 Mar 2026 19:59:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47547473</link><dc:creator>geon</dc:creator><comments>https://news.ycombinator.com/item?id=47547473</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47547473</guid></item><item><title><![CDATA[New comment by geon in "Generators in Lone Lisp"]]></title><description><![CDATA[
<p>This is awesome!<p>I haven't seen Lone Lisp before. Is it meant to be like a Symbolics Lisp Machine, where the entire userspace is lisp?<p>I really like using generators in typescript. They make a lot of problems much easier.</p>
]]></description><pubDate>Fri, 27 Mar 2026 09:32:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47540592</link><dc:creator>geon</dc:creator><comments>https://news.ycombinator.com/item?id=47540592</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47540592</guid></item><item><title><![CDATA[New comment by geon in "End of "Chat Control": EU parliament stops mass surveillance"]]></title><description><![CDATA[
<p>Yes. I would place it on the authority–liberty axis.<p>While your examples were on the economic left, they were clearly authoritarian.</p>
]]></description><pubDate>Thu, 26 Mar 2026 14:38:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47531002</link><dc:creator>geon</dc:creator><comments>https://news.ycombinator.com/item?id=47531002</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47531002</guid></item><item><title><![CDATA[New comment by geon in "Ordered dithering with arbitrary or irregular colour palettes (2023)"]]></title><description><![CDATA[
<p>Funny. I referenced this exact article yesterday and implemented N-Closest.<p>There was a surprising amount of parameters to fiddle with. Especially since I experimented with adjusting the N depending on the distance of the matches.<p>I wanted to implement ordered dithering to convert images to the c64.<p>I think dithering looks best when there are only 2 colors involved the mix, but the palette is a bit wonky so a lot of colors are hard to represent well.<p>An issue I noticed was that when the top 2 candidates in a gradient flipped from A,B to B,A as the gradient moved closer to B, was that the checker pattern would get an ugly seam of double pixels, like ABABABBABABA.<p>I’ll experiment more with manually selecting pairs of colors that mix well and generate gradient ramps from them. Then I can pre-quantize the image and use a predetermined dither pattern for each mix. Should also allow for more artistic control.</p>
]]></description><pubDate>Mon, 23 Mar 2026 11:30:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47488003</link><dc:creator>geon</dc:creator><comments>https://news.ycombinator.com/item?id=47488003</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47488003</guid></item><item><title><![CDATA[New comment by geon in "The US Is Counting Traffic Deaths Wrong"]]></title><description><![CDATA[
<p>> Being able to get around quickly and have the freedom to explore the country the way only Americans really can<p>What? How is that in any way unique to the us?</p>
]]></description><pubDate>Mon, 16 Mar 2026 00:56:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=47393834</link><dc:creator>geon</dc:creator><comments>https://news.ycombinator.com/item?id=47393834</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47393834</guid></item><item><title><![CDATA[New comment by geon in "Montana passes Right to Compute act (2025)"]]></title><description><![CDATA[
<p>So drm is now illegal?</p>
]]></description><pubDate>Sat, 14 Mar 2026 17:49:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47379197</link><dc:creator>geon</dc:creator><comments>https://news.ycombinator.com/item?id=47379197</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47379197</guid></item><item><title><![CDATA[New comment by geon in "Type resolution redesign, with language changes to taste"]]></title><description><![CDATA[
<p>> Rust is close to C++ in that it is a systems language that allows a reasonable level of zero-cost abstractions.<p>That's like saying php is close to haskell because they both have garbage collection.</p>
]]></description><pubDate>Thu, 12 Mar 2026 19:53:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=47356174</link><dc:creator>geon</dc:creator><comments>https://news.ycombinator.com/item?id=47356174</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47356174</guid></item><item><title><![CDATA[New comment by geon in "Zig – Type Resolution Redesign and Language Changes"]]></title><description><![CDATA[
<p>Comparing Rust to C++ feels strange to me.<p>It’s like people do it just because Zig is very comparable to C. So the more complex Rust must be like something else that is also complex, right? And C++ is complex, so…<p>But that is a bit nonsensical. Rust isn’t very close to C++ at all.</p>
]]></description><pubDate>Wed, 11 Mar 2026 10:55:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47333979</link><dc:creator>geon</dc:creator><comments>https://news.ycombinator.com/item?id=47333979</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47333979</guid></item><item><title><![CDATA[New comment by geon in "I built a programming language using Claude Code"]]></title><description><![CDATA[
<p>That’s git commits.</p>
]]></description><pubDate>Tue, 10 Mar 2026 17:24:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=47326236</link><dc:creator>geon</dc:creator><comments>https://news.ycombinator.com/item?id=47326236</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47326236</guid></item><item><title><![CDATA[New comment by geon in "Why can't you tune your guitar? (2019)"]]></title><description><![CDATA[
<p>It is fun to kick a guywire and watch the single pulse travel along the wire, be reflected and come back.</p>
]]></description><pubDate>Mon, 09 Mar 2026 14:27:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47309573</link><dc:creator>geon</dc:creator><comments>https://news.ycombinator.com/item?id=47309573</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47309573</guid></item><item><title><![CDATA[New comment by geon in "Agentic Engineering Patterns"]]></title><description><![CDATA[
<p>That’s what I’m saying. We should tame the chaos, not encourage it.<p>The screw sorting machines don’t generally decide to start spitting out resistors instead.</p>
]]></description><pubDate>Mon, 09 Mar 2026 14:14:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=47309363</link><dc:creator>geon</dc:creator><comments>https://news.ycombinator.com/item?id=47309363</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47309363</guid></item><item><title><![CDATA[New comment by geon in "Microscopes can see video on a laserdisc"]]></title><description><![CDATA[
<p>As I understand it, this only works with still images that scroll vertically.<p>Each revolution is one frame, so if you compare the data paths next to each other, they don't make up an image but the same single line of several consecutive frames.<p>Scrolling a still image makes the same line on the screen cover a different part of the image each frame, so you can sort of make out what the original image looked like.<p>The end credits should show up as a single tall image, since the only limit to the height is the radius of the disc.</p>
]]></description><pubDate>Mon, 09 Mar 2026 12:14:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47308056</link><dc:creator>geon</dc:creator><comments>https://news.ycombinator.com/item?id=47308056</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47308056</guid></item></channel></rss>