software development
January
- 08
- Finding unique items - hash vs sort?
- 12
- Goodbye, Clean Code
- 21
- Why do we fall into the rewrite trap?
- 26
- Beyond TDD: breaking the rules
- 27
- The Shapes of Code
- 29
- Some Useful Probability Facts for Systems Programming
February
- 10
- Tools in My Toolbox
- 11
- The economics of clean code
- 14
- Why do so many developers get DRY wrong?
- 16
- Tips on reading and debugging other programmers' code
- 24
- Reflections on software performance
- 27
- Don’t try to sanitize input
- 28
- Eight rituals to be a better programmer
- 29
- Choosing a Programming Language
March
- 03
- Know Your Database Types
- 04
- Time Disorder: don't order events by timestamp
- 04
- The death of Agile?
- 09
- Dive into an unfamiliar codebase from its edges
- 12
- Why I Don’t Use Classes
- 19
- The Troublesome Active Record Pattern
- 22
- Secure by Design
- 29
- You’re not writing code, you’re solving problems
- 31
- Falsehoods programmers believe about time
April
- 03
- Don’t repeat my mistakes while developing a ML library
- 08
- A humble guide to database schema design
- 20
- Patterns for Managing Source Code Branches
- 22
- Things I Wished More Developers Knew About Databases
- 23
- Warnings are Errors
May
June
- 05
- Containers from first principles
- 14
- Seven Techniques to Master Error Handling
- 18
- Intuitive Programming - Comments
- 20
- An Intro to Compilers
- 21
- Views on Error Handling
July
- 05
- Beginner’s Guide To Abstraction
- 06
- D-Bus and Polkit, No More Mysticism and Confusion
- 08
- GNU: A Heuristic for Bad Cryptography
- 08
- Delta Compression
- 15
- Let's make a Teeny Tiny compiler
- 16
- How SHA-2 Works Step-By-Step (SHA-256)
- 17
- Assessing Abstractions
- 18
- Sequential Consistency In Practice
- 22
- Setting up a Linux Workstation for Software Development
- 28
- Hexadecimal floating point
- 29
- Random Strings and Integers That Actually Aren’t
- 31
- The Case Against OOP is Wildly Overstated
August
- 04
- How to read code: the next generation
- 15
- Write your Own Virtual Machine
- 22
- Writing better Code
- 22
- Paper: A fork() in the road
- 24
- Null-safety Part 1: The Fundamental Problem with Null
- 29
- Don't trust default timeouts
September
October
- 14
- Prefer Fakes Over Mocks
- 17
- Coding Tip: Try to Code Without If-statements
- 21
- Forcing Functions in Software Development
November
- 01
- Why I prefer functional programming
- 10
- Optimizing your code is not the same as parallelizing your code
- 11
- Systematically removing code
- 11
- Fixing leaky logs: how to find a bug and ensure it never returns
- 19
- Refactoring a Loop That Was Trying Too Hard