solid-dry-kiss.hashnode.devChekhov's gun principle for testingIt’s not an uncommon notion that writing tests is more of a storytelling task than a technical one. Most recently I encountered it in The Bike Shed podcast, but you can find blog posts and conference talks about it as well. And if it is a storytellin...Nov 8, 2024·4 min read
solid-dry-kiss.hashnode.devUnderrated pattern of an inline event dispatcherIn the Events, event, events article I outlined three possible meanings of using the word "event" in the context of software architecture. Today I would like to dive a bit deeper into the third one – using events as a way to organize the code. We wil...Mar 9, 2023·5 min read
solid-dry-kiss.hashnode.devEvents, events, eventsWhen talking about software architecture in a web development context most of the time it will come up to discuss using events. In fact, I think it is the most commonly suggested "upgrade" from naive CRUD architecture to something better grasping the...Feb 6, 2023·5 min read
solid-dry-kiss.hashnode.devPurity injection in ElixirIf you came to Elixir from Ruby, like I did, you have probably been looking for a way to do dependency injection in Elixir. I know I did. I also know it's not that simple and I was never really satisfied with the results. After few years of looking a...Oct 25, 2022·6 min read
solid-dry-kiss.hashnode.devActiveRecord, over-optimization and POLSI recently learned that ActiveRecord implements an "interesting" optimization. When you pass a condition to where that could not ever be satisfied, mostly by passing an empty array, it skips the database call completely, returning empty result set. A...Jul 28, 2022·4 min read