Software Development: The Good & The Bad Parts
Modern software development is beyond broken. Popular practices of resume-driven development, cargo-cult programming, and piling layers upon layers of failed abstractions are only making matters worse.
TheGoodParts.dev is a digital garden (a custom wiki/blog combination) on these and various other software development issues. Simplicity is a prerequisite for reliability.
Do the simplest thing that could possibly work
https://www.seangoedecke.com/the-simplest-thing-that-could-possibly-work/
I hate screenshots of text
On the foolishness of "natural language programming" - Edsger W. Dijkstra, 1978 (still very relevant now, possibly more than ever)
https://www.cs.utexas.edu/~EWD/transcriptions/EWD06xx/EWD667.html
Why is Zig so cool?
Popular wiki/blog pages:
- Modern Web in Numbers [2 min read]
- Functional core, imperative shell [3 min read]
- Async Race Conditions (on JavaScript example) [3 min read]
- Linux: Working With Daemons [2 min read]
- Simple, reliable, fast (in that order) [2 min read]
Recently added/updated pages:
- Understanding Simplicity [1 min read]
- POSIX Shell: Referencing variables [1 min read]
- Programming languages with 1-based array indexes [1 min read]
- Resume Driven Development (RDD) [2 min read]
- Setting up a simple SOCKS proxy tunnel over SSH [3 min read]
- Shell timesaver: binding keys to commands [1 min read]
- Shell timesaver: mkdir and cd combined [1 min read]
- Simple JavaScript template engine by (ab)using template literals [1 min read]