Posts

05 Nov 2026

Prywatność w dobie agentów

Masz własny komputer, na nim prywatne pliki – starannie prowadzone notatki, dokumenty, projekty, a także zdjęcia uporządkowane latami – zaraz obok tych zrzuconych na szybko z telefonu w jedno miejsce. Oprócz tego cały …

01 Oct 2026

To też jest inżynieria

W pracy jestem przyzwyczajony do myślenia w przestrzeni rozwiązań. Dostaję do analizy zadanie – problem, który trzeba jakoś rozwiązać i pozwalam sobie z nim pobyć. Innymi słowy, myślę nad rozwiązaniem. Lata pracy …

09 Feb 2026

My Workflow for Agentic Coding

I’ve experimented with agentic coding for a while and I’ve developed a set of techniques – and a bit of intuition – how to work with agent to deliver actual value without sacrificing my soul as a software …

30 Jan 2026

My first steps into 3D printing

One of my hobbies is tinkering with electronics and cheap microcontrollers from the ESP family. To complete a project, I often needed a case for things I built. One option is to buy a pre-made case, but instead I found …

22 Jan 2026

When working with agent, close the loop

My first attempts with LLMs started in ChatGPT and were limited to silly debug prompts: questions containing stack trace, error logs and code snippets. The workflow was pure copy-paste back and forth between the chat and …

06 Dec 2025

Konfiguracja wielu sieci WiFi w ESPHome

Moja obecna sieć domowa nadal jest daleka od tego, co uznałbym za stan docelowy. Oprócz głównego routera mam także wzmacniacz WiFi tworzący osobną sieć. Od czasu do czasu zmieniam lokalizację routera, a wiele moich …

21 Oct 2025

Jak uruchomić Proxmox z USB przy użyciu GRUB

Kiedy ostatnim razem byłem zmuszony zainstalować świeży system Linux na moim starym laptopie, miałem okazję dowiedzieć się, jak zmusić GRUB do uruchomienia systemu przy użyciu bootloadera znajdującego się na dysku USB. …

30 Sep 2025

Smart Home, po mojemu

Kiedy ludzie pytają mnie o elementy mojego Smart Home, często spodziewają się czegoś bardzo zaawansowanego technologicznie. Tymczasem to co widzą, to zwykły dom, który po prostu można obserwować, kontrolować i który jest …

16 Aug 2025

Pisanie w erze AI

Zacząłem pisać, zanim generatywna sztuczna inteligencja stała się popularna. Nawet prosty artykuł zawsze zajmował mi dużo czasu. Dzisiaj autorzy mogą tworzyć1 i publikować wysokiej jakości treści szybciej niż …

20 Jan 2022

Test your plans by reducing time

I couldn’t find any better phrase that describes the approach I’ve learned in the last year. It’s a simple piece of advice: Test your plans by reducing time. It’s easy to fall into the trap of …

29 Nov 2021

Avoid using global git identity

When I clone a new project, I put the proper email address (e.g., a company email) as an author email in the local config stored in the repository. It worked fine until I started working for a client whose project is …

07 Aug 2021

How to remove hard spaces from file using awk

Some tasks seem easy when we perform them manually, but new things come to light once we want to automate them. What can go wrong if we remove hard spaces from a text file using a script? If it’s a one-time …

08 Apr 2021

How to decrypt PDF files on macOS

Some companies send encrypted PDF documents. If you’re a macOS user, Preview will ask you for the password each time you use quick look or open the document. Moreover, if you print that document, you’ll end …

12 Mar 2021

Line break in Markdown

There are a few different methods to enforce a line break in the same paragraph in Markdown syntax: HTML’s <br />, backslash and double space. Let’s consider each case.

10 Mar 2021

Restore files from encrypted iPhone backup

I do not use iCloud backup for my iPhone. Instead, I do local encrypted backup, more or less regularly. I wanted to browse and find something from one of these backup. Did you know, that there is no native way on macOS …

06 Mar 2021

Using local DNS in dhcpcd causes to ignore others DNS

