Hillel Wayne

hillelwayne.com · Personal blog · on HN since 2017

Hillel Wayne writes about formal methods, TLA+, software engineering practice and programming language history.

What HN saysCommenters recommend his blog and his book Practical TLA+, saying it helped them structure their thinking and find bugs before coding.
294HN people shared it
140linked it in comments
301stories submitted
13Kstory points
3 months agolast shared
2017people per year2026

Most-shared posts

  1. 1
    Are We Really Engineers? (2021)
    37 people · 330 points · first shared 2021 · 389 comments on HN
  2. 2
    1/0 = 0
    16 people · 795 points · first shared 2018 · 570 comments on HN
  3. 3
    Most(ly dead) Influential Programming Languages
    12 people · 713 points · first shared 2020 · 289 comments on HN
  4. 4
    Hillel Wayne
    12 people · 1 points · first shared 2019 · discussion on HN
  5. 5
    Performance Matters
    9 people · 569 points · first shared 2019 · 136 comments on HN
  6. 6
    STAMPing on event-stream
    8 people · 17 points · first shared 2019 · discussion on HN
  7. 7
    There's Always More History
    8 people · 15 points · first shared 2020 · 1 comments on HN
  8. 8
    Is Software Engineering Real Engineering?
    8 people · 2 points · first shared 2023 · discussion on HN
  9. 9
    Why Don't People Use Formal Methods?
    7 people · 445 points · first shared 2019 · 225 comments on HN
  10. 10
    The Hard Part of Learning a Language
    7 people · 307 points · first shared 2020 · 136 comments on HN
  11. 11
    Metamorphic Testing
    7 people · 69 points · first shared 2019 · 6 comments on HN
  12. 12
    We Are Not Special (2021)
    7 people · 2 points · first shared 2021 · discussion on HN
  13. 13
    A Early History of Algebraic Data Types
    6 people · 90 points · first shared 2025 · 14 comments on HN
  14. 14
    Alan Kay Did Not Invent Objects
    6 people · 63 points · first shared 2019 · 29 comments on HN
  15. 15
    What We Know We Don't Know
    6 people · 22 points · first shared 2019 · 1 comments on HN

What HN people wrote when they linked it

