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.
How to write blog posts that developers read
https://refactoringenglish.com/chapters/write-blog-posts-developers-read/
Unexpected benefits of building your own tools
Every piece of software is a state machine. Any mutable variable adds a staggering number of states to that machine.
https://old.reddit.com/r/programming/comments/1ojmwd9/john_carmack_on_updating_variables/nm518eo/
"A Plea for Lean Software" by Prof. Niklaus Wirth (1995)
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]