How to add a metronome track to any song with Audacity

I was recently learning how to play a new song on the guitar. While it sounded fine - considering my skill level - when I practiced with a metronome, I struggled a lot to play along with the actual recording. With how some songs are mixed, it can be difficult to pick up the drum track. Even if there is a backing track, the lead guitar can sometimes start alone and be on its own for the first several bars.

At some point I thought: why not add a metronome track to the recording? It would provide a rock-solid rhythmic reference! There must be a way to do this, right? Audacity can do exactly that in just a few clicks.

Music sheets

Photo by Ylanite Koppens

Read more...

GNOME Screenshot: How to change default directory and file type

I've recently switched from Plasma to Cinnamon, and so far, I like it. However, while the latter is more stable, it's also less feature-rich - at least on Arch Linux. So, when I'd installed GNOME Sreenshot, I realized that I can't really configure it through the user interface. It's rather basic, with no settings in the menu to change the default directory or file format.

GNOME Screenshot window

Search results on the subject were old, with posts dating back 10-15 years, which always makes me suspicious: how relevant is that information today? That's why I decided to jot down my findings.

Read more...

Bruno: Yet another alternative to Postman

Postman has long been, and continues to be, an industry standard for API testing. Numerous beginner courses for QA engineers dedicate sections to explaining how to use it. Software developers, product owners, database administrators, and many others often have Postman installed as well. Another prominent tool is Insomnia.

Both, unfortunately, push their users to create accounts and share often commercial information with their cloud services. I don't mind online collaboration, it can be really helpful, especially in large teams. However, I dislike when perfectly capable products start introducing artificial barriers that persuade customers to use features they don't need and never asked for. Do I need a cloud workspace to work on a course project? No. There's a term for that: enshittification.

Bruno: main window

A few months ago, I discovered another API client called Bruno, which offers a healthy alternative.

Read more...

rF2 Stint Visulaser is back online

Last year, I created a tool for rFactor 2 to visualize racing stints. Here's what it produces:

rF2 Stint Visualizer: example

Since then, I'd moved away from GitHub and made all my repositories private just to avoid confusion caused by having the same projects hosted in various places with different code. This led to GitHub Pages restricting access to the visualizer, which I had previously hosted there.

Yesterday I brought it back online. You can now find it here: rf2sv.fakeplastictrees.ee. For anyone unfamiliar with the tool, please refer to my original post, where I spoke about its purpose and limitations.

Read more...

Burp Suite: a helpful tool for testing of client-server software

As a test engineer, I often need to see what requests applications are making and what responses they are receiving. While browsers offer developer tools that include network monitoring, I find them inconvenient. Additionally, you can't use them with mobile and desktop software.

Recently, I discovered Burp Suite, a tool for security assessment and penetration testing that comes with many useful features. Although the professional edition is quite expensive, the free community edition is sufficient for regular testing activities.

Burp Suite

Key functionality

  • A proxy server to intercept traffic.
  • A convenient user interface to analyze network activity.
  • The ability to modify and repeat requests.
  • The option to store individual requests for future use; however, the history is erased in the community edition when you close the program.
  • A text decoder that automatically translates strings like "%7B%22key%22:%22value%22%7D" to {"key":"value"}.
Read more...

Disable docker compose CLI menu

Docker compose introduced a new feature in a recent update called the compose menu. It adds an extra line in the terminal while running docker compose up in the attached mode, i.e. without the -d flag.

Docker compose menu

Image source: https://github.com/docker/for-win/issues/14021#issuecomment-2161370349

The issue is that the menu breaks the active session. In my case, after stopping the containers, I could not see what I was typing in the terminal, as if I was entering a password: the text was not visible.

As this menu doesn't bring anything useful to the table, I figured I should be able to disable it. According to the documentation, there are two ways to turn it off.

Read more...

rF2 Stint Visualizer

I recently started playing racing simulators and joined a league that mimics the real Formula 1 championship. These cars are really challenging and unpredictable, especially with my experience. Another key aspect to consider is tire strategy. There are several compounds that offer different levels of traction, wear, and overall speed. A good strategy can help you gain positions, while a bad one can undermine solid driving.

I decided to create a tool that would help me to find out the most common strategies.

Read more...

A bug I found was fixed and included in the release!

In March, I wanted to add code generation to a project I was working on. I had a publicly available OpenAPI contract of considerable size, and using it I needed to integrate with a third-party service. I decided to stick with the generator I was already familiar with. Unfortunately, it was incompatible with the specification at my hands!

Read more...

Alternative to Postman: Insomnia

This year, I decided to ditch Postman. It had started pushing cloud integration up to an extent, where working without creating an account became nearly impossible. Many features were disabled in the "lightweight" mode. From a privacy perspective, I could have created an email alias, but I wasn't happy with the overall direction of their development. Why invest time in a tool that is likely to become less customer-friendly and accessible in the future?

Read more...