Mar 29, 2020
Some time ago, I was using macOS. The thing I liked about this OS since Mojave version was the dynamic wallpaper feature. Wallpaper representing picture of the Mojave desert in California was dynamically changing during the day. In the morning, we could see the dawn and sunrise, later picture during the midday, in the evening, desert during the dusk and finally picture at night. I liked the fact that wallpaper were adjusting to the time of the day.
Feb 20, 2020
While customizing my i3 status bar, I wanted to have currently played Spotify song in it. Some time ago, I created an open source script in Python called spotify-cli-linux and I wanted to use it. When we want to put something custom into the i3 status bar, the easiest way to do it, is to save data into the file and then read the file.
I created the following config inside ~/.
Feb 16, 2020
Introduction # From a long time I wanted to try lightweight WM (Window Manager) for Linux. I installed i3 once a few years ago, but I had no idea how to use it, so I just closed this thing and got back to Gnome. Recently, I watched several videos and tutorials about Linux and i3 on youtube, which helped me to learn this WM, how it works and how to use it.
Nov 4, 2019
Nov 1, 2019
After the recent Firefox update (70.0.1 64-bit), I’ve got a problem with font rendering on Arch Linux. I’ve installed this update probably on 31.10.2019 or 01.11.2019 (I’m not exactly sure right now). On several pages (e.g. Facebook or Github) fonts weren’t rendered correctly. It looked like fonts without anti-aliasing what was quite ugly.
I figured out that I can go to the Firefox Settings and in the “Fonts and Colors” section, go to “Advanced” and turn off the option “Allow pages to choose their own fonts, instead of your selection above”.
Oct 22, 2019
I recently had an issue with Gnome on Arch Linux during the system boot. After turning my computer on, I saw gray screen with message like:
Oh no! Something has gone wrong. A problem has occurred and the system can't recover... and I couldn’t log in or do anything and started searching solutions for this problem via my phone. First, I switched to terminal mode with Alt+F2(you can switch back to GUI with Alt+F1), logged in and updated system via pacman: sudo pacman -Syu.
Oct 17, 2019
Size of the root partition / on my system is 25 GB. I recently had a situation where I received notification from the system that there’s too little free space on that partition, which was around 1 GB. My first attempt was to clean pacman cache with sudo pacman -Sc. It helped for a moment, but I kept receiving this notification. I searched for the solutions regarding extending the root partition and noticed that it wouldn’t be that easy and probably require making backup and reinstalling the system.
Sep 1, 2019
Sometimes we may want to format external USB drive. I recently encountered a situation, where I had bootable USB drive with operating system ready to install, but I wanted to remove all this stuff and use disk for storing data. I couldn’t format this disk with GUI tools for some reason and I kept getting errors or information that it’s not possible. In case you don’t know, on Linux everything is always possible, so I quit that GUI tool, opened terminal and start playing with good old and simple programs.
Aug 5, 2019
During maintenance of the legacy projects, I sometimes see constructions like:
void appendFooter(Report report); or
void populate(Data data); I even saw something like this:
void populate(Source source, Target target); What is wrong with these statements?
They’re using so called output argument. In the examples above, we’re passing a report or data variable, which usually are going to be global variables available in the scope of the whole class. These methods takes them as an argument and modify them.
Jul 28, 2019
During development of the legacy Java applications, we still have to deal with null. It’s possible to avoid it completly when we’re designing application from the scratch, applying proper code constructions, static code analysis and we’re consistent during code reviews. Nevertheless in majority of the cases we will encounter null in daily projects. We may even expect them in the method inputs and we have to be prepared for it. With the functional programming in Java we can deal with them in quite elegant way, but I often see people are not using features available nowadays.