Sign in

Josh Frankel 💎🔛🛤️

@joshfrankel.bsky.social
41 followers 34 following 16 posts

Sr. Fullstack Software Engineer @ Buoy Software Blog: joshfrankel.me/blog GitHub: github.com/joshmfrankel Mastodon: ruby.social/@JoshFrankel LinkedIn: linkedin.com/in/joshmfrankel

PostsRepliesMedia
Josh Frankel 💎🔛🛤️ @joshfrankel.bsky.social · 06/04/2026
New blog post about my favorite Ruby Enumerable methods with a bit of KPop Demon Hunters flair 🎶 joshfrankel.me/blog/ruby-en... #ruby
joshfrankel.me
Ruby Enumerable Gonna Show You How It’s Done, Done, Done
I’ve been using Ruby for over 11 years now and along the way I’ve discovered many favorite methods that I keep coming back to. Many of my favorites come from the Enumerable module. I love the simplici...
000
Reposted by Josh Frankel 💎🔛🛤️
ACLU @aclu.org · 25/03/2026
Any escalation of the Trump administration's illegal war, including sending U.S. troops into Iran, is an unacceptable risk to the lives of both service members and civilians.
the-independent.com
Nancy Mace storms out of hearing, says ‘war machine’ wants to put boots on the ground
The South Carolina Republican took to social media to rage against President Donald Trump’s war in the Middle East
35436128
Josh Frankel 💎🔛🛤️ @joshfrankel.bsky.social · 13/01/2026
Not a new #Rails feature, just something I recently learned about, the `create_with` syntax for ActiveRecord::QueryMethods. Comes in handy for cleaning up simple find_or_create_by calls within a #RabbitMQ worker. I wrote a simple explanation on its usage below joshfrankel.me/blog/find-or...
joshfrankel.me
Find or Create Records with Preset Attributes using create_with
I’ve been working heavily with RabbitMQ message broker infrastructure recently to coordinate events between two Rails applications. The event work involves maintaining synchronized data between specif...
000
Josh Frankel 💎🔛🛤️ @joshfrankel.bsky.social · 15/12/2025
Today, I learned that ActiveModel::Api is the minimal implementation for an object to act like a model. joshfrankel.me/blog/use-act... #ruby #rubyOnRails
joshfrankel.me
Use ActiveModel::Api for a Bare Bones Action Model interface
Today, I learned that ActiveModel::Api is the minimal implementation for an object to act like a model. ActiveModel::Model was the standard prior to Rails 7. You can still use it but it implies additi...
010
Josh Frankel 💎🔛🛤️ @joshfrankel.bsky.social · 07/11/2025
I’m always reading configuration options to improve my workflow. I spend so much time working with these tools that keeping them aesthetic is a priority. This article details my current setup with #Zsh, #Antidote, #OhMyZsh, Powerlevel10k, and #Mise. joshfrankel.me/blog/a-perfe...
joshfrankel.me
A Perfect terminal with Zsh, Antidote, Oh My Zsh, Powerlevel10k, and Mise.
I love to customize my development environment. Between operating system, editor, and terminal, I’m always reading through the configuration options to improve my workflow. Getting it to look pretty i...
000
Reposted by Josh Frankel 💎🔛🛤️
Indivisible ❌👑 @indivisible.org · 07/11/2025
Spotify is running ads recruiting more ICE agents to infringe our rights and terrorize our communities, so we’re calling on users to stop paying for or using the app until Spotify stops streaming fascism: indivisible.org/cancel-spoti... #CancelSpotify
(between images of the Spotify logo that have been crossed out) DON’T STREAM FASCISM
Spotify is treating ICE recruitment like just another ad. But when you turn family separation into a marketing pitch, you're not a platform — you're spreading propaganda.
• Cancel your Spotify Premium subscription until Spotify removes all ICE ads
• Demand Spotify immediately terminate all
ICE and DHS advertising contracts.
• Urge artists and podcasters to speak out.
14731311730
Josh Frankel 💎🔛🛤️ @joshfrankel.bsky.social · 20/10/2025
Today, I learned that #Rails 8 introduced a new ActionController::Parameters method called expect. This allows for cleaner and safer parameter permitting, which is a nice quality-of-life feature to add. Check out my write-up below joshfrankel.me/blog/expecti... #til
joshfrankel.me
Expecting Perfection from ActionController::Parameters
Today, I learned that Rails 8 introduced a new ActionController::Parameters method called expect. This allows for cleaner and safer parameter permission and requiring. I must have just missed this in ...
000
Josh Frankel 💎🔛🛤️ @joshfrankel.bsky.social · 09/10/2025
Quick post on using #postgresql functions within a #ruby on #rails migration. joshfrankel.me/blog/using-d... #til
joshfrankel.me
Using Database Functions in Ruby on Rails Migrations
Today I learned you can specify PostgreSQL functions within a Ruby on Rails migrations. I found this particularly useful for setting a random default value for a database column. Let’s dig into a simp...
000
Josh Frankel 💎🔛🛤️ @joshfrankel.bsky.social · 14/07/2025
Today, I learned about the `after` function in #nextjs as a simple background job processor. Lighter and simpler than using #Redis or #Database backed queueing, it is ensured to execute even when an error is encountered. joshfrankel.me/blog/simple-...
joshfrankel.me
Simple Background Jobs with After in Next.js
Today I learned about the after function for scheduling side effects which avoid blocking execution. Think of it as a simple background job scheduler. These are much lighter than a database or Redis b...
020
Josh Frankel 💎🔛🛤️ @joshfrankel.bsky.social · 27/05/2025
I've been working on a project with #Next.js and #prisma. I miss the niceties provided by ActiveRecord along with PostgreSQL's best practices, so I wrote a blog post detailing how to customize tables, columns, and associations in Prisma. joshfrankel.me/blog/custom-... #JavaScript, #Nextjs, #Prisma
joshfrankel.me
Custom Naming for Database Tables, Columns, and Associations in Prisma ORM
I’ve been working with Prisma as an object-relational mapping tool for my projects. Coming from a background of using raw SQL along with ActiveRecord, I’ve noticed that default Prisma caters to JavaSc...
020
Josh Frankel 💎🔛🛤️ @joshfrankel.bsky.social · 15/05/2025
ViewComponents reduce bloat, simplify data, and create reusable frontend styling. Despite these benefits, they're often under-utilized in the Rails community. I've written a blog post refactoring a real-world example into isolated ViewComponents. joshfrankel.me/blog/viewcom... #ruby #rubyonrails
joshfrankel.me
ViewComponents, the Missing View Layer for Rails
If you’ve worked with Rails for any measure of time, then you know that Rails’ Views can quickly get out of hand. Between Helpers, instance variables, and inline logic, they quickly become bloated and...
142
Josh Frankel 💎🔛🛤️ @joshfrankel.bsky.social · 06/03/2025
I'm a big fan of Linux, but most companies standardize around Mac. I wrote an article about my setup to help ease the transition from Linux to Mac joshfrankel.me/blog/setting...
joshfrankel.me
Setting up Mac for the Linux user
So you’ve got a new Mac. Maybe it’s a work laptop, maybe you are switching from another operating system. Either way, if you’re like me, you’ve got some set habits with your work environment. This art...
010
Reposted by Josh Frankel 💎🔛🛤️
Patton Oswalt @pattonoswalt.bsky.social · 27/02/2025
14577607023738
Josh Frankel 💎🔛🛤️ @joshfrankel.bsky.social · 06/02/2025
If you haven't already, call your representatives. It only takes 5 minutes: 5calls.org
5calls.org
5 Calls
Spend 5 minutes. Make 5 calls. Make your voice heard.
010
Josh Frankel 💎🔛🛤️ @joshfrankel.bsky.social · 12/12/2024
I wrote a blog post on my philosophy for a well-factored data migration. Traditional migrations don't need testing; data migrations can and SHOULD be tested. joshfrankel.me/blog/well-fa... #ruby #sql #rubyonrails
joshfrankel.me
Well-factored Data Migrations
Large dataset migrations are always an adventure. A well factored data migration considers: Performance, Accuracy, Reversibility, and Repeatability. Each of these supports a successful data migration....
020