Posts published by: Alejandro Liu

Using XScreenSaver Hacks with mate-screensaver

Here we explain how to use XScreenSaver EXCELLENT screensaver hack collection with the MATE screensaver applet.

  • Install xscreensaver and mate-screensaver
  • On my linux distribution this creates the following directories:
  • /usr/libexec/xscreensaver: contains the screensaver hacks executables
  • /usr/libexec/mate-screensaver : contains the mate-screensaver executables
  • /usr/share/applications/screensavers : containes the …

nginx's auth_request_module howto

This article tries to supplement the nginx documentations regarding the auth_request module and how to configure it. In my opinion, that documentation is a bit incomplete.

What is the nginx's auth_request module

The documentation for this module says, it implements client authorization based on the result of a subrequest.

This …

Python Virtual Environments

This is the least you need to know to get to use a Python virtual environment.

What is a Virtual Environment

At its core, the main purpose of Python virtual environments is to create an isolated environment for Python projects. This means that each project can have its own dependencies …

Calculate system availability

To calculate the availability of redundant systems you can use this formula:

total_avail = 1-(1 - single_avail) ^ (number_of_nodes)
Single component availability (%):
Total Availability (%):

Ad-Hoc rsync daemons

The other day I needed to copy a bunch of files between to servers in my home network. Because of the volume I wanted to copy the files without having to go through ssh's encryption overhead. So I figured I could use netcat for the data transport.

To do …

Resizing Virtual Disks with virsh

I am currently using libvirt for managing my VMs. For virtual discs I am using LVM2 volumes. On a regular basis I need to resize these virtual discs, but not that often that I can do this from memory. This is a short procedure to do this:

ls -l /dev …

Z-Wave Associations with With Vera UI

I couldn't find any to the point documentation on how to do this, so I am writing this.

The way I understand Z-Wave associations work is that once devices are in the same Z-Wave network, a device can directly send a command to another device without intervention of the Hub …

Installing Void Linux

I made the switch to void linux. Except for compatibility issues around glibc, it works quite well. Most compatibility I have worked around with a combination of Flatpaks, chroots and namespaces.

The high lights of void linux:

  • musl build - which is very lightweigth
  • Does not depend on systemd …

My Linux Keyboard Shortcuts

In general we try to be similar to MS-Windows shortcuts.

Default bindings (in MATE)

Key Action
Alt + F4 Close the active item, or exit the active program
Alt + Tab Switch between open items
Ctrl + Alt + Tab Use the arrow keys to switch between open items
Alt + Esc Cycle through items …

Global Windows Keyboard Shorcuts

Common Window Management Shortcuts

Key Action
Alt + F4 Close the active item, or exit the active program
Alt + Tab Switch between open items
Ctrl + Alt + Tab Use the arrow keys to switch between open items
Alt + Esc Cycle through items in the order in which they were opened
Ctrl + Esc …

Docker on Alpine Linux

Alpine Linux Quick installation

See wiki For Alpine Linux > 3.8

  1. Un-comment community repo from /etc/apk/repositories
  2. apk add docker
  3. rc-update add docker boot
  4. service docker start

Optional: (docker compose)

apk add docker-compose

Note 2021-03-21: When I tested this, the daemon.json did not work! Your mileage may vary …

Alpine on OTC

These are just random thoughts nothing really was implemented.

Alpine Linux image

  • preparation: jq and other deps to /apks/x86_64

  • /etc/local.d/ cloud-init-lite

  • if /etc/network/intefaces exists we abort

  • apk add --force-non-repository /path oniguruma,jq .. restore /etc/apk/world
  • udhcpc -b -p /var/run/ -i …

Windows Account Lockouts

To prevent windows lockouts the following can be done:

  • Delete Internet Explorer browsing history
  • Run the following:
  • Open Start --> Search filed--> Type in Run --> rundll32.exe keymgr.dll, KRShowKeyMgr --> Delete
  • Disconnect network shares
  • Change password

Skipping grep when using AWK

Over the years, We've seen many people use this pattern (filter-map):

$ [data is generated] | grep something | awk '{print $2}'

but it can be shortened to:

$ [data is generated] | awk '/something/ {print $2}'

You (probably) don't need grep

Following this logic, you can replace a simple grep with:

$ [data is generated …