RSSAmplifier

Blog

andreas-mausch.de

Dev and personal blog

andreas-mausch.deRSS feed ↗91 posts

Latest posts

LocalLLM: Running Qwen3.6-35B-A3B on an RTX 4070 Ti

1. tl;dr See the final command at the end. CPU AMD Ryzen 5950X GPU NVIDIA RTX 4070 Ti, 12 GB VRAM RAM 64 GB DDR4 @ 2800 MHz Model Qwen3.6-35B-A3B Quantization IQ4_XS Prompt processing ~800

VPNs on OpenWrt: WireGuard vs. IKEv2/IPSec vs. OpenVPN TAP mode

1. Goals My goal is to be able to connect to my home network from anywhere in the world and access everything on it the same way as I would be in my local WiFi. 2. Why three different VPN protocols?

WebDAV: Three ways to run a simple test server

I needed a simple WebDAV file server for testing and want to share what I found. 1. Variants 1.1. rclone

Near-field communication (NFC): Tags, Smartcards, Javacards

I tinkered with NFC tags the last couple of days and want to share what I learned. 1. NFC tag types and protocols There are different kind of NFC tags from different vendors, which speak different protocols. I first bought the wrong type, because I thought every NFC tag would speak the same standardized protocol. So don't make my mistake. Most tags speak on

OpenPGP: Deterministic Key Derivation via BIP39

Some of you might know BIP-39 from Bitcoin. It is used to generate multiple addresses from a base key, which is written as normal words. Thus, it is easy to backup and store. However, you can apply BIP-39 to represent any bits as a list of words. This is used by the following tool, which generates a private OpenPGP key for you based on a word list (also called seed phrase or mnemonic phrase) like:…

Backup: 7z with error correction data using parchive

Every few years I make a backup of my most important data files to a Blu-Ray M-disc. I've heard M-disc is only a marketing gag nowadays and doesn't really provide a better material for the data layer as it used to, but well, it can't hurt to still use it. Maybe I'm overpaying a bit. 1. archive tool

Setting up my first eSIM via adapter on Linux

Most modern phones already support eSIM by their hardware. Older phones sometimes do not, and I wanted to use a Samsung S10e as my travel phone. It does not support eSIM, but there are adapter cards available, which are physical SIM cards you can install an eSIM profile on. Even multiple ones, if you like. But only one profile can be active at the same time. In the manual is a link to a website…

Eleventy: Upgrade from v2 to v3

I made a bigger update to the blog system I use on this website, Eleventy . See my previous post about setting Eleventy up . My base repository for the setup is here: base repository Eleventy offers an Upgrade Helper Tool which I tried to use. Here is how it went. 1. Problem installing eleventy-upgrade-help

Docker Swarm: Wait for deployment

I love Docker Compose files for their simplicity and use them a lot to start local services. However, when using them in a Docker Swarm, you always need to take precautions to validate a deployment was successful. If a health check failed or the image could not be pulled, the docker stack deploy command just finished without any error message, because the real deployment was done asynchronously…

Vagrant alternative needed

1. The problem So few months ago I just wanted to start my virtual machine by using my usual vagrant command, and I was greeted with this:

LUKS container encryption

While looking for a good way to encrypt my private data, I've tested several options: GnuPG: Still my favorite for single files, because I can use my main master key without having any additional secrets. Tomb and gocryptfs look like a viable options, but requires an additional key VeraCrypt I haven't tested yet, but it is very popular eCryptfs: I have used it in the past, but due to a limitation…

Waveshare 7.3inch ACeP 7-Color E-Paper

I have bought a digitial photo frame with an e-Ink Display. It works really well, but copying new images is a bit hacky and colors look a bit pale due to the display technology. 1. Specs Link

minikube, a local Kubernetes

I want to share my short experience with minikube: https://minikube.sigs.k8s.io/docs/ I had a look at K3s and MicroK8s also, and I prefer minikube: Minikube is the closest to an official mini distribution for local testing and development, it is run by the same foundation as K8s. K3s is a project by Rancher, it is compliant but it’s completely up to them what is or isn’t included. Microk8s is a…

