<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: kccqzy</title><link>https://news.ycombinator.com/user?id=kccqzy</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 12 Apr 2026 15:02:51 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=kccqzy" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by kccqzy in "How Complex is my Code?"]]></title><description><![CDATA[
<p>Build tools that enforce hermeticity (cannot depend on files not declared as a dependency) and hashes files (as opposed to using timestamps). This eliminates whole classes of complaints against make.</p>
]]></description><pubDate>Sun, 12 Apr 2026 11:06:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47738319</link><dc:creator>kccqzy</dc:creator><comments>https://news.ycombinator.com/item?id=47738319</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47738319</guid></item><item><title><![CDATA[New comment by kccqzy in "What is a property?"]]></title><description><![CDATA[
<p>Since we are talking about Haskell, its type system can be explored to answer the question of what is considered a Property by the quickcheck library.<p>The Property type is a datatype for which the definition is private. So we look at functions that creates Property objects. We find<p><pre><code>    class Testable prop where
      property :: prop -> Property
</code></pre>
This means anything of the class Testable can be turned into a Property. So let's look at what are the instances of this class. We immediately find<p><pre><code>    instance Testable Bool
</code></pre>
This means any boolean can be turned into a Property. But more interestingly we find<p><pre><code>    instance (Arbitrary a, Show a, Testable prop) => Testable (a -> prop) 
</code></pre>
This means any function where the argument has a generator and the result can be turned into a Property can itself be turned into a Property. This implies that for example a function of `Int -> Bool` can be turned into a property. And due to currying, `Int -> Int -> Bool` can also be turned into a property.<p>This basically covers the first half of the article.<p>We continue to find other functions that returns Property objects. We find<p><pre><code>    forAll :: (Show a, Testable prop) => Gen a -> (a -> prop) -> Property
</code></pre>
This states that if we have a function where we explicitly provide a generator and it returns anything that can be turned into a Property, it can also be turned into a Property. This is different from the instance above only by providing an explicit generator.<p>We also find the implication operator:<p><pre><code>    (==>) :: Testable prop => Bool -> prop -> Property 
</code></pre>
This states that if we have a Bool, and anything that can be turned into a property, we also have a property.<p>You see, the beauty of Haskell and similar languages is that you don't need to first gain an intuitive understanding of those vocabularies of a library. The library designer has built up an abstraction of those vocabularies and Nouns and the compiler is tasked to enforce it. You can get things wrong, and the compiler just yells at you. Or you can just mechanically find things to fill in the blanks ("hole-driven development") without understanding the vocabularies. It's your choice.</p>
]]></description><pubDate>Sun, 12 Apr 2026 01:26:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47735409</link><dc:creator>kccqzy</dc:creator><comments>https://news.ycombinator.com/item?id=47735409</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47735409</guid></item><item><title><![CDATA[New comment by kccqzy in "You can't trust macOS Privacy and Security settings"]]></title><description><![CDATA[
<p>The security-scoped bookmark is exactly why a user should treat all macOS file access permission prompts as permanent. There is also no UI to show to a user whether an app has created a security-scoped bookmark.<p>And this is for sandboxed apps. You correctly point out that non-sandboxed apps have even more access. So a user’s mental model should be that all open dialogs grant permanent access.</p>
]]></description><pubDate>Fri, 10 Apr 2026 19:59:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=47722929</link><dc:creator>kccqzy</dc:creator><comments>https://news.ycombinator.com/item?id=47722929</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47722929</guid></item><item><title><![CDATA[New comment by kccqzy in "You can't trust macOS Privacy and Security settings"]]></title><description><![CDATA[
<p>It’s working properly in the sense that the Apple-provided file picker UI is designed to give permanent file permission access to an app. But the user thinks that access is temporary. It’s a mismatch between the user’s mental model and what’s actually happening.</p>
]]></description><pubDate>Fri, 10 Apr 2026 18:52:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47722125</link><dc:creator>kccqzy</dc:creator><comments>https://news.ycombinator.com/item?id=47722125</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47722125</guid></item><item><title><![CDATA[New comment by kccqzy in "You can't trust macOS Privacy and Security settings"]]></title><description><![CDATA[
<p>It is poorly written. I have suspicion that the author is talking about the persistent file permission mechanism known as Security-Scoped Bookmarks, but the article makes it hard to understand what exactly is being discussed. It reads like a raw bug report without any analysis done.<p>And specifically they could show some code snippet to reveal what exactly the Insent app was doing. Was it calling startAccessingSecurityScopedResource of the NSURL class?</p>
]]></description><pubDate>Fri, 10 Apr 2026 18:47:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47722084</link><dc:creator>kccqzy</dc:creator><comments>https://news.ycombinator.com/item?id=47722084</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47722084</guid></item><item><title><![CDATA[New comment by kccqzy in "FBI used iPhone notification data to retrieve deleted Signal messages"]]></title><description><![CDATA[
<p>No. They recommended disabling it at the app level. Only the Signal app can control whether the message contents are included in the notifications.</p>
]]></description><pubDate>Fri, 10 Apr 2026 14:02:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47718331</link><dc:creator>kccqzy</dc:creator><comments>https://news.ycombinator.com/item?id=47718331</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47718331</guid></item><item><title><![CDATA[New comment by kccqzy in "Microsoft is employing dark patterns to goad users into paying for storage?"]]></title><description><![CDATA[
<p>The Apple backup strategy is purposefully broken. I’m already paying for 50GB of iCloud and it often claims that it cannot backup my iPhone despite having multiple gigabytes free. It turns that that during the backup process it operates on a file level, so if you happen to have a large file it will require both copies of the file to fit within your storage limit before the backup can complete. And guess what, several third party apps I use store all their data in a single multi-gigabyte SQLite database that’s written to every day.<p>As for cached and downloadable data, I have long ago turned off backups for many apps where the data is stored on a server anyways. Backing up these apps never makes any sense.</p>
]]></description><pubDate>Thu, 09 Apr 2026 22:50:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47711303</link><dc:creator>kccqzy</dc:creator><comments>https://news.ycombinator.com/item?id=47711303</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47711303</guid></item><item><title><![CDATA[New comment by kccqzy in "Škoda DuoBell: A bicycle bell that penetrates noise-cancelling headphones"]]></title><description><![CDATA[
<p>As a pedestrian I slapped a panel of a slow car that failed to yield to me at a crossing. The driver glared at me and looked ready to reverse into me. I never slapped any panel any more.</p>
]]></description><pubDate>Thu, 09 Apr 2026 00:24:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47697862</link><dc:creator>kccqzy</dc:creator><comments>https://news.ycombinator.com/item?id=47697862</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47697862</guid></item><item><title><![CDATA[New comment by kccqzy in "Claude Code Down"]]></title><description><![CDATA[
<p>> I've yet to find a model with those properties<p>You can just look at examples like Knuth Claude’s cycles that solved the problem. I have no doubt that if Claude didn’t exist perhaps Knuth would come up with a solution anyways, but given a limited amount of time/patience Claude came up with a solution while Knuth did not. That’s what I meant here.<p>Similarly the problems I give to Claude are also in that category where I myself did not come up with a solution within a set amount of time, and instead of keep working on it manually I decided to give them to Claude.</p>
]]></description><pubDate>Wed, 08 Apr 2026 15:10:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47691317</link><dc:creator>kccqzy</dc:creator><comments>https://news.ycombinator.com/item?id=47691317</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47691317</guid></item><item><title><![CDATA[New comment by kccqzy in "France pulls last gold held in US"]]></title><description><![CDATA[
<p>Economic growth comes from spending. Households must be incentivized to spend either through inflation or low interest rates.<p>Buying stocks hoping that it would appreciate doesn’t work when there is no economic growth. So we are back to square one.<p>And for hundreds of years we didn’t have the same kind of international trade, or the same financial markets. One must wonder whether a new kind of currency must accompany a new era of economy and trade.<p>Currency losing almost all its value is by design. Modern economists target a 2% inflation rate. This means currency is supposed to lose value. It’s another mechanism to encourage spending to increase economic growth.</p>
]]></description><pubDate>Tue, 07 Apr 2026 16:47:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47678093</link><dc:creator>kccqzy</dc:creator><comments>https://news.ycombinator.com/item?id=47678093</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47678093</guid></item><item><title><![CDATA[New comment by kccqzy in "Has electricity decoupled from natural gas prices in Germany?"]]></title><description><![CDATA[
<p>Although nuclear energy produces no carbon emissions, it is simply not price competitive with solar and wind in the western world. A culture of safety above all else made nuclear not price competitive. And it would be political suicide for regulators to relax safety given how accidents like Chernobyl or Three Mile Island are etched into the public mind.</p>
]]></description><pubDate>Tue, 07 Apr 2026 14:46:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47676271</link><dc:creator>kccqzy</dc:creator><comments>https://news.ycombinator.com/item?id=47676271</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47676271</guid></item><item><title><![CDATA[New comment by kccqzy in "Running out of disk space in production"]]></title><description><![CDATA[
<p>Even if your authorization is so sophisticated that nginx cannot do it, a common pattern I’ve seen is to support a special HTTP response header for the reverse proxy to read directly from disk after your custom authorization code completes. This trick dates back to at least 2010. The nginx version of this seemed to be called X-Accel-Redirect from a quick search.</p>
]]></description><pubDate>Tue, 07 Apr 2026 14:34:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=47676051</link><dc:creator>kccqzy</dc:creator><comments>https://news.ycombinator.com/item?id=47676051</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47676051</guid></item><item><title><![CDATA[New comment by kccqzy in "Running out of disk space in production"]]></title><description><![CDATA[
<p>Well btrfs supports compression so that’s understandable. However I personally prefer to control compression manually so it only compresses files marked by me for compression using chattr(1).</p>
]]></description><pubDate>Tue, 07 Apr 2026 14:27:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=47675935</link><dc:creator>kccqzy</dc:creator><comments>https://news.ycombinator.com/item?id=47675935</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47675935</guid></item><item><title><![CDATA[New comment by kccqzy in "France pulls last gold held in US"]]></title><description><![CDATA[
<p>Mild inflation is a good thing, at least according to modern economists. In a deflationary environment, money is worth more when you don’t spend them. And when people don’t spend them, there’s no economic growth. It’s just like having very high interest rates but the central bank cannot act to lower them.</p>
]]></description><pubDate>Tue, 07 Apr 2026 14:11:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=47675683</link><dc:creator>kccqzy</dc:creator><comments>https://news.ycombinator.com/item?id=47675683</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47675683</guid></item><item><title><![CDATA[New comment by kccqzy in "Claude Code Down"]]></title><description><![CDATA[
<p>> how you're able to determine if the solution was correct<p>I had hundreds of unit tests that did not trigger an assertion I added for idempotency. Claude wrote one that triggered an assertion failure. Simple as that. A counterexample suffices.</p>
]]></description><pubDate>Mon, 06 Apr 2026 17:30:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47664074</link><dc:creator>kccqzy</dc:creator><comments>https://news.ycombinator.com/item?id=47664074</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47664074</guid></item><item><title><![CDATA[New comment by kccqzy in "Claude Code Down"]]></title><description><![CDATA[
<p>But do you actually treat LLMs as glorified autocomplete or treat them as puzzle solvers where you give them difficult tasks beyond your own intellect?<p>Recently I wrote a data transformation pipeline and I added a note that the whole pipeline should be idempotent. I asked Claude to prove it or find a counterexample. It found one after 25 minutes of thinking; I reasonably estimate that it would take me far longer, perhaps one whole day. I couldn’t care less about using Claude to type code I already knew.</p>
]]></description><pubDate>Mon, 06 Apr 2026 15:57:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47662614</link><dc:creator>kccqzy</dc:creator><comments>https://news.ycombinator.com/item?id=47662614</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47662614</guid></item><item><title><![CDATA[New comment by kccqzy in "France pulls last gold held in US"]]></title><description><![CDATA[
<p>You seem to imply that Charles de Gaulle and his policy of converting dollars to gold caused the collapse of the Bretton Woods system. That was a myopic view. The whole Bretton Woods system was doomed from the beginning due to design defects.<p>The system was conceived with the primary goal of maintaining balance of payments equilibrium for all countries at the expense of economic growth and liquidity. It had become clear that if a country wanted its currency to be the world reserve currency it had to run a balance of payment deficit. And the United States clearly wanted its dollar to be the reserve currency unbridled by any balance of payment constraints.<p>If the United States had balance of payment surpluses as it had in the early years, the system lost liquidity (other countries wanted to buy U.S. exports but had neither gold nor dollars to do so), reducing the surplus. And if the United States had balance of payment deficits, well, gold would flow out of the United States, and the United States could not meaningfully increase public debt or spending.</p>
]]></description><pubDate>Mon, 06 Apr 2026 15:04:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47661871</link><dc:creator>kccqzy</dc:creator><comments>https://news.ycombinator.com/item?id=47661871</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47661871</guid></item><item><title><![CDATA[New comment by kccqzy in "France pulls last gold held in US"]]></title><description><![CDATA[
<p>It’s exactly the opposite. Last time France was trying to exchange USD to gold. This time France was selling gold presumably exchanging gold to USD in New York.</p>
]]></description><pubDate>Mon, 06 Apr 2026 14:26:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47661357</link><dc:creator>kccqzy</dc:creator><comments>https://news.ycombinator.com/item?id=47661357</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47661357</guid></item><item><title><![CDATA[New comment by kccqzy in "A brief history of instant coffee"]]></title><description><![CDATA[
<p>Indeed. I have a Nespresso machine for when I need coffee quickly. As soon as I press the button, hot water flows in a trickle. It’s certainly not boiling but it’s an ideal temperature as a hot drink.</p>
]]></description><pubDate>Mon, 06 Apr 2026 01:06:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47655710</link><dc:creator>kccqzy</dc:creator><comments>https://news.ycombinator.com/item?id=47655710</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47655710</guid></item><item><title><![CDATA[New comment by kccqzy in "A brief history of instant coffee"]]></title><description><![CDATA[
<p>USB-C PD has far lower wattage than the wall outlet anywhere in the world. Now I want someone to build a kettle that accepts a J1772 connection (for charging electric vehicles). That’s nowadays more common than any 240V NEMA outlets.</p>
]]></description><pubDate>Mon, 06 Apr 2026 01:02:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=47655689</link><dc:creator>kccqzy</dc:creator><comments>https://news.ycombinator.com/item?id=47655689</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47655689</guid></item></channel></rss>