Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    R

    Ron Pressler

    pron.github.io · Personal blog · on HN since 2017

    Ron Pressler writes about TLA+, formal specification, the theory of computation, and why correct software is hard to write.

    Visit blogHN submissions
    ProgrammingMathDistributed Systems
    What HN says

    HN commenters call his TLA+ site a fantastic resource and a great introduction. They also debate his claims about program safety and proofs.

    Stats for nerds
    36HN people shared it
    26linked in comments
    560story points
    Aug 2025last shared
    2017people per year2025

    Top posts on HN

    1. 1
      TLA+ in Practice and Theory, Part 4: Order in TLA+
      2 people · 143 points · first shared 2017 · 11 comments on HN
    2. 2
      TLA+ in Practice and Theory, Part 3: The Temporal Logic of Actions
      1 person · 130 points · first shared 2017 · 7 comments on HN
    3. 3
      Principles of TLA+
      5 people · 127 points · first shared 2017 · 23 comments on HN
    4. 4
      TLA+ in Practice and Theory, Part 2: The + in TLA+
      3 people · 67 points · first shared 2017 · 8 comments on HN
    5. 5
      Finite of Sense and Infinite of Thought
      7 people · 56 points · first shared 2018 · 3 comments on HN
    6. 6
      History of Computation, Logic and Algebra
      4 people · 13 points · first shared 2018 · Discussion on HN
    7. 7
      Why writing correct software is hard
      7 people · 7 points · first shared 2017 · Discussion on HN
    8. 8
      What We Talk About When We Talk About Computation
      4 people · 7 points · first shared 2018 · Discussion on HN
    9. 9
      People Don't Write Programs (2018)
      4 people · 6 points · first shared 2018 · Discussion on HN
    10. 10
      The Best Programming Language (2017)
      2 people · 4 points · first shared 2020 · Discussion on HN

    What HN people wrote when they linked it

    • pronAug 2025

      > Any rhetorical device that equates Java/C# (any memory safe Turing language ) safety with C is most likely a fallacy.

      I agree, but I didn't do any of that. If anything my point was that 1. safety is clearly not a binary thing and no one really treats it as such (even those who claim it is a binary distinction) and 2. that trying to extrapolate from one language to another based on choosing some property that we think is the most relevant one may be assuming that which we seek to prove.

      Saying that C, C++, and Zig are "the same" because they all make fewer guanratees than Rust is as silly as saying C, C++, Zig, and Rust are the same because they all offer fewer guarantees than ATS, or that Rust and Java are the same because they offer similar guarantees but with very different complexity costs.

      Also, the focus on memory safety is justified because of the security bugs it causes, but the two major kinds of unsafety (out-of-bounds access and use-after free) aren't equally dangerous, and Rust pays most of its complexity cost to prevent the less dangerous of the two (https://cwe.mitre.org/top25/archive/2024/2024_cwe_top25.html). There's even more nuance here, because some techniques focus on reducing the risk of exploitable use-after-free bugs without preventing it or even making it easier to detect at all (https://www.cl.cam.ac.uk/~tmj32/papers/docs/ainsworth20-sp.pdf).

      It's all a matter of degree, both when it comes to the risk as well as to the cost of avoiding it. Not…

    • cxrJun 2020

      This is not limited to software development. Try being involved in Wikipedia and you'll eventually have the displeasure of experiencing the same lack of structure and rigor in arguments. (I'll say, though, that the author mentions GitHub, which does seem particularly bad in comparison to the average Bugzilla instance, say, 10+ years ago, and it's part of why I avoid GitHub, purely for my own sanity and productivity.) It's these experiences that make you appreciate the role of a judge if you've ever sat in court or read through trial transcripts.

      What we're all really aching for is a solution to the ratiocination problem. pron put together a nice overview of some of the history of thought in that area a couple years back[1]. There's also the Toulmin model[2].

      1. https://pron.github.io/computation-logic-algebra

      2. https://en.wikipedia.org/wiki/Stephen_Toulmin#The_Toulmin_Model_of_Argument

    • tombertSep 2021

      Yep yep, I totally agree with that.

      Obviously there are subjects where it would be extremely difficult (if not impossible) to express in a short format, and obviously if it requires it, then take the amount of space that you need. I think the goal should be "aim for brevity, but be clear."

      One of my favorite examples of this are Ron Pressler's "TLA+ in Practice and Theory" posts. It's four extremely long blog posts, but it contains what feels like multiple textbooks' worth of information in there. By comparison to how long it could be, I think it's incredible how concise it is.

      [1] https://pron.github.io/tlaplus

    • rramadassJan 2025

      To get an overview of what all are involved in "Formal Methods" see Understanding Formal Methods by Jean-Francois Monin. The book gives an overview of both the various mathematical models and some of the tools implementing them. There is a lot here and it may seem haphazard but that is only because we haven't yet grasped the "full picture". I have been reading this for a while but still have a long way to go.

      A four-part TLA+ in Practice and Theory by user "pron" - https://pron.github.io/posts/tlaplus_part1

    • inigojonesguyJun 2021

      I agree with you here but I get to a happy conclusion. The (self- or culturally imposed) constraint on computation to be semantically meaningful for humans does not apply for genomes. But this is already useful, because it means we at least have a hint about where to dig more in programming.

      There is Theory of Computation and there is Theory of Programming. Your arguments apply to TOP but not to TOC.

      https://pron.github.io/posts/what-we-talk-about-when-we-talk-about-computation

    • espeedDec 2018

      Ron Pressler (the presenter) is an active contributor to HN [1], and he blogs at blogs at https://pron.github.io [2]. There he has a multi-part blog post under the same name as the presentation, and if he chimes in here, he may be able to provide ptrs to additional resources (else ping him on Twitter [3]).

      [1] https://news.ycombinator.com/user?id=pron

      [2] https://pron.github.io, http://www.paralleluniverse.co

      [3] https://twitter.com/pressron, https://twitter.com/puniverseco

    Related

    Hillel Waynehillelwayne.com294 people

    1/0 = 0

    Hillel Wayne
    Personal · last shared 2026
    Gödel's Lost Letterrjlipton.wordpress.com185 people

    Mihai Pătraşcu 1982–2012

    Gödel's Lost Letter
    Personal · last shared 2021
    Andrew Helwerahelwer.ca16 people

    The current state of TLA⁺ development

    Andrew Helwer
    Personal · last shared 2026
    Paul Khuongpvk.ca106 people

    SBCL: The Ultimate Assembly Code Breadboard

    Paul Khuong
    Personal · last shared 2026
    Piers Cawleybofh.org.uk16 people

    Running a Bakery on Emacs and PostgreSQL

    Piers Cawley
    Personal · last shared 2024
    Lambda the Ultimatelambda-the-ultimate.org615 people

    Simon Peyton Jones Elected into the Royal Society Fellowship

    Lambda the Ultimate
    Publication · last shared 2026
    John Regehrblog.regehr.org401 people

    Teaching C

    John Regehr
    Personal · last shared 2026
    Matt Parsonsparsonsmatt.org57 people

    Write Junior Code

    Matt Parsons
    Personal · last shared 2026