<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: Jtsummers</title><link>https://news.ycombinator.com/user?id=Jtsummers</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 19 Oct 2026 07:51:10 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Jtsummers" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Jtsummers in "Intuitive concurrent programming in any language"]]></title><description><![CDATA[
<p>The main thing this seems to provide is determinism. Where Erlang, to stick to your question, can be non-deterministic (without taking special care). I'm reading the dissertation this work is based on to see how it guarantees determinism, so at present I'm just taking their word for it.<p><a href="https://www2.eecs.berkeley.edu/Pubs/TechRpts/2020/Archive/EECS-2020-235.pdf" rel="nofollow">https://www2.eecs.berkeley.edu/Pubs/TechRpts/2020/Archive/EE...</a><p>In chapter 1 they provide an example of (using Erlang syntax, completely untested so probably needs some massaging to run as I'm rusty on Erlang) this scenario, which would be deterministic in Erlang:<p><pre><code>  counter() -> counter(1).
  counter(N) ->
    receive
      dbl -> counter(N*2);
      {inc, Arg} ->
        N1 = N1 + Arg,
        io:format("~w~n", [N1]),
        counter(N1)
    end.

  main() ->
    P = spawn(counter),
    P ! dbl,
    P ! {inc, 1}.
</code></pre>
Because messages sent from one process to another are guaranteed to be made available in that same order, this is deterministic. They introduce a motivating example on page 5 (21 in the PDF) where a relay is introduced.<p><pre><code>  relay() ->
    receive
      P -> P ! dbl
    end,
    relay(P).

  main_with_relay() ->
    P = spawn(counter),
    R = spawn(relay),
    R ! P,    % <- trouble starts here
    P ! {inc, 1}.
