WireGuard might not work for you under specific conditions, such as when using the internet via PPPoE. This could happen when the default MTU size of 1420 bytes is too large. But why could that happen, and how do you calculate the right MTU size? Packet structure The maximum MTU for cable and fiber optic connections is 1500 bytes. However, for DSL connections established via PPPoE, an additional…
ChatControl has passed . The freedom of speech and privacy in the European Union are in danger. The only thing we can do now is abandon all big tech, no matter in which country a service is hosted. We should decentralize, selfhost, and encrypt everything.
These days, a web browser is as complex and important as an operating system. Therefore, it is very important to choose the right one. Unfortunately, that’s not an easy task because you’ll have to make some sacrifices either way. There is no single perfect web browser, and generally, you can choose only two out of three things: security, privacy, and ethics. I want to list all the…
It’s becoming increasingly difficult to find privacy-respecting services that haven’t been involved in political scandals. A month ago, Proton VPN , a popular privacy-respecting VPN service, was accused of funding the French far right on YouTube . Last week, Mullvad , a gold standard in private VPNs, was involved in a huge scandal. One of their CEOs donated around $500,000 to the…
Today, I tried to watch a video on YouTube. But Google wouldn’t allow it. To access the video, I was asked to take a selfie and/or upload my government-issued ID to “prove my age”. They not only made it impossible to watch a video without logging into an account, but now they also want my passport. Later, when I tried to access some website, instead of the usual Google Captcha…
Das ist mein erster Blogbeitrag in meinem Blog auf Deutsch. Und ich habe vor, öfter Deutsch hier zu benutzen. Deutsch ist eine sehr schwierige Sprache, aber wie man es auch dreht und wendet, sie ist meine Mutter Vatersprache. Ich glaube, ich werde viele Grammatikfehler machen, und das ist kein Problem - jeder Blogpost wird meine Sprache besser machen. Deshalb hoffe ich auf euer Verständnis.…
There have been some controversies involving both Brave Browser and its CEO. I won’t get into those here. Instead I’ll focus on two issues I ran into. If you care about privacy, you probably use a degoogled phone. It might be a Pixel with GrapheneOS, but you definitely won’t have Google Play Services installed. But this becomes a problem with the Brave Browser, as it still…
Today I came across this article. There are also comments available on Hacker News . In short, Bitwarden quietly changed their CEO to a person, who have “robust experience in all facets of mergers and acquisitions”. They removed “DEI-like language” from their website (words like “Inclusion” and “Transparency”). And they also removed the phrase…
Configuration Make Ironfox faster Please note, that some of these settings makes Ironfox less secure (but not less secure, than vanilla Firefox). Go to about:config and set browser.ironfox.uBO.disableWebAssembly to false . After changing this setting, restart the browser. Open uBO’s settings, go to “Settings” page, choose “Reset to factory settings”. Go to…
iOS Maps CoMaps - great maps that works offline. Ukraine BUSFOR - private bus ticket service provider with a focus on Eastern Europe, including Ukraine. FlixBus - international bus network. Ukrainian Railways - Ukrainian railway company. Germany DB Navigator - official app from Deutsch Bahn. HVV Switch - the best app for purchasing Deutschland Ticket from Hamburg. Ticket could be purchased via…
Last week, Bill C-22 was introduced in Canada. The bill addresses two topics: law enforcement access to personal data held by communication providers (like ISPs and wireless carriers) and building surveillance/monitoring capabilities in Canadian networks. In a nutshell, it forces all providers to identify their customers by using government-issued IDs and expands authorities without a warrant to…
Configuration Gesture typing To enable gesture typing in Heliboard you need a proprietary library from Google. But since the app doesn’t requite network connection, I’m fine with using it. Here’s how to enable gesture typing: Download the library. Open Heliboard Settings. Go to “Advanced”. Scroll to the bottom and select “Load gesture typing library”.…
A few days ago, I received a message from Google asking me to verify my age by taking a selfie and/or uploading my government-issued ID. I only found out about this because I had to watch a video on YouTube, as you can no longer watch it anonymously using mpv or by using yt-dlp to download it and watch locally. Then, I started researching the topic of age verification and was shocked. We are…
The world is becoming more authoritarian every year. This is true even in countries that have always been very proud of their democracy. Throughout history, governments and corporations have never been interested in doing good - they have pursued money and power, two of the vices that control humans. But in the last decade, things have gotten worse, and they have all rotted out completely. What is…
WARNING : I’m no longer working on this project because some of the app dependencies aren’t compiling on macOS anymore. The goal of this project is to provide a MacOS packages for the latest stable release of Fluffy Chat . Here I provide builds for both Apple Silicon and Intel Macs. The source code is available on GitHub and Codeberg . The project’s source code is licensed under…
Usage Create a key pair: $ minisign -G Note: The public key is printed and saved to ./minisign.pub . The secret key is encrypted with password and saved to ~/.minisign/minisign.key . Sign a file: $ minisign -Sm <file> Note: Signature files include an untrusted comment line that can be freely modified even after the signature is created. Sign a file, including a custom comment: $ minisign -Sm…
Usage Creating a repository Create a local repository: $ restic init --repo /path/to/repo Create a repository via SFTP: $ restic -r sftp:<user>@<host>:/path/to/repo init Create a repository on Amazon S3: $ export AWS_ACCESS_KEY_ID=<access_key> $ export AWS_SECRET_ACCESS_KEY=<secret_access_key> $ restic -r s3:s3.us-east-1.amazonaws.com/<bucket_name> init Create a repository on S3-compatible…
JavaScript is a programming language, that websites can execute in a browser on your computer. It was supposed to make websites functional, but instead it became the most common attack vector. Zero-days often exploit vulnerabilities in JavaScript engines like V8 (Chromium) and SpiderMonkey (Gecko) and cause significant harm to users. Here are some of the news from 2025: Google fixes eighth Chrome…
Operators "exact text" - search for exact text. OR / | - search for either of the specified terms. AND - search for results related to two specified terms. -example - exclude text from search results. * - find variations of a word or phrase by replacing the wildcard with any word. ( ) - group different searches. site: - search in a particular website. filetype: / ext: - search for particular types…
Have you experienced unexplainable health problems? You got many tests, but everything looks normal, or the test results don’t match the symptoms. If so, consider speaking with your doctor about depression. It’s much more than just “being sad”. Its symptoms can be very diverse and unexpected, and it can take years to link your problems to depression since they can be far…
Browser Extensions uBlock Origin uBlock Origin (uBO) is a CPU and memory-efficient wide-spectrum content blocker for Chromium and Firefox. It blocks ads, trackers, coin miners, popups, annoying anti-blockers, malware sites, etc., by default using EasyList, EasyPrivacy, Peter Lowe’s Blocklist, Online Malicious URL Blocklist, and uBO filter lists. There are many other lists available to block…
Debloat Brave Browser can only be debloated by using group policies. The list of currently set and all available policies could be accessed on the brave://policy/ page. GNU/Linux On GNU/Linux, Brave Browser store its policies in the /etc/brave/policies/managed/GroupPolicy.json file, which can be created and/or modified using any editor to use the following settings: { 'BraveAIChatEnabled': false,…
Cloudflare Tunnel provides a secure way to connect your resources to Cloudflare without a public IP address. A lightweight daemon ( cloudflared ) creates outbound-only connections to Cloudflare’s global network. Cloudflare Tunnel can connect HTTP web servers, SSH servers, remote desktops, and other protocols, allowing your origins to serve traffic through Cloudflare without being vulnerable…
Overpass Turbo is a web based data mining tool for OpenStreetMap . It uses Overpass API queries and shows the results on an interactive map. Source code is available on GitHub . Example Queries Find all IT companies in selected area: [out:json][timeout:25]; node['office'='it']({{bbox}}); out geom; Find all surveillance cameras in selected area: [out:json][timeout:25];…
Neovim is a highly customizable, Vim-based editor where you can write plugins in Lua that integrate into it. There’s also a huge community around it with hundreds, if not thousands, of plugins. A lot of its fans like to make their own “rices” and share them on r/unixporn . If it is too complicated for you, or you don’t want to waste your time writing everything from scratch…
People sometimes ask me what software I use. That’s why I decided to write this article. All of the software here is used daily by me, but that doesn’t mean it’s suitable for everyone. Also, sometimes I change what I use for specific reasons, so this page will be updated accordingly in the future. Priorities As a matter of principle, I use open source software. Preferably,…
This is the first blog post on my website. It has existed in its current form since November 27, 2019, and I have always used it to compile my notes and share knowledge with the world. Recently, however, I decided to create a blog section where I can share everything: thoughts, interesting findings, reviews… And not always technical. The last time I did this was in the 2000s, when the…
Let’s say you you are a journalist and want to access a website or content that an oppressive government in your country censors. In such case, you don’t want to risk your VPN stopping unexpectedly and exposing your traffic to your ISP. This article will help you to avoid that. This article can’t help you, if: You are trying to access content that is illegal anywhere in the world…
German (Infinitive) English ich du er/sie/es wir ihr sie/Sie anfangen to begin / start fange an fängst an fängt an fangen an fangt an fangen an arbeiten to work arbeite arbeitest arbeitet arbeiten arbeitet arbeiten aussehen to appear / look (like) sehe aus siehst aus sieht aus sehen aus seht aus sehen aus beginnen to begin beginne beginnst beginnt beginnen beginnt beginnen bekommen to get /…
Coordinating conjunctions (no change in word order) German English und and oder or aber but denn for / because (explanatory) sondern but rather / but instead Subordinating conjunctions (send verb to end) German English dass that weil because ob whether / if wenn if / when (conditional/repeated) als when (past, single event) bevor before nachdem after während while / during obwohl although falls in…
Date Months German English Januar January Februar February März March April April Mai May Juni June Juli July August August September September Oktober October November November Dezember December Days of week German English Montag Monday Dienstag Tuesday Mittwoch Wednesday Donnerstag Thursday Freitag Friday Samstag Saturday Sonntag Sunday Time German English Wie spät ist es? What time is it? Es…
Nominativ German English ich I du you (sing., informal) er he sie she es it wir we ihr you (pl., informal) sie they Sie you (sing./pl., formal) Akkusativ German English mich me dich you (sing., informal) ihn him sie her es it uns us euch you (pl., informal) sie them Sie you (sing./pl., formal) Dativ German English mir to me / me dir to you (sing., informal) ihm to him / him ihr to her / her ihm to…
German English wann when warum why was what welcher / welche / welches which wem whom / to whom (dat.) wen whom (acc.) wer who weshalb / wieso why / for what reason wessen whose wie lange how long wie oft how often wie how wo where wodurch through what / by what means woher where from / from where wohin where to / to where womit with what / by what woraus out of what / from what worin in what…
Format The crontab format is: ┌ minute (0-59) │ ┌ hour (0-23) │ │ ┌ day of month (1-31) │ │ │ ┌ month (1-12) │ │ │ │ ┌ day of week (0-6, 0 = Sunday) │ │ │ │ │ * * * * * <command> <params> Special symbols Symbol Description * Wildcard, specifies every possible time interval , List multiple values separated by a comma - Specify a range between two numbers, separated by a hyphen / Specify a…
Log levels Value Keyword Severity Description 0 emerg Emergency System is unusable 1 alert Alert Should be corrected immediately 2 crit Critical Critical conditions 3 err Error Error conditions 4 warning Warning May indicate that an error will occur if action is not taken 5 notice Notice Events that are unusual, but not error conditions 6 info Informational Normal operational messages that require…
Units Units commonly include, but are not limited to, services ( .service ), mount points ( .mount ), devices ( .device ) and sockets ( .socket ). Show system status: $ systemctl status List running units: $ systemctl list-units List failed units: $ systemctl --failed Show a manual page associated with a unit: $ systemctl help <unit> Show status of a unit: $ systemctl status <unit> Check whether a…
Advanced Configuration Change Hostname Check current hostname: $ scutil --get HostName Set new hostname: # scutil --set HostName <new_hostname> Use Touch ID for sudo Add the following line to the top of the /etc/pam.d/sudo configuration file: auth sufficient pam_tid.so Disable the Creation of .DS_Store files $ defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true $ defaults…
Installation Here, we will set up neomutt together with mbsync , msmtp , notmuch , lynx and pass . You will need to install the required packages using your package manager. For example, on Arch Linux: # pacman -S isync lynx msmtp neomutt notmuch pass Configuration The configuration process is not very easy or straightforward. If you’re unsure about what you’re doing, I highly…
Client Installation (macOS) Install Homebrew package manager (see my documentation here ). Install WireGuard: $ brew install wireguard-go wireguard-tools Done. Usage Generate keys: $ umask 077 $ wg genkey | tee privatekey | wg pubkey > publickey Note: This will create two files named privatekey and publickey in your current directory. Connect to a VPN using a configuration file on custom path: #…
Use the --system flag flag to execute a command for the system and --user or -u for the current user. Configuration Languages List all configuration keys and values: $ flatpak config --list --user Unset a key: $ flatpak config --unset <parameter_name> Get and set languages: $ flatpak config --get languages --user $ flatpak config --set languages 'es;en' --user Get and set extra languages: $…
Usage List all power sources: $ upower -e Show detailed information about a specific device: $ upower -i /org/freedesktop/UPower/devices/battery_BAT0 Display detailed information about all power devices: $ upower -d Monitor power events in real-time: $ upower -m Monitor power events with detailed information: $ upower --monitor-detail
Main Concepts Chart - a Helm package. Contains all of the resource definitions necessary to run an application, tool, or service inside of a Kubernetes cluster. Repository - a place where charts can be collected and shared. Release - an instance of a chart running in a Kubernetes cluster. One chart can often be installed many times into the same cluster. And each time it is installed, a new…
Usage Build the default target: $ make Build a specific target: $ make <target_name> Makefiles Basic Syntax Common built-in variables: $@ - the name of the target. $< - the name of the first prerequisite. $^ - the names of all prerequisites, with spaces between them. Makefile structure: REC_EXP_VAR='The value of a recursively expanded variable is installed verbatim.' SIM_EXP_VAR:='The value of a…