Remote Ruby

Chris Oliver, Andrew Mason
undefined
Jun 23, 2023 • 46min

Jason Goes to Infinity (and Beyond)

In this engaging conversation, Andrew, a recent code refactoring enthusiast, and Chris, a programming aficionado, dive into their journeys in Ruby programming. They share the complexities and satisfaction of optimizing code, discussing the elegance of removing conditionals. The duo also explores Ruby Infinity and its impact on performance. They reflect on childhood music preferences while humorously contemplating starting a band. Plus, Jason reveals plans for a Southeast Ruby conference, emphasizing the importance of community in programming.
undefined
7 snips
Jun 9, 2023 • 59min

Diving Into The Deep End of Docs

In this episode, Chris and Andrew have a candid discussion about their programming experiences, the demanding nature of their jobs, and the joy and complexity of coding.  They have a conversation on challenges with dependencies, the new branch settings on GitHub, TypeScript, JavaScript, and the functionality and benefits of using JSDoc. They also dive into the importance of flexibility in code, the evolution of coding practices, their preference for smart editors that provide real time updates, and the topic on the use of AI tools in programming is discussed and whether AI assists or inhibits the developer’s thought process. Also, Andrew tells us about Prefab, a cool Rails tool he recently discovered and found very useful. Hit download to hear more! [00:00:35] Andrew tells us he has an app to monitor his activity and sometimes finds himself working for 11 hours straight, and Chris reminisces about the early days of learning to code and the excitement of late night programming. [00:04:58] Chris was struggling with dependencies in his work and considers writing his own basic glob functionality. [00:11:38] The guys discuss the utility of new branch settings on GitHub, and Andrew tells us he made his own commitlit config and updated his prettier config on his GitHub. [00:12:52] They move onto the topic of JavaScript and TypeScript, bringing up JSDoc, and Andrew explains the functionality and benefits of using JSDoc. He shares his discovery that JSDoc can be used to add TypeScript functionality without writing TypeScript, primarily using type comments. [00:16:47] Chris notes that this approach allows for middle ground between JavaScript and TypeScript, enhancing editor hints without the complexity of a fully typed language. [00:22:50] Chris tells us his journey began in college where he learned multiple languages such as Ruby, Python, C, and Visual Basic. He emphasizes the importance of flexibility in code, allowing it to evolve over time. [00:25:18] Andrew shares his dislike for Sorbet and talks about his preference for Solargraph in VS Code, a language server that uses YARD docs for typing.  He’s found this useful in his work, particularly when refactoring. [00:27:55] We hear about the greatest code Andrew’s ever written, and Chris and Andrew discuss the use of dynamic languages and how it’s crucial not to lose the essence of languages like Ruby by over-imposing typing. [00:33:49] Chris discusses the use of AI tools in programming, such as GitHub’s Copilot, and notes that while they’re useful in generating codes, but they may limit the developer’s thought process since they tend to rely on AI’s suggestion without thinking through the problem. [00:37:26] Andrew explains why he showed Chris some documentation he generated from ChatGPT 4, and they both agree that AI-powered tools can make documentation more efficient. [00:46:53] Andrew talks about his experience with Product Hunt, and a very useful Rails tool he recently discovered called prefab.cloud, which allows developers to target their Rails logs for specific user issues.[00:53:12] Chris and Andrew discuss the difficulty of dealing with Twitter API and Reddit API pricing, lamenting the high costs for developers. They also talk about their frustrations with companies that acquire and shut down successful third-party apps instead of supporting them.Panelists:Chris Chris Oliver X/Twitter Andrew Mason X/Twitter Jason Charnes X/Twitter
undefined
Jun 2, 2023 • 44min

The GoRails Gang Takes Over

