Solod v0.1: Go ergonomics, practical stdlib, native C interop

A system-level language with Go syntax and zero runtime. | Continue reading


@antonz.org | 1 month ago

Porting Go's strings package to C

With allocators, benchmarks, and some optimizations. | Continue reading


@antonz.org | 2 months ago

Porting Go's io package to C

Interfaces, slices, multi-returns and alloca. | Continue reading


@antonz.org | 2 months ago

Solod: Go can be a better C

A subset of Go that transpiles to regular C, with zero runtime. | Continue reading


@antonz.org | 2 months ago

Allocators from C to Zig

Exploring allocator design in C, C3, Hare, Odin, Rust, and Zig. | Continue reading


@antonz.org | 3 months ago

(Un)portable defer in C

Eight ways to implement defer in C. | Continue reading


@antonz.org | 4 months ago

Interfaces and traits in C

Implemented with structs and function pointers. | Continue reading


@antonz.org | 4 months ago

Go 1.26 interactive tour

New with expressions, type-safe error checking, and faster everything. | Continue reading


@antonz.org | 5 months ago

Fear is not advocacy

And you are going to be fine. | Continue reading


@antonz.org | 5 months ago

2026

Anton Zhiyanovprojects books blog about ◐ | Continue reading


@antonz.org | 5 months ago

'Better C' playgrounds

Playgrounds for C3, Hare, Odin, V, and Zig. | Continue reading


@antonz.org | 5 months ago

Go feature: Modernized go fix

With a fresh set of analyzers and the same backend as go vet. | Continue reading


@antonz.org | 5 months ago

Detecting goroutine leaks in modern Go

Explore different types of leaks and how to detect them with synctest and pprof. | Continue reading


@antonz.org | 5 months ago

Timing 'Hello, world'

Compiling and running 'Hello, World!' in 20 programming languages. | Continue reading


@antonz.org | 5 months ago

Gist of Go: Concurrency is out!

Interactive book on concurrent programming with auto-tested exercises. | Continue reading


@antonz.org | 6 months ago

Go proposal: Secret mode

Automatically erase memory to prevent secret leaks. | Continue reading


@antonz.org | 6 months ago

Gist of Go: Concurrency internals

CPU cores, threads, goroutines, and the scheduler. | Continue reading


@antonz.org | 6 months ago

Go proposal: Type-safe error checking

errors.AsType is a modern alternative to errors.As. | Continue reading


@antonz.org | 6 months ago

Go proposal: Goroutine metrics

Export goroutine-related metrics from the Go runtime. | Continue reading


@antonz.org | 6 months ago

Gist of Go: Concurrency testing

Checking concurrent operations and time-sensitive code. | Continue reading


@antonz.org | 6 months ago

Go proposal: Context-aware Dialer methods

Connect to TCP, UDP, IP, or Unix sockets, with an optional timeout. | Continue reading


@antonz.org | 7 months ago

Go proposal: Compare IP subnets

The same way IANA and Python do. | Continue reading


@antonz.org | 7 months ago

High-precision date/time in C

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


@antonz.org | 7 months ago

Gist of Go: Atomics

Concurrent-safe operations without explicit synchronization. | Continue reading


@antonz.org | 8 months ago

Go proposal: Hashers

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


@antonz.org | 8 months ago

Write the damn code

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


@antonz.org | 8 months ago

Go is #2 among newer languages

With version 1.0 released after 2010. | Continue reading


@antonz.org | 8 months ago

Go proposal: new(expr)

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


@antonz.org | 8 months ago

Accepted! Go proposals distilled

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


@antonz.org | 8 months ago

Native threading and multiprocessing in Go

Exploring unconventional ways to handle concurrency. | Continue reading


@antonz.org | 8 months ago

Building blocks for idiomatic Go pipelines

Unopinionated and composable channel operations. | Continue reading


@antonz.org | 10 months ago

Gist of Go: Signaling

Sending events between goroutines. | Continue reading


@antonz.org | 10 months ago

On deep modules

Make smaller interfaces. Seriously. | Continue reading


@antonz.org | 10 months ago

You don't need testify/assert

To have expressive test assertions. | Continue reading


@antonz.org | 11 months ago

Redka: Redis re-implemented with SQL

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


@antonz.org | 11 months ago

Concise test assertions with Be

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


@antonz.org | 11 months ago

Gist of Go: Semaphores

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


@antonz.org | 11 months ago

Go 1.25 interactive tour

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


@antonz.org | 11 months ago

JSON evolution in Go: from v1 to v2

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


@antonz.org | 11 months ago

Gist of Go: Race conditions

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


@antonz.org | 12 months ago

Gist of Go: Data races

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


@antonz.org | 1 year ago

AI-free writing

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


@antonz.org | 1 year ago

Sad story of http.DefaultTransport

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


@antonz.org | 1 year ago

Am I online?

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


@antonz.org | 1 year ago

Sandboxes

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


@antonz.org | 1 year ago

Howto: Humble command-line assistant

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


@antonz.org | 1 year ago

Go's map does not shrink

Sad, but true. | Continue reading


@antonz.org | 1 year ago

Go 1.24 interactive tour

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


@antonz.org | 1 year ago