Stefan Kecskes

Never stop learning, because life never stops teaching

Update Python on Ubuntu 22.04

Steps work also on Ubuntu 24.04

Ok, so you have a fresh installation of Ubuntu 22.04 (Jammy Jellyfish), and you would like to update the default Python 3.10 that comes preinstalled in Ubuntu 22.04 to the latest version. It seems trivial, as you think that you can just uninstall the old version and install the new one. But it is not that simple. The problem is that Ubuntu 22.04 uses python 3.10 for some of its internal tools, and if you uninstall it, you will break your system. I know it, because I did that and I would like to save you some time and pain from restoring your system.

Using GPG key for Git commits on Linux

Today, we will use GPG for signing Git commits and tags in Git, so that we can verify that the commit or tag was made by you and not someone else. So to say that the code was not tampered with. This is a great way of making sure that the code you are working on is not modified by someone else without your knowledge.

Concurrency vs Parallelism

Single-threaded, multi-threaded, concurrency, parallel tasks, async task… These words are used by programmers on daily basis and while most of us understands them (fingers crossed), I believe we are using this lingo in presence of non-technical people to confuse them? or to give them more detail, with little success. Let’s recapitulate what this all is, in very high level.

Symlinks in Unix

A symbolic link is a special form of a file. Actually it is not a file just a pointer to a file. This link points to another file somewhere in the file system. You can create link to files and folders. By the look, feel and functionality it is same as Windows shortcut or alias on iOS systems. If the content of the original file changes, so does the content of symlink.

Install NVM (Node Version Manager) for Node.js on Ubuntu 18.04

Node.js is javascript runtime. I am not going to explain why and how it can be used. You might be familiar that sometimes you just need other version, sometimes newer version, other times older version. There is an easy way to manage those versions with a single command and that’s what I want to introduce you to today.