Usually, during the winter holidays, we remember our achievements done during the previous year. I have never done this publicly, but I have decided to break the tradition this year and summarize my main events of the past year.
As you may know, I am a long user of an Ubuntu-flavored operating system (Kubuntu). So as I need a stable system, I usually stick with the Long Term Support (LTS) releases. Currently, my laptop runs Kubuntu 20.04.
At my new working place, people actively use calendar/email facilities. Hence, I have to start using an email client that supports this functionality. Our IT support recommends using Thunderbird, and I followed their advice. As usual in Linux distros, I have installed a Thunderbird version using my package manager and configured my email client according to the recommendations.
However, after I started to use it, I have faced issues in calendar functionality (e.g., its inability to synchronize event data) that were very difficult to triage. I checked some forums looking for explanations of some particular error codes and how to resolve them. There, I discovered that the calendar sub-system was improved considerably in Thunderbird 91.0. I checked my version of Thunderbird, and it was 78.13.x. After I found that, I decided to update Thunderbird. However, at that time, I did not manage to find a Personal Package Archive (PPA) or a deb file with this newer version. Therefore, I decided to wait until a new Ubuntu version (21.10) would be released because I thought it might bring Thunderbird 91. Unfortunately, this did not happen for older releases, and I decided to install Thunderbird 91 manually. In this article, I describe how I updated Thunderbird from version 78 to 91.
In the article, I show the differences in the website analytic metrics collected on the server- and client-side. It contains several dynamic values (e.g., pageviews or visits number, the date range, etc.) scattered throughout the text. To update them, I need to pass through the content and adjust them manually. So as I plan to bring the data in this post up to date regularly (I get new input every day), this task cumulatively could consume a lot of my time. Therefore, I have decided that the data in the post should be updated automatically. In this article, I describe how I have achieved this goal.
Some time ago, I wrote an article showing how much data is missed if you rely on only client-side web analytics numbers. To maintain this previous blog post in an actual state, I planned to update it from time to time. However, as you might expect, pretty soon, I got bored collecting manually Cloudflare and Google Analytics data and inserting it into a spreadsheet. As a normal human, I have decided to automate the process. Luckily, both systems provide the APIs that you can use to query and download the data. However, during the development of the data collection script, I discovered several limitations that inclined me to write a new blog post instead of updating the old one.
One of the reasons developers love Rust is its well-developed ecosystem. Clippy, a linter for the Rust code, is one of the main components in this ecosystem. It performs additional checks of the developed code reporting found issues and explaining how to fix them (and sometimes it even can fix them automatically). Its usage may be beneficial for Rust beginners and even professionals. In this article, I describe this tool and explain how to start using it.
Rust has been recently named as the most loved language on Stackoverflow one more time. Currently it is not widely used in professional development, therefore developers often develop small programs to try it out. One obvious choice for these programs are different command line utilities, thus the number of such tools developed in Rust constantly grows. On crates.io, there is even a separate category devoted to these programs. Therefore, I have decided to write an article about the utilities I find useful in order to have their list in one place. I plan to update this article as I try more utils.
In this article, I present a solution to a weird issue that made me unable to install a utility using the cargo tool.
In the previous article comparing the JAMstack services of two popular providers, I have mentioned that one of my incentives of moving to Cloudflare was its basic server-side analytics provided even for the free tier users. Extended analytics is available on both Cloudflare and Netlify as a paid option: on Cloudflare you have to subscribe to one of the paid accounts (the cheapest is “Pro” plan that costs 20 US Dollars per month); on Netlify you can either subscribe to “Business” plan for 99 US Dollars per member per month, or you can enable this feature for every your site for just 9 US Dollars a month. If you need an accurate web analytics data, I definitely recommend you choosing one of these options because, as my analysis in this article shows, the client-side analytics solutions (e.g., Google Analytics, Yandex Metrica or Microsoft Clarity) overlook a large portion of visitors' interactions due to different anti-tracking solutions (e.g., personally I use uBlock Origin plugin for my web-browser). In this article, I show how much data you may overlook.
For the last three years, I used Netlify to host my website. I was pretty happy with the services this company provides, especially considering that they were free of charge for me. However, recently Cloudflare has also launched its JAMstack platform called Cloudflare Pages, and I decided to try it myself in order to discover its pros and cons. In this article, I compare the services provided by these companies from a blogger perspective, and share my opinion when each of them should be used.
In the article describing Tmux, as an example I have shown the script that creates an environment for writing content for my Hugo website. However, this script is not very convenient if I need to start writing a new blog post (the action that I do most often): I have to create an environment, then I must create new directory for a post, copy there a template and modify the parameters in the preamble (at least, I have to add the date and the title). Therefore, in order to facilitate this process I have developed a new script used to create an environment for writing new blog posts. In this article, I share this script and explain how it works so that you can adapt my experience in your setup.