RubyFlow: Recent Episodes

None

The Ruby and Rails community linklog

View Details

An Active Record transaction traced across one database connection, retained model state, remote side effects, false returns, non-local exits, nested transactions, savepoints, and PostgreSQL statement failures.

View Details

, a gem that brings the Durable Objects programming model (addressable objects, durable state, serialized turns) to ordinary Rails applications. It runs on the MySQL, PostgreSQL, or SQLite database the app already has. No Redis, no Cloudflare account, no separate actor service.

View Details

Turbo’s documentation is complete but unconnected: Drive, Frames and Streams sit side by side with nothing saying what links them or how to choose. This is the reference I wanted when I started, written by reading the source of Turbo 8.0.23 and turbo-rails 2.0.23 rather than the docs, because that is where the gaps are.

View Details

From Rails Dev to Shopify Partner: A Beginner’s Guide to Building Apps If you know Ruby on…

View Details

A conditional that keeps growing is a design problem, not a style problem. How to turn each branch into an object, one green step at a time.

View Details

In this article, Amanda goes through what a Ruby MCP server needs once it stops being a subprocess: Streamable HTTP instead of stdio, a choice between a standalone service and an endpoint inside an existing Rails app, statelessness so it survives more than one Puma worker, Host and Origin validation that a security advisory made mandatory, a shared token as the internal floor with OAuth as the answer beyond it, and read-only models and server_context deciding what any caller can actually reach.

View Details

calls and your Redis.

View Details

, a Rails gem that records each request or job execution as one dense, high-cardinality telemetry event. It gives coding agents queryable production context without making them reconstruct what happened from scattered logs, spans, and metrics. Agents can retrieve only the relevant rows and fields for a route, account, build SHA, feature flag, or error, keeping the context compact.

View Details

An Active Record save traced from pending dirty state through validations, callbacks, persistence, and its transaction wrapper. It explains false returns with empty errors, validate: false, callback-chain inspection, successful no-op saves, and why a failed inner save can leave other work committed. RailsRevelry publishes one source-backed Rails mental model each week.

View Details

Active Record objects hold the database-derived state they loaded; they do not stay synchronized when another process changes the row. I built four small, reproducible experiments covering stale reads, lost updates, optimistic locking, and association-cache staleness, then looked at Rails’ abandoned Identity Map and what genuinely live objects would require.

View Details

Wiring an LLM into a Rails app takes a handful of lines. Understanding what it actually costs you (feature by feature, user by user) is harder.

View Details

Sentry and Honeybadger are great — until you don’t want another vendor, another bill, or exception data leaving your infrastructure.

View Details

I finally published the written version of my Rails World talk:https://greg.molnar.io/blog/the-state-of-security-in-rails-8/

View Details

Imaging you have a Rails endpoint that has slow queries AND performs third-party HTTP requests. With Rails async queries, you can perform these operations in parallel—without being an expert in multithreading. Read our new article from Julie Kent to learn how

View Details

On my computers, I recently updated the packages and asdf was one that got updated. This “broke” my Ruby installation and I wrote up an article on how I fixed it https://blog.driftingruby.com/asdf-0-16-x/

View Details

Mutable subresources can silently prevent SXG from prefetching your site, slowing down Google-referred users without any visible errors. This deep dive explores what they are and how to detect them.

View Details

]Judoscale is giving away a free ticket to Sin City Ruby INCLUDING HOTEL!! You just need to get yourself there. 😁

View Details

Testing operations in Trailblazer is now much simpler, as we released the trailblazer-test gem. The blog post explains the basics around asserting a successful operation and testing failing ones, mocking steps and how we improved the developer experience.

View Details

I hate seeing empty commit messages or messages like “snapshot” when I review a git log. Who has the time to actually write good commit messages? Let your robot do it!! Check it out at https://github.com/MadBomber/aigcm

View Details

A well-defined API versioning strategy is crucial for any API expected to evolve. Let’s explore the most common API versioning strategies and develop a flexible one in Rails.

View Details

Integrating React with Ruby on Rails is a powerful way to build modern full-stack applications. https://jsdev.space/howto/react-ruby/

View Details

‘Ruby Programmer Happiness’ means ‘happiness for having the ability to deliver useful business value to customers as productively and as simply as possible with the ability to maintain the code with very little effort for years to come’… https://andymaleh.blogspot.com/2025/02/ruby-programmer-happiness-explained.html

View Details

I had to convert a self-hosted app into a multi-tenant hosted one and used Postgres Schemas to make it happen. I’ve documented the process and also shared some insights in this post https://vinioyama.com/blog/changing-a-self-hosted-app-to-a-multi-tenant-hosted-app-postgres-schemas-in-ruby-on-rails/

View Details

Released ruby-install 0.10.0! This release contains many small improvements to usability and better support for building CRuby with jemalloc or YJIT enabled.

View Details

Turbo 8 morphing is usually talked about in two opposites: how great it is and how frustrating it is when it breaks something. I’ve gathered all the approaches I know about how to solve problems with morphing: How to avoid problems with Turbo morphing

View Details

With the rise of Redis alternatives claiming better performance, we put them to the test. This benchmarking compares Redis with Valkey, DragonflyDB, DiceDB, and Rails SolidCache (both PostgreSQL and sqlite3 variants), along with litecache.

View Details

https://terminalwire.com/articles/rails-implicit-rendering shows how the Rails method_for_action controller method can be overridden to build gems like Superview, which renders Phlex and ViewComponent’s for views, or build controllers that can handle bulk form actions, including securing each individual bulk action with a before_filter.

View Details

Hi. I wrote an article about how to use a moving average calculation to predict estimated time remaining while updating progress bar with turbo stream.

View Details

In this episode, we’ll explore how we can add a “global” music player that will persist across different pages. Our approach will be unobtrusive and implemented in a maintainable way. https://www.driftingruby.com/episodes/outlets-and-permanent-tags

View Details

A Ruby upgrade and gem updates unexpectedly broke Microsoft Edge support in our Rails app - here’s how we debugged and fixed it https://danielabaron.me/blog/ruby-upgrade-broke-ms-edge/

View Details

Learn how to set up Datadog APM for a Rails application hosted on Heroku: https://danielabaron.me/blog/datadog-heroku-rails/

View Details

I recently wanted to set up a Git server. Using the git-http-backend CGI made it super easy to integrate it with my Rails app:https://dagi3d.net/blog/2025/01/05/ruby-git-server

View Details

If you’ve built, run, or maintained a Rails app for any extended amount of time, you’ve likely run into the dreaded R14…

View Details

Happy New Year, Ruby friends!

View Details

Happy New Year!

View Details

I wrote a summary of what has changed in the framework this year.

View Details

I’m excited to announce v0.8.0 of the actual_db_schema gem! 🚀 This latest release takes your Rails development workflow to the next level, delivering a smoother and more efficient experience while simplifying DB schema management like never before. 🎉

View Details

I created HyperActiveForm to implement Form Objects into a Rails app. Easily extract form validations and logic into a handy and testable class.

View Details

Here’s how to add registrations to the new Rails generated auth.

View Details

Covert discrimination is often hard to spot because it happens as personal microdiscrimination against one person or few people only without them belonging to a common minority group. As such, the people discriminated against are not protected by any minority group anti-discrimination measures, and are often abused without the abuse being detectable by outsiders because the abusing discriminators treat outsiders without discrimination, so they become none the wiser about the microdiscrimination happening against the one individual or few that are discriminated against. That is why I wrote a guide to spot covert discrimination in the Ruby Community and beyond.https://andymaleh.blogspot.com/2024/12/how-to-spot-covert-discrimination-in.html

View Details

I’m pleased to share the new EnhancedErrors Gem. The Concept:

View Details

The video for my /dev/mtl 2024 talk “Frontend Ruby with Glimmer DSL for Web” has been published! It is totally mind blowing!!! 🤯 Happy Holidays! https://www.youtube.com/watch?v=J2VIY9DMJo4

View Details

Merry Christmas! During the RubyConf 2024 Hack Day Event for Glimmer DSL for LibUI, which was associated with the RubyConf 2024 workshop “How To Build Basic Desktop Applications in Ruby”, I started the implementation of Hangman, the word game, in Ruby as a GUI desktop app. Well, I am happy to announce that I finally worked on it again yesterday and completed it, releasing version 1.0.0! And, it’s implemented with some of the most amazing Ruby code! Just install the glimmer_hangman Ruby gem and run the command hangman and you’ll have the game running on your machine instantly!https://andymaleh.blogspot.com/2024/12/glimmer-hangman-started-at-rubyconf.html

View Details

In this tutorial, I cover three different ways of building an API with Ruby on Rails - a new API-only app, an API inside a normal Rails app and converting a Rails app to an API.

View Details

The GRUSP team has finally released the video of my workshop regarding Ruby on AWS’s Lambda. Watch it here: https://youtu.be/3lhr-L5yft4?si=sEkOI6DtIQSVwSU5

View Details

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.

View Details

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

View Details

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.

View Details

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.

View Details

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

View Details

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/ :)

View Details

Nemearis.pl to Twój niezawodny sklep z kolczykami do piercingu, który oferuje szeroką gamę produktów najwyższej jakości. Znajdziesz u nas kolczyki do różnych rodzajów przekłuć – od uszu, przez nos, brwi, aż po pępek czy język. Nasza biżuteria jest wykonana z bezpiecznych materiałów, takich jak stal chirurgiczna, tytan czy bioplast, które zapewniają komfort noszenia i minimalizują ryzyko podrażnień. https://nemearis.pl

View Details

Nemearis to profesjonalne studio piercingu w Krakowie, które oferuje bezpieczne, precyzyjne przekłucia oraz szeroki wybór biżuterii. Nasz zespół składa się z doświadczonych specjalistów, którzy dbają o każdy szczegół, zapewniając Ci pełen komfort podczas zabiegu. W Nemearis stawiamy na higienę i bezpieczeństwo – pracujemy w sterylnych warunkach, używając tylko najwyższej jakości narzędzi i materiałów. https://nemearis.pl/studio-piercingu-krakow/

View Details

Nemezink to wyjątkowe studio tatuażu w Krakowie, które łączy sztukę z profesjonalizmem. Nasz zespół doświadczonych artystów oferuje szeroki zakres stylów, od klasycznych wzorów po nowoczesne projekty, takie jak realizm, geometryczne motywy czy minimalizm. Stawiamy na indywidualne podejście do każdego klienta – każdy tatuaż jest unikalnym dziełem, które tworzymy razem z Tobą, zgodnie z Twoimi pomysłami i preferencjami. https://nemezink.pl

View Details

Add a Copy to Clipboard feature to your Rails app with Stimulus. Step-by-step guide for integrating modern JavaScript sprinkles with Rails https://danielabaron.me/blog/stimulus-copy-to-clipboard/

View Details

A detailed walkthrough on setting up databases, automating configurations, and maintaining code quality. Perfect for Rails developers starting fresh https://danielabaron.me/blog/kickstart-a-new-rails-project/

View Details

Learn how to build a Slack application with Rails in this multi-part series. Part 1 covers setting up a new Rails app, configuring OAuth for authentication, and laying the foundation for Retro Pulse, an app designed to enhance agile retrospectives on Slack https://danielabaron.me/blog/rails-slack-app-part1-oauth/

View Details

Hey Ruby devs! 👋

View Details

Learn to parse external data using DTOs in Ruby on Rails. Discover why they matter, when to use them, and how to implement them with practical examples.

View Details

This article is just a humble attempt to guide Ruby on Rails developers on how NOT to make their Rails Version UPGRADE FAIL for their app. Read it here - Why 78% of Rails Upgrades Fail: And How to Ensure Yours Doesn’t. There are a few custom modules shown in the article that you can use to properly upgrade your app. These module do not fasten the process but improve your upgrade process so it won’t fail.

View Details

A simple tip how to show all running apps with Kamal.

View Details

Let’s explore when GraphQL is the right choice for your Ruby on Rails application and when it is not. Read Here - When (and When Not) to Use GraphQL in Your Rails App

View Details

SO. pomo. It is inspired by TJ Holowaychuk’s pomo I’m pretty sure I used in 2014. It’s a lightweight executable you can pop in your /usr/local/bin/pomo, sprinkle a little chmod +x /usr/local/bin/pomo magic on it, and BOOM! Pomotization complete.

View Details

https://github.com/igorkasyanchuk/rails_performance now with P50/P95/P99 information. Please check it. A simple, free, and self-hosted alternative to New Relic

View Details

The latest version of the Rails e-commerce platform Solidus has been released today with significant improvements for the new Admin and Rails 7.2 support.

View Details

This gem provides RSpec dual mocking compatibility. You can use RSpec’s mocks as secondary, alongside a primary, alternative mocking library. Also it includes built-in rake task for tracking current migration progress. https://github.com/mocktools/ruby-rspec-mock

View Details

https://github.com/renuo/hotsheetThis gem allows you to mount a view to manage your database using a table view where you can edit database records inline (no rails console required!).Give controlled DB access to your admin users without having to create CRUD views for each table.

View Details

One slightly under-documented ingress for ActionMailbox is using Postfix relaying. It is easy to integrate into an existing Postfix mail server by just adding another virtual_alias_map and also supports Regexp matching of many different mails (so 1 mail per customer easy achievable). Goal is to POST the mail into our App-Server using a small CURL script without adding new dependencies to the MTA server.

View Details

Web application security is the cornerstone of protecting your Rails applications from malicious attacks and unauthorized access. Read the full article here - Web Application Security in Ruby on Rails.

View Details

Let’s dive into some strategies to optimize database performance in Rails and ActiveRecord: https://blog.appsignal.com/2024/10/30/optimize-database-performance-in-ruby-on-rails-and-activerecord.html

View Details

If you are like me and you have Jekyll sites that you would like to host alongside your Rails apps, you can deploy them with Kamal 2:

View Details

https://hanamirb.org/blog/2024/11/05/hanami-220/ — With our new database layer and operations, the Hanami 2 vision is complete!

View Details

In my previous post I covered Why use Presenters than Components OR Integerate Them Together so when to use helpers, presenters, partials, and decorators got missed. This article - Rails View Patterns: Helpers vs Partials vs Presenters vs Decorators covers this extensively with code examples from a production app. I hope you enjoy reading the article and get your Rails views organized.

View Details

In this episode, we look at creating an entire infrastructure (proxy, load balancer, app servers, worker servers, database server, and a storage server) on our own hardware use Kamal to provision and deploy our Ruby on Rails application. https://www.driftingruby.com/episodes/kamal-kitchen-sink

View Details

Ruby 3 has concurrency and parallelism then how can Rails be behind?! This article explains how we can implement concurrency and parallelism in our Rails 8 apps, and is the continuation to my previous article Ruby Concurrency and Parallelism. Read it here - Ruby on Rails 8 Concurrency Guide: Modern Parallel Processing - to build more faster and scalable Rails apps.

View Details

The newest tty-link implements a brand-new API that supports Alacritty, Kitty, WezTerm, and many more modern terminals. It allows hyperlink detection configuration with a keyword or environment variable.

View Details

I have been seeing a lot of discussion comparing Elixir with Ruby for its concurrency features. The point these discussions miss is that Elixir runs on top of ErlangVM which had concurrency built-in as it was developed for running humungous-large-scale telecom systems. Whereas, Ruby was developed by Matz as a Software Language easy to understand and write. Ruby already had concurrency features through threads and fibers since its 1.9 version and Ruby 3 added parallelism features through ractors. This article covers all these 3 in detail and with a lot of code examples related to even AI and ML. Read it here - Understanding Ruby 3.3 Concurrency: A Comprehensive Guide.

View Details

https://github.com/igorkasyanchuk/rails_performance has a new release 1.3.0 with CSV export and some other fixes and improvements

View Details

This article covers a) What are Presenters? b) Why use Presenters c) Presenters vs Components d) How to Implement Presenters e) Presenters vs Decorators. For Rails newbies these are very confusing thus this article removes this confusion and helps new Ruby on Rails developers to learn how to properly architect their Rails 8 apps. Read it here - Why use Presenters than Components OR Integerate Them Together.

View Details

The video of the Montreal.rb May 2024 talk “Hotwire Turbo in Rails: Drive, Frames and Streams” by Helmer Davila has been finally posted on YouTube: https://www.youtube.com/watch?v=rmsBVsZUHzI&list=PLRAf4zt5oEjc2mqmEN9m_O0JovQCXxvxt&index=13

View Details

The first public release of new, native, pre-compiled Ruby bindings to the reference C implementation of Argon2, the password-hashing function that won the 2015 Password Hashing Competition: https://github.com/mudge/argon2id

View Details

I’m an experienced Hotwire user and I also recently read the book by HTMX authors. I found some interesting similarities and differences between the two: Hotwire and HTMX - Same Principles, Different Approaches

View Details

Rack is the foundation for every popular Ruby web framework in existence. In the first part of a three-part series, let’s set up a Rack app: https://blog.appsignal.com/2024/10/30/the-basics-of-rack-for-ruby.html

View Details

A step by step description of the upgrade with links to the project itself and commits

View Details

Introduction

View Details

Building Better Ruby Apps: Glimmer’s Component Slots and More - RUBY 653 - Ruby Rogues - Top End Devs: https://topenddevs.com/podcasts/ruby-rogues/episodes/building-better-ruby-apps-glimmer-s-component-slots-and-more-ruby-653

View Details

I tried to compile a list of directories where anyone can submit their company/product if they utilize Ruby or Ruby on Rails.

View Details

Set up Rails 7.2 with Docker Compose! Learn to configure Capybara, Selenium and RSpec for testing, PostgreSQL and Sidekiq. By the end, you’ll have a complete Rails Dev Environment running in Docker where you can see tests running in a browser inside the docker container!

View Details

We’ll set up feature flags in a Solidus storefront using Flipper and AppSignal’s custom metrics: https://blog.appsignal.com/2024/10/02/measuring-the-impact-of-feature-flags-in-ruby-on-rails-with-appsignal.html

View Details

Kamal Handbook got updated for Kamal 2. Hooray! :)

View Details

Happy to see HTTParty make an appearance in this new Ruby web scraping article from Jeffery Morhous!

View Details

Git Improved is a wrapper command for Git. It is more intuitive and easier to understand than Git commands.For example:

View Details

This article will explore Turbo 8’s powerful features and a little bit of code. I swear, you will be surprised by how little extra code is needed to implement all of this!

View Details

Miha already migrated his project from Devise to the brand new Rails Authentication released with Rails 8 beta. He actually did it all by Saturday, in just 2 days, including the guest post to publish on my blog. I was just slow on my part but it’s here now, with all the details of the migration: Migrating from Devise to Rails Auth before you can say “Rails World keynote”

View Details

Upgraded Drifting Ruby to deploy with Kamal 2.0. It did have some hiccups that caused a little bit of down time. You can read about what happened here https://blog.driftingruby.com/kamal-2-0-issue-with-aws-alb/ . I talk about the upgrade process from 1.9 to 2.0 as well.

View Details

Less clutter, more joy: one mini-app per feature with aaa engines. 💚

View Details

See how AppSignal Check-ins make it easy to monitor your Ruby app’s scheduled jobs and continuous processes.

View Details

It’s easy but has some gotchas due to Rails metadata tables creating conflicts while trying to sync data across databases.

View Details

Rounding out our database layer: MySQL, powerful multi-database support, plus full contracts in actions.

View Details

I wrote a terminal dungeon crawler game with pure Ruby in less than 150 lines. Here’s a guide

View Details

Doing the Gilded Rose Kata refactoring while keeping the requirements wording very explicit in the Ruby code: Gilded Rose Kata and the value of explicit requirements in the code. An exercise in Ruby expressiveness as a benefit for maintenance.

View Details

A quick tutorial on using Docker Build secrets for authentication when using private yarn/npm packages (and gems) in GitHub, and using the 1Password to manage tokens / keys.

View Details

Here’s a post on Kamal Proxy replacing Traefik. What, why, how.

View Details

Rails 8 will support Progressive Web Apps (PWA) out-of-the-box but you have all the tools you need to make your Rails app installable today. This post goes in-depth to show you how.

View Details

Let’s see how Sorbet addresses the challenges of dynamic typing in Ruby: https://blog.appsignal.com/2024/09/18/rubys-hidden-gems-sorbet.html

View Details

Nextgen, my interactive Rails app generator, now supports Rails 8! Use Nextgen to fine-tune your rails new experience by selecting just the gems and frameworks you need. A version selector lets you choose between Rails 7.2, the 7-2-stable branch (edge), or Rails 8 alpha via the main branch. And a robust Vite option is also available for projects that need a modern Node-based frontend build system with fast hot-reloading. https://github.com/mattbrictson/nextgen/releases/tag/v0.24.0

View Details

How to scale databases using Postgres Logical Replication to optimize performance, manage read replicas and easily handle intensive loads.

View Details

Some Software Engineers mention “not being interested” as an excuse not to help someone with something that could benefit customers or the Software Engineering community at large (including the Ruby community) when the real reason is in fact covert discrimination against that person and lack of effort to treat them as an equal and equally respected member of their community. Know that Software Engineers have to abide by the Software Engineering Code of Ethics. And, it includes the statements: “Software engineers shall act consistently with the public interest” and “Software engineers shall be fair to and supportive of their colleagues”.

View Details

Easy and comprehensive rubygem for Calendly. Currently supports API v2.

View Details

Last week I attended the EuRuKo conference in Sarajevo. It was super fun and I wrote a reflection on it from my point of view: EuRuKo 2024 conference reflection

View Details

I released Oktest 1.3.0.Oktest is a new-style testing library for Ruby.You can write ok {1+1} == 2 with Oktest instead of assert_equal 2, 1+1 or expect(1+1).to eq 2.In addition, it is very easy to test JSON data by JSON matcher in Oktest.

View Details

Here is a thought! The mythical 10x Developer is simply a developer that eliminates 9/10 of unnecessary over-engineered code, and then writes the remaining 1/10 of the code needed at the productivity rate of a 1x Developer… Continue reading at: https://andymaleh.blogspot.com/2024/09/10x-developer-puzzle-solved.html

View Details

I just published a new Ruby Quiz. There are 10 questions randomly sampled from a bigger set, so every time you reload the page, you will get a different quiz. ​Take the quiz, share your score and challenge your friends! :)

View Details

After reading Garrett Dimon’s excellent post on effectively using partials and helpers, I wrote up my own take—avoid them entirely and use Phlex instead.

View Details

Debugging big projects can be painful, so being able to automate this process would be amazing, right? rails_tracepoint_stack do it for you. https://rubygems.org/gems/rails_tracepoint_stack. See also https://blog.codeminer42.com/understanding-complex-rails-projects-ruby-on-rails-stack-trace-made-easy/

View Details

Large forms can be overwhelming to fill out, especially if not all of the fields are required. In this episode, we’ll look at creating a stimulus controller to conditionally display fields based on the input of another field. https://www.driftingruby.com/episodes/dependent-fields-with-hotwire

View Details

Rails 7.2 introduced the allow_browser version guard feature, that allows you to specify the minimum browser versions your application supports. The default allowed versions are from December 2023, which seems a bit too restrictive. This short tutorial shows you how to use it.

View Details

Todo MVC Ruby Edition is a Rails sample app that was built with Glimmer DSL for Web using Frontend Ruby. It has been refactored, simplified, and optimized significantly (all operations happen instantly now), relying on new Glimmer DSL for Web features, such as Style Blocks, Inline-Style Data-Binding, and Class-Inclusion Data-Binding.https://andymaleh.blogspot.com/2024/08/todo-mvc-ruby-edition-w-style-block.html

View Details

In this episode, hosts Chris and Andrew sit down with Mike Dalessio, a seasoned Ruby developer and contributor to numerous open-source projects. Mike shares his journey from his early days with Ruby, including his contributions to Shopify and pivotal projects like Nokogiri and Mechanize. The conversation also delves into the challenges and innovations in HTML sanitization in Rails, the evolution of SQLite gems, and the significance of managerial experience in enhancing software development skills. The episode wraps up with insights into the continuous improvements and collaborative efforts in the Ruby community.

View Details

Hey, I’m a Rails developer with lots of interest in infrastructure. I’ve published a project that allows you to spawn much faster runners for Github Actions, self-hosted in your AWS account, and for much cheaper than official runners. Some users with heavy Rails codebases managed to save 80% of their cost, and most importantly greatly speed up their test suites.

View Details

Hi folks! If you use faker in your Ruby app, could you help us make it even better?

View Details

