Dynamic wallpaper for i3

Mar 29, 2020
i3, linux

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. ...

Spotify song in i3 status bar

Feb 20, 2020
linux, i3, python

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 ~/. ...

I switched to i3 WM

Feb 16, 2020
linux, arch, i3

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. ...

GitHub Actions in action!

Nov 4, 2019

Recently GitHub introduced really interesting feature to their service called Actions. Actions can be used for automating various tasks related to the repositories like CI, CD, testing, deployment and whatnot. The general concept is as follows: We can create so called action, which can be based on a JavaScript project or a Docker container. We can also use existing actions in the Marketplace. Next, we can create workflow in the yml file, where we define our workflow. ...

Fixing font rendering on Firefox and Arch Linux

Nov 1, 2019
arch, linux

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”. ...

Fixing Gnome Boot problem

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. ...

Cleaning root partition on Linux

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. ...

Formatting USB disk on Linux

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. ...

Modifying mehtod's input parameters

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. ...

Get rid of the list null-checks

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. ...