<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: undecidabot</title><link>https://news.ycombinator.com/user?id=undecidabot</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 18 Jun 2026 02:56:57 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=undecidabot" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by undecidabot in "GLM-5.2 is the new leading open weights model on Artificial Analysis"]]></title><description><![CDATA[
<p>It got 46.2 on DeepSWE in Z.ai's own run[1]. That would put it between Opus 4.7 xhigh and Opus 4.8 medium.<p>[1] <a href="https://z.ai/blog/glm-5.2" rel="nofollow">https://z.ai/blog/glm-5.2</a></p>
]]></description><pubDate>Wed, 17 Jun 2026 14:02:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48570707</link><dc:creator>undecidabot</dc:creator><comments>https://news.ycombinator.com/item?id=48570707</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48570707</guid></item><item><title><![CDATA[New comment by undecidabot in "Familiarity is the enemy: On why Enterprise systems have failed for 60 years"]]></title><description><![CDATA[
<p>PG wrote about this back in 2004: <a href="https://www.paulgraham.com/pypar.html" rel="nofollow">https://www.paulgraham.com/pypar.html</a><p>> Hence what, for lack of a better name, I'll call the Python paradox: if a company chooses to write its software in a comparatively esoteric language, they'll be able to hire better programmers, because they'll attract only those who cared enough to learn it.</p>
]]></description><pubDate>Fri, 24 Apr 2026 14:20:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47890695</link><dc:creator>undecidabot</dc:creator><comments>https://news.ycombinator.com/item?id=47890695</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47890695</guid></item><item><title><![CDATA[New comment by undecidabot in "Tinycolor supply chain attack post-mortem"]]></title><description><![CDATA[
<p>Trusted publishing is a thing now for many package registries, including npm: <a href="https://github.blog/changelog/2025-07-31-npm-trusted-publishing-with-oidc-is-generally-available/" rel="nofollow">https://github.blog/changelog/2025-07-31-npm-trusted-publish...</a></p>
]]></description><pubDate>Wed, 17 Sep 2025 18:37:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=45279668</link><dc:creator>undecidabot</dc:creator><comments>https://news.ycombinator.com/item?id=45279668</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45279668</guid></item><item><title><![CDATA[New comment by undecidabot in "The Essence of Compiling with Continuations (1993) [pdf]"]]></title><description><![CDATA[
<p>Also worth reading: Compiling with Continuations, Continued (2007) [1]<p>[1] <a href="https://www.microsoft.com/en-us/research/wp-content/uploads/2007/10/compilingwithcontinuationscontinued.pdf" rel="nofollow">https://www.microsoft.com/en-us/research/wp-content/uploads/...</a></p>
]]></description><pubDate>Mon, 29 Apr 2024 03:24:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=40194114</link><dc:creator>undecidabot</dc:creator><comments>https://news.ycombinator.com/item?id=40194114</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40194114</guid></item><item><title><![CDATA[New comment by undecidabot in "I like Odin"]]></title><description><![CDATA[
<p>System programming languages also used to refer to non-scripting languages. See this paper by John Ousterhout (creator of Tcl) written in 1997: <a href="https://users.ece.utexas.edu/~adnan/top/ousterhout-scripting.pdf" rel="nofollow">https://users.ece.utexas.edu/~adnan/top/ousterhout-scripting...</a></p>
]]></description><pubDate>Sun, 28 Aug 2022 11:25:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=32627496</link><dc:creator>undecidabot</dc:creator><comments>https://news.ycombinator.com/item?id=32627496</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32627496</guid></item><item><title><![CDATA[Fonts and Layout for Global Scripts]]></title><description><![CDATA[
<p>Article URL: <a href="https://simoncozens.github.io/fonts-and-layout/">https://simoncozens.github.io/fonts-and-layout/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=23411656">https://news.ycombinator.com/item?id=23411656</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 04 Jun 2020 02:27:41 +0000</pubDate><link>https://simoncozens.github.io/fonts-and-layout/</link><dc:creator>undecidabot</dc:creator><comments>https://news.ycombinator.com/item?id=23411656</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23411656</guid></item><item><title><![CDATA[New comment by undecidabot in "Ask HN: Best books under 200 pages for developers?"]]></title><description><![CDATA[
<p>Ullman's book is really accessible and what introduced me to SML as well,
but for those looking for something that goes a little deeper,
do read "ML for the Working Programmer" by Lawrence Paulson (author of Isabelle).
It has one of the best introductions to ML's module system
and even covers building a (toy) tactical theorem prover.
Oh, and it's now available online for free as well [1].<p>Another great book on FP is "The Functional Approach to Programming" [2],
which is a bit like SICP but using Caml (OCaml without the O) instead of Scheme.<p>[1] <a href="https://www.cl.cam.ac.uk/~lp15/MLbook/pub-details.html" rel="nofollow">https://www.cl.cam.ac.uk/~lp15/MLbook/pub-details.html</a><p>[2] <a href="http://pauillac.inria.fr/cousineau-mauny/main.html" rel="nofollow">http://pauillac.inria.fr/cousineau-mauny/main.html</a></p>
]]></description><pubDate>Sun, 31 May 2020 02:46:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=23366735</link><dc:creator>undecidabot</dc:creator><comments>https://news.ycombinator.com/item?id=23366735</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23366735</guid></item><item><title><![CDATA[New comment by undecidabot in "Ask HN: Best books under 200 pages for developers?"]]></title><description><![CDATA[
<p>Brian Kernighan (the K in K&R and AWK) also wrote a similar book
with P. J. Plauger called "The Elements of Programming Style" [1].
There's even a talk by him about it online (2009) [2].<p>Kernighan also co-authored a (imo) really great book with Rob Pike
(once an assistant of Penn & Teller [3]) called "The Practice of Programming" [4].
Unfortunately, this one is a bit over the 200 page limit.<p>[1] <a href="https://en.wikipedia.org/wiki/The_Elements_of_Programming_Style" rel="nofollow">https://en.wikipedia.org/wiki/The_Elements_of_Programming_St...</a><p>[2] <a href="https://www.youtube.com/watch?v=8SUkrR7ZfTA" rel="nofollow">https://www.youtube.com/watch?v=8SUkrR7ZfTA</a><p>[3] <a href="https://youtu.be/z4iVAcYyWN0?t=180" rel="nofollow">https://youtu.be/z4iVAcYyWN0?t=180</a><p>[4] <a href="https://en.wikipedia.org/wiki/The_Practice_of_Programming" rel="nofollow">https://en.wikipedia.org/wiki/The_Practice_of_Programming</a></p>
]]></description><pubDate>Sun, 31 May 2020 02:35:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=23366696</link><dc:creator>undecidabot</dc:creator><comments>https://news.ycombinator.com/item?id=23366696</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23366696</guid></item><item><title><![CDATA[New comment by undecidabot in "Equal Access: Automated accessibility checker for web projects"]]></title><description><![CDATA[
<p>Relevant GitHub issue: <a href="https://github.com/w3c/wcag/issues/695" rel="nofollow">https://github.com/w3c/wcag/issues/695</a><p>Also, a related HN discussion: <a href="https://news.ycombinator.com/item?id=21357638" rel="nofollow">https://news.ycombinator.com/item?id=21357638</a></p>
]]></description><pubDate>Wed, 20 May 2020 12:56:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=23246300</link><dc:creator>undecidabot</dc:creator><comments>https://news.ycombinator.com/item?id=23246300</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23246300</guid></item><item><title><![CDATA[New comment by undecidabot in "SSH Agent Explained"]]></title><description><![CDATA[
<p>You can configure ssh-agent to ask for confirmation if you set the `-c` flag in ssh-add or by setting `AddKeysToAgent` to `confirm` in your ssh config [1].<p>Once set, authentication will require confirmation via a GUI dialog provided by the ssh-askpass command. However, it does not mention the command or process requesting for authentication.<p>It works great on Linux, but I couldn't get it to work on macOS with the system keychain.<p>[1] <a href="https://man.openbsd.org/ssh_config.5#AddKeysToAgent" rel="nofollow">https://man.openbsd.org/ssh_config.5#AddKeysToAgent</a></p>
]]></description><pubDate>Wed, 20 May 2020 12:19:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=23245994</link><dc:creator>undecidabot</dc:creator><comments>https://news.ycombinator.com/item?id=23245994</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23245994</guid></item><item><title><![CDATA[Micro-Max, a 133-line Chess Source]]></title><description><![CDATA[
<p>Article URL: <a href="https://home.hccnet.nl/h.g.muller/max-src2.html">https://home.hccnet.nl/h.g.muller/max-src2.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=22855608">https://news.ycombinator.com/item?id=22855608</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 13 Apr 2020 13:24:37 +0000</pubDate><link>https://home.hccnet.nl/h.g.muller/max-src2.html</link><dc:creator>undecidabot</dc:creator><comments>https://news.ycombinator.com/item?id=22855608</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22855608</guid></item><item><title><![CDATA[New comment by undecidabot in "JPEG XL: Next-Generation of Image Format for the Internet [video]"]]></title><description><![CDATA[
<p>Slides: <a href="https://www.slideshare.net/cloudinarymarketing/imagecon-2019-jon-sneyer" rel="nofollow">https://www.slideshare.net/cloudinarymarketing/imagecon-2019...</a><p>Background: JPEG XL is a combination of Cloudinary's FUIF [1] (successor of FLIF [2]) and Google's Pik [3].<p>Committee Draft (Aug 2019): <a href="https://arxiv.org/abs/1908.03565" rel="nofollow">https://arxiv.org/abs/1908.03565</a><p>Technical Details: <a href="https://www.spiedigitallibrary.org/conference-proceedings-of-spie/11137/111370K/JPEG-XL-next-generation-image-compression-architecture-and-coding-tools/10.1117/12.2529237.full" rel="nofollow">https://www.spiedigitallibrary.org/conference-proceedings-of...</a><p>Features / Goals:<p>- high quality compression (> 60% over JPEG-1)<p>- royalty-free with open source implementations available from the start<p>- versatile: supports alpha transparency, high bit depth (16-bit), lossless compression, animations<p>- progressive decoding / "responsive by design"<p>- legacy-friendly: reversible transcoding of JPEGs with 22% size reduction (demo available [4])<p>Comparisons:<p>- JPEG 2000, JPEG XR: only marginal compression improvements<p>- WebP: limited (8-bit, 4:2:0), no progressive decoding<p>- BPG/HEIF (HEVC): patent-encumbered (not royalty-free), no progressive decoding, complex<p>- AVIF (AV1): no progressive decoding, complex, slow?<p>[1] <a href="https://cloudinary.com/blog/introducing_fuif_responsive_images_by_design" rel="nofollow">https://cloudinary.com/blog/introducing_fuif_responsive_imag...</a><p>[2] <a href="http://flif.info/" rel="nofollow">http://flif.info/</a><p>[3] <a href="https://github.com/google/pik" rel="nofollow">https://github.com/google/pik</a><p>[4] <a href="https://google.github.io/brunsli/" rel="nofollow">https://google.github.io/brunsli/</a></p>
]]></description><pubDate>Sat, 23 Nov 2019 05:55:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=21612709</link><dc:creator>undecidabot</dc:creator><comments>https://news.ycombinator.com/item?id=21612709</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21612709</guid></item><item><title><![CDATA[JPEG XL: Next-Generation of Image Format for the Internet [video]]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=RYJf7kelYQQ">https://www.youtube.com/watch?v=RYJf7kelYQQ</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=21612708">https://news.ycombinator.com/item?id=21612708</a></p>
<p>Points: 7</p>
<p># Comments: 3</p>
]]></description><pubDate>Sat, 23 Nov 2019 05:54:37 +0000</pubDate><link>https://www.youtube.com/watch?v=RYJf7kelYQQ</link><dc:creator>undecidabot</dc:creator><comments>https://news.ycombinator.com/item?id=21612708</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21612708</guid></item><item><title><![CDATA[New comment by undecidabot in "Fundamentals of Python Programming [pdf]"]]></title><description><![CDATA[
<p>I apologize for going off topic, but if the author is reading this (perhaps I should email him instead), please be informed that your work has been plagiarized on Amazon, by a book called "Python Programming: A Step By Step Guide From Beginner To Expert" [1]. Read the first few pages of the print book's "Look inside" and you'll see a word for word copy of the book.<p>Not only did they plagiarize your work, but they did a really poor job of it too. The print is full of formatting issues. The code blocks are not properly indented, which is not only poor style but also broken given that python is white-space sensitive. And bizarrely enough the letter "q" is continuously in bold throughout the whole book. You can easily verify this from the pictures by the reviewers. I don't actually own a copy of the book myself.<p>To make matters worse (or better?), they only decided to include the first four chapters, ending at "Conditional Execution". Yes, the plagiarized book claims to be a guide "from beginner to expert", yet it didn't reach the chapters on loops and functions!<p>If you read the reviews, you'll quickly notice that it's full of fake five-star reviews with very vague sentences, some of which don't even make sense. You'll also (now) see a lot of real one-star review, which means that quite a number of people have fallen for this scam.<p>Surprisingly, one of the fake reviewers even got in Amazon's top 100 reviewer list. Check the profile of "Kip Krenz" [2], who is currently at rank #53. Somehow he managed to review two to four books on a near daily basis for maybe a year or more, mostly five-stars (the rest are four-stars) and full of generic sentences. The books reviewed are most likely "fake" as well. They often fall under one of the following: a beginner book, a self-help book, a cookbook, a trading book, or a book on one of the latest fads.<p>This book is unfortunately just one of the many fake books (not the jazzy kind) that have proliferated on Amazon. If you look at the other recommendations, you'll probably find another one of these books (Python seems to be one of those profitable topics).<p>A common technique used by these books is to put themselves under some niche category in order to get a high rank. For example, this book categorized itself under "Microsoft C & C++ Windows Programming" [3], and is currently at #9 there (it used to be #1, but thankfully the real reviews probably dragged it down). For a more peculiar example of this, take a look at what's #1 under "Windows XP Guides" [4].<p>Sorry for going on a tangent with such a long wall of text. I spent a night "investigating" this whole thing a few weeks ago, and after seeing this post, thought that it would be best to spread awareness of the issue here.<p>[1] <a href="https://www.amazon.com/Python-Programming-Beginner-Intermediate-Advanced-ebook/dp/B07N4QDH92" rel="nofollow">https://www.amazon.com/Python-Programming-Beginner-Intermedi...</a><p>[2] <a href="https://www.amazon.com/gp/profile/amzn1.account.AGXMOOP4UKWVEKKFAL33DYHAJ67Q" rel="nofollow">https://www.amazon.com/gp/profile/amzn1.account.AGXMOOP4UKWV...</a><p>[3] <a href="https://www.amazon.com/gp/bestsellers/books/3967" rel="nofollow">https://www.amazon.com/gp/bestsellers/books/3967</a><p>[4] <a href="https://www.amazon.com/gp/bestsellers/books/6134002011" rel="nofollow">https://www.amazon.com/gp/bestsellers/books/6134002011</a></p>
]]></description><pubDate>Fri, 04 Oct 2019 17:13:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=21159733</link><dc:creator>undecidabot</dc:creator><comments>https://news.ycombinator.com/item?id=21159733</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21159733</guid></item><item><title><![CDATA[New comment by undecidabot in "TypeScript vs. ReasonML"]]></title><description><![CDATA[
<p>If the lack of action creators is a serious concern, then the one-liner-each action creator I suggested should be sufficient without adding much bloat. How would the ReasonML example deal with that change though? Can the variant constructors take in optional parameters?<p>Using Murphy's Law is not very convincing. Even with action creators Murphy's Law guarantees someone would have just constructed the objects manually anyways. Having to grep the tag is not ideal, but it's not likely to be a problem in practice.<p>I doubt that the bundle would be significantly larger (especially after compression). Using actions creators introduces additional (function call) overhead too (and that would be insignificant as well).</p>
]]></description><pubDate>Thu, 05 Sep 2019 02:52:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=20883467</link><dc:creator>undecidabot</dc:creator><comments>https://news.ycombinator.com/item?id=20883467</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20883467</guid></item><item><title><![CDATA[New comment by undecidabot in "TypeScript vs. ReasonML"]]></title><description><![CDATA[
<p>I don't have experience with Redux so I cannot comment on that, but I do believe my rewrite is equivalent to the ReasonML example (it should express the same thing and still be typesafe).<p>While I'm sure the author did not intentionally try to make TypeScript look bad, (imo) they didn't put enough effort to make it look good either. There's a lot more to TypeScript that this post fails to mention. ReasonML is a good language (I think OCaml was just fine though), but TypeScript is good too.<p>The author says "ReasonML is everything TypeScript tries to be (and a bit more) without all that JavaScript weirdness.", but I strongly disagree. Embracing "all that JS weirdness" is the whole point of TypeScript, and what makes it so successful. Unlike most typed languages, TypeScript (for better or for worse) adapts its type system to the developer's code, not the other way around. This is why its type system is much more expressive than many other type systems including ReasonML's.</p>
]]></description><pubDate>Wed, 04 Sep 2019 19:00:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=20880330</link><dc:creator>undecidabot</dc:creator><comments>https://news.ycombinator.com/item?id=20880330</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20880330</guid></item><item><title><![CDATA[New comment by undecidabot in "TypeScript vs. ReasonML"]]></title><description><![CDATA[
<p>Yes, I eliminated the action creators. I don't see why they're necessary (maybe there's something about redux I'm missing?). The type constructors of ReasonML cannot be used as functions, so I think my rewrite is fair.<p>If you insist on having the action creators, they can easily be written as one liners each, which is a lot less bloated than the original example.<p><pre><code>  export const addMovie = (movie: string): Action => ({ tag: "AddMovie", movie });
</code></pre>
What's the issue with passing object literals? I know it looks a bit hacky and messy, but if it's typesafe (which it is) then it doesn't seem like a real issue.</p>
]]></description><pubDate>Wed, 04 Sep 2019 15:31:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=20878118</link><dc:creator>undecidabot</dc:creator><comments>https://news.ycombinator.com/item?id=20878118</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20878118</guid></item><item><title><![CDATA[New comment by undecidabot in "TypeScript vs. ReasonML"]]></title><description><![CDATA[
<p>Looks like another biased comparison to me. You could easily rewrite the TypeScript reducer example (which fails to compile btw) to be similarly concise while being as safe.<p><pre><code>  interface State {
    movies: string[]
  }

  // you may also use { tag: "Action", payload: string }
  // if you prefer something more structured
  type Action =
    | ["AddMovie", string]
    | ["RemoveMovie", string]
    | ["Reset"]

  const defaultState: State = { movies: [] }

  const reducer = (state: State, action: Action): State => {
    switch (action[0]) {
      case "AddMovie": return { movies: [action[1], ...state.movies] }
      case "RemoveMovie": return { movies: state.movies.filter(m => m !== action[1]) }
      case "Reset": return defaultState
    }
  }

  const someAction: Action = ["AddMovie", "The End of Evangelion"]
