logo
ProjectsExperienceExpertiseBlogHire Me

Blog

Thoughts, stories, and ideas about software development and technology.

AllBackendDatabasesGoNginxSystem-design
goAug 3, 2026

Why You Should Be Wrapping Errors with %w in Go (And What It Actually Does)

The difference between %v and %w in fmt.Errorf, and why %w is what makes errors.Is and errors.As work correctly once an error crosses package boundaries.

Read more
goJul 24, 2026

Why You Should Use Pointer Types for Nullable DB Columns in Go (And Ditch sql.NullString)

sql.NullString and friends solve the scanning problem but leak Valid/String objects into your JSON API. Pointer types fix scanning and serialization in one move.

Read more
goJul 21, 2026

One Go Struct, Two Audiences: What db and json Tags Actually Do

Two tags, two completely different readers: what db and json actually do on a Go struct, and why your database schema should not dictate your API.

Read more
goAug 24, 2025

From Zero to go run: Setting Up Go for the First Time

Go, also known as Golang, is an open-source programming language created by Google.

Read more

© 2026. devenock. All rights reserved.