41554 blogs · [ { "id": "01a08796-b617-7351-987a-fa5096975361", "title": "Excessive nil pointer checks in Go", "url": "https://konradreiche.com/blog/excessive-nil-pointer-checks-in-go/", "published_at": "2026-06-16T00:00:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa50977c8e86", "title": "An introduction to PID controllers", "url": "https://konradreiche.com/blog/an-introduction-to-pid-controllers/", "published_at": "2026-04-07T00:00:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa5097c8875b", "title": "What Go conference reviewers look for in a talk proposal", "url": "https://konradreiche.com/blog/what-go-conference-reviewers-look-for-in-a-talk-proposal/", "published_at": "2026-02-17T00:00:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa509815fe76", "title": "My travel development setup", "url": "https://konradreiche.com/blog/my-travel-development-setup/", "published_at": "2025-07-06T00:00:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa509837e421", "title": "Blameless postmortem by design: In praise of the Five Whys", "url": "https://konradreiche.com/blog/blameless-postmortem-by-design-in-praise-of-the-five-whys/", "published_at": "2025-06-04T00:00:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa509906cbfa", "title": "A generic protobuf reader with Go's type parameters", "url": "https://konradreiche.com/blog/a-generic-protobuf-reader-with-go-type-parameters/", "published_at": "2025-03-17T00:00:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa5099101304", "title": "Code reviews with local checkouts and cleaner diffs", "url": "https://konradreiche.com/blog/code-reviews-with-local-checkouts-and-cleaner-diffs/", "published_at": "2025-01-29T00:00:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa509964f465", "title": "Avoiding Redis race conditions in tests", "url": "https://konradreiche.com/blog/avoiding-redis-race-conditions-in-tests/", "published_at": "2024-12-02T00:00:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa509a00bdef", "title": "How test packages help to avoid interfaces in Go", "url": "https://konradreiche.com/blog/how-test-packages-help-to-avoid-interfaces-in-go/", "published_at": "2024-10-27T00:00:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa509ad7ea6a", "title": "Two common Go interface misuses", "url": "https://konradreiche.com/blog/two-common-go-interface-misuses/", "published_at": "2024-10-18T00:00:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa509bb0f78e", "title": "How to use b.RunParallel", "url": "https://konradreiche.com/blog/how-to-use-b-run-parallel/", "published_at": "2023-11-19T00:00:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa509c289a12", "title": "Use internal packages for monorepos", "url": "https://konradreiche.com/blog/use-internal-packages-for-monorepos/", "published_at": "2023-10-30T00:00:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa509c8fef9d", "title": "Context is for goroutine cancellation", "url": "https://konradreiche.com/blog/context-is-for-goroutine-cancellation/", "published_at": "2023-04-06T23:00:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa509cca490a", "title": "Executing Redis cluster commands", "url": "https://konradreiche.com/blog/executing-redis-cluster-commands/", "published_at": "2023-02-27T00:00:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa509d19fd65", "title": "Effective error monitoring in Go", "url": "https://konradreiche.com/blog/effective-error-monitoring-in-go/", "published_at": "2022-09-03T00:00:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa509dc6ac7d", "title": "How to separate integration tests in Go", "url": "https://konradreiche.com/blog/how-to-separate-integration-tests-in-go/", "published_at": "2022-08-04T00:00:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa509e66f25a", "title": "Editing your video on the command-line", "url": "https://konradreiche.com/blog/editing-your-video-on-the-command-line/", "published_at": "2022-03-20T00:00:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa509e922ed8", "title": "Postgres Advisory Locks vs Redlock", "url": "https://konradreiche.com/blog/postgres-advisory-locks-vs-redlock/", "published_at": "2021-12-04T00:00:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa509f868f3a", "title": "A cautionary tale of cgo embedding", "url": "https://konradreiche.com/blog/a-cautionary-tale-of-cgo-embedding/", "published_at": "2019-01-25T12:55:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa509f8e314e", "title": "Docker Bash Helpers", "url": "https://konradreiche.com/blog/docker-bash-helpers/", "published_at": "2016-05-13T20:00:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa509fd9a83d", "title": "Growth Hacking 101", "url": "https://konradreiche.com/blog/growth-hacking-101/", "published_at": "2016-03-02T17:00:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa50a03471ea", "title": "Traversing your collections functional", "url": "https://konradreiche.com/blog/traversing-your-collections-functional/", "published_at": "2016-02-14T23:00:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa50a0a24750", "title": "Continuous code review with GitHub and Slack", "url": "https://konradreiche.com/blog/continuous-code-review-with-github-and-slack/", "published_at": "2015-12-26T12:04:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa50a130bcd9", "title": "Singleton-Active Record Charade", "url": "https://konradreiche.com/blog/singleton-active-record-charade/", "published_at": "2015-11-11T23:24:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa50a19b0790", "title": "Tear down this wall. Reverse Tunneling", "url": "https://konradreiche.com/blog/tear-down-this-wall/", "published_at": "2015-08-21T12:52:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa50a1c6223c", "title": "Debugging Sidekiq With Pry", "url": "https://konradreiche.com/blog/debugging-sidekiq-with-pry/", "published_at": "2013-04-29T19:52:00+00:00" }, { "id": "01a08796-b617-7351-987a-fa50a26f8b70", "title": "Enum Factory Pattern", "url": "https://konradreiche.com/blog/enum-factory-pattern/", "published_at": "2012-11-25T21:52:00+00:00" } ] posts Claim your blog
Back to konradreiche.com
Blog · corpus.blog/blogs/konradreiche.com/posts

konradreiche.com

konradreiche.com

2026

2025

2024

2023

2022

2021

2019

2016

2015

2013

2012