<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: BlackFly</title><link>https://news.ycombinator.com/user?id=BlackFly</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 18 Apr 2026 12:13:56 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=BlackFly" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by BlackFly in "Dependency cooldowns turn you into a free-rider"]]></title><description><![CDATA[
<p>I think what you actually want is audit sharing as the cooldown period. No audit shared with the community yet? The package is still in cooldown. Or you can risk it and run unaudited dependencies or audit it yourself and potentially share that.<p>It seems to me that many organizations are relying on other companies to do their auditing in any case, why not just admit that and explicitly rely on that? Choose who you trust, accept their audits. Organizations can perform or even outsource their own auditing and publish that.<p><a href="https://mozilla.github.io/cargo-vet/" rel="nofollow">https://mozilla.github.io/cargo-vet/</a></p>
]]></description><pubDate>Wed, 15 Apr 2026 06:27:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47775411</link><dc:creator>BlackFly</dc:creator><comments>https://news.ycombinator.com/item?id=47775411</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47775411</guid></item><item><title><![CDATA[New comment by BlackFly in "Do Not Turn Child Protection into Internet Access Control"]]></title><description><![CDATA[
<p>The California law is the closest thing to what we do in the physical world but better. We already decided as a society to limit the purchase of pornography, gambling, alcohol, tobacco, prostitution, drugs, via age gates and require the merchant to be liable for that. We already find this reasonable as a society. The California law recognizes the tracking problems of requiring a verifiable id online and instead recognizes that parental self-assertion at the point of account creation is enough.<p>Since tracking children is generally illegal, you can also voluntarily lie and label yourself as a child when you don't want to access such content.</p>
]]></description><pubDate>Sun, 22 Mar 2026 06:25:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47474980</link><dc:creator>BlackFly</dc:creator><comments>https://news.ycombinator.com/item?id=47474980</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47474980</guid></item><item><title><![CDATA[New comment by BlackFly in "Do Not Turn Child Protection into Internet Access Control"]]></title><description><![CDATA[
<p>An account level flag in a user account on an operating system is the opposite of verified identification. It is self assertion by the owner of the computer: the parent. If such a control works in the same way as enterprise supervision the child won't be able to install a vpn, or other software to bypass the control.</p>
]]></description><pubDate>Sun, 22 Mar 2026 06:15:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47474934</link><dc:creator>BlackFly</dc:creator><comments>https://news.ycombinator.com/item?id=47474934</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47474934</guid></item><item><title><![CDATA[New comment by BlackFly in "Redox OS has adopted a Certificate of Origin policy and a strict no-LLM policy"]]></title><description><![CDATA[
<p>Well, unenforceable isn't a synonym for undetectable or awkward. Their policy indicates that they are aware of this difficulty: if you admit to using AI then they close your pull request, if you do not admit to using AI but evidence later surfaces that you did then they ban you. They can enforce this.<p>The hope here is the same hope as most laws: that lies eventually catch up to people. That truth comes to light. But sure, in the meanwhile, there are always dishonest people around trying to flout rules to varying degrees of success. Some are caught right away, some live their entire lives without it catching up to them. That doesn't make the rule unenforceable, that just highlights the limits of rules: it requires evidence that can be hard to come by.</p>
]]></description><pubDate>Sun, 15 Mar 2026 09:05:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47385571</link><dc:creator>BlackFly</dc:creator><comments>https://news.ycombinator.com/item?id=47385571</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47385571</guid></item><item><title><![CDATA[New comment by BlackFly in "Redox OS has adopted a Certificate of Origin policy and a strict no-LLM policy"]]></title><description><![CDATA[
<p>Yes, what happens when the murder looks like a heart attack? This isn't hypothetical, some assassinations occur like this. That doesn't make murder laws unenforceable.<p>Lots of people try to get away with perfect crimes and sometimes do. That doesn't make the rule unenforceable, it just highlights the limits of human knowledge in the face of a dishonest person. Hence the escalations for trying to destroy evidence of crimes or in this case to work around the AI policy. Here, instead of just closing your PR, they ban you if you try to hide it.</p>
]]></description><pubDate>Sun, 15 Mar 2026 08:59:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=47385536</link><dc:creator>BlackFly</dc:creator><comments>https://news.ycombinator.com/item?id=47385536</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47385536</guid></item><item><title><![CDATA[New comment by BlackFly in "AI should not replace people at Atlassian, says CEO"]]></title><description><![CDATA[
<p>Firefox reader mode worked for me, but I agree it was terrible.</p>
]]></description><pubDate>Thu, 12 Mar 2026 17:24:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47354248</link><dc:creator>BlackFly</dc:creator><comments>https://news.ycombinator.com/item?id=47354248</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47354248</guid></item><item><title><![CDATA[New comment by BlackFly in "Redox OS has adopted a Certificate of Origin policy and a strict no-LLM policy"]]></title><description><![CDATA[
<p>It is enforceable, I think you mean to say that it cannot be prevented since people can attempt to hide their usage? Most rules and laws are like that, you proscribe some behavior but that doesn't prevent people from doing it. Therefore you typically need to also define punishments:<p>> This policy is not open to discussion, any content submitted that is clearly labelled as LLM-generated (including issues, merge requests, and merge request descriptions) will be immediately closed, and any attempt to bypass this policy will result in a ban from the project.</p>
]]></description><pubDate>Tue, 10 Mar 2026 09:24:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47320870</link><dc:creator>BlackFly</dc:creator><comments>https://news.ycombinator.com/item?id=47320870</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47320870</guid></item><item><title><![CDATA[New comment by BlackFly in "US Court of Appeals: TOS may be updated by email, use can imply consent [pdf]"]]></title><description><![CDATA[
<p>My personal preference is for laws that promote reasonable limits on "Standard terms and conditions" and then recognizing that nobody reads them and making them applicable regardless of whether people read them or not. Then companies can stop pretending like people are reading the standard terms and unfair terms are just unenforceable. This does require that your civil law defines what unfair terms look like (generally that they are too one sided in favor of the contractor or are surprising given the service provided).<p>Obviously, this doesn't exist in the USA but does exist in (for example) the Netherlands. I would recommend lobbying in your country for such laws since in practice the vast majority of contracts like these that people face aren't actually negotiated nor negotiable.</p>
]]></description><pubDate>Mon, 09 Mar 2026 08:06:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=47306073</link><dc:creator>BlackFly</dc:creator><comments>https://news.ycombinator.com/item?id=47306073</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47306073</guid></item><item><title><![CDATA[New comment by BlackFly in "Don't create .gitkeep files, use .gitignore instead (2023)"]]></title><description><![CDATA[
<p>The point of that line is to robustly survive a rename of the directory which won't be automatically tracked without that line. You have to read between the lines to see this: they complain about this problem with .gitkeep files.</p>
]]></description><pubDate>Sat, 21 Feb 2026 06:46:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47098136</link><dc:creator>BlackFly</dc:creator><comments>https://news.ycombinator.com/item?id=47098136</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47098136</guid></item><item><title><![CDATA[New comment by BlackFly in "X offices raided in France as UK opens fresh investigation into Grok"]]></title><description><![CDATA[
<p>I really find this kind of appeal quite odious. God forbid that we expect fathers to have empathy for their sons, sisters, brothers, spouses, mothers, fathers, uncles, aunts, etc. or dare we hope that they might have empathy for friends or even strangers? It's like an appeal to hypocrisy or something. Sure, I know such  people exist but it feels like throwing so many people under the bus just to (probably fail) to convince someone of something by appealing to an emotional overprotectiveness of fathers to daughters.<p>You should want to protect all of the people in your life from such a thing or nobody.</p>
]]></description><pubDate>Wed, 04 Feb 2026 10:19:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=46883974</link><dc:creator>BlackFly</dc:creator><comments>https://news.ycombinator.com/item?id=46883974</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46883974</guid></item><item><title><![CDATA[New comment by BlackFly in "There is an AI code review bubble"]]></title><description><![CDATA[
<p>For it to be evidence, you would need to know the number of Greptile comments made and how many of those comments were instead considered to be poor. You need to contrast false positive rate with true positive rate to simply plot a single point along a classifier curve. You would then need to contrast that with a control group of experts or a static linter which means you would need to modify the "conservativeness" of the classifier to produce multiple points along its ROC curve, then you could compare whether the classifier is better or worse than your control by comparing the ROC curves.<p>Sample number of true positives says more or less nothing on its own.</p>
]]></description><pubDate>Tue, 27 Jan 2026 13:27:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=46779654</link><dc:creator>BlackFly</dc:creator><comments>https://news.ycombinator.com/item?id=46779654</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46779654</guid></item><item><title><![CDATA[New comment by BlackFly in "Like digging 'your own grave': The translators grappling with losing work to AI"]]></title><description><![CDATA[
<p>For such a literal case, automatic translations generally suffice. The real translator touch comes about when their is some nuance to the language.<p>Was that a double entendre or not? If not, you might make a literal translation to get the meaning across. If so, then a literal translation will not get the message across. Vice versa, if it was not a double entendre but you translate it as one, you may confuse the message and if it was and you translate it as such, then the human connection can be maintained.<p>That is also the tricky bit where you cross from being proficient in the language (say B1-B2) to fluent (C1-C2), you start knowing these double meanings and nuance and can pick up on them. You can also pick up on them when they weren't intended and make a rejoinder (that may flop or land depending on your own skill).<p>If you are constantly translating with a machine, you won't really learn the language. You have to step away at some point. AI translations present that in full: a translated text with a removed voice; the voice of AI is all of us and that sounds like none of us.</p>
]]></description><pubDate>Sun, 25 Jan 2026 09:17:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=46752222</link><dc:creator>BlackFly</dc:creator><comments>https://news.ycombinator.com/item?id=46752222</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46752222</guid></item><item><title><![CDATA[New comment by BlackFly in "Understanding Rust Closures"]]></title><description><![CDATA[
<p>The biggest friction I experience with respect to rust closures is their inability to be generic: I cannot implement a method that takes a closure generic over its argument(s).<p>So then I'm forced to define a trait for the function, define a struct (the closure) to store the references I want to close over, choose the mutability and lifetimes, instantiate it manually and pass that. Then the implementation of the method (that may only be a few lines) is not located inline so readability may suffer.</p>
]]></description><pubDate>Sun, 25 Jan 2026 09:00:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=46752124</link><dc:creator>BlackFly</dc:creator><comments>https://news.ycombinator.com/item?id=46752124</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46752124</guid></item><item><title><![CDATA[New comment by BlackFly in "European Alternatives"]]></title><description><![CDATA[
<p>It merged with Mastercard almost two decades back: <a href="https://en.wikipedia.org/wiki/Eurocard_%28credit_card%29" rel="nofollow">https://en.wikipedia.org/wiki/Eurocard_%28credit_card%29</a></p>
]]></description><pubDate>Fri, 23 Jan 2026 22:31:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=46738886</link><dc:creator>BlackFly</dc:creator><comments>https://news.ycombinator.com/item?id=46738886</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46738886</guid></item><item><title><![CDATA[New comment by BlackFly in "Your brain on ChatGPT: Accumulation of cognitive debt when using an AI assistant"]]></title><description><![CDATA[
<p>If you realize that what we remember are the extremized strawman versions of the complaints then you can realize that they were not wrong.<p>Writing did eliminate the need for memorization. How many people could quote a poem today? When oral history was predominant, it was necessary in each tribe for someone to learn the stories. We have much less of that today. Writing preserves accuracy much more (up to conquerors burning down libraries, whereas it would have taken genocide before), but to hear a person stand up and quote Desiderata from memory is a touching experience to the human condition.<p>Scribes took over that act of memorization. Copying something lends itself to memorization. If you have ever volunteered extensively for project Gutenberg you can also witness a similar experience: reading for typos solidifies the story into your mind in a way that casual writing doesn't. In losing scribes we lost prioritization of texts and this class of person with intimate knowledge of important historical works. With the addition of copyright we have even lost some texts. We gained the higher availability of works and lower marginal costs. The lower marginal costs led to...<p>Pulp fiction. I think very few people (but I would be disappointed if it was no one) would argue that Dan Brown's da Vinci Code is on the same level as War and Peace. From here magazines were created, even cheaper paper, rags some would call them (or use that to refer to tabloids). Of course this also enabled newspapers to flourish. People started to read things for entertainment, text lost its solemnity. The importance of written word diminished on average as the words being printed became more banal.<p>TV and the internet led to the destruction of printed news, and so on. This is already a wall of text so I won't continue, but you can see how it goes:<p>Technology is a double edged sword, we may gain something but we also can and did lose some things. Whether it was progress or not is generally a normative question that often a majority agrees with in one sense or another but there are generational differences in those norms.<p>In the same way that overuse of a calculator leads to atrophy of arithmetic skills, overuse of a car leads to atrophy of walking muscles, why wouldn't overuse of a tool to write essays for you lead to atrophy of your ability to write an essay? The real reason to doubt the study is because its conclusion seems so obvious that it may be too easy for some to believe and hide poor statistical power or p-hacking.</p>
]]></description><pubDate>Thu, 22 Jan 2026 10:28:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46717430</link><dc:creator>BlackFly</dc:creator><comments>https://news.ycombinator.com/item?id=46717430</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46717430</guid></item><item><title><![CDATA[New comment by BlackFly in "Waiting for dawn in search: Search index, Google rulings and impact on Kagi"]]></title><description><![CDATA[
<p>In addition to what others are telling you, Kagi also allows you to<p>- filter out results from specific websites that you can choose,
- show more results from specific websites that you can choose,
- show fewer results from specific websites that you can choose,<p>and so forth. When you find your results becoming contaminated by some new slop farm, you can just eliminate them from your results. Google could also do that, but their business model seems to rely more on showing slop results with their ads in those third party pages.<p>Just like mobile phone providers, third parties can provide lots of value add by reselling infrastructure. Business models can be different, feature sets can differ. This is not a delusion but the reality of reselling.</p>
]]></description><pubDate>Thu, 22 Jan 2026 08:18:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=46716538</link><dc:creator>BlackFly</dc:creator><comments>https://news.ycombinator.com/item?id=46716538</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46716538</guid></item><item><title><![CDATA[New comment by BlackFly in "Finding Matrices that you can multiply wrong, right"]]></title><description><![CDATA[
<p>That reminds me of all the bad tests of numerical algorithms you can write if you use numbers like 0, 1, 2 as test inputs because:<p>- 0 * x = 0 so you don't necessarily test the correct computation of x,<p>- 1 * x = x so you don't necessarily test if you actually use the input 1,<p>- 2 * 2 = 2^2 = 2 + 2 so you can get some pretty weird masking.</p>
]]></description><pubDate>Wed, 21 Jan 2026 15:22:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=46706934</link><dc:creator>BlackFly</dc:creator><comments>https://news.ycombinator.com/item?id=46706934</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46706934</guid></item><item><title><![CDATA[New comment by BlackFly in "Are arrays functions?"]]></title><description><![CDATA[
<p>Yeah, in languages with effects (exceptions/panics). That is a bit more than a partial function though.</p>
]]></description><pubDate>Wed, 21 Jan 2026 14:58:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=46706591</link><dc:creator>BlackFly</dc:creator><comments>https://news.ycombinator.com/item?id=46706591</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46706591</guid></item><item><title><![CDATA[New comment by BlackFly in "Are arrays functions?"]]></title><description><![CDATA[
<p>Yes, as I said, you must use bounds checking or dependent types or effects or monad returns.<p>Arrays are the effect choice in most languages. The signature as a function becomes a gnarly continuation passing if you insist on the equivalence and so most people just tend to think of it imperatively.</p>
]]></description><pubDate>Wed, 21 Jan 2026 14:55:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=46706547</link><dc:creator>BlackFly</dc:creator><comments>https://news.ycombinator.com/item?id=46706547</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46706547</guid></item><item><title><![CDATA[New comment by BlackFly in "Are arrays functions?"]]></title><description><![CDATA[
<p>Arrays are syntactic sugar over something that resembles a function, sure.<p>Real signature of an array <i>implementation</i> would be something like V: [0, N] -> T, but that implies you need to statically prove that each index i for V[i] is less than N. So your code would be littered with such guards for dynamic indexing. Also, N itself will be dynamic, so you need some (at least limited) dependent typing on top of this.<p>So you don't want these things in your language so you just accept the domain as some integer type, so now you don't really have V: ℕ -> T, since for i > N there is no value.  You could choose V: ℕ -> Maybe<T> and have even cases where i is provably less than N to be littered with guards, so this cure is worse than the disease. Same if you choose V: ℕ -> Result<T, IndexOutOfBounds>. So instead you panic or throw, now you have an effect which isn't really modeled well as a function (until we start calling the code after it a continuation and modify the signature, and...).<p>So it looks like a function if you squint or are overly formal with guards or effects, but the arrays of most languages aren't that.<p>>  for one of the best ways to improve a language is to make it smaller.<p>I think this isn't one of those cases.</p>
]]></description><pubDate>Wed, 21 Jan 2026 09:13:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=46703041</link><dc:creator>BlackFly</dc:creator><comments>https://news.ycombinator.com/item?id=46703041</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46703041</guid></item></channel></rss>