
Remote Ruby
Two Rubyists having conversations and interviewing others about Ruby and web development.
Latest episodes

Mar 5, 2021 • 41min
Building a Business on Rails with Mike Perham
[00:01:40] Mike tells us about himself, what he was doing before he started Sidekiq, and what led in the idea of him starting it.[00:03:46] Jason asks Mike if he thinks a lot of thread safe code in our ecosystem came from just people adopting Sidekiq, and when he started Sidekiq did he have plans of it becoming paid tiers or was it purely an open source project at the time.[00:06:07] When he moved to the open core model, Mike tells us if he had both the pro and enterprise license at one time or if it was there just one license. [00:08:35] Jason asks Mike when you’re searching for things about Sidekiq, and you see other libraries that aren’t from Sidekiq, but they’re Sidekiq dash and its open source versions, does he ever feel like that is an issue for his business.[00:10:50] Mike explains how Active Job plays into all of this for him. [00:15:55] Mike tells us where Faktory came from, what it is, and would it be any use to Ruby Developers to choose over Sidekiq. He also tells us how the adoption of it has been compared to Sidekiq.[00:19:37] Jason brings up an experiment Mike did awhile back with Sidekiq and Crystal, and he was wondering how that went and if he still has interest in it. [00:25:54] Mike shares with us how he turned Sidekiq and Faktory into his full-time gig and the economics around it. [00:33:05] Chris mentions always looking up to Mike after reading his blog posts, and Chris realizing his dream what he wanted to do and Mike shares advice with him as well.[00:34:39] Chris and Mike talk about writing blog posts, building gems, and building trust in a lot of different ways. Mike also mentions how important teaching is to build trust. They mention Jeremy Evans and Andrew Kane as widely trusted people in the Ruby community. [00:37:47] Andrew and Mike explain what Sidekiq is. Panelists:Jason CharnesChris OliverAndrew MasonGuest:Mike PerhamSponsor:HoneybadgerLinks:Mike Perham TwitterMike Perham WebsiteSidekiqFaktoryJeremy Evans-GitHubAndrew Kane-GitHub Chris Oliver X/Twitter Andrew Mason X/Twitter Jason Charnes X/Twitter

Feb 26, 2021 • 49min
Launching 12in12.io, Dependency Confusion Attack, and Conventional Commits
[00:02:42] Andrew does a follow up from last week when he talked about moving and archiving repos and he gives an update. Jason tells us problems they’ve had with Dependabot.[00:05:36] We learn about Andrew perfecting a gem release workflow and using Conventional Commits.[00:09:43] Chris was busy this week and he tells us about a live stream he did with Freek Van der Herten, who created an app called Ray. [00:13:15] Find out about the product streaming Chris did with 12in12.io and how he did a zoom call to talk about job boards and domaining with Jon Hainstock and Peter Askew. Peter is famous for the VidaliaOnions.com domain he bought, which is an interesting story you really need to read about. Jason and Chris talk about job postings for junior developers. [00:16:04] Chris tells us what kind of job boards he’s wanting to do, and Jason and Andrew talk about job postings and some within their companies as well. Andrew shares a story of how he was hired as an intern at his company which he thought was a great way to start, and how companies should hire juniors. [00:22:42] Andrew stresses how teaching others is how you learn the best, which is why hiring juniors is a benefit, and Chris shares his thoughts as well. [00:27:42] Andrew asks the guys if they heard about the “Dependency Confusion” attack that was going around on the Interwebs this week and talks about a GitHub blog article that explains how to prevent this with NPM. [00:31:36] Andrew talks about Diffend, a free service to help make sure your Ruby dependencies are secure.[00:32:15] Jason tells us he finished the course and launched it so go buy it! Chris and Jason discuss about making videos, re-recording, and editing them.[00:41:06] Jason explains to us what a recurring rotation does.[00:47:08] Chris gives us information if you want to join in on 12in12.io.Panelists:Jason CharnesChris OliverAndrew MasonSponsor:HoneybadgerLinks:Fix gem name in release action-andrewmcodes-GitHub Conventional CommitsRelease Please Action-GitHubCreating a Ruby gem for Ray-LiveStream with Freek Van der Herten and Chris OliverDebug with Ray to fix problems faster=GitHubAvoiding npm substitution attacks-The GitHub Blog3 Ways to Mitigate Risk When Using Private Package Feeds-Microsoft Azure“Dependency Confusion: How I Hacked Into Apple, Microsoft and Dozens of Other Companies,” by Alex BirsanDiffend.io12in12.ioInteractive Rails Chris Oliver X/Twitter Andrew Mason X/Twitter Jason Charnes X/Twitter

