#​568 — September 2, 2021

Read on the Web

Ruby Weekly

Ruby is Still a Diamond: Some Reflections“So let’s talk contemporary Ruby”. The author focuses on the ongoing development of Ruby, particularly in terms of concurrency and performance, and why Ruby still matters despite never being ‘the fastest language.’

Emma Hyde

OpenSourceRails: A Curated List of Open-Source Rails Apps — The reinvention of a former project of the same name (but on .com, vs .org) where you can check out some projects built in Rails and, most importantly, quickly see what gems and tools they use in their stacks. Check the most popular page for some apps you’re guaranteed to have heard of.

Josh Brody

Fast Redis Hosting and Analytics — RedisGreen databases include seamless online upgrades, SSL encryption, key size tracking, memory mapping, and more.

RedisGreen sponsor

QUICK BITS:

My Recipe for Optimizing Performance of Rails Apps — You might be surprised how many of these tips are outside Rails, focused on the other layers of the application stack.

Paweł Urbanek

Previewing Rails 7's Upcoming Changes — Anticipating a final release of Rails 7 sometime in the next month (unless Rails 7 decides to be as reluctant as Rails 6.1.0 was), Stefan has cherry-picked some of his favorite enhancements from the changelogs.

Stefan Wienert

Jobs

Senior Ruby on Rails Engineer (Remote) — Join our distributed team and build high-volume eCommerce applications in a workplace made by developers for developers.
Nebulab

Senior Software Consultant — Co-founded by Justin Searls, Test Double is an engineering consultancy on a mission to improve the way the world writes software. Work on challenging projects with a collaborative, passionate team. 100% employee owned and 100% Remote.
TEST DOUBLE

Find Ruby Jobs Through Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.
Hired

📕 Articles & Tutorials

A Rubyist's Guide to Vite.js — Vite is a new tool addressing client-side code development and bundling that uses ESM imports (no more bundling!) and supports things like tree-shaking, HMR, CSS support, and a plugin system.

Máximo Mussini

Using Hotwire with Rails: A Basic Introduction — Hotwire is a way to build modern-feeling webapps without much JavaScript by sending regular HTML over the wire.

Renata Marques

Seamlessly Integrate Video into Your Ruby App — Mux Video is an API-first platform that makes it easy to build beautiful video that streams everywhere.

Mux sponsor

Temporary State In Tests: Bloc(k) Party — Tests sometimes require you to bend the truth and modify the state of the world to get repeatable, consistent results and feedback. This article demos how to build your own method using a block to temporarily change what’s true in an application.

Kevin Murphy

Converting Unix Epoch Timestamps to Ruby Objects — You probably know about Time.at but did you know about its in argument? You need this to pass in a timezone.

Prathamesh Sonpatki

How to Get the Most Out of RubyMine’s Code Assistance with RBS — One for RubyMine IDE users only, but it’s interesting to see how it uses the RBS type declarations introduced with Ruby 3.0 to make the editing experience smoother.

Natalie Kudanova (JetBrains)

Rails Monolith Modularisation with CQRS

Global App Testing Engineering Blog sponsor

Compressing Your HTML Responses — Many hosts don’t compress the HTML your apps send over the wire by default, but it can yield serious benefits.

Andy Croll

Don't Use Comments; Use Code — Comments are often lazy or put in as a note to some future coder (probably you) so 'codifying' those comments could be the better path.

Matheus Richard

🛠 Code & Tools

hexdump.rb 1.0: Fully Featured Fast Hexdumping for Ruby — Boasts being Ruby’s ‘most advanced hexdump libary’, although I think the competition is quite limited! The examples show off what this is about, and the new 1.0 release adds support for hex dumping typed data.

Postmodern

Ever: A Callback-less Event Reactor for Ruby — Ever uses threads to handle event listening and worker processes, but uses a block to handle the event loop instead of registering callbacks.

Digital Fabric

GithubWebhook: A Quick Way to Process GitHub Webhooks in Rails — Adds a route to your Rails app for listening to GitHub webhooks.

Sébastien Saunier

RModBus: An Implementation of the ModBus Protocol in Pure RubyModbus is a communications protocol used between various industrial electronic devices and while I’d never heard ot it, it’s been around since 1979. If you need this, you’ll already know what it can do - I hope :-)

rmodbus team

Polyphony: Fine-Grained Concurrency for Ruby — Uses fibers and io_uring or libev under the hood to provide a cooperative, sequential coroutine-based concurrency model.

Digital Fabric

RQRCode 2.1: A Ruby Library for Generating QR Codes — It lets you choose a size, set an error correction level, and can output as SVG, PNG, or ASCII.

Duncan Robertson

rails-footnotes: Footnotes About Your Application and Links Back to Your Editor — Create a footnotes holder in your layout for these neat debugging tools and info.

André Arko

💁‍♂️ And what is Giles Bowkett up to?

Fork Freshness: A Twitter Bot to Check Project Lifespans — Giles has built an app for looking at the lifespan of open source projects (hosted on GitHub) by virtue of activity on their forks. All you have to do is tweet @ForkFreshness with the URL of the repo. This post, however, goes into a lot more depth about what Giles learnt in building it.

Giles Bowkett

P.S. The Tip of the Week section will be back as usual next week :-)