<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: EmilStenstrom</title><link>https://news.ycombinator.com/user?id=EmilStenstrom</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 03 Jul 2026 19:36:46 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=EmilStenstrom" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by EmilStenstrom in "Aisle Discovers 6 New CVEs in Curl, Including the Oldest Issue Ever Reported"]]></title><description><![CDATA[
<p>There's something unnerving about this blog post.<p>Paraphrasing: "The world's top security researches and AI labs are pouring all their VC money into finding as many security issues in curl as possible". At the same time, we know that curl is run by volunteers that needs to handle all of this. I'm not saying that we shouldn't do security review of open source libraries, just saying that this situation puts a lot of pressure on the maintainers.<p>The second unnerving thing is that many of the listed vulnerabilites target embedded libcurl; a library with a much slower update cycle. I'm guessing that many of the listed bugs are still in active use, inside the thousands of applications that use curl internally. Another tricky situation.<p>Both of these stand in contrast to the posts "braggy" style of "we found the most vulnerabilities of all!!!".</p>
]]></description><pubDate>Thu, 25 Jun 2026 09:55:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=48671236</link><dc:creator>EmilStenstrom</dc:creator><comments>https://news.ycombinator.com/item?id=48671236</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48671236</guid></item><item><title><![CDATA[JustHTML 3.0.0: A new HTML5 parser architecture]]></title><description><![CDATA[
<p>Article URL: <a href="https://friendlybit.com/python/justhtml-3-parser-architecture/">https://friendlybit.com/python/justhtml-3-parser-architecture/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48621930">https://news.ycombinator.com/item?id=48621930</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 21 Jun 2026 19:40:54 +0000</pubDate><link>https://friendlybit.com/python/justhtml-3-parser-architecture/</link><dc:creator>EmilStenstrom</dc:creator><comments>https://news.ycombinator.com/item?id=48621930</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48621930</guid></item><item><title><![CDATA[New comment by EmilStenstrom in "Sweden becomes a smoke-free country"]]></title><description><![CDATA[
<p>Here's a free, fact-packed, breakdown on both smoking and "snus" in Sweden: <a href="https://www.folkhalsomyndigheten.se/the-public-health-agency-of-sweden/living-conditions-and-lifestyle/andtg/tobacco/use-of-tobacco-and-nicotine-products/" rel="nofollow">https://www.folkhalsomyndigheten.se/the-public-health-agency...</a><p>Numbers are from 2024, but smoking was at 5.4%, and snus at 15.7%.</p>
]]></description><pubDate>Tue, 26 May 2026 16:06:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=48281640</link><dc:creator>EmilStenstrom</dc:creator><comments>https://news.ycombinator.com/item?id=48281640</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48281640</guid></item><item><title><![CDATA[New comment by EmilStenstrom in "Google's 200M-parameter time-series foundation model with 16k context"]]></title><description><![CDATA[
<p>I somehow find the concept of a general time series model strange. How can the same model predict egg prices in Italy, and global inflation in a reliable way?<p>And how would you even use this model, given that there are no explanations that help you trust where the prediction comes from…</p>
]]></description><pubDate>Tue, 31 Mar 2026 05:45:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47583189</link><dc:creator>EmilStenstrom</dc:creator><comments>https://news.ycombinator.com/item?id=47583189</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47583189</guid></item><item><title><![CDATA[New comment by EmilStenstrom in "Google's 200M-parameter time-series foundation model with 16k context"]]></title><description><![CDATA[
<p>Here is the link to the blogpost, that actually describe what this is: <a href="https://github.com/google-research/timesfm?tab=readme-ov-file" rel="nofollow">https://github.com/google-research/timesfm?tab=readme-ov-fil...</a></p>
]]></description><pubDate>Tue, 31 Mar 2026 05:41:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47583161</link><dc:creator>EmilStenstrom</dc:creator><comments>https://news.ycombinator.com/item?id=47583161</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47583161</guid></item><item><title><![CDATA[New comment by EmilStenstrom in "Software Bonkers"]]></title><description><![CDATA[
<p>"Simply put: It’s a big mess, and no off-the-shelf accounting software does what I need. So after years of pain, I finally sat down last week and started to build my own. It took me about five days. I am now using the best piece of accounting software I’ve ever used."</p>
]]></description><pubDate>Sun, 15 Mar 2026 10:30:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=47386015</link><dc:creator>EmilStenstrom</dc:creator><comments>https://news.ycombinator.com/item?id=47386015</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47386015</guid></item><item><title><![CDATA[Software Bonkers]]></title><description><![CDATA[
<p>Article URL: <a href="https://craigmod.com/essays/software_bonkers/">https://craigmod.com/essays/software_bonkers/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47386011">https://news.ycombinator.com/item?id=47386011</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Sun, 15 Mar 2026 10:29:33 +0000</pubDate><link>https://craigmod.com/essays/software_bonkers/</link><dc:creator>EmilStenstrom</dc:creator><comments>https://news.ycombinator.com/item?id=47386011</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47386011</guid></item><item><title><![CDATA[New comment by EmilStenstrom in "GPT-5.3-Codex"]]></title><description><![CDATA[
<p>Doesn't matter which one. All of them can do things like this now, given a good enough feedback loop. Which your problem has.</p>
]]></description><pubDate>Thu, 05 Feb 2026 20:45:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46905026</link><dc:creator>EmilStenstrom</dc:creator><comments>https://news.ycombinator.com/item?id=46905026</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46905026</guid></item><item><title><![CDATA[New comment by EmilStenstrom in "JustHTML 1.0.0 Released"]]></title><description><![CDATA[
<p>Added features since initial release:<p>- Bleach-like sanitization feature built in and enabled by default<p>- Transforms API for simple HTML mutations<p>- Rewamped docs<p>- Playground powered by PyOdide (thanks for the idea simomw!)</p>
]]></description><pubDate>Tue, 20 Jan 2026 23:08:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=46698912</link><dc:creator>EmilStenstrom</dc:creator><comments>https://news.ycombinator.com/item?id=46698912</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46698912</guid></item><item><title><![CDATA[JustHTML 1.0.0 Released]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/EmilStenstrom/justhtml">https://github.com/EmilStenstrom/justhtml</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46698911">https://news.ycombinator.com/item?id=46698911</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 20 Jan 2026 23:08:24 +0000</pubDate><link>https://github.com/EmilStenstrom/justhtml</link><dc:creator>EmilStenstrom</dc:creator><comments>https://news.ycombinator.com/item?id=46698911</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46698911</guid></item><item><title><![CDATA[New comment by EmilStenstrom in "What I learned porting JustHTML to PHP with GPT 5.2 Codex"]]></title><description><![CDATA[
<p>I see that the blog post is mentioning not finding the web100k dataset, it's here: <a href="https://github.com/EmilStenstrom/web100k" rel="nofollow">https://github.com/EmilStenstrom/web100k</a></p>
]]></description><pubDate>Sat, 17 Jan 2026 00:19:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=46653989</link><dc:creator>EmilStenstrom</dc:creator><comments>https://news.ycombinator.com/item?id=46653989</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46653989</guid></item><item><title><![CDATA[New comment by EmilStenstrom in "Cursor's latest “browser experiment” implied success without evidence"]]></title><description><![CDATA[
<p>As the author, it's a stretch to say that JustHTML is a port of html5ever. While you're right that this was part of the initial prompt, the code is very different, which is typically not what counts as "port". Your mileage may wary.</p>
]]></description><pubDate>Sat, 17 Jan 2026 00:05:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=46653869</link><dc:creator>EmilStenstrom</dc:creator><comments>https://news.ycombinator.com/item?id=46653869</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46653869</guid></item><item><title><![CDATA[New comment by EmilStenstrom in "You are not required to close your <p>, <li>, <img>, or <br> tags in HTML"]]></title><description><![CDATA[
<p>To see the actual errors, just paste your HTML here and see: <a href="https://emilstenstrom.github.io/justhtml/playground/" rel="nofollow">https://emilstenstrom.github.io/justhtml/playground/</a> - any parsing errors show up below the input box.<p>Some tags do require ending tags, others do not. Personally I find it hard to remember which ones, so I just close things out of caution. That way you’re always spec-correct.</p>
]]></description><pubDate>Sun, 11 Jan 2026 17:45:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=46577770</link><dc:creator>EmilStenstrom</dc:creator><comments>https://news.ycombinator.com/item?id=46577770</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46577770</guid></item><item><title><![CDATA[New comment by EmilStenstrom in "FracturedJson"]]></title><description><![CDATA[
<p>Data driven test suites are really good for building trust in a library. Both the html5lib-tests suite and my recent xss-bench are examples of this!</p>
]]></description><pubDate>Fri, 02 Jan 2026 18:33:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=46467818</link><dc:creator>EmilStenstrom</dc:creator><comments>https://news.ycombinator.com/item?id=46467818</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46467818</guid></item><item><title><![CDATA[New comment by EmilStenstrom in "Cross-site Scripting-benchmark of Python sanitizers against real browsers"]]></title><description><![CDATA[
<p>The reason for this was to be able to build trust in the new sanitization features of my other project: <a href="https://friendlybit.com/python/justhtml-sanitization/" rel="nofollow">https://friendlybit.com/python/justhtml-sanitization/</a></p>
]]></description><pubDate>Wed, 31 Dec 2025 00:11:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=46439823</link><dc:creator>EmilStenstrom</dc:creator><comments>https://news.ycombinator.com/item?id=46439823</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46439823</guid></item><item><title><![CDATA[Cross-site Scripting-benchmark of Python sanitizers against real browsers]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/EmilStenstrom/justhtml-xss-bench">https://github.com/EmilStenstrom/justhtml-xss-bench</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46439800">https://news.ycombinator.com/item?id=46439800</a></p>
<p>Points: 4</p>
<p># Comments: 1</p>
]]></description><pubDate>Wed, 31 Dec 2025 00:08:32 +0000</pubDate><link>https://github.com/EmilStenstrom/justhtml-xss-bench</link><dc:creator>EmilStenstrom</dc:creator><comments>https://news.ycombinator.com/item?id=46439800</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46439800</guid></item><item><title><![CDATA[New comment by EmilStenstrom in "How I wrote JustHTML, a Python-based HTML5 parser, using coding agents"]]></title><description><![CDATA[
<p>Thanks for flagging this. Found multiple errors that are now fixed:<p>- The quoted test comes from justhtml-tests, a custom test suite added to make sure all parts of the algorithm are tested. It is not part of html5lib-tests.<p>- html5lib-tests does not support control characters in tests, which is why some of the tests in justhtml-tests exist in the first place. In my test suite I have added that ability to our test runner to make sure we handle control character correctly.<p>- In the INCOMING HTML block above, we are not printing control characters, they get filtered away in the terminal<p>- Both the treebuilder and the tokenizer are outputting errors for the found control character. None of them are in the right location (at flush instead of where found), and they are also duplicate.<p>- This being my own test suite, I haven't specified the correct errors. I should. expected-doctype-but-got-start-tag is reasonable in this case.<p>All of the above bugs are now fixed, and the test suite is in a better shape. Thanks again!</p>
]]></description><pubDate>Sun, 21 Dec 2025 12:49:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=46344466</link><dc:creator>EmilStenstrom</dc:creator><comments>https://news.ycombinator.com/item?id=46344466</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46344466</guid></item><item><title><![CDATA[New comment by EmilStenstrom in "How I wrote JustHTML, a Python-based HTML5 parser, using coding agents"]]></title><description><![CDATA[
<p>I've checked the numbers for html5lib, and they are correct. They are skipping a load of tests for many different reasons, one being that namespacing of svg/math fragments are not implemented. The 88% number listed is correct.</p>
]]></description><pubDate>Sun, 21 Dec 2025 12:45:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=46344448</link><dc:creator>EmilStenstrom</dc:creator><comments>https://news.ycombinator.com/item?id=46344448</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46344448</guid></item><item><title><![CDATA[New comment by EmilStenstrom in "How I wrote JustHTML, a Python-based HTML5 parser, using coding agents"]]></title><description><![CDATA[
<p>Excellent feedback. I'll have a look at the running of html5lib tests again.</p>
]]></description><pubDate>Fri, 19 Dec 2025 22:38:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=46331789</link><dc:creator>EmilStenstrom</dc:creator><comments>https://news.ycombinator.com/item?id=46331789</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46331789</guid></item><item><title><![CDATA[New comment by EmilStenstrom in "How I wrote JustHTML, a Python-based HTML5 parser, using coding agents"]]></title><description><![CDATA[
<p>Hi! The expected errors are not standardized enough for it to make sense to enable --check-errors by default. If you look at the readme, you'll see that the only thing they're checking is that the _numbers of errors_ are correct.<p>That said, the example you are pulling our out does not match that either. I'll make sure to fix this bug and other like it! <a href="https://github.com/EmilStenstrom/justhtml/issues/20" rel="nofollow">https://github.com/EmilStenstrom/justhtml/issues/20</a></p>
]]></description><pubDate>Fri, 19 Dec 2025 07:26:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=46323131</link><dc:creator>EmilStenstrom</dc:creator><comments>https://news.ycombinator.com/item?id=46323131</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46323131</guid></item></channel></rss>