<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: mreid</title><link>https://news.ycombinator.com/user?id=mreid</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 01 May 2026 08:37:49 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=mreid" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by mreid in "Ghostty is leaving GitHub"]]></title><description><![CDATA[
<p>Thanks for sharing that link. My GitHub ID is 484.<p>I had no idea that I joined so early. It says I joined in 20/2/2008. I guess I was following some of the founders' work in Rails when GitHub was announced and must have signed up shortly after it got started.</p>
]]></description><pubDate>Tue, 28 Apr 2026 23:58:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47942484</link><dc:creator>mreid</dc:creator><comments>https://news.ycombinator.com/item?id=47942484</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47942484</guid></item><item><title><![CDATA[New comment by mreid in "A sane but bull case on Clawdbot / OpenClaw"]]></title><description><![CDATA[
<p>> When my partner goes to the store I get periodic text messages from them asking how much X we have and to check I look in the fridge or pantry in the kitchen and then go downstairs to the fridge or pantry in the basement.<p>We used to have a similar problem until we made a policy that if you use something up you add it to our shared shopping list, usually with a voice command to Siri. Whenever someone is at the store we just check the list, making sure we mark off things that are purchased.</p>
]]></description><pubDate>Thu, 05 Feb 2026 00:22:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=46893920</link><dc:creator>mreid</dc:creator><comments>https://news.ycombinator.com/item?id=46893920</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46893920</guid></item><item><title><![CDATA[New comment by mreid in "Gemini 3.0 spotted in the wild through A/B testing"]]></title><description><![CDATA[
<p>We've come a long way in 40 years from Racter's automatically generated poetry: <a href="https://www.101bananas.com/poems/racter.html" rel="nofollow">https://www.101bananas.com/poems/racter.html</a><p>I always found this one a little poignant:<p><pre><code>  More than iron
  More than lead
  More than gold I need electricity
  I need it more than I need lamb or pork or lettuce or cucumber
  I need it for my dreams</code></pre></p>
]]></description><pubDate>Fri, 17 Oct 2025 05:24:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=45613550</link><dc:creator>mreid</dc:creator><comments>https://news.ycombinator.com/item?id=45613550</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45613550</guid></item><item><title><![CDATA[New comment by mreid in "What Is the Fourier Transform?"]]></title><description><![CDATA[
<p>On your site you make the claim that: "Our thesis is that there is 100 years of physics and math research that has gone unnoticed by the CS/ML communities and we intend to rectify that."<p>Extraordinary claims require extraordinary evidence. Especially considering that a decent fraction of the CS/ML researchers that I know have solid physics and math backgrounds. Just of the top of my head, Marcus Hutter, David MacKay, Bernhard Scholkopf, Alex Smola, Max Welling, Christopher Bishop, etc. are/were prominent researchers with strong math and physics backgrounds. More recently Jared Kaplan and Dario Amodei at Anthropic also have physics backgrounds, as well as plenty of people at DeepMind.<p>To claim that you have noticed something in "100 years of physics and math research" that all of those people (and more) have missed and you didn't is pure hubris.</p>
]]></description><pubDate>Thu, 04 Sep 2025 23:40:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=45133485</link><dc:creator>mreid</dc:creator><comments>https://news.ycombinator.com/item?id=45133485</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45133485</guid></item><item><title><![CDATA[New comment by mreid in "Don't Build Multi-Agents"]]></title><description><![CDATA[
<p>Is it concerning to anyone else that the "Simple & Reliable" and "Reliable on Longer Tasks" diagrams look kind of like the much maligned waterfall design process?</p>
]]></description><pubDate>Mon, 01 Sep 2025 22:44:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=45097264</link><dc:creator>mreid</dc:creator><comments>https://news.ycombinator.com/item?id=45097264</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45097264</guid></item><item><title><![CDATA[New comment by mreid in "Show HN: Beyond Z²+C, Plot Any Fractal"]]></title><description><![CDATA[
<p>I also had to convince my parents to buy me books about fractals. My prized possession as a 15 year old was a copy of Mandelbrot's "Fractal Geometry of Nature". A lot of it went over my head but it had some gorgeous colour plates and interesting sections. I still have it at home some 35 years later.<p>That also inspired me to write IFS code for ferns, Sierpinski gaskets, and Menger sponges in 68k assembler (after realizing AmigaBASIC was too slow).</p>
]]></description><pubDate>Wed, 16 Jul 2025 00:46:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=44577549</link><dc:creator>mreid</dc:creator><comments>https://news.ycombinator.com/item?id=44577549</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44577549</guid></item><item><title><![CDATA[New comment by mreid in "To be a better programmer, write little proofs in your head"]]></title><description><![CDATA[
<p>Thanks, I hadn't seen that term before.<p>Just to be clear, I wasn't claiming that "communicating clearly" is a new idea in software engineering, I'm mainly commenting on how effective embracing it can be.<p>When doing math, pretty much every term is "load-bearing" in that arguments will make use of specific aspects of a concept and how it relates to other concepts.<p>If you look at most graduate-level math textbooks or papers, they typically start with a whole bunch of numbered definitions that reference each other, followed by some simple lemmas or propositions that establish simple relationships between them before diving into more complex theorems and proofs.<p>The best software projects I've seen follow a roughly similar pattern: there are several "core" functions or libraries with a streamlined API, good docs, and solid testing; on top of that there are more complex processes that treat these as black-boxes and can rely on their behavior being well-defined and consistent.<p>Probably the common thread between math and programming is both lean heavily on abstraction as a core principle.</p>
]]></description><pubDate>Wed, 16 Jul 2025 00:42:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=44577524</link><dc:creator>mreid</dc:creator><comments>https://news.ycombinator.com/item?id=44577524</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44577524</guid></item><item><title><![CDATA[New comment by mreid in "To be a better programmer, write little proofs in your head"]]></title><description><![CDATA[
<p>Another thing I learnt from my math degree that I find helps a lot when programming and software engineering more generally is *defining your terms*.<p>So many communication issues on teams occur when people are using the same words to mean different things.</p>
]]></description><pubDate>Tue, 15 Jul 2025 23:33:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=44577042</link><dc:creator>mreid</dc:creator><comments>https://news.ycombinator.com/item?id=44577042</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44577042</guid></item><item><title><![CDATA[New comment by mreid in "Show HN: Beyond Z²+C, Plot Any Fractal"]]></title><description><![CDATA[
<p>As someone who taught myself 68000 assembler as a kid in order to render Mandelbrot and Julia sets quickly it still blows my mind a little that fairly hi-res versions of these can be rendered basically instantaneously in a browser using an interpreted language.</p>
]]></description><pubDate>Tue, 15 Jul 2025 21:36:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=44576055</link><dc:creator>mreid</dc:creator><comments>https://news.ycombinator.com/item?id=44576055</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44576055</guid></item><item><title><![CDATA[New comment by mreid in "Writing Code Was Never the Bottleneck"]]></title><description><![CDATA[
<p>A lot of those skills come from thinking about development in a team as a system and ask where do things frequently go wrong or take too long?<p>Practice clearly and concisely expressing what you understand the problem to be. This could be a problem with some code, some missing knowledge, or a bad process.<p>Check to see whether everyone understands and agrees. If not, try to target the root of the misunderstanding and try again. Sometimes you’ll need to write a short document to make things clear.  Once there is a shared understanding then people can start taking about solutions. Once everyone agrees on a solution, someone can go implement it.<p>Like any skill, if you practice this loop often enough and take time to reflect on what worked and what didn’t, you slowly find that you develop a facility for it.</p>
]]></description><pubDate>Thu, 03 Jul 2025 10:48:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=44453671</link><dc:creator>mreid</dc:creator><comments>https://news.ycombinator.com/item?id=44453671</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44453671</guid></item><item><title><![CDATA[New comment by mreid in "Entropy of a Mixture"]]></title><description><![CDATA[
<p>Really nice presentation of divergences. I made a similar attempt (math + interactive JS visualizations) a long time ago for the Bregman divergences: <a href="https://mark.reid.name/blog/meet-the-bregman-divergences.html" rel="nofollow">https://mark.reid.name/blog/meet-the-bregman-divergences.htm...</a><p>These visualizations are much nicer than mine though.<p>Curious fact, the Bregman divergences are a different class of divergences to the f-divergences that intersect at the KL divergence. That is, KL is (essentially) the only divergence that is both an f-divergence and a Bregman divergence. This is basically because log turns a ratio into a difference.</p>
]]></description><pubDate>Mon, 30 Jun 2025 23:35:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=44429067</link><dc:creator>mreid</dc:creator><comments>https://news.ycombinator.com/item?id=44429067</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44429067</guid></item><item><title><![CDATA[New comment by mreid in "A new pyramid-like shape always lands the same side up"]]></title><description><![CDATA[
<p>A sphere is not a tetrahedron.</p>
]]></description><pubDate>Wed, 25 Jun 2025 22:49:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=44382509</link><dc:creator>mreid</dc:creator><comments>https://news.ycombinator.com/item?id=44382509</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44382509</guid></item><item><title><![CDATA[New comment by mreid in "Human coders are still better than LLMs"]]></title><description><![CDATA[
<p>I'm guessing it is a derogatory pun, alluding to vibe coders.</p>
]]></description><pubDate>Thu, 29 May 2025 21:49:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=44130721</link><dc:creator>mreid</dc:creator><comments>https://news.ycombinator.com/item?id=44130721</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44130721</guid></item><item><title><![CDATA[New comment by mreid in "What does “Undecidable” mean, anyway"]]></title><description><![CDATA[
<p>These are definitely thought-provoking questions and there are branches of mathematical philosophy such as constructivism and mathematical intuitionism that explore these.<p>Even if computation is not directly part of the laws of physics, knowing that humans and our computers are limited to things that are finite and computable might place limits on how we can appreciate how the universe works.<p>This is kind of a digression but if you (or others) are interested in some examples of things that are right on the edge of these questions you should check out the [busy beaver function](<a href="https://www.quantamagazine.org/amateur-mathematicians-find-fifth-busy-beaver-turing-machine-20240702/" rel="nofollow">https://www.quantamagazine.org/amateur-mathematicians-find-f...</a>). This tell you the maximum number of steps an n-state Turing machine can take before halting.</p>
]]></description><pubDate>Thu, 29 May 2025 07:48:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=44123907</link><dc:creator>mreid</dc:creator><comments>https://news.ycombinator.com/item?id=44123907</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44123907</guid></item><item><title><![CDATA[New comment by mreid in "What does “Undecidable” mean, anyway"]]></title><description><![CDATA[
<p>Sure, “arbitrary” is a suitable term here too. A random process is just one way to generate an arbitrary function.<p>My use of “random” here was referring to the coin flipping process and was more for building intuition than precisely specifying all the other non-expressible functions. I was trying to allude to the fact that these other type of functions don’t have any easily expressible process behind them. When I’ve taught this stuff in the past I’ve found that people latch onto coin flipping more easily that imagining some arbitrary assignment of values.<p>For what it’s worth, I used to be a researcher in probability and information theory and have published papers on those topics so I am aware of the various technical definitions of randomness (Kolmogorov axioms, algorithmic probability theory, etc.)<p>I think you’re right about my comment being a little too lengthy for most people to find useful. I started explaining this stuff and got carried away.</p>
]]></description><pubDate>Thu, 29 May 2025 07:35:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=44123859</link><dc:creator>mreid</dc:creator><comments>https://news.ycombinator.com/item?id=44123859</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44123859</guid></item><item><title><![CDATA[New comment by mreid in "What does “Undecidable” mean, anyway"]]></title><description><![CDATA[
<p>I think you are experiencing the same confusion I felt when I first started thinking about the difference between a program and a function.<p>The set of all possible mapping from all possible finite strings to booleans is definitely *not* countable.<p>What I (and the article) mean by a "function" `f : string -> boolean` here is any arbitrary assignment of a single boolean value to every possible string. Let's consider two examples:<p>1. Some "expressible" function like "f(s) returns True if the length of s is odd, and returns False otherwise".<p>2. Some "random" function where some magical process has listed out every possible string and then, for each string, flipped a coin and assigned that string True if the coin came up heads, and False if it came up tails and wrote down all the results in a infinite table and called that the function f.<p>The first type of "expressible" function is the type that we most commonly encounter and that we can implement as programs (i.e., a list of finitely many instructions to go from string to boolean).<p>Nearly all of the second type of function -- the "random" ones -- cannot be expressible using a program. The only way to capture the function's behavior is to write down the infinite look-up table that assigns each string a boolean value.<p>Now you are probably asking, "How do you know that the infinite tables cannot be expressed using some program?" and the answer is because there are too many possible infinite tables.<p>To give you an intuition for this, consider all the way we can assign boolean values to the strings "a", "b", and "c": there are 2^3 = 8. For any finite set X of n strings there will be 2^n possible tables that assign a boolean value to each string in X. The critical thing here is that 2^n is always strictly larger than n for all n >= 1.<p>This fact that there are more tables mapping strings to boolean than strings still holds even when there are infinitely many strings. What exactly we mean by "more" here is what Cantor and others developed. They said that a set A has more things than a set B if you consider all possible ways you can pair a thing from A with a thing from B there will always be things in A that are left over (i.e., not paired with anything from B).<p>Cantor's diagonalization argument applied here is the following: let S be the set of all finite strings and F be the set of all functions/tables that assigns a boolean to each element in S (this is sometimes written F = 2^S). Now suppose F was countable. By definition, that would mean that there is a pairing that assigns each natural number to exactly one function from F with none left over. The set S of finite strings is also countable so there is also a pairing from natural numbers to all elements of S. This means we can pair each element of S with exactly one element of F by looking up the natural number n assigned to s \in S and pairing s with the element f \in F that was also assigned to n. Crucially, what assuming the countability of F means is that if you give me a string s then there is always single f_s that is paired with s. Conversely, if you give me an f \in F there must be exactly one string s_f that is paired with that f.<p>We are going to construct a new function f' that is not in F. The way we do this is by defining f'(s) = not f_s(s). That is, f'(s) takes the input string s, looks up the function f_s that is paired with s, calculates the value of f_s(s) then flips its output.<p>Now we can argue that f' cannot be in F since it is different to every other function in F. Why? Well, suppose f' was actually some f \in F then since F is countable we know it must have some paired string s, that is, f' = f_s for some string s. Now if we look at the value of f'(s) it must be the same as f_s(s) since f' = f_s. But also f'(s) = not f_s(s) by the way we defined f' so we get that f_s(s) = not f_s(s) which is a contradiction. Therefore f' cannot be in F and thus our premise that F was countable must be wrong.<p>Another way to see this is that, by construction, f' is different to every other function f in F, specifically on the input value s that is paired with f.<p>Thus, the set F of all functions from strings to boolean must be uncountable.</p>
]]></description><pubDate>Thu, 29 May 2025 05:10:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=44123313</link><dc:creator>mreid</dc:creator><comments>https://news.ycombinator.com/item?id=44123313</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44123313</guid></item><item><title><![CDATA[New comment by mreid in "What does “Undecidable” mean, anyway"]]></title><description><![CDATA[
<p>I had exactly the same reaction, which prompted me to write this comment: <a href="https://news.ycombinator.com/item?id=44122045">https://news.ycombinator.com/item?id=44122045</a></p>
]]></description><pubDate>Thu, 29 May 2025 00:59:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=44122054</link><dc:creator>mreid</dc:creator><comments>https://news.ycombinator.com/item?id=44122054</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44122054</guid></item><item><title><![CDATA[New comment by mreid in "What does “Undecidable” mean, anyway"]]></title><description><![CDATA[
<p>This is a really nice explanation of decidability. One extra thing it might be worth mentioning is that there are many more <i>functions</i> `f : string -> boolean` then there are programs that implement those functions.<p>When I first encountered this topic I had trouble intuitively understanding how there could not exist an `IS_HALTING` function when it is also just a function that takes in a string (representing a program plus its inputs) and outputs True or False depending on whether it halts or not.<p>The argument in the article does a great job of showing that `IS_HALTING` cannot exist because it is in some sense "too powerful" but that means there is a mapping f : strings -> boolean that cannot be represented as a program, which seems weird if you've been programming for ages and every function you encounter is expressed as a program.<p>The result becomes less weird when you realize that that <i>almost all</i> functions from string -> boolean are not expressible as a program. Why? Well there are countable many programs since there are only countably many finite length strings and every program, by definition, is a finite length string. However, there are uncountably many functions from string -> boolean since these functions map one-to-one to sets of strings (just let the set be all inputs that map to True) and the cardinality of the set of sets of strings is uncountable.<p>This is essentially due to Cantor's diagonalization argument which shows you cannot put all elements in a set X into a 1-1 correspondence with all the subsets of X, even when X is countably infinite. This fact is at the heart of a lot of these computability results since it shows there is a gap between all functions (= any arbitrary subset of finite strings) and a program (= a finite string).</p>
]]></description><pubDate>Thu, 29 May 2025 00:57:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=44122045</link><dc:creator>mreid</dc:creator><comments>https://news.ycombinator.com/item?id=44122045</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44122045</guid></item><item><title><![CDATA[New comment by mreid in "Microplastics in the human brain"]]></title><description><![CDATA[
<p>I must have some of that microplastic in my brain since I misread the start of the title as "Human, Brian May, ..." and then couldn't parse the rest properly.</p>
]]></description><pubDate>Thu, 06 Feb 2025 01:51:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=42958001</link><dc:creator>mreid</dc:creator><comments>https://news.ycombinator.com/item?id=42958001</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42958001</guid></item><item><title><![CDATA[New comment by mreid in "AI poetry is indistinguishable from human poetry and is rated more favorably"]]></title><description><![CDATA[
<p>The program Racter (which, from what I understand, was a basic MDP) was generating poetry in the 1980s that was published, read, criticized, and presented in museums: <a href="https://www.101bananas.com/poems/racter.html" rel="nofollow">https://www.101bananas.com/poems/racter.html</a><p>I remember this as one of its poems was used on on the t-shirts of the computing social club that I was part of as a postgrad student:<p><pre><code>  More than iron
  More than lead
  More than gold I need electricity
  I need it more than I need lamb or pork or lettuce or cucumber
  I need it for my dreams</code></pre></p>
]]></description><pubDate>Tue, 03 Dec 2024 21:16:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=42311549</link><dc:creator>mreid</dc:creator><comments>https://news.ycombinator.com/item?id=42311549</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42311549</guid></item></channel></rss>