Fake Webcam Background for Arch Linux With Docker (Using akvcam)

Fake Webcam Background for Arch Linux With Docker (Using akvcam)
Fake virtual backgrounds for your online meeting on Linux I’ve been attending a lot of video conference calls lately — like so many of us. Others had nice-looking virtual backgrounds. But there was no option to create those backgrounds on my Linux machine. For example, the Zoom version for Linux only allows me to “touch up my appearance”. But there is no option to set a virtual background.
Read more →

TIL: How to Watch YouTube Videos With mpv and Keyboard Shortcuts

Distraction-free YouTube (and other videos) on your computer The free YouTube version has ads and suggestions what to watch. Those try to keep the user on YouTube’s website. Tons of useful videos exist. If you’re like me, you’ll soon fall into the rabbit hole and spend too much time on YouTube. Today I learned how to use a distraction-free method of watching YouTube with mpv and (optionally) Vimium.
Read more →

How to Restart Systemd (Strongswan VPN) Service After Suspend

I’m running a VPN service via systemd on my machine. The service provides a systemd script for me. I can query the service with the standard commands, for example: sudo systemctl status strongswan.service This works fine, except when the computer went to sleep (suspend or hibernate). My machine also stops the wi-fi connection on sleep. When I wake up the machine, the wi-fi connection automatically starts again. My VPN service does not resume.
Read more →

TIL: How to Replace Backslashes (grep, sed, ripgrep, sd, ruplacer)

Today I needed to remove backslashes from a number of files. I have yaml frontmatter that should look like this: tags: - React.js - JavaScript I had some files that had backslashes before the dash: tags: \- React.js \- JavaScript You can use Unix tools like grep or sed to search all files that match a pattern. Then you can replace that pattern. But you have to remember that a backslash is a special character.
Read more →

Friday Picks 079

Read more →

Friday Picks 076

Read more →

Friday Picks 072

Read more →

Fan Speed Control on Manjaro Linux With Nbfc

I have an Acer Nitro 5 notebook with two fans that I can’t control directly. But sometimes I want to manually control the fan speed: set them up to 100% for a short time, or slow them down to avoid noise. On Arch Linux (or Manjaro Linux) there are some tools that can help with that. (For more information, refer to the Arch Linux wiki.) One of options for fan speed control is nbfc, a cross-platform service for notebooks.
Read more →

F# Language Support for Vim on Linux

Last week I had the crazy idea to build a basic web server with F# on my Linux system. I’m spoiled by Vim’s language support for other languages: hover information, autocomplete, etc. The experience is nearly as good as using VS Code. But (Neo)Vim doesn’t come with all the cruft of Microsoft’s Electron-based editor. I thought it would be trivial to get decent language support F#. After all, I’ve already done the work of setting up the necessary plugins and configuration for Vim.
Read more →

Friday Picks 063

Read more →

broot - the better ls

It’s become popular to rewrite classic command-line tools in Rust: Shell is the essential tool for every programmer. The more familiar you become with the available tools, the more efficient you can be with using your computer. Many Rust alternatives provide a modern, faster, and more user-friendly alternative. One of them is broot. What Is broot? broot is a combination of ls (for listing directory contents) and tree (for listing contents in a tree-like format).
Read more →

TIL About Makefiles

Today I learned that you can use Makefiles to create simple task-runners. Stuart Feldman invented Make in 1976 to automate build processes for C programs. But you can use it for other languages, too. For example, Vladislav Supalov uses this Makefile for Docker commands: all: @echo "Usage: build or run" build: docker build -t test . run: docker run --rm -it test Now run the file with your terminal: make > Usage: build or run Build the Docker container via make build or run the container via make run.
Read more →

NativeScript With Android Emulator on Arch Linux

Today I wanted to try out NativeScript: NativeScript enables you to build truly native apps for iOS, Android, and the Web, from a single JavaScript code base. With support for TypeScript, CSS, and popular frameworks like Angular and Vue.js. Install NativeScript Either use Arch’s native packager or npm. With the AUR: yay -S nativescript If you choose to install NativeScript via Node, do it like this: npm i -g nativescript Now you can bootstrap a NativeScript:
Read more →

How I Set Up Redshift

Redshift is a free utility program for Linux that allows you to adjust the computer screen’s color temperature. You’ll want to use the software to reduce eye strain, especially at night. The bluish color of the computer display is hard on your eyes. Redshift colors the screen in a warmer, reddish color. Minimal Installation of RedShift and Setup (Arch Linux) Installation Using the Arch package manager with yay: yay -S redshift-minimal xorg-xbacklight Setup Go to http://www.
Read more →