On this episode of Remote Ruby, Chris and his GoRails team is taking over since Jason and Andrew are traveling. Today, Chris has joining him Kent Crutchfield, who’s a customer service expert for GoRails, and Collin Jilbert, who’s a Ruby/Rails Dev at GoRails.  As we kick off this episode, we start by exploring a captivating debugging situation involving GoRails servers, the C language, and the operating system Kernel. Chris and Collin discuss their ongoing Hatchbox integration project, and Kent’s expert handling of complex tasks. We also hear about Chris’s new interactive forum series coming out soon, some advice for aspiring coders, and there’s a discussion around tools like GitHub Copilot and their potential impact on developers’ growth.  We’ll wrap things up with Kent sharing his favorite part about joining the team, the rewarding experiences he’s had, and the sheer love for his work in Ruby and Rails.  Hit download to hear much more! [00:00:58] Kent shares his background in customer support and how he started working at GoRails. [00:02:49] Chris and Collin discuss a challenging debugging situation they had to solve involving the C language, GoRails servers, and the operating system Kernel. They also remember a previous conversation regarding the complexities of CSS optimization at scale based on a talk from a GitHub employee. [00:07:50] The team has been working on Hetzner integration for Hatchbox, and despite the complexities of Hatchbox, Kent finds the challenges interesting and satisfying to overcome. He also highlights there are GoRails beginner-friendly content and new learning paths.[00:09:51] Chris is close to completing a new forum series for their learning path, transitioning from a blog format. The forum has topics, posts, and other features. He plans to add videos to their learning videos to their learning content in the future.[00:13:54] Collin and Chris discuss the importance of a practical approach to feature building, starting with the basics, and evolving through identifying potential issues and edge cases as they arise. [00:16:38] Kent suggests sticking to Rails defaults as much as possible and avoiding AWS for beginners. He also mentions that a lot of issues arise when users try to implement fancier features. [00:18:16] They discuss the SSL configuration complexity, Cloudflare’s role as a proxy, and its implications on the application. Chris mentions the exceptional performance of Caddy in automating the SSL certification process and migrating problems related to domain set-up. [00:25:28] Kent shares some advice for aspiring coders to be consistent, read books, watch instructional videos like GoRails, and build something, no matter how small. Chris emphasizes the importance of learning how to debug.[00:30:59] Collin expresses concern that tools like GitHub Copilot might hinder developers’ growth by offering ready-made solutions without a thorough understanding of the problem, and Chris suggests that Copilot is useful for repetitive tasks. [00:33:22] The discussion evolves around the importance of understanding the underlying code versus just getting a task done. Chris and Collin imply that this depends on the programmer’s immediate goal, whether it’s to ship the product quickly or to build something that won’t break in the future. [00:39:10] What’s been Kent’s favorite thing about coming onto the team? He tells us it’s learning Ruby and Ra Chris Oliver X/Twitter Andrew Mason X/Twitter Jason Charnes X/Twitter
undefined
May 26, 2023 • 38min

Ruby 3.3 Preview 1 & The Mystery Of The 3 Inch Round Button

The conversation kicks off with quirky reviews of shows like 'Curb Your Enthusiasm' and 'Seinfeld.' Exciting news emerges with the introduction of Ruby 3.3 Preview 1, highlighting performance boosts and new features. They tackle the hurdles of implementing autosave and error handling in Rails applications, while comparing Ruby with Laravel. The pals share laughs about the nuances of software development and discuss the challenges of using serverless functions and various hosting options. Tune in for insights, humor, and tech revelations!
undefined
May 19, 2023 • 49min

Railsconf Recap

