<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: badmintonbaseba</title><link>https://news.ycombinator.com/user?id=badmintonbaseba</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 18 Apr 2026 10:58:17 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=badmintonbaseba" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by badmintonbaseba in "Making Explainable Minesweeper"]]></title><description><![CDATA[
<p>BTW, you can also start from the top right with the two 1s. One of the rightmost two cells contains a mine, so the 3rd from the right can't.</p>
]]></description><pubDate>Thu, 10 Jul 2025 09:37:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=44519089</link><dc:creator>badmintonbaseba</dc:creator><comments>https://news.ycombinator.com/item?id=44519089</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44519089</guid></item><item><title><![CDATA[New comment by badmintonbaseba in "Making Explainable Minesweeper"]]></title><description><![CDATA[
<p>It's an entirely a different metagame if the goal is to improve your personal best time over multiple games within a given time frame. Once you get good enough with the deterministic reasoning, the game transforms into probabilistic strategies for time saves in both the vanilla and the guaranteed solvable game, and at that point the two games are very different.<p>For the vanilla game the guesses become integral part of the game that you can strategize around. There are guesses where some squares are less likely to contain mines than others. You can also try to uncover guesses as early as possible in a game, so you don't waste too much time on a game that is doomed to fail.</p>
]]></description><pubDate>Thu, 10 Jul 2025 09:32:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=44519062</link><dc:creator>badmintonbaseba</dc:creator><comments>https://news.ycombinator.com/item?id=44519062</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44519062</guid></item><item><title><![CDATA[New comment by badmintonbaseba in "Anthropic cut up millions of used books, and downloaded 7M pirated ones – judge"]]></title><description><![CDATA[
<p>Morally maybe, but AFAIK machines "learning" and creating creative works on their own is not recognized legally, at least certainly not the same way as for people.</p>
]]></description><pubDate>Mon, 07 Jul 2025 14:36:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=44490817</link><dc:creator>badmintonbaseba</dc:creator><comments>https://news.ycombinator.com/item?id=44490817</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44490817</guid></item><item><title><![CDATA[New comment by badmintonbaseba in "I scanned all of GitHub's "oops commits" for leaked secrets"]]></title><description><![CDATA[
<p>That doesn't help if revocation, without renewal means immediate outage.</p>
]]></description><pubDate>Thu, 03 Jul 2025 09:18:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=44453158</link><dc:creator>badmintonbaseba</dc:creator><comments>https://news.ycombinator.com/item?id=44453158</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44453158</guid></item><item><title><![CDATA[New comment by badmintonbaseba in "XSLT – Native, zero-config build system for the Web"]]></title><description><![CDATA[
<p>I only know libxslt, but it's XSLT 1.0 and some of EXSLT. I don't recommend.</p>
]]></description><pubDate>Fri, 27 Jun 2025 15:17:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=44397456</link><dc:creator>badmintonbaseba</dc:creator><comments>https://news.ycombinator.com/item?id=44397456</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44397456</guid></item><item><title><![CDATA[New comment by badmintonbaseba in "XSLT – Native, zero-config build system for the Web"]]></title><description><![CDATA[
<p>Sure, performance might never become a problem, it is relatively rare. But when it does there is very little you can do about it.</p>
]]></description><pubDate>Fri, 27 Jun 2025 09:45:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=44395358</link><dc:creator>badmintonbaseba</dc:creator><comments>https://news.ycombinator.com/item?id=44395358</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44395358</guid></item><item><title><![CDATA[New comment by badmintonbaseba in "XSLT – Native, zero-config build system for the Web"]]></title><description><![CDATA[
<p>We didn't use Saxon, I don't work there anymore. We also supported client-side (browser) XSLT processing, as well as server-side. It might have helped on the server side, maybe could even resolve some algorithmic complexities with some memoization (possibly trading off memory consumption).<p>But in the end the core problem is XSLT, the language. Despite being a complete programming language, your options are very limited for resolving performance issues when working within the language.</p>
]]></description><pubDate>Fri, 27 Jun 2025 09:43:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=44395345</link><dc:creator>badmintonbaseba</dc:creator><comments>https://news.ycombinator.com/item?id=44395345</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44395345</guid></item><item><title><![CDATA[New comment by badmintonbaseba in "Why is the Rust compiler so slow?"]]></title><description><![CDATA[
<p>It's partly by the type system. You can implement a std::sort (or slice::sort()) that just delegates to qsort or a qsort-like implementation and have roughly the same compile time performance as just using qsort straight.<p>But not having to is a win, as the monomorphised sorts are just much faster at runtime than having to do an indirect call for each comparison.</p>
]]></description><pubDate>Fri, 27 Jun 2025 09:26:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=44395255</link><dc:creator>badmintonbaseba</dc:creator><comments>https://news.ycombinator.com/item?id=44395255</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44395255</guid></item><item><title><![CDATA[New comment by badmintonbaseba in "XSLT – Native, zero-config build system for the Web"]]></title><description><![CDATA[
<p>I have worked for a company that (probably still is) heavily invested in XSLT for XML templating. It's not good, and they would probably migrate from it if they could.<p><pre><code>  1. Even though there are newer XSLT standards, XSLT 1.0 is still dominant. It is quite limited and weird compared to the newer standards.

  2. Resolving performance problems of XSLT templates is hell. XSLT is a Turing-complete functional-style language, with performance very much abstracted away. There are XSLT templates that worked fine for most documents, but then one document came in with a ~100 row table and it blew up. Turns out that the template that processed the table is O(N^2) or worse, without any obvious way to optimize it (it might even have an XPath on each row that itself is O(N) or worse). I don't exactly know how it manifested, but as I recall the document was processed by XSLT for more than 7 minutes.
