Blog Archive
career
Sep 7, 2023 | It’s okay to start as a framework-er |
Feb 6, 2023 | One common behavior seen in “mature” software engineers |
crystal
Jan 3, 2020 | Using the Crystal compiler API |
css
Jan 31, 2019 | Set both background and font colors, or neither |
curation
Oct 1, 2023 | Curation–Oct 1, 2023 |
Sep 10, 2023 | Curation–Sep 10, 2023 |
cycling
May 11, 2022 | Bicycle chain wax starter guide |
database
Sep 25, 2023 | The poor man’s DB proxy |
Sep 24, 2023 | Setting up MySQL replication on Docker Swarm |
docker
Sep 24, 2023 | Setting up MySQL replication on Docker Swarm |
Sep 13, 2023 | Actual instructions to building a multi-platform docker image |
linux
Feb 17, 2019 | Small Ubuntu Tweaks |
mysql
Sep 24, 2023 | Setting up MySQL replication on Docker Swarm |
programming
Oct 7, 2023 | Zig cross-compilation: linking to system libraries |
Sep 26, 2023 | Generate your own one-time password like authenticator apps |
Sep 25, 2023 | The poor man’s DB proxy |
Sep 7, 2023 | It’s okay to start as a framework-er |
Feb 6, 2023 | One common behavior seen in “mature” software engineers |
Mar 8, 2020 | From Rust to WebAssembly: building an interactive note-taking webapp with Actix & Yew |
Jan 3, 2020 | Using the Crystal compiler API |
Dec 16, 2019 | Don’t use booleans |
Jan 31, 2019 | Set both background and font colors, or neither |
Jun 23, 2017 | On reviewing code: Some practices I’ve found useful |
Oct 9, 2016 | Random .NET fact: String.Join() throws a “fake” OutOfMemoryException |
ubuntu
Feb 17, 2019 | Small Ubuntu Tweaks |
ux
Jan 31, 2019 | Set both background and font colors, or neither |
waxing
May 11, 2022 | Bicycle chain wax starter guide |