What we have to discover for ourselves leaves behind in our mind a pathway that can be used on another occasion.
— Georg C. Lichtenberg
pawel kierat photo
Languages

Java, C/C++, Prolog, Bash, AWK, JavaScript and more

Favorite tools

Terminal, Vim, Tmux, Git, Make, AsciiDoc, LaTeX

Areas of interest

JVM, Linux, concurrency, formal software verification, logic programming, software craftsmenship

Posts

Personal projects

Groundhog Dojo

Groundhog Dojo is a platform for polishing coding skills using simple tasks and a small dose of stress. Written in Bash using Tmux as a window manager, Git as a persistence layer and Make as a building tool. Can run as a standalone app or inside a Docker container.

groundhog dojo

Portals

Portals is a multi-player board game initially created as a tool for explaining various concurrency-related concepts to junior software developers. The rules of the game are based on the modeling language for distributed systems called Petri net.

Petrify

Petrify is a tool for modeling and simulating concurrent systems in Java. It was created as an experiment for the purpose of a tech talk about modeling concurrent systems using Petri nets. The basic idea was to put framework’s annotations on classes, fields and then use the tool to visualize the system in the form of a Petri net or even run it in a multi-threaded environment. Its goal was to show that multi-threading can be extracted from the business logic of the application and analyzed separately.

Due to the lack of time, the project never became anything more than an experiment.