One month of nomading in Bali

With a group of friends, we have decided to go nomading for one month to Bali. We traveled all around the island. Together we have visited Ubud, Uluwatu, Amed, and Canggu. Sometimes we split into smaller groups. Some of us were at Nusa Penida, Lombok, or did a trip to the north of Bali.

en 6 Jun 2020
Reading time: 3 minutes
Traveling

Design of Identity Manager with Identity Generator

Most of the services today don't respect privacy and require our identity. The only way how to use those services anonymously is to generate unique fake-identities (name, email, phone or, even physical address) for each of those services.

This article describes the theoretical concept and proposes a design to a technical solution to this problem at scale.

en 31 May 2020
Reading time: 7 minutes
Privacy

De-Googlification

If it's free, YOU are the product.

In this article, I describe my way of dealing with this problem in the context of Google and it's services.

en 6 May 2020
Reading time: 6 minutes
Privacy

Android without Google

The fact that Google is detrimental to a person's privacy is beyond any doubt. And therefore I have decided to stop feeding Google with my data and to stop using Google at all. But I do not want to change one big corp for another (yes, you Apple) so I was left with the only option to degooglify my Android phone.

This article is about how I have achieved that.

en 12 Apr 2020
Reading time: 5 minutes
Privacy

How to buy cryptocurrencies privately

To achieve financial freedom and sovereignty through cryptocurrencies it is imperative to be able to buy and sell cryptocurrencies without being seen. As nearly all centralized exchanges follow AML/KYC regulations (which violate our right to do so) we must take a different approach.

en 27 Dec 2019
Reading time: 4 minutes
Privacy

F-Droid: You don't need Google for all your apps

The monopoly of Google and Apple over the mobile devices world looks scary. But don't despair. You don't need to fully depend on Big Google Brother.

I would like to present the alternative to the Google Play Store and a list of free apps there that I really like.

en 12 Dec 2019
Reading time: 3 minutes
Privacy

Why I will never attend mandatory meeting ever again

In the companies, it is sometimes a norm that some activities (most often meetings or training) are mandatory. In this article, I explain why I find this practice offensive and why I will never be the order follower and attend such activity ever again.

en 3 Dec 2019
Reading time: 3 minutes
Work Environment

South of Iceland in 5 days

Land of Ice and Fire. ― my traveling logs

en 23 Nov 2019
Reading time: 3 minutes
Traveling

Model domain in your codebase as a reflection of the reality

Sometimes in software development, we end up with software that lives in its own realm. There is stuff that's weirdly named, entities that have no meaning in the real world and every time we want to add a feature that requires an extension of the model we find limitations, conflicts, and paradoxes. This article tries to describe a practice, how to avoid this situation.

en 14 Oct 2019
Reading time: 1 minute
Design

Dependency Injection Container configuration is, in reality, a Code

When using the dependency injection container there is a need for a lot of configuration. This article proposes a practice of treating this configuration as a code and organize it (separate it) accordingly its domain.

en 17 Aug 2019
Reading time: 2 minutes
PHP

Kefalonia

Greek island in the Ionian sea full of goats and both white-"sand" (marbles) and golden sand beaches.

― my traveling logs

en 7 Aug 2019
Reading time: 2 minutes
Traveling

Weekend in New York

City That Never Sleeps ― my traveling logs

en 4 Aug 2019
Reading time: 5 minutes
Traveling

Replacing templating systems (Twig and Latte) with Components

The current market standard of server-side rendering in PHP is to use templating systems like Twig or Latte. This article will present an alternative that is type-safe (thus robust), easily testable and allow you to scale thanks to reusability.

In a nutshell: let's write some React components in PHP.

en 4 Apr 2019
Reading time: 5 minutes
PHP

Tests should be right next to the code

It is a common practice to put your tests apart from the actual code of the application, usually into the tests folder. In this article, I explain why I see it as a bad practice and why you should always put them right next to the code they are testing.

en 18 Sep 2018
Reading time: 2 minutes
TestingPHP

Via ferraty v okolí Arca 2018

V okolí Arca na ferratách jsem byl již podruhé. Tentokrát jsme nebydleli v kempu v Arcu, ale pronajali jsme si přes booking.com domek na úpatí hory nad Arcem. Cenově to je jen o trochu dražší než camp dole v Arco a luxus nesrovnatelný (pěkná sprcha, zahradní posezení s výhledem, krb na grilování,…). Vylezli jsme šest ferrat a zablbli si na windsurfech na Gardě.

cs 5 Aug 2018
Reading time: 3 minutes
Traveling

Dangerous implementations of time representation in today's programming languages

Many programming languages have some kind of object to represent time. In PHP it's DateTimeImmutable, in JavaScript it's Date. Python has it's datetime.datetime. All of them were designed in such a way, that they contain timezone as part of their time representation. And what's dangerous, they expose it (mostly directly via a method).

In this article, I will explain why it poses a danger to you and propose a technique to avoid it.

en 8 May 2018
Reading time: 4 minutes
PHP

Od-do a jiné intervaly jako matematické value objecty

Velmi často se s intervalem pracuje tak, že se prostě předají dvě hodnoty: dva parametry do funkce, dvě proměnné, nebo prostě "pole" o dvou položkách.

Tento přístup ale trpí dvěma neduhy:

  1. Předávání dvou objektů nezaručuje validitu intervalu.
  2. Operace nad intervalem vyžadují vlastní netriviální implementaci.

Řešení je snadné: interval vždy reprezentovat jako value object.

cs 24 Jun 2017
Reading time: 2 minutes
PHP

Jak na API (v PHP) bez controllerů

Skoro každá backendová aplikace má nějaké to API. Mnoho backendových aplikací dnes už komunikuje jen přes něj. Server-side rendering je na ústupu a frontendu vládnou aplikace v browseru a v mobilních aplikacích.

Jak tedy napsat dobře (v PHP) API? Tradiční způsob je použít důvěrně známé controllery/presentery a upravit routování. Proč to není nejlepší přístup a jak to zmáknout lépe.

cs 12 Jan 2017
Reading time: 7 minutes
APIPHP

Testování PHP kódu

Testování aplikací není vždy tak snadné, jak se na papíře jeví. Svojí zkušeností jsem dospěl k několika zásadám a postupům, které se mi osvědčily a které se tu pokusím sepsat a částečně i zdůvodnit. Pomáhají mi k psaní čítelnějších a udržovatelnějších testů. Za hlavní přínos pak považuji snadnou rozšiřitelnost testů, jejíž potřeba přichází s rozšiřováním fukcionality projektu.

cs 6 Dec 2016
Reading time: 10 minutes
TestingPHP

Ohlédnutí se za prací pro DámeJídlo

Více než rok jsem se podílel na vývoji Dámejídla. Seznámil jsem se s Doctrine 2, naučil se hodně o testování a nadchl jsem se pro čistý kód.

S odstupem času se pokusím zhodnotit co mi práce pro Dámejídlo dala a co naopak dát nemohla.

cs 2 Dec 2016
Reading time: 6 minutes
Work Environment