I struggled with the strange behavior of dhcpcd on my Raspberry Pi powered by Raspbian. The RPi does many things on my local network, including ad-blocking thanks to the pihole service. I run pihole1 as a docker …

12 Nov 2020

Synchronize two collections with different representations

We get used to reading about big things – high-level architectural solutions, design patterns in action, or big data processing. However, most of our problems are small and lie at the low-level in our code. One of them …

04 Nov 2020

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 …

10 Aug 2020

O obserwowaniu w Social Mediach

Problem z Social Mediami leży w ich społecznej części, w której to wszyscy traktujemy siebie wzajemnie jak przyjaciół. Niektórzy biorą to bardzo poważnie i udostępniają niemalże wszystko i wszystkim – w tym ludziom, …

07 Aug 2020

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 …

14 Jul 2020

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 …

18 Jun 2020

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 …

06 May 2020

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 …

16 Apr 2020

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 …

02 Apr 2020

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?

20 Mar 2020

The form may limit you

Sometimes I feel a surge of creativity. It’s a shame not to use this state to create something remarkable. However, once I sit down to my desk trying to write some words or code, I realize that I should do this in …

05 Mar 2020

Don't read later. Read it now.

I would like to confess a small lie that I told myself each time when I found something interesting on the Internet, but I didn’t have enough time to read it. It was Read later.

12 Feb 2020

Find and insert reference to note on macOS using Alfred

Create connections between notes is the essential part of the whole note-taking process, and for sure, it leads to discovering outstanding ideas in the future. However, it requires extra effort during writing: you have …

22 Jan 2020

Think big, start small

When I think about a new idea or my next goal in life, I usually think big. The goal has to be ambitious and attractive to me, otherwise, it’s not worth putting effort into it. However, big goals also overwhelm me, …

08 Jan 2020

Quick access to any menu item in macOS apps

MacOS has a special shortcut I wish I have known them at the beginning of my journey with this system. The functionality is hidden in the menu in almost every app when you click on Help. I talk about this little search …

31 Dec 2019

My 2019 Annual Review

The end of the year is presumably a good time for reflection and review. I don’t have any strict structure for annual reviews. I did them many times before, but I haven’t found any process that I stick to. I …

04 Dec 2019

Stop using specialized vocabulary

Each professional group has own specialized vocabulary. It consists of words often related to tools, technologies or processes. They make everyday communication smooth and effective. Yet, this way of communication is …

14 Nov 2019

Why it's worth taking notes in plaintext

For most people, keeping notes and other stuff in text files is ridiculous – tons of services and apps could do it better. But what the better means? Despite the availability and diversity of note-taking solutions on the …

30 Oct 2019

The selfie stick story

One of the problems during traveling in pair is to take photos of us together. Since we have enough photos “from hand” in our albums, I decided to buy a selfie stick.

02 Oct 2019

Write code for people

The first draft of this article was about the code-style. I wanted to show you why it is important and why we should care about it. But the longer I thought, the stronger conviction I gained, that the code-style – …

18 Sep 2019

The hidden cost of self-hosted services

The Internet is teeming with services you can take advantage of. You can store your files in the cloud, share movies, organize photo collections, talk with friends, manage your projects and so on. It also means that your …

21 Aug 2019

Collecting tiny thoughts

I collect lots of thoughts in my private notes. Some of them could be quite useful if I show them in a decent form. Unfortunately, they are too small to be a full article, so I decided to introduce another form of posts …

07 Aug 2019

Use make as task runner

During development, you probably take advantage of some extra command-line tools. In PHP world it could be a mess detector or program to check the code style. The framework you use also exposes some functionalities to …

27 May 2019

5 etapów bycia programistą

Niedawno minęło 5 lat, odkąd zacząłem zawodowo pracować jako programista. Pomimo że programowanie jako hobby towarzyszyło mi już dużo wcześniej, to dopiero praca dała mi przysłowiowego “kopa”, dzięki któremu …

18 Mar 2019

How to use final in PHP?

If someone would ask me about my favorite keyword in PHP, I would certainly answer: final. It doesn’t mean I write this modifier in each class or method. It not only shows the intention but also provides a …