Software Engineering activities are split between ones that provide direct value to customers in the short-term and ones that indirectly benefit customers in the long-term. It is important to have a good balance of both in order to ensure the long-term viability of Software Engineering work and continuously offer maximal value to customers. The best Software Engineers out there are those who have mastered the skill of balancing short-term direct-value activities with long-term indirect-value activities.

View Details

I’ve been cooking up a new way to build command-line apps with Rails that I call Terminalwire. Similar to Hotwire, Terminalwire doesn’t need an API because it streams STDIO (and a few other channels) over WebSockets. This means you can use Thor, or any other Ruby command-line parser, to build out a CLI on the server and updates are automatically deployed when you deploy your Rails server. This will lower the bar for developers who want to deploy a CLI app, like Github & Stripe, without having to manage an API.

View Details

I created some high-level Rails Generator cheat sheets to help create a unified list of the available actions, inflections, and variables that work within Rails generators. It doesn’t provide documentation, but it’s handy for remembering the name of the action or variable when it’s on the tip of your tongue.

View Details

Performance issues in the PostgreSQL layer usually start to manifest only when your app reaches a certain scale. In this blog post, I’ll discuss easy-to-miss database config tweaks and common problems that I’ve encountered in multiple Rails projects.

View Details

In this short post I’ll show you how I test responses from my backend powered by graphql-ruby.

View Details

The ActiveRecord::AssociatedObject gem is a great tool to help organize logic that fits nicely into an encapsulated concept but only ever needs to interact with one type of object. I wrote a bit about our experience using it and the benefits we’ve seen.

View Details

Today, software engineers have GPTs, LLMs, RAGs, and even llamas (🦙 “mhe-e”) coming at them from every direction. Yes, it’s becoming normal for every service or tool to have some kind of special intelligence baked in. As developer tool builders, it’s natural to experience AI-FOMO. And if that’s you, don’t worry—we’re here to help. Read on to see how we approached the AI-ification of TestProf our Ruby test toolkit and start embracing LLMs today!

View Details

Meaty post explaining thought process of pricing an app.

View Details

Thorough write up of how to data model entitlements, pricing and versioned pricing to allow for flexibility in changing pricing over time in a SaaS.

View Details

I wrote about why I think we should make the private method work on constants in Ruby. I explore there some idea about how this will improve code readability and how will open the case for defining private (sub) classes

View Details

Glimmer will be returning to RubyConf in 2024 at the Windy City (Chicago, Illinois, USA)! My RubyConf 2024 2-hour workshop proposal “How To Build Basic Desktop Applications in Ruby” has been accepted!

View Details

Let’s look at a few readily available techniques and tools to gather and investigate issues in your Ruby or Rails app: https://blog.appsignal.com/2024/08/21/squash-your-ruby-and-rails-bugs-faster.html

View Details

The Rails 7.2 bin/dev script uses the foreman gem for process management, which has serious limitations when it comes to interactive debugging. This article explores a solution using run-pty, an interactive process manager that is an easy-to-use alternative to foreman, concurrently, overmind, tmux, and other tools. https://mattbrictson.com/blog/better-bin-dev-script

View Details

What if you could increase readability and reduce boilerplate code at the same time as you simplified and sped development of Rails controllers? Sound too good to be true?!? It’s not, it’s Filterameter.

View Details

This is a basic guide for people that is starting to build APIs with Rails. Read more here

View Details

OmniAI now supports tools for LLM integrations using Anthropic, Google, Mistral, and OpenAI. This helps standardize preparing and executing tool calls with Ruby!

View Details

A look at how Evil Martians recently helped a client optimize their CI pipeline and test and change their code faster, ultimately getting five times faster results. Stackprof and TestProf to the rescue. Railing against time: tools and techniques that got us 5X faster tests

View Details

How to practically apply Turbo Frames and Turbo Streams using a gradual, layered approach on top of standard Rails scaffolding. There are many ways to accomplish modals in Rails, but this approach feels the most “Rails-y” to me. Only one line of JavaScript needed! https://mattbrictson.com/blog/turbo-modal

View Details

I wrote about why participate to Friendly.rb conference. It is more about why participate to smaller conferences with just some hints about what I like about Friendly.rb

View Details

Ruby on Rails API Quiz - test your knowledge with 10 random questions. See how many questions can you get right and challenge your friends!

View Details

We’ll explore the basics of HTTP caching, cache layers, configuration, and how to cache in Rails: https://blog.appsignal.com/2024/08/14/an-introduction-to-http-caching-in-ruby-on-rails.html

View Details

Dev tools can only be as good as their SDKs. We realized this when optimizing the NATS Ruby client, ultimately getting a 3X faster SDK. So, here’s how and why to treat SDKs as first-class citizens in the world of developer-facing tools: The SDK Imperative: why developer tools live or die by their SDKs

View Details

I recently updating my Rails applications to 7.2 and ran into a few issues. Based on the experienced errors, the solutions weren’t obvious. https://blog.driftingruby.com/rails-7-2-upgrade-problems-of-my-own-making/

View Details

https://railsexamples.com/serializers-in-rails/ When building APIs with Ruby on Rails, serializers play a pivotal role in data transformation and presentation. They serve as the crucial intermediary between complex Ruby objects and the streamlined JSON that your API serves to clients. Let’s take deep dive -

View Details

In the latest post from Joy of Rails, learn some techniques and considerations for rendering CSS on-the-fly with Ruby on Rails.

View Details

If you are team Minitest you might have already used mocks, but if you come from RSpec you might wonder how is mocking done in Minitest.

View Details

A simple db partitioning example in postgresql - https://railsexamples.com/database-partitioning-example/

View Details

Learn how to build and share reproducible Rails development environments: https://blog.appsignal.com/2024/08/07/an-introduction-to-nix-for-ruby-developers.html

View Details

In this 15-minute video, I’ll show you how I rebuilt our scheduling feature with an interactive calendar, using Phlex, Turbo Frames, and a sprinkle of Alpine.js.

View Details

A little bit about how I try to convince our stubborn clients to allow time to refactor and test, specially on legacy projects we inherit

View Details

In this episode, we will upload a CSV file but need to pass it into a background job. This can prove to be difficult based on the hosting infrastructure so we’ll explore some mechanisms to work around them. We’ll also look to optimize Solid Queue to handle the large number of jobs. https://www.driftingruby.com/episodes/processing-large-jobs

View Details

OmniAI now supports generating embeddings using Mistral and OpenAI APIs. In conjunction with pgvector, this is an excellent option for indexing and searching data to pass through an LLM prompt within a Ruby on Rails application…

View Details

Learn how to setup the official Ruby on Rails Guides for offline use. It will save your life when you find yourself somewhere with weak or no internet connectivity and need to look something up quickly!

View Details

The blog post “Best Practices for Ruby on Rails Data Migrations” https://www.monterail.com/blog/best-practices-for-ruby-on-rails-data-migrations offers practical advice on handling data migrations in Ruby on Rails applications. It covers key strategies for ensuring smooth, reliable migrations, including techniques for minimizing downtime, managing large datasets, and maintaining data integrity. The post provides actionable tips and best practices to help developers execute migrations effectively while avoiding common pitfalls.

View Details

If you’ve been looking for a way to search your codebase with regex patterns, here it is: Grepfruit. Ideal for CI/CD pipelines and beyond, Grepfruit lets you search for, e.g., TODO comments, excluding files or directories, truncating the output, and providing colorized results for easy readability.

View Details

Let’s learn how to use custom metrics in AppSignal for deep insights into our Ruby app’s performance: https://blog.appsignal.com/2024/07/31/setting-up-custom-metrics-with-effective-alerts-for-a-ruby-app-in-appsignal.html

View Details

Ruby on Rails Developer Quiz - How many questions can you get right?

View Details

War Against Bots is an article I wrote after I had launched www.whoishiring.jobs. I immediately got hit by form spam and automatic vulnerability scans. I investigated the problem and promptly employed a few simple defense mechanisms that reduced the incidence of these attacks to almost zero.

View Details

For practice, I take a very simple pure ruby Minesweeper implementation and package it into a multiplayer web version with Rails and Hotwire. The article focuses on making it work correctly with users playing concurrently: Exercise: Multiplayer Minesweeper with Rails and Hotwire (It’s also live on minesvshumanity.com)

View Details

In the previous blog post, we covered our story of migrating a giant database of almost 11 TB. Here comes the last part of the series—making Ruby on Rails applications work with RDS Proxy.

View Details

puma_after_reply - a new gem that provides an ability to work with Puma’s/Rack’s “rack.after_reply” feature in threaded and non-threaded way with a support for before/after/on_error hooks for each custom reply.

View Details

Tired of using the CLI for running and rolling back migrations? There is a solution for you. The recent release of actual_db_schema (v0.7.6) provides a web UI to list, view details, migrate, and roll back your schema migrations. With zero configuration, simply install the actual_db_schema gem, visit http://localhost:3000/rails/migrations, and enjoy. In addition to the actual migrations, it will also show the phantom ones (those that were migrated in feature branches) that can be rolled back with just one click. Watch a short video in this tweet that shows all that in action.

View Details

In this post I explain how you can have persistent connections to Redis using Async::Redis client inside Sidekiq and why it doesn’t work by default. There are some basic explanations of how Async and Sidekiq work and some source code.

View Details

Let’s take a look at some noteworthy changes in Ruby on Rails 7.2, particularly in Active Record: https://blog.appsignal.com/2024/07/24/whats-coming-in-ruby-on-rails-7-2-database-features-in-active-record.html

View Details

I wrote a detailed article about hash value omission feature where I describe how it works, why to use it, what were the arguments to accept the proposal and a performance trick it enables.

View Details

Learn how to create an interactive image gallery in Rails with Stimulus in this 7-minute video lesson. You will learn the basics of how Stimulus works and then build a Stimulus controller for highlighting different images on an ecommerce store’s product page. There’s also a full text transcript with code snippets.

View Details

This article shows you 6 ways you can use CSS in Rails 7 applications, including sprockets, third-party stylesheets, SASS, Tailwind, Bootstrap and Propshaft.

View Details

Ronin 2.1.0 has finally been released! This release includes a lot of new features, such as new database tables, new payloads, a new recon engine, a local Web UI, and more.

View Details

Hello friends, I’ve finally released the first four chapters of my Testing with RSpec book, Rails 7.1 edition! You can read the announcement on Everyday Rails. The book includes the first four chapters, a brand new sample application, and a shiny new cover. I hope you’ll check it out and let me know what you think.

View Details

Event sourcing is a jargon filled mess, but we can build a lean version with just ActiveRecord, callbacks, and a bit of boring code. Learn how to create simple, yet powerful event-driven systems in Rails.

View Details

This article will cover the setup and use of Auth0 in a Ruby on Rails application: https://blog.appsignal.com/2024/07/17/an-introduction-to-auth0-for-ruby-on-rails.html

View Details

Announcing bundle_update_interactive, a new gem that adds a nifty update-interactive command to Bundler, inspired by yarn upgrade-interactive. Browse the gems in your project that need updating, identify the ones affected by security vulnerabilities, and see risks at a glance with semver color highlighting. Having second thoughts about an upgrade? A changelog link is displayed for each gem so you can dive into the details. More docs and screenshots in the README: https://github.com/mattbrictson/bundle_update_interactive

View Details

How do you access request AND response headers in a rails controller? What does the headers method refer to? Let’s dive into the Rails source code to investigate a failing rspec request spec.

View Details

I like how in Ruby you can often use less lines of code and at the same time increase readability. So as an exercise, and for fun, I did that with Minesweeper: Exercise: Minesweeper in 100 lines of clean Ruby

View Details

This blog post lets you edit your preferred color scheme of the whole site. The article not only talks about the some of the benefits of Rails, Hotwire, and CSS variables but shows you as well with a “colorful” live demo.

View Details

It demonstrates how to use synvert to convert traditional method to endless method.https://synvert.substack.com/p/prefer-endless-method-by-synvert

View Details

Puma-dev and using it with Rails applications.

View Details

Presenting a new gem for tracing Active Record, I wish existed earlier - https://github.com/fatkodima/active_record_tracer

View Details

In this episode, we look at setting up a mechanism to track the changes from an externally developed product. We’ll also discuss branching strategies and how to develop your own features on top of Writebook. https://www.driftingruby.com/episodes/tracking-writebook-changes

View Details

Since the previous major version, GoodJob v3.0 (June 2022), there have been 110 minor/patch releases from 88 contributors with many new features and improvements including: batches, bulk enqueuing, labelled jobs, job throttling, dark mode for the web dashboard, storage of error backtraces and contexts, ordered queues, the ability to pause repeating/cron-like jobs, systemd integration, healthchecks, and much more. https://island94.org/2024/07/introducing-goodjob-v4

View Details

With this release, support for syndicated feeds has been added along with a bunch of enhancements for all build formats (i.e. ASCII Doc, Markdown, Web, and console). A complete overhaul of configuration has been provided as well. Enjoy!

View Details

https://www.jomppanen.com/2024/07/07/ruby-on-rails-snippets-at-start-or-project.htmlI wrote a small blog post for myself so I don’t have to search these snippets from internet every time I’m starting a new project.

View Details

https://danielabaron.me/blog/rails-cache-elegance/Explore the elegance of Rails caching using the ‘fetch’ method to optimize performance and easily handle slow operations.

View Details

We are happy to announce the release of version 3 of Rabarber, a role-based authorization gem for Ruby on Rails. This version introduces a significant new feature: context-based role authorization, suitable for multi-tenancy and more granular access control.

View Details

If you need robust configuration loading, validation, and modeling (with optional transformations), then Etcher 2.0.0 might the firepower you need. This release smooths out some of the rough edges in the 1.x.x series while giving more power to overrides (should you need them). Additional transformers and loaders are provided to make life a bit easier too.

View Details

sqids-rails is a new gem that provides Sqids (formerly Hashids) integration for Ruby on Rails.

View Details

The next Ruby Fusion gathering is fast approaching. If interested in release note generation, strict semantic versioning, and deployment using the Milestoner gem, please register to attend on July 11th at 6:30pm MDT. There’s a lot this gem can do for you!

View Details

Without disruption to customers, audit history or gate values.

View Details

We’ll introduce the basics of the debug gem before diving into its more advanced features: https://blog.appsignal.com/2024/07/03/debugging-in-ruby-with-debug.html

View Details

Working with CSV files is something every programmer has to do eventually. Fortunately, Ruby’s built-in CSV library puts plenty of tools at our disposal. Read the full article.

View Details

Kamal Handbook got updated for Kamal 1.7.3. One of the bigger changes is the removal of a healthcheck container.

View Details

We want to make Inertia.js more popular within the Rails so we started a project to provide both Rails-specific community docs and a set of tools for effortlessly integrating Inertia into Rails apps.Read the post

View Details

When the Rails application grows, you will start facing many weird problems. I will share with you some real production incidents that I have learned from the past. This article is about storing data, growing from ant to elephant

View Details

Got a Rails API that needs some love? Learn how to version your API endpoints so that you can introduce new features while maintaining backward compatibility. Read the article

View Details

🚀 We’ve just released v0.7.5 of our actual_db_schema gem, designed to supercharge your Rails development productivity.

View Details

We are pleased to announce the Ronin 2.1.0 Open Beta! Ronin 2.1.0.rc1 has been released and we need people to test it. The Open Beta will last four weeks and will culminate with the release of Ronin 2.1.0 on July 22nd. If you can find a bug in Ronin 2.1.0.rc1, you might be eligible for a free laptop sticker!

View Details

Here I show my way of creating REST APIs with Ruby on Rails. This might seem simple for those who already know, but it could be of great help to someone who is just starting out:https://a-chacon.com/en/rails/ruby/2024/06/23/creating-rails-api-cap-2.html

View Details

Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop Development Cross-Platform Native GUI Library) version 0.12.0 ships with an exciting new feature called Custom Control Component Slots!!! Component Slots are containers that could accept content in different parts of a Custom Control component (e.g. an address_form Custom Control can have a header slot and a footer slot to display extra information about the address being entered, which consumers could fill in with any GUI controls). A new example has been implemented to demonstrate this feature: Class-Based Custom Control Slots.https://andymaleh.blogspot.com/2024/06/glimmer-dsl-for-libui-0120-custom.html

View Details

I added two video tutorials which really help show how interactive Rails/HOTWire/Stimulus can be with a simple JavaScript controller. Client side: https://youtu.be/riBrFASNaHs Server side: https://youtu.be/NuWWk6iWgwg Original post: https://onrails.blog/2024/03/08/hotwire-tutorial-how-do-i-drag-and-drop-items-in-a-list/

View Details

OmniAI is an LLM agnostic Ruby gem supporting OpenAI’s ChatGPT , Google’s Gemini, Anthropic’s Claude, Mistral’s LeChat, and more! For a quick introduction checkout the launch post.

View Details

📍 Location: Palace of Culture and Science, Warsaw, Poland - right in the heart of the city!

View Details

I pushed the limits of using the endless method by refactoring some AR transactions blocks into endless methods. I also discuss there the pros and cons and how the community sees this kind of code shape.

View Details

New post in our blog! 📷

View Details

You will learn how to easily optimise memory allocation making better use of these 3 objects and why they work this way. https://mathieu-eustachy.com/articles/in-depth-ruby-memory-optimisation-true-false-and-nil

View Details

The Garbage Collector releases memory slots from unused objects. However, it interrupts the Ruby execution and might significantly increase requests’ response time. Would you like to know how the GC slows down your app? https://www.rorvswild.com/blog/2024/measuring-ruby-garbage-collector

View Details

Exciting news! We’re rolling out a special release of actual_db_schema! Version 0.7.4 adds support for Rails 6.0 and the edge versions.

View Details

Here I show my way of creating REST APIs with Ruby on Rails. This might seem simple for those who already know, but it could be of great help to someone who is just starting out:

View Details

Todo MVC is a popular sample that is built in all Web Frontend Frameworks to provide a comprehensive example covering all basic Frontend features. As such, it provides Software Engineers with a very good idea of how day-to-day Frontend Development would be with every Frontend Framework, whether in JavaScript, using React, Angular, Ember, or Vue, or in a Compile-to-JavaScript language, using something like Elm, GWT, or Scala.js. I am happy to announce that Todo MVC has just been built using Glimmer DSL for Web with 100% Frontend Ruby code. And, this version’s code is easily simpler, more minimalistic, more readable, and more maintainable than all 45+ versions on the Todo MVC website! I can confidently say it is the one Todo MVC to rule them all! Thanks to the awesomeness of Ruby in the Browser!!!https://andymaleh.blogspot.com/2024/06/todo-mvc-in-ruby-is-one-todo-mvc-to.html

View Details

Here’s what we worked on during our last product cycle at Honeybadger: a curated Rails performance dashboard with automatic Ruby instrumentation! ✨

View Details

Struggling with adding an index to a large table in your Rails app without clogging deployment pipeline?

View Details

Synvert provides the ability to write code snippets that can automatically rewrite your source code. Here’s a post to demonstrate that synvert supports the prism parser now. https://synvert.substack.com/p/synvert-now-supports-the-prism-parser

View Details

Here’s a post on all the healthcheck settings you might want to understand in Kamal.

View Details

ActiveStorage::Blob#compose Now Supports Custom Blob Key in Rails 7.2.

View Details

In the second part of this two-part series, we’ll use AppSignal to monitor the performance of our Ruby on Rails application: https://blog.appsignal.com/2024/06/12/monitor-the-performance-of-your-ruby-on-rails-application-using-appsignal.html

View Details

Rails 7.2 allows to add custom blob key in the ActiveStorage::Blob APIs

View Details

Here’s a simple dark mode with Tailwind and Stimulus.

View Details

With new features related to the Moon 🌙Location in the sky, moonset and moonrise times, distance, phases, illuminates fraction, …https://github.com/rhannequin/astronoby/releases/tag/v0.5.0

View Details

I find it kind of strange that this doesn’t work out of the box, but there a few ways to do it, all not too complex: How to refresh the full page when submitting a form inside a Turbo Frame?

View Details

Continuing my series of writing about Ruby endless method in an article where I show some code samples of both one-liners and multi-line endless methods

View Details

Let’s see how we can use Tailwind CSS in a Rails application and explore its utility-first approach: https://blog.appsignal.com/2024/06/05/how-to-use-tailwind-css-for-your-ruby-on-rails-project.html

View Details

Another speaker and workshops on Ruby Warsaw Community Conference announced! 🎫 📣

View Details

How secure is your Rails API? Learn how to build an API with Ruby on Rails and use rack-attack to keep the bad actors out. A new article from Jeffery Morhous.

View Details

“This year’s Blue Ridge Ruby conference in Asheville, North Carolina, was not only a wonderful experience but also highlighted the opportunity (and what’s at stake) in the Ruby community.” https://www.honeybadger.io/blog/blue-ridge-ruby-2024/

View Details

I wrote a quick tutorial on modifying the default Rails 7 Dockerfile to use Alpine Linux. Alpine is a lightweight distribution that can result in much smaller Docker images for your apps.

View Details

In this episode, we tackle the issue of slow-loading dropdowns with a high volume of options by implementing an asynchronous select using the Hotwire Combobox library. https://www.driftingruby.com/episodes/hotwire-combobox

View Details

I created some free Rails generators cheat sheets to help create custom Rails generators. They consolidate the available actions, inflections, and other values available when creating Rails generators.

View Details

Here’s a short tutorial on automating PostgreSQL backups with Kamal. As a fan of Digital Ocean, I am using S3-compatible DO Spaces to store the backups.

View Details

There is a lot of talk about modals in Rails, and this tutorial shows you how with some Stimulus sprinkles, you can have very interactive modals.https://youtu.be/VKJ_1qoPTsELink to code: https://onrails.blog/2024/06/01/interactive-modals/

View Details

It’s amusing and affirming to me that system testing (in Rails) has been declared a failure. I could’ve told you that years ago! I’ve spent much of the past ten years working with test suites that are slow, brittle, and ultimately uninformative—almost always because they’re overly reliant on testing end-to-end.

View Details

Puts Debuggerer finally goes version 1.0.0, and it now has a very helpful new feature: printing the invoked class method as part of pd printouts. For those unfamiliar with Puts Debuggerer, the project was inspired by a blog post by Aaron Patterson titled “I am a puts debuggerer”, which jokingly borrows from the wording of the comedy movie Dumb and Dumberer, turning debugger to “debuggerer”. The Puts Debuggerer Ruby gem aimed at automating most of the suggestions in that blog post.https://andymaleh.blogspot.com/2024/05/puts-debuggerer-100-includes-invoked.html

View Details

In the first part of a two-part series, we’ll introduce how to set up DigitalOcean and AppSignal for a Ruby on Rails application: https://blog.appsignal.com/2024/05/29/getting-started-your-ruby-on-rails-app-hosted-on-digitalocean-with-appsignal.html

View Details

From time immemorial, the Evil Martians team has worked on dozens of Ruby on Rails projects. Naturally, this involves a lot of Ruby gems. Some reflect our desire to be cutting-edge and use modern tools (or build our own!) Other gems are so flexible they’ve been used in most of our projects. Our development philosophies, programming habits, (and soul) are within this universe of Martian gems. So what would it look like if they were somehow able to converge into one gemfile—the ideal Martian Gemfile, the toolbox of the extraterrestrial Rails engineer? Gemfile of dreams: the libraries we use to build Rails apps

View Details

Basic strategies for managing whitespace in generator ERb templates and their output. We can use whitespace-eliminating delimiters from ERb, generator helper methods, and built-in indentation helpers. https://garrettdimon.com/journal/posts/erb-whitespace-and-indentation-in-rails-generator-templates

View Details

Glimmer DSL for XML (& HTML) 1.4.0 has been released! It includes a new HTML To Glimmer Converter that can automatically convert any legacy HTML code into Glimmer DSL Ruby code. Glimmer DSL for Web (Ruby in the Browser Web Frontend Framework) has been upgraded to include both Glimmer DSL for XML 1.4.0 and Glimmer DSL for CSS 1.4.0.https://andymaleh.blogspot.com/2024/05/glimmer-dsl-for-xml-140-html-to-glimmer.html

View Details

An elegant use of Turbo-Frame request header to use the same page in different frame flows, different parts of UI: How to reuse the same page in different Turbo Frame flows

View Details

We’re thrilled to announce the launch of upgradecode.io, a cutting-edge platform designed to streamline and simplify the process of upgrading your projects. Our platform offers automated tools to analyze your code, identify necessary updates, and provide actionable recommendations and patches. Whether you’re upgrading Ruby, Rails, or JavaScript projects, upgradecode.io makes your transition smoother with detailed insights and guided updates. We created a video to demonstrate this for you https://synvert.substack.com/p/launch-of-upgradecodeio-simplify

