Make sure to check the repository for the latest version. sss is yet another S3 client. I respect all the existing clients and sss certainly has its own shortcomings, but some reasons for starting the project: Having a single deployable binary. A CLI and config which can handle non-AWS S3 use-cases well ( compare ). Get somewhat meaningful errors instead of 'NoneType' is not iterable . Having a…
ip-auth is a reverse proxy to allow access only by certain IPs. Make sure to check the repository for the latest version. There are circumstances where properly setup Basic Auth won’t work [1] . IP Auth is a workaround by allowing specific IPs access to the service and proxying the traffic to the original service. Allowed IPs can be specified or dynamically added by passing a Basic Auth…
Things might be specific to Hetzner Object-Storage instead of AWS S3. » Copy Files » Upload Using mc : 1 mc cp <LOCAL_PATH> <ALIAS>/<BUCKET> » Download Using mc : 1 mc cp <ALIAS>/<BUCKET> <LOCAL_PATH> » Multipart Uploads » List Using mc : 1 mc ls --incomplete <ALIAS>/<BUCKET> Using aws : 1 aws --profile <PROFILE> s3api list-multipart-uploads --bucket <BUCKET> » Remove Using mc :
» Post Updates 2025-11-26: There is now an rclone CSI driver . 2024-09-30: Added a third approach with using nfsmount. 2024-09-30: Added a second approach with using a sidecar container. » Introduction Kubernetes has a wide list of various CSI-drivers for mounting remote storage. I was looking for mounting Hetzner Cloud Object Storage, but unfortunately, the given options were not to my…
jellyctl is a CLI for managing your Jellyfin server. Make sure to check the repository for the latest version of jellyctl. As I didn’t want to craft every HTTP call to the API myself, I generated a Go client from the OpenAPI spec. You can find the Go client in the jellyfin-go repository. » Installation » Precompiled Binaries Binaries are available for all major platforms. See the releases…
Calculon is a basic, open-source, cross-platform, and “note-style” calculator inspired by Numi . Calculon is written in Java and uses the exp4j library for evaluating the mathematical expressions. It’s developed with the Netbeans IDE and the Swing GUI Builder. It is a very rudimentary implementation, just enough to solve around 80% of my problem, so it is not very polished right…
» Cross compile using Zig When you need a CGO enabled build and want to cross compile, you can use Zig for effortlessly cross compiling the C part. Example for compiling to amd64 linux: 1 env CGO_ENABLED = 1 GOOS = linux GOARCH = amd64 CC = 'zig cc -target x86_64-linux' CXX = 'zig c++ -target x86_64-linux' go build -o output_binary main.go References:…
kubedump is a tool for dumping manifests from your Kubernetes clusters. It’s highly inspired by the available shell scripts ( 1 , 2 ) and just a Go implementation with similar behaviour I wrote mostly for fun. A clear drawback of the Go implementation is the enormous binary size for such small functionality. Currently, the code is not even 200 lines of code but due to the imports from the…
» Post Updates 2023-02-17: There is an official documentation about migrating from Docker to Podman Desktop which I missed when searching for it. So instead of reading this post, you should checkout Migration from Docker to Podman Desktop first. » Setup Install Podman Desktop, e.g. with homebrew: 1 brew install podman-desktop Install the Podman Helper for compatibility with tools using the Docker…
Same procedure as last time? Same procedure, just for stuff which won’t require an own post (yet). » ADB (Android Debug Bridge) USB Devices are connected automatically. Connect device via network: 1 adb connect <IP:PORT> List connected devices: 1 adb devices -l Sideload: 1 adb sideload <file>.zip » curl Save with remote filename (short -O ):
Recently, I had to examine a performance issue of a MySQL query. Here are some notes with helpful stuff I’ve used. All the commands might work with MariaDB too, but this was not tested by me. Update 2023-05-18: I found Understanding database Indexes in PostgreSQL by Paweł Dąbrowski which contains similar and more detailed information but for PostgreSQL. » Common Currently, my preferd mySQL…
Another post with stuff I can’t remember or might forget again 🤷♂️ » Bash shebang Specify the explicit path: 1 #!/bin/bash Let the environment decide: 1 #!/usr/bin/env bash Explanation: Alec Bennett » Fail fast … and more Best added directly after the shebang. 1 2 3 4 set -o xtrace # output every line which gets executed set -o nounset # fail if an unset variable is used set -o…
» pip Remove all packages to get a somewhat clean system (e.g. when you forgot to use a virtual environment, like I did…): 1 pip freeze > requirements.txt && pip uninstall -r requirements.txt -y or without creating a requirements.txt . 1 pip uninstall -y -r <(pip freeze) Credits to Giorgos Myrianthous » venv Create a virtual environment: 1 python3 -m venv venv/ Activate the environment:
» Introduction Many people backup and sync their configs by just copying the whole dotfiles. Unfortunately, I’m not a big fan of this because then I backup a lot of lines I do not care about. Usually, I do only add a few lines to a config so that it fits my preferences. Otherwise, I like using the default settings the tools come with. So, I tried to find a tool which would fit my preferences…
Calculations for the position of the sun and moon. This is a Go port of the Python astral package. Check out the latest Go version on Github . The astral package provides the means to calculate the following times of the sun: dawn sunrise noon midnight sunset dusk daylight night twilight blue hour golden hour rahukaalam TODO plus solar azimuth and elevation at a specific latitude/longitude. It can…
» Post Updates 2022-08-20: The k3os project seems to be dying and currently I would not recommend it for new cluster installations. Personally, I’ve switched to Talos . 2021-09-17: Added a new section about securing web applications with TLS. 2021-07-08: Oracle now offers 4 Ampere (ARM) instances with cumulated memory of 24GB. So, multi-main clusters are now possible and resources are less…
» Post Updates 2023-03-01: Added Nixery as useful project. 2022-05-16: Added example for mounting the current directory into a docker container. 2021-06-12: Added --all --volumes --force args to docker system prune and removed separate commands for removing all images and volumes. » Shell into a fresh container Handy for some quick testing. » Debian 1 docker run -it debian /bin/bash » Alpine 1…
» Introduction Yesterday, I got a hint from a colleague to fake a poor network connection (for debugging an issue) with tc ( man page ): 1 tc qdisc add dev eth0 root netem loss 30% delay 500ms 300ms This works with Linux and will add a delay and packet loss to the eth0 interface. I was curious if there is someting similar for macOS, and there is: pfctl and dnctl . This following commands are…
When you store third-party dependencies (such as a vendor folder for Go, node_modules for npm, or venv for Python) in your repositories and don’t want changes in the dependencies to show up in your merge requests, you can collapse all diffs for specific folders. All you have to do is creating a .gitattributes file with the following content: 1 vendor/* -diff Just replace vendor with the…
See the repository for the current version! » Installation 1 go get -u github.com/sj14/csvutil » Examples For all options please check the godoc. The examples ignore all error handling! » Create a new dataset All datasets should contain a header for further processing. 1 2 3 4 5 6 7 8 records := [][] string { { 'first_name' , 'last_name' , 'username' }, { 'Rob' , 'Pike' , 'rob' }, { 'Ken' ,…
See the repository for the current version! » Installation 1 go get -u github.com/sj14/recaptcha » Usage The result will always return an error when any kind of failure occured, thus only checking the error is sufficient. » reCAPTCHA v2 See reCAPTCHA v2 docs » HTML 1 2 3 4 5 6 7 8 9 10 11 12 < html > < head > < script src = 'https://www.google.com/recaptcha/api.js' async defer ></ script > </ head…
Check the repository for the current version of the script. » Why? brew install ffmpeg installs too many dependencies. This script downloads the static binary and moves it to /usr/local/bin/ , thats all. » Usage Latest stable: 1 curl -s https://raw.githubusercontent.com/sj14/playground/master/ffmpeg-mac/install.sh | bash -s Latest snapshot: 1 curl -s…
Based on the CLI tool review-bot , I created a new SaaS product review-bot.com . It will allow you to send reminders without hosting anything yourself or dealing with the command line and cron jobs. That’s all folks, just check the website for more information :=)
Update 2021-03-05: Simplified Code Update 2021-01-11: Added authentication When you use SonarQube and want to fail a pipeline if the Quality Gate result for the current git commit is not “OK”, this script might be helpful for you. You can always find the latest version in my git repository . Open an issue or a pull request for questions and enhancements. 1 2 3 4 5 6 7 8 9 10 11 12 13…