When you write a scientific paper, one of the most common tasks is to analyze the obtained results and design beautiful graphs explaining them. Currently, in the research community, Python’s ecosystem is the most popular for achieving these goals. It provides web-based interactive computational environments (e.g., Jupyter Notebook/Lab) to write code and describe the results, and pandas and matplotlib libraries to analyze data and produce graphs correspondingly. Unfortunately due to the rich functionality, it is hard to start using them effectively in your everyday research activities when you initiate your path as a researcher. In this article, I would like to share some tips and tricks on how to employ the matplotlib library to produce nice graphs for research papers.
I have been using VSCode almost for all activities related to software development. The last activity I preferred to do using an external tool was data analysis. However, recently I have switched even these activities to VSCode. In this article, I share my experience and provide hints on VSCode configuration to facilitate this task.
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.