View Details

Best moments from RailsConf 2024 in Detroit: https://www.hexdevs.com/posts/railsconf-2024-highlights/

View Details

Hey, folks. 👋 The next Ruby Fusion gathering is nearing: June 6th at 6:30pm MDT. We’ll be talking about function composition and unlocking the power of closures (i.e. procs, lambas, methods, etc). Registering and attending this virtual gathering is free so sign up if you can make it!

View Details

The wxRuby3 Ruby binding for wxWidgets (a very mature native cross-platform GUI toolkit) finally went version 1.0, so Glimmer DSL for WX, which runs on top of wxRuby3, has been upgraded to use version 1.0 by default. Also, a new feature has been added that is already available in most other Glimmer GUI DSLs: Unidirectional/Bidirectional Data-Binding.https://andymaleh.blogspot.com/2024/05/glimmer-dsl-for-wx-010-hello-data.html

View Details

The new version of RedisQueuedLocks (distributed redis locks with a queue capabilites in AdvisoryLock manner) released with a support for sampling logger: you can set the percent of RQL cases that should be logged.

View Details

A nice technique that lets you have your custom gems in any project without introducing any changes to the git repo:https://dev.to/povilasjurcys/how-to-use-custom-gems-without-changing-gemfile-4adi

View Details

People shouldn’t ask if Rails is dead! They should ask how long Rails has been dead!https://andymaleh.blogspot.com/2024/05/people-shouldnt-ask-if-rails-is-dead.html

View Details

Strict Loading Using :n_plus_one_only Mode Does Not Eagerly Load Child Associations In Rails 7.2.

View Details

Ruby 3.4 Enable frozen_string_literal by default

View Details

I’m happy to announce (finally :D ) next edition of Ruby Warsaw Community Conference!

View Details

We’ll dive into five common Ruby mistakes and see how we can combat them: https://blog.appsignal.com/2024/05/22/five-things-to-avoid-in-ruby.html

View Details

What if you started with an API-only Rails app, but now you need front-end assets and views? Jeffery Morhous has you covered!

View Details

There are lots of ways to structure your job queues, and we’ve seen them all. This is our guide to planning your queues for simplicity, resilience, and scalability.

View Details

A flaky test is one that fails unpredictably, without a corresponding change in the code under test. These often show up in CI runs where a test unrelated to any change made suddenly fails, and then mysteriously passes when re-run. There are many type and causes of “flakes”. Today I want to talk about flaky tests caused by time precision, and time-order dependence.

View Details

https://2n.pl/blog/hanami-s-place-in-the-world-of-railsA longer article/essay about Hanami, how it fits into the world of Ruby (rails) and many other connected things along the way

View Details

Abstract classes don’t always stand alone, but spring to life as a part of an object cluster. Here’s how to ensure you’re always instantiating the right ones.

View Details

Glimmer DSL for CSS 1.3.0 and 1.4.0 just shipped with support for CSS Media Queries and a CSS To Glimmer Converter!!! This gem is included in Glimmer DSL for Web to enable styling elements with CSS via a Ruby DSL. Glimmer is smart enough to have multi-DSL support, meaning it enables using a Ruby DSL for CSS and another Ruby DSL for HTML in the same file, and it’s all Ruby code in the end, so one language, but interpreted differently depending on the applicable domain to facilitate writing the simplest code possible for each domain. https://andymaleh.blogspot.com/2024/05/glimmer-dsl-for-css-media-queries-css.html

View Details

The first Release Candidate 0.9.9 of a new Ruby version manager for MS Windows has been released. It is called rvm-windows and is a clone of the popular rvm.io for the classic command line and power shell on windows. If you are get used to rvm.io on *nix systems and have to develop on Windows as well, you will love it!

View Details

In case you’d like to enhance your IRB configuration with additional helpers (and even a dynamic prompt), you might want to check out the IRB Kit gem. This reduced a bunch of custom code in my irbrc file so everything can be loaded from this gem now. This might be of benefit to you too. Enjoy!

View Details

Glimmer DSL for Web is a Ruby-in-the-Browser Web Frontend Framework that enables Rubyists to finally have Ruby productivity and happiness in the Frontend via a simpler, more intuitive, more straightforward, and more productive library than all JavaScript libraries like React, Angular, Ember, Vue, Svelte, etc…. Glimmer DSL for Web’s Rails sample app “Sample Selector” has been upgraded with Code Syntax Highlighting by integrating with highlight.js. It demonstrates how to build Glimmer Web Components in the Frontend and how to make HTTP calls from a Ruby Frontend to a Ruby Backend in a Rails application, among other things.

View Details

I am using very often the binding.break from the debug gem and I wanted to configure code snippets in Ruby Mine and VCCode

View Details

Business Class is a Ruby on Rails starter kit that continues to align itself with default Rails configuration. In this release it comes with Turbo 8, Solid Queue, Thruster, and more.

View Details

The first major update for MongoDB’s Ruby on Rails adapter in a couple years is finally out.

View Details

Simple Form helps you to build and manage forms in Rails. Let’s examine what Simple Form is, why we might need it, and some real use cases: https://blog.appsignal.com/2024/05/15/creating-forms-in-ruby-on-rails-with-simple-form.html

View Details

Whether you were at RailsConf and wish we were still there, or missed it and you’re curious, I’ve got you. I wrote about my takeaways from RailsConf 2024.

View Details

This is not in the documentation but it is possible to insert turbo stream actions anywhere in any rendered HTML and it will just work. This can be handy in a number of situations, Example and details of how it works are in the article (9min read time): Hidden feature of Turbo: stream actions inside regular HTML

View Details

https://mathieu-eustachy.com/articles/concurrency-and-parallelism-in-ruby?locale=enIt looks like a philosophy essay title, but they are fundamental developing principles.

View Details

https://2n.pl/blog/hanami-shrine-file-handling-in-hanamiShowing an simple, flexible file handling solution in hanami, with ROM-rb ORM, using Shrine. Also contains some of my thoughts on active-storage in comparison to shrine.

View Details

Ruby pattern to connect multiple APIs to your project more easily with async requests approachhttps://medium.com/@zozulyak.nick/ruby-class-pattern-to-work-with-api-requests-with-built-in-async-approach-bf0713a7dc96

View Details

Looking to spin up and manage a server on the cloud to deploy your Rails applications using Kamal? This video will show you how to create a server on Hetzner Cloud using Terraform, then set up your Rails app to deploy it to the newly-provisioned server with Kamal. https://www.youtube.com/watch?v=uVGo7eZr6wU

View Details

Today I want to share a new approach to Ruby on Rails migration versioning that aims to enhance organization and clarity.

View Details

Videos are now available that walks you through the steps to deploy Rails app to EC2. Videos

View Details

Ruby on Rails developers who say things like “Oh! It is OK to use any programming language you like! Whatever strikes your fancy is good! JavaScript is OK if that’s what you like. If you prefer TypeScript, go for it!” are some of the… https://andymaleh.blogspot.com/2024/05/ruby-on-rails-devs-choose-technologies.html

View Details

Headless UI 2.0 just came out from TailwindLabs. I often find myself using their components in my projects, and I wanted to show you my process for converting their React components to use Stimulus, since I haven’t been using React in any of my projects. https://onrails.blog/2024/05/08/headless-ui-with-stimulusjs-and-an-outlet-screencast/

View Details

Recently announced new distributed redis locks on Ruby (that works in advisory-locks manner with queue capabilities) reached the new verison 1.3.0 with a support for reentrant locks (when the lock is obtained again from the same process that is already hold this lock).

View Details

Let’s set up and use pry-byebug, a gem that adds debugging and stack navigation to pry using byebug: https://blog.appsignal.com/2024/05/08/debugging-in-ruby-with-pry-byebug.html

View Details

Article showing off Hanami and HTMX used in combination, to create an updating progress bar https://2n.pl/blog/hanami-progress-bar-with-htmxIt is sort of a tutorial, but more of a my own write-up of what I experimented with an learned. Some more hanami articles are on the blog page, with more to come

View Details

In this episode, we look at various tricks in Ruby on Rails as well as some other neat tricks. https://www.driftingruby.com/episodes/tips-and-tricks

View Details

Exciting news! 🚀 The latest release of the actual_db_schema is out. It adds multiple database support, which is the most wanted feature. Streamline your dev experience like never before! Huge thanks to everyone who contributed and reported issues on GitHub.I must admit that adding this feature was challenging. The main PR is here.

View Details

This release brings support for certain AcroForm field JavaScript calculation actions andother (mostly AcroForm related) improvements.

View Details

In this post, I explain how you can set up Quill Editor on Ruby on Rails with Active Storage and Cloudflare R2! Let me know your thoughts!

View Details

Here is a very easy test for figuring out if someone in the Rails community is a Real Rubyist who truly gets Ruby and its unique benefits 100% compared to other programming languages or a Fake Rubyist who is just riding the Ruby on Rails bandwagon because it is “cool” or because they heard about it from an acquaintance without thinking for themselves…

View Details

If you’d like to attend a gathering devoted to blending of Object Oriented with Functional programming in Ruby, check out Ruby Fusion on Thursday (2024-05-09) at 7pm MDT. This is our initial gathering of folks that are excited to be working, learning, and growing in this space. The gathering is virtual and free to attend but capacity is very limited at the moment so don’t hesitate if interested!

View Details

Let’s see what AnyCable brings to the table and how it outperforms Action Cable: https://blog.appsignal.com/2024/05/01/anycable-for-ruby-on-rails-how-does-it-improve-over-action-cable.html

View Details

https://github.com/rhannequin/astronoby/releases/tag/v0.4.0With accuracy and performance improvements, twilight times and new info about the Sun.

View Details

Check out HiveGrid. Goss also has been updated to version 0.4.6.

View Details

We’re excited to announce the release of version 2 of Rabarber, a role-based authorization gem for Ruby on Rails. This new version brings significant improvements, cleaner code, and a more refined user experience.

View Details

ActiveRecord pluck and pick can accept hash values for specifying columns from Rails 7.2https://blog.saeloun.com/2024/04/26/rails-7-2-activerecord-pluck-to-accept-hash-values/

View Details

We can progressively enhance the filtering search. We can dig deeper into Turbo events and get a very satisfying animation of Todos disappearing when they’re filtered out, and reappearing when they are back in the list. https://onrails.blog/2024/04/23/animate-filtering-data-in-hotwire/

View Details

Let’s explore the strengths and weaknesses of Rails and Hanami: https://blog.appsignal.com/2024/04/24/should-you-use-ruby-on-rails-or-hanami.html

View Details

You’ve deployed your Rails app with Kamal, but now what? How do you know what’s happening under the hood? You can tail your logs on the server (otherwise known as hard mode), but there’s a better way: ship them off-site with Vector!

View Details

Regular expressions in Ruby are multi-line by default and if you don’t know that, it might lead to unexpected behavior and security issues. In this article we go over a HackTheBox challenge to demonstrate how it could lead to a vulnerability.

View Details

A short tip on how to list the rake tasks without description

View Details

Deploy Rails 7 app using Capistrano to EC2 instance. Checkout HiveGrid

View Details

This gem provides declarative filter parameters for Rails, enabling filters in query classes or controllers to increase readability and reduce boilerplate code.

View Details

Learning Ruby isn’t just recommended; it’s essential for mastering the full power of Rails: https://www.rubycademy.com/blog/learn-ruby

View Details

📣 The latest Ruby for All episode is now available!

View Details

Added ability to interact with DNS message question/answer context. Mimic any DNS records for your test environment and even more: https://github.com/mocktools/ruby-dns-mock

View Details

Developers have been scratching their head trying to figure out delegated types for ages. Today, I want to share a real-world use case. I’ll walk you through my pre-existing domain architecture, my initial requirements, my mistakes, how I eventually used delegated types, what I learned and my open questions.

View Details

Protect any Rails action with a customizable password confirmation. 🙇 Inspired by GitHub Sudo mode.

View Details

Let’s explore the basics of Grape exception handling, including customizing exceptions: https://blog.appsignal.com/2024/04/17/handling-exceptions-in-grape-for-ruby.html

View Details

I reported an XSS to Phlex yesterday and since it was pretty quickly fixed, I wrote a post about it: https://greg.molnar.io/blog/the-tale-of-an-xss-in-phlex/

View Details

Janus is a read/write split proxy for MySQL/ActiveRecord 7.1+. It works by sending any read queries to a replica, and any write queries to the primary database server. If there’s been a write statement within the same thread we stick any future queries to the primary server unless the developer specifically chooses not to.

View Details

This is (for now) a modest step-by-step tutorial about creating a MacOS desktop application with Ruby.

View Details

Following last week’s beta, version 2.0.0 of re2 (Ruby bindings to Google’s RE2 “fast, safe, thread-friendly” regular expression library) is now available from RubyGems. Unlike version 1, it no longer requires the underlying RE2 library to be installed separately as it is now vendored with the gem and precompiled, native gems are available for Linux, Windows and macOS.

View Details

APIs allow us to communicate with third party software in order to use their services and data. In today’s software it’s almost impossible not needing to use one, one way or another. What if they are hostile?

View Details

We are used to checking the deprecation warnings displayed by Rails or warnings from different gems, but Ruby itself can also display warnings to help us find code that can be problematic.

View Details

We’ve already posted on client side feature flags, how we added a free plan, and an awesome relay race to ship a new feature. I forgot to post here but will for future posts.

View Details

I wrote an article with 5 examples about how I used Cursor GPT-4 to ask for some UI changes and in general the response was good enough to be used.

View Details

I recently wrote about the challenges of monkey-patching in Ruby. Specifically, how to ensure that patches don’t drift from the original code. In the article, I outline six strategies based on my experiences.

View Details

https://makingsenseofrails.dev/a-joyful-dive-into-best-practices-and-error-types-17ef7e2764f1

View Details

I contributed to a few gems to make the development experience of deploying Sqlite Rails apps to production as simple as possible and wrote about it at https://fly.io/ruby-dispatch/sqlite-and-rails-in-production/

View Details

https://www.shakacode.com/blog/ruby-3-2-adds-a-new-data-class/

View Details

https://pawelurbanek.com/rails-brotli-cache

View Details

This post introduces a method I use to refactor big applications. I want the process to happen in a predictable manner and make sure that important things are addressed before others. One day I realized that there is a missing tool in my workflow, so I’ll introduce my new gem called rubocop_director.

View Details

In this episode, we discuss when you should use background jobs: https://www.rubberduckdevshow.com/episodes/99-when-should-you-use-background-jobs/

View Details

We’re excited to share this release with you all: a fresh take on music streaming platforms, reminiscent of SoundCloud and Bandcamp, but with some unique features that cater to artists, music enthusiasts, and event hosts alike. Built using the power and flexibility of Rails and Hotwire, we’re proud of what we’ve achieved and would love to hear your feedback!

View Details

Hello, as a follow up to Rubidity - Ruby for Layer 1 (L1) Contracts with “Off-Chain” Indexer I have published the first “zero-dependency” rubidity gem. Let’s welcome the rubidity-typed gem bundling-up the “zero-dependency” type machinery incl. (frozen) string, address, uint256, contract and more for rubidity for easy (re)use and experiments. It’s still (very) early. I invite you to join the fun and let’s explore and learn together building a type machinery in ruby.

View Details

Rails 7. Start Kit - staring a new RoR app never been so easy! Run the only shell command and get a launched RoR app in 10 minutes! This is game changing project for development, learning and teaching processes in Rails ecosystem. Try it out right now! Happy coding! V2.0 Release Note

View Details

I’ve published the 10th issue of my Ruby on Rails newsletter. Check it out!

View Details

Alpine is an alternative to Stimulus for “JavaScript sprinkles” in your Rails apps. Pair with me for 20 minutes while we build an Alpine component from scratch, installing Alpine with importmap and iteratively bringing our UI to life.

View Details

The first beta release of a major new version of re2 which no longer requires Google’s underlying RE2 “fast, safe, thread-friendly” regular expression library to be installed as it is now vendored with the gem (ala Nokogiri and libxml2). To save compilation time, precompiled native gems are available for Linux, Windows and macOS.

View Details

Matz mentioned in his RubyConf 2022 keynote speech that in the future of Ruby, maybe we could start replacing JavaScript with Ruby in the browser… https://youtu.be/4AdcfbI6A4c?si=BIp_8Kd9nowuMCqr

View Details

Hello, as a follow up to Rubidity - A Ruby Dialect for Dumb (Blockchain) Contracts i have started a rubidity sandbox to experiment “off-chain” with the new ruby dialect and contracts. I invite you to join the fun and let’s explore and learn together.

View Details

Distributed architectures have been growing in popularity for quite a while for some good reasons. The rise of cloud services making the deployments simpler, as well as the ever-growing complexity of the applications, resulted in a shift away from monolithic architecture for many technical ecosystems. Microservices have emerged as an alternative solution offering greater modularity, scalability, reliability, agility, and ease of collaboration between multiple teams. Nevertheless, these benefits don’t come for free. The price to pay could be significant due to many factors, and one of them is dealing with some challenges that don’t necessarily happen when working on a monolith. One of such challenges is establishing the best way of integration and communication between services.

View Details

A special release to celebrate 418 episodes. I talk about different HTTP response codes.https://www.driftingruby.com/episodes/i-m-a-teapot

View Details

I’ve written an article about how to build dynamic navs, using the current_page? helper

View Details

https://blog.appsignal.com/2023/09/06/an-introduction-to-rubocop-for-ruby-on-rails.html

View Details

In the past few months, I’ve added development containers to several Ruby on Rails (and other languages/frameworks) applications. I’ve learned a lot along the way, and wrote some off the cuff thoughts on how I approach dev containers, how I treat them differently from production containers, and where there’s still room for improvement. Hope you’ll check it out!

View Details

Ever wanted to modify an ENV variable, an instance or class variable (e.g. on Config) for the duration of a block or for all tests of a “describe” group? This pattern emerged repeatedly in my suites and as I don’t like to bloat my test/spec helper, about time for the lightweight and dependency-free minitest-substitute gem. Drop cumbersome before and after handling with one or more easy to read with "ENV['FOO']", "bar" or with "@run_at", on: Config { Time.now } declarations. Happy testing!

View Details

Hi fellow Rubyists,

View Details

In this article, we delve into the State of Artificial Intelligence and Machine Learning in the Ruby Ecosystem, exploring the tools available, challenges faced, progress made, and the potential for the future: https://blog.codeminer42.com/ruby-and-the-state-of-artificial-intelligence/

View Details

An extract of a technique I’ve been running successfully to only render and broadcast payloads over ActionCable for users that are actively subscribed to the channel: https://blog.jamesbrooks.net/posts/enhanced-broadcasting-with-actioncable/

View Details

In this episode of the Rubber Duck Dev Show, we discuss whether you should resolve all of your exceptions: https://www.rubberduckdevshow.com/episodes/98-should-you-resolve-all-of-your-exceptions/

View Details

In this episode, we look at adding system tests in our application to test our Stimulus Controllers. We’ll also look at how to DRY up some of the tests and how to run them in a headless environment. https://www.driftingruby.com/episodes/system-tests

View Details

Do you find yourself running into the complexities of managing database adapters, or even just the intricacies of your own codebase? Ever thought there could be a simpler, cleaner way to deal with these challenges?

View Details

Yesterday I released Business Class 1.1, a Ruby on Rails SaaS starter kit with support for Paddle Billing and an improved scaffolding generator which can now handle belongs_to associations.

View Details

Software docs (Rails, Hotwire or otherwise), are often works in progress. Even well documented projects can be sparsely documented at their edges. What are you supposed to do when they aren’t enough? This article goes over five time-tested strategies and behaviors you can use when you reach a “docs dead-end” next time.

View Details

The this operator in JavaScript can be confusing. Here’s a brief article which goes into how JavaScript figures out what the value of this is, using some buggy Stimulus controller code as a starting point.

View Details

Fancy learning something new? Phoenix on Rails is a 62-lesson tutorial on web development with Elixir and Phoenix, aimed at developers who already know Ruby on Rails.

View Details

In this episode, I’m joined by DHH to discuss Kamal, The Rails Foundation, Rails 8, Delegated Types, On Writing Software Well and a whole lot more! This episode is packed and a must-listen!

View Details

SQLite has a fts5 extension for this, but there is no gem, like pg_search, to have a replacement.

View Details

hey RF, I’ve been working on an easier way to build mailer templates, and it’s finally ready! If that excites you, you can check out my ActionMailer components and templates.

View Details

Hi fellow Rubyists,

View Details

hello, back to (punk) pixel art. i have put together the (pixel) punkmaker (gem) for punk heads / characters that lets you use your own colors for base (arche)types incl. humans, zombies, apes, aliens, mummies, robots, and much more. yes, you can. happy image generating and pixel pushing with ruby.

View Details

Connection pool is on old engineering concept, yet it’s not so popular amongst Ruby on Rails developers. Let me present a simple example of using Connection Pool for maintaining connections to RabbitMQ.

View Details

This is how we’ve done it and the results we’ve achieved.

View Details

Is the concept of a ‘10x developer’ still relevant in the age of advanced language models like ChatGPT and Copilot? In this article, I explore how these AI-powered tools can significantly boost productivity for Ruby developers. From effortlessly writing verbose test cases to generating utility snippets for libraries you rarely use, these tools are game-changers. I even delve into how ChatGPT can assist in navigating tricky office communications. Whether you’re a seasoned Rubyist or new to the language, you’ll find valuable insights on leveraging AI for more efficient and effective coding.

View Details

The latest issue of Rails Tricks covers how to do dependent dropdowns with Hotwire: https://greg.molnar.io/blog/rails-tricks-issue-17/

View Details

I’ve been wanting to build a CLI in Ruby, and Thor is the obvious library to use. But Thor has some weird behaviors that were driving me crazy. Here’s what I found, and how I extended Thor to fix it. https://mattbrictson.com/blog/fixing-thor-cli-behavior

View Details

🇬🇧Hello everyone, since I began my journey in Rails association sorcery recently. Here is an insight in Rails association internals ! (You might be not ready for this :p)

View Details

Mattias Velamsson recently shared a beginner’s tutorial for making a GUI (Graphical User Interface) in Ruby titled “Ruby GUI with Glimmer”. It provides a step-by-step code walkthrough that produces a full-fledged web-API-driven table-based business application. It uses various gems and APIs like glimmer-dsl-libui, dotenv, Net::HTTP, URI, JSON, and the Exchange Rates Data API.

View Details

In this episode, we discuss learning to program and child development with Noah Gibbs: https://www.rubberduckdevshow.com/episodes/97-programming-child-development-with-noah-gibbs/

View Details

hello, back to (punk) pixel art. i have put together the world’s 1st (pixel) punkme (gem) for punk heads / characters that lets you use your own skintone, hair styles (& colors) and more. deep pink (blonde) barbie punk(ette)s? deep purple (mohawk) punks? yes, you can. happy image generating and pixel pushing with ruby.

View Details

Hey, just a short article — you can add a favicon to your Ruby on Rails app in less than 2 minutes

View Details

Read my blogpost about Connecting the OpenAI transcription API and ActiveStorage analyzers to transcribe audiofiles with AI

View Details

table_inspector v0.6.0 is released. This release allows you to call a class method on model class to print the database table structure. Add a new option style that allows you to customize the table’s appearance.

View Details

hello, back to (punk) pixel art. i have put together the world’s 1st barbershop (gem) for punks that lets you make your own hair styles incl. mohawk, wild & crazy, long & short and more and lets you use your own hair colors incl. white, silver, blonde, pink, purple, red, and more. happy hair dressing and pixel pushing with ruby.

View Details

You’ve probably experienced Heroku’s noisy neighbors issues…

View Details

Learn how to build a simple tabs controller using Stimulus.

View Details

Have you ever wondered how to make Rails Engines play nice with Importmap and TailwindCSS?

View Details

ruby-clock is a ruby job scheduler (i.e. cron replacement) which runs jobs each in their own thread in a persistent process. It’s easy to use and has lots of bells and whistles! https://github.com/jjb/ruby-clock/blob/main/CHANGELOG.md

View Details

https://blog.appsignal.com/2023/08/23/secure-your-ruby-app-with-json-web-tokens.html

View Details

https://www.shakacode.com/blog/rails-7-1-adds-support-for-intersect-to-activerecord-relation/

View Details

I wrote up these notes to capture what I had learned internationalizing GoodJob’s dashboard, and also hopefully help other Rails Engine developers.

View Details

