Dave Kimura
@davekimura.bsky.social
Christian, Husband, Father and Rubyist, Screencaster of https://www.driftingruby.com, Creator of ActionAuth https://github.com/kobaltz/action_auth, Makes and loves 🍣
Episode #535 - Kamal Registry
#ruby #rubyonrails #programming #code #deployment #kamal
www.driftingruby.com/episodes/kam...
#ruby #rubyonrails #programming #code #deployment #kamal
www.driftingruby.com/episodes/kam...
Episode 535 - Kamal Registry | Drifting Ruby
In this episode, we'll look at the two of my favorite changes in the recent Kamal releases. We'll explore some of the flows that the new registry uses and some things to be aware of.
www.driftingruby.com
November 9, 2025 at 1:03 PM
Episode #535 - Kamal Registry
#ruby #rubyonrails #programming #code #deployment #kamal
www.driftingruby.com/episodes/kam...
#ruby #rubyonrails #programming #code #deployment #kamal
www.driftingruby.com/episodes/kam...
Episode #533 - Active Job Continuations
#ruby #rubyonrails #8.1 #kamal #programming #code
www.driftingruby.com/episodes/act...
#ruby #rubyonrails #8.1 #kamal #programming #code
www.driftingruby.com/episodes/act...
Episode 533 - Active Job Continuations | Drifting Ruby
In this episode, we'll explore a new Rails 8.1 feature that allows background jobs to "pick up where they left off." We'll look at how the new Continuations feature helps prevent long-running jobs fro...
www.driftingruby.com
October 26, 2025 at 10:57 AM
Episode #533 - Active Job Continuations
#ruby #rubyonrails #8.1 #kamal #programming #code
www.driftingruby.com/episodes/act...
#ruby #rubyonrails #8.1 #kamal #programming #code
www.driftingruby.com/episodes/act...
Episode #532 - Pull to Refresh (on a PWA)
#ruby #rubyonrails #pwa #programming #code #stimulusjs #javascript
www.driftingruby.com/episodes/pul...
#ruby #rubyonrails #pwa #programming #code #stimulusjs #javascript
www.driftingruby.com/episodes/pul...
Episode 532 - Pull to Refresh | Drifting Ruby
When PWA websites are installed (specifically on iOS) there is some functionality lost to refresh the page. In this episode, we explore in how to restore this functionality.
www.driftingruby.com
October 20, 2025 at 1:06 AM
Episode #532 - Pull to Refresh (on a PWA)
#ruby #rubyonrails #pwa #programming #code #stimulusjs #javascript
www.driftingruby.com/episodes/pul...
#ruby #rubyonrails #pwa #programming #code #stimulusjs #javascript
www.driftingruby.com/episodes/pul...
Episode #531 - Kamal Logs Upload
#ruby #rubyonrails #kamal #hooks #programming #code
www.driftingruby.com/episodes/kam...
#ruby #rubyonrails #kamal #hooks #programming #code
www.driftingruby.com/episodes/kam...
Episode 531 - Kamal Logs Upload | Drifting Ruby
In this episode, we look at shipping application logs via the Kamal Hooks to a webhook endpoint. We'll use Discord as the final log storage.
www.driftingruby.com
October 13, 2025 at 12:04 AM
Episode #531 - Kamal Logs Upload
#ruby #rubyonrails #kamal #hooks #programming #code
www.driftingruby.com/episodes/kam...
#ruby #rubyonrails #kamal #hooks #programming #code
www.driftingruby.com/episodes/kam...
Episode #530 - Omarchy
#ruby #rubyonrails #programming #code #omarchy
www.driftingruby.com/episodes/oma...
#ruby #rubyonrails #programming #code #omarchy
www.driftingruby.com/episodes/oma...
Episode 530 - Omarchy | Drifting Ruby
Omarchy is an omakase distribution based on Arch Linux and the tiling window manager Hyprland. It ships with just about everything a modern software developer needs to be productive immediately.
www.driftingruby.com
October 5, 2025 at 6:25 PM
Episode #530 - Omarchy
#ruby #rubyonrails #programming #code #omarchy
www.driftingruby.com/episodes/oma...
#ruby #rubyonrails #programming #code #omarchy
www.driftingruby.com/episodes/oma...
Episode #529 - External Databases
#ruby #rubyonrails #programming #code
www.driftingruby.com/episodes/ext...
#ruby #rubyonrails #programming #code
www.driftingruby.com/episodes/ext...
Episode 529 - External Databases | Drifting Ruby
Sometimes, we're building an integration to a third party product that doesn't expose any APIs, but we do have access to the database itself. In this episode, we'll look at connecting to external data...
www.driftingruby.com
September 28, 2025 at 10:24 PM
Episode #529 - External Databases
#ruby #rubyonrails #programming #code
www.driftingruby.com/episodes/ext...
#ruby #rubyonrails #programming #code
www.driftingruby.com/episodes/ext...
Episode #528 Retrieval-Augmented Generation
#ruby #rubyonrails #ai #machinelearning #rag #programming #code
www.driftingruby.com/episodes/ret...
#ruby #rubyonrails #ai #machinelearning #rag #programming #code
www.driftingruby.com/episodes/ret...
Episode 528 - Retrieval-Augmented Generation (RAG) | Drifting Ruby
In this episode, we continue off of Episode #499 and implement a feature where we can search and consume sections of text for text generation. This has many benefits and some nuances that we'll explor...
www.driftingruby.com
September 22, 2025 at 1:07 AM
Episode #528 Retrieval-Augmented Generation
#ruby #rubyonrails #ai #machinelearning #rag #programming #code
www.driftingruby.com/episodes/ret...
#ruby #rubyonrails #ai #machinelearning #rag #programming #code
www.driftingruby.com/episodes/ret...
Episode #527 - Lexxy
#ruby #rubyonrails #lexxy #actiontext #programming #javascript #code
www.driftingruby.com/episodes/lexxy
#ruby #rubyonrails #lexxy #actiontext #programming #javascript #code
www.driftingruby.com/episodes/lexxy
Episode 527 - Lexxy | Drifting Ruby
In this episode, we look at moving from Trix to Lexxy in our Rails application using ActionText. The transition isn't completely seamless, but overall works very well.
www.driftingruby.com
September 14, 2025 at 5:43 PM
Episode #527 - Lexxy
#ruby #rubyonrails #lexxy #actiontext #programming #javascript #code
www.driftingruby.com/episodes/lexxy
#ruby #rubyonrails #lexxy #actiontext #programming #javascript #code
www.driftingruby.com/episodes/lexxy
Episode #526 - RubyMine
#ruby #rubyonrails #rubymine #jetbrains #programming #code
www.driftingruby.com/episodes/rub...
#ruby #rubyonrails #rubymine #jetbrains #programming #code
www.driftingruby.com/episodes/rub...
Episode 526 - RubyMine | Drifting Ruby
I haven't used RubyMine in several years, but a recent announcement from JetBrains have now opened up access for free with non-commercial products. In this episode, I'm taking a fresh look at RubyMine...
www.driftingruby.com
September 8, 2025 at 1:13 AM
Episode #526 - RubyMine
#ruby #rubyonrails #rubymine #jetbrains #programming #code
www.driftingruby.com/episodes/rub...
#ruby #rubyonrails #rubymine #jetbrains #programming #code
www.driftingruby.com/episodes/rub...
Episode #525 - Extracting Logic into a Gem
#ruby #rubyonrails #programming #code
www.driftingruby.com/episodes/ext...
#ruby #rubyonrails #programming #code
www.driftingruby.com/episodes/ext...
Episode 525 - Extracting Logic into a Gem | Drifting Ruby
In this episode, we look at some of the hurdles when extracting business logic out of an application into a gem.
www.driftingruby.com
August 31, 2025 at 9:36 PM
Episode #525 - Extracting Logic into a Gem
#ruby #rubyonrails #programming #code
www.driftingruby.com/episodes/ext...
#ruby #rubyonrails #programming #code
www.driftingruby.com/episodes/ext...
Episode #524 - LLM Usage
#ruby #rubyonrails #ollama #machinelearning #programming #code
www.driftingruby.com/episodes/llm...
#ruby #rubyonrails #ollama #machinelearning #programming #code
www.driftingruby.com/episodes/llm...
Episode 524 - LLM Usage | Drifting Ruby
In this episode, we track our prompt and completion tokens that are called from our application. This is a small feature, but can raise important insights to the usage of LLMs in our application as we...
www.driftingruby.com
August 25, 2025 at 12:33 AM
Episode #524 - LLM Usage
#ruby #rubyonrails #ollama #machinelearning #programming #code
www.driftingruby.com/episodes/llm...
#ruby #rubyonrails #ollama #machinelearning #programming #code
www.driftingruby.com/episodes/llm...
Episode #523 - Multitenant Conversion
#ruby #rubyonrails #programming #code
www.driftingruby.com/episodes/mul...
#ruby #rubyonrails #programming #code
www.driftingruby.com/episodes/mul...
Episode 523 - Multitenant Conversion | Drifting Ruby
In this episode, we will look at taking an existing application and set it up for multitenancy. This kind of functionality is often thought of during the initial development, but can later become a re...
www.driftingruby.com
August 18, 2025 at 2:17 AM
Episode #523 - Multitenant Conversion
#ruby #rubyonrails #programming #code
www.driftingruby.com/episodes/mul...
#ruby #rubyonrails #programming #code
www.driftingruby.com/episodes/mul...
Episode #522 - Tailwind Plus
#ruby #rubyonrails #programming #code #tailwind
www.driftingruby.com/episodes/tai...
#ruby #rubyonrails #programming #code #tailwind
www.driftingruby.com/episodes/tai...
Episode 522 - Tailwind Plus | Drifting Ruby
In this episode, we look at Tailwind Plus and how to integrate it into our Rails application. We will explore some of the necessary setup and what Tailwind Plus is not.
www.driftingruby.com
August 11, 2025 at 10:37 AM
Episode #522 - Tailwind Plus
#ruby #rubyonrails #programming #code #tailwind
www.driftingruby.com/episodes/tai...
#ruby #rubyonrails #programming #code #tailwind
www.driftingruby.com/episodes/tai...
Episode #521 - Model Context Protocol
#ruby #rubyonrails #machinelearning #programming #code
www.driftingruby.com/episodes/mod...
#ruby #rubyonrails #machinelearning #programming #code
www.driftingruby.com/episodes/mod...
Episode 521 - Model Context Protocol | Drifting Ruby
Model Context Protocol (MCP) is an API interface for your applications that are formatted in a way that machine learning platforms can interact with them. They can be used to generate AI insights, per...
www.driftingruby.com
August 3, 2025 at 7:08 PM
Episode #521 - Model Context Protocol
#ruby #rubyonrails #machinelearning #programming #code
www.driftingruby.com/episodes/mod...
#ruby #rubyonrails #machinelearning #programming #code
www.driftingruby.com/episodes/mod...
Episode #520 - Worker Limits
#ruby #rubyonrails #programming #code #background #jobs #solidqueue
www.driftingruby.com/episodes/wor...
#ruby #rubyonrails #programming #code #background #jobs #solidqueue
www.driftingruby.com/episodes/wor...
Episode 520 - Worker Limits | Drifting Ruby
In this episode, we look at situations when an external API does not have a normal rate limit, but instead has concurrency limits. This can also apply to situations where you have limited resources on...
www.driftingruby.com
July 28, 2025 at 2:50 AM
Episode #520 - Worker Limits
#ruby #rubyonrails #programming #code #background #jobs #solidqueue
www.driftingruby.com/episodes/wor...
#ruby #rubyonrails #programming #code #background #jobs #solidqueue
www.driftingruby.com/episodes/wor...
Episode #518 - Password Managers
#ruby #rubyonrails #programming #code #kamal #secrets
www.driftingruby.com/episodes/pas...
#ruby #rubyonrails #programming #code #kamal #secrets
www.driftingruby.com/episodes/pas...
Episode 518 - Password Managers | Drifting Ruby
In this episode, we're going to look at using password managers (1Password and Bitwarden) to pass secrets into Kamal for deploying our applications.
www.driftingruby.com
July 14, 2025 at 3:01 AM
Episode #518 - Password Managers
#ruby #rubyonrails #programming #code #kamal #secrets
www.driftingruby.com/episodes/pas...
#ruby #rubyonrails #programming #code #kamal #secrets
www.driftingruby.com/episodes/pas...
Episode #517 - Dependent Select
#ruby #rubyonrails #programming #code #javascript #stimulusjs
www.driftingruby.com/episodes/dep...
#ruby #rubyonrails #programming #code #javascript #stimulusjs
www.driftingruby.com/episodes/dep...
Episode 517 - Dependent Select | Drifting Ruby
In this episode, we look at using a Select javascript library and combined with StimulusJS to create dependent select fields.
www.driftingruby.com
July 7, 2025 at 3:29 AM
Episode #517 - Dependent Select
#ruby #rubyonrails #programming #code #javascript #stimulusjs
www.driftingruby.com/episodes/dep...
#ruby #rubyonrails #programming #code #javascript #stimulusjs
www.driftingruby.com/episodes/dep...
Episode #516 - Database Replica
#ruby #rubyonrails #programming #code #database
www.driftingruby.com/episodes/dat...
#ruby #rubyonrails #programming #code #database
www.driftingruby.com/episodes/dat...
Episode 516 - Database Replica | Drifting Ruby
In this episode, we'll look at database connection switching within a Rails application to switch between a primary and replica database. This has many benefits on applications which many many read an...
www.driftingruby.com
June 30, 2025 at 2:04 AM
Episode #516 - Database Replica
#ruby #rubyonrails #programming #code #database
www.driftingruby.com/episodes/dat...
#ruby #rubyonrails #programming #code #database
www.driftingruby.com/episodes/dat...
Episode #515 - Log Bench
#ruby #rubyonrails #programming #code #development
www.driftingruby.com/episodes/log...
#ruby #rubyonrails #programming #code #development
www.driftingruby.com/episodes/log...
Episode 515 - Log Bench | Drifting Ruby
Tailing logs can be rather annoying in a development environment when looking for a specific request. In this episode, we're going to explore the Log Bench gem and the value it adds to our development...
www.driftingruby.com
June 23, 2025 at 2:46 AM
Episode #515 - Log Bench
#ruby #rubyonrails #programming #code #development
www.driftingruby.com/episodes/log...
#ruby #rubyonrails #programming #code #development
www.driftingruby.com/episodes/log...
Episode #514 - System Tests in Docker
#ruby #rubyonrails #programming #code #docker #systemtests
www.driftingruby.com/episodes/sys...
#ruby #rubyonrails #programming #code #docker #systemtests
www.driftingruby.com/episodes/sys...
Episode 514 - System Tests in Docker | Drifting Ruby
Setting up system tests to run heedlessly in a docker container can be rather difficult. In this episode, we'll dockerize a Rails application and set up the application to run the system tests in the ...
www.driftingruby.com
June 16, 2025 at 3:45 AM
Episode #514 - System Tests in Docker
#ruby #rubyonrails #programming #code #docker #systemtests
www.driftingruby.com/episodes/sys...
#ruby #rubyonrails #programming #code #docker #systemtests
www.driftingruby.com/episodes/sys...
Episode #513 - Kamal 2 in Github Actions
#ruby #rubyonrails #programming #code #kamal #deployment
www.driftingruby.com/episodes/kam...
#ruby #rubyonrails #programming #code #kamal #deployment
www.driftingruby.com/episodes/kam...
Episode 513 - Kamal 2 in Github Actions | Drifting Ruby
In this episode we take a look at Github Actions again, but with Kamal 2. Not too much has changed, but there are some differences in the approach on caching and a few other things that have changed s...
www.driftingruby.com
June 9, 2025 at 2:53 AM
Episode #513 - Kamal 2 in Github Actions
#ruby #rubyonrails #programming #code #kamal #deployment
www.driftingruby.com/episodes/kam...
#ruby #rubyonrails #programming #code #kamal #deployment
www.driftingruby.com/episodes/kam...
Episode #512 - Marksmith
#ruby #rubyonrails #programming #code #wysiwyg #markdown
www.driftingruby.com/episodes/mar...
#ruby #rubyonrails #programming #code #wysiwyg #markdown
www.driftingruby.com/episodes/mar...
Episode 512 - Marksmith | Drifting Ruby
Easily add Markdown support to your Rails applications with Marksmith. This isn't a drop-in replacement to ActionText, but can be used with text or blob columns. Marksmith integrates easily with Activ...
www.driftingruby.com
June 2, 2025 at 4:07 AM
Episode #512 - Marksmith
#ruby #rubyonrails #programming #code #wysiwyg #markdown
www.driftingruby.com/episodes/mar...
#ruby #rubyonrails #programming #code #wysiwyg #markdown
www.driftingruby.com/episodes/mar...
Episode #510 - Kamal Maintenance Mode
#ruby #rubyonrails #programming #code #kamal #deployment
www.driftingruby.com/episodes/kam...
#ruby #rubyonrails #programming #code #kamal #deployment
www.driftingruby.com/episodes/kam...
Episode 510 - Kamal Maintenance Mode | Drifting Ruby
In Kamal 2.6.0, a new feature was released that allowed an app to switch between live mode and maintenance mode. In this episode, we'll explore the new feature and how it works.
www.driftingruby.com
May 19, 2025 at 3:08 AM
Episode #510 - Kamal Maintenance Mode
#ruby #rubyonrails #programming #code #kamal #deployment
www.driftingruby.com/episodes/kam...
#ruby #rubyonrails #programming #code #kamal #deployment
www.driftingruby.com/episodes/kam...
Episode #508 - Scaffold Templates
#ruby #rubyonrails #programming #code
www.driftingruby.com/episodes/sca...
#ruby #rubyonrails #programming #code
www.driftingruby.com/episodes/sca...
Episode 508 - Scaffold Templates | Drifting Ruby
In this episode, we explore using the scaffold generator and modifying the templates to simplify the creation of consistent, Tailwind CSS-styled views and controllers in a Rails application, saving ti...
www.driftingruby.com
May 5, 2025 at 10:58 AM
Episode #508 - Scaffold Templates
#ruby #rubyonrails #programming #code
www.driftingruby.com/episodes/sca...
#ruby #rubyonrails #programming #code
www.driftingruby.com/episodes/sca...