#568 — September 2, 2021 |
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 |
|
📕 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 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 Ruby — Modbus 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 :-) |