Best of Anton Zhiyanov2025

  1. 1
    Article
    Avatar of antonzAnton Zhiyanov·31w

    Write the damn code

    Software engineers should avoid endless prompt refinement when working with AI and instead actively write code themselves. Rather than trying to perfect prompts to get AI to generate complete solutions, developers should engage with the code directly by refactoring AI-generated code, writing initial versions for AI review, handling critical parts manually, or creating code outlines for AI to complete. This hands-on approach produces better results than attempting to 'program in English' through prompt iteration.

  2. 2
    Article
    Avatar of antonzAnton Zhiyanov·31w

    Go is #2 among newer languages

    Programming language rankings for newer languages (version 1.0 released after 2010) show TypeScript leading, followed by Go in second place, then Rust, Kotlin, Dart, and Swift. The analysis combines data from IEEE, Stack Overflow, and Languish rankings, highlighting TypeScript's dominance and Go's strong position for backend development.

  3. 3
    Article
    Avatar of antonzAnton Zhiyanov·20w

    Gist of Go: Concurrency is out!

    An interactive book on concurrent programming in Go has been released, covering goroutines, channels, select statements, pipelines, synchronization, race prevention, time handling, signaling, atomicity, testing, and concurrency internals. The book features clear explanations with interactive examples and auto-tested exercises for hands-on practice, suitable for both beginners learning concurrency and developers looking to advance beyond basics.

  4. 4
    Article
    Avatar of antonzAnton Zhiyanov·1y

    Go 1.24: Interactive tour

    Go 1.24, scheduled for release in February, brings a wealth of new features, including generic type aliases, weak pointers, improved finalizers, and directory-scoped filesystem access. Performance enhancements are seen in the new map implementation using SwissTable and concurrent hash-trie for sync.Map. Developer experience is improved with streamlined tools for benchmarks, concurrent code testing, custom tool usage, and structured JSON output for build and test commands. Additionally, cryptographic functions see updates with SHA-3 and random text generation.

  5. 5
    Article
    Avatar of antonzAnton Zhiyanov·41w

    Redka: Redis re-implemented with SQL

    Redka is a Redis-compatible server and Go module that reimplements Redis functionality using SQL databases (SQLite or PostgreSQL) as the backend. It supports five core Redis data types (strings, lists, sets, sorted sets, hashes) and offers both standalone server and embedded library usage. While not matching Redis performance, Redka handles tens of thousands of operations per second and provides benefits like SQL introspection, embedded caching for Go apps, and simplified testing environments.

  6. 6
    Article
    Avatar of antonzAnton Zhiyanov·45w

    JSON evolution in Go: from v1 to v2

    Go 1.25 introduces json/v2 package with significant changes from v1. Key improvements include new MarshalWrite/UnmarshalRead functions for direct I/O operations, streaming encode/decode via jsontext package, configurable options for formatting and behavior, enhanced field tags (inline, format, unknown), flexible custom marshalers with MarshalFunc/UnmarshalFunc, and changed default behaviors (nil slices/maps marshal to []/{}). Performance shows similar marshaling speed but 2.7x-10.2x faster unmarshaling. The package remains experimental requiring GOEXPERIMENT=jsonv2 flag.

  7. 7
    Article
    Avatar of antonzAnton Zhiyanov·1y

    Gist of Go: Context

    The post explains the use of context in Go programming, specifically highlighting its role in concurrent operations. It discusses how to implement cancellation and timeout mechanisms using the context package, comparing it to traditional channel-based cancellation. The post also covers practical examples and nuances, such as layers of context, safe multiple cancels, parent-child timeouts, and context with values.