Rake has the ability to run tasks in parallel. For Rails projects with many test and linting tasks, this can be a huge time-saver. On my project, running in parallel makes my default Rake task finish 3x faster! Make sure to declare your default task as a list of prerequisites, then run bin/rake -m. This post goes into more detail: https://mattbrictson.com/blog/rake-multitask

View Details

Covering how to make data imports with Active Record fast: https://greg.molnar.io/blog/rails-tricks-issue-16/

View Details

This is the first part of my understanding of Rails active record internals. Do not hesitate to comment or ask questions. I would love to know what you think about this one! :)

View Details

If you have ever wondered, yes, you can override included engines models and controllers and here is how to do it.

View Details

This presents sources that highlight Ruby news on a weekly basis, giving you something to follow each day of the week. https://kevinjmurphy.com/posts/keeping-up-with-ruby-news/

View Details

I wrote about how I approach Test Driven Development in a very very lightweight manner at https://fly.io/ruby-dispatch/organic-test-driven-development/ by keeping gem dependencies, source code, unit tests, and documentation in a single file. This helps me keep iterations tight and rapid early on in a project. Once I’m ready to distribute it as a gem I break it apart into the usual files you’d see in a project.

View Details

The Global VM Lock (GVL), is an implementation detail of the Ruby VM. At a high-level, it prevents code across multiple threads from running in parallel. The GVL can have a big impact on the performance and responsiveness of any application that uses more than a single thread to do its work. I’ve recently presented on this topic at RubyKaigi 2023; live interactive examples, the video, and slides are available at https://ivoanjo.me/blog/2023/07/23/understanding-the-ruby-global-vm-lock-by-observing-it/ .

View Details

In this episode, Kota Weaver interviews Creston Jamison on starting his software business: https://www.rubberduckdevshow.com/episodes/96-starting-a-business-with-kota-weaver/

View Details

If you want to use Paddle payment provider and their new Billing offering, I wrote how to verify Paddle Billing notifications.

View Details

is it ordinal summer? i have packaged up scripts & datasets in the new satsnames gem that let you use “first-come / first-serve” .sats (or .paper or .game or …) name records to lookup ordinal inscriptions by (registered) names via relays and more. It’s (very) early. Happy blockchain surfing and programming with ruby.

View Details

Explore the realm of Rails 7’s parallel testing with our in-depth look into its efficiency-boosting capabilities and the challenges that might arise. As developers, understanding the tools at our disposal is paramount. Don’t miss out on this comprehensive guide that could revolutionize your testing strategy. Dive deep into the benefits and pitfalls of this robust feature at https://psmy.medium.com/parallel-testing-in-rails-7-benefits-and-pitfalls-66d38b8cd15e.

View Details

The video for the Montreal.rb Ruby Meetup April 3, 2023 talk “Rails Already Supports View Components!” has been posted! This talk will explain the various ways Rails already supports view components out of the box.

View Details

Skrift is a tiny (<600 lines currently) pure-Ruby rewrite of the libschrift TrueType font renderer.

View Details

is it ordinal summer? i have started (yet) another free online booklet titled “ Programming Ordinal Generatives (Ordgen) / ORC-721 - Step-by-Step Book / Guide” and the first chapter titled Build Your Own Blockchain Layer 1 (L1) Ordinal Inscription Indexer is online using the unisat, ordinals and ordlite gems. Happy blockchain indexing and data analytics programming with ruby.

View Details

I’m thrilled to introduce Plain, a Rails engine designed to supercharge your Rails development. It is a GPT Chat on your Rails app that knows the context of your code, so it can help you build new code, explain some features of your app, build specs, do refactors, etc. It also provides a documentation endpoint populated with Markdown files with front-matter support.

View Details

Dive into Rails API development with insights on CRUD, serialization, testing, and more. Enhance your expertise and elevate your projects! Get the comprehensive guide here: https://philsmy.gumroad.com/l/kskwa

View Details

This just out: minitest-flash reporter – dull as ditchwater yet useful IMO. It simply calls your personal minitest-flash executable (usually a shell script) to trigger whatever fancy red/green notification you like. Safe to use on team projects as nothing happens unless the executable is present. The README showcases my setup for macOS which flashes the menu bar twice in either red or green along with an optional sound effect (mutable in case your ears have better things to do).

View Details

After an article about migration which was controversial. :D Let’s dive in N+1 queries in rails with the graphql-ruby and graphql-batch gem. https://dev.to/yet_anotherdev/deep-dive-n1-queries-in-graphql-ruby-359m

View Details

An alternative way of writing GraphQL in RoR: https://dev.to/povilasjurcys/intro-to-graphqlrails-1c3o

View Details

Using the OpenAI Chat API, Server-Sent Events and Rails to generate blogposts automatically.

View Details

Did you know that system supports the equivalent of >dev/null output redirection? Or that backticks raise an exception when a command isn’t found, but system does not? Let’s go on a deep dive into the surprising oddities and capabilities of the Ruby standard library! https://mattbrictson.com/blog/run-shell-commands-in-ruby

View Details

It is about how I create static pages with Rails and how implicit rendering works in Rails.

View Details

Unfortunately, I couldn’t find any documentation; even the changelog was empty, but now I know.

View Details

Every self respecting Senior Software Engineer out there should build their own code editor, even if just as a toy app to later be discarded in favor of another code editor (though they might grow to prefer their own). And, if they are Rubyists, they should build their code editor in Ruby (whether using MRI Ruby, JRuby or Opal Ruby). If you think of yourself as a Ruby Senior Software Engineer, but cannot build your own code editor in Ruby, there are serious holes in your skillset!! Explore Glimmer libraries for many Ruby options to help you start the code editor building challenge and journey.

View Details

is it ordinal summer? i’ve bundled-up scripts in the new unisat gem that let you full-text search via unisat.io in bitcon ordinal inscriptions using an automated “puppeteered” google chrome browser and automagically save / cache the results page-by-page and handle the pagination / batch processing. happy gold mining / searching and data analytics with ruby. ps: it is still the early days (v0.1) ;-).

View Details

Uncover the inner workings of Ruby on Rails with our dive into the Params hash—an essential component for handling HTTP requests. From query params to avoiding injection, this article will elevate your understanding of Rails, providing you with the tools to create more secure and efficient web applications. https://www.honeybadger.io/blog/how-the-rails-params-hash-works/

View Details

So you’ve got your app up and running on Heroku, your web dynos are happily serving requests, and everything is smooth. Traffic is growing steadily, your SEO juice is increasing, sales seem to be on the up and up! But eventually the alerts begin…

View Details

I’m thrilled to be giving a talk at Rocky Mountain Ruby about how I built the licensing and distribution for my “Ruby on Mac” product with Ruby, Rails, and SwiftUI.

View Details

Rails 7.1 introduces line range filtering for running specific tests within a test file based on line numbers. https://blog.saeloun.com/2023/08/14/rails-7-filter-test-by-line-range/

View Details

This is my journey with two leading web development frameworks: Rails and Elixir. Having invested years in Rails, I ventured into Elixir, captivated by its claims of high performance, resilience, and distributed systems. I admired Elixir and its Phoenix framework but encountered complexities when revisiting past code. On returning to Rails, I experienced greater intuitiveness and efficiency, especially with the innovative Hotwire design. Despite the unique advantages of Elixir, such as its Ecto library for complex queries, I felt more aligned and efficient with Rails. Ultimately, I decided to rewrite my Elixir-based project, Rauversion, in Rails, completing 90% in just two weeks, and I’ve had the opportunity to contrast the strengths and weaknesses of both ecosystems.

View Details

is it ordinal summer? i’ve written-up a step-by-step guide to define your own paint by number or letter image class - using the bixel (7x7px - 10 colors) and biixel (10x10px - 21 colors) specs / protocols as real-world examples. happy pixel (or bixel or biixel) pushing with ruby.

View Details

https://blog.saeloun.com/2023/08/11/rails-7-1-store-secret-key-base-in-rails-config/

View Details

Comments are often a tell that the code could be more explicit. Every time I write a comment, I refactor my code to be understandable without it : http://alexis.bernard.io/blog/2023-08-11-eloquent-code-needs-no-comment.html.

View Details

Looking to scale your Rails applications? Dive into the world of sharding with Rails 7 in this comprehensive guide. From automatic role switching to horizontal sharding, this article explores the tools and techniques to efficiently manage large-scale applications. Check it out at https://psmy.medium.com/sharding-in-rails-7-a-new-horizon-in-database-management-6527e34ea8d8 and stay ahead of the curve!

View Details

I recently published an article diving deep into previewing your ActionMailer emails — Preview emails in Rails with letter_opener, MailCatcher and MailHog

View Details

In the newest episode we’re back with a video of how to nest operations in Trailblazer. https://www.youtube.com/watch?v=kEYSIda7UHY

View Details

When it comes to Rails nested attributes and has_one relationships, things can get a little weird. This article mentions a few options that you might want to fiddle with in these situations. https://goodenough.us/blog/2023-08-07-til-rails-has-one-nested-attributes-tweaking/

View Details

https://www.shakacode.com/blog/rails-adds-ability-to-raise-error-on-missing-callback-actions/

View Details

I provide a comprehensive guide to building a Ruby on Rails frontend that interfaces with OpenAI’s ChatGPT. Covering user management, conversation creation, and the ability to continue conversations at any time, this tutorial is tailored for both new and experienced developers eager to embrace the power of AI-driven communication. Watch the video here: https://youtu.be/_3AsaXoLdj4.

View Details

In Ruby, method names can be suffixed with !. These are often called “bang” methods. This is used to indicate that it is a dangerous counterpart of the non-bang version of the method.

View Details

Building apps over time, I found some work that needs to be done on every application: Authentication, Authorization, Mailers, etc. I started extracting this standard functionality into a Rails engine a few years ago. Later, tailwindscss, hotwire, stimulus, and phlex entered the picture, so I started the engine again with reusable UI patterns that take advantage of these tools. This is how Maquina was born. https://mariochavez.io/desarrollo/2023/08/08/maquina-the-engine-for-rails/

View Details

https://www.shakacode.com/blog/defer-unique-constraints-in-postgresql-with-rails/

View Details

Hello, some years ago I published a red paper to introduce sruby - Small, Smart, Secure, Safe, Solid & Sound (S6) Ruby to the world with a runtime (and gem) called universum. Now fast-forward and middlemarch (a.k.a. Tom Lehman) introduced dumb contracts on ethscriptions with the production code written in a dialect of Ruby called “Rubidity”. Q: Why do you choose ruby for dump contracts? A: Because you can create a mini-language that’s very similar to Solidity and will be easier for Solidity devs to use. Hear. Hear.

View Details

When enforcing canonical URLs, sometimes I find myself wanting to perform a redirect while retaining most of the params. It’s tempting to use params.merge to build the redirect in this case, but this is risky from a security standpoint. In this article I’ll explain how to perform redirects like these safely in Rails 7. https://mattbrictson.com/blog/safe-rails-redirects

View Details

https://raghu-bhupatiraju.dev/implementing-materialized-views-in-rails-ffea22bd5d9c

View Details

I’ve just launched pre-orders for https://railsnotesui.xyz , where I’m building a component library of ActionMailer email components. Rather than hard-coding HTML <tables>, you’ll be able to build emails with ViewComponents like Email::Button and Email::Footer.

View Details

is it doginal summer? i’ve updated the ordinals gem - a light-weight (free, no api key required) ordinal api wrapper / client for inscriptions (letting you fetch metadata and content) and bonus the new version 1.3 now includes support for doginal shibescriptions (via wonky-ord.dogeord.io). much wow! very happy data analytics and pixel pushing with ruby.

View Details

Revisiting UI testing approaches, I’ve shifted to using data-testid for better efficiency and robustness. My new blog post dives into how you can use it with RSpec & Capybara and introduces custom matchers to help. Check it out.

View Details

When previewing PDF files that were uploaded through Active Storage, we can only get a simple image of the first page. In this episode, we’ll look at taking the uploaded PDFs and interacting with them. https://www.driftingruby.com/episodes/pdf-reader

View Details

Hey RubyFlow, I recently published an article on skipping the rails console with rails runner.

View Details

https://www.ducktypelabs.com/react-on-rails-with-stimulus/

View Details

https://share.transistor.fm/s/7e5805cb

View Details

is it ordinal summer? i’ve updated the free (online) programming ordinals (in ruby) step-by-step guide / booklet. the new bonus chapter titled Sub 1k - Inside The First Thousand Ordinal Inscriptions - Litecoin Edition shows you how to build a (local) sub1k sqlite database (from scratch / zero) with all metadata and content blobs (using the ordinalslite.com api) - it’s about 160 MB - and than query for analytics / statistics via sql (using activerecord and ordlite). happy programming (and data analytics) with ruby.

View Details

In the landscape of modern web development, few frameworks have had as profound an impact as Ruby on Rails (RoR). Powered by the elegance of Ruby and the efficiency of the Model-View-Controller (MVC) design pattern, Rails provides developers with tools to craft scalable and maintainable applications. Read at: https://medium.com/@psmy/ruby-on-rails-and-the-power-of-mvc-architecture-a-comprehensive-guide-b50f55950ee0

View Details

Hey RubyFlow, I just posted a handy article covering how to split your database seeds by Rails environment. Hope you find it useful!

View Details

Ever wanted to render different content for the current user vs other users in partials being handled by Turbo? I frequently do, but I was surprised to find basically nothing online about how to do it. Here’s one approach that works pretty well: https://goodenough.us/blog/2023-08-02-til-turbo-stream-and-personalised-content/

View Details

https://hexapdf.gettalong.org/news/2023/hexapdf-0-33-0.html

View Details

Is keeping our code DRY leading us to trouble? Here are examples from a Ruby project on when it might be ok to bend our tried and true adherence to not repeating ourselves.

View Details

is it ordinal summer? for easy testing of recursive inscriptions (in .SVG or .HTML) i have put together a new ordserve command-line tool and gem that starts up a (loopback) webserver and “automagically” downloads all recursions (referenced via /content/:id) the first-time only to save / cache locally. the index page has built-in (recursive) samples to get your started. happy recursing in ruby.

View Details

https://github.com/okuramasafumi/alba/releases/tag/v2.4.0

View Details

https://www.shakacode.com/blog/rails-7-enhances-postgresql-enum-functionality/

View Details

Imagine having the ability to deploy the next version of Rails in a dual booted application on your Heroku staging server or review app before deploying it to production. This capability can help you avoid bugs and downtime in your live environment. In this blog post, we will guide you on how to deploy a Rails upgrade to a staging environment, allowing you to thoroughly test it before it goes live.

View Details

I wrote about ideas/projects that are fit to be approached by someone learning Ruby.

View Details

Let’s dive into some advanced usages of Devise, including the use of OmniAuth, API authentication, and Authtrail: https://blog.appsignal.com/2023/08/02/advanced-usages-of-devise-for-rails.html

View Details

Does Ruby have something similar to Jupyter notebooks? Turns out that you can just use Jupyter notebooks with Ruby if you setup the iruby kernel. Read on to see how.

View Details

Are you handling sensitive data like PII in your Rails applications? Rails 7 introduces a game-changing feature: encrypted attributes. This built-in functionality provides an additional layer of security that’s both robust and easy to implement. From initializing encryption keys to declaring encrypted attributes and seamlessly encrypting and decrypting data, this comprehensive guide walks you through the process. Don’t miss the opportunity to enhance your data security. https://psmy.medium.com/encrypting-sensitive-data-in-rails-7-with-encrypted-attributes-f97c2fee7d2e

View Details

Happy to introduce slideck for creating Markdown-powered presentations in the terminal. It packs many features like extended Markdown syntax support, YAML configuration and auto-reloading presentation based on file changes. To learn more, please check out documentation.

View Details

https://www.shakacode.com/blog/rails-add-normalize-to-activerecord/

View Details

Automating deployments is a great way to speed up software delivery and reduce the cycle time for feedback. In this post I’ll show you how to create a continuous deployment (CD) workflow using GitHub Actions and SSH-based deployment. Configuring and loading SSH keys requires some extra steps, which I cover in detail. https://mattbrictson.com/blog/deploy-rails-with-github-actions

View Details

https://blueprint.biggerpockets.com/2023/07/31/track-unused-rails-view-partials-with-datadog-and-github-actions.html

View Details

If you’ve ever used foreman or bin/dev to run your processes, you’re going to want to check out Overmind, a better bin/dev.

View Details

https://github.com/keshavbiswa/seedie

View Details

In this episode, we discuss some ways you can evaluate your tech stack with Kota Weaver: https://www.rubberduckdevshow.com/episodes/94-evaluating-tech-tools-with-kota-weaver/

View Details

is it ordinal summer? for easy (re)use (off-chain) i have started a new bitgen gem / library that collects the generative (pixel) image machinery / scripts for (on-chain) protocols such as (historic) Gen BRC-721 that lets you generate ordibots, ordibotmrs, satoshi’s pets, blooming flowers, & more. happy pixel pushing with ruby.

View Details

How to create custom RSpec matchers using different approaches: https://dev.to/povilasjurcys/many-ways-to-write-rspec-custom-matchers-m23

View Details

I don’t know if anyone has already done this but I think it’s a good idea. I’ve done some experiments and translated it into several languages. Please share some thoughts if you’d like 😀

View Details

Today, I have addressed all issues and feature requests.

View Details

is it ordinal summer? i’ve updated the free (online) programming ordinals (in ruby) step-by-step guide / booklet. the second chapter titled Collections, Collections, Collections - Inside Ordinal Punks, D.I.Y. Punks & More shows you how to import collections via various meta datafile formats into a (local) sqlite database e.g. ord.db (from scratch / zero) and than query for analytics / statistics via sql (using activerecord) and the ordlite gem. happy programming (and data analytics) with ruby.

View Details

Unlock the true potential of your Rails app with DynamoDB, the lightning-fast and scalable NoSQL solution from Amazon. Revolutionize your data storage today and take your Rails app to new heights of speed and efficiency. Dive into this guide at https://psmy.medium.com/revolutionize-your-rails-app-with-dynamodb-unleash-speed-and-scalability-f899316964b7.

View Details

https://blog.saeloun.com/2023/07/28/integrate-replicate-ai-in-rails-application/

View Details

I’ve started a Ruby on Rails Newsletter — The RailsNotes Newsletter — let me know what you think! Issue #4 is being sent soon, so subscribe if you’re interested.

View Details

Learn how to create a Stimulus Elements API from scratch, allowing you to easily access DOM elements using CSS selectors.

View Details

Learn what Server-Sent Events are and how to use them with Ruby on Rails and a bit of JavaScript.

View Details

Rails Concerns are a great way to keep your code DRY by making it easy to share code across Modules and Classes. The post will be going through some of the in-and-outs of Concerns, why they’re useful and how to use them.

View Details

https://www.shakacode.com/blog/rails-adds-parent-option-to-controller-generator/

View Details

Explore some of the fundamentals of metaprogramming in Ruby: https://blog.appsignal.com/2023/07/26/an-introduction-to-metaprogramming-in-ruby.html

View Details

Hey, I just published an article all about lazy loading with Hotwire and Turbo Frames in your Ruby on Rails apps.

View Details

CSS has a reputation for inevitably turning into spaghetti code. It doesn’t have to be that way! You can keep styles tidy in your next Rails app by applying similar rules to CSS as you would to Ruby code: avoid formal structure until you really need it, be clear and concise in your naming, and keep your eyes open for opportunities to refactor as you go. https://mattbrictson.com/blog/organizing-css-in-rails

View Details

We were (stupidly) storing tons of data in the database that really didn’t need to be there. See what we did to move it out of the database. So simple! https://psmy.medium.com/optimizing-data-storage-in-ruby-on-rails-a-seamless-migration-from-database-to-aws-s3-910f27fa0029

View Details

https://www.shakacode.com/blog/rails-add-picture_tag-helper/

View Details

Released a new version of the gem for zero downtime migrations - https://github.com/fatkodima/online_migrations/blob/master/CHANGELOG.md#080-2023-07-24 with a few new checks:

View Details

In this episode, we discuss Scarpe which is a successor to the Shoes Ruby desktop application builder with Nick Schwaderer: https://www.rubberduckdevshow.com/episodes/93-scarpe-diem-with-nick-schwaderer/

View Details

is it ordinal summer? i’ve started on a free (online) programming ordinals (in ruby) step-by-step guide / booklet. the first chapter titled Sub 1k - Inside The First Thousand Ordinal Inscriptions shows you how to build a (local) sub1k sqlite database (from scratch / zero) - it’s about 40 MB - and than query for analytics / statistics via sql (using activerecord). happy programming (and data analytics) with ruby.

View Details

A two-part series on how file autoloading works in Rails (including an explanation of what ‘zeitwerk’ really is)

View Details

Rodauth supports passkeys for multifactor authentication, or for passwordless login and registration – https://janko.io/passkey-authentication-with-rodauth/.

View Details

In the Rails world, optimistic locking is relatively well known, while its pessimistic alternative is often overlooked. In this blog post, I’m presenting how to effectively use pessimistic locking in Rails applications. https://www.visuality.pl/posts/a-simple-guide-to-pessimistic-locking-in-rails

View Details

The fields of machine learning and artificial intelligence rely, fundamentally, upon the ability to measure the distance between two points. In this article we introduce some of the most common metrics used, discuss their interpretation and demonstrate how these can be implemented in ruby. Check it out here and let me know what you think.

View Details

Mini Defender allows the developer to quickly and easily validate incoming requests data as the verify first step in the request, alongside this Mini Defender also provides the following benefits:

View Details

“The Ruby on Rails Interview Bible 2023” - A Comprehensive Guide with 500+ Essential Questions and Answers! #ruby #book #rails #interview #job #jobhelp #preparation #betterjob #itjobs #programmer #ebook #remotework #juniors #seniors https://nezirzahirovic.gumroad.com/l/bible

View Details

“🎓 Ready to master Ruby on Rails? Look no further! https://quiz.rubyonrails.ba offers 16 engaging games, 600 thought-provoking questions, and a vibrant community of 200 fellow learners. Join us today and unlock your Rails potential! 🚂💡 #WebDevelopment #RailsLearning #Ruby #Job”

View Details

Objects seek their methods in both classes and superclasses, all the way up the inheritance tree; let’s see how this method-lookup process works when modules are also involved.

View Details

Explore the Active Model Dirty API in Rails with this in-depth guide. Learn how to track changes to your model objects, handle validations, and persist changes to the database.

View Details

is it ordinal summer? i’ve put together the ordinals gem - a light-weight (free, no api key required) ordinal api wrapper / client for inscriptions (letting you fetch metadata and content) and bonus the new version 1.1.0 now includes recursive image helpers (that let you generate .SVGs) … see diypunks.svg on the ordtest(net) with 9 recursions as an example.

View Details

Yes I know, another one of those ;) Bear with me, I believe we can add a bit to the debate and give some practical tips on why, and how, service Objects work for us.

View Details

https://jetrockets.com/blog/rodauth-a-authentication-for-ruby-and-rails

View Details

https://rubyhero.dev/ruby-struct

View Details

https://medium.com/@nimaged1729/sending-and-receiving-binary-data-in-rabbitmq-in-ruby-b4405717d3b9

View Details

How to Refactor Your Rails App With Service Objects

View Details

After several failed attempts at creating custom Rails Generators over the years, I finally got around to really digging in and put together a medium-fidelity guide to understanding them and getting them working. https://garrettdimon.com/journal/posts/creating-custom-rails-generators

View Details

I tried to gather at https://allaboutcoding.ghinda.com/where-to-promote-an-article-about-ruby a list of places where you can promote an article about Ruby

View Details

In the latest truemail release has been fixed default email pattern follow to RFC 1035. Verify email via Regex, DNS, SMTP and even more. Be sure that email address valid and exists. https://github.com/truemail-rb/truemail

View Details

https://blog.appsignal.com/2023/07/19/how-to-delegate-methods-in-ruby.html

View Details

https://www.shakacode.com/blog/identify-unused-routes-in-rails-7/

View Details

Hey RubyFlow, I just published an article on seeding your database with the faker gem.

View Details

With this simple method you can now fix the rails flaky tests in seconds.

View Details

With the built-in rescue_responses setting, you can map exceptions to error pages in a simple, declarative way. It automatically renders JSON, too! https://mattbrictson.com/blog/handling-rails-exceptions

View Details

https://blog.saeloun.com/2023/07/18/sort-your-rails-models/

View Details

https://www.shakacode.com/blog/rails-adds-perform_all_later-to-activejob/

View Details

Do you need to run Bulma and Tailwind together or interested how it would even work? Read how to do it with cssbundling-rails gem.

View Details

