Installing .deb packages in Manjaro

You should in general prefer to install from the official Manjaro or AUR repos whenever possible. But in the rare case (cough Microsoft Edge cough) where this is not possible, here are a sequence of steps you can follow to install a .deb package in Manjaro (and other Arch based distros) You need to install…

Enabling Touchpad Gestures in Manjaro

This is the set of steps you need to take to enable complex touchpad gestures in Manjaro (KDE, but should work for other desktop environments as well). By default, single and double finger gestures should work and are configurable in the default touchpad configuration settings. However, three finger and other gestures are not available by…

A Technical Guide To Setting Up Your Website

So you want to host your own web site instead of taking the easy route out with Medium, WordPress and other providers for simple blogs like these – there are a few things you need to set up. This brief guide will help you understand the different pieces to set up and providers you can…

Keeweb self-hosting + Cloudflare

I had set up keeweb self-hosting and also had cloudflare enabled on the domain that was doing the self-hosting. Everything was working fine until a few days ago when the self-hosted domain simply showed an empty page. Devtools console revealed that the issue was a problem with content security policy in keeweb (does not allow…

Sonos and Ubuntu 20.04 Samba

After the recent upgrade of my home server to Ubuntu 20.04, Sonos was again having trouble accessing the SMB shared folder for my music library. Turns out that the newer version of Samba in Ubuntu 20.04 turns off SMBv1 by default. Simply adding server min protocol = NT1 to /etc/samba/smb.conf and systemctl restart smbd fixed…

State of Network configuration in Ubuntu 20.04 Server + PiHole

I finally upgraded my headless home server that was running Ubuntu 18.04 to 20.04 – I only run long-term support releases (LTS) builds as this is my main home server with functionality that we all depend on for managing our data and household digital storage. I used do-release-upgrade to do the upgrade. Overall, it was…

Printing from your iOS devices through CUPS

I finally followed through in setting up and sharing my Canon MP620 through my Linux homeserver with CUPS. This part is straightforward – install cups, cups-backend-bjnp (for the network communication with the MP620), gutenprint (for printer drivers) and then going to <host>:631 and adding the network printer using the printer’s static IP address (CUPS network…

Fixing CUPS printer not working after an update on Manjaro

I ran a bunch of updates on my Manjaro Linux laptop and noticed that printing from the laptop stopped working – this is the same setup where I was happy with how easy the setup was to print wirelessly to my MP620. The issue turns out to be the update doesn’t automatically update CUPS configuration…

Cython – Tips and Tricks

Don’t overthink it – your .pyx is converted to a .c file and then converted into a Python callable extension module. This can be confusing at first – including, what language are you coding in? Essentially you are coding in Python, with some extensions/limitations that allow you to mix in some C like constructs and…

A Brief and Practical Introduction to Cython

What is Cython and what do I use it for? Cython is an extension of the Python programming language that enables C/C++ and Python interop as well as speeding up Python code. There are three main use cases for Cython: Exposing functionality written in Python to native code written in C/C++ – this use case…