Go proposal: Compare IP subnets

The same way IANA and Python do. | Continue reading


@antonz.org | 21 days ago

High-precision date/time in C

Unix time, calendar time, time comparison, arithmetic, rounding, and marshaling. | Continue reading


@antonz.org | 26 days ago

Gist of Go: Atomics

Concurrent-safe operations without explicit synchronization. | Continue reading


@antonz.org | 1 month ago

Go proposal: Hashers

Consistent approach to hashing and equality checks in custom collections. | Continue reading


@antonz.org | 1 month ago

Write the damn code

You are a software engineer. Don't become a prompt refiner. | Continue reading


@antonz.org | 1 month ago

Go is #2 among newer languages

With version 1.0 released after 2010. | Continue reading


@antonz.org | 1 month ago

Go proposal: new(expr)

Allow the new built-in to be called on expressions. | Continue reading


@antonz.org | 1 month ago

Accepted! Go proposals distilled

Stay updated on changes coming in future Go releases. | Continue reading


@antonz.org | 1 month ago

Native threading and multiprocessing in Go

Exploring unconventional ways to handle concurrency. | Continue reading


@antonz.org | 1 month ago

Building blocks for idiomatic Go pipelines

Unopinionated and composable channel operations. | Continue reading


@antonz.org | 3 months ago

Gist of Go: Signaling

Sending events between goroutines. | Continue reading


@antonz.org | 3 months ago

On deep modules

Make smaller interfaces. Seriously. | Continue reading


@antonz.org | 3 months ago

You don't need testify/assert

To have expressive test assertions. | Continue reading


@antonz.org | 3 months ago

Redka: Redis re-implemented with SQL

A Redis-compatible Go server/package with a Postgres or SQLite backend. | Continue reading


@antonz.org | 3 months ago

Concise test assertions with Be

Go package with a minimal API and flexible error checking. | Continue reading


@antonz.org | 4 months ago

Gist of Go: Semaphores

Limiting the concurrency and waiting for the peers. | Continue reading


@antonz.org | 4 months ago

Go 1.25 interactive tour

Fake clock, new GC, flight recorder and more. | Continue reading


@antonz.org | 4 months ago

JSON evolution in Go: from v1 to v2

Reviewing the key changes in json/v2. | Continue reading


@antonz.org | 4 months ago

Gist of Go: Race conditions

Keep the system state correct by any means necessary. | Continue reading


@antonz.org | 4 months ago

Gist of Go: Data races

Two goroutines racing for the same data is a recipe for disaster. | Continue reading


@antonz.org | 5 months ago

AI-free writing

I never use AI-generated content in my writing, and I never will. | Continue reading


@antonz.org | 5 months ago

Sad story of http.DefaultTransport

A tale of false flexibility and leaking abstractions. | Continue reading


@antonz.org | 5 months ago

Am I online?

Checking internet connectivity with 'generate 204' endpoints. | Continue reading


@antonz.org | 5 months ago

Sandboxes

From programming languages to databases to networking and CLI tools. | Continue reading


@antonz.org | 6 months ago

Howto: Humble command-line assistant

You ask, and howto answers. That's the deal. | Continue reading


@antonz.org | 8 months ago

Go's map does not shrink

Sad, but true. | Continue reading


@antonz.org | 9 months ago

Go 1.24 interactive tour

Weak pointers, faster maps, directory-scoped access, and more. | Continue reading


@antonz.org | 10 months ago

TILs are junk food

They are but a waste of cognitive resources. | Continue reading


@antonz.org | 10 months ago

Gist of Go: Context

Safely cancel and timeout operations in a concurrent environment. | Continue reading


@antonz.org | 10 months ago

Proofread and translate text in VS Code

A simple alternative to DeepL, Grammarly, and other similar tools. | Continue reading


@antonz.org | 10 months ago

Gist of Go: Time

Techniques for handling time in concurrent programs. | Continue reading


@antonz.org | 10 months ago

Gist of Go: Pipelines

Compose concurrent pipelines from independent blocks. | Continue reading


@antonz.org | 11 months ago

Gist of Go: Channels

A multi-purpose concurrency tool. | Continue reading


@antonz.org | 11 months ago

High-precision date/time in SQLite

A rich set of functions for working with date, time and durations. | Continue reading


@antonz.org | 1 year ago

Gist of Go: Wait groups

Waiting for goroutines to finish. | Continue reading


@antonz.org | 1 year ago

Gist of Go: Goroutines

Let's write a concurrent program in Go! | Continue reading


@antonz.org | 1 year ago

Gist of Go: Concurrency

Interactive book on concurrent programming with many exercises. | Continue reading


@antonz.org | 1 year ago

What's in which Go

Which major features appeared in which versions of Go. | Continue reading


@antonz.org | 1 year ago

Go 1.23: Interactive release notes

Iterators, timers and canonical values. | Continue reading


@antonz.org | 1 year ago

Resetting timers in Go

Chances are you are doing it wrong. | Continue reading


@antonz.org | 1 year ago

UUIDv7 in 20 languages

From JavaScript to Zig, no third-party dependencies. | Continue reading


@antonz.org | 1 year ago

Modern SQLite: Delete limit

To keep the query from taking forever. | Continue reading


@antonz.org | 1 year ago

Funding my projects

Sponsors >> stars. | Continue reading


@antonz.org | 1 year ago

Modern SQLite: Secure delete

Leave no trace of deleted data. | Continue reading


@antonz.org | 1 year ago

LLMs are insecure

There is no way around it. | Continue reading


@antonz.org | 1 year ago

Modern SQLite: Generated columns

Build your own document database with SQLite. | Continue reading


@antonz.org | 1 year ago

Modern SQLite #1: STRICT tables

Strict column type checking, like in PostgreSQL or MySQL. | Continue reading


@antonz.org | 1 year ago

Grep by example: Interactive guide

Interactive introduction to grep with real-world use cases. | Continue reading


@antonz.org | 1 year ago