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
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.
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...
Once you have decided you want to create your own programming language, you need to create a broader concept. Every programming language is unique in its own way. Your goal is to find out in which way. And you need to find your reason...
This is planned to be a series of blog posts about designing and developing my own programming language, where I want to share some pitfalls, my learnings, design decisions, experience and the development process. While this series will...
When iterating over an array of objects in Angular, the change detection compares the references of the objects to detect changes. If the object reference now change too, like when updating local data from the network, Angular will...
You can run your Go program or your tests with the Data Race detection enabled. This might cost some performance and memory, but in case a data race is being detected, that’s worth it! Perfect for your CI! go run --race ./cmd/app go test...
I have never done anything productive with Kubernetes before. But it is a really tough topic to get started with. It’s overwhelming. Luckily I found an excellent Kubernetes tutorial on Youtube. I made some personal notes while watching....