vknabel

vknabel

Valentin Knabel

Developer, cyclist, coffee nerd, human. Open Source, kindness, honesty, vegan. It is fine to be imperfect, as long as we are honest and have fun along the way.

Latest Posts

Today I stumbled upon Atomic Design. It is some kind of architectural pattern for the user interface. The goal is to build a reusable UI that is easy to understand and maintain. It starts with atoms, which represent the smallest units of...
With OPA you implement decisions of policies, not their enforcement. This avoids confusion between multiple servers that might come from different implementations of the policies. The decisions themselves are implemented using the Regi...
You can override Go values with ldflags during the build. That way, you can inject values like the current version, build date or the current commit hash. go build \ -ldflags "-X 'github.com/metal-stack/v.Version=$(VERSION)' \ -X...
All the hosted Kubernetes solutions I know of want you to pay roughly 10$ pre month for each load balancer. If you currently don’t expect much traffic, but want to play around with k8s or if many docker-compose files don’t fit your needs...
I have been playing around with minikube for quite some time now. Though as I run minikube on my Mac, I experienced multiple bugs regarding accessing the cluster and it’s published ports. From my perspective Kind works much better, is...
I gave the newest tool of Charm Gum a try. It allows to create interactive bash scripts in just a few lines of code. In my case I gave it a try for Kubernetes. I often want to look at the logs of a pod, but the exact k8s pod differs from...
Go 1.19 introduced a new option to customize the runtime Garbage Collection behavior: Memory Limit. This might be interesting when embedding Go within a mobile application. Go Time – Episode #240: What’s new in Go 1.19
Two years ago, I created Puffery for iOS, which allows sending push notifications to your iOS devices. You can follow other’s channels and directly receive updates. There is no algorithm that decides wether you should receive...
When using tailwind, you might be forced to manually write SCSS by hand. With @apply some classes; you can embed whole classes with all their styles into your own rules. But sometimes you need to only acces one single constant. Like...
If you need assets for a specific document or blog post, you can simply create a folder with your desired name and place your assets in there. Rename the markdown file to index.md. To reference the asset, just link it relative to the...
You can override internal Hugo templates with your own templates. Simply create it in the layouts folder and you are done! That’s how I overrode _internal/google_analytics_async.html with my own template - to not use GA! That way I could...
In Hugo you can simply create a folder within content/ and a template within layouts/_default/. It will be used for the index route of that folder - even if your template did not specify a layout. This allowed me to create a separate...
Unlinke many other static site generators, the syntax highlighting of Hugo does not use client-side JavaScript, which is great! The underlying library is available as Go module github.com/alecthomas/chroma.
I created a GitHub workflow to automatically build and deploy my website to GitHub Pages. It uses peaceiris/actions-hugo@v2 to build the website with Hugo and peaceiris/actions-gh-pages@v3 to deploy it to GitHub Pages.

About

vknabel · 4y

I’m Valentin Knabel, a developer, a cyclist, coffee nerd, vegan and a human. When possible I prefer real-world stuff, open source and privacy. I value simplicity, kindness and honesty. It is fine to be imperfect, as long as we are honest...
Search Random