<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: kragen</title><link>https://news.ycombinator.com/user?id=kragen</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 14 Apr 2026 10:28:05 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=kragen" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by kragen in "Jonathan Blow has spent the past decade designing 1,400 puzzles"]]></title><description><![CDATA[
<p>Maybe not for everybody, but I recall hearing that certain military units, students, and government officials were required to get covid vaccinations already in '20.  Maybe he heard the same thing?</p>
]]></description><pubDate>Fri, 19 Dec 2025 17:51:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=46328720</link><dc:creator>kragen</dc:creator><comments>https://news.ycombinator.com/item?id=46328720</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46328720</guid></item><item><title><![CDATA[New comment by kragen in "After ruining a treasured water resource, Iran is drying up"]]></title><description><![CDATA[
<p>I have the same problem in Argentina.  Worse, I'm pretty sure that Google and other search engines decide that I don't deserve to receive good information because I live in a Spanish-speaking country, so they send me to terrible low-quality pages because often that's all that's available in Spanish.</p>
]]></description><pubDate>Fri, 19 Dec 2025 02:12:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=46321552</link><dc:creator>kragen</dc:creator><comments>https://news.ycombinator.com/item?id=46321552</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46321552</guid></item><item><title><![CDATA[New comment by kragen in "Interactive Fluid Typography"]]></title><description><![CDATA[
<p>I don't have any trouble zooming in and out on this website.</p>
]]></description><pubDate>Thu, 18 Dec 2025 23:28:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=46320280</link><dc:creator>kragen</dc:creator><comments>https://news.ycombinator.com/item?id=46320280</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46320280</guid></item><item><title><![CDATA[New comment by kragen in "Jonathan Blow has spent the past decade designing 1,400 puzzles"]]></title><description><![CDATA[
<p>The tweet immediately before this one says:<p>> <i>There's a weird disconnect in this vaccine mandate debate: many are still pretending that Covid-19 is of natural origin, which gives such mandates a different feel than they otherwise have.</i><p>Contrary to your assertion, this is not clearly talking about vaccine mandates in any particular place.  And the tweet I quoted previously is claiming (or hinting) that the <i>same</i> "state entity" had caused the pandemic and mandated the "experimental treatment".  I'm not familiar with any versions of the lab-leak hypothesis that claimed that covid escaped from a <i>US</i> lab, so I don't think it's a reasonable inference that he's talking about the US vaccine mandate.<p>On the other hand, he seems to have worked pretty hard to avoid clearly stating any of his positions here, so who knows what he really thinks?  Or thought?</p>
]]></description><pubDate>Thu, 18 Dec 2025 22:20:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=46319635</link><dc:creator>kragen</dc:creator><comments>https://news.ycombinator.com/item?id=46319635</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46319635</guid></item><item><title><![CDATA[New comment by kragen in "Jonathan Blow has spent the past decade designing 1,400 puzzles"]]></title><description><![CDATA[
<p>It seems that the "covid trutherism" or "spreading covid misinformation" claim is unjustified.  Here's Blow's original tweet:<p>> <i>If a state entity does an oopsie in a lab, then forces its citizens to undergo an experimental treatment because of the oopsie, while suppressing news of side effects, and also denying that the oopsie is anyone's fault ... that's just abusive?</i><p>Unfortunately Blow was unwilling to come out and state his position here, relying instead on innuendo, so we have to kind of guess what he was trying to say.  I interpret him as making four claims here:<p>1. The COVID-19 pandemic originated in a lab leak.<p>2. Some Chinese people were forced to accept experimental vaccinations.<p>3. The government of the PRC suppressed news of the side effects of the vaccines.<p>4. The government of the PRC worked to prevent investigations into the cause of the pandemic.<p>Claim #4 is plainly true; the WHO and several other countries have protested this at great length.<p>Claim #2 probably depends on your threshold for "experimental" and "forces".  <a href="https://en.wikipedia.org/w/index.php?title=Sinopharm_BIBP_COVID-19_vaccine&oldid=1005867926#China" rel="nofollow">https://en.wikipedia.org/w/index.php?title=Sinopharm_BIBP_CO...</a> explains that emergency vaccination was available in China in July 02020, and there are plausible claims that Chinese state employees and students traveling abroad were <i>required</i> to take it.  This was before results were in from clinical trials, which I think qualifies for most people's definition of "experimental"; the WHO wouldn't add it to its list of authorized emergency vaccines until May of the next year.<p>Claim #3 seems almost guaranteed to be true, but I don't have direct evidence.  The government of the PRC routinely suppresses news, and there are numerous well-documented instances of this happening in connection with COVID, and there are always some subjects in clinical trials of vaccines who have major health problems such as death which may or may not be caused by the vaccine.  BBIBP-CorV seems to have been, in the end, pretty safe, but it seems inconceivable that there weren't at least some news of people dying or having terrible health problems after receiving it which were deleted from Weibo or other media ("suppressed"), and that these deletions were carried out because of state policy of the PRC.<p>Claim #1 seems like the most debatable one, but even that isn't an open-and-shut case.  At the time, the lab-leak case was fairly weak, and it certainly hasn't been proven, but it hasn't been disproven either; see <a href="https://www.astralcodexten.com/p/practically-a-book-review-rootclaim" rel="nofollow">https://www.astralcodexten.com/p/practically-a-book-review-r...</a> for an extensive summary of the debate.  Because of the truth of Claim #4 it seems unlikely that it will ever be disproven.<p>More generally, I find deplorable the polarization on partisan political grounds of fields like puzzle games, genetics, and quantum physics.  Artistic development, understanding the world, and extending technology are necessarily collaborative endeavors, and rejecting Blow's games because he criticizes the Chinese government seems akin to refusing to use the Schrödinger equation because Schrödinger sexually victimized teenage girls.</p>
]]></description><pubDate>Thu, 18 Dec 2025 19:57:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=46317788</link><dc:creator>kragen</dc:creator><comments>https://news.ycombinator.com/item?id=46317788</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46317788</guid></item><item><title><![CDATA[New comment by kragen in "Your job is to deliver code you have proven to work"]]></title><description><![CDATA[
<p>Linus Torvalds is effectively a full-time code reviewer, and so are most of his "lieutenants".  It's not a new idea, as you say, but it works very well.</p>
]]></description><pubDate>Thu, 18 Dec 2025 19:14:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46317163</link><dc:creator>kragen</dc:creator><comments>https://news.ycombinator.com/item?id=46317163</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46317163</guid></item><item><title><![CDATA[New comment by kragen in "Beginning January 2026, all ACM publications will be made open access"]]></title><description><![CDATA[
<p>No, they did not.  They made it free to download, but open-access† licensing would permit third parties to legally mirror it on servers that don't block access from Algeria or Switzerland or privacy-focused browsers, and so far that licensing hadn't happened.  I'm happy to see that apparently it's happening today.<p>______<p>† As defined in the Berlin Declaration 22 years ago: <a href="https://openaccess.mpg.de/Berlin-Declaration" rel="nofollow">https://openaccess.mpg.de/Berlin-Declaration</a></p>
]]></description><pubDate>Thu, 18 Dec 2025 18:50:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=46316852</link><dc:creator>kragen</dc:creator><comments>https://news.ycombinator.com/item?id=46316852</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46316852</guid></item><item><title><![CDATA[New comment by kragen in "Unscii"]]></title><description><![CDATA[
<p>I think it had been many years since the FTP code had needed a security fix, and at least a year or two for the Gopher code.<p>The entire original point of the WWW project was, approximately, providing a better user interface for accessing files on FTP servers.  So to me it seems perverse that the current stewards of the Web have broken that.</p>
]]></description><pubDate>Tue, 16 Dec 2025 16:23:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=46290499</link><dc:creator>kragen</dc:creator><comments>https://news.ycombinator.com/item?id=46290499</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46290499</guid></item><item><title><![CDATA[New comment by kragen in "An attempt to articulate Forth's practical strengths and eternal usefulness"]]></title><description><![CDATA[
<p>Forth "words" are subroutines.  C "functions" are also subroutines.  Forth "words" are "not functions" merely because the use of "function" for "subroutine" is terminology specific to certain families of languages (C, Lisp) to which Forth does not belong.  This is all irrelevant because I didn't say anything about "functions", just dataflow.  My example expression is just as valid in Perl (which calls subroutines "subroutines") or Ruby (which calls them "methods").<p>A colon definition containing five sequential calls to different words without any control flow or stack manipulation is perfectly unremarkable.  Here's a sample word from the F83 block editor, which I am using because F83 is generally accepted as highly competent Forth code, if not exemplary:<p><pre><code>    n NEW moves the terminal's cursor to the start of line n,
      and overwrites lines until a line is begun with null input
      ( a Carraige Return).

    : NEW   (S n -- )                                                
       L/SCR SWAP                                                    
       DO   [ FORTH ] I [ EDITOR ] T  EDIT-AT >IN OFF QUERY SPAN @   
         IF  P  ELSE  [ FORTH ] I REDISPLAY  LEAVE  THEN  .SCREEN
       LOOP  .SCREEN  ;                                          
