<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: ogogmad</title><link>https://news.ycombinator.com/user?id=ogogmad</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 15 Apr 2026 11:06:16 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=ogogmad" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by ogogmad in "Not all elementary functions can be expressed with exp-minus-log"]]></title><description><![CDATA[
<p>On a tangent: I've tried to connect Euclid's Elements with quantifier elimination theorems. It looks like most of the geometry follows from QE of real-closed fields. Some of the number theory relates to Presburger arithmetic. Some other number theory, including the irrationality of sqrt(2), is down to Skolem. The Pythagorean triples relate to extending Skolem to the Gaussian integers. I suspect some of the "embryonic" integral calculus could be related to holonomic functions, which seem like they admit a form of QE.<p>Don't have anything for the perfect numbers though.</p>
]]></description><pubDate>Wed, 15 Apr 2026 07:19:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47775721</link><dc:creator>ogogmad</dc:creator><comments>https://news.ycombinator.com/item?id=47775721</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47775721</guid></item><item><title><![CDATA[New comment by ogogmad in "Simplest Hash Functions"]]></title><description><![CDATA[
<p>Let's consider a hash table with an allocation of 1MB, which is about 2^20 bytes. Assume also that each entry occupies a byte. Assuming that the hash function's values are distributed randomly, the probability of there being a collision with only 1000 entries is approximately 38% = 1-(2^20)!/(2^20 - 1000)!/(2^20)^1000. See the "Birthday Problem".</p>
]]></description><pubDate>Sun, 12 Apr 2026 09:47:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=47737752</link><dc:creator>ogogmad</dc:creator><comments>https://news.ycombinator.com/item?id=47737752</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47737752</guid></item><item><title><![CDATA[Chlorpromazine]]></title><description><![CDATA[
<p>Article URL: <a href="https://en.wikipedia.org/wiki/Chlorpromazine">https://en.wikipedia.org/wiki/Chlorpromazine</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47688989">https://news.ycombinator.com/item?id=47688989</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 08 Apr 2026 11:59:07 +0000</pubDate><link>https://en.wikipedia.org/wiki/Chlorpromazine</link><dc:creator>ogogmad</dc:creator><comments>https://news.ycombinator.com/item?id=47688989</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47688989</guid></item><item><title><![CDATA[New comment by ogogmad in "Japanese, French and Omani vessels cross Strait of Hormuz"]]></title><description><![CDATA[
<p>Just about a week ago, Trump was joking about Pearl Harbor on TV while the Japanese PM was sitting right next to him. What's more, she's a nationalist.</p>
]]></description><pubDate>Sun, 05 Apr 2026 15:09:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47650221</link><dc:creator>ogogmad</dc:creator><comments>https://news.ycombinator.com/item?id=47650221</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47650221</guid></item><item><title><![CDATA[Does Syntax Matter?]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.gingerbill.org/article/2026/02//does-syntax-matter/#heading-2-13">https://www.gingerbill.org/article/2026/02//does-syntax-matter/#heading-2-13</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47607725">https://news.ycombinator.com/item?id=47607725</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Wed, 01 Apr 2026 23:05:02 +0000</pubDate><link>https://www.gingerbill.org/article/2026/02//does-syntax-matter/#heading-2-13</link><dc:creator>ogogmad</dc:creator><comments>https://news.ycombinator.com/item?id=47607725</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47607725</guid></item><item><title><![CDATA[New comment by ogogmad in "Intuiting Pratt Parsing"]]></title><description><![CDATA[
<p>I'm sure there's a middle ground which still gives you some of the metaprogramming power of Lisp. OTOH this: <a href="https://www.gingerbill.org/article/2026/02/21/does-syntax-matter/" rel="nofollow">https://www.gingerbill.org/article/2026/02/21/does-syntax-ma...</a></p>
]]></description><pubDate>Wed, 01 Apr 2026 20:17:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=47605974</link><dc:creator>ogogmad</dc:creator><comments>https://news.ycombinator.com/item?id=47605974</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47605974</guid></item><item><title><![CDATA[New comment by ogogmad in "Intuiting Pratt Parsing"]]></title><description><![CDATA[
<p>Some people appreciate that an LR/LALR parser generator can <i>prove</i> non-ambiguity and linear time parse-ability of a grammar. A couple of examples are the creator of the Oil shell, and one of the guys responsible for Rust.<p>It does make me wonder though about why grammars have to be so complicated that such high-powered tools are needed. Isn't the gist of LR/LALR that the states of an automaton that can parse CFGs can be serialised to strings, and the set of those strings forms a regular language? Once you have that, many desirable "infinitary" properties of a parsing automaton can be automatically checked in finite time. LR and LALR fall out of this, in some way.</p>
]]></description><pubDate>Wed, 01 Apr 2026 14:47:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47601697</link><dc:creator>ogogmad</dc:creator><comments>https://news.ycombinator.com/item?id=47601697</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47601697</guid></item><item><title><![CDATA[New comment by ogogmad in "Intuiting Pratt Parsing"]]></title><description><![CDATA[
<p>I think even the theory of Regular Languages is somewhat overdone: You can get the essence of what NFAs are without really needing NFAs. You can get O(n) string matching without formally implementing NFAs, or using any other formal model like regex-derivatives. In fact, thinking in terms of NFAs makes it harder to see how to implement negation (or "complement" if you prefer to call it that) efficiently. It's still only linear time!<p>The need for NFA/DFA/derivative models is <i>mostly</i> unnecessary because ultimately, REG is just DSPACE(O(1)). That's it. Thinking in any other way is confusing the map with the territory. Furthermore, REG is extremely robust, because we also have REG = DSPACE(o(log log n)) = NSPACE(o(log log n)) = 1-DSPACE(o(log n)). For help with the notation, see here: <a href="https://en.wikipedia.org/wiki/DSPACE" rel="nofollow">https://en.wikipedia.org/wiki/DSPACE</a></p>
]]></description><pubDate>Wed, 01 Apr 2026 12:04:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=47599699</link><dc:creator>ogogmad</dc:creator><comments>https://news.ycombinator.com/item?id=47599699</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47599699</guid></item><item><title><![CDATA[New comment by ogogmad in "Intuiting Pratt Parsing"]]></title><description><![CDATA[
<p>Quick other one: To parse infix expressions, every time you see "x·y | (z | w)", find the operator of least binding power: In my example, I've given "|" less binding power than "·". Anyway, this visually breaks the expression into two halves: "x·y" and "(z | w)". Recursively parse those two subexpressions. Essentially, that's it.<p>The symbols "·" and "|" don't mean anything - I've chosen them to be visually intuitive: The "|" is supposed to look like a physical divider. Also, bracketed expressions "(...)" or "{...}" should be parsed first.<p>Wikipedia mentions that a variant of this got used in FORTRAN I. You could also speed up my naive O(n^2) approach by using Cartesian trees, which you can build using something suspiciously resembling precedence climbing.</p>
]]></description><pubDate>Wed, 01 Apr 2026 11:38:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47599506</link><dc:creator>ogogmad</dc:creator><comments>https://news.ycombinator.com/item?id=47599506</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47599506</guid></item><item><title><![CDATA[New comment by ogogmad in "Why the US Navy won't blast the Iranians and 'open' Strait of Hormuz"]]></title><description><![CDATA[
<p>It's not a 2,000 year old dispute. Zionism began in around 1900. It was spearheaded until recently by "secular" Jews, who were borderline atheist. The Jewish religious texts themselves make wishing for a "return to Zion and Jerusalem" sound like wishing for a utopia or world peace. It pretty much reads like a metaphor, not like a political programme. Finally, most highly devout Jews were strongly opposed to Zionism, at least until after WW2.</p>
]]></description><pubDate>Wed, 01 Apr 2026 10:40:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=47599110</link><dc:creator>ogogmad</dc:creator><comments>https://news.ycombinator.com/item?id=47599110</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47599110</guid></item><item><title><![CDATA[New comment by ogogmad in "Why the US Navy won't blast the Iranians and 'open' Strait of Hormuz"]]></title><description><![CDATA[
<p>So America can put other countries' leaders on trial - like the Nazis in Nuremberg, or Saddam Hussein - but not their own, for war crimes.</p>
]]></description><pubDate>Wed, 01 Apr 2026 10:32:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=47599071</link><dc:creator>ogogmad</dc:creator><comments>https://news.ycombinator.com/item?id=47599071</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47599071</guid></item><item><title><![CDATA[New comment by ogogmad in "Ohm's Peg-to-WASM Compiler"]]></title><description><![CDATA[
<p>I understand what a CFG is and why Dyck's language (matching parens) is not a regular language. My point was that CFG/CFL is less motivated by a reasonable and uniquely characterising constraint - such as making memory usage independent of the size of an input string - than regex is.<p>Then again, you are right that CFGs are very natural. And they do admit a few easy O(n^3) parsing algorithms, like Earley and CYK.<p>I think your last sentence relates to Visible Pushdown Grammars. See also Operator Precedence Grammars.</p>
]]></description><pubDate>Mon, 30 Mar 2026 01:25:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47569387</link><dc:creator>ogogmad</dc:creator><comments>https://news.ycombinator.com/item?id=47569387</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47569387</guid></item><item><title><![CDATA[New comment by ogogmad in "Ohm's Peg-to-WASM Compiler"]]></title><description><![CDATA[
<p>I had the impression that PEG and Earley/GLR all fully solved the parsing problem, but in different ways. But then recently, I found this guy's blog: <a href="https://www.oilshell.org/blog/tags.html?tag=parsing#parsing" rel="nofollow">https://www.oilshell.org/blog/tags.html?tag=parsing#parsing</a><p>Now I don't know what to think. The author's got a ton more experience than me. It seems there's a big enough market out there for people wanting non-ambiguity proofs and linear running-time proofs.<p>Then again, the more I think about parsing, the more I think it's a completely made-up problem. I'm pretty sure there's a middle ground between Lisp (or even worse, Forth) and Python. Fancy parsing has robbed us of the possibilities of metaprogramming and instead opened up a market for Stephen Wolfram, whose product features a homo-iconic language.<p>I've been gorging on Formal Language Theory literature recently. I am now fully convinced that Regular Languages are a very good idea: They are precisely the string-search problems that can be solved in <i>constant space</i>. If you had to find occurrences of certain patterns in a massive piece of text, you would naturally try to keep the <i>memory usage</i> of your search program independent of the text's size. But the theory of Regular Languages only <i>actually</i> gets off the ground when you wonder if Regular Languages are closed under concatenation or not. It turns out that they <i>are</i> closed under concatenation, but this requires representing them as Non-Deterministic Finite-State Automata - which leads to the Kleene Star operation and then Regular Expressions. This is a non-obvious piece of theory which solves a well-formulated problem. So now I suspect that if history were to repeat again, Regular Expressions would still have been invented and used for the same reasons.<p>By contrast, I find Context-Free Grammars much more dubious, and LR almost offensive? The problem with LR is I can't find a description of <i>what it is</i> that isn't just a gory description of <i>how it works</i>. And furthermore, it doesn't appear to relate to anything other than parsing. There's no description anywhere of how any of its ideas could be used in any other area.</p>
]]></description><pubDate>Sun, 29 Mar 2026 23:41:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47568659</link><dc:creator>ogogmad</dc:creator><comments>https://news.ycombinator.com/item?id=47568659</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47568659</guid></item><item><title><![CDATA[New comment by ogogmad in "The Failure of the Thermodynamics of Computation (2010)"]]></title><description><![CDATA[
<p>I'm not sure, but isn't 2 standard deviations a bit low? Especially so for something that can be done in a lab. It seems that 2 SD is the minimum threshold for getting published. Can we be sure that these are properly reviewed?</p>
]]></description><pubDate>Sun, 29 Mar 2026 19:03:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47566087</link><dc:creator>ogogmad</dc:creator><comments>https://news.ycombinator.com/item?id=47566087</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47566087</guid></item><item><title><![CDATA[New comment by ogogmad in "The Failure of the Thermodynamics of Computation (2010)"]]></title><description><![CDATA[
<p>I think I arrived at the same suspicion independently -- it was when I was trying to understand thermodynamic entropy as an instance of Shannon entropy - where the latter is defined abstractly as a property of probability distributions - which left me wondering about where the thermodynamic probabilities came from. I was wondering whether they were supposed to be subjective probabilities, or derived from ensembles. Then I recalled that entropy was originally defined <i>non</i>-probabilistically as dS = (1/T)δQ. Then I started reading about Boltzmann distributions as a bridge between Shannon's entropy and entropy in the earlier sense (Clausius entropy). I then concluded that instead of thinking about bits and bytes, it was much easier to think about gases and machines doing work, like a 19th century engin-eer building, er, engines.<p>I am pretty ignorant of this field.</p>
]]></description><pubDate>Sun, 29 Mar 2026 18:30:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47565778</link><dc:creator>ogogmad</dc:creator><comments>https://news.ycombinator.com/item?id=47565778</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47565778</guid></item><item><title><![CDATA[New comment by ogogmad in "Finding all regex matches has always been O(n²)"]]></title><description><![CDATA[
<p>It might be possible to use a randomised algorithm to estimate the number of matches in only linear time.</p>
]]></description><pubDate>Tue, 24 Mar 2026 09:41:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47500379</link><dc:creator>ogogmad</dc:creator><comments>https://news.ycombinator.com/item?id=47500379</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47500379</guid></item><item><title><![CDATA[New comment by ogogmad in "Migrating to the EU"]]></title><description><![CDATA[
<p>if a boycott is a virtue signal then your comment is a vice signal</p>
]]></description><pubDate>Mon, 23 Mar 2026 13:47:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=47489492</link><dc:creator>ogogmad</dc:creator><comments>https://news.ycombinator.com/item?id=47489492</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47489492</guid></item><item><title><![CDATA[Bead Sort (Gravity Sort)]]></title><description><![CDATA[
<p>Article URL: <a href="https://en.wikipedia.org/wiki/Bead_sort">https://en.wikipedia.org/wiki/Bead_sort</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47470871">https://news.ycombinator.com/item?id=47470871</a></p>
<p>Points: 5</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 21 Mar 2026 20:19:22 +0000</pubDate><link>https://en.wikipedia.org/wiki/Bead_sort</link><dc:creator>ogogmad</dc:creator><comments>https://news.ycombinator.com/item?id=47470871</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47470871</guid></item><item><title><![CDATA[New comment by ogogmad in "Molly Guard"]]></title><description><![CDATA[
<p>This sounded at first like a mouth guard, to stop teeth grinding.</p>
]]></description><pubDate>Sat, 21 Mar 2026 11:37:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=47466119</link><dc:creator>ogogmad</dc:creator><comments>https://news.ycombinator.com/item?id=47466119</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47466119</guid></item><item><title><![CDATA[New comment by ogogmad in "Eniac, the First General-Purpose Digital Computer, Turns 80"]]></title><description><![CDATA[
<p>Would it not have been easy to add branch instructions to it? Just rewind the instruction tape however many places. It seems 99% of the job was done.</p>
]]></description><pubDate>Thu, 19 Mar 2026 16:52:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47442381</link><dc:creator>ogogmad</dc:creator><comments>https://news.ycombinator.com/item?id=47442381</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47442381</guid></item></channel></rss>