Feb 19, 2021 • 43min
Jason's run in with the cops, Andrew deletes his GitHub, and Madmin launches?
[00:00:22] The guys share stories of things that happened to them this past week.[00:06:30] Jason announces he got all his testing videos done for his course and it pushed him to do more work on the StimulusReflex testing library. [00:09:25] Chris asks the guys if they knew of a library that has test helpers for both frameworks. [00:12:22] Jason tells us his testimonials are done and he’s hit a weird spot with the app being a little bit incomplete, and he’s thinking about making a video.[00:14:20] Jason talks about when he’ll launch the video since he just has two left. Chris announced the OmniAuth 2.0 course is out and what happened. [00:17:08] Jason and Chris talk about issues with recording videos for courses.[00:21:00] Chris explains about saving and resurrecting madmin. [00:29:14] Chris tells us about the “12 in 12” project that was released this week, made popular by Pieter Levels years ago.[00:31:22] Andrew talks about cleaning up projects, tying up loose ends, and how his GitHub is a mess and what he wants to do to clean it up. He asks Jason and Chris for advice on what he can do to clean up his GitHub. [00:37:55] Andrew mentions not being able to find a single product online to help manage your GitHub repos, but he has used something called GitHub Unwatch, which is a Heroku app that has helped. Panelists:Jason CharnesChris OliverAndrew MasonSponsor:HoneybadgerLinks:Interactive Rails with Stimulus Reflex Course by Jason CharnesStimulusReflex Testing-GitHubAction Cable Testing-GitHubGitHub Bulk UnwatcherOmniAuth URLs Course-YouTubeMadmin-GitHub12in12.io Chris Oliver X/Twitter Andrew Mason X/Twitter Jason Charnes X/Twitter

Feb 12, 2021 • 38min
Rails for Beginners, Site Editors, and Skypack
[00:01:43] The guys chat about callbacks. [00:04:46] Chris tells us about the new course he did, “Ruby on Rails for Beginners.”[00:08:58] Andrew asks Chris if he actually talked to people who are newer in Rails to figure out about the pry or if he had a sense of it because of where he’s at in the community. [00:11:57] Jason hints at wanting to make a course on SQL for Active Record for Rails Developers, which gets Chris and Andrew excited. [00:14:22] Chris mentions how he put up a bare bones site that needed some examples for better minitests.com.[00:16:48] Jason spills the beans about rebuilding their site editor. Andrew wonders what specifically wasn’t working in StimulusReflex for him and what prompted him to rely more heavily on CableReady. [00:23:36] Andrew tells us a “fun fact,” and he asks Jason what he thinks is the coolest part about the new editor and how is he adding Webpacker.[00:27:43] Chris talks about fiddling with madmin and using Skypak. Andrew tells us all the things you can do with Skypak. [00:32:08] Andrew and Chris talk about Snyk, a security company.[00:33:07] Chris announces that Heroku now has a license for Rails LTS to test against old Rails versions for the Ruby Buildpack.[00:33:34] Chris talks about an issue he dove into with turbo that came up on the GoRails community. [00:37:17] We end with Jason announcing the release date of his final StimulusReflex course. Panelists:Jason CharnesChris OliverAndrew MasonSponsor:HoneybadgerLinks:“Ruby on Rails for Beginners” by Chris OliverBaseDashSkypack Docs-Pinned URLs (Optimized)SnykSnyk gemfileSnyk-ruby-semverRemote Ruby Podcast- Episode 115 with David Heinemeier Hansson Chris Oliver X/Twitter Andrew Mason X/Twitter Jason Charnes X/Twitter

