My home office setup: 2023 edition
Posted on 2023-04-22
Since I spend more than 8 hours here most days I created a nice setup for myself. Thankfully I have a whole room just for my home office, so I take full advantage of that.
Besides my main desk I have a secondary desk, a couch, a couple of sideboards, a wall mounted whiteboard and a couple of shelves to display all the techy and nerdy things.
Main desk My main desk is a custom build based on a FlexiSpot height adjustable electric frame.
[Read More]
Enable system extensions on Apple silicon Mac
Posted on 2023-04-20
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 click Continue
- From the
Utilities
menu select Startup 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
DigitalOcean CLI Cheat Sheet
Posted on 2023-04-15
My hiking kit: 2023 edition
Posted on 2023-04-01
These days I enjoy hiking quite a lot. To make it easier to just “pick up the pack and go” I created two basic packs that are optimized for my needs and the environment I’m usually hiking in, the Swabian Alps.
Basics I have some basics I duplicated and carry in both my packs, these are:
Pen & paper Multitool Mini first aid kit in a ziploc bag Paracetamol Band aids Gel sanitizer Foam pad Waterproof poncho A bit of cash, usually around 20-30€ these days A piece of paper with my and my emergency contacts information Fisherman’s Friend for a fresh feeling and honestly because my parents had them when we were hiking Prepared packs Small pack I’m currently using a Terra Peak Flex 20l in red for my smaller backpack.
[Read More]
Being a good code reviewee
Posted on 2023-01-13
(Last modified on 2023-10-18)
Things I do to be a good code reviewee.
[Read More]
yamllint error: "invalid config: ignore should contain file patterns"
Posted on 2023-01-12
(Last modified on 2023-05-16)
Setting up a new repository for YAML linting today I was running in a bit of an issue with yamllint.
I was using a YAML list to specify ingores, as mentioned in the documentation:
ignore: - "*.dont-lint-me.yaml" - "/bin/" - "!/bin/*.lint-me-anyway.yaml" This however did not work with the above mentioned error message. After a lot of debugging I found that they released a new version recently which introduced this feature.
[Read More]
Hy-Fit App by Tenswall no longer working
Posted on 2023-01-11
(Last modified on 2023-03-18)
This is somewhere between a rant about the app and backing services no longer working, a collection of information I could find out about it and a possible search-result for others facing the same issues and not really finding anything online just like me.
Update: March 2023 The company seems to no longer exist.
I have switched to the eufy smart scales, which are made by Anker, a reputable manufacturer.
[Read More]
ArgoCD Python Client
Posted on 2023-01-01
(Last modified on 2023-05-10)
A simple Python client to interact with ArgoCD.
[Read More]
WSL2 & Keychain
Posted on 2022-12-08
The problem
If you use ssh-agent with an encrypted ssh key it does not persist when you open a new terminal window.
The solution
Use keychain
instead.
- Install
sudo apt install keychain
- Add to your shells rc file, eg.
.bashrc
or .zshrc
# Repeat this line for all keys you want to unlock and use this way
/usr/bin/keychain -q --nogui $HOME/.ssh/id_rsa
source $HOME/.keychain/wsl-sh
- Unlock your keys on shell startup and enjoy
My Tools
Posted on 2022-11-25
(Last modified on 2023-03-12)
Tools I use and recommend.
carrd.co
Extremely simple and affordable website publishing, I use it for landing pages and quick MVPs
DigitalOcean
My first choice for personal servers and simple MVP deployments with their App Platform
GitLab.com
My go-to git-server and allrounder CI/CD, both on premise in the enterprise and in the cloud for my own projects
PythonAnywhere
They provide a great service, best described as a PHP-webspace, but for Python
[Read More]
Audible book export
Posted on 2022-10-24
(Last modified on 2023-09-15)
A list of interesting things
Posted on 2022-09-29
(Last modified on 2024-03-12)
This is a list of interesting blog posts, talks and such things that I found over the years.
Some of them may teach you something relevant, some may just further your general understanding of tech. From personal experience they can lead you down the rabbit hole really fast, enjoy with care!
Talks Why web tech is like this by Steve Sanderson Learning from Disaster by Ian Hughes Failure is Always an Option by Dylan Beattie Architecture: The Stuff That’s Hard to Change by Dylan Beattie Computational Creativity by Dylan Beattie How I built Rockstar: Parsing esoteric languages with .
[Read More]
Git: Add only changed files
Posted on 2022-09-29
(Last modified on 2023-08-23)
Sometimes you may want to commit only the files you have changed and not any newly created files,
this can easily be achieved by this command: git commit -a
[Read More]
Publish new post checklist
Posted on 2022-08-21
(Last modified on 2022-10-24)
This is my checklist for publishing a new post on my blog:
Preparation
- Finalize the posts name and sluggify it
- Pick a image if fitting
- Create a new post with
hugo new content/posts/<slug of post>.md
- Move the draft from my current writing tool to this new file
- Fill in the generated front matter template
- If the post is ~1.000+ words enable the TOC
- Run spell-check in VSCode and fix things
Proofing
- Run local hugo server
hugo server -bind=0.0.0.0
- Wait at least an hour
- Open the locally served page on the iPad, grab a cup of tea and read it
- Make last changes and typo fixes as needed
- Place a `
[Read More]
GitLab: User owned projects report
Posted on 2022-08-17
Export a CSV formatted report of projects in user-namespace on a GitLab instance.
This is especially useful if you think about limiting or disabling this feature.
[Read More]
Simple git changelog
Posted on 2022-07-08
(Last modified on 2023-09-19)
A simple changelog system on top of git commit messages.
The main idea is to generate “release notes” from a diff in commits before a release. It can easily be run manually or as part of a merge/pull CI pipeline.
In this case it looks for commit messages starting with one of these [ADD], [REMOVE], [INFO] and just outputs those, but those patters can be adjusted to fit any existing commit schema.
[Read More]
yamllint: Ignore exisiting errors
Posted on 2022-01-14
(Last modified on 2023-05-17)
When adding yamllint to an existing project it can be hard to fix all the errors at once.
I wrote a simple script to create a rules block that simply ignores all rules that currently trigger for a file.
This works by generating a rules block ignoring paths.
[Read More]
Local User Management Polyfill
Posted on 2022-01-13
(Last modified on 2022-07-01)
Older Versions of Windows 10 and all Windows Server 2012 systems have no local user management commandlets.
This is a working polyfill to allow scripts using local user management to run on old systems.
Source code
PSGallery package
Local S3 with MinIO in Django
Posted on 2021-11-06
(Last modified on 2023-10-18)
In production I would consider it best practice to use a S3 solution for serving assets. Namely static files and user-generated media.
This describes my setup on how to do this locally too.
The main benefit for me is that there is less of a difference between environments and I can test S3 specific features in my app.
Setup I will assume a already working Django project and MacOS with [[brew]] installed, but brew specific parts are easilly replicated on different systems using their native package managers.
[Read More]
Hidden WSL Fileshare
Posted on 2021-08-30
WSL file systems get exposed as a hidden share network share:
\\wsl$\<WSL Name>\<path\to\file>
For example, my Debian home folder is at: \\wsl$\Debian\home\kamner