ESP-01S programming in Rust

Today I've spent some hours trying to figure out if I could write programs for the ESP-01S SoC with the ESP8266 microcontroller using my favorite programming language Rust. Long story short: I finally got it working, but the API is limited under Rust. As always, all my example CLI commands are executed on Manjaro Linux. 1. Tools and requirements

Keychron K9 Pro QMK/VIA

I have bought a Keychron K9 Pro some months ago (I still love my K8 TKL though). I like it a lot, and one reason to buy it was it's open-source firmware Quantum Mechanical Keyboard . Check their website or repo . The mappings for all keys can be redefined to your preferences via VIA , which is very handy on a 60% keyboard where you will need to have combos for some inputs. Today I tried to compile…

Nitrokey 3C NFC: WebAuthn and OpenPGP

Some time has passed since my last post about the Nitrokey. I do own the newer model Nitrokey 3C NFC and want to share my experience with it, especially in regards of OpenPGP (which I use heavily ) and WebAuthn, which I'd like to use more in the future. 1. OpenPGP and nitropy

jtxBoard: Notes and Journals on Nextcloud

1. Intro On my self-hosted Nextcloud instance I used to use Nextcloud Notes and the Android app to sync my notes. But since I discovered jtxB

Single-Board Computers: Headless Setup for Raspberry Pi, Orange Pi, Radax

I still like to set up my SPCs headless. This way, I don't need to connect a monitor and keyboard. I simply prepare the SD card on my laptop, plug it into the target and it connects to my network, allowing me to SSH into it. Since my old post is outdated, here is an updated guide on how to set up an operating system for a single-board computer like a Raspberry Pi, Orange Pi or Radax. In all cases,…

RabbitMQ: Automatic retries with increasing delay

I have finally implemented a solution to automatic retries for a RabbitMQ message queue. I have pointed out the problem of retrying failed messages with a delay in a previous post . I am still sad there is no ready-to-use solution and you have to write code yourself to make this work, but well. At least it is a solution. You can find an example project in python here:…

NAS

I don't like cloud providers very much for hosting my data, for privacy reasons. I do have koofr and use it's WebDAV interface in combination with rclone to encrypt everything. That works well. I still hesitate to upload some private data there. But for my local data, I used to only have a single hard disk, which I backed up manually from time to time (like once every two years..). I had been…

AI models

1. Text generation UIs: ollama (CLI) GPT4All (GUI) serge (web) text-generation-webui (web) Best models: TheBloke/Mistral-7B-OpenOrca-GGUF: Runs very fast on Mac M1 via text-generation-webui wizardlm-13b-v1.1-superhot-8k.ggmlv3.q4_0.bin (GPT4All): very good, supports LocalDocs Mistral (ollama): https://github.com/jmorg

Bluetooth Speaker with 16x16 Display (Divoom Ditoo Pro)

I've received a gift! It's a Divoom Ditoo Pro. It's a bluetooth speaker with some keys and extras, and it looks fantastic. However, I quickly discovered you need to create an Divoom account to use the app. You can enter anything you want, I did not receive any code via e-mail. I still really dislike the need for the account in the first place. The only connection I made to the device was via…

Programmable LED fan

The fan came with a small CD-ROM for a Windows software to program the LEDs. However, I quickly found a project on GitHub to do the same on Linux and MacOS: https://github.com/fergofrog/microwave_usb_fan The examples work great. You can upload multiple 144x11px images which are shown in sequence, and you can add a (simple) predefined animation to it. One thing I noticed: You cannot address all of…

Philips OLED hidden Service Menu

I have bought a Philips 48OLED707/12 for my homeoffice setup. It is a great TV / monitor, but you might not like it's OLED protection settings. The screen saver comes on automatically and there is no way to disable it, you are forced to power it off for ~10min minimum after a long session.. ..but the worst for me was the pixel shifting. Even in Gaming / PC mode I noticed the screen is not fully…

