About:

The author of the website, katafrakt, shares insights and thoughts on technology, focusing on programming languages such as Elixir, Ruby, and other more exotic languages.

Website:

Outgoing Links:

Josef Strzibny
Subscribe to RSS:
The author shares a lesson learned while working with Ecto, a database wrapper for Elixir, focusing on the challenges of managing unique constraints in a database schema for processes and their steps. The post details a specific i...
The author discusses their experience using Doom Emacs as a coding editor, specifically focusing on configuring it for Ruby development with StandardRB instead of Rubocop. They detail the challenges faced with language server inte...
Creating standalone executables with mruby can be simplified using Cosmopolitan Libc, enabling cross-platform compatibility without the need for multiple binaries.
The author revisits the integration of the Pagy pagination library with the Hanami framework, noting significant improvements since their last attempt in 2018. With Hanami now at version 2.3 and Pagy at version 43, the author find...
The author discusses a personal coding style in Elixir influenced by OCaml, which they refer to as 'OCaml-flavoured Elixir.' They argue that this approach, which involves using anonymous functions within public functions, improves...
The blog post discusses the concept of 'micro-slices' in the Hanami framework, which allows developers to create small, focused applications within a main Hanami project. It explains the traditional structure of slices and introdu...
Instructions for using the unreleased Elixir 1.20 version with the mise-en-place version manager are provided, detailing the build and verification process.
The author shares their experience of putting Hanami in the browser via WASM, inspired by a podcast episode. They faced challenges with custom gems and the WASM compiler, but ultimately succeeded in creating a working version of a...
The text discusses the nature of commands and the different kinds of validation. It relates commands to web development and suggests using separate technologies for input validations and domain checks.

0Booleans Are a Trap

2024-11-08

The text discusses the problems that arise from using booleans for domain modeling in software engineering. It provides examples of how using booleans can lead to impossible combinations and suggests a better approach using enums ...
The text discusses the idea of writing tests as a storytelling task and how Chekhov's gun principle can be applied to make tests better. It provides an example of a test code and explains how to fix it by using abstractions. The a...
The article discusses errors in Ruby code and how to find them, specifically focusing on the situation when the ARGV constant was not defined and referenced, leading to code execution failure without any error message. The author ...
The text discusses the use of mruby, a lightweight Ruby implementation, and how to build a standalone binary from a Ruby source. It covers the limitations of mruby, the process of adding libraries, and building an application usin...
The text is a lightweight introduction to mruby, a lightweight version of Ruby designed to be embedded in other programs. The author discusses the installation process, the differences between mruby and Ruby, and the limitations o...
The post discusses the author's experience using org-mode and the process of adding org support to Bridgetown. It details the steps taken to upgrade Bridgetown, add a custom front-matter loader, read the front-matter, render the H...
The post discusses the new library Efx in Elixir, which allows declaratively writing testable effects. It compares Efx with other mocking solutions and provides examples of how to use Efx to test a code for generating unique order...
The text explains the concept of upserts in Ecto and PostgreSQL, and how it can be improved. It discusses the purpose of upserts, the problem it solves, and how it can be enhanced to provide more information about the operation. T...
The text is about dRuby, a part of Ruby standard distribution. It demonstrates how to write a simple application using dRuby, and how to add dRuby to the program to control it from another process. The author explains the benefits...