In this episode, we discuss the DRTiled library which helps you load tile data in Dragon Ruby from the Tiled application: https://www.rubberduckdevshow.com/episodes/92-drtiled-with-wildfiler/

View Details

https://blog.saeloun.com/2023/07/17/add-ability-to-match-exception-messages-to-assert-raises-assertion/

View Details

Recently I asked how people prefer to see inherited behavior tested. This discusses each of the options in more detail and shows the results of the poll. https://kevinjmurphy.com/posts/testing-inherited-behavior/

View Details

Glimmer DSL for SWT 4.28.0.0 (JRuby Desktop Development Cross-Platform Native GUI Framework) is the quarterly major release that happens after a new version of Eclipse SWT (Standard Widget Toolkit) is released. It is wrapping SWT 4.28, which was released on June 5, 2023.

View Details

Learn how to use row number window function on a practical example to select unique latest grouped records from DB.

View Details

Get on board and let’s sail beyond the horizon.

View Details

https://raghu-bhupatiraju.dev/date-parse-pitfall-fd59efc846f7

View Details

Business Class is finally released!

Read the announcement: https://nts.strzibny.name/business-class-brand-new-rails-saas-template/ Watch the demo: https://www.youtube.com/watch?v=s8mM5-snTig Browse the features: https://businessclasskit.com

View Details

Advanced usage of let helper in RSpec: https://dev.to/povilasjurcys/deep-dive-into-rspecs-let-helper-4gkk

View Details

Today, I am releasing a new Ruby gem that allows you to create AI applications using Ruby, Aoororachain.

View Details

In part one of this series on Devise, we’ll cover the basics of the Devise gem: https://blog.appsignal.com/2023/07/12/an-introduction-to-devise-for-ruby-on-rails.html

View Details

I tried to refresh in this article the answer to the question: Is Ruby pass by value or pass by reference?

View Details

picture tag now ships with inbuilt support in Rails. Take a look at some examples and why picture is useful for web responsive applications https://blog.saeloun.com/2023/07/12/picture-tag-rails/

View Details

How to use cocoon gem in Rails 7?

View Details

The latest issue of Rails Tricks is out. Showing how to modify Action Text markup: https://greg.molnar.io/blog/rails-tricks-issue-14/

View Details

https://www.shakacode.com/blog/rails_add_deliver_callbacks_to_action_mailer/

View Details

Background Jobs and Task Scheduling in Ruby on Rails

View Details

I’ve written a handy reference article for the next time you’re generating a migration in your rails app — Rails Generate Migration — RailsNotes

View Details

Rails’ date and time helpers are great. They save us from duplicating simple add-duration-to-time logic across our applications and make the code more readable. However, complex date manipulations are dangerous places full of edge-cases. This article discusses some of them. https://www.honeybadger.io/blog/how-to-use-enum-attributes-in-ruby-on-rails/

View Details

Feature flags in Rails: How to Deploy, Test & Manage

View Details

Glimmer DSL for LibUI 0.0.8 has been released with a new feature called Composite Shape (already in Glimmer DSL for SWT), which enables building new visual concepts by aggregating multiple smaller shapes within a parent composite shape using relative positioning and inherited fill/stroke colors.

View Details

Explainer for folks who need to get caught up on modern front-end concepts in Rails: https://www.ducktypelabs.com/turbo-vs-stimulus/

View Details

In this blog post I discussed one of the common MySQL index deadlock issues that had occured in our rails application. https://www.elitmus.com/blog/technology/debugging-and-fixing-mysql-deadlock-issue/

View Details

https://rubyhero.dev/rails-routes-less-known-features

View Details

The video and slides for the Montreal.rb July 2023 talk “Import Spreadsheets in Ruby on Rails with Flatfile.com” have been posted.

View Details

I am releasing devise-otp 0.6.0 today. It features a fix for mandatory OTP setting, removal of the success message for better UX and you can now use it with older Rails 6.1 too. If you want to skip building up all these 2FA flows, consider getting Business Class for your next project.

View Details

I wrote a comparison of various AI generative code tools that I asked to transform a simple HTML code into a Rails helper.

View Details

I wrote https://fly.io/ruby-dispatch/pattern-matching-on-ruby-objects/ to show people how they can implement pattern matching in their Ruby objects that with with case ... in statements. Use it in your very own HTTP routers, Rack middleware, Rails apps, authorization objects (like Pundit), consume APIs, or parse files!

View Details

A new version of actual_db_schema gem has just been released https://github.com/widefix/actual_db_schema it contains a major fix that rolls back applied migrations in the reversed order. Big thanks Arkadiy Zabazhanov (https://github.com/pyromaniac) for contribution! #actual_db_schema

View Details

Introducing Bearer, a comprehensive security scanner for your Rails application that offers an alternative to Brakeman. Bearer goes beyond just scanning your Ruby code; it also includes the ability to analyze your JS/TS code, making it an all-in-one solution. With Bearer, you also gain access to a distinctive set of rules designed to address privacy risks and prevent sensitive data exfiltration.

View Details

https://www.shakacode.com/blog/rails-make-active-records-query-cache-an-lru/

View Details

Hello everyone,

View Details

The minitest-snapshots gem has reached 1.0.0! It’s a simple minitest plugin for implementing Jest-style snapshot testing, so that you don’t have to manually maintain file fixtures for machine-generated data. Think of it as VCR, but for any value.

View Details

Let’s look at the basics of Network Programming and open a socket https://lucas.dohmen.io/posts/2023/06/04/network-programming-basics-in-ruby

View Details

Hey RubyFlow — I recently published an article which dives into the bin/dev script and Procfile.dev in Rails 7 projects. Read more — https://railsnotes.xyz/blog/procfile-bin-dev-rails7

View Details

https://greg.molnar.io/blog/rails-tricks-issue-13/

View Details

In a previous episode, we had created a custom ActionCable channel to assist in broadcasting updates from a background job. With the introduction of Turbo, we can simplify this process as we look at a few different approaches in displaying a progress bar with real time updates from background jobs. https://www.driftingruby.com/episodes/broadcasting-progress-from-background-jobs

View Details

In this episode, we close out Dragon Ruby month with a panel / party of guests! https://www.rubberduckdevshow.com/episodes/91-dragon-ruby-panel-party/

View Details

This is a short story about a Ruby bug for an uncommon feature.

View Details

Hey, I’ve just finished writing a massive guide about deploying Rails with Dokku. Check it out here - https://railsnotes.xyz/blog/deploying-ruby-on-rails-with-dokku-redis-sidekiq-arm-docker-hetzner

View Details

Describes a neat trick I found to directly symbolize the keys of JSON.parse and as a bonus, you could even tell it to return an OpenStruct instead of a Hash

View Details

We’re thrilled to announce the release of Solidus v4.1🚀

View Details

Introducing hanami-view and sharing our plans for v2.1 https://hanamirb.org/blog/2023/06/29/hanami-210beta1/

View Details

This is not Ruby-specific, but if you are creating a GitHub repo for your next Ruby project, you’ll want to review the following best practices: Improve your GitHub workflow with better repository defaults. Includes a quick introduction to some interesting low-level features of the gh CLI.

View Details

By the end of the post, you will understand how bundler audit and bundler outdated work. Both can help you monitor the security state of your project’s dependency tree.

View Details

https://rubyhero.dev/rails-value-object-design-pattern

View Details

Explore using Rails.env.local? which returns true if the environment is development or test.

View Details

I’ve been using a simple, 4-line helper method to implement nested layouts in Rails since I originally blogged about it in the Rails 4 days. The technique still works great after all these years! Today I updated my post for Rails 7. The code has now been tested from Rails 6.0 all the way to Rails edge. https://mattbrictson.com/blog/easier-nested-layouts-in-rails

View Details

Hi friends, I just added new content to Everyday Rails for the first time in nearly two years! Ruby is still my primary language, but sometimes I need to dip my toe into other languages and ecosystems. Here’s how ChatGPT, GitHub Copilot, and TDD made me a professional Go programmer in less than an hour. Kind of. Don’t worry, the post isn’t about Go, it’s about the process.

View Details

https://greg.molnar.io/blog/rails-tricks-issue-12/

View Details

I’m working on a Rails upgrade for a giant monolith application. It’s been a while already, and while I’m encountering many issues trying to jump from 5.2+ right to 6.1, I want to share some of the stories. Link to post.

View Details

Hey RubyFlow! I’ve just published a beginner’s guide to learning Stimulus. We build a simple toggle controller, and I teach you some core concepts along the way. https://railsnotes.xyz/blog/your-first-stimulus-controller-learn-stimulus-ruby-on-rails-by-building-a-toggle-beginners-guide

View Details

In this episode, we discuss working with 3D and robotics in Dragon Ruby with Kota Weaver: https://www.rubberduckdevshow.com/episodes/90-3d-robotics-in-dragon-ruby-with-kota-weaver/

View Details

Glimmer gets a new GUI DSL in 2023 called Glimmer DSL for WX (Early Alpha 0.0.5 was built in 1 day) to support the very mature wxWidgets GUI toolkit that renders cross-platform native GUI controls (using a brand new wxruby3 binding)!

View Details

Did you know that Rails comes with a built-in credentials manager to replace .env variables? Heres how you can start using it — https://railsnotes.xyz/blog/custom-credentials-in-your-rails-app

View Details

A new Glimmer FAQ (Frequently Asked Questions) section has been added to the Glimmer project README on GitHub in order to answer questions like “How do Glimmer GUI DSLs compare to Shoes?” and “What is the difference between Glimmer and Glimmer DSL for SWT?”, among others.

View Details

https://rubyhero.dev/rails-design-patterns-the-big-picture

View Details

Renaming the enum, adding and renaming the values of the enum made easier with the latest changes to the Postgres adapter in Rails 7

View Details

Thor is a great way to write simple CLIs like one-off Rails scripts, but it does have its own gotchas. Here’s how to use Thor in practice. https://mattbrictson.com/blog/rails-tasks-with-thor

View Details

Some tips and tricks to get the most out of the Rails console.

View Details

The latest issue of Rails Tricks is out! It covers how to get offline documentation for Ruby, Rails, and your gems in case you take a laptop on your vacation. https://greg.molnar.io/blog/rails-tricks-issue-11/

View Details

I am an old-time CanCanCan user and recently started to consider switching to Pundit. I am also a big fan of RSpec. Given how important Authorization (AuthZ) is, I want to test it properly.

View Details

Explore the future of asset pipelines in Rails with Propshaft! Discover how this cutting-edge technology enhances the management and delivery of assets while simplifying your development workflow. https://www.honeybadger.io/blog/propshaft-tutorial-migration/

View Details

In this episode, we discuss the future of Dragon Ruby with Amir Rajan: https://www.rubberduckdevshow.com/episodes/89-the-future-of-dragon-ruby-with-amir-rajan/

View Details

https://railsexamples.com/polymorphic-associations/

View Details

https://rubyvideo.dev/

View Details

https://synvert.substack.com/p/use-call-helper-to-set-rails-load-defaults

View Details

httpx 0.24.0 has been released.

View Details

https://github.com/igorkasyanchuk/rails_performance Here are the new features added:

View Details

I wrote an article about deploying a Rails app to a VPS with MRSK. Using Caddy in front of the Rails server and running a Sidekiq worker on the same host. https://greg.molnar.io/blog/deploying-a-rails-app-with-mrsk/

View Details

In part two of this series, we’ll organize business logic in your Rails application using DCI: https://blog.appsignal.com/2023/06/14/setting-up-business-logic-with-dci-in-rails.html

View Details

https://rubyhero.dev/rails-request-cycle

View Details

This time we cover sending emails with Hanami, using hanami-mailer!

View Details

Are you a user of FactoryBot?

View Details

On Monday June 12th, 2023, FastRuby.io partnered with Expedited Security to talk about how to secure your Ruby on Rails application.

View Details

After upgrading your application from Rails 3 to Rails 4, you might start seeing the following deprecation warning if you are using the readonly option in an association.

View Details

I discovered an easy way to implement job throttling using the ruby-limiter gem and the new “capsules” feature of Sidekiq 7. https://mattbrictson.com/blog/applying-a-rate-limit-in-sidekiq

View Details

Rails configuration settings needed to authenticate to Postgres with an SSL/TLS certificate. Both locally and on Heroku, while keeping your private key secure: How to Authenticate to Postgres from Rails using an SSL certificate

View Details

In this episode, we discuss discuss Palantir & testing in Dragon Ruby with Kevin Fischer: https://www.rubberduckdevshow.com/episodes/88-palantir-testing-dragon-ruby-kevin-fischer/

View Details

Last week at Blue Ridge Ruby, we heard a lot of great talks. I compiled a brief summary of the program.

View Details

https://dev.to/samuelodan/interesting-javascript-features-from-a-ruby-perspective-k2e

View Details

Video coverage of the

This Week in Rails newsletter

View Details

I finally got around to porting my collection of snippets for RSpec, Capybara, and FactoryBot from Atom to Visual Studio Code. Everyday Rails RSpec snippets for Visual Studio Code is now available in the marketplace. Useful for me, maybe useful for others!

View Details

We discussed my previous post about optimizing the performance of a Rails application with SQL within the Belarus User Group. During the discussion, we also had some fun experimenting with ChatGPT, asking it to solve the same problem. The results were impressive. I shared the outcome in this post: https://blog.widefix.com/optimize-performance-of-rails-app-with-chatgpt/

View Details

The First and Oldest Ruby Conference in Europe celebrates its 20th year anniversary. This year holds even greater significance as we also commemorate Ruby’s 30th birthday and the 700th anniversary of Vilnius.

View Details

I’ve completely switched away from Sprockets and Webpacker and am using Vite for my current Rails projects. One thing I’ve discovered is that while the default Vite-Rails installation is nice, it is not very opinionated. I always end up adding these three plugins on top of the standard Vite-Rails config: autoprefixer, rollup-plugin-gzip, and vite-plugin-full-reload. Here’s how to set them up: https://mattbrictson.com/blog/3-vite-rails-plugins

View Details

PullPreview is a GitHub Action written in ruby that starts preview deployments for your pull requests and branches. It can work with any application that has a valid Docker Compose file.

View Details

In this episode, we discuss the making of Avalon using Dragon Ruby with James Stocks: https://www.rubberduckdevshow.com/episodes/87-the-making-of-avalon-in-dragon-ruby-with-james-stocks/

View Details

5 tips for new Rails developers to be more productive and confident.

View Details

In this episode, we take a few different approaches in how we display error pages in our Rails application. We’ll also look at a few potential problems with each approach that we need to be aware of. https://www.driftingruby.com/episodes/page-not-found

View Details

Explore Ractors in Ruby with our comprehensive guide for improved performance and scalability. Ideal for both seasoned and new Ruby developers.» https://www.spritle.com/blog/ractors-in-ruby-overview-exploratory-guide/

View Details

Phlex already works with Sinatra (and everything else) but its normal usage leaves you without access to Sinatra’s standard helper methods. That’s why I created phlex-sinatra which lets you use Sinatra’s url() helper method from within Phlex (along with the rest of the usual helper methods available in a Sinatra action) - Using Phlex in Sinatra with phlex-sinatra

View Details

I am building a new SaaS template for Rails. Since there are several similar good options on the market today you might wonder why I am even doing it. Here’s why.

View Details

Vite is fast and powerful replacement for webpacker or the traditional Rails asset pipeline, and inline SVGs are quickly becoming the popular way to render easy-to-style icons on the web. This post explains two approaches to inlining SVGs when using Vite-Rails: using the inline_svg gem, or creating a custom view helper. https://mattbrictson.com/blog/inline-svg-with-vite-rails

View Details

In this episode, we discuss how to monetize your developer content with Seb Wilgosz: https://www.rubberduckdevshow.com/episodes/86-monetizing-your-content-part-2-with-seb-wilgosz/

View Details

I made a microsite of my Wordle results using Sinatra and Parklife and think it’s a good example of using Parklife and where it fits in the Ruby world of static sites - My Wordle results, a Sinatra/Parklife app.

View Details

With the release of Hanami 2.1, the view layer is fully integrated with our Hanami applications. Let’s check how to make use of a form helper to send a contact email.

View Details

The latest tty-option brings many improvements: enhanced conversions of command line inputs, more user-friendly help generation, many fixes to parameter settings and fully updated documentation with more examples that explain all API methods.

View Details

I’ve been using Hotwire extensively in my latest side project. The existing docs and guides were hard to understand, so I wrote the guide I wish I had.link: https://monn.app/blog/the-simplest-ruby-on-rails-and-hotwire-app-possible-beginners-guide

View Details

I’m recently building llm_memory gem which is highly inspired by a Python library Llamaindex. It’s simple but I’ve started to use my company’s FAQ chatbot.

View Details

Thot is THe Operative Templating, available as a gem https://rubygems.org/gems/thot and Github https://github.com/Ultragreen/thot.The main principe behind Thot is to KISS.

View Details

Rails engines provide a powerful way to organize and share code within a larger Rails application. By breaking up your application into smaller, self-contained modules, you can make your codebase more manageable and easier to maintain.

View Details

I wrote up another blog post going over how to use Rails Credentials, and why you might want to. Spoiler — they’re really handy!https://monn.app/blog/custom-credentials-in-your-rails-app

View Details

You can use gateway classes to organize external API integrations and establish a clearer separation of concerns. https://mattbrictson.com/blog/gateway-pattern

View Details

In this episode, we discuss leveling up junior developers with CodeWithJulie: https://www.rubberduckdevshow.com/episodes/85-leveling-up-for-juniors-with-codewithjulie/

View Details

I recently stumbled upon a perplexing discrepancy while converting Time to DateTime using the #to_datetime method. Intrigued by this unexpected behavior, I delved into an investigation to unravel its root cause. I’ll share my findings in this blog post with you, as I believe it’s worth your attention. https://medium.com/better-programming/the-mysterious-time-to-datetime-conversion-unraveling-rubys-unexpected-behavior-5b081f278cf1

View Details

Simple HTTP and REST client for Rubyhttps://github.com/rest-man/rest-man

View Details

“The typical development organization can increase their feature delivery efficiency by at least 25% by managing technical debt. That’s the equivalent of having 25% more developers without additional staffing costs or coordination needs.”

View Details

tobox (v0.4.0) has been released.

View Details

I’m continuing to tinker with creating LLM-powered apps using Ruby (not Python - what ?!). In this post, I show how to create an LLM agent that can fetch data from Google and a Rails database.

View Details

Rails 7.1 adds picture_tag, which is a more “robust” version of the image_tag. It supports resolution switching, art direction, and fallback image. Read here: https://www.shivamchahar.com/posts/rails-7.1-adds-responsive-images

View Details

I have published a blog on the Rails 7.1 adds ActiveRecord::Base::normalizes API for attribute values.

View Details

Discover the ins and outs of logging in Ruby, including how to customize your logs and use logging libraries like Lograge: https://blog.appsignal.com/2023/05/17/manage-your-ruby-logs-like-a-pro.html

View Details

Hey RF! I recently refactored an app to use ActionMailer and wrote up an article with some of the stuff I learned. In the post, I’ve also included a few tricks to make organising Mailer views a bit cleaner. Enjoy! https://monn.app/blog/refactoring-a-ruby-on-rails-app-to-use-actionmailer-for-transactional-email

View Details

You may have heard of Langchain, the Python library for creating LLM-powered apps with nearly 35k GitHub stars. Despite the large following, Langchain can be difficult to use when you want to go deeper than “hello world” tutorials. This experience led me to Boxcars, a Langchain-inspired Ruby gem but with fewer abstractions.

View Details

The Solidus Core Team is excited to announce the release of Solidus v4.0! This major release removes deprecated code and features a revamped solidus_stripe gem, making it even easier to integrate with Stripe as your payment gateway.Solidus is a powerful and flexible open-source e-commerce platform built with Ruby on Rails. With v4.0, we’re continuing our commitment to providing developers with a top-notch platform for building online stores.If you’re upgrading from v3.4, please check out the upgrade instructions at https://guides.solidus.io/upgrading-solidus/v4.0We appreciate your continued support of Solidus, and we can’t wait to see what you’ll build with this new release! To learn more about Solidus, join our community on Slack.Happy coding!

View Details

In this episode, we explore session hijacking and an approach that we can take to limit the risk. There are some user experience and functionality caveats to this approach so they must be taken into consideration as well. https://www.driftingruby.com/episodes/session-hijacking

View Details

A few words I wanted to say on Ruby’s type annotations state that were written in a military training camp and accidentally grew to 5k words.

View Details

The video for the Montreal.rb (Ruby/Rails Meetup) May 2023 talk “Integrating REST APIs with Microsoft Kiota” has been posted! Microsoft Kiota is an open-source technology that can automatically generate SDKs for HTTP REST APIs in Ruby (or any programming language) to save software engineers from having to write error prone API client code that handles authentication, authorization, serialization, and exception handling manually.

View Details

Rails 7.1 got rid of the apostrophe (U+0027) for the right single quotation mark (U+2019), which will likely break your tests. It added a new intersects? method to ActiveRecord::Relation.

View Details

Have you ever tried to update a Rails app from 5.2 to 6.0, or from 6.0 to 6.1? If so, you might have seen this deprecation:

View Details

After using Rails for over a decade, I took a step back and tried to think about all the stuff people starting out in Rails should know at https://fly.io/ruby-dispatch/welcome-to-rails-cheat-sheet/. In addition to including all the obvious stuff, I tried to focus more on areas of Rails that are still messy, like assets and deployments, to help fill in some of the undocumented gaps folks might run into.

View Details

For more detailed info on the boilerplate and use in development, check out the Mailtrap ActionMailer Balancer article: https://mailtrap.io/blog/actionmailer-balancer/

View Details

For years, I’ve worked without thinking much about feature specifications. Many teams endure empty Trello cards, neglected Jira tickets, and misaligned communication. So today, I want to share how to write better specifications for your features.

View Details

In this episode, we learn all about the Roda toolkit for building Ruby web applications with Jeremy Evans: https://www.rubberduckdevshow.com/episodes/83-all-about-roda-with-jeremy-evans/

View Details

Ever wanted to access a Rails app locally over HTTPS? There is a gem called localhost that can make this remarkably easy. However, everyday development using HTTPS requires a few more steps. This post explains how to set up the localhost gem, how to start Rails properly, and how to update OpenSSL to trust the local certificate. Plus, for those of us using Vite as their frontend build system, this post explains how to secure the Vite dev server as well. https://mattbrictson.com/blog/rails-vite-localhost-https

View Details

https://github.com/railsjazz/ask_chatgpt now with streaming support (see response instantly), a CLI tool, and some other improvements.

View Details

Ever need a simple way to retry a block of code? Maybe you need a maximum number of retries? Exponential backoff? Different handling for different exceptions? We took the Faraday Retry Middleware which is pretty awesome and just hoisted it up into its own utility without actually using/needing Faraday: Faraday Loop

View Details

Ever wanted to use encrypted credentials in a non-Rails project without having to pull ActiveSomething dependencies? Take a look at the new “dry-credentials” gem. It’s not part of the dry organisation but related in spirit.

View Details

Ever wonder how would Rails handle updating 600M records in PostgreSQL. Answer is Pretty well! In this article I will show you how.

View Details

Ruby on Rails is a popular web application framework that is constantly evolving with new versions being released frequently. While upgrading to a newer Rails version can bring new features, better performance, and security patches/improvements, it can also be a challenging task.

View Details

Do you need fast and affordable software development services? At https://DutyVentures.com we make dreams true for startup founders. Book a call with me at https://rusu.io/meet

View Details

Hire Android developer from Technoduce for your custom Android app development project. You get a highly experienced and dedicated Android app developer at an affordable cost.

View Details

I went in-depth at https://fly.io/ruby-dispatch/hacking-rails-implicit-rendering-for-view-components/ on how I got a Rails app working that uses 100% Phlex components. The technique can be used to integrate Rails with ViewComponents, handle batch resource selection & manipulation, responder classes, Hanami-style action classes, and more.

View Details

Last week, I finished my 24 hours startup challenge. I was building an uptime monitoring tool with Rails. Here’s my reflections.

View Details

We are thrilled to announce the release of Chaskiq 2.0.0, a major milestone for our source-available live chat and messaging system. This update marks the successful migration of our text editor, Dante.

View Details

Despite using RuboCop for years, I was recently surprised to find that it was not scanning certain important files in my Rails project. When I dug further, I discovered that RuboCop’s system for configuring inclusion and exclusion rules is quite complicated and exhibits some of the infamous “Rails magic”. What started out as a simple question – why isn’t RuboCop checking my bin/setup script? – turned into hours of troubleshooting. Here’s what I learned: https://mattbrictson.com/blog/including-and-excluding-files-in-rubocop