On this episode of Remote Ruby, the guys discuss various topics relating to hosting options, web frameworks, open source projects, and give us a recap on RailsConf 2023.  They dive into the pros and cons of serverless architectures like Lambda, Jason’s experience with Roda, their interests in front-end technologies and JavaScript integration in Rails, and Andrew tells us about regex for playground. We’ll hear their thoughts on RailsConf, their favorite talks, Chris’s workshop, things that could have been better, and the importance of community contributions, transparency, and the need for clearer communication. Also, if you missed this RailsConf, they mention some other conferences coming up, so hit download to hear more![00:00:10] Chris brings up the blog post on Amazon’s AWS blog which sparks a discussion about the effectiveness of serverless architectures like Lambda. [00:02:02] The conversation shifts to Jason telling us his experience with building a microservice using Roda. Then he tells us the benefits of Roda and compared it to Sinatra, and now Andrew wants to upgrade his Sinatra app to Roda since Jason had such a positive experience.[00:05:48] Cloudflare Workers, Puppeteer, Rust and JavaScript are discussed. [00:09:06] Chris shares his thoughts on RailsConf, mentioning attendance was smaller than expected. The guys also bring up that there was no hallway track and the spread out nature of the event, which made it less conducive to casual networking and impromptu conversations. Chris enjoyed the keynotes and attending a talk by Jordan Burke on hosting with Hatchbox, Fly , and Render. [00:12:10] There’s a conversation on the need for more direction and talks on front-end technologies and JavaScript integration in Rails, and where to go if you want to learn more about these topics and contribute to the community. [00:14:26] Chris shares his takeaway from RailsConf, mentioning his interest in reading Rails commits daily to stay up to date with the community’s progress. He also talks about his favorite part of the conference was an encounter with a Lightning Talk presenter who worked on the same project he did 13 years ago.  [00:17:16] Jumpstart Pro has been updated to Rails 7.1 and we hear the changes, and the conversation shifts to regex and a tool Andrew finds useful called “iHateRegex” and “regex for playground” that helps visualize regular expressions. [00:21:19] At RailsConf, Chris gave his first ever workshop with Colin Loretz. The talk focused on Webhooks and their handling in Rails and Chris made a screencast of the workshop and integrated the code into Jumpstart Pro.[00:26:06] Chris and Andrew talk about needing more scholars and promotions for the guide program at RailsConf. Also, they liked how there was a huge emphasis on Junior developers this year.  [00:29:03] Ruby Central is talked about and how more clarity regarding how community contributions are used, and they mention the change in leadership within Ruby Central and the impact it has had on the community. [00:38:24] The guys talk about all the upcoming conferences, including RailsConf and RubyConf. and Andrew shares his experience with social anxiety during the conference.[00:43:25] Chris mentions a hearing a rumor about Rails 7.1 shipping very soon, and Andrew tells us Jason dunked on him at RailsConf in front of everybody. [00:46:49] We end with the guys expr Chris Oliver X/Twitter Andrew Mason X/Twitter Jason Charnes X/Twitter
undefined
May 10, 2023 • 37min

Remote Ruby RailsConf 2023 Panel

This is a special episode from RailsConf 2023 Atlanta, where we’re having a Ruby Community Podcast LIVE!  Today, we have on the panel Brittany Martin, Co-host of The Ruby on Rails Podcast, our very own Jason Charnes, and Paul Bahr, Audio Editor from Peachtree Sound, who edits over a dozen tech podcasts. We also have some great guests joining us: Aaron “tenderlove” Patterson, Irina Nazarova, Justin Searls, and Britni Alexander, who was selected by the audience to be our fourth guest. Today, our guests share some stories about who they are and what they do, give shout-outs, and answer questions from our audience.  Hit download now to hear more! [00:04:30] We start with Aaron “Tenderlove” Patterson, sharing the origin of his nickname. [00:06:05] Since Aaron has switched companies over the years, he tells how his job has changed a lot, and how he spends one hundred percent doing open source at Shopify. [00:08:05] A question from the audience comes up on what Aaron is looking most forward to working on this year. He mentions some spoilers. [00:10:38] Since Aaron has been working Ruby and Rails for so long, Brittany asks if there’s ever been a community that may have tempted him to leave. His answer is no.  [00:11:44] Aaron leaves us with a shout-out to Mushroom Hunting since he is a mycologist.  [00:12:46] Our next guest is Irina Nazarova, co-founder of Evil Martians, who tells us she had a dream that Brittany would invite her on a podcast. [00:15:44] Irina explains that consulting allows them to understand user needs, which they use to build useful tools.[00:16:44] She explains the open source products they build are a byproduct of consulting work, and they allocate resources to work on them once they show traction.[00:18:44] The focus here is on startups and if she recommends Ruby and Rails to startups.  [00:19:51] An audience question comes up for Irina on how does Evil Martians foster the environment for a great company blog? She tells us about her great editors and the blog articles that bring value to the company. [00:21:23] Irina makes a shout-out for people to support Ukraine during the war.[00:23:18] Next, we have joining us Justin Searls, co-founder of Test Double, and Britni Alexander, former employee at Mailchimp. They introduce themselves and tell us a little bit about what they do. [00:27:48] Justin discusses his favorite talk he’s given, “How to Scratch an Itch.”[00:29:14] Britni tells us her ideal job and her struggle to balance being kind and direct. [00:30:05] Justin tells us about an upcoming project called, N.E.A.T, which is focused on discussing ways to make software better that are not related to technology. [00:32:15] Britni talks about what her ideal job would be. [00:33:05] We hear about the RubyKaigi conference in Japan and Justin’s plans to attend and report on it. [00:35:30] Britni gives a shout-out to her friend Eileen for being her friend, and Justin expresses his gratitude for the opportunities and connections he’s gained through the Ruby community. Moderator:Brittany MartinPanelists:Jason CharnesPaul BahrGuests:Aaron PattersonIrina NazarovaJustin SearlsBritni Alexander Chris Oliver X/Twitter Andrew Mason X/Twitter Jason Charnes X/Twitter
undefined
Apr 28, 2023 • 50min

