Keeping a changelog humans want to read
A git log is not a changelog. A short, curated record of notable changes tells users what an upgrade means for them.
Archive
Every story, newest first.
A git log is not a changelog. A short, curated record of notable changes tells users what an upgrade means for them.
Slow CI quietly taxes every pull request. Measure first, then cache, parallelize and stop doing work that doesn't matter.
Start with HTML that works on its own, then layer on JavaScript. Your app gets faster, more resilient and more accessible almost for free.
Some languages throw errors up the stack; others return them as values. Each approach makes different mistakes easy or hard.
Rate limits protect logins from brute force and APIs from overload. The algorithm you choose decides how bursty traffic is treated.
A handful of fast, focused command-line tools can replace minutes of clicking every day. Here's a starter kit and how the pieces combine.
Declaring infrastructure in version control makes it reviewable and repeatable. It also has sharp edges — state, secrets and drift.
Hitting "too many connections" errors is a rite of passage. Understanding how pools work — in your app and in front of your database — makes them go away.
Asking for the length of a string has at least three correct answers. Understanding why prevents a family of text-handling bugs.
100% uptime is the wrong goal. Service level objectives turn reliability into a number you can plan around, and error budgets tell you when to slow down.
A commit message is a note to whoever runs git blame next year. A few conventions make history searchable and debugging faster.
Coding assistants start every session knowing nothing about your project. A short, well-maintained instructions file fixes most of the "it ignored our conventions" complaints.