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
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.
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...