Indie Game Dev with Amir Rajan - Dragon Ruby and Ruby Motion

On this episode of Remote Ruby, Jason, Chris, and Andrew welcome guest, Amir Rajan, an indie game developer and owner/CEO of DragonRuby LLP. Today, our conversations revolve around game development using RubyMotion and DragonRuby.  We’ll hear how Amir built a successful iOS game called, A Dark Room, using RubyMotion, and his experience with RubyMotion and its expansion to target other platforms, leading to the creation of DragonRuby Game Toolkit. There’s a discussion on the challenges of targeting different platforms and the benefits of DragonRuby’s data-oriented API, scalability, and continuity of design. Amir touches on the benefits of game development, the possibility of making a living from it, and he shares some advice for indie game developers. The importance of sustainability in open source development is emphasized, and Amir tells us about some upcoming features in DragonRuby, and he explains his reasoning for charging for DragonRuby. Hit download to learn more!  [00:01:28] Amir talks about his experience using RubyMotion to build a successful iOS game called, A Dark Room, and about acquiring RubyMotion and expanding its runtime to target other platforms, which led to the creation of DragonRuby Game Toolkit. [00:06:21] When it comes to RubyMotion, Amir explains that you still need to learn some of the iOS frameworks to implement it in Ruby.[00:09:10] We hear Amir’s thought process behind acquiring RubyMotion and how taking over a runtime has been for him. He emphasizes the importance of understanding foreign function interfaces and building C extensions in Ruby to take advantage of battle-hardened C libraries. Also, there’s a great book he read that really helped him understand the machinery and language called, Ruby Under a Microscope. [00:11:52] Amir discusses the challenges of targeting different platforms with RubyMotion and the difficulties of integrating new language enhancements into the runtime. [00:14:02] We learn how DragonRuby utilizes MRuby to create a multi-level runtime that handles constructs that don’t exist on different platforms and 90komprovides a cross-platform experience for game development without any assumptions about the platform.[00:19:15] Amir dives into the problem DragonRuby solves and why someone would want to use it, besides it being awesome and that you get to build video games in Ruby.[00:21:59] Jason loves how simple DragonRuby is to get started so Amir explains the simplicity behind it versus Unity.  The continuity of design is emphasized which allows developers to start with simple solutions and expand as necessary. [00:27:30] The conversation touches on the benefits of game development and the possibility of making a living from it. Chris Oliver X/Twitter Andrew Mason X/Twitter Jason Charnes X/Twitter
undefined
Apr 21, 2023 • 37min

Amanda Perino - The Rails Foundation