View Details

In this episode, we discuss whether you should consider leaving the cloud: https://www.rubberduckdevshow.com/episodes/82-leaving-the-cloud/

View Details

Rice makes it much easier to wrap C++ APIs - it is the Ruby equivalent to PyBind11. Get started with the tutorial at https://jasonroelofs.com/rice/4.x/tutorial.html. After you are done with the tutorial, there is extensive documentation about how to wrap C++ libraries - see https://jasonroelofs.com/rice/4.x/bindings.html. The Rice authors would love to see more Ruby bindings to C++ libraries and are happy to offer pointers as needed - please submit tickets on Github.

View Details

https://citizen428.net/blog/rails-quick-tips-7-project-specific-irbrc/ offers a solution to having a project-specific .irbrc while also keeping a global ~/.irbrc for shared functionality.

View Details

The theme is: Platformer

View Details

https://github.com/railsjazz/ask_chatgpt - do you want to ask ChatGPT for help directly from the Rails console? Examples:

View Details

In the 0.7.x version series, Glimmer DSL for LibUI finally gets the much awaited Table Selection API and Table Sorting API that got added to the underlying libui C library a few months ago. The good news is tables are now sortable by default without having to write a single line of code (Convention Over Configuration). That means all older applications that had tables now have sortable tables.

View Details

We’re thrilled to announce the release of Solidus v3.4! This release marks an important milestone for our e-commerce platform as we move closer to the highly anticipated v4 release. We invite you to upgrade to v3.4 and address any deprecation warnings to ensure a smooth transition to the future of Solidus.

View Details

https://github.com/railsjazz/lazy_value Load values on your pages using Ajax. Literally with one line of code: <%= lazy_value_tag { User.active.count } %>

View Details

How to mitigate sending risks and be able to deliver those VERY IMPORTANT emails to your customers’ inboxes no matter what?

View Details

I wrote an article at https://fly.io/ruby-dispatch/component-driven-development-on-rails-with-phlex/ about how I built a Rails application 100% from Phlex classes and 0% Erb, including the application layout. I found the approach to be fun, expressive, productive, and at times … it even felt like I was building a Sinatra app in Rails 😄.

View Details

The Gosu Game Library is having its 4th, week long, game jam starting April 23rd. Vote on the theme and find details on itch.io https://itch.io/jam/gosu-game-jam-4

View Details

In this episode, we discuss how to handle documentation when you are a developer with Grant Willcox: https://www.rubberduckdevshow.com/episodes/81-developer-documentation-with-grant-willcox/

View Details

This post explores inheritance and composition as a way to build and share behavior in a system to model guitar amplifiers. https://kevinjmurphy.com/posts/composing-our-own-guitar-amps-from-inherited-gear/

View Details

Check out Rails Pagination with the Kaminari Gem

View Details

I got tired of dealing with rigid form validations, so I created the inputomatic gem that makes “fuzzy” form inputs in Rails like “1 week ago”, “Last Monday” for dates and “129/2”, “(200/3)-10” possible and wrote about it at https://fly.io/ruby-dispatch/humane-rails-forms/

View Details

Llamachat: Sinatra backed local web client for my Llamaste gem, which allows interacting with any llama.cpp compatible model in browser. Streams tokens back over websockets for real-time generation speed.

View Details

Let’s explore some options to implement audit logs, including PaperTrail, Audited, AuditLog, AppSignal, and a custom implementation.https://blog.appsignal.com/2023/04/12/audit-logging-in-ruby-and-rails.html

View Details

Feature flags are used all across the tech industry to test code at scale; this article explores how to integrate them into your Ruby on Rails application using the Flipper gem.https://www.honeybadger.io/blog/flipper-feature-flags-rails/

View Details

Writing CRUD controllers in Rails may seem easy, but as your application grows, you’ll find it increasingly difficult to maintain and update your code. In this article, you’ll learn why extracting business logic from your controllers and creating focused, testable business actions is a necessary change. https://evgeniydemin.medium.com/from-rails-controller-to-business-action-d1ccabdc1ae2

View Details

A few handy Rails console things and the first guest trick about Avo from Adrian.https://greg.molnar.io/blog/rails-tricks-issue-2/

View Details

In this episode, we discuss safety nets for Rails apps with David Teren: https://www.rubberduckdevshow.com/episodes/80-safety-nets-for-rails-apps-with-david-teren/

View Details

The Agile Methodology is an iterative approach to software development that emphasizes flexibility, collaboration, and customer satisfaction. Companies that utilize Agile techniques prioritize delivering working software in small chunks rather than providing a complete solution simultaneously.

View Details

An article explaining how to build lazy accessors, similar to attr_reader, into Ruby using a bit of meta-programming: https://www.gregnavis.com/articles/lazy-attributes-in-ruby.html

View Details

https://github.com/railsjazz/rails_charts - check out this powerful charts gem in case you missed it before

View Details

https://opensource-heroes.com/awesome/ruby - is the biggest list of awesome Ruby/Rails gems. First iteration. Still missing some things but already a good start. It the future list will be driven by the community.

View Details

In this episode, we discuss what to do about hosting after Heroku’s plan adjustments with Chris Oliver: https://www.rubberduckdevshow.com/episodes/79-hosting-after-heroku-with-chris-oliver/

View Details

Explore how to set up the rodauth-omniauth gem for your Rails application: https://blog.appsignal.com/2023/04/05/how-to-use-the-rodauth-omniauth-gem-in-ruby.html

View Details

Ruby C extension which wraps llama.cpp, to provide a Ruby binding to GPT-style chat completions. Currently functional, with improvements and upstream fixes on the way.

View Details

I published the first issue of the Rails Tricks newsletter today. You can read the web version at this link: https://greg.molnar.io/blog/rails-tricks-issue-1/Subscribe if you don’t want to miss the next one.

View Details

Can you tell if a Ruby gem is really thread-safe or not? And how do you fix a seemingly thread-safety issue that can be something else entirely?

View Details

Today I’m releasing ruby-zint a FFI binding for libzint. It allows the fast and easy creation of about 50 barcodes (Code 128, UPC A, QR Code, …). Currently is version 2.10.0 (default for Ubuntu 22.04) on Linux, Windows and macOS supported. I will update the gem to to most recent version in the next weeks.

View Details

rails_i18n_manager is a Web interface to manage i18n translations helping to facilitate the editors of your translations. Provides a low-tech and complete workflow for importing, translating, and exporting your I18n translation files. Designed to allow you to keep the translation files inside your projects git repository where they should be.

View Details

In this episode, we look at creating an audio transcription service which allows files uploaded from Active Storage to be transcribed with Artificial Intelligence. However, there are a lot of considerations around the approach from both a performance and thread safety perspectives. https://www.driftingruby.com/episodes/transcribing-with-artificial-intelligence

View Details

rodauth-oauth 1.3.0 has been released.

View Details

https://github.com/igorkasyanchuk/rails_performance is a plug&play solution to monitor the performance of your production Rails application. Similar to NewRelic/DataDog/etc, but self-hosted (works as Rails engine), and using only Redis as a dependency.

View Details

I’ve deployed/migrated one of my apps with rails/mrsk onto a simple single host - with recipes for with asset caching & remote build & sidekiq & cronjobs.

View Details

Recently, I came across a piece of Ruby on Rails code that I rewrote and made 80x faster. Check out how I did it.

View Details

https://github.com/fatkodima/job_enqueue_logger - idea similar to SQL query tracer, but for background jobs.

View Details

This patch improves the support for defining custom namespaces while autoloading files.

View Details

Pretty much every Rubyist knows RuboCop—it’s the Ruby linter and formatter. But it’s still easy to find projects where style wasn’t enforced from the start (usually large, older projects). Fixing these can be tough.

View Details

In this article I explain how we approach Rails upgrade projects for two different types of applications:

View Details

https://github.com/railsjazz/chat_gpt_blocker is a bit funny project, assuming it was created by ChatGPT. Some websites should be ready to block access from the bot.

View Details

I wrote about what it’s like pairing with GPT-4 on a ruby Ruby at https://fly.io/ruby-dispatch/pairing-with-gpt-4/. Turns out the more you know about Ruby, the better your experience will be working with GPT-4 since it can send you down some pretty crazy paths. If you’re starting out, it can still give you pretty good results if you don’t ask it to build stuff for you. Overall, it’s more pleasant than using a search engine for help because you don’t have to wade through ads and SEO content that’s not helpful.

View Details

Today, we keep digging into RSpec fundamentals with an extensive tutorial on how to test your Rails models with RSpec. How to test your public methods? Should you test your private ones? Is code coverage really a thing? Hope you’ll like it!

View Details

ActionMailer Balancer allows proportionally distributing the email sending load between two different sending services and keeping the sending equilibrium in the percentage you need and set up for yourself. For example: SendGrid 70% / Mailtrap 30%. or Postmark 60% / Mailgun 40%. Learn more in the article.

View Details

In Ruby 3.2, a new keyword Data was introduced as a way to define simple immutable value objects. Find more about it here: https://blog.kiprosh.com/ruby-3-2-data-simple-immutable-value-objects/

View Details

Hello everyone. Have ever you heard about or use Trailblazer gem?HMVC is an architecture based on Trailblazer gem. To reduce time to initial a project, our team released this gem called HMVC-Rails. Hope it will create a new popular architecture for not only Ruby on Rails community but also other ones

View Details

Let’s take a look at Pundit and CanCanCan, two of the most popular authorization gems in Ruby: https://blog.appsignal.com/2023/03/22/authorization-gems-in-ruby-pundit-and-cancancan.html

View Details

Parklife turns any Rack app (Rails, Sinatra, Hanami, Roda, Camping) into a static HTML build ready to be hosted on GitHub Pages, Netlify, Now, S3, or any other web server. Keep working with the frameworks you already know and love but instead of deploying and managing a server-side Ruby app generate a static build that can live indefinitely with no maintenance cost. https://www.benpickles.com/articles/90-introducing-parklife

View Details

https://fly.io/ruby-dispatch/mrsk-vs-flyio/ compares MRSK, a new Docker-based deployment tool DHH has been working on, with Fly.io, a Docker-base cloud. MRSK takes about 30 steps to spinup, provision, & deploy an app vs Fly.io’s ~10 steps.

View Details

You can get pretty far with just regular old Rails and Postgres to handle your time-series data and graphs: https://census.dev/blog/time-series-data-with-ruby-on-rails-and-postgres

View Details

In this new post on the Martians blog, Head of Backend Vladimir Dementyev and Backend Engineer Pasha Kalashnikov show how the AnyCable-Go library can be used to control any WebSocket client.

View Details

Glimmer DSL for SWT 4.27.0.0 has just been released!

View Details

In this episode, we discuss features your editor or IDE should have with Amir Rajan: https://www.rubberduckdevshow.com/episodes/78-features-your-editor-should-have-with-amir-rajan/

View Details

Domain modeling is a tough and vast topic. I think hard and fast rules are difficult to come by. There are definitely guidelines and principles you can use though. I’ve compiled some of my favorites to code a system to play the guitar like one of my favorite guitarists. https://kevinjmurphy.com/posts/programming-guitar-greatness/

View Details

Monkey patching is a technique used in Ruby programming to modify or extend the behaviour of existing classes or modules at runtime. It involves adding, removing or modifying methods and attributes of existing classes or modules at runtime, without actually changing the source code of the original class or module.https://medium.com/@real_wyodeb/ruby-monkey-patching-an-introduction-d1328fc99da7

View Details

Apparently, ChatGPT has materialized in our world as a GUI (Graphical User Interface) via Ruby and Glimmer DSL for LibUI.

View Details

This article explores how to use markdown in Ruby. Learn how to use two popular Ruby libraries—Redcarpet and Kramdown—to parse markdown and create a simple documentation app using Redcarpet and Sinatra.https://www.honeybadger.io/blog/ruby-markdown/

View Details

In the second and final part of this series, we’ll develop a generalized user-local container for UI state in Kredis: https://blog.appsignal.com/2023/03/15/a-generalized-user-local-container-for-ui-state-in-kredis.html

View Details

Healthcare is an ever-evolving sector that continues to expand its reach and influence with the help of avant-garde technologies. Increased awareness of health and disease, along with advances in technology that support it, make healthcare a booming industry. Advancements in the healthcare industry will continue to grow in leaps and bounds as medical technology continues to advance at a rapid rate. The emergence of cutting-edge technologies comes with game-changing healthcare solutions that open up new avenues of treatment and transforms healthcare diagnosis altogether.

View Details

I encourage you to stop using the Ruby on Rails built-in solution for resolving the N+1 problem and switch to automatic preloading. Are you surprised it’s possible? Check it by yourself: https://evgeniydemin.medium.com/automatic-preloading-in-rails-the-dream-that-came-true-80ed4982ce2d

View Details

https://github.com/railsjazz/railsochrome how to print your log messages from the Rails app in the Chrome console.

View Details

In this episode, we discuss how to monetize your developer content with Seb Wilgosz & Lucian Ghinda: https://www.rubberduckdevshow.com/episodes/77-monetizing-your-developer-content-with-seb-wilgosz-lucian-ghinda/

View Details

We just released 🚀 a new version of VideoInfo (v4.0.0) with some new cool features (like a new method that returns statistics about the videos), some performance improvements and a lot of internal improvements. Hope you find it useful!

View Details

The natsukantou & epub-translator gems can translate XML and Epub respectively. They are more than just wrappers to DeepL/ChatGPT, but instead utilize various techniques to facilitate a better customization and user experience. This blog post covers those, such as middleware, comment reflection and command-line wizard.

View Details

I wrote more in-depth about little tweaks we could be doing in our Ruby or Rails projects to make Ruby an even friendlier place for people who are just getting started. https://fly.io/ruby-dispatch/little-gestures-of-confidence/.

View Details

HiI’ve just released my latest open source project https://searq.org.

View Details

Ractor is Ruby’s new Actor-like concurrency abstraction—it lets execute code in parallel without worrying about thread safety. This article is an excellent introduction to Ractors and how to begin using them in your Ruby code.https://www.honeybadger.io/blog/ractors/

View Details

If you want to work with frontmatter in Ruby, you need to know the front_matter_parser gem. Here is everything you need.

View Details

Recently we started upgrading Ruby 2.4 app. One huge change Ruby 2.5 introduces is removal of top–level constant resolution. This can cause serious runtime issues, remaining unspotted before hitting the production, especially if app lacks appropriate test coverage.

View Details

I wrote up a little adventure I had last fall debugging a spooky daylight saving bug ⏰🐛

View Details

In this episode, we discuss failing in public and how senior developers live-streaming their learning process could be beneficial to other devs: https://www.rubberduckdevshow.com/episodes/76-failing-in-public/

View Details

Object-relational mapping (ORM) is a technique used to connect and represent relational databases with object-oriented programming languages. Active Record is one of the most popular ORM frameworks available for web application development. Like any technology, Active Record has its pros and cons, which we will explore in this essay.

View Details

MRSK deploys web apps anywhere from bare metal to cloud VMs using Docker with zero downtime. In this episode, we will set up a Digital Ocean infrastructure with a Load Balancer, Virtual Machines, and a PostgreSQL database. We’ll use MRSK to provision and deploy our Rails application to the Virtual Machines. https://www.driftingruby.com/episodes/deploying-with-mrsk

View Details

Optymize is a leading marketplace to hire Node.js developers who are pre-vetted by our Talent Cloud Solution. You’ll get the top 3% of Node.js developers ready to integrate with your product development team. Hit the ground running in as few as 48 hours with a 2-week no-risk trial period. Visit - https://optymize.io/hire-developers/node-js/

View Details

I wrote a gem to print table schema in console. It will be helpful when you want to check the table schema in rails console. Gem repo: https://github.com/otorain/table_inspector

View Details

Did you know that we can use Bundler without a Gemfile?https://dev.to/notgrm/use-bundler-in-a-ruby-script-2dpn

View Details

I’ve open-sourced the bulk of my blog in the light_blog gem. My blog is hosted for free in GCP using the e2-micro engine. Check it out.

View Details

AnyCable v1.3 has been just released. The major highlights are embedded NATS support (no need to deploy a standalone pub/sub engine), smart configuration defaults for Fly.io , and out-of-the-box integration with Rails 7 error reporting interface.

View Details

Hello, for the record I am banned on r/ruby and r/rails and ruby-talk for what? Now I am under (ongoing) attack on github (and reddit) and on (for two weeks going). Does anyone care? (A rethoric question, isn’t it?) For the record - Please, rethink the perma-ban policy and actually ban perma-bans. For honest people like myself (if I dare to say) who use one “doxxed” account (and no sock puppets) the system is seriously broken and in favour of misuse. Cheers.

View Details

This post walks through the steps to add a dark-mode toggle to your Rails app with Tailwind and Stimulus JS. On top of actually implementing the ability to toggle back and forth, I’ll also go over some ways you can create your own custom dark theme

View Details

Are you tired of fixing N+1 issues? Maintaining proper eager-loading manually makes you unhappy? I have good news for you! There are one-line solutions that make N+1 go away. Doubts? Check my new post for the details. https://medium.com/@evgeniydemin/stop-using-eager-loading-in-your-rails-application-use-this-instead-b837f0246033

View Details

A collection of 25 cops for Rubocop to take your GraphQL code to the next level. Link: https://github.com/DmitryTsepelev/rubocop-graphql

View Details

In this episode, we have a Ruby IDE showdown with Adrian Marin, CJ Avilla & Eric Berry: https://www.rubberduckdevshow.com/episodes/75-ruby-ide-showdown-with-adrian-marin-cj-avilla-eric-berry/

View Details

Hello! New release of Rails 7. Start Kit. I this Release v1.8 I provide running the app in Production mode and also spent time to explain what an approach I use to configure my application. I hope the project and the release note will be helpful for you! Happy Coding!

View Details

The Ruby ecosystem is rich with tools that make us developers more productive at what we do. Both Rails and Sinatra have been used to build web application proof-of-concepts and prototypes. But which one is better?

View Details

Synvert provides the ability to write code snippets that can automatically rewrite your source code. This video demonstrates how to automatically use FactoryBot short syntax. https://synvert.substack.com/p/use-synvert-to-use-factorybot-short-syntax

View Details

Rendering async content in a modal has become really easy with the latest version of Turbo.js. There’s one trick that’s needed to ensure the validation errors stay displayed right in the modal.

View Details

Hello, are (generative) pixel art inscriptions (or public blockchain “graffitis”) the new warhols or tulips in 2023? The bitcon ordinals started the new craze / mania with inscriptions earlier this month, litecoin followed with inscriptions this week and can Elon Musk’s Doge be left behind? Prepare yourself and write yourself into the history books of all time with uploading / inscribing the world’s first punk doge (pixel) art collection / ordinals to the doge blockchain (database). SOON! See the - yes, in ruby - do-it-yourself (d.i.y.) step-by-step getting started (programming) guide to generate your own doge (pixel) punks and much more at the Punk’s Not Dead - Pixel Art Collection Quick Starter page / repo. Happy pixel pushing with ruby. Cheers. PS: Need inspiration? Appropriate inscribed public “graffiti” (pixel) art - see the ordinals sandbox for samples (“right-clicked & saved” with the ordinals ruby gem / machinery).

View Details

I’m incredibly excited to announce Friendly.rb, a new Ruby conference.

View Details

Hello, I have added (yet) some more updates to the ruby conferences & camps in 2023 calendar page over at Planet Ruby (as a free public service). Yes, built in ruby via github pages (jekyll) and an open datafile (in yaml) - see conferences2023.yml . What’s Upcoming? Rails Girls Rotterdam (FREE!), Ruby Unconf Hamburg (€75 - Regular, €80 - Business), and more. PS:Did you know - the calendar web feed gets (automagically) syndicated on Rubyland News. Anything missing? Yes, you can. Add an upcoming ruby conference or camp. PS: If you happen to be around in Vienna, Austria in March join us for Ruby Burgers( & Red Belgian Kriek Beer) @ Vienna.rb.

View Details

Render is one of the top replacements for hosting sandbox ruby apps for free. In this episode we guide you through the deployment process of your Hanami application, so you can have a complete, production-ready Hanami application on your own!

View Details

Here are little facts about Ruby memory that can help you get better results: https://evgeniydemin.medium.com/ruby-numbers-and-the-memory-how-i-got-confused-7f2fb53318be

View Details

I see a lot of people struggle to install Ruby 2.6.x on an Apple Silicon Mac, so I wrote a detailed guide that shows 3 ways to install Ruby 2.6 on Ventura, and explains why everything you’ve tried so far doesn’t work, and why you should consider updating your project to at least Ruby 2.7.7 instead.

View Details

Hello, for the artbase gem (and “right-clicker” comand-line tool & machinery) I have written-up a new follow-along step-by-step guide (anno 2023) using the latest & greatest pixel art collection, that is, 1000 Un(official) Ordinal Punks in 24x24px. Happy pixel pushing with ruby. Cheers. Prost.

View Details

Memory bloat in Ruby happens when someone loads a lot of data to the memory. Ruby Virtual Machine does not return most of the allocated memory to the operating system even after data is collected as a garbage. It’s not a big deal for local development or console programs, but if you have a bloat in the big Rails app it might cost you a lot of money.

View Details

Ruby2JS 5.1 comes packed with several very welcome features, including a brand-new Ruby-based configuration DSL, a “preset” option for sane defaults along with magic comment support for sharing portable Ruby2JS code, and and esbuild plugin. Let’s dig in a bit on all these new features! Also an update on the status of Ruby2JS and its open source governance.

View Details

In this episode, we discuss how to get stuff done with Drew Bragg: https://www.rubberduckdevshow.com/episodes/74-getting-stuff-done-with-drew-bragg/

View Details

Calling freeze on an object may not provide the immutability you expect. Here we dig into some of freeze’s nuances to explore a surprise of my own making I encountered working with ActiveSupport. https://kevinjmurphy.com/posts/modify-frozen-hash/

View Details

How to integrate GraphQL with resource_policy gem to create fine-grained access control for your API. https://dev.to/povilasjurcys/protect-your-graphql-data-with-resourcepolicy-1pef

View Details

Recently, the inline editing capabilities demand has increased a lot. It allows users to edit certain fields in a form directly on the form page, without navigating to a separate edit page. No refresh nor reload page is needed.https://dev.to/ahmednadar/rails-hotwire-mastering-techniques-for-streamlining-inline-editing-in-your-user-interface-1h5m

View Details

Hello, what if your github repos are gone with a 24-hour (email) notice while you are offline? Prepare yourself and keep your own backups using the gitti-backup and hubba gems. See the How-To Back Up Your GitHub Repos - A Step-By-Step Guide for a write-up. Cheers. Prost. PS: What are your options? Do you use your own script(s) or other readymade tool(s) - please tell.

View Details

Since we got a brand new Devise release working with Turbo, I am also releasing devise-otp 0.5.0 so you can use the gems together inside your Hotwire app. If you want to skip building up all these 2FA flows, Business Class got updated with these latest Devise gems too!

View Details

Implements the locking strategy from Redis Labs’ book about… Redis :) https://census.dev/blog/high-school

View Details

Hix is a setup wizard for the project configuration flow.Select from setup options and enjoy a perfectly configured project.https://hix.dev/

View Details

We all love rubocop gem. It makes code cleaner and closer to standards; it is easy to say something like rubocop -a or even rubocop -A and see how your code is getting better, at least more stylish.https://medium.com/@real_wyodeb/mastering-rubocop-769ae6bdb4cd

View Details

Have you ever felt frustrated when trying to prepare for an interview, and getting only questions like what is an MVC or what is the difference between a Class and a Module? Well, me too…https://t.co/hXWymzeF65

View Details

Let’s take a look at what we can expect from the upcoming Rails 7.1 release: https://blog.appsignal.com/2023/02/15/whats-new-in-rails-7-1.html

View Details