</code></pre>
TypesScript's type system is actually very flexible and advanced [1] compared to most type systems since it had to adapt to the very "dynamic" structuring of JavaScript in the wild.<p>[1] <a href="https://www.typescriptlang.org/docs/handbook/advanced-types.html" rel="nofollow">https://www.typescriptlang.org/docs/handbook/advanced-types....</a></p>
]]></description><pubDate>Wed, 04 Sep 2019 12:53:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=20876691</link><dc:creator>undecidabot</dc:creator><comments>https://news.ycombinator.com/item?id=20876691</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20876691</guid></item><item><title><![CDATA[Build Your Own Language Runtime]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.base9.xyz/build-a-runtime/">https://www.base9.xyz/build-a-runtime/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=20626834">https://news.ycombinator.com/item?id=20626834</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 06 Aug 2019 16:40:30 +0000</pubDate><link>https://www.base9.xyz/build-a-runtime/</link><dc:creator>undecidabot</dc:creator><comments>https://news.ycombinator.com/item?id=20626834</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20626834</guid></item><item><title><![CDATA[New comment by undecidabot in "HTTP Security Headers – A Complete Guide"]]></title><description><![CDATA[
<p>Nice list. You might want to consider setting a "Referrer-Policy"[1] for sites with URLs that you'd prefer not to leak.<p>Also, for "Set-Cookie", the relatively new "SameSite"[2] directive would be a good addition for most sites.<p>Oh, and for CSP, check Google's evaluator out[3].<p>[1] <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy" rel="nofollow">https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Re...</a><p>[2] <a href="https://www.owasp.org/index.php/SameSite" rel="nofollow">https://www.owasp.org/index.php/SameSite</a><p>[3] <a href="https://csp-evaluator.withgoogle.com" rel="nofollow">https://csp-evaluator.withgoogle.com</a></p>
]]></description><pubDate>Thu, 18 Jul 2019 13:29:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=20469533</link><dc:creator>undecidabot</dc:creator><comments>https://news.ycombinator.com/item?id=20469533</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20469533</guid></item></channel></rss>