The Ruby and Rails community linklog
Made a library? Written a blog post? Found a useful tutorial? Share it with the Ruby community here or just enjoy what everyone else has found!
Submit a post
Post Preview
Note: Only the first pargraph is shown on the front page and overly long paragraphs may be broken up.
Message Encryption with a OneTimePad
Here is a new gem for those of use who want to roll our own message encryption. The one_time_pad gem can generate and use a matrix of substitution cyphers to code and decode messages. It will not keep the pros from reading your messages but it should prevent any casual observer from learning your secrets. [more inside]
Video for RubyConf 2024 Workshop "How To Build Basic Desktop Applications in Ruby"
The video for my RubyConf 2024 Workshop “How To Build Basic Desktop Applications in Ruby” has been released: https://www.youtube.com/watch?v=TTSqRdTVtDY [more inside]
A Casual Conversation with KOW (Karl Oscar Weber) on Camping, Open Source, and More
This is a right humdinger of an episode of Fullstack Ruby! I got the chance to talk with Karl Oscar Weber all about the Camping web framework, as well as his Grilled Cheese livestream, working as a freelancer, and how to criticize by creating as a programmer in a world fraught with political upheaval. Great craic, as the Irish say.
Writing unit tests with Minitest
In this video lesson, I show how to add Rails unit tests in an ecommerce app using Minitest and fixtures. We’ll use the tests to improve the code and add model validations.
What's new in Ruby 3.4
Dive into the latest features of Ruby 3.4, including the new it
block parameter, chilled strings, the Prism parser, and modular GC. Read more
"Master Hotwire" ebook
For some time now I’ve been working on an e-book about Hotwire, specifically aimed at Experienced Software Engineers. Why that focus? It’s simple: If you’re experienced I can save you time while giving you more information. For books the biggest cost is actually your time investment, not the price of the book. If this sounds interesting, I’m happy to say that the Beta version of the book is ready and available at: https://masterhotwire.com/ :)
What's new in Ruby 3.4
According to Ruby tradition, the core team will release Ruby 3.4 on December 25—but the preview has been out since May! Here’s what’s new.
How to use Capybara with Selenium for Rails system tests
In this video lesson, I show how to add Rails system tests for a shopping cart feature in a marketplace app using the Capybara gem. System tests are great for simulating testing end-to-end functionality in the browser.
Discover why Rails 8.0 removed Rails::ConsoleMethods
With the Rails 8.0 release, the framework made a significant change that will impact how developers customize their Rails console experience: the removal of Rails::ConsoleMethods. For years, Rails::ConsoleMethods has provided developers with a mechanism to extend the Rails console’s functionality by adding custom methods and utilities. However, this approach has become increasingly problematic, leading the Rails core team to make the strategic decision to deprecate and ultimately remove this extension point. Read the complete article here - https://blog.railsforgedev.com/rails-8-console-methods-deprecation-modernizing-extensions.
Transition from encrypted secrets to Rails 8.0's powerful credentials system
The removal of config.read_encrypted_secrets in Rails 8.0 marks a significant shift in how applications handle sensitive configuration data. This change reflects the framework’s commitment to more robust, streamlined secret management and pushes developers towards a more secure and standardized approach to handling credentials. Discover how to seamlessly transition from encrypted secrets to Rails 8.0’s powerful credentials system. Read the complete article here - https://blog.railsforgedev.com/transitioning-to-rails-8-credentials-system-secure-configuration-management.
Optimizing Database Performance in Ruby on Rails 8
Learn how to optimize database performance in Ruby on Rails 8 with advanced techniques like query optimization, caching strategies, and efficient schema design. Enhance your app’s scalability and speed with Rails’ latest features and best practices. Read the blog post here - Optimizing Database Performance in Ruby on Rails 8: Modern Techniques & Best Practices.
Agent99 Framework
Announcing a new Ruby gem, agent99, as a reference implementation of the Agent99 Framework whose goal is to enable all software agents regardless of their language of implementation to work together, cooperating to accomplish the goals of the large application system. https://madbomber.github.io/blog/engineering/Gotting-Smart-with-Agebt99/
What's new in Rails 8
The latest release of Rails includes a ton of new options and defaults that making shipping applications without a PaaS even easier. We just published an article about what’s new in Rails 8.
We upgraded our Open Source Job Board App (DollarJobs) from Rails v6.1 to v8.0
https://github.com/bestwebventures0/dollarjobs/compare/main…upgrade_to_rails_8. We use Ruby 3.3.6, Rails 8.0.0.1, Webpacker 5, Sprockets 4, SQLite 2, Jquery, etc. Use Dollarjobs to build your own job board for FREE. The only missing part is Deployment using Kamal. If someone is willing to contribute, please get in touch with me.
How to use remote build server in Kamal?
I wrote a new post on how to use remote build server in Kamal.
Ruby Version Manager 4 Windows v1.0.0 released
The final version 1.0.0 of the Ruby Version Manager for Windows (rvm-windows) has been released. It is inspired by the rvm.io project for Unix systems and provides a similar user experience for Windows users by providing a compatible command line interface. The Ruby Version Manager for Windows is a command line tool that allows you to easily install, manage, and work with multiple Ruby environments from interpreters to sets of gems. It even works with the classic Windows command line aside from Powershell and is based on the x64 binaries provided by the RubyInstaller project. Its goal is not to 100% reimplement all features of rvm.io, but the most important and common ones by preserving most of the same command line interface. Some special Windows related stuff is added as well. More information can be found on the rvm-windows Github repository.
async_magic gem
https://github.com/igorkasyanchuk/async_magic gem that lets you execute code in the background without sidekiq, or active job. [more inside]
The DCR Kids Programming Language Supports Live GUI Updates
One of the requests I received at RubyConf 2024 for Glimmer DSL for LibUI (and other Glimmer desktop gems) is providing an editor that can update the GUI live as the programmer types code into it. I have built something like that before for a programming language for kids called DCR actually: https://andymaleh.blogspot.com/2024/12/the-dcr-kids-programming-language.html
How does Kamal deploy to multiple hosts?
Learn about Kamal multiple-server deployment in this short post.
State of Hanami, December 2024
Everything we did this year, and what we’re looking forward to in the next. A new kind of update! https://hanamirb.org/blog/2024/12/10/state-of-hanami-december-2024/