Hello, I have written-up a step-by-step guide to generate a “pixel-perfect” copy of the Top Selling 100 Ordinal Punks (in your own terminal) via text-prompts¹ (“attributes”)’. Yes, in ruby (using the pixelart gem, the artfactory gem, the punks gem, the backgrounds gem, the chunky_png gem, the cocos gem, the csvreader gem, & some more. Happy pixel pushing with ruby. Cheers. Prost. PS: Note¹ - Sorry - no artificial intelligence (a.i.) models in use :-( - just plain old “hard-coding by-hand”.

View Details

Sorbet is a static type checker for Ruby. In this post, we will walk though how we can add sorbet to a new Rails app. Along the way, we will also see a few examples of how sorbet can help you identify and fix bugs in your code.

View Details

In my opinion, Hanami is a breath of fresh air in the ruby world. Let’s take a look at why, and how it’s different from Rails.https://kukicola.io/posts/my-first-hanami-app/

View Details

Hello, in the ongoing crypto winter programming series in ruby I added yet another gem, that is, ordinals that incl. the ordbase command-line tool that lets you download, downsample & compose all-in-one ordinal (pixel art) collections from the bitcon blockchain via ordinals.com. See the ordinals readme for a ordinal punks step-by-step real-world example. New to ordinal punks? See Awesome 100 Ordinal Punks (Anno 2023) Notes. Happy blockchaining with ruby. Is bitcon up for a come back with ordinal digital artefacts? Are 8-bit golden (pixel) punks or birds (in png) the new digital gold nuggets? Cheers. Prost.

View Details

Exactly-once is the message delivery guarantee that most developers want to achieve in their systems. However, the implementation of the set of rules backing it up should include the application layer.

View Details

rodauth-oauth 1.2.0 has been released.

View Details

Due to Heroku turning into a Kafkaesque nightmare, I’ve moved RubyFlow over to fly.io. This comes with some teething issues due to the antiquity of the code, but I think I’ve sorted most of it out now. Let me know if any problems. (The front page is a bit slower to load due to how I’ve got the database temporarily set up in a separate data centre 😬 but this will resolve itself in due course.)

View Details

In this episode, we discuss hobby programming with Nick Schwaderer: https://www.rubberduckdevshow.com/episodes/73-hobby-programming-with-nick-schwaderer/

View Details

In Ruby on Rails, authorization can be implemented at the controller level, action level, or attribute level: https://dev.to/povilasjurcys/method-level-permission-control-in-rails-4fl5

View Details

A Ruby library, server, and command line client for generating PDF invoices got a brand new version. Prawn 2.4, Ruby 3.1+, the new description field and more.

View Details

http://opensource-heroes.com/ is not fully related to Ruby, but a fun fact, the well-known Rubyist Ankane is #64 in global rating as an individual by a number of stars of his projects.

View Details

Hello, I have added some more updates to the ruby conferences & camps in 2023 calendar page over at Planet Ruby (as a free public service). Yes, built in ruby via github pages (jekyll) and an open datafile (in yaml) - see conferences2023.yml . What’s Upcoming? Rails Girls Rotterdam (FREE!), Ruby Day Italy, Helvetic Ruby, Ruby Kaigi, Ruby Conf Thailand, Wrocław Ruby, and more. PS:Did you know - the calendar web feed gets (automagically) syndicated on Rubyland News. Anything missing? Yes, you can. Add an upcoming ruby conference or camp. PPS: For the record I posted to r/rails too and - surprise, surprise - got censored - for what? Update: After asking the mod to unflag I am now muted and perma-banned on r/rails.

View Details

Database transactions are an essential tool to master. Because ActiveRecord’s transactions interface is not intuitive (and not well designed IMO), this article explains how to use it and explains what pitfalls you should pay attention to.

View Details

Have you heard of the assert_valid_keys method for the Hash class in Rails?

View Details

Hello, The Norwegian writes: Unless you’ve been living under a rock the last week, you’ve probably heard about Ordinals (and the top collection, that is, Ordinal Punks). The top selling alien ape with a $200 000+ all-time-high sale. Is it a classic fake wash trade or a love the (pixel) art real historic trade? Anyways, did you know that all 100 ordinal punks are generated in ruby with the punk command-line that incl. the punk spritesheet and ships as a ruby gem package. Read full background story. PS: Do you know any other “hidden champion” ruby story? Please, tell.

View Details

ActionMailer extension works as a balancer that allows safely migrating to a new email provider, proportionally distributing the email sending load between two different sending services and keeping the sending equilibrium. For example, you set up 70% with SendGrid, and 30% with Mailtrap (or any other provider).

View Details

GoodJob is a modern ActiveJob backend that’s been gaining traction lately. We just published the judoscale-good_job gem to integrate GoodJob with the Judoscale autoscaler. Here’s how to autoscale your GoodJob queues with Judoscale.

View Details

How to clean up your app’s trash with examples In Ruby: https://census.dev/blog/external-garbage-collection

View Details

Hello, in the ongoing crypto winter programming series in ruby I added yet another gem, that is, abi2ruby that lets you generate ready-to-use (blockchain) contract services / function calls for ethereum & co. via application binary inferfaces (abis). See the abi2ruby readme for some first real-world examples. Happy blockchaining with ruby. Cheers. Prost.

View Details

Learn how to mimic the current time in production on a Rails server and debug your application. Discover techniques to set the time and date in production, as well as tips on how to simulate travel time. Get the most out of your Rails application in production with these helpful tips.

View Details

A long and personal article: about how my 2022 went in Ukraine, why I still found some time to work on Ruby programming language, and why it matters to me.

View Details

During the last weeks new versions of Tonic have been released 🚀 (last is v0.14.3) with some new useful features for your collection!

View Details

My RubyConf 2022 talk video on “Building Native GUI Apps in Ruby” using the Fukuoka Award Winning Glimmer DSL for LibUI has just been released!

View Details

Have a large task you need a Ruby Set for but it’s too big to fit in memory? We open sourced our hybrid Ruby Set that spills to disk using SQLite when the Set goes over a threshold: https://census.dev/blog/anansi

View Details

How much does it cost you to carry dead code? How do you find and remove zombie Ruby code?

View Details

In this episode, we discuss game development using the DragonRuby 2D engine with Amir Rajan: https://www.rubberduckdevshow.com/episodes/72-dragonruby-game-development-with-amir-rajan/

View Details

Hello, in the ongoing crypto winter programming series in ruby I added yet another gem, that is, abidump that ships with a command-line tool that lets you dump / pretty print or (re)format application binary interfaces (abi) for Ethereum & Co.. See the abidump readme for some first real-world examples. Happy blockchaining with ruby. Cheers. Prost.

View Details

The asset pipeline can be confusing. So, in this episode, we explore Sprockets and the movement towards Propshaft, a new Rails library for managing assets. We’ll also have a look at some nuances with jsbundling and how to overcome them. https://www.driftingruby.com/episodes/demystifying-the-asset-pipeline

View Details

Hello! New release of Rails 7. Start Kit is here! Release 1.5. This release introduces RSpec as a part of the project. Full list of recent changes you can find in the release list. Have an easy and happy coding!

View Details

The Ruby Changes (open, structured, explained, and cross-linked changelogs for Ruby) is updated to include all Ruby 3.2 changes with all the “why”s, “how”s, and links to docs and discussions!

View Details

Hello, I have updated the ruby conferences & camps in 2023 calendar page over at Planet Ruby. Built in ruby via github pages (jekyll) and an open datafile (in yaml) - see conferences2023.yml . What’s Upcoming? Rails Girls Rotterdam (FREE!), and more. PS:Did you know - the calendar web feed gets (automagically) syndicated on Rubyland News. Anything missing? Yes, you can. Add an upcoming ruby conference or camp. PPS: For the record I posted to r/rails too and - surprise, surprise - got censored - for what?

View Details

Bridgetown gets better with every release and along with rock solid static site features, the optional dynamic capabilities go well beyond a simple SSG. That said, your growing Bridgetown site might rely on external services and APIs at some point and managing their credentials with environment variables is tedious at best. Enter the Bridgetown Credentials plugin which implements the best parts of credentials from Rails: Commit encrypted credentials to the repo and decrypt them on the fly.

View Details

In the same way, words or the language (we speak) shape our thinking and our reality, programming language constructs or features shape how we define a problem and the solution that we code for that problem:

View Details

Hello, in the ongoing crypto winter programming series in ruby I added yet another gem, that is, abi2sol that ships with a command-line tool that lets you generate solidity (contract) source code from application binary interface (abi) definitions (in json). Happy blockchaining with ruby. Cheers. Prost.

View Details

We’re happy to announce, that for Episode #050 we’ll host a QA session with Hanamicore team! And all of you can be a part of it! Ask your questions here! 👇

View Details

A curios core class design decision made for happier coding.

View Details

Let’s start the new year with a hot take! I think Authentication Zero is a bad idea for security. I summed up here why I think that:

View Details

What’s ahead in 2023 in rubyland? I am not making it up my “good old friends” - Richard Schneeman (Schneems) and Brandon Weaver - that perma-banned “cancel cultured” for life my humble selffrom r/ruby & ruby-talk (see r/planetruby for some background)are now leading a conspiracy to “cancel culture” DDH from rails. Can it get any more absurd than that? What’s your take on the absurdity in the name of “wokeness” in rubyland in 2023. Whom do you want to “cancel culture”? Let’s conspire ;-). What if you are next? (Hint: If you are a random nobody like my humble self - nobody cares - they will tell you to “move on”).

View Details

Debugging applications can get hard. Unless you know what happened. You can make it easier for yourself, specifically in the most important parts of it. Check out how RailsEventStore can help there.https://blog.arkency.com/simplify-your-system-debugging-by-introducing-event-store-linking/

View Details

Hello, to start off the new year with looking ahead I started a new page titled If I Were ~~King~~ Matz (aka Yukihiro Matsumoto) - Ideas For Ruby 4.0 - What’s Broken & Missing in Ruby 3.x and How To Fix It that is a (living) quick draft of ideas (backed-up with code & monkey-patches that you can use / try out today). Your questions and comments welcome. Happy new year. Prosit 2023!

View Details

With the release of Turbo 7.2, we gained the ability to create custom actions in Turbo. This allows us to trigger functions on the client side that would have been difficult or cumbersome to do in the past. In this episode, we look at setting up custom actions and how to use them. https://www.driftingruby.com/episodes/custom-turbo-stream-actions

View Details

More recent versions of IRB introduced a bunch of useful commands like show_doc. The arguments to these commands don’t need to be Ruby objects, so that things like show_doc String#gsub just work.

View Details

Rails bullet gem is here to solve the N+1 query problem. Let’s create this problem first, and solve it thanks to the Rails bullet gem.

View Details

I just released HexaPDF 0.28.0 with many small enhancements as well as a restructured documentation site and great performance numbers courtesy of Ruby 3.2.0+YJIT

View Details

Hello, to help out all ethereum & co gems in rubyland I have started a new abicoder gem that includes application binary interface (abi) encoder & decoder for easy (re)use with zero-dependencies on any 3rd party gems incl. any of my own ;-). The idea is to work together in 2023 on any missing functionality - I have already pinged / invited the eth.rb lead. Happy blockchaining with ruby. Happy New Year. Prosit 2023! PS: A little user survey - What’s your ethereum gem of choice? Does it support tuples (or tuple arrays) in (contract) function calls?

View Details

Ruby has a mechanism for handling errors and exceptions in a clean and organized manner, but using exceptions too frequently or improperly can negatively impact the performance of a Ruby application.

View Details

This post celebrates my first code commit merged into Ruby with the years-long tale of what put me in position to make the change. https://kevinjmurphy.com/posts/my-first-code-commit-in-ruby/

View Details

ShinyGems connects maintainers with passionate developers who want to make ruby ecosystem better. shinygems.dev

View Details

Do you want more users on your business or company website? Acwits Services Pvt. Ltd. is the best SEO Company in Noida, Delhi NCR, India, providing the best SEO services to increase website ranking in SERPs and traffic. We use the latest tricks and SEO practices to promote your business on a large scale and get more visitors to your website. We offered the best SEO services to a wide range of organizations and businesses in order to boost their website rankings and achieve the best organic results. To know more about the company, visit https://www.acwits.com and contact us at hello@acwits.com

View Details

Hello, I have started on a new abiparser gem that includes application binary interface (abi) parser machinery / helper for Ethereum & Co. (blockchain) contracts and started to document function signature hashes (“sighashes”) / selectors and interface (type) ids and more - all using coding examples in ye good olde plain ruby. Happy blockchaining with ruby. Are abis (application binary interfaces) the new apis (application programming interfaces)? Discuss. Cheers. Prost. PS: A first (upcoming) “real-world” usage-case is the new abidoc gem that - surprise, surprise - generates abi documentation pages from public abi (contract) specs (in json) parsed with the abiparser gem.

View Details

My yearly blog post about Ruby performance: https://gettalong.org/blog/2022/benchmarking-rubies.html

View Details

We are recognized as the best AngularJS Web Development Services that helps you to reach your goal. Outstanding service and high level of customer satisfaction is what we aim. https://www.techgropse.com/angular-js

View Details

Mobile Gaming is the most rapidly growing segment of the gaming industry as smartphone and tablets sales have increased sharply. We specialize in mobile game apps development.https://www.techgropse.com/mobile-game-app-development

View Details

Best Flutter App Development Company for all mobile app development needs. Flutter is an open source mobile application development framework developed by Google and is considered one of the most lightweight frameworks for developing high-quality applications for both iOS and Android. Few core features https://www.techgropse.com/flutter-app-development-company

View Details

As a hybrid app development company we provide best hybrid mobile app development services. Consult with our hybrid developers. 14 Days Free Trial. Know more ! https://www.techgropse.com/hybrid-app-development

View Details

Techgropse is the best best android app development company. We provide best android app development service in USA ,UAE & India .Get free consultation at ! https://www.techgropse.com/android-app-development

View Details

We use FilePond, a drag-drop JS upload library, and integrate it with Active Storage in this tutorial: https://codewithrails.com/filepond-active-storage

View Details

Glimmer DSL for SWT (JRuby Desktop Development GUI Framework) has just had a major release for the quarterly update of the Eclipse SWT library, which is now up to version 4.26. Glimmer DSL for SWT now matches it with version 4.26.0.0.

View Details

Hello, I updated the artq gem that let’s you download complete “on-chain” layers of artwork for your own “off-chain” character designers. To get you started I downloaded 20+ layers in the Art Factory Sandbox for easy (re)use. Tip: Use the artfactory gem to generate artwork (profile pictures) from the layers (via a spritesheet) and text prompts - no A.I. stable diffusion models required ;-). Happy pixel pushing with ruby. Cheers. Prost.

View Details

abstract_feature_branch is one of the simplest and most minimalistic “Feature Flags” ruby gems out there. It enables you to get started very quickly by simply leveraging YAML files without having to set up a data store if you do not need it (albeit, you also have the option to use Redis as a very fast in-memory data store).

View Details

Split is a very common method not only in Ruby, but also in the programming world. Let’s see what does .split means for a Ruby Array.

View Details

If time is money, page speed is revenue. Integrating Lighthouse into your CI/CD pipeline brings valuable insights to make speed a priority during development.

View Details

This is a courtesy reminder of the Glimmer Competition deadline (3 weeks away). Build a code editor native desktop app in Glimmer DSL for LibUI (Ruby Desktop Development GUI Library) by Jan 15, 2023. It’s a fun educational task to do during the Christmas/New-Year break!

View Details

I’ve started Hanami Mastery in the spirit of inspire others to blog more. Today we’re taking this idea to the next level by releasing the first episode of “content_for :devs” podcast!

View Details

We ❤️ Tailwind CSS, but sometimes it’s challenging to manage the state of some elements using conditionals. class_variants is a tiny helper that should enable you to create, configure, and apply different variants of elements as classes.

View Details

Hello, as a long time ruby volunteer I try to contribute by managing the Planet Ruby and the (newer) Ruby Code Commons (COCOS) orgs. Believe it or not in 2022 I got perma banned on ruby-talk after getting perma banned last year on reddit ruby. And yes, so far not a single contribution on Planet Ruby or Ruby Code Commons (COCOS) in 2022. Such is the health of the ruby community in 2022. What’s your experience? Is ruby dead or dying (if you are off-rails)? Discuss. Please, share your thoughts or commentary.

View Details

The new version of Trailblazer adds loops in operations, composable filters for step input and output, and even a cool IDE! Here’s the blog post.

View Details

How to reduce the technical debt when the application grows in Hanami? Use slices, as the key feature to revolutionize the way you think about web applications in Ruby.

View Details

Discover the benefits of memoization for your Ruby application, common mistakes to avoid, and when not to memoize.

View Details

In this post we will see how applicative programming can be used for implementing code in the Railway style using a gem applicative-rb.

View Details

From Rails 7.1, has_secure_password now includes a password_challenge accessor to validate it against the currently persisted password. Check out more on this here.

View Details

A short article about how to simplify the Rails console command thanks to the aliases file.

View Details

A detailed overview of some of the features coming to Rails 7.1. This is part 1 of 3.

View Details

Hello, in the ongoing ruby crypto winter series I put together another little gem, that is, ethname - a light-weight crowd-sourced “off-chain” ethereum name to (contract) address service / helper (incl. punks v1,v2,v3,v4; phunks v1,v2, synth punks, punk blocks, etc.). Yes, you can! Add more names / contracts via git (hub) ;-). Happy data wrangling / processing and blockchaining with ruby. Cheers. Prost.

View Details

https://codewithrails.com/ruby-enumerator-product - We can now create Cartesian products with multiple arrays/ranges using the convenient Enumerator.product(x, y, 1..3) syntax on Enumerator objects.

View Details

Let’s take a look at the most simple, straightforward way to receive webhooks in a Ruby on Rails application.

View Details

Hello, I put together a little gem, that is, etherscan-.lite, a light-weight machinery / helper for the Etherscan JSON HTTP API. To get your started I tried the official etherscan recipe examples. 1) Get All USDT Transfers from Binance 2) Get the Latest Moonbird Non-Fungible Token (NFT) Transfers 3) List ETH deposits to Arbitrum Bridge. Happy data wrangling / processing and blockchaining with ruby. Cheers. Prost.

View Details

A one-liner that copy the exact same behavior as the cat command. It works just fine with files and STDIN: SEE ONE-LINER.

View Details

A short article about how to sort an array in Ruby. It’s a classic problem in other languages too, so let’s explore the Ruby case.

View Details

Discover these CI/CD jobs that are both widely applicable and generally useful that they can fit into any repository.

View Details

Rails Event Store 2.7 is coming in days with a new experimental feature SnapshotRepository.https://blog.arkency.com/speed-up-aggregate-roots-loading-with-snapshot-events/

View Details

I wrote an article introducing new features @k0kubun and I made to IRB v1.6, which will be the built-in version of Ruby 3.2: https://st0012.dev/whats-new-in-ruby-3-2-irb

View Details

Mock Suey is a collection of tools (and a new gem in the {TestProf](https://test-prof.evilmartians.io/#/) family) which helps to avoid false positives when using mocks in Ruby tests.

View Details

Ruby on Rails creator and Co-owner & CTO of 37signals David Heinemeier Hansson shares his way of doing business in the software industry.

View Details

Handling exceptions is one of the most needed features for any application that can scale. If you are wondering, how to handle errors in Hanami 2 applications, don’t look for more.

View Details

https://codewithrails.com/alpinejs - How to install Alpine.js and build UI interactions like a modal and flash message integration

View Details

Are you working on Ruby on Rails Applications that are constantly on fire, overwhelmed by technical debt? What if you were building Technical Wealth instead? Learn which tools & strategies to work with legacy code effectively, remove dead code, and leave tech debt behind.

View Details

The conclusion to Alex Braha Stoll’s 5-part series on how to build a toy programming language in Ruby.https://www.honeybadger.io/blog/ruby-stoffle-conclusion/

View Details

In this episode of the Rubber Duck Dev Show, we discuss whether you should store business logic in your database: https://www.rubberduckdevshow.com/episodes/68-should-you-store-business-logic-in-your-database/

View Details

Here’s manual steps as well as IaC blueprint to deploy a Rails application to Render (including a Sidekiq worker).

View Details

Elixir pipelines are an elegant construct for sequencing operations in a readable way. Fortunately, 9 lines is all it takes to implement them in Ruby.

View Details

Hello, while hashing “to-the-metal” byte arrays in ruby I am revisiting / reworking the bytes gem that offers a new Bytes (ByteArray) class as a “type-safe” alternative to the String class with ASCII_8BIT / BINARY encoding. Did you know? A ruby string might be a frozen string, a string buffer, a character, a bytearray, or you name it ;-). Anyways, if anyone has any comments or tips & tricks on how to work with bytearrays (bytes) in ruby, please tell / share.

View Details

A new version v0.9.0 of Tonic has been released! It essentially includes a couple of cool new features:

View Details

Hello, I put together for easy (re)use a new stand-alone gem, that is, digest-lite that includes more crypto(graphic) hash functions / classes e.g. Digest::KeccakLite (512bit, 256bit, etc), Digest::SHA3Lite (512bit, 256bit, etc) in “100% pure” ruby “lite” scripts, that is, without any c-extensions and with zero-dependency. Cheers. Prost.

View Details

Validation errors happen. In some applications it might be interesting to keep track of them. This gem helps you keep track of the ActiveRecord validation errors that have been triggered on a model.

View Details

Being a web-developer is one of the coolest jobs in the world. It brings freedom and growth opportunities like no other job in the world. It’s easy to just enjoy the fruits of this craft. But remember with great benefits comes great responsibility. In this article let’s explore possible negative consequences of trying random cool stuff

View Details

A Ruby multithreaded crawler is a type of web crawler that is built using the Ruby programming language and is designed to use multiple threads to crawl and process multiple pages concurrently. This can help to improve the speed and efficiency of the crawler, as it can process multiple pages at the same time rather than having to crawl and process them sequentially.

View Details

Improve your Rails application’s performance by fine-tuning and scaling your database:https://blog.appsignal.com/2022/12/07/database-performance-optimization-and-scaling-in-rails.html

View Details

Hello, inspired by the “on-chain” Synthetic Punks V1 by Stephan Cilliers I put together a “off-chain” synthpunks gem / library in ruby that lets you generate (free unlimited) pixel punks using the same pseudo-random formula and spritesheet for any (ethereum) address (or any 40-digit / 20-byte hexstring really.) Bonus: Add your own backgrounds or derive your own set of default profile pics and more. Happy pixel pushing (“off-chain”) with ruby.

View Details

Let’s look at what Hanami 2.0 brings in terms of slices, dependency management and performance.https://blog.appsignal.com/2022/12/06/a-first-look-at-hanami-2-for-ruby.html

View Details

The rodauth-omniauth gem is a much more integrated solution for social login compared to what Devise offers, see how to set it up in a Rails app in this article.

View Details

In this episode, we discuss what happens after you run RubyCritic and see all the code recommendations with Ernesto Tagwerker: https://www.rubberduckdevshow.com/episodes/67-what-happens-after-rubycritic-with-ernesto-tagwerker/

View Details

Outlets let you reference Stimulus controller instances and their controller element from within another Stimulus Controller by using CSS selectors. In this episode, we look at a simple example and then refactoring some older code where we used some workarounds to communicate with other stimulus controllers. https://www.driftingruby.com/episodes/stimulus-outlets-api

View Details

RubyConf 2022 talk slides for “Building Native GUI Apps in Ruby” have been posted, including a mention of a new Glimmer DSL for LibUI release that finally leverages a newer version of the C libui library, supporting a new open_folder dialog:

View Details

Hello, a little experiment in the ongoing pixel art programming in ruby series. The idea - let’s turn pixel punk heads into default profile pic(ture)s via Image#silhouette (from the pixelart gem). Bonus: Use Image#circle (from the pixelart gem) to “round out” the square (profile picture) image. See Yes, You Can - Generate Your Own Default Profile Pics (PFPs) @ Punk’s Not Dead for do-it-yourself (d.i.y.) examples and (ruby) scripts.

View Details

Video coverage of theThis Week in Rails newsletter

View Details

https://www.rubycademy.com/cards/time-utc

View Details

Code snippet about the flip/flop operator SEE CODE SNIPPETS

View Details

Have you ever wanted to add a simple CLI to one of your small Ruby libraries, but did not want to add the dependency for thor or some other CLI library/framework? Well now you can copy this boilerplate code for a zero-dependency Ruby CLI class! Features include:

View Details

This gem implements the slotted counter pattern for Active Record counter caches with the compatible interface (so you can you belongs_to ..., counter_cache: true as before).

View Details

Even if Ruby is a fully Object-Oriented Programming language, it can also be interpreted through some other specific prisms.. SEE MORE

View Details

Learn advanced notions & tricks with our cards. https://www.rubycademy.com/cards

View Details

In this episode of Hanami Mastery, we’re showing how to avoid unexpected gem updates, when you need to bump versions on large projects.

View Details

This post describes a common issue you can have while developing a Rails app switching between branches

View Details

Wrote a blog post on how to create a full authentication easily with the Authentication Zero gem: https://codewithrails.com/rails-authentication

View Details

Rails vs other frameworks. See the results, if you haven’t already: 2022-07-19: https://www.techempower.com/benchmarks/#section=data-r21

View Details

http://www.rubycademy.com/rails-routes-g

View Details

Tutorial to extract key(s) and value(s) from Hash in Ruby on Rails.

View Details

Thor Ruby gem is a great tool to quickly build a CLI (Command-line interface) app.

View Details

https://medium.com/rubycademy/the-evolution-of-ruby-strings-from-1-8-to-2-5-8b2ed8f39fad

View Details

SEE MORE

View Details

In Ruby, a module can be used as logical entity. It groups methods at a module level without using the mixin facility — for example, the Base64 module… SEE MORE

View Details

Do you clean your old DB migrations? I do and explain why here and share my Rake task code to make it easy for you to do so: https://codewithrails.com/clean-up-db-migrations.

View Details

“Do you have any questions for us?” the interviewer asks. This is your chance to find out if the company if a good fit for YOU.

View Details

https://pawelurbanek.com/rails-heroku-dokku-migration

View Details

Changing careers is a long, often-overlooked process. But I want to share both the (linear) story and the (messy) history of how I became a software engineer. And like a lot of good stories, mine always starts with a lie.

View Details

What is Rack application? What is middleware? How to use Rack in Ruby on Rails and webservers? Click here to Learn about Ruby Rack, middleware in detail.

View Details

A secure Ruby application framework is the best choice for many. Read this article to learn more about Ruby on Rails Security. Read here on Securing Rails Applications

View Details

In Ruby, block scopes are flattened with higher scopes… SEE MORE

View Details

https://blog.saeloun.com/2022/11/23/rails-includes-second-options

View Details

https://medium.com/rubycademy/magic-comments-in-ruby-81d45ff92e34

View Details

The first ever BridgetownConf, recently held online as a Zoom conference, was a success. Now all of the videos are available here on the BridgetownConf website, with content suitable for newbies to the framework all the way to more advanced examples. Enjoy!

View Details

Hello, building on the new ethlite gem that lets you call (read-only) blockchain contract services I put together ArtQ - a new command-line tool (and gem) that lets you query (pixel) art collections “off-blockchain” such as Moonbirds or “on-blockchain” such as The Saudis via JSON-RPC (in your termial / shell). See the artq gem page for more. It’s the early days ;-) - download for artwork layers upcoming. SOON!

