Diffend – OSS supply chain security and management platform for Ruby
I’m incredibly excited to announce a security platform for managing Ruby gems dependencies: diffend.io. This platform is a result of my involvement in Ruby security matters for years. It all started in...
View ArticleThe hidden cost of a Ruby threads leakage
Bug hunting Recently I’ve been working with one small application that would gradually become slower and slower. While there were many reasons for it to happen, I found one of them interesting. To...
View ArticleRubyGems Bitcoin Stealing Malware postmortem
Introduction On the 7th and 13th of December, there were two malicious packages uploaded to RubyGems. Here’s the postmortem and analysis of the packages’ content. Diffend.io platform that I run...
View ArticleHow requiring a gem can mess up your already running application
Introduction Ruby’s dynamic nature is both its advantage and disadvantage. Being able to reopen system classes during runtime, while useful, can also lead to unexpected behaviors. This article presents...
View ArticleRubyGems dependency confusion attack side of things
Note: This article is not to deprecate any of the findings and achievements of Alex Birsan. He did great work exploiting specific vulnerabilities and patterns. It is to present the RubyGems side of the...
View ArticleReading the uncompressed GZIP file size in Ruby without decompression
There are cases where you have a compressed GZIP file for which you want to determine the uncompressed data size without having to extract it. For example, if you work with large text-based documents,...
View ArticleControlling Elgato Key Light under Ubuntu with Ruby
Recently I’ve acquired Elgato Key Light. It is a WiFi controllable LED lighting panel. The panel uses 160 LEDs to provide up to 2800 lumens of brightness and a color range of 2900-7000K. While you can...
View ArticleReduce your method calls by 99.9% by replacing Thread#pass with Queue#pop
When doing multi-threaded work in Ruby, there are a couple of ways to control the execution flow within a given thread. In this article, I will be looking at Thread#pass and Queue#pop and how...
View Article--- Article Not Found! ---
*** *** *** RSSing Note: Article is missing! We don't know where we put it!!. *** ***
View ArticleRSpec 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 }...
View ArticleRuby concurrency is hard: how I became a Ruby on Rails contributor
For the past several weeks, I've been trying to fix a cranky spec in Karafka integrations suite, which in the end, lead me to become a Ruby on Rails micro-contributor and submitting similar fix to...
View ArticleKarafka Web UI – Your Ruby and Rails out-of-the-box Kafka UI
I'm thrilled to announce the new and shiny addition to the Karafka ecosystem: Karafka Web. For those who wonder what Karafka is, Karafka is a Ruby and Rails multi-threaded efficient Kafka processing...
View ArticleKafka topics as code – declarative Kafka topics management in Ruby
Kafka topics are a fundamental concept in Apache Kafka. Topics are logical names or labels representing a stream of messages that Kafka clients can produce and consume. What makes them interesting is...
View ArticleDelaying Kafka Messages Processing with Karafka: A Deep Dive into Delayed Topics
Kafka is a popular distributed streaming platform that is commonly used for building real-time data pipelines and streaming applications. One of the core features of Kafka is its ability to handle...
View ArticleKarafka framework 2.1 announcement
I'm happy to announce that Karafka 2.1 has just been released. For those who wonder what Karafka is, Karafka is a Ruby and Rails multi-threaded efficient Kafka processing framework. The Karafka 2.1...
View ArticleInside Kafka: Enhancing Data Reliability Through Transactional Offsets with...
Karafka is a Ruby and Rails framework that simplifies the development of Apache Kafka-based applications. Among its varied features, the Filtering API provides enhanced control over the data flow. The...
View ArticleAsset Handling in Roda: Cache Forever, Refresh When Needed
Introduction Managing frontend assets in gems serving Web UI can be tricky. Why? Because while you want assets to expire across versions, you don't want them fetched repeatedly, slowing things down....
View ArticleMonitoring Karafka Jobs Progress Using Web UI
Introduction Karafka is a Ruby and Rails framework designed to simplify processing messages consumed from Apache Kafka. One of Karafka's components is the Web UI. It provides a convenient way for...
View ArticleThe Ruby 2.7 Challenge: Adapting to Bundler’s Latest 2.5+ Update
While officially End-of-Life (EOL), Ruby 2.7 remains critical in many ongoing projects. Despite its EOL status, a significant user base continues to rely on this version for various reasons, ranging...
View ArticleKarafka Framework 2.3 + Web UI 0.8 Release Announcement
Introduction I'm happy to announce that Karafka 2.3 and its Web UI 0.8 have just been released. For those who wonder what Karafka is, Karafka is a Ruby and Rails multi-threaded efficient Kafka...
View Article