Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
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
    Engineering a safer worldNancy Leveson

    Engineering a safer world

    Nancy Leveson · 2011

    A new approach to safety, based on systems thinking, that is more effective, less costly, and easier to use than current techniques. Engineering has experienced a technological revolution, but the basic engineering techniques applied in safety and reliability engineering, created in a simpler, analog world, have changed very little over the years. In this groundbreaking book, Nancy Leveson proposes a new approach to safety—more suited to today's complex, sociotechnical, software-intensive world—based on modern systems thinking and systems theory. Revisiting and updating ideas pioneered by 1950s aerospace engineers in their System Safety concept, and testing her new model extensively on real-world examples, Leveson has created a new approach to safety that is more effective, less expensive, and easier to use than current techniques. Arguing that traditional models of causality are inadequate, Leveson presents a new, extended model of causation (Systems-Theoretic Accident Model and Processes, or STAMP), then shows how the new model can be used to create techniques for system safety engineering, including accident analysis, hazard analysis, system design, safety in operations, and management of safety-critical systems. She applies the new techniques to real-world events including the friendly-fire loss of a U.S. Blackhawk helicopter in the first Gulf War; the Vioxx recall; the U.S.

    Business & ManagementSecurity & Privacy
    Open LibraryAmazon
    Stats for nerds
    14recommend
    27mentions
    20people
    2014–2025years
    74% recommend26% neutral

    Mentions per year

    2014201620182020202220242025

    What Hacker News says

    1. smj-edisonNov 2025
      Isn't the point of this article that pieces of infrastructure don't go down to root causes, but due to bad combinations of components that are correct individually? After reading "engineering a safer world", I find root cause analysis rather reductionistic, because it wasn't just an unwrap, it was that the payload was larger than normal, because of a query that didn't select by database, because a clickhouse made more databases visible. Hard to say "it was just due to an unwrap" imo. Especially in terms of how to fix an issue going forwards. I think the article lists a lot of good ideas, that aren't just "don't unwrap", like enabling more global kill switches for features, or eliminating the ability for core dumps or other error reports to overwhelm system resources.
      thread
    2. smj-edisonOct 2025
      Reading through this reminds me a lot of the book "Engineering a Safer World", which opens up talking about some of the largest catastrophies (ferry sinking, chemical plant leaks, etc), and talks about how they went wrong in the framework of systemic thinking. I haven't finished it yet, but even the first part has made me dislike the concept of "root causes", it's more like "emergent behavior".
      thread
    3. AkshatMNov 2022
      Nancy Leveson's _Engineering a Safer World_ (available for free here: https://direct.mit.edu/books/book/2908/Engineering-a-Safer-W...) is required reading, in my opinion. It talks about applying systems theory to reducing industrial accidents, using various case studies such as the Bhopal gas tragedy, which maps automatically to reducing outage severity and incident severity for tech workers.

      The key insight it applies is that root-cause analysis to fix and improve situations is limited because choice of root-cause is somewhat arbitrary - it really depends on where you stop probing further. Engineers should not rely on root-cause analysis to identify failures in _the system_, only on failures of components. Nancy proposes alternative techniques instead to identify and improve broken systems.

      The detail, quality and depth of her treatment makes it immediately practical and useful. My one complaint is that it is a bit long, and not all of it is easily condensed into short treatments - but I guess verbosity is the tradeoff for quality?

      thread
    4. wnzlNov 2022
      Engineering a Safer World: Systems Thinking Applied to Safety

      by Nancy Leveson

      Definitely one of better books that makes you think outside the box.

      thread
    5. eternalbanSep 2022
      Engineering a safer world - Systems thinking applied to thinking, by Nancy Leveson (MIT - 2009) was recommended in a previous discussion as a more comprehensive and systemic treatment: https://news.ycombinator.com/item?id=14131981

      http://sunnyday.mit.edu/safer-world.pdf

      STAMP ("System-Theoretic Accident Model and Processes") is reviewed here: https://www.sciencedirect.com/science/article/abs/pii/S09504...

      And there is a course (lecture notes look great): https://ocw.mit.edu/courses/16-63j-system-safety-spring-2016...

      thread
    6. anonceptMay 2022
      You might find it helpful to distinguish between visualizing the design of the system being implemented by your software, visualizing protocols being implemented by your software, visualizing the design of your software implementation itself, and visualizing important implementation details at runtime, e.g. for debugging, profiling, and operations.

      For visualizing system designs, you should take a look at STAMP, e.g., via “Engineering A Safer World” + the resources at mit.edu/psas + on YouTube.

      (Multiple tools, both commercial and libre, exist and are being developed to make these diagrams, although for what it’s worth, I mostly hear about people making them using draw.io, Google Drawings, on physical paper/whiteboards, or occasionally with specialized tooling.

      I have also recently published a project in this area, https://github.com/mstone/depict, which I believe is well on its way toward addressing some unmet needs here.)

      For visualizing protocols, things like sequence diagrams, data flow diagrams, DRAKON flow charts, value stream maps, and occasional more specialized objects like CPSA “cryptographic protocol shapes” / strand space skeletons are where I start depending on the flavor of what’s needed.

      For visualizing the design of implementations themselves, I have not yet seen anything that I feel obliged to recommend; rather, here, I suggest investing in adding illustrations to your existing documentation in whatever way is easiest for you to use to clarify whatever subtleties you need to clarify for your audience.

      (Here I tend to look at things like ASCII-art, SQLite’s railroad diagrams (now made with pikchr, AIUI), and sequence diagrams, as mentioned by other commenters, as helpful examples to start with.)

      Finally, for implementing debugging/profiling/operational illustrations, there is a such a rich set of examples to turn to — whether from the very specialized (custom process model video rendering pipelines in robotics) to TensorBoard for TensorFlow to general-purpose tools like browser performance debugging suites, flame charts, or Go’s built-in profile graphing tools - that rather than learn any particular such tools, I’d instead suggest trying to get comfortable with the building blocks underlying these systems, which include contemporary GUI/web apps, custom drawing and animation tools like SVG, pretty printers, and Grammar-of-Graphics systems like vega-lite.

      (Note: although it may seem superficially extraneous to your question, the reason I also suggest thinking about debugging visualizations in this context is because IMO, to work, they ~necessarily encode a visual model of the design of your implementation since it is the design of the implementation that provides the vocabulary and relationships that have to be understood and navigated in order to successfully debug/optimize/monitor any given running instance of whatever system you are building.)

      thread

    Related

    Cover of SafeWare
    2014–2025

    SafeWare

    Nancy Leveson
    6 recommend · 13
    Cover of The codebreakers
    2008–2025

    The codebreakers

    David Kahn
    17 recommend · 30
    Cover of The Code Book
    2007–2026

    The Code Book

    Simon Singh
    98 recommend · 148
    Cover of Security Engineering
    2008–2026

    Security Engineering

    Ross J. Anderson
    38 recommend · 60
    Cover of Thinking in systems
    2010–2026

    Thinking in systems

    Donella H. Meadows
    124 recommend · 202
    Cover of Social Engineering
    2014–2024

    Social Engineering

    Christopher Hadnagy
    6 recommend · 10
    Cover of The Phoenix Project
    2013–2026

    The Phoenix Project

    Gene Kim
    166 recommend · 340
    Cover of Clean Code
    2008–2026

    Clean Code

    Robert C. Martin
    298 recommend · 951