Angus MorrisoninBetter ProgrammingEnums: Rust Objects of Unusual SizeHow enum-specific compiler optimizations keep our programs performantJun 28, 20231Jun 28, 20231
Angus MorrisoninLevel Up Coding7 Tips to Mentor Junior Developers More EffectivelyPractical advice for helping junior developers grow into all-star seniorsMay 29, 2023May 29, 2023
Angus MorrisoninBetter ProgrammingHow To Automatically Redact Go Secrets From LogsLog anything with confidence by making your secrets unloggableMay 23, 2023May 23, 2023
Angus MorrisoninBetter ProgrammingWriting Parallel Parameterized Tests With Kotlin and JUnit 5Supercharge your test suite without using @JvmStatic or companion objectsApr 25, 2023Apr 25, 2023
Angus MorrisoninBetter ProgrammingHow to Write Atomic Repositories in GoPerform atomic operations without leaking transactions into your business logicMay 2, 20222May 2, 20222
Angus MorrisoninBetter ProgrammingHow to Inject a Logger into Go’s HTTP HandlersUntangle an anti-patternSep 8, 20201Sep 8, 20201
Angus MorrisoninBetter ProgrammingBuild a Rails-Like Migration Runner for Your Go ProjectsReliably migrate development and test databases up and downSep 2, 2020Sep 2, 2020
Angus MorrisoninBetter ProgrammingHow to Write a Concurrent FTP Server in Go (Part 2)Change directories, list their contents, and download filesJun 5, 20201Jun 5, 20201
Angus MorrisoninBetter ProgrammingHow to Write a Concurrent FTP Server in Go (Part 1)Serve multiple clients and understand the FTP specJun 4, 20202Jun 4, 20202
Angus MorrisoninBetter ProgrammingMaster Bitwise Operations in 10 MinutesThe devil is in the details because if you get it wrong, you get a different answerMar 18, 20201Mar 18, 20201