Stefan Kecskes

Never stop learning, because life never stops teaching

Docker Volumes

Docker Volumes I am using docker in personal and professional projects for a couple of years now. Like everybody else, I learned it as I went along and learned as little as I needed to know to be able to deliver what I wanted. I never had a chance to sit down and look deeper into it (as no one does these days). But from time to time, I like to dive deeper to figure out more about handling data with docker.

Lifetimes in Rust functions

Lifetimes in Rust functions Lifetimes in Rust are a way for the Rust compiler to ensure that the references are always valid. They prevent dangling references or data races. The compiler is checking the lifetimes at compile time. If I am right, Rust is the only language that has this concept. In this post, I will show you how to use lifetimes in functions, what doesn’t work, what not to do and what are the best practices.

Update Python on Ubuntu 22.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.

Using GPG key for Git commits on Linux

Introduction “Hey, Stefan, can you please push your changes to the Git repository?” - asked my colleague. “and make sure you sign your commits with GPG!” - he added. “Sure, I will do that!” - I replied. But wait a minute, what is GPG signing? And why should I use it? PGP (Pretty Good Privacy) was initially developed by Phil Zimmermann in 1991 as a commercial product and was designed as a way to encrypt and decrypt email messages.

Concurrency vs Parallelism

Concurrency 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. So that next time my Product Owner or Scrum master understands what we talk about.