Cyberpunk 2077 Mod Management [closed]
What have I forgotten in my design for this programming problem? Sorry for the long form but I hate when people aren't specific in their questions so I'm overly verbose. Use Case: Test Cyberpunk 2077 mods that may crash the game or make it unusable and remove those broken mods then restore the game to its original state without just copying the original install directory. Generalized Problem: Restore an app's original files and delete...
Fix: eventmachine gem failed to build on macOS Ventura with Ruby 2.7.6
After upgrading to macOS Ventura, I decided to upgrade my Ruby version and ran into issues trying to build my site locally. As I’ve written before, I use Jekyll to build this site and I host with NearlyFreeSpeech. I was upgrading to Ruby 2.7.6, which I realize is old and near its end of life. However, this is the version installed on NearlyFreeSpeech and I need my local environment to match that. Because of how NearlyFreeSpeech...


Transforming Education: Using OpenAI and Ruby to Summarise Wikipedia for Children
Personally, I am not a big fan of Wikipedia. When I was studying vector mathematics for my Masters of Machine Learning degree I tried to use Wikipedia to understand some of the key concepts. It was like walking into a...









An alternative approach to custom partition assignment strategy for Kafka consumers with Karafka
Recently, in BookingSync, we were performing a migration from Karafka 1.4 to 2.0, which we use for communication with Kafka. One of the great features available in version 1.4 was a custom partition assignment strategy...





RSpec story about disappearing classes
ActiveSupport#descendants can be slow. In a bigger system with layers of descendants, finding all of them can be time-consuming: puts Benchmark.measure do 100.times { Dispatchers::Base.descendants } end # 5.235370 0.015754 5.251124 ( 5.251069) In the code I've been working on, it meant that a single lookup was taking around 50ms. That is a lot, especially if used extensively. To mitigate this, I've implemented a simple caching...

The inherent unreliability of after_commit callbacks and most service objects’ implementation
Service objects and/or after_commit callbacks are ubiquitous in most real-world Rails applications. Whether it’s a good idea or not (ActiveRecord callbacks - I’m looking at you) is a different story, but one thing...