22 Oct 2018

Quick start with TDD in JavaScript using Jest

JavaScript is one of the most versatile programming languages I know, however, I had a constant problem with the testing. Since I run into TDD, I was looking for something that allows me to build my solutions using this …

08 Oct 2018

Set up multi-container environment using Docker Compose

I remember this time when I discovered Vagrant. The magic behind this tool and the general idea of scaffolding the whole environment using single command was pretty genius. Moreover, I had programmed on Windows and …

24 Sep 2018

I've finished studies. Here are some of my thoughts

A long time since my last article. During the last few months, I was fully involved in my last big project at my university. Dozens of articles and books, hundreds of visited pages and thousands of words later I had …

15 Apr 2018

The code is a common good, so be responsible for him

I joined to the project that was developed by one guy. He was an amazing developer with plenty of ideas and skills. He had also the best knowledge about the system – its domain, architecture, used solutions, hidden …

12 Mar 2018

Did your team define own code deprecation strategy?

I didn’t always work in a larger team. At the beginning of my journey as a computer programmer, I was the only one person in a project. It meant that I had had a free-hand (or semi-free-hand) to choose how I could …

29 Jan 2018

Why I removed my old accounts and why you should too

Whenever people say about New Year’s changes they, mainly think about resolutions, plans and set up goals. But this is also a great time to small retrospective both your personal and digital life. Let’s talk …

08 Jan 2018

Inbox zero – efficient way to manage emails

Every day at least 30 new messages land in my mailbox. Newsletters, reminders, status updates, mentions, recommendations and even personal or business messages – each of them need my time and an attention. And no one …

18 Dec 2017

Building the associative array – ideas

When we talk about arrays we usually mean the vector of something – primitives, objects or even arrays. But there are a lot of situation when we need to carry extra information with our data. We can use nested arrays but …

04 Dec 2017

What is idempotence?

If you frown after reading idempotence, don’t worry. Although this word sounds unusual it conceals a simple mathematics property. Needless to say, this characteristic has also a big meaning in Computer Science. …

20 Nov 2017

Why should you return early?

When I started my journey as a computer programmer, I had written my code in various way. In most cases, I translated requirements into specific conditions and statements, but I hadn’t taken too much care of …

06 Nov 2017

My start with React and its rich ecosystem

I remember how I was excited discovering how much frontend frameworks like AngularJS could make my work easier. Even though I was a strong backend-oriented programmer I decided to learn the concept of Angular. I dug into …

23 Oct 2017

Why you should use array functions instead of basic loops

Loop is the basic construction in each programming language. All repeatable operations are being done using loops. I think you know how the basic loops like while, do and for work and when you should use one of them. But …

09 Oct 2017

Synchronize local files with Cryptomator Vault

Among thousands of files on my computer, I have some with special meanings for me. Photos, videos, papers, and spreadsheets – they occupy dedicated places within my filesystem. That’s the problem – they exist only on my …

25 Sep 2017

Arguments in arrow function explained

ECMAScript 6 has an amazing feature called Arrow Function. It allows writing a function expression faster and smarter than traditional way (using functionkeyword). Worth to know, it’s not a one to one replacement for …

11 Sep 2017

Blackboxing JavaScript using Chrome DevTools

Lots of JavaScript projects use a dozen of various frameworks, libraries, and third-party scripts. More often code which you produce largely depends from vendors’ work. The good example is jQuery and Lodash libraries …

28 Aug 2017

Try explain the JavaScript’s truth inconsistency

Everyone has an own version of a truth. I have the own truth, you have your own. JavaScript has many truths and it’s probably no problem until you’ll start to use it implicitly. This article shows and explains one of the …

14 Aug 2017

Do your constants make sense?

Do you use constants in your code? Probably a lot. Even if you don’t define your own is highly probable that you use some constants defined by other libraries or a language itself. Constants are very powerful unless you …

21 Jul 2017

What I learned by doing my simple personal project

In September, I wanted to try something new, so I started a simple project to check my abilities in UX and front-end development. The idea was simple — create customizable, reusable and highly accessible buttons. I have …