aboutsummaryrefslogtreecommitdiff
path: root/blog/content/notes/interesting-articles.gmi
blob: 772c69f88bcfee833af3806c8ea1e1922327cea5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
# Interesting articles

## 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%20to%20Avoid%20Fighting%20Rust%20Borrow%20Checker 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.

=> https://www.jofreeman.com/joreen/tyranny.htm The tyranny of structurelessness
=> cliffs/the-tyranny-of-structurelessness (My Cliff's Notes)

### 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
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
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 A Statistical Explanation of the Dunning–Kruger Effect
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
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
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
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
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?

=> https://en.wikipedia.org/wiki/Sturgeon%27s_law Sturgeon's law
An adage stating "ninety percent of everything is crap".

=> https://en.wikipedia.org/wiki/Schedule_chicken Schedule chicken
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:

=> greek-task-list 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.