<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: black_knight</title><link>https://news.ycombinator.com/user?id=black_knight</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 26 Apr 2026 17:36:19 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=black_knight" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by black_knight in "I shipped a transaction bug, so I built a linter"]]></title><description><![CDATA[
<p>I love how this is done in Software Transactional Memory (STM) in Haskell. There, the transaction code happens in its own type (monad), and there is an explicit conversion function called `atomically :: STM a -> IO a`, which carries out the transaction.<p>This means that the transaction becomes its own block, clearly separated, but which can reference pure values in the surrounding context.<p><pre><code>    do
       …
       some IO stuff 
       …
       res <- atomically $ do
          …
          transaction code
          which can reference
          results from the IO above
          …
       …
       More IO code using res, which is the result of the transaction
       …</code></pre></p>
]]></description><pubDate>Tue, 14 Apr 2026 07:40:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=47762506</link><dc:creator>black_knight</dc:creator><comments>https://news.ycombinator.com/item?id=47762506</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47762506</guid></item><item><title><![CDATA[New comment by black_knight in "The Oxford Comma – Why and Why Not (2024)"]]></title><description><![CDATA[
<p>I like this:<p><pre><code>    x = [ 123
        , 456
        , 789
        ]</code></pre></p>
]]></description><pubDate>Thu, 26 Mar 2026 20:47:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=47535513</link><dc:creator>black_knight</dc:creator><comments>https://news.ycombinator.com/item?id=47535513</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47535513</guid></item><item><title><![CDATA[New comment by black_knight in "ASCII and Unicode quotation marks (2007)"]]></title><description><![CDATA[
<p>Plan 9 also came with a utility command called “unicode” which helps analyse Unicode strings (get code point etc).<p>Elegant weapons of a more civilised age…</p>
]]></description><pubDate>Mon, 16 Mar 2026 13:45:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47398967</link><dc:creator>black_knight</dc:creator><comments>https://news.ycombinator.com/item?id=47398967</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47398967</guid></item><item><title><![CDATA[New comment by black_knight in "ASCII and Unicode quotation marks (2007)"]]></title><description><![CDATA[
<p>This problem was solved by Plan 9 (roughly 1990) where there was a compose key to turn sequences into Unicode characters. Say compose-f-a to get ∀. This was all configurable in /lib/keyboard.<p>On so-called modern X11 or Wayland based systems (Linux or *BSD), there is a similar feature called XCompose. Worse syntax, but still functional.</p>
]]></description><pubDate>Mon, 16 Mar 2026 11:30:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47397637</link><dc:creator>black_knight</dc:creator><comments>https://news.ycombinator.com/item?id=47397637</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47397637</guid></item><item><title><![CDATA[New comment by black_knight in "US- and Greek-owned tankers ablaze after Iran claims 'underwater drone' strike"]]></title><description><![CDATA[
<p>If only they had bought banana bombs!</p>
]]></description><pubDate>Sat, 14 Mar 2026 02:09:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47372593</link><dc:creator>black_knight</dc:creator><comments>https://news.ycombinator.com/item?id=47372593</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47372593</guid></item><item><title><![CDATA[New comment by black_knight in "FreeBSD Capsicum vs. Linux Seccomp Process Sandboxing"]]></title><description><![CDATA[
<p>Answering without reading TFA here. But I am familiar with capsicum.<p>But I am pretty sure you CAN get your capabilities from a patent process using capsicum, since they are just file descriptors.</p>
]]></description><pubDate>Mon, 09 Mar 2026 19:13:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47313953</link><dc:creator>black_knight</dc:creator><comments>https://news.ycombinator.com/item?id=47313953</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47313953</guid></item><item><title><![CDATA[New comment by black_knight in "LibreOffice Writer now supports Markdown"]]></title><description><![CDATA[
<p>I love Pandoc’s markdown. Wrote my PhD thesis in it, and most of my subsequent articles.</p>
]]></description><pubDate>Sun, 08 Mar 2026 22:04:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47302056</link><dc:creator>black_knight</dc:creator><comments>https://news.ycombinator.com/item?id=47302056</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47302056</guid></item><item><title><![CDATA[New comment by black_knight in "10% of Firefox crashes are caused by bitflips"]]></title><description><![CDATA[
<p>Or so efficiently that every bit counts and plays a vital role! Even a single bit off and the thing derails…</p>
]]></description><pubDate>Thu, 05 Mar 2026 23:21:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47268616</link><dc:creator>black_knight</dc:creator><comments>https://news.ycombinator.com/item?id=47268616</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47268616</guid></item><item><title><![CDATA[New comment by black_knight in "U.S. science agency moves to restrict foreign scientists from its labs"]]></title><description><![CDATA[
<p>Well, I would venture that they consider women more as property than people. Which is of course a disgusting way to relate to fellow humans, but dehumanization is all the rage with these people.</p>
]]></description><pubDate>Tue, 03 Mar 2026 07:33:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47229332</link><dc:creator>black_knight</dc:creator><comments>https://news.ycombinator.com/item?id=47229332</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47229332</guid></item><item><title><![CDATA[New comment by black_knight in "Notepad++ supply chain attack breakdown"]]></title><description><![CDATA[
<p>I think we could get a lot further if we implement proper capability based security. Meaning that the authority to perform actions follows the objects around. I think that is how we get powerful tools and freedom, but still address the security issues and actually achieve the principle of least privilege.<p>For FreeBSD there is capsicum, but it seems a bit inflexible to me. Would love to see more experiments on Linux and the BSDs for this.</p>
]]></description><pubDate>Tue, 03 Feb 2026 23:57:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=46879267</link><dc:creator>black_knight</dc:creator><comments>https://news.ycombinator.com/item?id=46879267</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46879267</guid></item><item><title><![CDATA[New comment by black_knight in "I program without syntax highlighting"]]></title><description><![CDATA[
<p>I think we should have more semantic highlighting. Like giving every variable a unique color. Or color them by type!</p>
]]></description><pubDate>Thu, 08 Jan 2026 17:09:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46543505</link><dc:creator>black_knight</dc:creator><comments>https://news.ycombinator.com/item?id=46543505</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46543505</guid></item><item><title><![CDATA[New comment by black_knight in "Sergey Brin's Unretirement"]]></title><description><![CDATA[
<p>Why though?<p>And when does this start being for everyone? We have had agricultural machines for ages, but I still have to pay an ever increasing part of my salary (and hence time here on earth) not to starve.</p>
]]></description><pubDate>Wed, 07 Jan 2026 13:27:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46526127</link><dc:creator>black_knight</dc:creator><comments>https://news.ycombinator.com/item?id=46526127</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46526127</guid></item><item><title><![CDATA[New comment by black_knight in "Sergey Brin's Unretirement"]]></title><description><![CDATA[
<p>I am not saying we should be defeatist! I making the argument that it does not, and morally should not, have to be so that we all have to toil when we have such a wealth of technology.<p>How we go about changing this, I do not know, but everyone just playing along nicely in hope of one day being the one who strikes gold seems not to be working!<p>“Life isn’t fair, suck it up and get good!” is another form of suppression/delusion. Well, if life isn’t it fair, let us at least try to counteract that with cooperation. It seems to me that we have all the tools and technologies we need to make it a lot better.</p>
]]></description><pubDate>Wed, 07 Jan 2026 09:43:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46524423</link><dc:creator>black_knight</dc:creator><comments>https://news.ycombinator.com/item?id=46524423</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46524423</guid></item><item><title><![CDATA[New comment by black_knight in "Sergey Brin's Unretirement"]]></title><description><![CDATA[
<p>Dreams and hopes are powerful weapons of suppression. Everyone is a millionaire just down on their luck at the moment…<p>In our advanced society, with incredible automation, we should _all_ have vastly more freedom and control over our time.</p>
]]></description><pubDate>Wed, 07 Jan 2026 09:22:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=46524289</link><dc:creator>black_knight</dc:creator><comments>https://news.ycombinator.com/item?id=46524289</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46524289</guid></item><item><title><![CDATA[New comment by black_knight in "Spherical Snake"]]></title><description><![CDATA[
<p>The original was toroidal!</p>
]]></description><pubDate>Tue, 06 Jan 2026 20:32:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=46518240</link><dc:creator>black_knight</dc:creator><comments>https://news.ycombinator.com/item?id=46518240</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46518240</guid></item><item><title><![CDATA[New comment by black_knight in "Tell HN: Merry Christmas"]]></title><description><![CDATA[
<p>Meri Yule!</p>
]]></description><pubDate>Wed, 24 Dec 2025 23:43:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=46380545</link><dc:creator>black_knight</dc:creator><comments>https://news.ycombinator.com/item?id=46380545</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46380545</guid></item><item><title><![CDATA[New comment by black_knight in "Mathematicians don't care about foundations (2022)"]]></title><description><![CDATA[
<p>We are not talking about having to return to foundational axioms in every argument! Just that what axioms one chooses has an impact on which arguments are valid, and thus in turn what truths there are.</p>
]]></description><pubDate>Sat, 20 Dec 2025 23:27:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=46340681</link><dc:creator>black_knight</dc:creator><comments>https://news.ycombinator.com/item?id=46340681</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46340681</guid></item><item><title><![CDATA[New comment by black_knight in "Mathematicians don't care about foundations (2022)"]]></title><description><![CDATA[
<p>Having a PhD in mathematics myself, I have been surrounded by such and had this discussion a few times. Some even like the ideas suggested!<p>I would say the most common counter argument is cultural: Classical mathematics is the norm in the field, hence one must use it to participate in research in this field.<p>But that seems to me a rather intellectually unsatisfying argument, if one cares about the meaning of the work.</p>
]]></description><pubDate>Sat, 20 Dec 2025 23:25:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=46340666</link><dc:creator>black_knight</dc:creator><comments>https://news.ycombinator.com/item?id=46340666</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46340666</guid></item><item><title><![CDATA[New comment by black_knight in "Mathematicians don't care about foundations (2022)"]]></title><description><![CDATA[
<p>At which point we would have an interesting debate! I could tell them all about how this foundation will give them a more nuanced view on continuity!</p>
]]></description><pubDate>Sat, 20 Dec 2025 22:52:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46340423</link><dc:creator>black_knight</dc:creator><comments>https://news.ycombinator.com/item?id=46340423</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46340423</guid></item><item><title><![CDATA[New comment by black_knight in "Mathematicians don't care about foundations (2022)"]]></title><description><![CDATA[
<p>Simply assuming the negation of AC is boring, as negations often are. But there are stronger statements, implying the negation of AC which might be as useful. I think for instance one could assume all subsets of the plane to be measurable. Seems convenient to me.<p>Same with law of the excluded middle. Tossing it out we can assume all functions are computable and all total functions in the real are continuous. Seems nice and convenient too!</p>
]]></description><pubDate>Sat, 20 Dec 2025 22:50:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=46340397</link><dc:creator>black_knight</dc:creator><comments>https://news.ycombinator.com/item?id=46340397</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46340397</guid></item></channel></rss>