</code></pre>
JS might have other problems, but not being able to resolve algorithmic complexity issues is not one of them.</p>
]]></description><pubDate>Fri, 27 Jun 2025 08:37:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=44394985</link><dc:creator>badmintonbaseba</dc:creator><comments>https://news.ycombinator.com/item?id=44394985</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44394985</guid></item><item><title><![CDATA[New comment by badmintonbaseba in "The first non-opoid painkiller"]]></title><description><![CDATA[
<p>Also everyone heard of pain killers that are non-opioid, so you can't really get around explaining why this one is novel.</p>
]]></description><pubDate>Thu, 26 Jun 2025 13:24:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=44387190</link><dc:creator>badmintonbaseba</dc:creator><comments>https://news.ycombinator.com/item?id=44387190</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44387190</guid></item><item><title><![CDATA[New comment by badmintonbaseba in "Switching Pip to Uv in a Dockerized Flask / Django App"]]></title><description><![CDATA[
<p>How does uv get around this?</p>
]]></description><pubDate>Tue, 24 Jun 2025 14:16:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=44366526</link><dc:creator>badmintonbaseba</dc:creator><comments>https://news.ycombinator.com/item?id=44366526</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44366526</guid></item><item><title><![CDATA[New comment by badmintonbaseba in "Simplest C++ Callback, from SumatraPDF"]]></title><description><![CDATA[
<p>It's up to the demangler, the info must be there in the decorated/mangled name. Demanglers sometimes choke on these complex symbols.<p>AFAIK MSVC also changed their lambda ABI once, including mangling. As I recall at one point it even produced some hash in the decorated/mangled name, with no way to revert it, but that was before /Zc:lambda (enabled by default from C++20).</p>
]]></description><pubDate>Mon, 16 Jun 2025 12:36:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=44288970</link><dc:creator>badmintonbaseba</dc:creator><comments>https://news.ycombinator.com/item?id=44288970</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44288970</guid></item><item><title><![CDATA[New comment by badmintonbaseba in "Simplest C++ Callback, from SumatraPDF"]]></title><description><![CDATA[
<p>> Smaller size at runtime (uses less memory).<p>Yours is smaller (in terms of sizeof), because std::function employs small-buffer optimization (SBO). That is if the user data fits into a specific size, then it's stored inline the std::function, instead of getting heap allocated. Yours need heap allocation for the ones that take data.<p>Whether yours win or lose on using less memory heavily depends on your typical closure sizes.<p>> Faster at runtime<p>Benchmark, please.</p>
]]></description><pubDate>Mon, 16 Jun 2025 09:16:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=44287822</link><dc:creator>badmintonbaseba</dc:creator><comments>https://news.ycombinator.com/item?id=44287822</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44287822</guid></item><item><title><![CDATA[New comment by badmintonbaseba in "Simplest C++ Callback, from SumatraPDF"]]></title><description><![CDATA[
<p>Just use std::function, you don't have to pass a lambda. Any callable is fine.</p>
]]></description><pubDate>Mon, 16 Jun 2025 09:09:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=44287797</link><dc:creator>badmintonbaseba</dc:creator><comments>https://news.ycombinator.com/item?id=44287797</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44287797</guid></item><item><title><![CDATA[New comment by badmintonbaseba in "A Dark Adtech Empire Fed by Fake CAPTCHAs"]]></title><description><![CDATA[
<p>Still better than the MS Teams website, which can get into a weird state and redirect in circles.</p>
]]></description><pubDate>Fri, 13 Jun 2025 11:18:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=44267511</link><dc:creator>badmintonbaseba</dc:creator><comments>https://news.ycombinator.com/item?id=44267511</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44267511</guid></item><item><title><![CDATA[New comment by badmintonbaseba in "Show HN: I made a 3D SVG Renderer that projects textures without rasterization"]]></title><description><![CDATA[
<p>It is possible to approximate perspective using piecewise affine transformations. It is certainly possible to match the perspective transformation at the vertices of the subdivisions, and only be somewhat off within.</p>
]]></description><pubDate>Thu, 05 Jun 2025 12:20:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=44190931</link><dc:creator>badmintonbaseba</dc:creator><comments>https://news.ycombinator.com/item?id=44190931</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44190931</guid></item><item><title><![CDATA[New comment by badmintonbaseba in "Show HN: I made a 3D SVG Renderer that projects textures without rasterization"]]></title><description><![CDATA[
<p>How do you transform paths? Do you just transform the control points?</p>
]]></description><pubDate>Thu, 05 Jun 2025 11:48:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=44190683</link><dc:creator>badmintonbaseba</dc:creator><comments>https://news.ycombinator.com/item?id=44190683</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44190683</guid></item><item><title><![CDATA[New comment by badmintonbaseba in "Show HN: I made a 3D SVG Renderer that projects textures without rasterization"]]></title><description><![CDATA[
<p>An other approach would be to apply the transformation to SVG elements separately. Inkscape has a perspective transformation tool, which you can apply to paths (and paths only). It probably needs to do approximation and subdivision on the path itself though, which is possibly more complex.</p>
]]></description><pubDate>Thu, 05 Jun 2025 11:06:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=44190431</link><dc:creator>badmintonbaseba</dc:creator><comments>https://news.ycombinator.com/item?id=44190431</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44190431</guid></item><item><title><![CDATA[New comment by badmintonbaseba in "Show HN: I made a 3D SVG Renderer that projects textures without rasterization"]]></title><description><![CDATA[
<p>I don't think your algorithm is correct. At least on the checkerboard example on the cube face the diagonals are curved. Perspective transformation doesn't do that.<p>Possibly you do the subdivisions along the edges uniformly in the target space, and map them to uniform subdivisions in the source space, but that's not correct.<p>edit:<p>Comparison of the article's and the correct perspective transform:<p><a href="https://imgur.com/RbRuGxD" rel="nofollow">https://imgur.com/RbRuGxD</a></p>
]]></description><pubDate>Thu, 05 Jun 2025 10:18:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=44190178</link><dc:creator>badmintonbaseba</dc:creator><comments>https://news.ycombinator.com/item?id=44190178</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44190178</guid></item><item><title><![CDATA[New comment by badmintonbaseba in "Porn sites go dark in France over new age verification rules"]]></title><description><![CDATA[
<p>I wonder how effectively the regulation achieves its desired outcome of fewer minors being exposed to porn.</p>
]]></description><pubDate>Wed, 04 Jun 2025 11:57:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=44179749</link><dc:creator>badmintonbaseba</dc:creator><comments>https://news.ycombinator.com/item?id=44179749</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44179749</guid></item></channel></rss>