<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: dalke</title><link>https://news.ycombinator.com/user?id=dalke</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 13 Apr 2026 08:58:35 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=dalke" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by dalke in "Almost half of Gen Z women want to be Trad wives"]]></title><description><![CDATA[
<p>Being a father and raising good kids is an invaluable role in society.<p>As an immigrant in Sweden, I love that I had so much paid parental leave to be with my babies.<p>In the US, where I used to live, parental leave is a joke. There are generations of people brainwashed to believe fathers aren't involved in taking children to the park, changing diapers, and so on, and brainwashed to think that seeing single men in children's spaces is abnormal and suspicious.<p>I don't see what can be more empowering than letting both parents have time with the new life they brought into the world, and working together to watch the child grow up.<p>What career is going to give that level of satisfaction to men?<p>After the Butlerian Jihad, my backup plan is to work at the preschool.<p>My sister thought to be a stay-at-home mother until the kids started kindergarten, then changed her mind after a few years as she found it so frustrating and tedious. My wife and I looked forward to when our kids started preschool, so I could do work and she could take classes. Neither of us are defined by having kids.<p>There's a reason Valium was "Mother’s Little Helper" in the trad-wife home of the 1960s!</p>
]]></description><pubDate>Sun, 05 Apr 2026 14:47:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47650006</link><dc:creator>dalke</dc:creator><comments>https://news.ycombinator.com/item?id=47650006</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47650006</guid></item><item><title><![CDATA[New comment by dalke in "Ask HN: How do you deal with people who trust LLMs?"]]></title><description><![CDATA[
<p>You might consider prefixing with 'ChatGPT claims…' as a clearer expression of uncertainty.</p>
]]></description><pubDate>Fri, 20 Mar 2026 11:15:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=47453042</link><dc:creator>dalke</dc:creator><comments>https://news.ycombinator.com/item?id=47453042</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47453042</guid></item><item><title><![CDATA[New comment by dalke in "Ask HN: How do you deal with people who trust LLMs?"]]></title><description><![CDATA[
<p>The comment about using Google was more a curiosity. I hadn't seen the Variety link until yesterday, when I went to Google to reproduce the answer to verify it was from a text query, not an image query. Both Google AI and one of the top answers included that Variety link. When you mentioned it again, it strongly suggested you were using Google as your primary search method.<p>I think the right way to interpret the Variety link is that it's a single paragraph about trying to capture the feel of the comic using 3D software. As you saw from Charlie Brown holding a baseball, Shulz didn't go for a realistic look, but still conveys the sense of grasping. Modeling all five fingers all the time would not give the movie the right feel.<p>I wonder now if Google AI incorporates text from the top results into its answer.<p>"why is it wrong when the AI generated 4 fingers?"<p>The original discussion was when person X used AI to generate a image "in the style f Charles Shulz" where the Peanuts characters had 5 fingers, then person Y noted the use of 5 fingers instead of the 4 which is common in comics and cartoon, and quoted Google AI as saying Peanuts was traditionally drawn with 4 fingers.<p>I yesterday verified that Google AI would generate the same wrong answer with a text query, so it was not an image interpretation issue.<p>FWIW, after looking at a few hundred Peanuts cartoons, I can confidently say the AI generated image was not in the style of Schulz. The generated fingers were too realistic, and the background too complicated and detailed. :)<p>This for me is another example of why using primary sources should be the first thing to consider when fact checking - not LLMs (my experience is they are horrible at details), and not secondary sources (which have their own biases).<p>Not everything has easily-accessed primary sources, but many do. I think it's all too easy to fall into the trap of accepting the LLM answer because it feels right and is easy to generate. At <a href="https://freethoughtblogs.com/stderr/2025/01/18/ai-art-just-regurgitate-existing-images/" rel="nofollow">https://freethoughtblogs.com/stderr/2025/01/18/ai-art-just-r...</a> you'll see someone asked about which river Marbot swam across to spy on the enemy camp. It replied "Elbe". Then I did a text search of an English translation of the book and found he used a boat to cross the Danube to spy on the enemy camp, and he swam into freezing waters to save an enemy soldier.<p>Again, do you ask the LLM to fact check itself every single time? If that's useful, why isn't it built into the prompt? Or, if you are supposed to double-check the LLM yourself, why would you consult a secondary source if the primary source is so easy to find and search? And in that case, why not just use the primary source?<p>Further, if you aren't in the habit of checking primary sources then you won't have the experience to know how to find and check primary sources.</p>
]]></description><pubDate>Fri, 20 Mar 2026 06:10:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47451086</link><dc:creator>dalke</dc:creator><comments>https://news.ycombinator.com/item?id=47451086</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47451086</guid></item><item><title><![CDATA[New comment by dalke in "Ask HN: How do you deal with people who trust LLMs?"]]></title><description><![CDATA[
<p>Your first link was cited in the 2nd half of Google AI's answer, and one of the top Google answers, so I think you are using Google as your information source.<p>The large majority of the images you link to show kids with 5 fingers, as well as 5-fingered baseball gloves. The cases of four fingers are due to orientation.<p>Your "1." also shows Marcie with five fingers. You see Charlie Brown with 4 fingers because he's holding a baseball. In 2. he's also holding a baseball. You would not see 5 fingers on one side because doing so would look strange.<p>In your unlabeled "0." there are plenty of kids with 5 fingers. There are some with fewer, but they are holding things or drawn in way to suggest we are seeing the hand from the side.<p>I don't understand your hesitancy. Your own samples should be enough for you to decisively conclude that the Google AI's claim that Peanuts was "traditionally drawn with four fingers (or three fingers and a thumb) on each hand" is wrong. If not, it sure seems like you trust Google AI over your own eyes. Why are you so hesitant to agree?<p>My point is that you don't need to consult secondary sources when the primary sources are easily available.<p>When this came up a few days ago, I spot checked the complete works of Peanuts, from a collection on archive.org at <a href="https://archive.org/details/peanutscomics19502000/Volume%201%20%281950%20to%201952%29/page/12/mode/2up" rel="nofollow">https://archive.org/details/peanutscomics19502000/Volume%201...</a> . The consistent pattern across the nearly 50 years of Peanuts is the kids have five fingers unless obscured by orientation or objects.<p>You can do that yourself, and triple-check that Google AI's answer is clearly wrong.<p>Thus, I think it's a good example of how fact checking with LLMs can lead people astray, and the large negative externalities I mentioned combined with its well-known tendencies to make incorrect statements make it a very poor starting point when the primary source, at least in this case, is so easy to access.<p>If most of the sources are wrong, and LLMs are being trained on those, isn't it logical that the latter will also likely output that same wrong information?<p>When do you know if most of the sources are wrong, unless you yourself know most of the sources are wrong?</p>
]]></description><pubDate>Thu, 19 Mar 2026 15:41:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47441319</link><dc:creator>dalke</dc:creator><comments>https://news.ycombinator.com/item?id=47441319</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47441319</guid></item><item><title><![CDATA[New comment by dalke in "Ask HN: How do you deal with people who trust LLMs?"]]></title><description><![CDATA[
<p>Well, in my case going to a Peanuts comic and looking at hands was pretty easy, and didn't involve any questions about negative environment or labor consequences, the massive hammering of web sites to gather data, centralization of power, and the like.<p>Like, "!w Peanuts" in my search bar, look at the image, and count fingers.<p>"a rather outlier example"<p>You wrote that you use AI to find "obscure connections" - aren't those all by definition outliers?<p>"mostly as text-based question"<p>I just now asked Google AI "how many fingers are on charlie brown's hand?"<p>It replied "In the Peanuts comic strip, Charlie Brown and the rest of the gang are traditionally drawn with four fingers (or three fingers and a thumb) on each hand."<p>No image comprehension, exactly as you had in mind. And completely false.<p>And that's from a training corpus which almost certainly includes statements that the kids are drawn with 5 fingers, since I confirmed that info on TVTropes and Reddit comments, like <a href="https://www.reddit.com/r/pics/comments/swod8/charlie_brown_has_4_fingers_and_a_thumb/" rel="nofollow">https://www.reddit.com/r/pics/comments/swod8/charlie_brown_h...</a> .</p>
]]></description><pubDate>Thu, 19 Mar 2026 13:16:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=47438879</link><dc:creator>dalke</dc:creator><comments>https://news.ycombinator.com/item?id=47438879</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47438879</guid></item><item><title><![CDATA[New comment by dalke in "Ask HN: How do you deal with people who trust LLMs?"]]></title><description><![CDATA[
<p>The effort to fact check with LLMs is also high. Here's one from a few days ago.<p>Someone used AI to generate an image in the style of a Charles Schulz Peanuts cartoon.<p>Someone else observed that there were 5 fingers on the characters, and quoted as Google AI as saying “Charlie Brown, along with other Peanuts characters, is generally depicted with four fingers on each hand (three fingers and one thumb) ...”<p>Yet if you go to the Wikipedia entry at <a href="https://en.wikipedia.org/wiki/Peanuts" rel="nofollow">https://en.wikipedia.org/wiki/Peanuts</a> you'll see the kids have 5 fingers. Or take a look at the actual cartoons. Or read the TVTropes entry <a href="https://tvtropes.org/pmwiki/pmwiki.php/Main/FourFingeredHands" rel="nofollow">https://tvtropes.org/pmwiki/pmwiki.php/Main/FourFingeredHand...</a> under "Comic Strips".<p>Fact checking this with human sources is easy and not ambiguous. While LLMs are being trained that many cartoon characters only have a thumb and three fingers - it is a trope for a reason - so isn't it logical for LLMs to give the wrong answer for a comic where the human characters are actually drawn with 5 fingers?<p>My experience with LLMs is they keep getting things wrong, when details matter.<p>Do you ask the LLM to fact check everything? (In which case, why isn't that part of the standard prompt?) Or do you only ask to fact check things where you are unsure about the answer? (In which case, is it the algorithm telling you what you want to hear?) When do you stop the fact checking?</p>
]]></description><pubDate>Thu, 19 Mar 2026 11:18:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47437543</link><dc:creator>dalke</dc:creator><comments>https://news.ycombinator.com/item?id=47437543</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47437543</guid></item><item><title><![CDATA[New comment by dalke in "Show HN: PyMOL-RS – Rust reimplementation of PyMOL with modern rendering"]]></title><description><![CDATA[
<p>Over the last few days I have learned that using code generation tools are increasingly used to create a "clean room" version of a product, using a definition which is far from its standard use.<p>See <a href="https://tuananh.net/2026/03/05/relicensing-with-ai-assisted-rewrite/" rel="nofollow">https://tuananh.net/2026/03/05/relicensing-with-ai-assisted-...</a> with discussion at <a href="https://news.ycombinator.com/item?id=47257803">https://news.ycombinator.com/item?id=47257803</a><p>I believe your use of "clean room" is another example of misusing the term.<p>Could you clarify how it was developed? Who had access to the original source code? Were code generation tools used, and if so, how? Was the PyMol source part of the training set for those tools? How did you ensure no copyright violations?<p>Warren was a friend of mine, and a passionate believer in open source software. He wanted people to be able to modify PyMol for their own purposes, and asked only for a license acknowledgment. Schrodinger, to their great credit, continues to honor Warren by maintaining the Open-Source PyMOL product.<p>If this project was not developed under true clean room practices, I ask that you continue to honor his work by including the PyMol license in your Rust rewrite.<p>If it was true clean room development, why does ./crates/pymol-algos/src/align/ce.rs say "This is a faithful port of PyMOL's `ccealignmodule.cpp`.", with comments like "Equivalent to PyMOL's `calcS`" and references to the original code in comments, like: "PyMOL: for (row = 0; row < wSize - 2; row++)"?</p>
]]></description><pubDate>Thu, 05 Mar 2026 09:23:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47259511</link><dc:creator>dalke</dc:creator><comments>https://news.ycombinator.com/item?id=47259511</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47259511</guid></item><item><title><![CDATA[New comment by dalke in "Show HN: PyMOL-RS – Rust reimplementation of PyMOL with modern rendering"]]></title><description><![CDATA[
<p>The README says "PyMOL-RS is a clean-room rewrite" but when I look at ./pymol-mol/src/dss.rs I see things like:<p><pre><code>  //! - PyMOL's layer3/Selector.cpp - SelectorAssignSS function
  //! - PyMOL's layer2/ObjectMolecule2.cpp - ObjectMoleculeGetCheckHBond function
  //! - PyMOL's layer1/SettingInfo.h - Default angle thresholds
