Why Privacy Matters by Glenn Greenwald

For the last couple years, mass surveillance has been on the rise. Both governments and private entities alike track our every move online. As a result, our privacy has increasingly eroded. Under such circumstances, it is ever more important to fight for our right for it. But the problem is, that majority of population seems apathetic to this. If you are one of such people, I recommend watching the following TED talk by Glenn Greenwald. It nicely sums up why privacy matters.
Continue reading

Blog Terminal – A WordPress Terminal Plugin

You might have noticed a new entry quietly appearing on the project page. So, let me introduce it to you. The new entrant is Blog Terminal, a WordPress plugin for drawing a terminal-like box, complete with prompt. If you have read some of my other blog posts, Blog Terminal is what powers the terminal boxes in them.
Continue reading

Vim Tips for Increased Productivity

Vim does not need to be introduced. Due to its steep learning curve, it is often considered the bane of new Linux users. But once you get the hang of it, there’s no denying, that it’s a very powerful tool. In this post I would like to share some Vim tips, that I’ve learned over the years, that will improve your productivity. It is not aimed at Vim beginners. If you are just starting out with Vim, I recommend the excellent Byte of Vim by Swaroop C H.
Continue reading

Assign Your Raspberry Pi Static IP in Couple Steps

Due to its availability, Raspberry Pi is an ideal candidate to run a simple server. After the initial setup, it will use DHCP to connect to your network. That means, each time you restart the Pi or your router, it might end up with a different IP address. This not ideal, as you will need to take a note of the new IP to connect to your services. In order to avoid reconfiguring your computers all the time, you should assign your Raspberry Pi static IP. This post will show you how to do it for ethernet connection on Raspbian, but the steps are the same for a wireless connection.
Continue reading

Run Docker Container as Regular User

Docker has become omnipresent in recent years. However, by default, it requires root privileges to run containers. Obviously, this is not good security-wise. But a simple change will allow you to run docker container as a regular user. In the examples below, I am using Ubuntu 17.04, but the commands should be the same for any Linux distribution.
Continue reading

Managing Vim Plugins Easily Using Git

Managing Vim plugins can quickly get messy. Fortunately, there are several solutions to this problem. My favorite one is Pathogen by Tim Pope. It makes it easy to install plugins in their own private directories and automatically load them. And combining it with Git will make your Vim configuration easily portable across computers.
Continue reading

Make Ansible Playbook Distribution Agnostic

I’ve been thinking about switching to a rolling distribution on my working machine for quite some time. Because the packages in Ubuntu repositories are just too outdated for my needs and I want to save myself the headache of PPAs. And when Ubuntu announced dropping Unity in favor of Gnome, my mind was made up. I would use a rolling distro on my main computer and Ubuntu 16.04 elsewhere.
Continue reading

Setup Mosh – SSH’s Cousin for Mobile Era

SSH, while an indispensable tool, is starting to show its age in certain situations. We have all experienced the lag when using cell phone tethering or finding your remote connections hanging in limbo when resuming your laptop from sleep. No wonder – the first release of SSH came out over twenty years ago and the landscape was very different back then. It was an age of desktop workstations and cable networks. When SSH was designed, nobody thought people would be working on laptops, switching between wifis and mobile connections.

Mosh – short for mobile shell – aims at those users. It uses state machines on both client and server and only communicates the changes between them, lowering bandwith use and decreasing latency. It uses SSH for authetification, which greatly simplifies its setup. Once the connection is established, it communicates through encrypted UDP datagrams, which makes it more resilient to IP address changes and connection dropouts. As you can see, it is a handy tool to have when you are on the go. So how to get it running?
Continue reading