GnuPG for everything

When I work with Git, I use SSH keys for authentication with GitHub, GitLab etc. Same goes for SSH connections for terminal connections to servers. When I want to sign or encrypt my e-mails, I use GPG. I also use GPG indirectly when using pass - The Standard Unix Password Manager . And you need GPG if you want to publish a package to Maven Central, for example. You can also use GPG to sign your…

Keyboard layouts, laptops and programming

1. US keyboard layout, umlauts and EurKEY When you start programming on a German (DE) keyboard layout, you will quickly notice that some keys, like curly brackets, are hard to type. AltGr + 7 requires some mad skills for your right hand. If you decide to use both hands instead, you need to align your left hand

Virtual machines: VirtualBox vs. libvirt, QEMU on M1, vagrant

I've used various virtualization technologies in the past and have now switched to libvirt as my main tool and would like to explain why. 1. What I use virtualization for I use virtual machines.. ..as an isolated playground for new technologies. ..to build programs for diff

Printing and Scanning on Linux

1. Introduction 1.1. HP DeskJet 320

Migrate Blog from Jekyll to Eleventy

1. Why Jekyll in first place (2015) The reason I've decided to use Jekyll was pretty straight-forward: Github Pages was released and they offered built-in Jekyll integration. Back then there was no Github Actions or any kind of built-in Github CI, and I wanted to have a way to publish blog posts with the lowest possible barrier. At that point in time I w

My home server setup (Intel NUC)

I have my setup for quite a while now, but since I need to make some changes to it, I thought it is a good time to share the process. 1. Hardware I use a Intel NUC for being my 24/7 server. Previously I have used a DC53427HYE (8 GB RAM, 120 GB SSD), and I now upgrade it to an D54250WYK (still old), but with 16 GB RAM and 500 GB SSD. I found two old cores are more than enough for my needs. Geekb

makemkv: Backup Blu-ray discs

I still like to use Blu-ray discs to watch movies. Sometimes I want to watch them over the network though, and therefore I need to rip them from disc to put them on a hard-drive. I stumbled across makemkv and a Docker image on github . Since I prefer CLI usage over GUI, I also looked up this Docker image , which provides only the CLI part named makemkvcon . 1. Installation

Selenium: Disable CSS transitions and fail on JavaScript errors

I've done both steps for a second time (in a different project) now, so I thought it is worth a blog post. 1. CSS transitions If you use CSS animations, you have three choices for your tests: Sleep for a specific amount of time and hope the animation has finished after Introduce wait statements to make sure the animation ended Disable animations Opti

RabbitMQ CLI, Dead Letter Exchange and Quorum Queue

Today I've taken a closer look at this code snippet in one of our services: @Queue ( "${app.messaging.queueName}" ) public void receive ( byte [ ] data , @Nullable

Cast your screen to a Chromecast without Chrome

I tried to cast my screen to my TV (with a built-in Chromecast). 1. Tools tested 1.1. Google Chrome / Chromium

Buffer Overflow

I remember I've tried hard when I was younger to create a super easy example of a buffer overflow. I read about it and understood the mechanism, but never accomplished writing a real program which demonstrates the effect. That thought crossed my mind today and I realized I should be able to do it today with a little more experience. In addition, I found this wonderful article about it:…

Please support deploying to a subdirectory

Lately I worked with three web apps which refused to being deployed on a subdirectory of a domain, for example https://my.domain/path . They all expected to run at the root of the domain https://my.domain . Which makes it difficult to use multiple apps on the same domain. The only options are: Run them on a different port Run them on a subdomain The first one makes the URL ugly, and in some…

F the caret

Why I prefer fixed versions for dependencies and a reproducible build. 1. npm and the caret (^) Most likely you have seen or maybe use yourself the caret in front of your dependency version, for example ^1.4.2 . Here is a great article which explains it's meaning:

Nikon stores wrong timestamp

