How to properly manage ssh keys for server access

Every developer needs access to some servers for example to check the application logs. Usually, this is done using public-private key encryption where each developer generates their own public-private key pair. The public keys of each developer are added to the authorized_keys file on each server they should have access to. Painful manual changes So far so good. However, what happens when one developer leaves the company? In that case, the public keys of that developer should be removed from all servers.
Read more →

Plot PyTorch tensors with matplotlib

Have you ever tried to plot a PyTorch tensor with matplotlib like: plt.plot(tensor) and then received the following error? AttributeError: 'Tensor' object has no attribute 'ndim' You can get around this easily by letting all PyTorch tensors know how to respond to ndim like this: torch.Tensor.ndim = property(lambda self: len(self.shape)) Basically, this uses the property decorator to create ndim as a property which reads its value as the length of self.
Read more →

Writing command-line tools in Python: argument parsing

Python is a great language to build command-line tools in as it’s very expressive and concise. You want to have the ability to parse arguments in your scripts as you don’t want to hard-code the relevant variable values to make the tool useful. So how do we go about this in Python? It’s easily done using the argparse module. With argparse, you define the different arguments which you expect, their default values and their shortcuts to call them.
Read more →

How To Unfreeze Vim

Sometimes it happens that Vim freezes / gets stuck / doesn’t react and you might wonder what is going on. Recently, I figured out that this happens for me when I accidentally pressed Ctrl + S. It turns out that this is an old legacy features back from the slow days of computing where ressources were really scarce and you sometimes wanted to freeze the output of one program to help with your ressources.
Read more →

Vim Commands You Should Know About

As a developer you gotta love Vim! It is easily available on almost any server you login to. Most of the times, it will already be installed. You can customize it to your needs, but you should be comfortable with its basic functionalities as you don’t want to tweak it on every server. I thus like to customize it a little bit, but try to stick close to the default. But the best thing about Vim is that after some time learning it, it is so much faster and easier to edit text than any other editor.
Read more →
Follow me on twitter!