I'm excited to announce the latest addition to the Elixir Drops suite of libraries: Drops.Relation. This new library provides a high-level API for defining database relations with automatic schema inference and composable queries, simplifying database interactions when developing applications in...
Testing logging can be tricky but recently I've learned that Elixir's ExUnit ships with a CaptureLog module that makes it easy to test logging behavior. I was really happy to see this built-in! Let's say you have a function that processes a template and logs errors when something goes wrong....
I'm excited to announce the initial release of TextParser, a new Elixir library for extracting and validating structured tokens from text. Whether you need to parse URLs, hashtags, mentions, or custom patterns, TextParser provides a flexible and extensible solution. Why TextParser? TextParser was born from real-world needs
Today we’re announcing on the official Hanami blog that I am retiring from the core teams. It’s a decision I’ve made after about 2 years of contemplating how I want to move forward with my involvement with the Ruby community and its Open Source
Testing is an integral part of software development that ensures your code works as expected. However, running tests can sometimes be a slow and cumbersome process, especially when you're looking to quickly iterate on your code. I use a "secret" method that allows me to quickly
I'm working on becoming more active online and returning to my projects, so I thought it would be a good time to share what I've been up to lately. Over the past three years, many aspects of my life have changed, from receiving an ADHD diagnosis
Since the previous release in October, my intermittent efforts have been dedicated to developing version 0.2.0 of Elixir Drops, concentrating primarily on enhancing its type system. The main objective has been to introduce the functionality for users to create custom types and to enable their composition. I'
A few years ago my Ruby friends asked me if it would be possible to port some of the dry-rb libraries to Elixir. I remember some early community attempts at porting dry-validation specifically, I did my best to support the effort but back then my Elixir knowledge was
This was originally titled "Rails is not written in Ruby" but based on feedback, I decided to change the title. I'm born and raised in Kraków, a beautiful city in Poland, maybe you've heard about it, maybe you've even been here. In Poland we speak Polish, which is a really difficult language,...
On June 4th, 2011 I released the first version of Virtus, a ruby gem that I extracted from the DataMapper project. I remember how I felt about Open Source back then, and I have to tell you that my perspective has changed a lot. 10 years, a freaking decade, is a lot of time...I've gone through a...
The 5 "rules" I try to follow in order to write simple RSpec tests. Let's GO. 1. Max 2 levels of describe/context nesting Everything above 2 is a code-smell and causes alarm bells in my head to ring. The more levels of nesting you have, the harder it is to understand what a given example is...
We're in the process of upgrading to Ruby 2.7.2 at castle.io and today I had to install it on macOS Big Sur. Unfortunately, I hit a compilation error that looked like this: $ ruby-install ruby 2.7.2 # yada yada yada compiling dmyext.c translating probes probes.d . ./vm_opts.h compiling...
Hey y'all! It's time for another OSS update. I was quite busy with my "normal work" in August so unfortunately I didn't manage to work on rom-rb like I planned. I focused mostly on dry-rb maintenance work and growing my YouTube channel. OK let's see what happened! Saying "good bye" to...
In July I went on holidays and had quite a busy month at my day job but nevertheless I've managed to push things forward. Here's a summary of what happened! New dry-validation releases We've had two bug-fix releases of dry-validation. Just like in case of a couple of previous releases, there...
Coercion is a tricky problem to solve and it's something we need pretty much everywhere. Whether you're building a web application or a CLI tool, you will have to coerce values in some way. I say it's a tricky problem because Ruby comes with many builtin coercion methods but it's not enough....