
Switch between mpv playlist entries using fzf (with EPG support in XMLTV format)
Use fzf in your terminal to select which playlist entry to play in your mpv media player. Provide a link to XMLTV to see the current TV programs.
Languages: Shell, jq
On this website you will find my projects and other information about me.
| Last updated | ||
|---|---|---|
| April 14, 2026 | Running Windows games on Linux using Wine and DXVK in a sandbox | Alternative link |
| April 8, 2026 | Set up an Xray-core VLESS proxy to access blocked websites and apps | |
| January 12, 2026 | Obfuscating WireGuard using Wstunnel | Alternative link |
| December 3, 2025 | Encrypting your files in the cloud using securefs | Alternative link |
| August 25, 2025 | Run WordPress in a container using Docker Compose | Alternative link |
| May 28, 2025 | How to use FFmpeg for video editing | Alternative link |
| January 27, 2025 | Restrict access by an IP or password in nginx | Alternative link |
| January 27, 2025 | Installing and configuring WireGuard VPN on Ubuntu | Alternative link |
| August 19, 2024 | Analyze nginx access log using SQL | Alternative link |
| December 11, 2023 | Installing WordPress on Ubuntu | Alternative link |
All my projects are created without the use of large language models and generative AI, unless explicitly stated otherwise.

Use fzf in your terminal to select which playlist entry to play in your mpv media player. Provide a link to XMLTV to see the current TV programs.
Languages: Shell, jq

Remote control for the mpv media player that works over HTTP. Use your PC or mobile phone to start/stop playback, adjust playback speed, change the volume, select subtitle/audio tracks, and open files or URLs.
Languages: CSS, HTML, JavaScript, Python

A tetris clone for the terminal that works on Windows and Linux. It is written in Python using a library called blessed.
Language: Python

Set the default flag for a track in an MKV container. Especially useful when multiple tracks of the same type and language are present.
Language: Python

A reasonably fast diff utility and library in Python. It implements the Hunt–McIlroy algorithm and prints results in the so-called “normal format.”
Language: Python

A simple regular expression matcher supporting a subset of commonly used features.
Language: Python

Find all links and images in Markdown files. Output them one per line for further processing.
Language: Python

Read URLs from a file and check them to find the broken ones using a real browser.
Languages: Dockerfile, Python

A text editor with a UI built on top of an HTML5 canvas. All standard text editor features such as the cursor, selection, and scrollbars are implemented from scratch using graphics primitives provided by the Canvas 2D rendering context.
Languages: HTML, JavaScript

Modify Markdown fenced code blocks to contain the language name by detecting it from the block contents.
Languages: Dockerfile, Python

A GUI app written using NW.js that wraps GraphicsMagick and allows you to resize images and optimize them in bulk.
Languages: CSS, HTML, Nunjucks, TypeScript

I have experience with the WordPress CMS. Here is a list of things I have done using it:
Languages: CSS, HTML, JavaScript, PHP

I created my multilingual website using the Hugo static site generator.
Hugo was chosen because it’s good enough for my needs and it’s a single binary, so there is no need to install dependencies.
I decided to create my own layout instead of using a pre-made theme.
Languages: CSS, Go templates, HTML, Markdown

I have contributed heavily to the Hetzner Community Tutorials project. This project provides an opportunity for people to share their technical tutorials with the Hetzner Community and the rest of the world.
Here are some of my contributions:
Languages: Bash, Markdown, YAML

The video was recorded after a training session.

As you can see this time I did the exercise slightly slower, but the problem here is grip. I slipped in the end.

At the time of this writing 27 reps is my personal record.
I don’t quite like my technique in this video. I did 27 reps in a better technique, but I don’t have a recording.

The first time I was able to record 25 reps in pull-ups. In my opinion the technique is good here.
If you want to contact me, you can drop me an email.