Feb 5, 2021 • 40min
Building Products in Rails with Brian Casel
[00:01:50] Brian tells us what he does and how he got into Rails.[00:04:15] We learn about Brian’s company, Audience Ops, and ProcessKit, which is a SaaS product that he’s been working on.[00:05:40] Jason is curious to know what it was like for Brian to build his first product on WordPress. Also, he talks about learning Rails to build SaaS apps. [00:11:58] Brian tells us about building Sunrise KPI in Ruby.[00:13:28] Chris is curious to know if Brian’s designer focus makes him a little bit more meticulous.[00:16:29] ProcessKit is explained since it’s Brian’s biggest project that he’s worked on. He tells us what it is, what it does, and all the things he’s learned since he started building it. [00:22:40] Chris asks Brian if he uses RSpec, MiniTests, and System Tests. [00:26:11] Brian tells us all about his new launch, Thready, a tool for drafting and publishing Twitter threads. [00:33:07] Chris mentions DHH’s new post on the Tailwinds CSS for Rails gem.[00:38:43] Brian tells us where we can find him online.Panelists:Jason CharnesChris OliverAndrew MasonGuest:Brian CaselSponsor:HoneybadgerLinks:Brian Casel TwitterBrian Casel LinkedinAudience OpsSunrise KPIProcessKitBootstrapped Web PodcastThreadyTailwind CSS for Rails-GitHub Chris Oliver X/Twitter Andrew Mason X/Twitter Jason Charnes X/Twitter

Jan 29, 2021 • 31min
Rails LTS deep dive with Tobias Kraze
[00:00:41] Chris and Jason tell us what they’ve been working on with Hotwire and StimulusReflex. [00:03:19] Tobias tells us all about himself and what he does at Makandra. [00:05:04] Tobias explains to us the idea behind Rails LTS, why it was created, and what it does for people. He talks about a Tweet by Patrick McKenzie. [00:08:08] Chris asks Tobias if it’s hard to maintain all that stuff or even just keeping an eye on the security vulnerabilities, and if he can monitor the newer versions of Rails or if they are not necessarily relevant to the older Rails. He also tells us if Rails 5.2 will be a new Rails LTS version that he’ll maintain.[00:11:07] Chris wonders if Tobias has to regularly fork other things around Rails to support older apps in order to maintain those too. He also tells us about maintaining Ruby versions too.[00:17:17] Chris asks Tobias if his company is helping people upgrade from Rails LTS to a new version if you want to make the investment. [00:20:50] Jason asks Tobias if his company has a significant amount of people that still come in with these projects to be supported.[00:21:53] We learn when Tobias got started in Rails and if his company does any other work other than Ruby on Rails. [00:28:09] The guys chat about TypeScript and JavaScript.Panelists:Jason CharnesChris OliverGuest:Tobias KrazeLinks:MakandraRails LTS “If Your Business Uses Rails 2.3 You Need To Move To A Supported Option ASAP,” by Patrick McKenzieHotwire for RailsInteractive Rails with StimulusReflex course with Jason Charnes Chris Oliver X/Twitter Andrew Mason X/Twitter Jason Charnes X/Twitter