</code></pre>
The phrase <i>t edit-at >in off query span</i> is just such a sequence, six words long rather than 5.  The word <i>off</i> here is a standard word that sets a memory location to 0, and <i>>in</i> is the standard input-pointer variable, although you can't really be sure of that without more context—note, for example, that the <i>editor</i> vocabulary has redefined <i>i</i> as an insertion command rather than the usual loop-counter definition, thus the vocabulary switching commands.<p>The dataflow in that six-word code sequence is, in C syntax,<p><pre><code>    t(i);
    edit_at();
    off(&in);
    query();
    &span ...
</code></pre>
But to figure that out, I had to look up the stack comments of <i>t</i>, <i>edit-at</i>, <i>query</i>, and <i>span</i> (which is just a <i>variable</i>), and know the stack effects of <i>>in</i> and <i>off</i>.  (In the Forth-83 standard <a href="https://www.complang.tuwien.ac.at/forth/fth83std/FORTH83.TXT" rel="nofollow">https://www.complang.tuwien.ac.at/forth/fth83std/FORTH83.TXT</a> <i>query</i> was the usual way to do what we do nowadays with <i>accept</i>—read a line of input, implicitly into <i>tib</i>.)<p>With slightly different definitions, this could easily have been, for example,<p><pre><code>    edit_at(t(i));
    off(&in);
    span(query()) ...
</code></pre>
Reconstructing the dataflow thus is not some kind of insuperable difficulty.  It took me a while in this example, but were I more expert with Forth, and in particular Forth-83, I probably could have figured it out relatively quickly.  If it were taking too much time, or if the stack comments were wrong, I could have figured it out interactively at the REPL, or single-stepping through the code in F83's debugger.<p>My point is just that <i>reconstructing the dataflow is a problem you have to solve</i> when you are reading Forth code.  The author knew what the dataflow was, presuming it's working code you're looking at.  An efficient compiler would have to know, too.  But, as the reader, you don't know until you reconstruct it mentally with your <i>global</i> knowledge of the things it's calling.  It's an extra error-prone decoding step between the code you're looking at and the semantic understanding you seek.<p>(I said "without stack manipulation", but stack manipulation generally makes the problem more mentally challenging, not less.)<p>By contrast, with pop infix syntax, the dataflow is represented <i>locally</i> with the parentheses and commas.<p>The same thing is true of types in languages with implicit typing (like OCaml and JS), of when call/return pairs follow a conventional stack discipline in Scheme (where the possibility of call/cc exists), of variable capture and escape in languages with closures, of which variables are mutated in languages like Python where all variables are mutable (and to a slightly smaller extent in languages like C, where immutability is possible but not default).  The author has this information; the maintainer needs it to successfully modify the program; the compiler would need it to avoid producing grievously inefficient code; and there's no way to express it in the language.<p>My claim is that, while the <i>optimum</i> may be subjective on this spectrum between implicitness and explicitness, the implicitness itself is objective.  You claim to disagree, but to me it sounds like you disagreed simply because you didn't understand what I was trying to express.</p>
]]></description><pubDate>Tue, 16 Dec 2025 16:15:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=46290380</link><dc:creator>kragen</dc:creator><comments>https://news.ycombinator.com/item?id=46290380</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46290380</guid></item><item><title><![CDATA[New comment by kragen in "CapROS: Capability-Based Reliable Operating System"]]></title><description><![CDATA[
<p>I very much appreciate the correction/clarification.</p>
]]></description><pubDate>Tue, 16 Dec 2025 15:17:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46289542</link><dc:creator>kragen</dc:creator><comments>https://news.ycombinator.com/item?id=46289542</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46289542</guid></item><item><title><![CDATA[New comment by kragen in "“Super secure” messaging app leaks everyone's phone number"]]></title><description><![CDATA[
<p>You're talking about a different proposal than the one I wrote in the comment you were replying to, then.</p>
]]></description><pubDate>Tue, 16 Dec 2025 15:16:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=46289520</link><dc:creator>kragen</dc:creator><comments>https://news.ycombinator.com/item?id=46289520</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46289520</guid></item><item><title><![CDATA[New comment by kragen in "“Super secure” messaging app leaks everyone's phone number"]]></title><description><![CDATA[
<p>What, their CPUs will overheat?  I've run infinite loops on cellphones lots of times without that happening.  In fact, I'm running four of them right now, and have been for the last five minutes as I write this comment.  The battery drain is annoying but I haven't seen instability.  I've run plenty of compiles on cellphones (things like BLAS and Numpy) that take longer than that, and I've never seen one crash a phone.</p>
]]></description><pubDate>Tue, 16 Dec 2025 07:05:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=46285641</link><dc:creator>kragen</dc:creator><comments>https://news.ycombinator.com/item?id=46285641</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46285641</guid></item><item><title><![CDATA[New comment by kragen in "Economics of Orbital vs. Terrestrial Data Centers"]]></title><description><![CDATA[
<p>You need parity, which is cheap, or lockstep duplexing, which isn't.  Or, you know, sometimes you can just restart malfunctioning processes and repair corrupted filesystems while you run the failed tasks again on another node.</p>
]]></description><pubDate>Tue, 16 Dec 2025 06:29:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=46285449</link><dc:creator>kragen</dc:creator><comments>https://news.ycombinator.com/item?id=46285449</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46285449</guid></item><item><title><![CDATA[New comment by kragen in "CapROS: Capability-Based Reliable Operating System"]]></title><description><![CDATA[
<p>Did they actually deploy GNOSIS at Tymshare? I hadn't  heard that.  I thought that the reason they spun out Key Logic was that Norm hadn't convinced Tymshare management to deploy GNOSIS.<p>For example, in <a href="https://conservancy.umn.edu/server/api/core/bitstreams/a39e58bc-2e03-4a34-9a5e-7bd138835809/content" rel="nofollow">https://conservancy.umn.edu/server/api/core/bitstreams/a39e5...</a> p. 37, he says:<p>> <i>That was their [Derwent's] idea. I thought it was very clever and we
realized that we couldn’t do it with our current software but that software like that could
be written. And KeyKOS was the outcome of that. Tymshare and another company, Key
Logic, did not succeed in making that commercial. It would’ve been a high security
system with novel features.</i><p>Later in the interview, he says Tymshare timesharing on the 370 (the IBM machine) started out on VM/CMS.<p>If you have conflicting information, I'd love to see it!</p>
]]></description><pubDate>Tue, 16 Dec 2025 06:24:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=46285416</link><dc:creator>kragen</dc:creator><comments>https://news.ycombinator.com/item?id=46285416</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46285416</guid></item><item><title><![CDATA[New comment by kragen in "CapROS: Capability-Based Reliable Operating System"]]></title><description><![CDATA[
<p>Liedtke's fourth OS.</p>
]]></description><pubDate>Tue, 16 Dec 2025 06:22:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=46285406</link><dc:creator>kragen</dc:creator><comments>https://news.ycombinator.com/item?id=46285406</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46285406</guid></item><item><title><![CDATA[New comment by kragen in "CapROS: Capability-Based Reliable Operating System"]]></title><description><![CDATA[
<p>Possibly because Cap'n Proto includes a capability system that's currently widely deployed.</p>
]]></description><pubDate>Tue, 16 Dec 2025 06:22:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=46285399</link><dc:creator>kragen</dc:creator><comments>https://news.ycombinator.com/item?id=46285399</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46285399</guid></item><item><title><![CDATA[New comment by kragen in "A quarter of US-trained scientists eventually leave"]]></title><description><![CDATA[
<p>You have a point!</p>
]]></description><pubDate>Tue, 16 Dec 2025 03:51:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=46284578</link><dc:creator>kragen</dc:creator><comments>https://news.ycombinator.com/item?id=46284578</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46284578</guid></item><item><title><![CDATA[New comment by kragen in "“Super secure” messaging app leaks everyone's phone number"]]></title><description><![CDATA[
<p>I think it helped them.  Gmail had more trouble with invite codes because some people wanted a Gmail account, but didn't know any existing Gmail users, because Gmail was useful for communication with non-Gmail users.<p>G+ didn't have that problem so much, but I don't remember it using invite codes.</p>
]]></description><pubDate>Tue, 16 Dec 2025 03:35:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=46284468</link><dc:creator>kragen</dc:creator><comments>https://news.ycombinator.com/item?id=46284468</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46284468</guid></item><item><title><![CDATA[New comment by kragen in "A quarter of US-trained scientists eventually leave"]]></title><description><![CDATA[
<p>Jesus.  That's horrible. I'm glad you finally prevailed. Was this a doctoral program?</p>
]]></description><pubDate>Tue, 16 Dec 2025 03:02:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=46284256</link><dc:creator>kragen</dc:creator><comments>https://news.ycombinator.com/item?id=46284256</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46284256</guid></item><item><title><![CDATA[New comment by kragen in "An attempt to articulate Forth's practical strengths and eternal usefulness"]]></title><description><![CDATA[
<p>I do have one objective thing to say about readability.  In a pop infix language like C, Python, Lua, or JS, the expression<p><pre><code>    e(d(), c(b, a()))
</code></pre>
has fairly clear dataflow: data flows from <i>a</i> and <i>b</i> to <i>c</i>, and from <i>c</i> and <i>d</i> to <i>e</i>.  This is knowable even without any previous knowledge of those five identifiers.  The RPN version, in languages like Forth, PostScript, and Factor<p><pre><code>    a b c d e
</code></pre>
can just as well correspond to any of these dataflow patterns:<p><pre><code>    a(); b(); c(); d(); e();  //none
    b(a); d(c); e();
    e(d(c, b()), a);
    {a, b, c, d, e} // all going somewhere else together
</code></pre>
And many others.  You don't know if <i>a</i> or <i>b</i> is consuming something left on the stack from before, either.<p>On this basis I think it's at least somewhat defensible to claim that stack languages are "less readable": information about the dataflow graph which is easily available in the infix syntax is not present, at least locally.  You can <i>reconstruct</i> it by knowing, or guessing, the stack effect of each word.  But that's different from just having it plainly written down.<p>As a result, in Forth and PostScript, I regularly have bugs where I pass a parameter to, or receive a result from, the wrong place.  This is not a major practical problem (it's usually pretty easy to figure out in the REPL) but it serves as evidence that stack languages really do require more effort to read and understand than pop infix languages.<p>Of course, you can make almost exactly the same argument that explicit typing helps readability, and implicit variable capture by closures hurts it. I think there's some merit in that, actually.</p>
]]></description><pubDate>Tue, 16 Dec 2025 02:00:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=46283812</link><dc:creator>kragen</dc:creator><comments>https://news.ycombinator.com/item?id=46283812</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46283812</guid></item></channel></rss>