View Details

https://blog.arkency.com/handling-third-party-webhooks-with-rails-event-store/

View Details

https://hanamirb.org/blog/2022/11/22/announcing-hanami-200/

View Details

https://blog.saeloun.com/2022/11/22/data-immutable-object

View Details

Examples and info on creating route constraints for those times when you’d like a little more control over your routes.

View Details

Rubber Duck Dev Show Episode 66 is released! In this episode, we discuss the practice of testing top-down first (UI / Full Stack) or bottom-up first (Unit). We also cover usage and issues with “soft” deleting data in your application: https://www.rubberduckdevshow.com/episodes/66-top-down-or-bottom-up-testing/

View Details

Did you miss RubyConf Mini and are you wondering what happened? Were you were there and want a hit of nostalgia about that thing from DAYS ago? I’ve got you covered with my recap.

View Details

The clamped gem allows to filter values by a provided whitelist. For example, "apple".clamped(%w[apple banana]) # "apple". If apple is not part of the array, nil is returned. This is e.g. useful to filter values provided by user input.

View Details

Hello, the World Cup 2022 kicks off today (in Qatar). Any open data or web service json api out there for the football match schedule? To get you started w/ ruby and the sportdb gem(s) I started adding new datasets for the World Cup 2022 in the (structured) Football.TXT format (e.g. /2022–qatar/cup.txt, etc.) that you can read into any SQL database (and than export to JSON, for example). Anyways, it’s the early days. If you know any ruby scripts or open data or json apis for the world cup, please tell / share.

View Details

https://www.solutelabs.com/blog/how-to-generate-password-protected-pdfs-in-ruby-on-rails-with-wickedpdf

View Details

https://blog.arkency.com/verifying-content-security-policy-with-selenium-and-cuprite/

View Details

My approach for setting up Docker & Rails, so it’s easy for any developers to join in on the project: https://codewithrails.com/rails-docker

View Details

Developers can create some incredible applications using Ruby on Rails best gems. Using Ruby gems is a standard practice in developing web applications in Ruby on Rails. Using the gems listed here, along with other Ruby gems, it is possible to create a customized Rails app that fits the needs of any company, and allows for fast software development, to get fast time-to-market, and stay competitive. A Gem in the Ruby programming language is a software package where Ruby applications or libraries can be deployed in a uniform format. For Ruby on Rails gems, an interface is a command-line tool called a gem that can install and manage a library. A gem embeds the Ruby programming languages runtime loader, which helps to find and load installed gems from unified libraries folders. RubyGems is a package manager for Rails which includes a standard format for distributing Ruby programs and libraries (in the form of a self-contained framework known as gem), a tool to manage the installation of the gems, and a server for shipping them. Read: How to create a gem in Ruby on Rails?

View Details

When it comes to developing Web applications, there are literally dozens of frameworks available for almost any programming language, but two of the best known and trusted are Django in Python and Rails in Ruby. Ruby on Rails has the best examples for building web applications, showing its dominance over a vibrant web community, while the Ruby programming language is similar to a complete solution, where applications are found across the backend, the M.L., and the web. Python-based is ranked among the best programming languages, and is known to emphasise the clarity and readability of code, while Ruby on Rails is known for attributes like flexibility and freedom, as well as for its easy-to-understand syntax. Django is among the most popular Python-based frameworks among experts in the language. Read More on RoR vs Django

View Details

The Module#refine method allows you to register a monkey-patch for a specific class that can be applied whenever we want by calling the Module#using method… SEE MORE

View Details

Hello, if anyone tries to request data from the ethereum (open) blockchain (service / database) with ruby sooner or later you might want to understand the magic and put together a to-the-metal “raw” json-rpc request with a recursive length prefix (RLP) encoded-data package. Good news - there’s a rlp gem with 1+ millions downloads; bad news - last update in 2016 and the (ruby) source code is officially archived / read-only). Anyways, using the “best of the both worlds”, that is, the “inline” rlp encoder/decoder from the eth gem and the rlp gem itself I put together a new rlp-lite gem. It’s the early days ;-). You are welcome to join in and try the new kid on the block. What are your (eth) options (in ruby) that you use? Please tell / share / discuss.

View Details

With 7.0s release, many new, game-changing features are coming to the table, making Rails as powerful as it is ever been. If your application is running Rails 6.1 or earlier versions, upgrading to the latest features in Ruby on Rails 7.0 will provide increased security, cost-effective maintenance and development, as well as improved application performance and UX. Read in detail

View Details

Ruby on Rails vs NodeJS: A head-to-head comparison. Learn top features of Ruby on Rails and NodeJS and 8 key differences between ROR and NodeJS. Read More

View Details

Asking questions at the end of the interview is how you know if they are a good fit for you.

View Details

Recently we discovered that we were wrong on computing lock key for acquiring advisory locks. It was already covered as an update to article about building read models, but we thought that telling the whole story behind the issue could be interesting for you.

View Details

https://blog.saeloun.com/2022/11/15/strict-sqlite

View Details

Hello, if anyone is crypto (blockchain) programming in ruby - sooner or later you will need a Keccak and/or SHA3 (crypto) hash function / digest class - some popular options are gems with c-extensions - so with great surprise I found this week “less popular” hidden (crypto) gems in “plain-old” ruby and zero-dependencies on c-extensions. The two options are Keccak256 by Evan Taylor and SHA3 (“Pure Ruby”) originally by Christian Neukirchen et al and “gemified” by Shannon Skipper. Thanks! Anyways, I have started to use the “hidden (crypto) gems” in the ethlite gem that lets you call (blockchain) contract (services) via JSON-RPC and all works out great so far. What are your (crypto hash or eth) options (in ruby)? Please tell / share / discuss.

View Details

Are you looking for an elegant solution to pipe output from your Ruby code to Sonic Pi? This isn’t it. But it does work.

View Details

Semantic versioning is a useful approach to version your projects or gems - let’s deep dive into it together!

View Details

Rubber Duck Dev Show Episode 65 is released! In this episode, we discuss whether Ruby on Rails Active Record callbacks are good or evil: https://www.rubberduckdevshow.com/episodes/65-callbacks-good-or-evil/

View Details

Learn how to deploy a typical Rails application to Fly.io including PostgreSQL and Redis.

View Details

“ C#, Go, Java, Ruby, and Swift” The NSA recommends to use one of these languages to prevent memory based attacks. Memory violations cause up to 70% of all security violations regarding to Microsoft and Google researchers. A great day for Ruby! https://media.defense.gov/2022/Nov/10/2003112742/-1/-1/0/CSI_SOFTWARE_MEMORY_SAFETY.PDF

View Details

Service objects and/or after_commit callbacks are ubiquitous in most real-world Rails applications. Whether it’s a good idea or not (ActiveRecord callbacks - I’m looking at you) is a different story, but one thing that is notoriously overlooked in the application design is reliability. And yes, the service objects are equally bad as after_commit callbacks in that regard.

View Details

ActiveWorkflow 0.9.16 has been released. This is a minor release that adds the ability to wipe out workflow state (useful during workflow development) by removing all messages, log records and agent memory with a single button (with confirmation, just in case). Heroku “demo” mode was removed since a free tier seems to be no longer available (you can still deploy to Heroku with your own configuration). Multiple dependencies were updated.

View Details

Released command_kit 0.4.0. Adds modules for invoking the default text editor (aka $EDITOR), also printing key/value fields, bulleted lists, and tables in a variety of formats (see examples/printing/tables.rb)!

View Details

Released ruby-nmap 1.0.0! This major release switches to the brand new command_mapper library (which handles mapping in nmap options to class attributes), adds support for more nmap options, and improves parsing of structured NSE script output data from nmap XML output. See the UPGRADING guide on how to upgrade from 0.10.0 to 1.0.0.

View Details

in_order_of is a new method in Rails 7 that allows you to sort by enum values directly in SQL

View Details

Hello, In the ongoing learn pixel art programming with ruby series I put together a new artfactory gem that let’s you generate pixel art via text-to-image prompts - no A.I. training or models needed / required ;-). The “magic” works via all-in-one image spritesheets (and meta datasets in .csv). To get you started I “right-clicked & saved” about a dozen “on-blockchain” artwork layers for easy “off-blockchain” (re)use. Happy pixel pushing and profile pict(ure) pixel art generation with ruby.

View Details

Have you ever tried to create a good-looking email design from scratch? Or how about using TailwindCSS to write your email layouts?

View Details

https://medium.com/rubycademy/unlearn-programming-to-learn-ruby-b1cbc5e2fed

View Details

Sharing some examples of flaky tests from my experience. https://tejasbubane.github.io/posts/2022-11-08-spotting-flaky-tests?utm_source=rubyflow

View Details

Hello, Some years ago I used to organize and publish “25 Days of Ruby Gems - Ruby Advent Calendar 2020, December 1st - December 25th” and such (ironically I am cancel-cultured and perma-banned twice in the ruby world, that is, on r/ruby and ruby-talk (- see the (Ruby) Case Studies @ Choose A Conduct for the backstory). Anyways, let’s (re)try and revive the tradition with a punk (pixel) art twist (or is that pivot?). The idea is to publish a (free ruby pixel art programming how-to) article a day starting December 1st, 2022 that shows how you can put together (yes, you can!) do-it-yourself (DIY) a punk (pixel) art collection (from scratch). Yes, in ruby. You are more than welcome to “claim” a day and sign-up for an article in the series. .

View Details

Check out some ways to scale your Ruby on Rails applications, including with caching and background workers. https://blog.appsignal.com/2022/11/09/how-to-scale-ruby-on-rails-applications.html

View Details

Rails 7.1 adds the ability to pass a hash of columns and aliases to be selected with the ActiveRecord::QueryMethods#select and ActiveRecord::QueryMethods#reselect methods.

View Details

Spektr is a static-code analyser for Ruby On Rails applications to find security issues.

View Details

https://pawelurbanek.com/rails-debug-aliases

View Details

Preparing for stable release in two weeks: https://hanamirb.org/blog/2022/11/08/announcing-hanami-200rc1/

View Details

https://medium.com/rubycademy/3-ways-to-use-regexp-capture-groups-with-back-references-in-ruby-b4969cc9b3ec

View Details

I’ve hosted my site on Heroku for over 13 years, but I’ve now rewritten it and deployed it to GCP under a new domain: rosenfeld.page. Here’s the last article with the announcement.

View Details

Recently, our friend from a different software company asked us for some help with mutant setup. We asked to share a sample test to discover what can be wrong. When I read the snippet on a slack channel, I had immediately written:

View Details

Dual Booting aims to solve when upgrading a Rails application, so we can borrow the dual booting idea and apply it to a gem: The gem adds compatibility with the next Rails version, without losing compatibility with the current one, allowing us to modify the gem at any point during the upgrade process ensuring that the latest version of the gem is compatible with both Rails versions.

View Details

This gem provides OmniAuth integration for Rodauth, supporting login & registration with multiple external providers, and persisting external identities in the database. It plays well with multifactor authentication, supports JSON & JWT, allows using different providers for different account types, and more – https://github.com/janko/rodauth-omniauth

View Details

Hi, I am publishing a new gem - https://github.com/fatkodima/sidekiq-iteration

View Details

Hi, I recently released the new major version of Alba, a JSON serializer for Ruby.

View Details

Hello Ruby community 👋

View Details

I am using Kaniko to build docker images since a couple of years. Particularly for my Ruby on Rails projects. I collected some insights, which might be useful for you: https://tobiasmaier.info/posts/2022/11/01/kaniko.html (e.g. how to share secrets for gemserver, multi-stage builds)

View Details

In this episode, we host a panel of developers discussing their coding horror stories: https://www.rubberduckdevshow.com/episodes/63-halloween-party-with-coding-horror-stories/

View Details

Data structure and type validations are so essential in modern Rails apps. You’ve probably used Active Model validations and strong parameters, but did you know there is a better way? This article introduces the dry-schema gem—a faster alternative to the defaults! https://www.honeybadger.io/blog/ruby-dry-schema/

View Details

https://occson.com/blog/rails/tailwindcss/2022/10/30/simple-but-amazing-html-e-mail-preview-with-rails-and-tailwindcss.html

View Details

Whaly is the easy way to write a browser-based selenium scripts for ruby users.It’s fully focused on the words, because words better than codes.it’s written in ruby language.it’s only compatible for ruby language (not for another programming language)

View Details

I have now released v5.0.0 of spreadsheet_architect. Spreadsheet Architect is a library that allows you to create XLSX, ODS, or CSV spreadsheets super easily from ActiveRecord relations, plain Ruby objects, or tabular data.

View Details

https://raghu-bhupatiraju.dev/public-api-from-scratch-using-rails-documentation-a22865c9d102

View Details

Video coverage of the

This Week in Rails newsletter

View Details

Here are some guidelines to write code that flows like a story: https://semaphoreci.com/blog/storytelling-programming

View Details

Nowadays web application security is a crucial and unfortunately sometimes a bit neglected matter. Today, I’ll focus on Content Security Policy - a handy mechanism that can protect our app from XSS attacks. https://kukicola.io/posts/securing-rails-app-with-csp/

View Details

Using Ruby blocks with yield is a different style of programming, that can improve the design of our Ruby code.

View Details

Programming Ruby 3.2, the fifth edition of the Pickaxe Book, is now available in beta at https://pragprog.com/titles/ruby5/programming-ruby-3-2-5th-edition/.

View Details

Build a table editor in a Rails application using ActionText’s Trix editor, and use Turbo Frames to customize your table. https://blog.appsignal.com/2022/10/26/build-a-table-editor-with-trix-and-turbo-frames-in-rails.html

View Details

If you contribute to open source, can you just skip the whiteboard interview? …Probably not! 🙉 1.9+ billion downloads across 66 gems, and schneems still had to do coding interviews. Go from coder to fearless contributor: watch our conversation with Richard Schneeman, author of the book “How to Open Source”!

View Details

In the latest truemail release has been added ability to specify whitelisted/blacklisted emails directly. It can be used as a part of SEA (spam email address) validations. Verify email via Regex, DNS, SMTP and even more. Be sure that email address valid and exists. https://github.com/truemail-rb/truemail

View Details

In this episode, we discuss when you might want to go “off the rails” with your framework and stay “off the rails” with Joel Drapper. We also talk about his Phlex project: https://www.rubberduckdevshow.com/episodes/62-staying-off-the-rails-with-joel-drapper/

View Details

Many languages have a ternary operator, including Ruby. The goal is to reduce the size of the code by displaying a one-line condition. Let’s see how.

View Details

Video coverage of the

This Week in Rails newsletter

View Details

rodauth-oauth 1.0.0-beta1 has been released.

View Details

The very first version of our open source page builder has been released 🎉

View Details

Let’s take a look at RubyCritic and dig into RubyCritic’s reports. https://blog.appsignal.com/2022/10/19/improve-code-in-your-ruby-application-with-rubycritic.html

View Details

Rubocop helps your team decide on and enforce code standards in Ruby projects, which will undoubtedly improve the quality of your codebase over time. https://semaphoreci.com/blog/rubocop

View Details

In part two (the final part) of this article: GitHub’s ViewComponent library has been around for some time, saving developer sanity when building Ruby on Rails app view layers. It’s steadily grown in popularity—but probably not as quickly as deserved. In this series, I explain why to give it a shot! We discuss best practices and examine various tips and tricks accumulated in our ViewComponent-powered projects.

View Details

Did you ever wonder how to actually switch the model from the CRUD one to EventSourcing? There’s one thing you should consider. The initial event that has to be published for existing data. Also called the opening balance.

View Details

Slack Smart Bot v1.12.1 released!! Added or improved: Time off and teams management, Memos for teams, Contact/Ping teams, Improvements on REPLS … https://github.com/MarioRuiz/slack-smart-bot

View Details

Learn how to keep your CI/CD pipeline secure in this article.

View Details

https://dev.to/baweaver/new-in-ruby-32-datadefine-2819

View Details

Fixed incompatible with latest smtpmock version (wrong semantic version comparison). Mimic any 📤 SMTP server behaviour for your test environment with fake SMTP server: https://github.com/mocktools/ruby-smtp-mock

View Details

Ensure your Rails application stays secure by following some best practices and habits. https://blog.appsignal.com/2022/10/05/security-best-practices-for-your-rails-application

View Details

https://www.railsjazz.com/blog/importing-images-in-js-files-with-esbuild-and-rails

View Details

https://pawelurbanek.com/rails-presenter-pattern

View Details

Hotwire is an alternative approach to building modern web applications without using much JavaScript by sending HTML instead of JSON over the wire. With Rails 7, we get Hotwire added in by default. In this episode, we look at some of the features with Hotwire and how to use them. https://www.driftingruby.com/episodes/hotwire-introduction

View Details

Ruby-on-Rails has no built-in authentication mechanism. So let’s pick the well-known gem Devise in this tutorial..Read more

View Details

Video coverage of the

This Week in Rails newsletter

View Details

Hello, as you know (and for sure nobody cares) I got cancel cultured twice (on r/ruby and ruby-talk) - anyways - if anyone is interested in enum data types / classes / gems for ruby I invite you to join the Great Enum Debate / Discussion over on GitHub (at an issue ticket of the latest & greatest enums gem - now turned / converted into a discussion thread). Questions and comments welcome. Please, use the GitHub ~issue ticket~ discussion thread .

View Details

“Great opportunity next week in Montreal to see why JRuby is such a powerful tool for building scalable, cross-platform desktop applications… entirely in Ruby!” - JRuby Dev Team

View Details

https://www.railsjazz.com/blog/how-to-create-and-use-sql-view-in-rails-app (good alternative for scenic)

View Details

Last week I was dealing with an interesting bug. In our system, there was a user that didn’t belong to any tenant. And a tenant that didn’t have any users. It’s a situation that shouldn’t happen in our application.

View Details

With the introduction of the new asset pipeline, there are a lot of new tools available for you to use. So the question is, “How do you install Bootstrap in Rails 7?”

View Details

The rewrite is about about 75% of the way through the rewrite of the book and looking to have the book done very soon. Here are some of the changes:

View Details

In this episode, we discuss scaling your Ruby on Rails web application as well as your Postgres database with Andrew Atkinson: https://www.rubberduckdevshow.com/episodes/59-rails-postgres-scaling-with-andrew-atkinson/

View Details

Ruby and JavaScript and two fantastic languages for the web. Let’s see the difference between them, to help you to learn Javascript if you know Ruby, and vice-versa..Read more on Bootrails

View Details

https://www.railsjazz.com/blog/javascript-code-executed-inside-ruby-on-rails-app

View Details

Desktop development is about 10 times simpler than web development. Learn it and you will become a better web developer as you transfer the simplicity of desktop development to the web!

View Details

This blog post is an oldie but a goodie: “Decoupling Views from Controllers in Rails (Smalltalk MVC Style)”. Its concepts come straight out of desktop development, providing examples of how web development could be inspired by it and improved as a result.

View Details

Video coverage of the

This Week in Rails newsletter

View Details

After seeing so many people struggle with therubyracer on M1/M2 Macs, I wrote this detailed tutorial to prevent more suffering. In many cases, you might not need therubyracer gem at all. Learn how to get rid of the rubyracer or replace it with better options.

View Details

Learn how you can use AppSignal to log and debug your Ruby application: https://blog.appsignal.com/2022/09/21/debugging-in-ruby-with-appsignal

View Details

Rails 7.1 - Optimizes Active Record batching for whole table iterations. The following blog explains the same with examples. Please do give it a read!

View Details

https://www.bigbinary.com/blog/how-we-upgraded-from-rails-6-to-rails-7

View Details

In Agile methodologies, testing is one of the pillars of the product-building process. In this episode, Software Developer Daniel North teaches us how to simplify tests.

View Details

Learn how to integrate the best ORM in Ruby ecosystem with Hanami (and any Ruby) application!

View Details

Secret agents must keep followers off their trail. Your tests don’t have to. There are many options to arrange test doubles with RSpec. This article proposes doing so in a way that provides a consistent test organization.

View Details

Hello Rubysts 👋 We just published the v1.0 of Ralix, your front-end micro-framework for SSR webapps, that pairs well with Turbo.

View Details

Want to deploy a Rails app with Docker and AWS, but not sure where to start? AWS Fargate simplifies the convoluted process of deploying Docker on Amazon’s Elastic Container Service (ECS). It’s also a good alternative to Heroku. https://www.honeybadger.io/blog/rails-docker-aws-fargate/

View Details

In this episode, we discuss the different viewpoints and objectives for engineering managers vs. product managers with Brittany Martin & Josh Gaastra: https://www.rubberduckdevshow.com/episodes/58-engineering-vs-product-managers-with-brittany-martin-josh-gaastra/

View Details

The goal of this article is to understand the group_by method from a theoretical and practical point of view, both for Ruby, and Rails. [READ MORE]

View Details

Desktop development is about 10 times simpler than web development. Learn it and you will become a better web developer as you transfer the simplicity of desktop development to the web!

View Details

New version of FRS script. Configure your developer stuff on Linux Ubuntu in minutes 🚀 Focus on development, not on developer tools! https://github.com/RubyWorkout/frs

View Details

Video coverage of the

This Week in Rails newsletter

View Details

If you recently updated your Mac to macOS 12.6, you might run into Ruby installation or other development issues. I wrote a detailed blog post going over various solutions: https://www.rubyonmac.dev/how-to-install-ruby-on-macos-12-6-apple-silicon/

View Details

Organizations are moving into the microservice paradigm. Plagued with perils, it’s not an easy journey. Learn how to break up your monolith into microservices in this 70+ page ebook. Download it for free today.

View Details

Automate your rails console by creating a runme.rb script that runs in the Rails runner on change.

View Details

Tradeoff between speed and quality is a myth: https://semaphoreci.com/blog/dora-metrics](https://semaphoreci.com/blog/dora-metrics

View Details

With the release of Rails 7, the asset pipeline has seen somewhat of a dramatic improvement. What used to be a choice between Sprockets and Webpack has now become a brain-twister.

View Details

https://twitter.com/keystonelemur/status/1569716343091638272

View Details

How we optimized our Email Batch API by using Rails bulk inserts with MySQL and how to calculate the auto-incrementing IDs for records, given MySQL does not support a RETURNING clause.

View Details

Hanami 2 is behind the corner, so we started putting effort into upgrading our projects. It’s not easy, but doable and we decided to share our findings for others to have an easier time. Check it out, the next steps coming!