explaingit

dwmkerr/hacker-laws

27,088HTMLAudience · developerComplexity · 1/5MaintainedLicenseSetup · easy

TLDR

A reference guide to well-known laws, principles, and patterns in software development, like Amdahl's Law, Hofstadter's Law, and SOLID principles, with plain-language explanations.

Mindmap

mindmap
  root((repo))
    What it covers
      Mathematical laws
      Software principles
      Psychology patterns
      Management concepts
    How to use it
      Quick reference
      Team vocabulary
      Code review context
    Format
      Plain explanations
      External links
      Multiple languages
      PDF available
    Audience
      Developers
      Tech leads
      Engineering teams

Things people build with this

USE CASE 1

Look up a principle you heard in a code review or technical discussion to understand what it means.

USE CASE 2

Build shared vocabulary across your engineering team by referencing common laws and patterns.

USE CASE 3

Learn why certain design patterns or management approaches are named what they are and how they apply to your work.

Tech stack

HTML

Getting it running

Difficulty · easy Time to first run · 5min
Use freely for any purpose, including commercial use, as long as you keep the copyright notice and license text.

In plain English

hacker-laws is a reference document, a single, long Markdown file that catalogues laws, theories, principles, and patterns that show up in conversations among developers and technologists. Think of the phrases people drop into discussions: "that's just Conway's Law," "remember the Pareto Principle," "this is a leaky abstraction." This repository explains each one, in plain language, in one place. The table of contents groups entries into Laws, Principles, a Reading List, online resources, a PDF eBook, and a podcast episode. Under Laws you find items like Amdahl's Law on parallel-computing speedup, Brooks' Law, the CAP Theorem, Conway's Law, Goodhart's Law, Hyrum's Law, Moore's Law, Murphy's Law, Occam's Razor, Parkinson's Law, the Law of Leaky Abstractions, the Unix Philosophy, and the Two Pizza Rule, among many others. Under Principles you find SOLID and its five constituent rules, plus DRY, KISS, YAGNI, the Robustness Principle, the Pareto Principle, the Fallacies of Distributed Computing, and the Principle of Least Astonishment. Each entry is a short write-up with a link to further reading. The author is clear that the repo describes these ideas without endorsing them, whether any given law should be applied depends on the project. The content has been translated into multiple languages by contributors and is available both online at hacker-laws.com and as a downloadable PDF. You would use this as a glossary when you hit an unfamiliar named law in a code review or a blog post, or as background reading to broaden your vocabulary around software-engineering trade-offs. The content is published as HTML and Markdown. The full README is longer than what was provided.

Copy-paste prompts

Prompt 1
I keep hearing about Amdahl's Law in performance discussions. What does it mean and why does it matter for parallel computing?
Prompt 2
Our team keeps running into situations where estimates are always wrong. Is there a named principle that explains this?
Prompt 3
What's the difference between Conway's Law and the SOLID principles, and when would I apply each one?
Open on GitHub → Explain another repo

Generated 2026-05-21 · Model: sonnet-4-6 · Verify against the repo before relying on details.