<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: tristramb</title><link>https://news.ycombinator.com/user?id=tristramb</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 05 Apr 2026 21:28:24 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=tristramb" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by tristramb in "A dot a day keeps the clutter away"]]></title><description><![CDATA[
<p>Just behind me where I am sitting at the moment I have 21 RUBs containing my collection of about 42000 pinned out flies (mostly). The RUBs are stacked in and on top of bookshelves. I seem to remember that you could buy a rack to hold them but it looked too flimsy for what I wanted. The flies are pinned out onto plastic foam sheets in small clear plastic presentation boxes, 48 of which fit in each 12 litre RUB. I still have to properly identify about half of the flies. Photos of the presentation boxes and CSV files of the identifications are backed up to <a href="https://github.com/tristrambrelstaff/flies" rel="nofollow">https://github.com/tristrambrelstaff/flies</a>. RUBs have played a significant part in enabling me to manage all this.</p>
]]></description><pubDate>Wed, 01 Apr 2026 11:05:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=47599268</link><dc:creator>tristramb</dc:creator><comments>https://news.ycombinator.com/item?id=47599268</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47599268</guid></item><item><title><![CDATA[New comment by tristramb in "Celebrating Tony Hoare's mark on computer science"]]></title><description><![CDATA[
<p>"To explain what I was doing in logic-driven software architecture I looked for a good metaphor and, on the spot, proposed that there was a kind of “contract” between caller and callee. He did not say anything, but his mere presence had enabled me to make my incipient ideas jell."<p>I hadn't realised that Hoare was present when Meyer first used the term 'contract' to describe his ideas.</p>
]]></description><pubDate>Wed, 18 Mar 2026 13:04:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=47425303</link><dc:creator>tristramb</dc:creator><comments>https://news.ycombinator.com/item?id=47425303</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47425303</guid></item><item><title><![CDATA[New comment by tristramb in "Tony Hoare has died"]]></title><description><![CDATA[
<p>"Around Easter 1961, a course on ALGOL 60 was offered in Brighton, England, with Peter Naur, Edsger W. Dijkstra, and Peter Landin as tutors. I attended this course with my colleague in the language project, Jill Pym, our divisional Technical Manager, Roger Cook, and our Sales Manager, Paul King. It was there that I first learned about recursive procedures and saw how to program the sorting method which I had earlier found such difficulty in explaining. It was there that I wrote the procedure, immodestly named Quicksort, on which my career as a computer scientist is founded.  Due credit must be paid to the genius of the designers of ALGOL 60 who included recursion in their language and enabled me to describe my invention so elegantly to the world. I have regarded it as the highest goal of programming language design to enable good ideas to be elegantly expressed."
- C.A.R Hoare, The Emperor's Old Clothes, Comm. ACM 24(2), 75-83 (February 1981).</p>
]]></description><pubDate>Tue, 10 Mar 2026 21:37:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=47329093</link><dc:creator>tristramb</dc:creator><comments>https://news.ycombinator.com/item?id=47329093</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47329093</guid></item><item><title><![CDATA[New comment by tristramb in "Tell HN: I'm 60 years old. Claude Code has re-ignited a passion"]]></title><description><![CDATA[
<p>I retired in 2024 after a four decade career, mostly programming avionics systems but with a decade of Ruby on Rails towards the end.  I am now sitting here eating popcorn and watching the disaster unfold.  I am happy to be out of it. So long as it doesn't affect my pensions and the local shops still have food...</p>
]]></description><pubDate>Sat, 07 Mar 2026 11:48:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=47286767</link><dc:creator>tristramb</dc:creator><comments>https://news.ycombinator.com/item?id=47286767</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47286767</guid></item><item><title><![CDATA[New comment by tristramb in "Galileo's handwritten notes found in ancient astronomy text"]]></title><description><![CDATA[
<p>It's not unlikely that Donald Knuth looked at examples of 16th Century typesetting when he came to design TeX. Or looked at examples of typesetting that had been influenced by 16th Century typsetting.</p>
]]></description><pubDate>Sat, 07 Mar 2026 10:47:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47286401</link><dc:creator>tristramb</dc:creator><comments>https://news.ycombinator.com/item?id=47286401</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47286401</guid></item><item><title><![CDATA[New comment by tristramb in "Indefinite Book Club Hiatus"]]></title><description><![CDATA[
<p>I think it is a good general principle that, for any process that is likely to be a tempting target for scammers, you should require a non-electronic step to initiate that process. Requiring a physical letter of application for a job, for example.</p>
]]></description><pubDate>Wed, 04 Mar 2026 14:21:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47247721</link><dc:creator>tristramb</dc:creator><comments>https://news.ycombinator.com/item?id=47247721</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47247721</guid></item><item><title><![CDATA[New comment by tristramb in "Indefinite Book Club Hiatus"]]></title><description><![CDATA[
<p>It doesn't have to prevent the scam completely, it just has to make harder for them to scam you than it would be to move on to scam someone else.</p>
]]></description><pubDate>Wed, 04 Mar 2026 14:14:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47247609</link><dc:creator>tristramb</dc:creator><comments>https://news.ycombinator.com/item?id=47247609</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47247609</guid></item><item><title><![CDATA[New comment by tristramb in "On the Design of Programming Languages (1974) [pdf]"]]></title><description><![CDATA[
<p>I seem to remember (but I can't find the source) that Wirth initially had three aims in designing Pascal:<p>1. To use it in teaching a structure programming course to new students. As in the late 60's all student programming was batch mode (submit your program to an operator to run, and pick up the printout the following day), this meant the compiler had to be single-pass and give good error messages.<p>2. To use it in teaching a data structures course involving new data structures worked out by Wirth and Hoare.<p>3. To use it in teaching a compilers course. This meant the compiler code had to be clean and understandable. Being single-pass helped in this.</p>
]]></description><pubDate>Wed, 04 Mar 2026 13:58:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47247462</link><dc:creator>tristramb</dc:creator><comments>https://news.ycombinator.com/item?id=47247462</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47247462</guid></item><item><title><![CDATA[New comment by tristramb in "From Tobacco to Ultraprocessed Food: How Industry Fuels Preventable Disease"]]></title><description><![CDATA[
<p>Personal freedom includes not being manipulated by commercial interests.</p>
]]></description><pubDate>Tue, 03 Feb 2026 09:52:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=46868882</link><dc:creator>tristramb</dc:creator><comments>https://news.ycombinator.com/item?id=46868882</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46868882</guid></item><item><title><![CDATA[New comment by tristramb in "British redcoat's lost memoir reveals realities of life as a disabled veteran"]]></title><description><![CDATA[
<p>The Empire was self-financing. Taxes on trade paid for the ships and sailors to protect the trade routes (with a fair bit left over).</p>
]]></description><pubDate>Tue, 20 Jan 2026 11:01:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=46690506</link><dc:creator>tristramb</dc:creator><comments>https://news.ycombinator.com/item?id=46690506</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46690506</guid></item><item><title><![CDATA[New comment by tristramb in "Photographing the hidden world of slime mould"]]></title><description><![CDATA[
<p>Many years ago (or so it seems now), I was turned on to slime moulds by the photos of Kim Fleming on Flickr (<a href="https://www.flickr.com/photos/myriorama/albums/1271006/" rel="nofollow">https://www.flickr.com/photos/myriorama/albums/1271006/</a>). The undersides of logs can be a good place to find them.</p>
]]></description><pubDate>Fri, 09 Jan 2026 12:10:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=46553055</link><dc:creator>tristramb</dc:creator><comments>https://news.ycombinator.com/item?id=46553055</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46553055</guid></item><item><title><![CDATA[New comment by tristramb in "Two ways to crack a walnut, per Grothendieck (2025)"]]></title><description><![CDATA[
<p>The Grothendieck method can be applied to implementing a new feature in a software system. You just refactor the existing code until the implementation of the new feature becomes trivial.</p>
]]></description><pubDate>Wed, 07 Jan 2026 12:46:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=46525814</link><dc:creator>tristramb</dc:creator><comments>https://news.ycombinator.com/item?id=46525814</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46525814</guid></item><item><title><![CDATA[New comment by tristramb in "The Late Arrival of 16-Bit CP/M"]]></title><description><![CDATA[
<p>In 'Managing Technical People', 1997, page 199, Watts Humphrey says that, after several failed attempts to produce a PC by IBM procedures, they set up an independent team that could skip the procedures as necessary to get the job done. This worked in the short term but it had two side-effects that were catastrophic in the long term: they lost control of the operating system to Microsoft, and they also lost control of the chips to Intel. He says both of these side-effects would have been caught by the checks inherent in the normal IBM procedures.</p>
]]></description><pubDate>Sun, 04 Jan 2026 14:30:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=46488272</link><dc:creator>tristramb</dc:creator><comments>https://news.ycombinator.com/item?id=46488272</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46488272</guid></item><item><title><![CDATA[New comment by tristramb in "Children and Helical Time"]]></title><description><![CDATA[
<p>I recently came to realise that my memories of my experiences of early childhood are probably greatly affected by seeing my younger siblings going through those same experiences a few years later. At age five or six I would see my mother reading to them on the sofa and they would be lying with their heads on her tummy feeling her warmth and listening to her heartbeat and stomach gurgles. Seeing this would remind me of when I used to do that, thus reinforcing those memories and probably somewhat distorting them. One of the distortions is that this memory is set in the house we moved to when I was four, and most of my own relevant experiences would have been set in our previous house. I think the accumulation of memories is a bit like training an LLM on a combination of new data and its own data.</p>
]]></description><pubDate>Thu, 01 Jan 2026 12:26:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=46453554</link><dc:creator>tristramb</dc:creator><comments>https://news.ycombinator.com/item?id=46453554</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46453554</guid></item><item><title><![CDATA[New comment by tristramb in "10 years of writing a blog nobody reads"]]></title><description><![CDATA[
<p>It always pleases me to see pictures of NGC 4216, the edge-on spiral galaxy with a star beside its nucleus. I used to use it as a pointer to the short-period contact binary star CC Comae Berenices back when I used observe eclipsing binaries with my Celestron 8.</p>
]]></description><pubDate>Tue, 02 Dec 2025 10:18:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=46119684</link><dc:creator>tristramb</dc:creator><comments>https://news.ycombinator.com/item?id=46119684</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46119684</guid></item><item><title><![CDATA[New comment by tristramb in "New Work by Gary Larson"]]></title><description><![CDATA[
<p>Same here. My first though was 'This is an AI prompt.'</p>
]]></description><pubDate>Sat, 18 Oct 2025 20:20:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=45630098</link><dc:creator>tristramb</dc:creator><comments>https://news.ycombinator.com/item?id=45630098</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45630098</guid></item><item><title><![CDATA[New comment by tristramb in "Monumental rock art: humans thrived in Arab. Desert during Pleistocene-Holocene"]]></title><description><![CDATA[
<p>+1 for quoting Kipling in 2025</p>
]]></description><pubDate>Wed, 08 Oct 2025 15:46:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=45517434</link><dc:creator>tristramb</dc:creator><comments>https://news.ycombinator.com/item?id=45517434</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45517434</guid></item><item><title><![CDATA[New comment by tristramb in "Category Theory Illustrated – Natural Transformations"]]></title><description><![CDATA[
<p>Yes. When you are specifying a system you are building the category that you want it to live in.</p>
]]></description><pubDate>Wed, 01 Oct 2025 15:25:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=45438839</link><dc:creator>tristramb</dc:creator><comments>https://news.ycombinator.com/item?id=45438839</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45438839</guid></item><item><title><![CDATA[New comment by tristramb in "Category Theory Illustrated – Natural Transformations"]]></title><description><![CDATA[
<p>Take a mapping a and precompose it with the identity mapping i.
By the definition of the identity mapping the resulting composition is equal to a.<p><pre><code>  i;a = a
</code></pre>
(Here ';' represents forward composition. Mathematicians tend to use backward composition represented by '∘' but I find backward composition awkward and error-prone and so avoid using it.)<p>Now, if there is another mapping j that is different from i, such that<p><pre><code>  j;a = a
</code></pre>
then the mapping a loses information.
By this I mean that if you are given the value of a(x) you cannot always determine what x was.
To understand this properly you may need to work through a simple example by drawing circles, dots and arrows on a piece of paper.<p>If there is no such j then mapping a is said to be a monomorphism or injection (the set theoretic term) and it does not lose information.<p>This specification of the property 'loses information' only involves mapping equality and mapping composition.
It does not involve sets or elements of sets.<p>An example of a mapping that loses information would be the capitalization of strings of letters.
An example of a mapping that you would not want to lose information would be zip file compression.<p>If you alter the above specification to use post-composition (a;i = a and a;j = a) instead of pre-composition you get epimorphisms or surjections which capture the idea that a mapping constrains all the values in its codomain.
I like to think of this as the mapping does not return uninitialized values or 'junk' as it is sometimes called.<p>Bartosz Milewski works through this in more detail (including from the set-theoretic side) in the last 10 minutes of <a href="https://www.youtube.com/watch?v=O2lZkr-aAqk&list=PLbgaMIhjbmEnaH_LTkxLI7FMa2HsnawM_&index=4" rel="nofollow">https://www.youtube.com/watch?v=O2lZkr-aAqk&list=PLbgaMIhjbm...</a> and the first 10 minutes of <a href="https://www.youtube.com/watch?v=NcT7CGPICzo&list=PLbgaMIhjbmEnaH_LTkxLI7FMa2HsnawM_&index=5" rel="nofollow">https://www.youtube.com/watch?v=NcT7CGPICzo&list=PLbgaMIhjbm...</a>.</p>
]]></description><pubDate>Wed, 01 Oct 2025 14:27:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=45438121</link><dc:creator>tristramb</dc:creator><comments>https://news.ycombinator.com/item?id=45438121</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45438121</guid></item><item><title><![CDATA[New comment by tristramb in "Category Theory Illustrated – Natural Transformations"]]></title><description><![CDATA[
<p>So category theory is really the theory of composition of mappings. I conjecture that all programming can be seen as just the composition of mappings. If this is correct then category theory is a theory of programming.</p>
]]></description><pubDate>Wed, 01 Oct 2025 12:44:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=45437030</link><dc:creator>tristramb</dc:creator><comments>https://news.ycombinator.com/item?id=45437030</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45437030</guid></item></channel></rss>