Bet? On this episode of Remote Ruby Jason and Andrew make a bet. The timer is set for ten minutes, and if Andrew loses, Jason gets to find out his mysterious middle name. Cleophus, Herkimer, Phalange??? The question is, will Jason find out?  In the meantime, we’re very excited to welcome our special guest, Amanda Perino, who’s the Executive Director for The Rails Foundation.  Today, we’ll discuss The Rails Foundation, some initiatives that are underway, such as Rails World Conference scheduled for October 2023 in Amsterdam, some things in the works with improving documentation, and how the Rails Foundation is looking for more ways to involve Junior Developers in Ruby and Rails. Hit download to learn more! [00:02:23] Amanda tells us about her background and how she got involved with The Rails Foundation. [00:06:20] Let’s find out Amanda’s thoughts on the direction she’s going for improving documentation, and she mentions React.dev.[00:14:13] The conversation shifts to Rails World, an upcoming conference for Ruby on Rails, scheduled for October 2023 in Amsterdam.  Amanda talks about the strategy work she’s doing for it right now, what kind of vibe she’s looking for at it, and how it’s going to have two tracks and a hangout space. [00:22:45] What’s next for the conference with planning for Amanda that she’s focusing on right now? She announces three big things: getting registration up and running, forming a mentorship training thing with the Junior Developer, and getting sponsors. [00:23:31] Jason mentions how awesome it is that The Rails Foundation said they want a Junior Developer to help build their site. Amanda tells us that they’re looking for ways to provide opportunities to Junior Devs, and she brings up some other initiatives that inspired her such as, Beginner Bounties, The Agency of Learning, and First Ruby Friend.[00:24:56] Amanda explains there are sponsorship opportunities outside of sponsoring The Rails Foundation, as well as opportunities sponsoring the event itself. [00:25:47] Jason wonders if there’s any plans for any type of individual sponsorships or if it will stay at the company level with The Ruby Foundation, and if there are other people or individual developers who want to support the foundation can help.[00:27:57] Amanda talks about the work being done in each of the pillars in The Rails Foundation, and she shares her ideas for the marketing initiative.[00:30:30] There’s a conversation about the supportive and friendly nature of the Ruby and Rails community.Panelists:Jason CharnesChris OliverAndrew MasonGuest:Amanda PerinoSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterAmanda Perino TwitterAmanda Perino LinkedInThe Rails FoundationReact.dev Chris Oliver X/Twitter Andrew Mason X/Twitter Jason Charnes X/Twitter
undefined
Apr 14, 2023 • 47min

Optimizing Ruby JIT Compilers with Takashi Kokubun