Jan 19, 2021 • 53min
Hotwire, Rails NEXT, and the DHH Stack™ with David Heinemeier Hansson
[00:00:34] DHH jumps right into telling us what the response has been to Hotwire and how Basecamp has felt about the response.[00:04:02] DHH talks about a book they published in 2013 and mentions to “wait for the pendulum to come your way,” and how this relates to Hotwire. He also talks about Turbo.[00:08:06] Since Hotwire, the whole package, is a separate gem you bring in, Jason asks DHH if long term, that will continue to be the case or if that will ship with Rails. [00:15:39] Rails 7 is brought up by DHH and how there is work to be done. [00:19:39] Jason mentions to DHH there are a lot of questions about Strada and Mobile, Mobile, Mobile and asks him how the missing piece “air quotes” fits into the Hotwire package.[00:25:54] Chris is curious and asks DHH how he stumbled on using HTML more. Find out what DHH calls fascinating moments.[00:38:00] Jason wonders if DHH has any new ideas or anything he’s worked up from Basecamp that he might want to extract for Rails 7. [00:42:44] DHH tells us what it looks like for him when he’s starting a new project. [00:51:11] Andrew asks DHH what he would say to the Junior Developers out there who are learning Rails and being told by their Bootcamps, friends, or the community at large that Rails is slow, they’re never going to find a job, and they have to write React. Panelists:Jason CharnesChris OliverAndrew MasonGuest:DHHSponsor:HoneybadgerLinks:David Heinemeier Hansson WebsiteDHH TwitterHotwire for RailsBasecampHeyTurboRemote: Office Not Required by Jason Fried and David Heinemeier HanssonIt Doesn’t Have to Be Crazy at Work by Jason Fried and David Heinemeier HanssonRework by Jason Fried and David Heinemeier Hansson Chris Oliver X/Twitter Andrew Mason X/Twitter Jason Charnes X/Twitter

Jan 15, 2021 • 39min
Talkin' Puma and the Rails Performance Workshop with Nate Berkopec
[00:01:20] Nate tells us a little bit about himself, what he does, and a book he wrote. [00:02:18] Nate talks about the Rails Performance workshop he released a month ago. [00:06:02] Jason asks Nate if he has any plans to go back into the in-person training or if he will keep the current format if it’s showing more advantages. [00:08:03] If you are interested in learning more about performance, Nate shares advice what you should do.[00:09:37] Jason announces that today we are basking in the release of Hotwire, and he’s curious from a performance perspective if there are any downsides or any performance benefits to doing HTML over the wire.[00:19:37] Chris asks Nate to talk about scaling his WebSocket side of things. He also tells us about Puma. [00:24:11] Nate tells us about Samuel Williams (ioquatix) and his work around the fiber scheduler and he also mentions Ractor being released soon.[00:26:34] Nate explains the Global VM Lock and he tells us he has an article on his Speedshop blog about this. He also mentions he has a new book coming out in January, and he tells us in your Ruby process there is a “virtual machine” that runs Ruby code. [00:29:10] Nate explains that Puma has two jobs and Andrew asks Nate if there is anything on the horizon for Puma.[00:34:10] Nate tells us what it was like traveling the world during the pandemic and what’s it’s like being back home. Panelists:Jason CharnesChris OliverAndrew MasonGuest:Nate BerkopecLinks:Nate Berkopec TwitterSpeedshopSpeedshop Blog“The Practical Effects of the GVL on Scaling in Ruby” by Nate BerkopecPumaThe Complete Guide To Rails Performance by Nate BerkopecThe Rails Performance WorkshopFalconHotwire for Rails-GitHubHow to use Hotwire in Rails by Chris OliverSamuel Williams ioquatixRactor Chris Oliver X/Twitter Andrew Mason X/Twitter Jason Charnes X/Twitter

