yamllint error: "invalid config: ignore should contain file patterns"

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

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]

WSL2 & Keychain

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.

  1. Install
    sudo apt install keychain
    
  2. 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
    
  3. Unlock your keys on shell startup and enjoy
wsl  linux  ssh 

My Tools

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

How to export a audio book from Audible and save it without DRM for personal archival purposes.

Note: This does NOT crack DRM. It simply uses the users own encryption key (fetched from Audible servers) to decrypt the audiobook in the same manner that the official audiobook playing software does.

[Read More]

A list of interesting things

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

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

From the git mapage:

OPTIONS
    -a, --all
        Tell the command to automatically stage files that have been modified and deleted, but new files you have not told Git about are not affected.
git 

Publish new post checklist

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]

Local S3 with MinIO in Django

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]
python  django  s3  minio