On this episode of Remote Ruby, Jason and Andrew are here, and they are thrilled to have with them, Takashi Kokubun, a Staff Developer at Shopify. He’s here to talk about JIT (just-in-time) compilers in Ruby and why we would want to use one in Ruby. We’ll hear about his work on YJIT and RJIT, the differences between YJIT and MJIT, and how the primary focus is to make YJIT the best JIT compiler for real-world Ruby apps. There’s a conversation about the use of Rust in JIT compiler development for Ruby, and Takashi shares some benefits to using Rust, as well some challenges. Also, there’s some exciting upcoming improvements in YJIT, we find out why HAML is Takashi’s preferred template language, and he tells us about Hamlit, the template engine he authored and maintains. Hit download to hear much more! [00:01:54] Since Takashi worked on the original MJIT, he tells us what a JIT compiler is and why we would want to use one in Ruby.[00:06:41] Takashi talks about working on the original MJIT (Ruby 2.6). [00:11:15] Jason wonders what kind of performance gains Takashi saw on average in Ruby 2.6 using MJIT in production. He explains that it was designed to optimize specific benchmarks such as Optcarrot but was not efficient for general purpose applications like Rails. [00:12:49] We find out why MJIT was slower on Rails which has to do with it using a sync compiler. [00:14:41] What kind of improvements were there in running Optcarrot with MJIT?[00:16:41] Takashi shares why he joined in Shopify and what he did with YJIT.[00:20:34] We hear some differences that YJIT has taken from MJIT. For example, YJIT is a JIT compiler that generates machine code directly, making it more efficient and faster than MJIT, which uses a C compiler. Also, he explains the architecture being very different between MJIT and YJIT. [00:24:52] We learn some performance benefits using YJIT.[00:26:19] Let’s listen to Takashi talk about his work on RJIT, and he touches on John Hawthorn and Aaron Patterson’s compilers, hawthjit and TenderJit. [00:31:23] Takashi talks about the primary focus to make YJIT the best JIT compiler for real world Ruby apps. [00:34:20] Takashi shares his mixed feelings with Rust, as well as the challenges. [00:39:29] There’s some exciting improvements coming up in the JIT world! [00:42:33] Andrew wonders if ERB gets any benefit to the stuff happening in YJIT.[00:43:14] HAML is Takashi’s preferred template language, and he tells us about a HAML package he authored and maintains called, Hamlit. [00:44:42] Takashi maintains many libraries, he works on YJIT at Shopify, and writes assembly code.  How does he have time for all this? [00:45:46] Find out where you can follow Takashi online.Panelists:Jason CharnesAndrew MasonGuest:Takashi KokubunSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterTakashi Koku Chris Oliver X/Twitter Andrew Mason X/Twitter Jason Charnes X/Twitter
undefined
Apr 7, 2023 • 46min

We're the gem exec(utives)

On today’s episode of Remote Ruby, the conversation begins with Jason, Chris and Andrew discussing their experiences with podcasting and how they started. Then, the conversation takes a shift to discussing using the latest version of RubyGems in Bundler, the addition of a new feature called, gem exec, that allows for easy running of executables from gems that may or may not be installed, and more about GemX.  Twitter’s new algorithm is mentioned, along with someone who leaked Twitter’s source code on GitHub. Chris talks about some frustrating experiences with his Rails for Beginner’s Course that he’s releasing very soon which will be free, and some plans to expand the curriculum. There’s a discussion on the challenges of teaching and learning programming, the process of recording tutorials, and Chris shares some tips and tricks for Ruby programming. Ruby is magic, so go make some magic and press download to hear much more! [00:03:18] The guys catch up on what’s been happening with work, and Andrew tells us he tried the new gem exec stuff in RubyGems, he explains the new feature, and there’s a discussion about the advantages of the new feature and how it works, which ends with a bit of confusion. [00:10:03] Andrew brings up an example and mentions a gem called GemX that people are using.[00:12:09] We hear about a gem Andrew wrote that was printed out a like business card with cool texts in the terminal and how he was inspired by someone in the Node community.[00:14:04] Jason brings up Twitter releasing “The algorithm,” and how someone leaked Twitter’s source code on GitHub. [00:17:52] In Chris’s world, he tells us how he’s been re-recording his Rails for Beginner’s Course and his frustrating experience with trying to use Digital Ocean Spaces for image uploading, as well as frustrations with CORS configuration and policy instructions.[00:28:41] Chris and Andrew discuss the challenges of teaching and learning programming, specifically Ruby on Rails. [00:32:15] Chris mentions the upcoming release of a new Rails for Beginner’s Course, which will include six hours of Ruby content, and plans to expand the curriculum to include more topics like HTML, CSS, and JavaScript.[00:33:35] Andrew and Chris discuss the process of recording tutorials, which can be time consuming and difficult to balance between explaining concepts and providing practical examples. [00:37:06] Listen here for some tips and tricks from Chris for Ruby programming, including using simple delegator and modules on individual instances of a class. He also talks about a blog post on Thoughtbot and about The Gilded Rose Code Kata. [00:42:28] Jason chimes in saying he’s just been writing maintenance task and talks about his struggles with abstractions.Panelists:Jason CharnesChris OliverAndrew MasonSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterGemX GoRails Chris Oliver X/Twitter Andrew Mason X/Twitter Jason Charnes X/Twitter

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app