ZSA Voyager – buying & waiting

Hello there 👋🏻. Welcome to the second part of my article series about the keyboard. This time I would like to describe the buying, awaiting till to unboxing the product. So, as you know from the first article in this series, I decided to buy a split columnar keyboard, which is ZSA Voyager.

All articles in this series:

  1. Why I switched to the split columnar keyboard
  2. ZSA Voyager – buying & waiting
  3. ZSA Voygare – unboxing and the first impressions

Why ZSA? It is one of the most known companies that produce ergonomic keyboards. They are quite an established company, which sells plenty of keyboards. They started in 2015. Besides the Voyager, they also have different split keyboards like Moonlander Mark 1 and Ergodox EZ 🧑‍💻

ZSA Ergodox EZ

When you visit the ZSA website, you will find a beautiful, intuitive website that clearly shows what you can expect when you buy their product. There is a comparison tool that will help you to choose a proper keyboard. Lastly, I would like to mention the printables. Ah, they are amazing – just print the keyboard on paper and try it on your own to see whether it will fit your hands 🙌.

Although I could end up here, I would like to emphasize the rest of their webpage, which is packed with information, about the switches, keycaps, layouts (like Dvorak, Colemak), ergonomics etc. Finally, it is worth mentioning their blog where you can find a lot of interviews with people who bought their keyboards. I found such information very valuable and they made me confident before buying 🎯.

Before finishing this short article, I move on to focus on the purchase experience. In the checkout process, there is a field that allows you to add any notes/questions to your order. I wrote that I am concerned about the usage of the laptop keyboard vs the Voyager. I had doubts that I wouldn’t be able to use the regular old-fashioned keyboard. To my surprise I’ve received a response from the company CEO, here it is:

As you have to wait for the keyboard quite long (the delivery took around 20 days), the company sends multiple emails with an introduction to their software and the customization. They even encourage us to make the first changes in the keyboard layout, as it is doable without the keyboard itself via Oryx software.

Stay tuned for the next part where I will cover the unboxing and the first impressions!

Senior Software Engineer – what next?

Hello there! I am a Software Engineer with 13 years of experience. Last year I felt the need to do something with my career to not die as a Senior Software Engineer. Although staying in such a position is fine for most people. So I started doing presentations and sharing the knowledge, but without any concrete plan. This year I want to approach the problem differently.

The main image by Arek Socha from Pixabay.

So, what to do next?

Continue reading Senior Software Engineer – what next?

Sleeping – what I have learned

Time for a new episode of what I have learned! 🎬

Wanna be better? Sleep more 💤 During the last few years, I discovered that sleeping eight hours works best for me.
Focused more and much more productive I am 💪
I have tried sleeping less than six hours plus naps. It worked well till I missed the nap. Waking up was hard 😓
Monitoring your sleep is vital. Many researchers say that it is easiest to wake up in the REM, and I can confirm that ✅
That is why I switched recently from 7.5 to 8 hours. I missed the zone.
Now I can wake up and almost instantly jump into the action.

Sleep well 🙂

Improving the tests with try-finally block

This week I have learned a neat trick that you can apply to your test cases. You are testing an edge case. The system under test is expected to throw an exception. But, after the exception, you need to do a few assertions. Usually, I did it this way:

 * @dataProvider markAsUndeliverableFailDataProvider
public function testMarkAsUndeliverableFail(Order $order): void
    $exception = null;

    try {
    } catch (\Throwable $exception) {

    self::assertInstanceOf(OrderStatusChangeFailed::class, $exception);

But, there is a better way to do it! Check out the much more readable version with try-finally:

 * @dataProvider markAsUndeliverableFailDataProvider
public function testMarkAsUndeliverableFail(Order $order): void

    try {
    } finally {

Viola! Look how clean this is 🔥

Sytuacja w IT a COVID – przemyślenia

Cześć! Żyjemy już dość długo w świecie pandemicznym. Tym razem opiszę swoje przemyślenia o tym jak COVID wpłynął na branżę IT. W tym wpisie przedstawię moje obserwacje oraz przemyślenia w trzech etapach. Na końcu znajdziesz podsumowanie, gdzie subiektywnie podsumowuję całość.

Świat IT przed pandemią

Jeśli pracujesz/pracowałeś w IT to wiesz jak to było. Zdecydowana większość pracodawców nie zgadzała się na pracę zdalna. Czemu? Bo przecież pracownik w domu, zamiast pracować, będzie zajmować się wszystkim, byle nie pracą.

Continue reading Sytuacja w IT a COVID – przemyślenia

Wpływ silence operatora na error reporting w PHP

Hej, w dzisiejszym krótkim wpisie bierzemy na tapet słynny i jakże często używany operator @ tzw. STFU. Czy wiesz że jego użycie ma wpływ na error_reporting w PHP? Weźmy pod lupę ten przykład:

<?php declare(strict_types=1);


    function () {
        // int(0) [PHP <= 7.4]
        // int(4437) [PHP >= 8.0]

// int(32767) [E_ALL]

@trigger_error('warning', E_USER_WARNING);
Continue reading Wpływ silence operatora na error reporting w PHP

Moje dwa lata z Huel – subiektywna recenzja

Hej! Dzisiaj temat kompletnie niezwiązany z programowaniem, czy IT. W kwietniu 2021 minęło dokładnie dwa lata od kiedy pierwszy raz zamówiłem Huel. Produkt, który zmienił moje nawyki żywieniowe, i pozwolił mi prowadzić zdrowszy tryb życia. Postaram się opisać wszystkie swoje spostrzeżenia. Myślę, że przez ponad dwa poznałem produkt dobrze.

Continue reading Moje dwa lata z Huel – subiektywna recenzja