<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: boolemancer</title><link>https://news.ycombinator.com/user?id=boolemancer</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 30 Apr 2026 01:49:03 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=boolemancer" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by boolemancer in "Docker limits unauthenticated pulls to 10/HR/IP from Docker Hub, from March 1"]]></title><description><![CDATA[
<p>There's already a rate limit on pulls. All this does is make that rate limit more inconvenient by making it hourly instead of allowing you to amortize it over 6 hours.<p>10 per hour is slightly lower than 100 per 6 hours, but not in any meaningful way from a bandwidth perspective, especially since image size isn't factored into these rate limits in any way.<p>If bandwidth is the real concern, why change to a more inconvenient time period for the rate limit rather than just lowering the existing rate limit to 60 per 6 hours?</p>
]]></description><pubDate>Fri, 21 Feb 2025 18:43:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=43131291</link><dc:creator>boolemancer</dc:creator><comments>https://news.ycombinator.com/item?id=43131291</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43131291</guid></item><item><title><![CDATA[New comment by boolemancer in "Firefox removes "do not track" feature support"]]></title><description><![CDATA[
<p>> The average user doesn't even recognize that running a website literally cost electricity that must be paid for. Who pays for it? Who will carry the boats?<p>Running a retail store also has costs associated with it, including, yes, electricity.<p>Yet if I walk into a store and leave without buying anything, do I feel like I owe the store owner anything?<p>No. That's not how that works, nor is that how it should work.</p>
]]></description><pubDate>Tue, 10 Dec 2024 22:10:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=42382158</link><dc:creator>boolemancer</dc:creator><comments>https://news.ycombinator.com/item?id=42382158</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42382158</guid></item><item><title><![CDATA[New comment by boolemancer in "All the data can be yours: reverse engineering APIs"]]></title><description><![CDATA[
<p>It's not a limitation of the internet, it's a fundamental property of communication.<p>Imagine trying to validate that all letters sent to your company are written by special company-provided typewriters and you would run into the same fundamental limits.<p>Whenever you design any client/server architecture, the first rule should always be "never trust the client," for that very reason.<p>Rather than trying to work around that rule, put your effort into ensuring that the system is correct and resilient even in the face of malicious clients.</p>
]]></description><pubDate>Tue, 12 Nov 2024 01:05:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=42111934</link><dc:creator>boolemancer</dc:creator><comments>https://news.ycombinator.com/item?id=42111934</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42111934</guid></item><item><title><![CDATA[New comment by boolemancer in "All the data can be yours: reverse engineering APIs"]]></title><description><![CDATA[
<p>If an endpoint costs a lot to run, implement rate limits and return 429 status codes so callers know that they're calling too often.<p>That endpoint will be expensive regardless of whether it's your own app or a third party that's calling it too often, so design it with that in mind.<p>Your app isn't special, it's just another client. Treat it that way.</p>
]]></description><pubDate>Mon, 11 Nov 2024 21:43:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=42110686</link><dc:creator>boolemancer</dc:creator><comments>https://news.ycombinator.com/item?id=42110686</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42110686</guid></item><item><title><![CDATA[New comment by boolemancer in "All the data can be yours: reverse engineering APIs"]]></title><description><![CDATA[
<p>In my personal view, this seems a little overbearing.<p>If you expose an API, and you want to tell a user that they are "unauthorized" to use it, it should return a 401 status code so that the caller knows they're unauthorized.<p>If you can't do that because their traffic looks like normal usage of the API by your web app, then I question why their usage is problematic for you.<p>At the end of the day, you don't get to control what 'browser' the user uses to interact with your service. Sure, it might be Chrome, but it just as easily might be Firefox, or Lynx, or something the user built from scratch, or someone manually typing out HTTP requests in netcat, or, in this case, someone building a custom client for your specific service.<p>If you host a web server, it's on you to remember that and design accordingly, not on the user to limit how they use your service.</p>
]]></description><pubDate>Mon, 11 Nov 2024 19:31:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=42109797</link><dc:creator>boolemancer</dc:creator><comments>https://news.ycombinator.com/item?id=42109797</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42109797</guid></item><item><title><![CDATA[New comment by boolemancer in "Regarding our Cease and Desist letter to Automattic"]]></title><description><![CDATA[
<p>> Single English words cannot be trademarked.<p>Um... Apple? Shell? Alphabet? Chevron? Target? Caterpillar? Oracle? Orange?</p>
]]></description><pubDate>Sun, 20 Oct 2024 04:22:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=41892841</link><dc:creator>boolemancer</dc:creator><comments>https://news.ycombinator.com/item?id=41892841</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41892841</guid></item><item><title><![CDATA[New comment by boolemancer in "The optimised version of 7-Zip can't be built from source"]]></title><description><![CDATA[
<p>If all that's missing is 'a nasm compatible assembler', did they try just swapping it out for nasm, which seems to have a readily available alpine package?<p><a href="https://pkgs.alpinelinux.org/package/edge/main/x86/nasm" rel="nofollow">https://pkgs.alpinelinux.org/package/edge/main/x86/nasm</a></p>
]]></description><pubDate>Sun, 13 Oct 2024 03:56:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=41825043</link><dc:creator>boolemancer</dc:creator><comments>https://news.ycombinator.com/item?id=41825043</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41825043</guid></item><item><title><![CDATA[New comment by boolemancer in "Ryujinx (Nintendo Switch emulator) has been removed from GitHub"]]></title><description><![CDATA[
<p>> and game dumping.<p>Your argument is that legally purchasing a game and playing that in an emulator is piracy?</p>
]]></description><pubDate>Tue, 01 Oct 2024 21:31:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=41714405</link><dc:creator>boolemancer</dc:creator><comments>https://news.ycombinator.com/item?id=41714405</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41714405</guid></item><item><title><![CDATA[New comment by boolemancer in "Git-absorb: Git commit –fixup, but automatic"]]></title><description><![CDATA[
<p>> Because it often isn't. I don't know about your experience, but in all the teams I've worked in throughout my career the discipline to keep PRs atomic is almost never maintained, and sometimes just doesn't make sense. Sometimes you start working on a change, but spot an issue that is either too trivial to go through the PR/review process, or closely related to the work you started but worthy of a separate commit. Other times large PRs are unavoidable, especially for refactorings, where you want to propose a larger change but the history of the progress is valuable.<p>In my experience at least, PRs are atomic in that they always leave main in a "good state" (where good is pretty loosely defined as 'the tests had to pass once').<p>Sometimes you might make a few small changes in a PR, but they still go through a review. If they're too big, you might ask someone to split it out into two PRs.<p>Obviously special cases exist for things like large refactoring, but those should be rare and can be handled on a case by case basis.<p>But regardless, even if a PR has multiple small changes, I wouldn't revert or cherry-pick just part of it. Just do the whole thing or not at all.<p>> Oh, plenty. For one, when looking at `git blame` to determine why a change was made, I hope to find this information in the commit message. This is what commit messages are for anyway. If all commits have this information, following the history of a set of changes becomes much easier. This is helpful not just during code reviews, but after the merge as well, for any new members of the team trying to understand the codebase, or even the author themself in the future.<p>Yeah but the context for `git blame` is still there when doing a squash merge, and the commit message should still be relevant and useful.<p>My point isn't that history isn't useful, it's that the specific individual commits that make up a PR don't provide more useful context than the combined PR commit itself does.<p>I don't need to know that a typo was fixed in iteration 5 of feedback in the PR that was introduced in iteration 3. It's not relevant once the PR is merged.</p>
]]></description><pubDate>Thu, 26 Sep 2024 18:29:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=41661592</link><dc:creator>boolemancer</dc:creator><comments>https://news.ycombinator.com/item?id=41661592</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41661592</guid></item><item><title><![CDATA[New comment by boolemancer in "Git-absorb: Git commit –fixup, but automatic"]]></title><description><![CDATA[
<p>> At the risk of sounding judgemental, I think this preference for always squashing PRs comes from a place of either not understanding atomic commits, not caring about the benefits of them, or just choosing to be lazy. In any case, the loss of history inevitably comes at a cost of making reverting and cherry-picking changes more difficult later, as well as losing the context of why a change was made.<p>1) Why are you ever reverting/cherry-picking at a more granular level than an entire PR anyway? The PR is the thing that gets signed-off on, and the thing that goes through the CI build/tests, so why wouldn't that be the thing kept as an atomic unit?<p>2) I don't think I've ever cared about the context for a specific commit within a PR once the PR has been merged. What kind of information do you expect to get out of it?<p>Edit: How does it remove the context for a change or make `git bisect` useless? How big are your PRs that you can't get enough context from finding the PR commit to know why a particular change was made?</p>
]]></description><pubDate>Thu, 26 Sep 2024 03:23:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=41654227</link><dc:creator>boolemancer</dc:creator><comments>https://news.ycombinator.com/item?id=41654227</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41654227</guid></item><item><title><![CDATA[New comment by boolemancer in "CrowdStrike Update: Windows Bluescreen and Boot Loops"]]></title><description><![CDATA[
<p>Yeah, because no one on Linux or Mac would clone a git repo they just found out about and blindly run the setup scripts listed in the readme.<p>And no one would pipe a script downloaded with wget/curl directly into bash.<p>And nobody would copy a script from a code-formatted block on a page, paste it directly into their terminal and then run it.<p>Im not going to go so far as to claim that these behaviors are as common as installing software on Windows, but they are still definitely common, and all could lead to the same kinds of bad things happening.</p>
]]></description><pubDate>Fri, 19 Jul 2024 15:45:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=41007635</link><dc:creator>boolemancer</dc:creator><comments>https://news.ycombinator.com/item?id=41007635</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41007635</guid></item><item><title><![CDATA[New comment by boolemancer in "Creativity has left the chat: The price of debiasing language models"]]></title><description><![CDATA[
<p>Is this the first Summoning Salt video you've seen?<p>I don't know enough to say that he doesn't use an LLM during his writing process, but I do know that I haven't noticed any appreciable difference between his newer videos and ones that were released before ChatGPT was made available.<p>Is it possible that this is just the way he chooses to write his scripts that you interpret as sounding like they are written by an LLM?</p>
]]></description><pubDate>Mon, 17 Jun 2024 07:53:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=40703259</link><dc:creator>boolemancer</dc:creator><comments>https://news.ycombinator.com/item?id=40703259</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40703259</guid></item><item><title><![CDATA[New comment by boolemancer in "Tesla's FSD – A Useless Technology Demo"]]></title><description><![CDATA[
<p>Maybe that's a harsh lesson in making promises that can't be delivered?<p>Or, more likely, no lessons will be learned and people will still trust what the company says in the future for arbitrary reasons.</p>
]]></description><pubDate>Sat, 15 Jun 2024 14:45:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=40690135</link><dc:creator>boolemancer</dc:creator><comments>https://news.ycombinator.com/item?id=40690135</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40690135</guid></item><item><title><![CDATA[New comment by boolemancer in "True Defamation [pdf]"]]></title><description><![CDATA[
<p>Seems like the best way for somebody to get over a bad thing that they did in their past is to be forthright in acknowledging that they did the bad thing, and show through their actions how they've become a better person.<p>In other words, accept responsibility and earn back your reputation.<p>Hiding the truth seems like the exact opposite of that.</p>
]]></description><pubDate>Sat, 15 Jun 2024 13:33:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=40689702</link><dc:creator>boolemancer</dc:creator><comments>https://news.ycombinator.com/item?id=40689702</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40689702</guid></item><item><title><![CDATA[New comment by boolemancer in "Why curl closes PRs on GitHub"]]></title><description><![CDATA[
<p>> It also allows for much easier reverting of specific changes in case some part of a topic needs removed.<p>I guess I struggle to see where reverting entire commits makes more sense than just deleting the offending code in a new commit.</p>
]]></description><pubDate>Wed, 12 Jun 2024 16:53:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=40660258</link><dc:creator>boolemancer</dc:creator><comments>https://news.ycombinator.com/item?id=40660258</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40660258</guid></item><item><title><![CDATA[New comment by boolemancer in "Why curl closes PRs on GitHub"]]></title><description><![CDATA[
<p>That seems like significantly more work for marginal (if any) benefit over just having a single squash commit per PR.<p>I don't think I've ever found myself in a situation where I needed more granularity than the PR level when looking back through the history of a repo.<p>What are the situations where this is actually useful enough to make it worth the effort?</p>
]]></description><pubDate>Wed, 12 Jun 2024 15:34:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=40659256</link><dc:creator>boolemancer</dc:creator><comments>https://news.ycombinator.com/item?id=40659256</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40659256</guid></item><item><title><![CDATA[New comment by boolemancer in "Code reviews don't usually find bugs"]]></title><description><![CDATA[
<p>> When reviewers look for these logic issues, they often run through the code line-by-line using different inputs and see if any lines cause the code to produce the wrong output.<p>I don't know of anyone that regularly does this during code reviews.<p>In my experience, automated tests help to catch regressions, i.e., they help catch error cases that people have already anticipated. If the system fails in some brand new unexpected way, you won't have tests for it by definition.<p>Similarly, static analysis can help catch certain classes of bugs, but there's plenty of things they won't be able to spot.<p>Yes, they're both useful, but neither of these is a replacement for code review. They're all complementary.</p>
]]></description><pubDate>Tue, 14 May 2024 19:27:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=40359113</link><dc:creator>boolemancer</dc:creator><comments>https://news.ycombinator.com/item?id=40359113</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40359113</guid></item><item><title><![CDATA[New comment by boolemancer in "Tesla is being investigated for securities and wire fraud for self-driving claim"]]></title><description><![CDATA[
<p>When you are charging people extra for the features you're promising will exist in the future, it seems reasonable to call that fraud if you never deliver.</p>
]]></description><pubDate>Wed, 08 May 2024 15:21:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=40299105</link><dc:creator>boolemancer</dc:creator><comments>https://news.ycombinator.com/item?id=40299105</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40299105</guid></item><item><title><![CDATA[New comment by boolemancer in "GitHub: Nintendo Submit DMCA Notices to Yuzu Forks"]]></title><description><![CDATA[
<p>> _and_ charging for early access to an update to make it playable with Yuzu.<p>From my understanding, this part is not true (though it is widely touted).<p>There were third parties that made the necessary fixes to run the game in their own forks, but Yuzu proper did not release any fixes until after the game came out, even in the pre-release versions.</p>
]]></description><pubDate>Thu, 02 May 2024 16:44:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=40238300</link><dc:creator>boolemancer</dc:creator><comments>https://news.ycombinator.com/item?id=40238300</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40238300</guid></item><item><title><![CDATA[New comment by boolemancer in "Why is simple decoration so rare in recent work?"]]></title><description><![CDATA[
<p>I think what they're getting at is that for something low quality is less likely to have survived for a hundred years to even be a contender in this race.</p>
]]></description><pubDate>Wed, 01 May 2024 05:04:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=40219690</link><dc:creator>boolemancer</dc:creator><comments>https://news.ycombinator.com/item?id=40219690</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40219690</guid></item></channel></rss>