Welcome back after a longer break! I feel like much less things were happening in Ruby in recent weeks and there was not enough material to share here. And since I don’t want to force frequent issues over the quality, I decided to wait until the content queue fills up.

Let’s start with two posts from Janko Marohnić:

  • First one is quite old and it is a introductory post about ImageProcessing – his library to, well, process images. It reached 1.0 in April and Janko shares why he created it and how it’s different/better than existing solutions.
  • More recent post is a roundup of existing HTTP client libraries with some comparisons and a compelling analysis why http.rb is (maybe) the best of them.

Other things:

  • You probably have heard about guilds coming in Ruby 3. Today first code was revealed in one of the forks, owned by Koichi Sasada. Here is a comparison against master. Be warned though that it’s C code and understanding it is not necessarily easy.
  • Stripe is building a Ruby typechecker. This is actually a big news as many people think that some level of typechecking is necessary in larger codebases. This solution, called Sorbet, is written in C++, is quite fast (they are talking 100k lines per second) and is something like TypeScript for JavaScript. For now you can try it out online but nothing more has been revealed so far.
  • Luca Guidi wrote a pretty cool post about implementing async map/reduce queue in pure Ruby. I’m especially fond of it because I lately started to think that we rely too much on external tools (such as Sidekiq for any kind of asynchronous things) when chances are we could easily write something better-suited ourselves.

My small contibution:

  • I reviewed Pagy – “the ultimate pagination ruby gem” – which made all the news some time ago. More precisely, I tried to integrate it with Hanami and find answer to a question: it it really as ORM-agnostic and as working-with-any-framework as advertised?

Thanks for reading!