I noticed the File Modification Date/Time timestamp is saved incorrectly on my Nikon D5600. This is annoying, because when I copy my files to my phone, some tools order the photos by their mtime, and if it is set incorrectly, pictures won't be in order. I shot a photo at 16:40:30 CEST (UTC+2). Note: My camera settings are set to Berlin time (UTC+1) with summer time enabled. Sync time via bluetooth…

Show images in terminal

Sometimes it is useful to display an image or video in the terminal, for example if you are on a ssh connection. I used to use tiv ( Link ) for this purpose, but now I've switched to timg ( Link ). Images just look better and the detection for terminal width and height works also better. See the two example screenshots of tiv and timg in xfce4-terminal . tiv: timg: As you can see, the aspect…

JPEG: Exif tags and XMP Rating

I like to mark my best photos with a rating. There are plenty of tools for the job. Since Windows 7 (or Vista?) it was even integrated into the operating system. However, I found there is more than one way to save the rating into the metadata of the image, and different tools are not very compatible with each other. Luckily, there is a defacto standard which most tools can work with: The Rating…

Binary diffs

When I searched the internet on how to diff two binary files, the first results were not helpful to me. Most of them only work well when the files are the same size and only differ in some bytes. When there are bytes inserted at some point of the file, the result is not useful. Let me show you. 1. Files are the same size, and some bytes are changed

Zeal: Offline Documentation Browser

Zeal is a great tool for browsing documentation without the need for an internet connection. As a great addition I can recommend zealusercontributions : https://zealusercontributions.now.sh I love how fast it feels to browse the documentation, instead of wasting seconds after seconds waiting for some overloaded website to load. I think the unfree MacOS tool Dash was there before, they also provide…

RabbitMQ: Message persistence and Metrics

1. Persistence We've noticed our RabbitMQ lost messages when the container had to be restarted. Three things to consider to not lose stuff on a restart: Your exchanges and queues should be durable Your messages should be persistent If you run RabbitMQ via Docker, make sure to set a fixed hostname Links to RabbitMQ's document

Monitoring: Grafana, Loki, Prometheus, Alertmanager

Most of the times I evaluate tools or libraries I get disappointed: Bugs in the most common features, missing the simplest of use-cases, bad documentation, etc. So that's why I've decided to write a praise to Grafana and Loki, which I've both heavily enjoyed to set up and use. See my repo with a fully running setup here: andreas-mausch/grafana-prometheus-loki-alertmanager-setup 1. Background

OpenWRT on tp-link Archer C7 v5 AC1750 router

Your Internet Service Provider (ISP) has access to your router provided by them and therefore access to your whole network. In order to get some privacy into your network, you can use another router. To gain some more trust, use an open-source custom firmware, like OpenWrt. If your router is supported, I recommend to try LibreCMC . It is a free firmware without any blobs required for some…

Raspberry Pi Headless Setup

1. Headless setup This guide is outdated and Raspbian 12 Bookworm setups won't work. I will write a new guide soon. The Backup and QEMU sections below should still work (I hope). I've done this a couple of times already so I thought I should write it down. How to setup the Raspberry Pi with

Nikon DSLR as Webcam

1. Equipment 1.1. Nikon D5600

NitroKey Pro 2, encryption, gpg

I've used the following commands to get my NitroKey Pro 2 running on Manjaro Linux. NitroKey is an alternative for the YubiKey, which is better known, cheaper, has more functionality... BUT : The NitroKey's hardware and firmware are open source! I use my NitroKey mainly for pass , the "standard unix password manager", to keep my very important passwords top secret. So I don't really use FIDO2 or…

Cookie formats and Apache HttpClient

I've spent some time isolating a bug in the company's cookie proxy. This is about the expires part of a cookie. 1. Two formats Let's see what google.com uses:

Android: LineageOS, Root and TWRP Recovery on Samung Galaxy S7

To get full control of the phone, I've installed LineageOS with root access. The following instructions might result in data loss, so make sure you have a backup of all data on the phone! 1. Install TWRP recovery Download First, you need to boot into Odin Mode . Pre