[Generated by AI](https://www.bing.com/images/create/a-nice-logo-for-a-blog-post-about-file-system-in-c/1-65ef5d10460f428181c3ff8bcc359936?id=goqww%2bR2QLJoCYN4XjxV2w%3d%3d&view=detailv2&idpp=genimg&idpclose=1&thId=OIG2.yF78KU7PXi.xzuZrKVJa&FORM=SYDBIC)

Best practices for writing Dockerfiles - Follow "Filesystem Hierarchy Standard"

When it comes to building Docker images, adhering to the “Filesystem Hierarchy Standard”12 can greatly enhance the organization and maintainability of your containers. Unfortunately, it’s not uncommon to encounter Docker images where files are haphazardly scattered across directories, leading to confusion and unnecessary complications. Let’s delve into some best practices to ensure your Dockerfiles follow the FHS guidelines, thus avoiding common pitfalls and streamlining your container development process. Below you can find the most important directories, from the perspective of Docker images....

2024-03-11 · 3 min · timor
[Photo by Pixabay](https://www.pexels.com/photo/orange-and-white-seashell-on-white-surface-33234/)

Unlocking Efficiency - The power of extensive command history in Bash and Zsh

I rely heavily on shell usage. For over 15 years, I was a devoted user of Bash until I discovered Zsh and made the switch. One thing that remained constant throughout my transition was my configuration to maintain an extensive commands history. This setup is replicated across all my systems. When you spend a lot of time coding, you often find yourself repeating commands or running variations of them. Remembering all these commands can be challenging, but with resources like Google and ChatGPT, it’s not always necessary....

2024-03-05 · 3 min · timor
[Renovate Bot](https://github.com/renovatebot/renovate)

Automatic updates of Docker images with Renovate Bot

I’ve been writing recently about best practices for patching and deprecating Docker images , but today I want to show how to automate a huge part of this process. You might already hear about Dependabot1, it’s a Github’s way to notify developers about security vulnerabilities in their projects. Renovate2 is similar tool3, but doesn’t require Github. For my professional work I use Bitbucket, so Renovate feels more universal as can be used anywhere....

2024-03-01 · 4 min · timor
[Photo by Antony Trivet](https://www.pexels.com/photo/herd-of-blue-wildebeest-walking-in-savanna-6053000/)

How I stopped worrying and loved the GNU Make and Makefiles

First contact with make When I was invited for my first job interview in the IT, I’ve been asked such question: How would you typically build a program from sources, what commands will you use? I answered: It’s obvious: ./configure make make install Those times belong to the past now and not many programmers use GNU Make1 nowadays. Try asking this question and you will see disgust at best. For many it’s the fist contact with make and often the last one, but not for me 😉...

2024-02-16 · 9 min · timor
[xkcd.com](https://xkcd.com/349/)

Keeping Docker afloat - Best practices for patching and deprecating images

Intro One of the biggest benefits of Docker images is their immutability. Once they’re built, they don’t change. Built once, would work forever… That’s how nightmares of security guys starts 🤣 We have then two contradictory concepts: flowchart LR id1(Keep it stable) <---> id2(Keep is up to date and secure) For day to day work, usually first concept wins. You want your builds stable and try to avoid tempting distractions of upgrading log4j to latest version… Who knows what might break....

2024-02-09 · 7 min · timor
[pre-commit](https://pre-commit.com)

My pre-commit config for Hugo blog

I love blogging with Hugo  external link and I have two blogs already that use it. The good thing about static sites is that you have all the data in the files. You can optimize them locally, batch process, amend, etc. Powerful templating engine allows to quickly pre fill documents in the format I like. I have some steps in the Makefile for things like image optimization, but I often don’t remember to run them 😃...

2024-01-29 · 2 min · timor

Tuning PipeWire for best audio quality on Ubuntu

TL;DR If you’re not interested in the “story of my life”, go directly to “Tuning PipeWire ” section. I’m not an audiophile, but I spent whole days in the headphones and I like when sound sounds good. I like slight bass boost, which adds this kick to the melody, but won’t overwhelm me after an hour of listening. I like when high tones are clear, but I get annoyed if they’re too strong....

2024-01-28 · 8 min · timor
[Generated by AI](https://www.bing.com/images/create/potrzebujc499-obrazek-dla-posta-na-blogu-o-temacie3a-g/1-65b520c6d817444ea0a5f4ed3dd8843a?id=QFgGAr6fEgEMEJSm0T45XQ%3d%3d&view=detailv2&idpp=genimg&FORM=GCRIDP&mode=overlay)

Git hacks - a set of my favorite git aliases

I use Git a lot, even writing this article i will commit text few times. There’s a set of aliases I rely on daily and they’re first I add in new place. Some Git commands are unnecessarily verbose. You can make your life much easier with bash-completions, but if you write it tens of times per day, it’s anyway a lot of typing… and I’m a lazy man 😄 Simple status/log checks git s s = status --short --branch --untracked-files Shows a short, branch-focused status with untracked files....

2024-01-27 · 6 min · timor
[Photo by Ann H](https://www.pexels.com/photo/blue-tape-measure-on-yellow-surface-10894941/)

Checking compressed size of Docker image

One day, I was looking for some gains to improve the startup time for Jenkins agents. We run them as containers and because images are quite big, I was thinking about cutting the size, by cutting less frequently used features. I was looking for the metrics I could use to decide which changes are most valuable. I could think about two: download time and startup time. Together they combine to the gap between the request to start agent and the moment you can start to use it....

2024-01-24 · 2 min · timor
[Photo by RealToughCandy.com](https://www.pexels.com/photo/person-holding-a-small-paper-11035539/)

Use Github with SSH on port 443

Today, I was trying to pull/push repos from Github and I was getting timeout errors. I use SSH for clonning and I prefer it this way over HTTPS. I was looking for the reason but it felt like a temporary glitch, either on Github’s or my provider’s side. I was googling for anything, that could help me and I found1 the way to use Github ssh clone/push/pull via SSH (as I want), but via port 443… Simulating HTTPS traffic… OK…...

2023-12-26 · 1 min · timor