TIL About the i3 Scratchpad

Today I learned about the i3 scratchpad. The scatchpad is a special i3 window. You can use it as a window that opens your favorite program, e.g., a music player or editor. Examples: # Make the currently focused window a scratchpad bindsym $mod+Shift+minus move scratchpad # Show the first scratchpad window bindsym $mod+minus scratchpad show The first command moves the current window to the scratchpad and makes it invisible. With the second command you open the scratchpad and cycle through all windows.
Read more →

Spotify in the Terminal With spotify-tui and spotifyd

Spotify TUI is a Spotify client for the terminal, written in Rust. In conjuction with Spotifyd, a lighteight Unix daemon, you’ll get a fully-featured terminal application that connects to your Spotify Premium account. Install Spotifyd Installation There are pre-build libraries for different operating systems. For Arch, you can find several packages in the AUR. I use pulseaudio as my sound server, so I chose spotifyd-pulseaudio-git from the AUR: yay -S spotifyd-pulseaudio-git Installation takes a while.
Read more →

Get Your Touchpad Working on Manjaro i3 (2020)

Update: I’ve realized that the problem stems from using the x86-input-evdev-ahm driver. The driver allows you to modify keys, for example, to allow a “space/shift dual role key”. The driver creates a file /etc/X11/xorg.conf.d/80-ahm.conf which overrides the default touchpad settings in /etc/X11/xorg.conf.d/30-touchpad.conf. To fix, just give the touchpad configuration a higher number than the ahm config, for example, 90-touchpad.conf. Now you can use the default libinput library for the touchpad.
Read more →

How to Get Flutter and Android Working on Arch Linux

Getting Flutter and Android working together is no small feat. Linux may be a first-class citizen when it comes to developing with Flutter, but setting up Java, Android and the Android tool-chain can be a real hassle. This blog post shows how get Flutter working with Android SDK without installing Android Studio. Android Studio is a fully-fledged IDE. If you want to use a different development editor (like Vim or VS Code), Android Studio is only good for eating space on your hard drive.
Read more →

TIL: Linux - Delete Files Older Than X Days

Today I learned that you can pass a date argument to find. I wanted to delete all files that were older than 10 days using the command line. We can use find which ships with every Linux distribution. find . -type f -mtime +20 Find all files that are older than 20 days in the current directory. Now let’s delete them: find . -type f -mtime +20 -exec rm -f {} \; I use fd as an alternative to find:
Read more →

Friday Picks 040

Read more →

TIL: How to Search and Replace Text in All Files With rg and sed

Read more →

TIL: How to Run Your Scripts From Everywhere

I’ve been writing a few bash scripts and some Nim command line utilities. You can run a script from the folder which contains the script. Here’s an example file structure: ~/bin/ ├── git-reset-author.sh └── readme_template When I’m inside the ~/bin directory, I can type into the terminal: readme_template. But what if I want to navigate to a different folder on my machine and run the script from that location? fish: unknown command readme_template The shell doesn’t find the program.
Read more →

How to Setup an IKEv2 VPN Connection on Arch Linux (Example: NordVPN)

Connect your Linux machine to a VPN Gateway using strongSwan In this blog post I’ll show you how to connect your local machine to a remote VPN server using the IKEv2 and IPSec protocol. Instead of the deprecated ipsec.conf we’ll use the modern swanctl.conf. Why IPSec/IKEv2? IKEv2 offers high speed and good data security with a stable connection. The protocol is one of the best. strongSwan provides an open-source implementation of IPSec.
Read more →

TIL: strongSwan using bypass-lan Plugin Can Fix Docker Routing

Let Docker access the internet by passing through the VPN connection strongSwan My host machine, a laptop running Manjaro Linux, is connected via VPN to the internet. I use strongSwan, the open-source IPsec-based VPN solution. IPsec with the IKEv2 protocol is fast and secure. Now, Docker doesn’t work. Networking issues are a common problem with VPN and Docker. You can piggyback your Docker container on the host network. That technique only works on Linux machines.
Read more →

How I Manage My SSH Keys

Setup SSH keys with Manjaro i3 and keychain The following blog post details how I setup my SSH keys. I always forget some of the moving parts. Then I have to painstakingly debug why ssh-add doesn’t remember my keys or why ssh-agent doesn’t work. Create ssh-keys with ssh-keygen. cd ~/.ssh ssh-keygen -t ed25519 -o -a 100 Make sure to save both public and private key inside ~/.
Read more →

Sign up for the newletter!

powered by Buttondown