maleldil · 2025-03-01
Seconded. I don't think I learned much from the book, but it helped make my thought process more structured and methodical. I had a friend recently start as a developer, and I strongly recommended this to them. I believe Hillel Wayne gives a copy to every junior dev he meets. [1] https://www.hillelwayne.com/
justswim · 2021-08-18
Hi Hacker News! There was a recent post on Show (https://news.ycombinator.com/item?id=28120247) for a collab notebook that allowed anyone to create AI art. We took that code and made a hosted version that makes it easy to get a video with just a query - no setup or coding experience necessary. Just click to the page and you’ll be able to create new art for free. The generator is based off of the notebooks (https://colab.research.google.com/drive/1n_xrgKDlGQcCF6O-eL3NOd_x4NSqA… written by Hillel Wayne (https://www.hillelwayne.com/) and Katherine Crowson. You just type a query and you’ll get both an image and a video that the gan will generate. Because it’s seeded randomly each time, no two videos will ever be the same even with the same query. Would love to get your feedback or see what you make!
aychtang · 2020-02-23
Hillel Wayne (who wrote this guide) also has a great blog with many posts related to this topic: https://hillelwayne.com/ Leslie Lamport (who created this language, has written many seminal papers on distributed computing and is a Turing award winner) has also published an excellent book and video series introducing the design and practical usage of TLA+, you can find the video series at: http://lamport.azurewebsites.net/video/videos.html
pavlov · 2019-09-19
I can recommend Hillel Wayne's book "Practical TLA+". It helped me understand scenarios where TLA+ specifications and the modelling approach would be essential in discovering bugs before writing any code. (Still waiting to put my fledgling TLA+ knowledge to some actual application though, as I'm currently working on some graphics stuff with nothing distributed about it...) Wayne also has a great blog: https://www.hillelwayne.com Btw, not all great technology finds adoption at the FAANGs. At least Facebook and Google tend to be quite insular: they certainly don't frown on open source, but it must be something that can be assimilated into the worldview of hulking monorepos, company IDEs and tools teams. To put it another way: if Facebook/Google are giant Borg cubes, then TLA+ is a clever little Vulcan ship applying pure logic to stay in the game.
mikedodds · 2021-02-25
This is a great question, and unfortunately the existing proof tools are very fragmented when it comes to target languages. E.g. there are a lot of C / LLVM and Java tools, a few C++ tools, a few Rust tools. I don't know of any proof tool that is production-ready that targets Go, Swift, and Kotlin. One thing I will say is that proof is usually an expensive technique, and not just for the reasons in my post. Even setting up a proof can be demanding. So it's worth asking where in the project it's worth applying this kind of assurance? For example, Galois often applied proofs to cryptography, which are security critical and self-contained in small pieces of code. Proof and formal methods aren't one tool, but rather a toolbox that can solve different assurance problems. There's a big difference from a scalable static analysis like Infer and a fine-grained proof tool like Coq or Galois' SAW tool. One easy place that formal methods can be useful is in modeling features of a project design for consistency. E.g. this is useful for protocols, state machines and similar. This means you can 'debug your designs' before building them into software. If that sounds like it might useful, I would suggest taking a look at Hillel Wayne's website: https://www.hillelwayne.com
wffurr · 2025-11-08
Great series about whether programming is “engineering” or not: https://www.hillelwayne.com/post/are-we-really-engineers/
sam_bristow · 2025-10-13
I found Hillel Wayne's series of articles about the relationship between software and other engineering disciplines from a few years fairly insightful [1]. It's not _exactly_ the same topic but a lot of overlap in defining wht is "real engineering". [1] https://hillelwayne.com/post/are-we-really-engineers/
gyomu · 2025-10-08
> That's a fairly new term that implies being engineers which we are not. We haven't studied to be engineers, nor have real engineering degrees. We've called ourselves that because we were doing much more than the original job of programmer and felt like we deserved a raise. Uh, speak for yourself. There are countries where being a software engineer does indeed imply that you studied engineering and hold a "real" engineering degree. Also, Hillel Wayne's "Are We Really Engineers" is worth reading: https://www.hillelwayne.com/post/are-we-really-engineers/
fluoridation · 2025-09-19
Not to be that guy, but where can I read those interviews? I got as far as the blog (https://www.hillelwayne.com/) and looked around October of 2019 and can't seem to find anything. As it stands this isn't even anecdata, this is some guy saying some other guy said he talked to a few guys who say something happens from time to time.
msteffen · 2024-11-22
If you haven’t seen it (and need something to show the “what about bridges” crew), Hillel Wayne’s “crossover project” series of posts[^1] on this is brilliant. I like to show people this quote from it: > One person talked about how frustrating it is to start work on a bridge foundation, only to find that this particular soil freezes in a weird way that makes it liquefy too much in an earthquake. Back to the drawing board. [^1]: https://www.hillelwayne.com/post/we-are-not-special/
samatman · 2024-09-27
The major part of this post is about documentation, and would have benefitted greatly from reference to the 4doc model: https://docs.divio.com/documentation-system/ It's basically saying: don't just provide a reference, provide how-tos as well, and lead with them because they're the part of the total documentation which users generally want to see first. Generally, mind you, I tend to go straight to the reference material but not always. Not that 4doc is a silver bullet or a law of nature, Hillel Wayne has some good things to say about that here https://www.hillelwayne.com/post/problems-with-the-4doc-model/
AlotOfReading · 2024-07-24
Hillel Wayne wrote an excellent series of articles on whether software was "engineering" that included interviewing traditional engineers that were now in software [0]. I strongly recommend it. For me, I sit next to EEs and MechEs all day working on safety critical systems. There are some differences in our jobs, but frankly I don't see the substantive differences that would make one or two of those non-engineering compared to the others. [0] https://www.hillelwayne.com/post/are-we-really-engineers/
nickpsecurity · 2024-05-05
This blog has a lot of introductory articles on many types of verification and correctness: https://www.hillelwayne.com/
rramadass · 2023-12-31
Excellent and succinct article on the use of "Decision Tables". This is a fundamental technique in Software Development but is rarely taught/known nowadays. See also : 1) Hillel Wayne - https://www.hillelwayne.com/post/decision-tables/ and https://www.hillelwayne.com/post/decision-table-patterns/ 2) Parnas Tables : A Practical Formalism (pdf) - https://cs.uwaterloo.ca/~jmatlee/Talks/Parnas01.pdf 3) Tabular Expressions and their Relational Semantics (pdf) - http://www.cas.mcmaster.ca/~wassyng/FIJanWas.pdf
archargelod · 2023-11-26
> The following design choices may be considered controversial by some: > Dividing by zero yields zero. https://www.hillelwayne.com/post/divide-by-zero/ That's one interesting point I would love to read any opinions on. Edit: Here's a HN discussion about the `divide by zero` article - https://news.ycombinator.com/item?id=17736046
sn9 · 2023-06-19
Have you read any of Hillel Wayne's stuff? He's got great articles on various formal methods approaches. https://www.hillelwayne.com/tags/formal-methods/ Check out the sub-topic tags for more. Or just skim his blog.
adnanc · 2023-06-19
Love the clean design and the focus on not just the happy path The URL in the Wayne’s Formally specifying UI blog post link isn't resolving, should be https://www.hillelwayne.com/formally-specifying-uis/
ddulaney · 2023-02-03
Eh, it's pretty nuanced. Certification, rigor, and lots of other things that software folks associate with "real" engineering aren't actually that different between software and traditional engineering projects. I recommend checking out Hillel Wayne's series where he interviews what he calls "crossovers", people that worked both in software and in traditional engineering: https://www.hillelwayne.com/post/we-are-not-special/
thundergolfer · 2022-12-30
This only opinion piece on the issue worth reading, because it's the only one that bothered to seek the opinions of the people that would know best: those people that have been software engineers _and_ some other kind of engineer. https://www.hillelwayne.com/post/are-we-really-engineers/
jrockway · 2022-12-12
After reading https://www.hillelwayne.com/post/are-we-really-engineers/ I am convinced that Software Engineering is the same as any other engineering field. Sure, it looks like like and death is at play in the other fields and all we do is debate what color fonts should be on a web page, but their projects seem a lot like that too. In every engineering field, projects usually go well enough to get another project, which is the best you can really hope for in the real world. Our whole "I can't do work today, I have to apply these security fixes 83 levels deep" also sounds a lot like: https://practical.engineering/blog/2022/8/2/you-spend-more-on-rust-tha… All in all, yeah, I don't understand the inferiority complex. Engineering always looks amazing to people that aren't in the thick of it, but we hide a lot of the flaws, and fix the other ones through iteration.
Qualadore · 2022-09-10
In terms of methodological quality, "Fixing Faults in C and Java Source Code: Abbreviated vs. Full-Word Identifier Names" [0] is a favorite of Hillel Wayne's [1]. > Manageable scope. > They did their homework. > They mix qualitative and quantitative methods. > Objective measure of Defects. > Really, _really_ good experimental setup. > And then an ethnography. [0] http://www2.unibas.it/gscanniello/Giuseppe_Scanniello%40unibas/Home_fi… [1] https://www.hillelwayne.com/post/the-best-se-paper/
hcs · 2022-07-18
I've heard this about AutoHotKey: https://www.hillelwayne.com/post/ahk/ Not just macros, but deeper automation of anything in a Windows UI, with a great depth of community scripts and knowledge.
spiffytech · 2022-05-30
I highly recommend this interview series with engineers from other fields who moved into software: https://www.hillelwayne.com/post/are-we-really-engineers/
gr__or · 2021-10-04
The wonderful Hillel Wayne has two great essays on the "Engineer"ing question: https://www.hillelwayne.com/post/are-we-really-engineers/ https://www.hillelwayne.com/post/we-are-not-special/
Zababa · 2021-09-30
I feel like at this point, comparaison between software engineers and civil engineers should fall under the "does not gratify intellectual curiosity" category. I haven't seen anything interesting said about this topic since the article series "are we really engineers?" https://www.hillelwayne.com/post/are-we-really-engineers/. > At the end of the day, you wind up in a lot of fairly pointless arguments about tech stack and coding conventions that 99.9% of the time don’t make a bit of difference to the final product. That's a great conclusion.
Twisol · 2021-08-15
You might be interested to read Hillel Wayne's crossover project, where he interviewed a number of people who had worked in traditional engineering roles as well as in software development. https://www.hillelwayne.com/post/are-we-really-engineers/ The upshot is that "engineering" isn't the paragon of excellence we like to think it is. Whether or not you agree, it's a good read!
jt2190 · 2021-07-22
> … he would have us dismiss all of these citations out of hand… Does he? I thought the point of his talk [1] was that we developers ascribe way too much weight to few, small studies. So rather than saying that we should dismiss the claims, we should instead take great care because the claim may not be generalizable at all. [1] https://www.hillelwayne.com/talks/what-we-know-we-dont-know/
yen223 · 2021-05-14
There is a series of blog posts by Hillel Wayne, where he interviews former "real" engineers who became software developers, and asked them whether software development is engineering. 15 out of 17 subjects said yes, software development is engineering. One interesting takeaway for me from that article is that we over-romanticise what "real" engineers actually do in their day-to-day life. "Real" engineering practices is messy and sloppy in ways that would make software developers uncomfortable, according to the some people who worked on both sides. The articles are well worth a read: https://www.hillelwayne.com/post/crossover-project/are-we-really-engin… https://www.hillelwayne.com/post/crossover-project/we-are-not-special/ https://www.hillelwayne.com/post/crossover-project/what-we-can-learn/
luord · 2021-04-07
Probably, the best answer to the "programming is easy" mindset I've read is this article[1] about whether software engineering is actually engineering. Turns out we are engineers, and we're not even that special as far as engineering goes. And it's funny, because the article has nothing to do with whether programming is hard or not. Not idea what Wayne thinks of the matter. [1]: https://www.hillelwayne.com/post/crossover-project/we-are-not-special/

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close