* General - [[https://lukeplant.me.uk/blog/posts/no-one-actually-wants-simplicity/][No one actually wants simplicity]] Simplicity is sacrifice. See also [[https://www.youtube.com/watch?v=SxdOUGdseq4][simple made easy (video)]], [[https://www.seangoedecke.com/wicked-features/][wicked features]]. - [[https://www.geoffreylitt.com/2025/03/03/the-nightmare-bicycle.html][Avoid the nightmare bicycle]] Good designs expose systematic structure; they lean on their users’ ability to understand this structure and apply it to new situations. * Programming - [[https://mikehadlow.blogspot.com/2012/05/configuration-complexity-clock.html][The Configuration Complexity Clock]] Programming languages, configuration files, DSLs for configuration - [[https://olano.dev/2023-11-30-code-is-run-more-than-read/][Code is run more than read]] A unified theory of broken software - [[https://www.teamten.com/lawrence/writings/java-for-everything.html][Java for Everything]] The advantages of focusing on a single language and how performance and static typing are helpful. - [[https://en.wikipedia.org/wiki/Ostrich_algorithm][Ostrich algorithm]] - [[https://blog.brownplt.org/2024/04/12/behavior-misconceptions.html][Finding and Fixing Standard Misconceptions About Program Behavior]] About the Standard Model of Languages (SMoL) - [[https://dannorth.net/best-simple-system-for-now/][Best Simple System for Now]] A view I disagree on about IAGNI and the opposite concepts, but interesting - [[https://mmapped.blog/posts/38-static-types-perfectionism][Static types are for perfectionists]] Our programming style is influenced by our personality and life - [[https://www.joelonsoftware.com/2005/05/11/making-wrong-code-look-wrong/][Making wrong code look wrong]] The history about Hungarian notations - [[https://www.hillelwayne.com/talks/ese/ddd/][What We Know We Don't Know: Empirical Software Engineering]] 40-minute video about the power of proper sleep, working schedules and stress levels vs. engineering practices - [[https://www.hillelwayne.com/post/we-are-not-special/][We are not special]] Second of a series of three articles comparing software engineering with traditional engineering. Mostly dispels some myth and lack of knowledge about traditional engineering. ** Testing - [[https://testing.googleblog.com/2014/05/testing-on-toilet-risk-driven-testing.html][Testing on the Toilet: Risk-Driven Testing]] "Your tests are a means. The bang is what counts. It’s your job to maximize it." - [[https://testing.googleblog.com/2024/10/smurf-beyond-test-pyramid.html][SMURF: Beyond the Test Pyramid]] Test categories and the pyramid are excessively limited models. ** Python - [[https://lukeplant.me.uk/blog/posts/pythons-disappointing-superpowers/][Python’s "Disappointing" Superpowers]] A convincing defense of dynamic typing ** Rust - [[https://www.hezmatt.org/~mpalmer/blog/2024/05/01/the-mediocre-programmers-guide-to-rust.html][The Mediocre Programmer's Guide to Rust]] - [[https://qouteall.fun/qouteall-blog/2025/How to Avoid Fighting Rust Borrow Checker][How to Avoid Fighting Rust Borrow Checker]] ** Optimization - [[https://docs.oracle.com/cd/E11882_01/server.112/e41573/technique.htm][The Oracle Performance Improvement Method]] My favorite text about performance tuning- the good advice is not Oracle-specific. Includes a bit more real-world advice than [[https://users.ece.utexas.edu/~adnan/pike.html][Rob Pike's 5 Rules of Programming]]. - [[https://infrequently.org/series/performance-inequality/][The Performance Inequality Gap, 2024]], [[https://danluu.com/slow-device/][How web bloat impacts users with slow devices]], about janky browser applications and websites. ** Git - [[https://blog.gitbutler.com/git-tips-3-really-large-repositories/][Git Tips 3: Really Large Repositories]] ** Accessibility - [[https://xogium.me/the-text-mode-lie-why-modern-tuis-are-a-nightmare-for-accessibility][The text mode lie: why modern TUIs are a nightmare for accessibility]] * Systems - [[https://chrisdown.name/2018/01/02/in-defence-of-swap.html][In defence of swap: common misconceptions]] * Organizations - [[https://charity.wtf/2024/07/24/pragmatism-neutrality-and-leadership/][Pragmatism, Neutrality and Leadership]]; the parts about "As a leader, your job is to succeed", "Companies with shitty cultures win all the time". This article connects with [[https://hbr.org/2007/03/why-i-wrote-the-no-asshole-rule][The no asshole rule]] book. - [[https://charity.wtf/2017/05/11/the-engineer-manager-pendulum/][The Engineer/Manager Pendulum]] Why people should multiclass engineering and management - [[https://varoa.net/2024/01/09/how-organisations-cripple-engineering-teams-with-good-intentions.html][How organisations cripple engineering teams with good intentions]] Arguments for having coders code - [[https://stackoverflow.blog/2024/06/10/generative-ai-is-not-going-to-build-your-engineering-team-for-you/][Generative AI Is Not Going To Build Your Engineering Team For You]] Bad title; it's about the need for junior coders - [[https://luminousmen.com/post/senior-engineer-fatigue][Senior Engineer Fatigue]] - [[https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/][Things You Should Never Do, Part I]] About rewriting software from scratch - [[https://dl.acm.org/doi/10.1145/1464122.1464146][Some observations concerning large programming efforts]] Someone figured most of it out in 1964. ** Project management - [[https://apenwarr.ca/log/20171213][An epic treatise on scheduling, bug tracking, and triage]] - no non-sense opinions on project management I mostly agree with * News - [[https://www.currentaffairs.org/2020/08/the-truth-is-paywalled-but-the-lies-are-free/][The Truth Is Paywalled But The Lies Are Free]] - Excellent title, but the article is so-so * Society - [[https://locadeldesvan.com/2025/01/09/contra-la-tecnocratizacion-de-la-vida/][Contra la tecnocratización de la vida]] About the pressure of the modern age and the privilege of being mediocre - [[https://www.experimental-history.com/p/face-it-youre-a-crazy-person][Face it: you're a crazy person]] Choosing a job because you like the worst parts of it * Epistemology? - [[https://hermiene.net/essays-trans/relativity_of_wrong.html][The Relativity of Wrong]] by Isaac Asimov; all physics theories are strictly "false", but they are very true. * Meta - [[https://www.benkuhn.net/progessays/][Essays on programming I think about a lot]] - [[https://www.piglei.com/articles/en-programmer-reading-list-part-one/][A Programmer's Reading List: 100 Articles I Enjoyed (1-50)]] * Infrequent but useful terms - [[https://en.wikipedia.org/wiki/Abilene_paradox][The Abilene paradox]] is a collective fallacy, in which a group of people collectively decide on a course of action that is counter to the preferences of most or all individuals in the group, while each individual believes it to be aligned with the preferences of most of the others. - [[https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect][The Dunning–Kruger effect]] is a cognitive bias in which people with limited competence in a particular domain overestimate their abilities. Some researchers also include the opposite effect for high performers: their tendency to underestimate their skills. In popular culture, the Dunning–Kruger effect is often misunderstood as a claim about general overconfidence of people with low intelligence instead of specific overconfidence of people unskilled at a particular task. [[https://www.frontiersin.org/journals/psychology/articles/10.3389/fpsyg.2022.840180/full][This effect might only be caused by subjects in the bottom quartile can only make optimistic errors placing themselves into a higher quartile, while subjects in the top quartile can only make pessimistic errors placing themselves in a lower quartile]]. - [[https://en.wikipedia.org/wiki/Gell-Mann_amnesia_effect][The Gell-Mann amnesia effect]] is a cognitive bias describing the tendency of individuals to critically assess media reports in a domain they are knowledgeable about, yet continue to trust reporting in other areas despite recognizing similar potential inaccuracies. - [[https://en.wikipedia.org/wiki/Goodhart%27s_law][Goodhart's law]] is an adage that has been stated as, "When a measure becomes a target, it ceases to be a good measure". [[https://en.wikipedia.org/wiki/McNamara_fallacy][The McNamara fallacy]] (also known as the quantitative fallacy) involves making a decision based solely on quantitative observations (or metrics) and ignoring all others. - [[https://en.wikipedia.org/wiki/Hanlon%27s_razor][Hanlon's razor]] is an adage, or rule of thumb, that states: Never attribute to malice that which is adequately explained by stupidity. - [[https://en.wikipedia.org/wiki/Hawthorne_effect][The Hawthorne effect]] is a type of human behavior reactivity in which individuals modify an aspect of their behavior in response to their awareness of being observed. - [[https://softwareengineering.stackexchange.com/questions/123627/what-are-the-london-and-chicago-schools-of-tdd][What are the London and Chicago schools of TDD?]] (Just to remember these useful terms) - [[https://en.wikipedia.org/wiki/Sturgeon%27s_law][Sturgeon's law]] is an adage stating "ninety percent of everything is crap". - [[https://en.wikipedia.org/wiki/Schedule_chicken][Schedule chicken]] is when two or more parties working towards a common goal all claim to be holding to their original schedules for delivering their part of the work, even after they know those schedules are impossible to meet. Each party hopes the other will be the first to have their failure exposed. - [[https://everything2.com/title/Your+radical+ideas+about+society%252C+individualism%252C+and+religion+have+already+occurred+to+others][Your radical ideas about society, individualism, and religion have already occurred to others]]. - [[https://en.wikipedia.org/wiki/Slate_Star_Codex#Lizardman's_Constant][Lizardman's constant]] the approximate percentage of responses to a poll, survey, or quiz that are not sincere See also [[misc/greek-task-list.md][Greek task list]]. Sources: - [[https://en.wikipedia.org/wiki/List_of_paradoxes][List of paradoxes]] - [[https://en.wikipedia.org/wiki/Unintended_consequences][Unintended consequences]] * Lost and not found Some articles I'd like to find here, but haven't been able to find again: - Enqueuing function calls vs. extending your domain model. This article discussed using traditional queues for handling some actions in your application vs. doing this "declaratively". For example, enqueue "send notification about x to user y" vs. "add column 'needs_x_notification to users table". If I remember correctly, the article contained some insightful arguments for the latter approach I had not thought of.