Copy & paste from untrusted sources on the internet into the terminal is a really bad idea! Early in my career I did it too and still often see others doing it.
[Read More]Render Plain HTML with Hugo
Hugo is my favorite tool for publishing markdown to the internet, but sometimes I want to do something a little bit more advanced with my posts.
With this shortcode I can always just fall back to plain old HTML.
[Read More]Hugo Details Shortcode
The HTML details element is a nice way to create natively expandable content with wide browser support.
[Read More]Ansible and cowsay
Cowsay is one of those packages you just end up installing randomly on just about any client over time.
And if your using ansible you may be in for a little surprise:
[Read More]Django: CSRF exempt view
Django’s CSRF protection is usually a great thing, but when building (API) endpoints meant to be accessed by scripts/third parties it gets in the way of that.
This is how to disable it:
For a class based view
from django.utils.decorators import method_decorator
from django.views.decorators.csrf import csrf_exempt
@method_decorator(csrf_exempt, name='dispatch')
class MyView(View):
pass
For a function based view
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def my_view(request):
pass
My Publishing Pipeline
I write an extensive personal knowledge base using markdown, code-server and a variety of other tools. Originally, in 2021, I wanted to have something like Obsidian Publish but self-hosted, so I created it.
Over time my knowledge base evolved more into a second brain, tracking not only my technical notes and journal, but also things like recipes and hikes. With this my publishing pipeline, and the script at it’s core, extended in a multitude of ways.
[Read More]The (MVP) making of PodHistory

In this post I share my process for building the MVP for PodHistory, from idea to launched product and what my next steps will be.
[Read More]Helm: Join two lists
Since early 2019 the sprig
library used by helm
provides a concat
function that does exactly this.
Simple Self Organization

This is a guide to a simple self organization/task management system I built for myself over the years.
From time to time I showed it to someone and they got some benefits from it, most adapted it to better fit their needs down the line, which is exactly what you should do with any kind of personal task management in my opinion.
[Read More]HTMX
Go check out their website, it’s incredibly good at explaining itself.
To me, a backend heavy developer, HTMX is the frontend framework I like to use because:
- It does not feel like a JavaScript framework at all, but more like an extension of the HTTP/HTML model
- It allows me to write interfaces that feel responsive and modern to users while still doing all the heavy lifting in my backend with the tools I’m used to
- It works with my mental model, which is heavily based on the request-response cycle
Handling signals with Python
Hack things together
A little scripting never hurt anybody
Sometimes you have to do a specific task and you are fully capable of doing it manually, however those tasks are also great to flex your muscles and hack something together.
They can be an excellent tool to sharpen your skills with the tools you use regularly, and improve your quick prototyping skills.
In addition, with a couple of iterations, again sharpening an important skill, you could afterwards create a more general purpose tool from a hacky script.
[Read More]Enable system extensions on Apple silicon Mac
Think before you enable this, it could be a security risk
- Shutdown Mac
- Press and hold the power button until the Recovery Mode menu appears
- Select
Options
, then clickContinue
- From the
Utilities
menu selectStartup Security Utility
- Select your startup disk and click
Security Policy
- Choose
Reduced Security
- Check the option
Allow user management of kernel extensions from identified developers
- Choose
DigitalOcean CLI Cheat Sheet
My thoughts on AI in blogging
Given the recent rise in text-based language models, sometimes called AI tools, I wanted to share my thoughts and experiences in using them, especially in the context of blogging.
[Read More]What to do with your own server
Tools, tips & tricks

How to run your own server
There are many ways to run your own server, from setting up a Raspberry Pi on your desk to renting a physical server at a provider.
In this post, we will focus on setting up a virtual server with DigitalOcean, which is one of the easiest ways to get started.
[Read More]Benefits of running your own server

In the world of technology, we are moving further and further away from operating directly on servers, but there are still significant benefits to be gained from running a personal server.
I have been running some kind of personal server for many years now and I strongly believe anyone working in technology can benefit greatly from doing so. Here’s why:
[Read More]The (MVP) making of Honeypot Login
In this post I will go over the MVP building phase of Honeypot Login, from idea to launched product and what my next steps will be.
[Read More]1Password CLI Cheatsheet
The 1Password CLI op
works either in connection with a client app, like on the Mac,
or standalone, useful on a server.
# Login
eval $(op signin)
# Get favorites
op item list --vault "Private" --favorite
# Get a specific item
op item get <ID>
# !! Important: Sign out at the end
op signout
Some helper functions
Helpers to more easily work with the op
cli.
1login() {
eval $(op signin)
}
alias 1signout="op signout"
1search() {
term=$1
if [ -n "$2" ]
then
vault="$2"
else
vault="Private"
fi
echo "Searching for '$term' in vaut '$vault'"
op item list --vault "$vault" --long | grep "$term" --ignore-case
}
1get() {
op item get $*
}