</code></pre>
and "matching PyMOL's cSS* flags from Selector.cpp"<p>While the Rust code is cleaned up and easier to read, I can see that it preserves similar data flow, uses similar variable names, and of course identical constants.<p>For example, this is PyMol layer3/Selector.cpp:<p><pre><code>          /* look for antiparallel beta sheet ladders (single or double) 
          ...
          */

          if((r + 1)->real && (r + 2)->real) {

            for(b = 0; b < r->n_acc; b++) {     /* iterate through acceptors */
              r2 = (res + r->acc[b]) - 2;       /* go back 2 */
              if(r2->real) {

                for(c = 0; c < r2->n_acc; c++) {

                  if(r2->acc[c] == a + 2) {     /* found a ladder */

                    (r)->flags |= cSSAntiStrandSingleHB;
                    (r + 1)->flags |= cSSAntiStrandSkip;
                    (r + 2)->flags |= cSSAntiStrandSingleHB;

                    (r2)->flags |= cSSAntiStrandSingleHB;
                    (r2 + 1)->flags |= cSSAntiStrandSkip;
                    (r2 + 2)->flags |= cSSAntiStrandSingleHB;

                    /*                  printf("anti ladder %s %s to %s %s\n",
                       r->obj->AtomInfo[I->Table[r->ca].atom].resi,
                       r->obj->AtomInfo[I->Table[(r+2)->ca].atom].resi,
                       r2->obj->AtomInfo[I->Table[r2->ca].atom].resi,
                       r2->obj->AtomInfo[I->Table[(r2+2)->ca].atom].resi); */
                  }
                }
              }
            }
</code></pre>
and this is pymol-rs's pymol-mol/src/dss.rs<p><pre><code>        // Antiparallel ladder: i accepts j, (j-2) accepts (i+2)
        if a + 2 < n_res && res[a + 1].real && res[a + 2].real {
            for &acc_j in &acc_list {
                if acc_j < 2 || !res[acc_j].real {
                    continue;
                }
                let j_minus_2 = acc_j - 2;
                if !res[j_minus_2].real {
                    continue;
                }
                let acc_jm2_list: Vec<usize> = res[j_minus_2].acc.clone();
                for &acc_k in &acc_jm2_list {
                    if acc_k == a + 2 {
                        res[a].flags |= SsFlags::ANTI_STRAND_SINGLE_HB;
                        res[a + 1].flags |= SsFlags::ANTI_STRAND_SKIP;
                        res[a + 2].flags |= SsFlags::ANTI_STRAND_SINGLE_HB;
                        res[j_minus_2].flags |= SsFlags::ANTI_STRAND_SINGLE_HB;
                        if acc_j >= j_minus_2 + 2 {
                            res[j_minus_2 + 1].flags |= SsFlags::ANTI_STRAND_SKIP;
                        }
                        res[acc_j].flags |= SsFlags::ANTI_STRAND_SINGLE_HB;
                    }
                }
            }
        }
</code></pre>
That's close enough that I really think you should include the PyMol license info, before Schrödinger's lawyers notice.</p>
]]></description><pubDate>Fri, 27 Feb 2026 15:47:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47181869</link><dc:creator>dalke</dc:creator><comments>https://news.ycombinator.com/item?id=47181869</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47181869</guid></item><item><title><![CDATA[New comment by dalke in "Show HN: PyMOL-RS – Rust reimplementation of PyMOL with modern rendering"]]></title><description><![CDATA[
<p>I looked at the PDB parser.<p>Will you be adding support for using duplicate CONECT records to store bond type information? That's a RasMol extension that PyMol supports. You'll also need to support the pdb_conect_nodup option in the writer.<p>I see you interpret atom/hetatm serial numbers as an integer. Will you be using the base-36 or hybrid-36 variants (see <a href="https://cci.lbl.gov/hybrid_36/" rel="nofollow">https://cci.lbl.gov/hybrid_36/</a>) which is a common way to handle more than 100,000 atoms?<p>Again, these are corner cases which come with experience. I've no expectation that a new program would handle them. I want you to know about them since they will be issues if you expect long-term uptake.</p>
]]></description><pubDate>Fri, 27 Feb 2026 12:52:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47179943</link><dc:creator>dalke</dc:creator><comments>https://news.ycombinator.com/item?id=47179943</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47179943</guid></item><item><title><![CDATA[New comment by dalke in "Show HN: PyMOL-RS – Rust reimplementation of PyMOL with modern rendering"]]></title><description><![CDATA[
<p>You might mention in other forums, like the RDKit mailing list (though that's almost moribund).<p>I looked at the SDF reader, since that's what I know best. I see a few things which look like they need revisiting.<p>Line 75 has 'if name == "$$$$" {return self.parse_molecule();}' This isn't correct. This means the record name is "$$$$" (if you are RDKit), or it means the record is in the wrong format (if you are the CTFile specification, which explicitly prohibits that).<p>Also, does Rust have tail recursion? If not, the recursive nature of the code makes me think parsing a file containing 1 million lines of the form "$$$$\n" would likely blow the stack.<p>In principle the version number test for V2000 or V3000 should look at the specific column numbers, and not presence somewhere in the line. Someone like me might place a "V3000" in the obsolete fields, with a "V2000" in the correct vvvvvv field. ;)<p>The "Skip to end of molecule" code will break on real-world datasets. One classic problem is a company which used "$", "$$", "$$$" and "$$$$" to indicate cost, stored as tag data like:<p><pre><code>  > <price>
  $$$$

  $$$$
</code></pre>
where the first "$$$$" is part of the data item, and the second "$$$$" is the end of the SD record. This ended up causing a problem when an SDF reader somewhere in their system didn't parse data items correctly. (Another common failure in data item parsing is to ignore the requirement for a newline after the data item.)<p>I talk about "$$$$" more at <a href="http://www.dalkescientific.com/writings/diary/archive/2020/09/18/handling_the_sdf_record_delimiter.html" rel="nofollow">http://www.dalkescientific.com/writings/diary/archive/2020/0...</a> .<p>Then there's the "S  SKP" field, which you'll almost certainly never see in real life! I've only seen it used in a published example of a JICST extended MOLfile. See <a href="http://www.dalkescientific.com/writings/diary/archive/2020/09/21/molfile_s__skp.html" rel="nofollow">http://www.dalkescientific.com/writings/diary/archive/2020/0...</a><p>Please don't let these comments get you down! These details are hard to get, and not obvious. It took me years to learn the rare corner cases.<p>I also haven't done molviz since the 1990s, or used PyMol (I was VMD person), so can't say anything about the overall project. We started with GL, and had to port to OpenGL. :)<p>PS. A bit of history for you. PyMol's and VMD's selection syntax look similar because both drew on the syntax in Axel Brunger's X-PLOR. Warren DeLano came out of Brunger's lab, and VMD was from Schulten's group, which were X-PLOR users. (Schulten was Brunger's PhD advisor.)</p>
]]></description><pubDate>Thu, 26 Feb 2026 11:25:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=47164604</link><dc:creator>dalke</dc:creator><comments>https://news.ycombinator.com/item?id=47164604</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47164604</guid></item><item><title><![CDATA[New comment by dalke in "Parsing Chemistry"]]></title><description><![CDATA[
<p>Oh, I should have pointed out my Python lexer-driven parser at <a href="https://hg.sr.ht/~dalke/smiview/browse/smiview.py" rel="nofollow">https://hg.sr.ht/~dalke/smiview/browse/smiview.py</a><p>The lexer: <a href="https://hg.sr.ht/~dalke/smiview/browse/smiview.py?rev=tip#L337" rel="nofollow">https://hg.sr.ht/~dalke/smiview/browse/smiview.py?rev=tip#L3...</a><p>The lexer state transitions: <a href="https://hg.sr.ht/~dalke/smiview/browse/smiview.py?rev=tip#L364" rel="nofollow">https://hg.sr.ht/~dalke/smiview/browse/smiview.py?rev=tip#L3...</a></p>
]]></description><pubDate>Thu, 06 Nov 2025 06:14:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=45832049</link><dc:creator>dalke</dc:creator><comments>https://news.ycombinator.com/item?id=45832049</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45832049</guid></item><item><title><![CDATA[New comment by dalke in "Parsing Chemistry"]]></title><description><![CDATA[
<p>I see you include the dot disconnect "." as part of the Bond definition.<p>You also define Chain as:<p><pre><code>  Chain <<= pp.Group(pp.Optional(Bond) + pp.Or([Atom, RingClosure]))
</code></pre>
I believe this means your grammar allows the invalid SMILES C=.N</p>
]]></description><pubDate>Thu, 06 Nov 2025 06:09:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=45832015</link><dc:creator>dalke</dc:creator><comments>https://news.ycombinator.com/item?id=45832015</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45832015</guid></item><item><title><![CDATA[New comment by dalke in "Parsing Chemistry"]]></title><description><![CDATA[
<p>That's "SMILES".<p>Yes. Here is the yacc grammar for the SMILES parser in the RDKit. <a href="https://github.com/rdkit/rdkit/blob/master/Code/GraphMol/SmilesParse/smiles.yy" rel="nofollow">https://github.com/rdkit/rdkit/blob/master/Code/GraphMol/Smi...</a><p>There's also one from OpenSMILES at <a href="http://opensmiles.org/opensmiles.html#_grammar" rel="nofollow">http://opensmiles.org/opensmiles.html#_grammar</a> . It has a shift/reduce error (as I recall) that I was not competent enough to fix.<p>I prefer to parser almost completely in the lexer, with a small amount of lexer state to handle balanced parens, bracket atoms, and matching ring closures. See <a href="https://hg.sr.ht/~dalke/opensmiles-ragel" rel="nofollow">https://hg.sr.ht/~dalke/opensmiles-ragel</a> and more specifically <a href="https://hg.sr.ht/~dalke/opensmiles-ragel/browse/opensmiles.rl?rev=tip" rel="nofollow">https://hg.sr.ht/~dalke/opensmiles-ragel/browse/opensmiles.r...</a> .</p>
]]></description><pubDate>Wed, 05 Nov 2025 20:48:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=45827777</link><dc:creator>dalke</dc:creator><comments>https://news.ycombinator.com/item?id=45827777</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45827777</guid></item><item><title><![CDATA[New comment by dalke in "TRAC (64) Interpreter in JavaScript"]]></title><description><![CDATA[
<p>Link to the actual "etude" <a href="https://archive.org/details/wetherell-etudes-for-programmers-1978/page/148/mode/2up" rel="nofollow">https://archive.org/details/wetherell-etudes-for-programmers...</a> (Wetherell has a number of small, interesting programming "etudes", one of is to write a TRAC interpreter.)<p>Some background. Calvin Mooers developed TRAC - the programming language - in the 1960s for "duffers", that is, people who were not computer scientists.<p>(A phrase he used in the writing of the time was "duffers", though I don't know if he specifically applied it to TRAC users.)<p>It was the first homoiconic language. There were a group of teens interested in programming that hung out with Mooers. One of these was L Peter Deutsch, who at 18 (and a year after writing LISP 1.5 for the PDP-1) helped develop the TRAC language and wrote the first TRAC implementation. Deutsch later implemented Ghostscript.<p>About 10 years later, Ted Nelson's "Computer Libs" suggested TRAC as one of the first three programming languages to start with. This made people more widely aware of TRAC, and of course people did their own implementations, as seen in this link.<p>Mooers, though, was very protective about what was "his." He pushed for software copyright production back in the 1960s. The best he could do was trademark the term "TRAC", and send cease&desist letters when someone used it. See this article from the first issue of Dr. Dobbs: <a href="https://archive.org/details/dr_dobbs_journal_vol_01/page/n121/mode/2up?q=%22copyright+mania%22" rel="nofollow">https://archive.org/details/dr_dobbs_journal_vol_01/page/n12...</a><p>I talked with someone who had met one of Mooers' daughters around Cambridge. He knew Mooers was, and had (as I call) a copy of Computer Lib with him. He got invited to dinner with the Mooers family. All went well, until he revealed he had written a version of TRAC for himself. This was a sore point. Mooers got up and left. He wife commented that Mooers didn't like others playing with his toys.</p>
]]></description><pubDate>Fri, 17 Oct 2025 09:39:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=45614829</link><dc:creator>dalke</dc:creator><comments>https://news.ycombinator.com/item?id=45614829</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45614829</guid></item><item><title><![CDATA[New comment by dalke in "DeepChem: Democratising Deep Learning for Sciences"]]></title><description><![CDATA[
<p>Could someone explain what "democratising" means here? Is it any different than "user-friendly", "enabling" or "simplifying"?</p>
]]></description><pubDate>Wed, 08 Oct 2025 12:07:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=45515238</link><dc:creator>dalke</dc:creator><comments>https://news.ycombinator.com/item?id=45515238</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45515238</guid></item><item><title><![CDATA[New comment by dalke in "Indefinite Backpack Travel"]]></title><description><![CDATA[
<p>I ... probably did?<p>I didn't.<p>Things were a lot looser then. I brought a 6-pack of Negra Modelo as carry-on for a trip to Europe. The airport x-ray staff in Albuquerque recognized it on the screen, which impressed me. They had no problem with it.</p>
]]></description><pubDate>Tue, 07 Oct 2025 14:56:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=45503891</link><dc:creator>dalke</dc:creator><comments>https://news.ycombinator.com/item?id=45503891</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45503891</guid></item><item><title><![CDATA[New comment by dalke in "Indefinite Backpack Travel"]]></title><description><![CDATA[
<p>On the return from my first trip to South Africa I carried 12 bottles of wine in my luggage.<p>That was back when flights included two free checked items.<p>On my second trip to Europe one of my suitcases was full of T-shirt swag to give out at a conference. Lugging both up the stairs, across the train tracks, and back down was a hassle.<p>Both of these were over 20 years ago.<p>And then there's the story at <a href="https://notalwaysright.com/a-steam-powered-cruise/392530/" rel="nofollow">https://notalwaysright.com/a-steam-powered-cruise/392530/</a> of a couple trying to bring a full-size espresso machine on their cruise, so they can have their special coffee.</p>
]]></description><pubDate>Mon, 06 Oct 2025 18:25:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=45494526</link><dc:creator>dalke</dc:creator><comments>https://news.ycombinator.com/item?id=45494526</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45494526</guid></item><item><title><![CDATA[New comment by dalke in "Indefinite Backpack Travel"]]></title><description><![CDATA[
<p>I was a nomad for about a year. Towards the end I was tired of the constant leaving.<p>I asked for advice from an NGO who moves countries often. She said what happens is the NGO members become part of the extended connection, which helps with that situation.<p>Even when I was a nomad, I wouldn't have been without a suitcase. My big hobby then was dancing - mostly salsa and tango - and I needed several changes of clothes and dance shoes. And, umm, not all black clothes.<p>To make it worse, indoor smoking was legal, so I would come home with stinky clothes that I wouldn't want to wear again until washing.<p>I also did some upper undergrad/grad level visiting teaching, and would stay at a staff members home, or in one case the home of the parents of one of the grad students. I brought a dozen or so greeting-style cards with nice pictures of the city I used to live in, so I could leave them as a thank you, with an image of what for them would be an exotic place.</p>
]]></description><pubDate>Mon, 06 Oct 2025 17:50:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=45494061</link><dc:creator>dalke</dc:creator><comments>https://news.ycombinator.com/item?id=45494061</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45494061</guid></item><item><title><![CDATA[New comment by dalke in "Why Is Python So Popular in 2025?"]]></title><description><![CDATA[
<p>I work in a chemistry research field. Most people I know run Python programs for their research. No one I know uses Go. I only know a handful who use Java. Rust and Julia are oddities that appear occasionally.<p>Sure, we have very different experiences. But that also means that unless you can present strong survey data, it's hard to know if your "Most people" is limited to the people you associate with, or is something more broadly true.<p>The PSF overlap with my field is essentially zero. I mean, <i>I</i> was that overlap, but I stopped being involved with the PSF about 8 years ago when my youngest was born and I had no free time or money. In the meanwhile, meaningful PSF involvement became less something a hobbyist project and something more corporatized .. and corporate friendly.<p>> scientists (who buy expensive training courses)<p>ROFL!! What scientists are paying for expensive training courses?!<p>I tried selling training courses to computational chemists. It wasn't worth the time needed to develop and maintain the materials. The people who attended the courses liked them, but the general attitude is "I spent 5 years studying <OBSCURE TOPIC> for my PhD, I can figure out Python on my own."<p>> who are force fed Python at university<p><i>shrug</i> I was force fed Pascal, and have no idea if Wirth was a nice person.<p>> main reason for its popularity in machine learning<p>I started using Python in the 1990s both because of the language and because of the ease of writing C extensions, including reference counting gc, since the C libraries I used had hidden data dependencies that simple FFI couldn't handle.<p>I still use the C API -- direct, through Cython, and through FFI -- and I don't do machine learning.<p>> If it is so popular, why the booster articles?<p>It's an article about a company which sells a Python IDE. They do it to boost their own product.<p>With so many people clearly using Python, why would they spend time boosting something else?</p>
]]></description><pubDate>Wed, 01 Oct 2025 18:14:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=45441131</link><dc:creator>dalke</dc:creator><comments>https://news.ycombinator.com/item?id=45441131</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45441131</guid></item><item><title><![CDATA[New comment by dalke in "UK Petition: Do not introduce Digital ID cards"]]></title><description><![CDATA[
<p>You mean Bank-id på kort? <a href="https://sv.wikipedia.org/wiki/Bank-id#Bank-id_på_kort" rel="nofollow">https://sv.wikipedia.org/wiki/Bank-id#Bank-id_på_kort</a> says it only supports MS Windows and MacOS, not Linux.<p>Fundamentally though, that doesn't change the fact that the US can order a Swedish bank to either freeze access to a customer or the bank can no longer do business in the US.</p>
]]></description><pubDate>Sun, 28 Sep 2025 20:55:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=45407919</link><dc:creator>dalke</dc:creator><comments>https://news.ycombinator.com/item?id=45407919</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45407919</guid></item></channel></rss>