</code></pre>
This may give the same result as the first example when run on the same node, but the guarantee is lost, it might not happen in the same order as the first version. For an example where it will likely give a different result, consider if counter were a local process to main (on the same node) while relay were a remote process (on a separate node) with high latency, it's likely that the network delay would result in {inc, 1} arriving before dbl.<p>The work in LF lets you write this (don't ask me how, still reading) so that the relay would be logically instantaneous even if physically it wasn't, consequently the dbl message would arrive "first" by logical time and the counter would process things as in the original Erlang code.<p>Of course, you can make the Erlang relay behavior deterministic, but you have to add extra code to achieve it. LF apparently gives you a simpler way to get the desired determinism without having to write the extra code yourself, it's baked into its semantics.</p>
]]></description><pubDate>Sat, 17 Oct 2026 16:14:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=50132364</link><dc:creator>Jtsummers</dc:creator><comments>https://news.ycombinator.com/item?id=50132364</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50132364</guid></item><item><title><![CDATA[New comment by Jtsummers in "Monte-Carlo Simulations"]]></title><description><![CDATA[
<p>You elided the reason it's a valid set, "all different <i>or all the same</i> for each attribute separately"<p>The four attributes:<p>- Count: 3 in each; "all the same"<p>- Color: red, purple, green; "all different"<p>- Shape: diamonds, ovals, squiggles; "all different"<p>- Shading: empty, solid, striped; "all different"<p>So for each attribute the conditions are met, they are either all the same or all different.</p>
]]></description><pubDate>Sat, 17 Oct 2026 15:38:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=50132041</link><dc:creator>Jtsummers</dc:creator><comments>https://news.ycombinator.com/item?id=50132041</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50132041</guid></item><item><title><![CDATA[New comment by Jtsummers in "Monte-Carlo Simulations"]]></title><description><![CDATA[
<p>> This did a good job of telling me not to trust it<p>What do you mean? The retirement planning with Monte-Carlo gave a better result than the base assumption of 4% returns and 2% inflation. The information MC provides let's you, when taking into account your risk threshold, whether you're satisfied with your savings or not by giving you more realistic odds of how long the money will last.</p>
]]></description><pubDate>Fri, 16 Oct 2026 22:25:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=50125589</link><dc:creator>Jtsummers</dc:creator><comments>https://news.ycombinator.com/item?id=50125589</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50125589</guid></item><item><title><![CDATA[New comment by Jtsummers in "Will MOOCs Destroy Academia? (2012)"]]></title><description><![CDATA[
<p>(2012), and one prior discussion:<p><a href="https://news.ycombinator.com/item?id=5318644">https://news.ycombinator.com/item?id=5318644</a> - March 4, 2013 (62 comments)</p>
]]></description><pubDate>Fri, 16 Oct 2026 18:22:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=50122282</link><dc:creator>Jtsummers</dc:creator><comments>https://news.ycombinator.com/item?id=50122282</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50122282</guid></item><item><title><![CDATA[New comment by Jtsummers in "C++26 Contracts: Introduction to Preconditions and Postconditions"]]></title><description><![CDATA[
<p>> Its pretty easy for me to guarantee that my asserts will all always be run via NDEBUG.<p>That's the opposite of what NDEBUG does. <a href="https://en.cppreference.com/cpp/error/assert" rel="nofollow">https://en.cppreference.com/cpp/error/assert</a><p>Critical bit:<p>> 1) If NDEBUG is defined as a macro name at the point in the source code where <cassert> or <assert.h> is included, the assertion is disabled: assert does nothing.<p>It also is impossible to guarantee it unless you're the only one compiling the program. If you've built a library that others can build and relied on asserts executing for your library to be correct, you wrote a bad library.<p>EDIT: Neither asserts nor these C++26 contract features should be used in a way that requires that they be executed. If you do, you're using them wrong because it is valid for someone to disable them as runtime checks. If the code <i>must</i> run, you should use some other mechanism, I'd recommend an if statement.</p>
]]></description><pubDate>Thu, 15 Oct 2026 20:51:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=50110018</link><dc:creator>Jtsummers</dc:creator><comments>https://news.ycombinator.com/item?id=50110018</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50110018</guid></item><item><title><![CDATA[New comment by Jtsummers in "C++26 Contracts: Introduction to Preconditions and Postconditions"]]></title><description><![CDATA[
<p>Same uses as assert, but more options for what to do when they fail and you can move them (pre/post at least) into the function declaration so they act as a kind of executable documentation (when you compile the program so that they are executed and not dropped).</p>
]]></description><pubDate>Thu, 15 Oct 2026 19:53:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=50109338</link><dc:creator>Jtsummers</dc:creator><comments>https://news.ycombinator.com/item?id=50109338</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50109338</guid></item><item><title><![CDATA[New comment by Jtsummers in "Why We're Banning AI"]]></title><description><![CDATA[
<p>> when AI inevitably reaches human intelligence<p>What makes you so certain it's inevitable?</p>
]]></description><pubDate>Thu, 15 Oct 2026 19:47:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=50109268</link><dc:creator>Jtsummers</dc:creator><comments>https://news.ycombinator.com/item?id=50109268</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50109268</guid></item><item><title><![CDATA[New comment by Jtsummers in "Why We're Banning AI"]]></title><description><![CDATA[
<p>> Obviously the WSJ staff shouldn't be using it in the final output<p>It was an op-ed, it's inappropriate to edit those heavily. So they either had to accept it more or less as submitted (with the usual basic editing around grammar, clarity, and typos), or not accept it. If they'd rewritten it, it would not have been an op-ed by Druckenmiller anymore, but someone else's interpretation of his submission.</p>
]]></description><pubDate>Thu, 15 Oct 2026 19:18:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=50108837</link><dc:creator>Jtsummers</dc:creator><comments>https://news.ycombinator.com/item?id=50108837</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50108837</guid></item><item><title><![CDATA[New comment by Jtsummers in "C++26 Contracts: Introduction to Preconditions and Postconditions"]]></title><description><![CDATA[
<p>> You can't use them for safety checks, because you must assume they won't be run.<p>This is also true of assert, though. It can be compiled out so shouldn't be used for anything that <i>must</i> run.</p>
]]></description><pubDate>Thu, 15 Oct 2026 18:42:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=50108287</link><dc:creator>Jtsummers</dc:creator><comments>https://news.ycombinator.com/item?id=50108287</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50108287</guid></item><item><title><![CDATA[New comment by Jtsummers in "Ask HN: Apple HomeView. What problem is Apple Home solving?"]]></title><description><![CDATA[
<p>> They are solving a problem that was already solved.<p>Exactly, that's why they never made music players or cellphones...<p>A solved problem doesn't mean it's solved within their ecosystem and making them money. You can go out and buy a Google or Amazon device to do many (or even all) of the same functions, but that's not making Apple money, and they rarely integrate well with Apple's other devices and accounts. This isn't confusing.</p>
]]></description><pubDate>Thu, 15 Oct 2026 17:19:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=50106960</link><dc:creator>Jtsummers</dc:creator><comments>https://news.ycombinator.com/item?id=50106960</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50106960</guid></item><item><title><![CDATA[New comment by Jtsummers in "Ask HN: Apple HomeView. What problem is Apple Home solving?"]]></title><description><![CDATA[
<p>Why does Apple sell desktops when they can sell laptops instead? Why does Apple sell their Apple TV when people can use a video cable from their laptops? Because there's a market for the device, as demonstrated by Amazon and Google and others over the past decade+, and this is the same thing but within the Apple ecosystem.</p>
]]></description><pubDate>Thu, 15 Oct 2026 17:11:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=50106834</link><dc:creator>Jtsummers</dc:creator><comments>https://news.ycombinator.com/item?id=50106834</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50106834</guid></item><item><title><![CDATA[New comment by Jtsummers in "The United Kingdom generates less electricity per person than in the 1970s"]]></title><description><![CDATA[
<p>> I was formed to work in an office, to go have a career and make money, and absolutely useless at any domestic task, such as cooking, cleaning, personal finance.<p>Your parents never taught you how to balance a checkbook? That's just basic arithmetic, are you sure you were "formed to work in an office" when you can't even manage your own finances? Sounds like you weren't formed for anything, not even basic self-care.</p>
]]></description><pubDate>Tue, 13 Oct 2026 22:33:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=50079860</link><dc:creator>Jtsummers</dc:creator><comments>https://news.ycombinator.com/item?id=50079860</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50079860</guid></item><item><title><![CDATA[New comment by Jtsummers in "The United Kingdom generates less electricity per person than in the 1970s"]]></title><description><![CDATA[
<p>Every washer, even basic ones, I've owned that were made post-2000 had a delay start function. Even my most basic one that just had dials to select options, it had a 2/4/6/8-hour delay dial. I figured it was a common feature by now.</p>
]]></description><pubDate>Tue, 13 Oct 2026 22:13:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=50079651</link><dc:creator>Jtsummers</dc:creator><comments>https://news.ycombinator.com/item?id=50079651</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50079651</guid></item><item><title><![CDATA[New comment by Jtsummers in "The United Kingdom generates less electricity per person than in the 1970s"]]></title><description><![CDATA[
<p>> There don't seem to be any comments on this thread referring to rationing.<p>Trivially falsifiable statement, just read the comments in this thread:<p><a href="https://news.ycombinator.com/item?id=50076266">https://news.ycombinator.com/item?id=50076266</a><p>>> But their great idea to deal with the shortage is intermittent availability of power.<p>In other words: rationing.</p>
]]></description><pubDate>Tue, 13 Oct 2026 21:51:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=50079386</link><dc:creator>Jtsummers</dc:creator><comments>https://news.ycombinator.com/item?id=50079386</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50079386</guid></item><item><title><![CDATA[New comment by Jtsummers in "Cyberattack halts construction of tunnel between Denmark and Germany"]]></title><description><![CDATA[
<p>As long as they can avoid loss of life (or significant loss of life) and direct attribution, but the rumors are still that it's Russia, this is a way to reduce popular support for Ukraine. The attacks aren't severe enough to make people <i>want</i> to support Ukraine to spite Russia, and it makes it apparent that there is a cost for the current support.</p>
]]></description><pubDate>Tue, 13 Oct 2026 19:07:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=50076965</link><dc:creator>Jtsummers</dc:creator><comments>https://news.ycombinator.com/item?id=50076965</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50076965</guid></item><item><title><![CDATA[New comment by Jtsummers in "Push ifs up and fors down: The idiom, its algebra, and its limits"]]></title><description><![CDATA[
<p><a href="https://godbolt.org/z/rz8MxhdGd" rel="nofollow">https://godbolt.org/z/rz8MxhdGd</a><p>Just a simple example, but the conditional branch occurs on line 14 of the generated assembly. It does a comparison (line 13) and then a conditional jump (jl, line 14).</p>
]]></description><pubDate>Thu, 08 Oct 2026 03:55:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=50001705</link><dc:creator>Jtsummers</dc:creator><comments>https://news.ycombinator.com/item?id=50001705</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50001705</guid></item><item><title><![CDATA[New comment by Jtsummers in "The Early History of Smalltalk (1993)"]]></title><description><![CDATA[
<p>Some prior discussions on this:<p><a href="https://news.ycombinator.com/item?id=31062369">https://news.ycombinator.com/item?id=31062369</a> - April 20, 2022 (45 comments)<p><a href="https://news.ycombinator.com/item?id=25012425">https://news.ycombinator.com/item?id=25012425</a> - Nov 7, 2020 (28 comments)<p><a href="https://news.ycombinator.com/item?id=17913668">https://news.ycombinator.com/item?id=17913668</a> - Sept 4, 2018 (69 comments)<p><a href="https://news.ycombinator.com/item?id=9907556">https://news.ycombinator.com/item?id=9907556</a> - July 18, 2015 (5 comments)<p><a href="https://news.ycombinator.com/item?id=9588316">https://news.ycombinator.com/item?id=9588316</a> - May 22, 2015 (5 comments)<p><a href="https://news.ycombinator.com/item?id=7926141">https://news.ycombinator.com/item?id=7926141</a> - June 21, 2014 (10 comments)<p><a href="https://news.ycombinator.com/item?id=1311282">https://news.ycombinator.com/item?id=1311282</a> - May 1, 2010 (17 comments)</p>
]]></description><pubDate>Tue, 06 Oct 2026 20:28:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=49983638</link><dc:creator>Jtsummers</dc:creator><comments>https://news.ycombinator.com/item?id=49983638</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49983638</guid></item><item><title><![CDATA[New comment by Jtsummers in "AI is now capable of developing its own inference hardware"]]></title><description><![CDATA[
<p>If it's an ASI and so beyond humans, why would it even care to do what humans ask it and not do its own thing? If I held your beliefs, the fact of its existence dooms us, not the risk that someone might ask it to do something. It wouldn't care about the requester.</p>
]]></description><pubDate>Tue, 06 Oct 2026 19:01:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=49982595</link><dc:creator>Jtsummers</dc:creator><comments>https://news.ycombinator.com/item?id=49982595</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49982595</guid></item><item><title><![CDATA[New comment by Jtsummers in "OpenTPU – An open-source AI accelerator, developed by AI"]]></title><description><![CDATA[
<p>Is your belief then that ASI is going to be producing computronium or something, then? And what's the need for this apparent hyper optimization task the ASI is going to embark on?</p>
]]></description><pubDate>Tue, 06 Oct 2026 18:51:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=49982467</link><dc:creator>Jtsummers</dc:creator><comments>https://news.ycombinator.com/item?id=49982467</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49982467</guid></item><item><title><![CDATA[New comment by Jtsummers in "AI is now capable of developing its own inference hardware"]]></title><description><![CDATA[
<p>What's your basis for assuming that ASI would need the same resources as biological life, or that it would be incapable of sharing the resources needed in common?</p>
]]></description><pubDate>Tue, 06 Oct 2026 18:38:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=49982334</link><dc:creator>Jtsummers</dc:creator><comments>https://news.ycombinator.com/item?id=49982334</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49982334</guid></item></channel></rss>