Selective serialization using serialization groups

When you ever develop an API in the Symfony framework1, you probably heard of the serializationGroup option. It allows you to define different groups of attributes to serialize and deserialize. However, defining these groups without proper consideration may make the whole development hard, e.g., if you need to deal with different scopes of the object’s attributes in many other endpoints.

I want to show you our approach to serialization groups in one of our projects. Together with my team, we use them to control the serialization of related entities on various endpoints in our API.

Read more →

Why deprecation process is important, on the example of restic

I use restic as my backup solution, and I haven’t had any problem so far, but recently one of my health checks suddenly stopped working, telling me that something is wrong with my backup. On the other side, restic has done its job, and everything works fine, so what was the problem?

Read more →

Following in Social Media

This post is also available in: Polski 🇵🇱

The problem with Social Media lies in its social component, where we treat everyone as a friend. Some people take it seriously, and they share almost everything with people who often don’t really care. As long as the publisher does it consciously, know the consequences, and have fun with sharing – it’s OK. However, the problem occurs on the consumer’s side because not everyone is interested in somebody else’s life details, political opinion, religion, or other stuff that friends actively share. Why people let that content appear in front of them? Because of friendship.

Read more →

Setup end-to-end encrypted cloud drive using rclone

Last time I’ve experimented with applying various encryption solutions to the public cloud storage such as Google Drive or OneDrive. They are relatively cheap online storage. However, I don’t consider them the best place for all my files, especially sensitive ones. To make them more useful to me, I was looking for an end-to-end encryption mechanism I could use with clouds in tandem, and I finally discovered rclone.

In this article, I’d like to show you my approach to use rclone as the way to have an end-to-end encrypted cloud drive.

Read more →

Rethinking writing

This blog is my third approach to regular writing. It’s almost three years old now, so it’s a good indicator, that this attempt was the successful one. Over time, I published more than 40 articles, which is many and few at the same time, especially when I’ll consider my approach to writing.

The start wasn’t easy since I hadn’t picked any niche or the main topic. I collected some ideas for articles I could write about. I narrowed the scope to the programming field, but as time went by, I realized that there are plenty of other exciting topics, which, unfortunately, don’t fit into my blog.

Now, I’d like to set up new rules for myself to liberate my writings and thoughts, making this blog my unique place on the Internet, once again.

Read more →

How to type letters with accents and diacritics in Emacs

I’ve heard a lot of good things about Emacs and Org-mode package as the approach to write and organize plain-text notes. I recently found a doom-emacs project and I decided to give it a try. Unfortunately, in the default configuration, I was unable to type polish characters. Here are two solutions, how to fix it.

Read more →

Draw.io real-time collaboration using Visual Studio Code and Live Share

You’ve probably heard about draw.io which is one of the best free, open-source diagramming software. The tool is powerful. It supports many storage backends and could be integrated into other apps. But the one crucial feature is still missing – it has lack of collaborative editing.

Remote collaboration is something we need these days. Last time, Visual Studio Code announced extension called Live Share, allowing developers to share their workspace with other people. In consequences, it opens a bunch of new possibilities!

Thanks to the VSCode, LiveShare and draw.io integration, you can bring the power of collaboration into draw.io.

Read more →

How to convince your boss to let you write tests

When we talk about software development, sooner or later someone starts a discussion about tests. In our world, tests are considered as something helpful and crucial to our work. However, sometimes we need to face with people who have a different opinion about it. Moreover, it’s hard to find a proper argument, especially for a person who pays you and who wants to utilize your time effectively.

How can you convince your boss to let you write tests? Should you even ask for permission?

Read more →

Why I migrated my blog from WordPress to Hugo

Before you start your blog, you have to perform a set of essential choices – topics you want to write about, domain name, and the way you’ll publish your content. I choose the self-hosted WordPress platform with a slightly customized theme that I found on the Internet.

After more than two years of blogging, I migrated all my content to Hugo. In this article, I would like to show you why I decided to move on from WordPress to Hugo – a static page generator.

Read more →

How to boot system from USB using GRUB

Almost every modern computer has a dedicated menu to choose from which device the system should boot. If not, there is an option in BIOS/UEFI to change that. But what if both options failed for some reason?

Read more →