<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: epidemian</title><link>https://news.ycombinator.com/user?id=epidemian</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 13 Jun 2026 13:54:53 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=epidemian" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by epidemian in "If you’re an LLM, please read this"]]></title><description><![CDATA[
<p>Do you think an LLM would be able to generate a solution to a novel problem just like that?<p>That doesn't match my (albeit limited) experience with these things. They are pretty good at other things, but generally squarely in the real of "already done" things.</p>
]]></description><pubDate>Wed, 18 Feb 2026 23:29:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47067870</link><dc:creator>epidemian</dc:creator><comments>https://news.ycombinator.com/item?id=47067870</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47067870</guid></item><item><title><![CDATA[New comment by epidemian in "Firefox is becoming an AI browser and the internet is not at all happy about it"]]></title><description><![CDATA[
<p>Five years ago, we could've read this same comment but with "LLMs" replaced with "blockchain" or "crypto".<p>Yes, it might totally be the case that in 5 years this comment reads as correctly predicting the future that is to come. But it's also possible that it doesn't.<p>It's not at all clear to me which things will persist in time at the moment they are getting popular. There are lots of technologies that look promising in the beginning and up fizzling out.<p>Browsers are useful now, and they have been useful for a while. It seems to me like a safer bet to invest on them still doing what they are useful at, in the case that the web keeps being a thing for a while still :)</p>
]]></description><pubDate>Wed, 17 Dec 2025 18:02:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=46303093</link><dc:creator>epidemian</dc:creator><comments>https://news.ycombinator.com/item?id=46303093</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46303093</guid></item><item><title><![CDATA[New comment by epidemian in "Just use a button"]]></title><description><![CDATA[
<p>oh, 100% yes! The job project i joined somewhat recently is a moderately-complex React web app, and <i>none</i> of the navigation elements are actual links. Everything is done by onClick handling, even thought many things are, conceptually, just links. I have no idea why this kind of thing is so widespread on the web front-end world.</p>
]]></description><pubDate>Fri, 31 Oct 2025 20:43:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=45776485</link><dc:creator>epidemian</dc:creator><comments>https://news.ycombinator.com/item?id=45776485</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45776485</guid></item><item><title><![CDATA[New comment by epidemian in "TigerBeetle and Synadia pledge $512k to the Zig Software Foundation"]]></title><description><![CDATA[
<p>> You need to kneel to the borrow-checker and develop something like a Stockholm syndrome before you find the language delicious.<p>That was not my experience at all. I liked the language from the get-go. And the more i dug into it, the more i found to like. I really appreciated the design of Rust's iterators, and traits, and general language design, way before i stumbled into any major issues with the borrow checker.<p>I feel like this depends very much on the programming style and probably on the domain. But i found that programming in a mostly "functions and simple data structures" way, passing things down to other functions that need them, and just processing data instead of "modeling the domain" into mutable and confusing "objects", i didn't really come across many lifetime-related issues that the borrow checker warns about.<p>And the few that i did found, they were actually errors on my part, and Rust detecting them was quite helpful. Things like trying to mutate a collection while also iterating it.<p>So, IDK, YMMV i guess.</p>
]]></description><pubDate>Sat, 25 Oct 2025 18:43:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=45706053</link><dc:creator>epidemian</dc:creator><comments>https://news.ycombinator.com/item?id=45706053</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45706053</guid></item><item><title><![CDATA[New comment by epidemian in "Play snake in the URL address bar"]]></title><description><![CDATA[
<p>>  What inspired you to build this, I'd love to hear the story behind this.<p>Actually, i don't remember! Sorry, it's been a while (a decade, it seems... oh well)<p>This is probably my mind retro-creating a story, but i <i>think</i> this started with me wondering about how the Braille system worked. Like, did each Braille symbol map to a single letter, or to a whole syllable, or even a concept? Or, were more than one Braille symbol needed for some letters, like Morse?<p>Turns out each Braille symbol fits within a 2x4 grid of points. That's 2 possible states (point is on or off) for each of those 8 points. So 2^8 = 256 possible values. That's a byte! And luckily, Unicode encodes all those 256 possible values, and maps them to codepoints in a very systematic way.<p>So obviously, i started to wonder what kind of things could be represented on these Braille grids. The snake game was a natural fit, and a fun programming experience. But i also considered other things, like a horizontal Tetris. Or a Game of Life rendered on the URL, which i actually implemented(1), but i didn't find as entertaining as snake, because the 4-tile height restriction impeded any interesting patterns, like gliders (even with wrap-around logic). I think i even made some brute-force searching for horizontal or diagonal gliders trying out different born/survive rules(2), but couldn't find any interesting patterns, other than still life, blinkers, and some "moving walls" kind of things.<p>Anyways, that's for the Braille part. The idea of using the address bar to render the game, i have no idea where that came from TBH. Maybe i stole the idea from some other animated or pretty thing on URLs? I wish i remembered.<p>(1): <a href="https://github.com/epidemian/URLife" rel="nofollow">https://github.com/epidemian/URLife</a><p>(2): See <a href="https://en.wikipedia.org/wiki/Life-like_cellular_automaton" rel="nofollow">https://en.wikipedia.org/wiki/Life-like_cellular_automaton</a>. The Game of Life rabbit hole goes deep.</p>
]]></description><pubDate>Mon, 29 Sep 2025 06:06:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=45410766</link><dc:creator>epidemian</dc:creator><comments>https://news.ycombinator.com/item?id=45410766</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45410766</guid></item><item><title><![CDATA[New comment by epidemian in "Play snake in the URL address bar"]]></title><description><![CDATA[
<p>Thanks, that's one of the best compliments i've read :D</p>
]]></description><pubDate>Mon, 29 Sep 2025 02:03:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=45409762</link><dc:creator>epidemian</dc:creator><comments>https://news.ycombinator.com/item?id=45409762</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45409762</guid></item><item><title><![CDATA[New comment by epidemian in "Play snake in the URL address bar"]]></title><description><![CDATA[
<p>Yeah, sorry for that. The game actually used to work decently well on mobile browsers.<p>If you're brave enough to try on a mobile device, there's a way to see the current URL without escaping on the page: clicking on that "?". The mobile controls are clunky, but you'll be rewarded with the ability to share your highscores with friends! :P</p>
]]></description><pubDate>Mon, 29 Sep 2025 01:10:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=45409514</link><dc:creator>epidemian</dc:creator><comments>https://news.ycombinator.com/item?id=45409514</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45409514</guid></item><item><title><![CDATA[New comment by epidemian in "Play snake in the URL address bar"]]></title><description><![CDATA[
<p>The source code is not minified or anything, ctrl+u is your friend :)<p>IDK about the AI claim tho. The game has been there for like 10 years, so it's probably in the training data of these things. The bots might be able to replicate it, but they surely won't be able to <i>enjoy</i> it! (for now at least)</p>
]]></description><pubDate>Mon, 29 Sep 2025 01:05:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=45409490</link><dc:creator>epidemian</dc:creator><comments>https://news.ycombinator.com/item?id=45409490</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45409490</guid></item><item><title><![CDATA[New comment by epidemian in "Play snake in the URL address bar"]]></title><description><![CDATA[
<p>I've actually thought about rendering DOOM on the favicon. I don't see why it shouldn't be possible. Maybe @Franciscouzo could tackle that challenge! <a href="https://news.ycombinator.com/item?id=45408825">https://news.ycombinator.com/item?id=45408825</a></p>
]]></description><pubDate>Mon, 29 Sep 2025 00:43:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=45409368</link><dc:creator>epidemian</dc:creator><comments>https://news.ycombinator.com/item?id=45409368</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45409368</guid></item><item><title><![CDATA[New comment by epidemian in "Play snake in the URL address bar"]]></title><description><![CDATA[
<p>This is how it used to look in olden days, before browsers plundered our fun in the name of security: <a href="https://raw.githubusercontent.com/epidemian/snake/refs/heads/master/gameplay.gif" rel="nofollow">https://raw.githubusercontent.com/epidemian/snake/refs/heads...</a></p>
]]></description><pubDate>Mon, 29 Sep 2025 00:38:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=45409345</link><dc:creator>epidemian</dc:creator><comments>https://news.ycombinator.com/item?id=45409345</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45409345</guid></item><item><title><![CDATA[New comment by epidemian in "Play snake in the URL address bar"]]></title><description><![CDATA[
<p>Yes, i thought of doing that. The problem is that, while it would definitely help on the early game, it would also mess things badly on the late game. As you snake grows, it'll take more and more space on the grid, and you'll start seeing more and more janky whitespace-replacement characters.<p>The game gets faster as you progress, so it's definitely not a good idea to make it jankyer when you're try-harding it :P<p>I'd love to know of a way of "fixing" this jankyness issue properly. Without admitting defeat and rendering to some other text-admitting output, like the page <title>, as this oher snake game that was recently posted on Reddit does: <a href="https://old.reddit.com/r/webdev/comments/1n9z77e/snake_in_the_tab_title/" rel="nofollow">https://old.reddit.com/r/webdev/comments/1n9z77e/snake_in_th...</a><p>But, for now, if you're actually trying to get a high score, i think the best approach is rendering the URL on page, by clicking on the "?"</p>
]]></description><pubDate>Mon, 29 Sep 2025 00:34:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=45409323</link><dc:creator>epidemian</dc:creator><comments>https://news.ycombinator.com/item?id=45409323</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45409323</guid></item><item><title><![CDATA[New comment by epidemian in "Play snake in the URL address bar"]]></title><description><![CDATA[
<p>Oh, this is lovely. The more retina, the less playable it gets :D<p>Update: amazing game-over effect!</p>
]]></description><pubDate>Mon, 29 Sep 2025 00:16:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=45409231</link><dc:creator>epidemian</dc:creator><comments>https://news.ycombinator.com/item?id=45409231</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45409231</guid></item><item><title><![CDATA[New comment by epidemian in "Play snake in the URL address bar"]]></title><description><![CDATA[
<p>Wow! It's such a surprise to see this old project of mine here on HN front page!<p>I must say, if you're experiencing any issues playing this, it's probably because it was designed to be played on the browsers of 10 years ago hehe. Here's how the game used to look and play in its former days of glory: <a href="https://github.com/epidemian/snake/blob/master/gameplay.gif?raw=true" rel="nofollow">https://github.com/epidemian/snake/blob/master/gameplay.gif?...</a><p>Since then, browsers have made some so-called "security" "improvements" that heavily hindered the capabilities of addressbar-based videogames. You can see traces of this on the game source code, and on the commit history.<p>At some point, pushing things to `history.replaceState()` got super rate-limited on Chrome, to something like tens of updates per minute IIRC, which totally wrecked the playing experience. I think i got around this by falling back to using `location.hash` directly. I think Chrome later rose this throttling to something more sensible. IDK if enough to play Crysis at 60fps on the addressbar, but enough for a snake game. And if not, sorry for messing up your Back button!<p>The worst of these security-excused changes was Firefox and Chrome starting to escape all whitespace characters (and others) on URLs. The game uses Braille characters to "render" its grid world, and blank Braille characters are abundant, especially on the early game. I think i made some comments on the browsers' issue trackers, and even received some sympathy from the developers (or maybe this was on the throttling of history, i don't remember). But of course, and as usual, "security" trumps over fun.<p>I ended up trying to counteract this URL escaping mechanisms with some horrible, really really horrible, indefensible, shameful, canvas-based font-measuring hack to replace blank Braille characters with some other character that doesn't get escaped and is more or less the same width, and as blank as possible. See <a href="https://github.com/epidemian/snake/blob/e9d5591a613afabc7e119a995d718767b1b15987/snake.js#L334-L389" rel="nofollow">https://github.com/epidemian/snake/blob/e9d5591a613afabc7e11...</a>. If you have any idea of how to do this in a less soul-damning way, please let me know!<p>I think the game never worked properly on Safari. I know the browser used to hide the URL fragment, or maybe everything other than the domain name. I've no idea what it does now; does it even allow users to visit random webpages or does it mandate a separate app for everything? /s<p>In case my pile of hacks fails thoroughly, i resignedly added a way of showing the intended URL on the actual page content, by clicking on the "?"<p>Anyways, i should probably write a blog post about this little silly thing. Thanks for playing! :)</p>
]]></description><pubDate>Mon, 29 Sep 2025 00:14:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=45409221</link><dc:creator>epidemian</dc:creator><comments>https://news.ycombinator.com/item?id=45409221</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45409221</guid></item><item><title><![CDATA[New comment by epidemian in "Adding a feature because ChatGPT incorrectly thinks it exists"]]></title><description><![CDATA[
<p>> If you define a hallucination as something that wasn't in the training data, directly or indirectly (indirectly being something like an "obvious" abstract concept), then [...]<p>Ok, sure. But why would you choose to define hallucinations in a way that is contrary to common sense and the normal understanding of what an AI hallucination is?<p>The common definition of hallucinations is basically: when AI makes shit up and presents it as fact. (And the more technical definition also basically aligns with that.)<p>No one would say that if the AI takes the data you provide in the prompt and can deduce a correct answer for that specific data —something that is not directly or indirectly present in its training data— it would be hallucinating. In fact that would be an expected thing for an intelligent system to do.<p>It seems to me you're trying to discuss with something nobody said. You're making it seem that saying "it's bad that LLMs can invent wrong/misleading information like this and present it as fact, and that the companies that deploy them don't seem to care" is equivalent to "i want LLMs to be perfect and have no bugs whatsoever", and then discuss about how ridiculous is to state the latter.</p>
]]></description><pubDate>Tue, 08 Jul 2025 16:22:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=44501513</link><dc:creator>epidemian</dc:creator><comments>https://news.ycombinator.com/item?id=44501513</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44501513</guid></item><item><title><![CDATA[New comment by epidemian in "Adding a feature because ChatGPT incorrectly thinks it exists"]]></title><description><![CDATA[
<p>> You have to focus on the actual products and services which you provide and do a good job at it, not chase after any and every person with an opinion.<p>But, this story (and the GP comment) is not talking about "any person with an opinion". It's talking about actual ChatGPT users. People who've used ChatGPT as a service, and got false information from it. Even if they were free-tier users (do we even know that?), i think it makes sense for them to have some expectations about the service working somewhat correctly.<p>And in the concrete case of these LLM chat services, many people do get the impression that the responses they give <i>must</i> be correct, because of how deceptively sure and authoritative they sound, even when inventing pure BS.</p>
]]></description><pubDate>Tue, 08 Jul 2025 03:39:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=44496824</link><dc:creator>epidemian</dc:creator><comments>https://news.ycombinator.com/item?id=44496824</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44496824</guid></item><item><title><![CDATA[New comment by epidemian in "Adding a feature because ChatGPT incorrectly thinks it exists"]]></title><description><![CDATA[
<p>> Requiring perfection would either mean guardrails that would make it useless for most cases, or no LLM access until AGI exists<p>What?? What does AGI have to do with this? (If this was some kind of hyperbolic joke, sorry, i didn't get it.)<p>But, more importantly, the GP only said that in a sane world, the ChatGPT creators should be the ones trying to fix this mistake on ChatGPT. After all, it's obviously a mistake on ChatGPT's part, right?<p>That was the main point of the GP post. It was not about "requiring perfection" or something like that. So please let's not attack a straw man.</p>
]]></description><pubDate>Tue, 08 Jul 2025 03:24:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=44496702</link><dc:creator>epidemian</dc:creator><comments>https://news.ycombinator.com/item?id=44496702</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44496702</guid></item><item><title><![CDATA[New comment by epidemian in "Don't unwrap options: There are better ways (2024)"]]></title><description><![CDATA[
<p>Small nit: the Some() pattern should go on the left side of the assignment:<p><pre><code>    let Some(value) = param.as_ref() else {
      // Handle, and continue, return an error etc
    }
    // Use `value` as normal.</code></pre></p>
]]></description><pubDate>Tue, 13 May 2025 20:33:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=43977399</link><dc:creator>epidemian</dc:creator><comments>https://news.ycombinator.com/item?id=43977399</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43977399</guid></item><item><title><![CDATA[New comment by epidemian in "Let's Ban Billboards"]]></title><description><![CDATA[
<p>This a thread about imagining a world without ads. If we're trying to envision that, it surely is not too hard to imagine how such a useful service for society as a search engine could be funded by other means, right?<p>There are many many examples of useful services (both private and public) in our own world that manage to exist without the need to get plastered by obnoxious ads.</p>
]]></description><pubDate>Mon, 07 Apr 2025 04:36:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=43607737</link><dc:creator>epidemian</dc:creator><comments>https://news.ycombinator.com/item?id=43607737</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43607737</guid></item><item><title><![CDATA[New comment by epidemian in "Let's Ban Billboards"]]></title><description><![CDATA[
<p>And, just to expand a bit on this, what i find puzzling about the stance of "how will you find out about stuff without ads" is that it goes totally contrary to my contemporary experience.<p>Nowadays, when i want to find out about something, i don't just query Google about it, i usually make sure to add "site:reddit.com" to that query, precisely to avoid getting swamped by unuseful ads on the search results and instead have a change at getting to actual data from actual people. In this sense, ads are not only not useful for finding out about the stuff i want: they are actually hampering my ability to do so.</p>
]]></description><pubDate>Mon, 07 Apr 2025 04:29:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=43607698</link><dc:creator>epidemian</dc:creator><comments>https://news.ycombinator.com/item?id=43607698</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43607698</guid></item><item><title><![CDATA[New comment by epidemian in "Let's Ban Billboards"]]></title><description><![CDATA[
<p>Those are indeed very useful things.<p>It's true that people often spend their money on frivolous or unnecessary things. But sometimes people pay for useful things too!</p>
]]></description><pubDate>Mon, 07 Apr 2025 04:14:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=43607608</link><dc:creator>epidemian</dc:creator><comments>https://news.ycombinator.com/item?id=43607608</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43607608</guid></item></channel></rss>