Paweł Świątkowski

Paweł Świątkowski @katafrakt

Location:
Wrocław, Poland
Joined:
Mar 30, 2018

Paweł Świątkowski
articles - 37 total

Chekhov's gun principle for testing

It’s not an uncommon notion that writing tests is more of a storytelling task than a technical one....

Learn More 1 0Nov 2 '24

Enhancing Your Elixir Codebase with Gleam

Do you write Elixir but sometimes miss the benefits of type safety we have in other languages? If the...

Learn More 3 0Aug 6 '24

Checking Efx - testable effects for Elixir

Mocking in Elixir is always a hot topic, mainly because of people coming from different other...

Learn More 2 0Jul 13 '24

Don't refactor the code

This is a piece of advice someone gave me a long time ago. Unfortunately, I don't really remember...

Learn More 325 30Jun 13 '24

Creating Custom Exceptions in Elixir

Exceptions and exception handling are widely accepted concepts in most modern programming languages....

Learn More 2 0Mar 5 '24

Reconfiguring your application live with dRuby

dRuby is a pretty old but relatively unknown part of Ruby standard distribution. I first wrote about...

Learn More 4 0Jan 10 '24

Functional domain modeling in Elixir

In this blog post I want to explore how using techniques from functional modeling can improve the...

Learn More 12 4Oct 25 '23

On using Phlex

Seb Wilgosz recently published an article Phlex with Hanami on Hanami Mastery. It made the latest...

Learn More 11 1Oct 4 '23

Data migrations in regular migrations and why you (probably) should not do that

Every once in a while I read Lucian Ghinda's Short Ruby newsletter and I see a "take" there which...

Learn More 12 1Sep 18 '23

Writing a Custom Credo Check in Elixir

Static code analysis is an important tool to ensure a project meets the right code standards and...

Learn More 3 1Sep 6 '23

Rendering tasks (Writing TUI with Ratatouille)

Previously on Writing TUI with Ratatouille: we learned how to add Ratatouille to the project, what...

Learn More 2 0Jun 27 '23

Writing TUI with Ratatouille

(the title should rhyme, if it does not perhaps you're not reading it correctly... or I'm really bad...

Learn More 5 0Jun 25 '23

Underrated pattern of an inline event dispatcher

In the Events, event, events article I outlined three possible meanings of using the word "event" in...

Learn More 2 0Mar 6 '23

Events, events, events

When talking about software architecture in a web development context most of the time it will come...

Learn More 4 1Feb 6 '23

Create a Business Language for a Rails Application

As web developers, we tend to approach problems with traditional low-risk solutions. When all you...

Learn More 3 0Jan 18 '23

Long story short: I build a Ruby extension with Zig

I always had mixed feelings about writing native Ruby extensions. They surely are the way to make...

Learn More 13 0Dec 25 '22

A First Look at Hanami 2 for Ruby

As of 06/12/2022, Hanami 2.0.1 has been released. Read more about the enhancements, bug fixes and...

Learn More 0 2Dec 15 '22

Write migrations last

When starting to work on a new feature, let's say: adding comments to a restaurant listing app, our...

Learn More 12 1Nov 23 '22

Purity injection in Elixir

If you came to Elixir from Ruby, like I did, you have probably been looking for a way to do...

Learn More 14 0Oct 19 '22

ActiveRecord, over-optimization and POLS

I recently learned that ActiveRecord implements an "interesting" optimization. When you pass a...

Learn More 2 0Jul 28 '22

Renaming a table in production in PostgreSQL

Sometimes you don't get it right in the first attempt. When some time ago I announced that we need...

Learn More 15 0Feb 15 '22

Yard Sale - event-driven e-commerce

Overview of My Submission Yard Sale was an idea of old to enable people to list things...

Learn More 3 0Jan 14 '22

Steering your submarine with Elixir, Leex and Yecc (AoC'21, day 2)

After solving a Advent of Code challenge by treating the input as a program last year, I wanted more...

Learn More 9 1Dec 2 '21

Application with Elixir, business logic with Gleam

One of the young programming languages I look at from afar and root for is Gleam. It is a statically...

Learn More 26 1Oct 18 '21

Six months of Elixir - some thoughts after switching the main language

lmost exactly six months ago I started to work for Fresha, where Elixir is a main language for...

Learn More 20 0Jun 15 '21

Treat your flaky tests like production bugs

Flaky tests are a bane of every larger test suite out there. At first they show up very rarely. Once...

Learn More 1 0Apr 30 '21

Solving AoC#2 puzzle with Parslet

It's December again and this means that another edition of Advent of Code is under way. Most of us ha...

Learn More 1 0Dec 3 '20

Seeds-driven development

In my career as a web developer, I created my fair share of what I call content-driven websites. Unli...

Learn More 3 0Sep 15 '20

Understanding complex Ruby application with profiling tools

This was originally posted on my blog. For a long time profiling Ruby apps sounded like a low-lev...

Learn More 9 1Jun 3 '20

Advent of Code, day 4 in Zig

For day 4 of Advent of Code I wrote my solution in Zig. In this blog post I want to share a couple of...

Learn More 5 0Dec 4 '19