A frequently requested feature for Viper is adding more value formats and decoders. For example, parsing character (dot, comma, semicolon, etc) separated strings into slices. What most people don’t know is that Viper can already be extended with custom decoders without adding any more code to the core.| Márk Sági-Kazár
## Instrumenting **PHP** applications| sagikazarmark.hu
# Introducing Please| sagikazarmark.hu
# Step into Orchestration: <!-- .element style="font-size: 100px" -->| sagikazarmark.hu
| sagikazarmark.hu
Recently I migrated one of my libraries (Emperror) to a vanity import path. Although the migration itself was easy (took less than one day), making the decision, thinking it through from every angle to make sure existing applications don’t break, wasn’t. I did a lot of research to find the right migration path, URL, tooling and I decided to share my experience in this post.| Márk Sági-Kazár
# Why <img src="logo.svg"> is the best| sagikazarmark.hu
It’s been almost a year since we released the first stable version of HTTPlug so I felt like it’s time to look back on what we’ve done so far and what’s still ahead of us.| Márk Sági-Kazár
A question I often get from people—both from beginners stepping into the world of programming and seasoned developers alike—is about how they can start contributing to open source software projects. In this post, my aim is to provide practical advice that will guide you to become not only an active participant in the open source community but also a significant contributor to it.| Márk Sági-Kazár
Certificate management has significantly simplified over the past decade, though the tools used, DNS provider selected, and the Certificate Authority (CA) chosen may introduce complexities. In this article, I will guide you through the process of setting up ACME on NixOS for a domain hosted on Google Domains, using both Let’s Encrypt and Google’s own CA (called Google Trust Services).| Márk Sági-Kazár
The Go programming language has recently accepted a proposal to add a structured logging package to its standard library. This long-awaited addition is expected to land in a future version of the language, sparking excitement and debate among developers.| Márk Sági-Kazár
In my previous post I explained the basic steps of building a CI pipeline for a Go library with Dagger. Let’s move onto the next level: Go CLI applications.| Márk Sági-Kazár
I’ve been playing with Dagger for months now using it in various projects. In this post, I’ll share my experience with using Dagger to build CI pipelines for Go libraries.| Márk Sági-Kazár
I’m a huge fan of Developer Experience and I continuously chase The Perfect Development Environment every day. Not just for my sake, but to make the development process as painless as possible for my peers. But after pursuing the dream environment for years, I had to realize it’s a moving target: technology evolves every day and development processes have to evolve as well.| Márk Sági-Kazár
Recently, I bought a HiFiBerry DAC2 HD and a compatible steel case. Although the assembly guide for the case is quite decent, I made a couple of changes and I thought I’d share my version.| Márk Sági-Kazár
Make and I were good friends for years, building software together, and while I value our friendship a lot, it’s time we move on.| Márk Sági-Kazár
Functional options is a paradigm in Go for clean and extensible APIs popularized by Dave Cheney and Rob Pike. This post is about the practices that appeared around the pattern since it was first introduced.| Márk Sági-Kazár
Go kit is often accused of being too complicated, at least compared to other libraries used for building applications. This post ought to explain the differences between them and demonstrate the thought process of building an application with Go kit.| Márk Sági-Kazár
In the last couple years RPC started to become popular again as a communication mechanism for web-based APIs. It’s not a new concept at all, but it changed a lot over the years: the technology evolved, new IDLs and frameworks (like protobuf and gRPC) appeared. TwirPHP tries to bring this new tech to PHP by porting Twirp, Twitch’s “simple RPC framework built on protobuf”.| Márk Sági-Kazár
Recently I was tasked with deploying and operating a Symfony application on Kubernetes. Since PHP is not my primary area of work anymore, I was hoping to find some up to date guide and/or best practices about the topic, but sadly that wasn’t the case at all, so I decided to write about the process of containerizing the application, building up the infrastructure and deploying it on Kubernetes.| Márk Sági-Kazár
Every developer’s nightmare is that his/her code crashes in production because of the (unexpectedly) high workload. When a new project starts, no one can predict precisely how many people will use it which makes designing the application and the infrastructure quite hard from a performance requirement point of view. Not to mention that there is not always … let me rephrase there is never enough money and time to create THE perfectly scalable and resource efficient software. But this can b...| Márk Sági-Kazár
Open Source enthusiast | Go & Cloud Native fan | CNCF Ambassador | Speaker | Tech content creator Mark is a dedicated technical leader and software engineer who specializes in building Cloud Native and Open Source software. His passion for Open Source has led him to make substantial contributions to a various projects. Feel free to explore his GitHub profile to learn more about his work. A key focus for Mark is to streamline the contribution process for contributors in Open Source Software an...| Márk Sági-Kazár
 <!-- .element style="border: none; box-shadow: none; height: 100px" -->| sagikazarmark.hu
# Demo deck| sagikazarmark.hu
## Effortless orchestration with| sagikazarmark.hu
 <!-- .element style="border: none; box-shadow: none; height: 100px" -->| sagikazarmark.hu
 <!-- .element style="border: none; box-shadow: none; height: 100px" -->| sagikazarmark.hu
# Go testing patterns| sagikazarmark.hu