<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: contravariant</title><link>https://news.ycombinator.com/user?id=contravariant</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 30 May 2026 20:32:47 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=contravariant" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by contravariant in "I'm Tired of Talking to AI"]]></title><description><![CDATA[
<p>I just want them to tell me if they don't know.<p>It's the one question that AIs seem unable to answer correctly.</p>
]]></description><pubDate>Wed, 27 May 2026 12:54:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48293534</link><dc:creator>contravariant</dc:creator><comments>https://news.ycombinator.com/item?id=48293534</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48293534</guid></item><item><title><![CDATA[New comment by contravariant in "I'm Tired of Talking to AI"]]></title><description><![CDATA[
<p>If you feel the need to <i>hide</i> how you got the answer then you know something is wrong.</p>
]]></description><pubDate>Wed, 27 May 2026 12:52:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=48293514</link><dc:creator>contravariant</dc:creator><comments>https://news.ycombinator.com/item?id=48293514</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48293514</guid></item><item><title><![CDATA[New comment by contravariant in "Jensen–Shannon Divergence"]]></title><description><![CDATA[
<p>To minimise the KL you just calculate the surprisal. The integral can be approximated by sampling over your training data. It's a direct expression of the information loss between your real data and your fitted probability distribution.<p>Calculating the JSD could be more difficult, the expression uses a mixture between the 'true' and 'fitted' distribution. You can still simulate this, but half the time you'd be fitting the model to itself, and I just don't see why that would be useful.<p>I think the JSD is most useful when you need an actual metric, but as long as you have a fitted and target distribution the KL divergence is a natural fit since you can interpret the result as information loss.</p>
]]></description><pubDate>Tue, 26 May 2026 15:00:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48280771</link><dc:creator>contravariant</dc:creator><comments>https://news.ycombinator.com/item?id=48280771</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48280771</guid></item><item><title><![CDATA[New comment by contravariant in "What it takes to transpose a matrix"]]></title><description><![CDATA[
<p>I wonder if using a hilbert curve (or perhaps the simpler z-curve) access order would help things. If ought to work well regardless of cache size.<p>Actually I think I recall some GPUs storing textures that way, but I'm not entirely sure.</p>
]]></description><pubDate>Tue, 26 May 2026 12:39:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=48278967</link><dc:creator>contravariant</dc:creator><comments>https://news.ycombinator.com/item?id=48278967</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48278967</guid></item><item><title><![CDATA[New comment by contravariant in "Steve Wozniak cheered after telling students they have AI – actual intelligence"]]></title><description><![CDATA[
<p>I was expecting more like a minimal usage that makes sense for a butchery or something, not <i>get rid of the people using email</i>.</p>
]]></description><pubDate>Mon, 25 May 2026 14:33:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48267329</link><dc:creator>contravariant</dc:creator><comments>https://news.ycombinator.com/item?id=48267329</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48267329</guid></item><item><title><![CDATA[New comment by contravariant in "Steve Wozniak cheered after telling students they have AI – actual intelligence"]]></title><description><![CDATA[
<p>What's the LLM equivalent to email and a basic webpage?</p>
]]></description><pubDate>Fri, 22 May 2026 22:54:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=48242629</link><dc:creator>contravariant</dc:creator><comments>https://news.ycombinator.com/item?id=48242629</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48242629</guid></item><item><title><![CDATA[New comment by contravariant in "Steve Wozniak cheered after telling students they have AI – actual intelligence"]]></title><description><![CDATA[
<p>That's just a baseless assumption. To use AI well you should do the things that allow you to use stuff <i>well</i>. You shouldn't just use it any way you can because you assume that 'not using it at all' is not the best option.<p>This is literally the same with every single technological development.</p>
]]></description><pubDate>Fri, 22 May 2026 14:46:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48236660</link><dc:creator>contravariant</dc:creator><comments>https://news.ycombinator.com/item?id=48236660</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48236660</guid></item><item><title><![CDATA[New comment by contravariant in "Steve Wozniak cheered after telling students they have AI – actual intelligence"]]></title><description><![CDATA[
<p>You've somehow confused using AI well with using it extensively.<p>Sometimes using something well involves not using it at all.</p>
]]></description><pubDate>Fri, 22 May 2026 12:49:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=48235150</link><dc:creator>contravariant</dc:creator><comments>https://news.ycombinator.com/item?id=48235150</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48235150</guid></item><item><title><![CDATA[New comment by contravariant in "Backblaze has stopped backing up your data"]]></title><description><![CDATA[
<p>I'm also pretty sure 14 points font is a bit outdated at this point, 16 should probably be a minimum with current screens. It's not as if screens aren't wide enough to fit bigger text.</p>
]]></description><pubDate>Tue, 14 Apr 2026 10:26:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47763703</link><dc:creator>contravariant</dc:creator><comments>https://news.ycombinator.com/item?id=47763703</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47763703</guid></item><item><title><![CDATA[New comment by contravariant in "GitHub Stacked PRs"]]></title><description><![CDATA[
<p>Oh that's annoying, seems to me there wouldn't have been an issue if you just merged B into A after merging A into main, or the other way around but that already works fine as you pointed out.<p>I mean if you've got a feature set to merge into dev, and it suddenly merges into main after someone merged dev into main then that's very annoying.</p>
]]></description><pubDate>Mon, 13 Apr 2026 23:55:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=47759506</link><dc:creator>contravariant</dc:creator><comments>https://news.ycombinator.com/item?id=47759506</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47759506</guid></item><item><title><![CDATA[New comment by contravariant in "GitHub Stacked PRs"]]></title><description><![CDATA[
<p>Huh interesting, my mental model is unable to see any difference between them.<p>I mean a branch is just jamming a flag into a commit with a polite note to move the flag along if you're working on it. You make a long trail, leave several flags and merge the whole thing back.<p>Of course leaving multiple waypoints only makes sense if merging the earlier parts makes any sense, and if the way you continue actually depends on the previous work.<p>If you can split it into several small changes made to a central branch it's a lot easier to merge things. Otherwise you risk making a new feature codependent on another <i>even if there was no need to</i>.</p>
]]></description><pubDate>Mon, 13 Apr 2026 23:51:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47759478</link><dc:creator>contravariant</dc:creator><comments>https://news.ycombinator.com/item?id=47759478</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47759478</guid></item><item><title><![CDATA[New comment by contravariant in "Maze Algorithms (1997)"]]></title><description><![CDATA[
<p>I think being connected is easy enough, being non-cyclic is trickier I suppose. If you do it badly the shape of the maze is going to depend on the order it's generated in. I imagine some people may have looked into it.</p>
]]></description><pubDate>Fri, 03 Apr 2026 14:25:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47627011</link><dc:creator>contravariant</dc:creator><comments>https://news.ycombinator.com/item?id=47627011</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47627011</guid></item><item><title><![CDATA[New comment by contravariant in "Maze Algorithms (1997)"]]></title><description><![CDATA[
<p>I'd probably go with something like the wave function collapse algorithm. It should be possible to make it generate trees with <i>somewhat</i> uniform probability.</p>
]]></description><pubDate>Fri, 03 Apr 2026 08:32:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=47624415</link><dc:creator>contravariant</dc:creator><comments>https://news.ycombinator.com/item?id=47624415</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47624415</guid></item><item><title><![CDATA[New comment by contravariant in "GitHub backs down, kills Copilot pull-request ads after backlash"]]></title><description><![CDATA[
<p>Since it's AI and Microsoft I <i>can</i> believe that someone who doesn't know what they're doing would be given a mandate to promote AI under any means necessary at the cost of some other team's reputation.<p>But it's an insane move. If anything AI has made it more important than ever to know who authored something and then someone does this <i>to promote AI</i>.</p>
]]></description><pubDate>Tue, 31 Mar 2026 14:49:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47588184</link><dc:creator>contravariant</dc:creator><comments>https://news.ycombinator.com/item?id=47588184</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47588184</guid></item><item><title><![CDATA[New comment by contravariant in "GitHub backs down, kills Copilot pull-request ads after backlash"]]></title><description><![CDATA[
<p>The fact that they chose to publish the ad _under someone else's name_ is so tone deaf that I just can't understand what they were thinking.</p>
]]></description><pubDate>Tue, 31 Mar 2026 11:06:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47585593</link><dc:creator>contravariant</dc:creator><comments>https://news.ycombinator.com/item?id=47585593</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47585593</guid></item><item><title><![CDATA[New comment by contravariant in "Everything old is new again: memory optimization"]]></title><description><![CDATA[
<p>Oh that's neat, though I might split this into two functions in most cases, no need to entangle opening the file and counting the words in a filelike object.<p>That's two neat tricks that I'm definitely adding to my bag of python trickery.</p>
]]></description><pubDate>Sun, 29 Mar 2026 16:27:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47564582</link><dc:creator>contravariant</dc:creator><comments>https://news.ycombinator.com/item?id=47564582</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47564582</guid></item><item><title><![CDATA[New comment by contravariant in "Everything old is new again: memory optimization"]]></title><description><![CDATA[
<p>I dislike loading files into memory entirely, in fact I consider avoiding that one of the few interesting problems here (the other problem being the issue of counting words in a stream of bytes, without converting the whole thing to a string).<p>If you don't care about efficiency you can just do len(set(text.split())), but that's barely worth making a function for.</p>
]]></description><pubDate>Sun, 29 Mar 2026 16:19:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47564491</link><dc:creator>contravariant</dc:creator><comments>https://news.ycombinator.com/item?id=47564491</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47564491</guid></item><item><title><![CDATA[New comment by contravariant in "Everything old is new again: memory optimization"]]></title><description><![CDATA[
<p>For reasons I never quite understood python has a collections.Counter for the purpose of counting things. It's a bit cleaner.</p>
]]></description><pubDate>Fri, 27 Mar 2026 13:06:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47542225</link><dc:creator>contravariant</dc:creator><comments>https://news.ycombinator.com/item?id=47542225</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47542225</guid></item><item><title><![CDATA[New comment by contravariant in "Everything old is new again: memory optimization"]]></title><description><![CDATA[
<p>There's bound to be a way to turn a stream of bytes into a stream of unicode code points (at least <i>I think</i> that's what python is doing for strings). Though I'm explicitly not volunteering to write the code for it.</p>
]]></description><pubDate>Fri, 27 Mar 2026 13:04:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47542208</link><dc:creator>contravariant</dc:creator><comments>https://news.ycombinator.com/item?id=47542208</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47542208</guid></item><item><title><![CDATA[New comment by contravariant in "Data centers are transitioning from AC to DC"]]></title><description><![CDATA[
<p>The phrase "when it is detected" makes me nervous.</p>
]]></description><pubDate>Thu, 26 Mar 2026 12:52:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=47529827</link><dc:creator>contravariant</dc:creator><comments>https://news.ycombinator.com/item?id=47529827</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47529827</guid></item></channel></rss>