Jan 8, 2021 • 46min
Andrew's HAML Tattoo
[00:01:41] Jason dropped his StimulusReflex course in early access and he tells us how the initial reception of it is and how he’s feeling about it.[00:09:21] Andrew explains the differences between Snowpack’s more like Webpacker, and he mentions Skypack and Snowpack pair very nice together. [00:18:07] Andrew tells us that Webpack is just a bunch of Webpack config rolled into a nice easy to use and they took most of the use cases of Webpack and bundled it into a gem. He mentions the web server in Ruby, Falcon, which is HTTP/2 compatible. [00:24:29] Andrew asks the guys if they know what Vercel is (formerly ZEIT) and how he tested it out. [00:28:25] What else is new in the Ruby world? Chris says that the new Rails is out, Ruby comes out next week, and new magic comes out next week. Andrew tells us he sees everyone talking about the deprecation toolkit that’s in Rails 6.1, but nobody’s talking about the greatest feature of all time which is the “annotate template file names,” thanks to Joel Hawksley.[00:30:32] Chris tells us he did the deprecations error or exceptions screencasts this week. Also, the guys talk about how there is way better “sharding” support now in Rails 6.1, and Chris explains “horizontal sharding.” [00:34:34] Jason brings up delegated types in STI, which he uses quite a bit at Podia.[00:37:02] Chris mentions Rails 6.2 is in the works already. [00:39:42] Jason talks about gems he finds that moved out of Rails, like acts_as_list, and Chris names some other ones that he wishes were still maintained. [00:43:36] The guys chat about supporting the squad, communities, and people making good stuff, and to go buy Jason’s course. Panelists:Jason CharnesChris OliverAndrew MasonLinks:Interactive Rails with StimulusReflex Course-Jason CharnesSnowpackSkypackFalconWIP Vercel Serverless Functions written in Ruby-Andrew MasonOpen Graph Image-VercelAnnotate template file names #38848-Joel Hawksley“Adding Disallowed Deprications to Rails 6.1”-Cliff PruittAdd delegated type to Active Record #39341-GitHubOffer dependent: destroy_async for associations #40157-GitHubacts_as_list_-GitHubHow to use horizontal sharding in Rails 6.1 Chris Oliver X/Twitter Andrew Mason X/Twitter Jason Charnes X/Twitter

Jan 1, 2021 • 51min
The Early Days of Rails, Long-term Maintenance, and Oh My Zsh with Robby Russell
[00:01:44] Robby tells us who is he and some of things he’s involved with.[00:02:42] Robby tells us about Z shells being the default on macOS and if more people are using it. [00:04:04] Since Robby’s been in the Rails Community for a long time, he tells us how things have changed and how he got into Ruby on Rails and Z shell. [00:16:34] Robby tells us about doing something in Postgres, but curious about using DRb (distributed object system for Ruby,) and a story about a past FOSSCON he went to in Portland.[00:20:59] Jason is curious to know since Robby owns an agency, if the work he takes on is primarily Ruby on Rails work. He mentions not being a maker, but a mender.[00:28:35] Chris is curious to know from Robby if a new developer comes into a team, how can you address comprehending or understanding things and make it maintainable for the longer term. [00:34:00] Chris talks about maintaining stuff, learning code, and the reality of working as a developer. [00:38:10] Chris brings up the Execute Program by Gary Bernhardt and Robby talks about one of things he values so much is how simple Ruby is to read. [00:41:30] Andrew feels like he’s under-utilizing Oh My Zsh, so he asks Robby to talk about some cool things that he’s seen people do with it and some common misunderstandings that he thinks people have about the project. He mentions some great plug-ins called git-extras, autojump, and z.[00:49:09] Robby tells us his favorite plug-in, dotenv, and a new theme he’s working on.[00:50:02] Find out where you can search for Robby on the internet.Panelists:Jason CharnesChris OliverAndrew MasonGuest:Robby RussellLinks:Robby Russell TwitterRobby Russell LinkedinPlanet ArgonOh My ZshOh My Zsh-GitHubOh My Zsh TwitterMaintainable- A Podcast from Planet ArgonCodeTourgit-extras pluginAutojump pluginz-jump around pluginz-jump around-GitHubdotenv pluginExecute ProgramDRb Chris Oliver X/Twitter Andrew Mason X/Twitter Jason Charnes X/Twitter