When my son was born last April, I had ambitious learning plans for the upcoming 5w paternity leave. As you can imagine, with two kids, life quickly verified this plan 🙃. I did eventually start some projects. One of the goals (sounding rebellious in the current AI hype cycle) was to learn and use neovim for coding. As a Goland aficionado, I (and my wrist) have always been tempted by no-mouse,…
A few years back I have been exploring solutions for the in-process gRPC pattern in Go, for the Thanos project . Recently, a friend and a Thanos maintainer Filip refreshed the initial Thanos solution with the new Go 1.23 iterators . This created a perfect opportunity to share, in a co-authored blog post, what Filip and I learned about the new iterators, new coroutines (not goroutines!) and what…
Go’s built-in micro-benchmarking framework is extremely useful and widely known. Sill, not many developers are aware of the additional, yet essential, benchstat tool allowing clear comparisons of Go A/B benchmark results across multiple runs. In 2023, benchstat received a complete overhaul making it even more powerful: projections, filtering and groupings were introduced allowing robust…
Hello back! 👋🏽 Curious how your last weeks looked like, mine were a bit busy: My daughter’s 1st birthday, then she started daycare adaption with the weekly spread of stomach flu, scarlet fever and other “collectables”. Fun. Week of final preparations for KubeCon (~7 talks? plus booth duty, organization duties, an interview and a book signing 🙈), then super active KubeCon in…
Hello Everyone! 👋 Through the recent years in open source and in my role as the Principal Software Engineer at Red Hat, I had the opportunity to do a lot of work that touches tech/team/project/organization management and leadership. During this experience, one realization stood up to me more than anything. The fact that Software Development is way more about humans than computers. That’s…
TL;DR: I am super excited to announce an exact topic of our book we write together with O’Reilly publisher. “Efficient Go” will consist of 10 chapters! The book is planned to be released near the end of Q1 2022. Stay Tuned! Join our Discord Community using this link or follow @bwplotka on Twitter if you want to get notified about updates, promotions, opportunities to contribute…
NOTE: I wrote this article for the CNCF TAG (previously SIG) Observability Whitepaper about Observability , so you will see some of this write up there. The Whitepaper itself, is a fantastic initiative that aims for a complete overview and state-of-the-art of modern observability. Purely community-driven and for the community! When writing this, it’s still in progress, so if you want to help…
TL;DR: Recently we introduced extended Go Style Guide for the Thanos project , a high scale open-source distributed metric system where, with our large community, we take extra attention and care for the code quality. Go + Distributed Systems = ❤️ Modern, scalable backend systems can be incredibly complex. Despite our efforts with other Maintainers, to not add too many features, APIs or…
Writing software documentation is hard. Maintaining it is even more challenging in both closed and open-source worlds. You are probably familiar with the disdain that everyone has for writing, maintaining, and updating documentation, especially software engineers. But it is a necessary process that helps future teams, users and developers to use your project and contribute effectively. It might be…
In this post, I would like to share what, in my honest opinion, a “perfect” maintainer of an open source software should do. Yes, no one ever will be perfect: we all have limited time, we all make mistakes and have some skills to learn. However, there is nothing bad in defining what we should aim for. (: Some quick glossary for this (long) post: Maintainer: Person responsible for the…