Three Rubyists having conversations and interviewing others about Ruby and web development.
Subscribe to this podcastOpen in app
On today’s episode, Chris and Andrew have an early start and catch up on their lives. Then, they dive deep into the latest developments in the Rails community, including the release of Rails 7.0.6, bug fixes, and changes to Active Record. They share their experiences with GitHub deployments, documentation issues, and how they navigate through its challenges. They discuss the benefits of MySQL and Postgres, as well as the ongoing advancements in Postgres, specifically Crunchy Data’s contributions. Chris and Andrew share their views on working in different company sizes, the joys of learning new things, dealing with burnout, and the slower pace of feature shipping in larger companies. There’s a discussion on Reddit’s recent actions, its impact on subreddit moderations, and the discontinuation of the Reddit API. We’ll also hear about Chris’s cooking adventures, experimenting with different flavors, and making some Texas Twinkies. Hit download to hear more! [00:02:00] Chris and Andrew talk about the release of Rails v7.0.6 with bug fixes and changes in libraries like Action Cable and Active Record, including subqueries and associations with polymorphic relationships.[00:06:10] Andrew is curious about the GitHub deployment stuff and expresses his desire to create GitHub deploys from Heroku. They talk about the complexities of setting up GitHub deployments and the lack of clear information from GitHub, and how the documentation with Checks API can be confusing to set up. [00:09:49] Chris discusses the challenges of figuring out GitHub’s deployment process and the lack of documentation. He expresses frustration with the lack of clarity and support for smaller accounts. [00:14:41] PlanetScale is brought up and its association with MySQL, and they discuss the benefits of MySQL and Postgres, and the new features and advancements in Postgres, including Crunchy Data’s contributions and the potential use of Postgres in web environments. [00:17:43] Chris shares a fun story about working on implementing jump server support in the new Hatchbox. They encountered unexpected complexities with the net-ssh gem to address the problem. [00:29:51] Chris emphasizes the importance of being mindful of memory usage and performance trade-offs and how it becomes more critical when building large-scale products. [00:31:59] Andrew mentions that releasing features can be challenging and Podia is currently facing that challenge with releasing a feature while also building onto it. He emphasizes the importance of coordination, communication, and learning from code to recognize and solve problems faster. [00:33:46] Chris reflects on his experience working at a consulting agency and how it allowed him to learn quickly by facing different projects and finds joy learning new things as a programmer. [00:34:43] We hear Andrew talk about feeling stuck in a job, comparing small companies which offer more challenges, to big companies where employees get stuck doing the same tasks, and Chris tells us he’s happiest when learning new things and how it accelerates burnout.[00:35:57] Chris discusses the challenges faced by big companies when it comes to feature shipping due to the need to ensure existing users are not negatively impacted, and Andrew highlights the varying levels of impact when breaking code and emphasizes the importance of being able to find and fix bugs quickly. [00:39:00] We hear about Chris’s mad cooking skills with pulled pork and experimenting with smoked cream cheese which he hopes to use in some Texas Twinkies. [00:43:53] The conversation shifts to Reddit and its recent actions regarding subreddit moderation and the discontinuation of the Reddit API, and they express frustration with Reddit’s handling of the situation and the negative consequences it’s had on the community. [00:51:30] We end with Chris needing to attend to his cooking tasks and Andrew mentions his responsibility to lead Podia in Jason and Jamie’s absence. Panelists:Chris OliverAndrew MasonSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterRails 7.0.6 PlanetScaleCrunchy DataReddit Won’t Be the Same. Neither Will the Internet (WIRED)What the Heck is a Texas Twinkie?
In today’s episode, Jason, Chris, and Andrew kick it off with a discussion about their work environments, seating options, and Andrew’s hilarious story about going to IKEA, pencil behind his ear, tape measure, and his Mustang, to buy a new couch. We shift gears (see what we just did there) to the recent buzz surrounding the Rails World event and some speculations about Rails 7.1 features, and Chris tells us about Rails Hackathon that’s coming up in July. From there, we move into a more personal space as Jason shares his experience of shifting from coding to manager and the associated challenges, the productivity debate, and how we handle our time allocation between coding and managerial tasks. We wrap up with reflections on career progression, with Jason’s return to coding from management acting as an inspiration for others. Hit download now for an episode filled with humor, technical talk, and personal journeys in the world of coding. [00:00:58] Chris reveals he has acquired a new chair that belonged to his wife, leading to a discussion about comfortable seating options available on Amazon. Then the conversation turns towards their cars, as Andrew shares a funny story about his Mustang, which turns into a debate about the Mustang Mach-E.[00:04:42] There’s a conversation about the recent excitement surrounding the Rails World event which sold out very quickly. If you missed out getting tickets, you can sign up for RubyConf in San Diego. [00:07:15] Andrew wonders why it sold out so fast, and Chris and Jason believe it’s the first official Ruby on Rails event, the size of the event, and the involvement of the creator of Rails as contributing factors to the excitement. They also speculate about the release of Rails 7.1 and other upcoming features in the Rails ecosystem. [00:11:00] Andrew shares a trick he stole from Ben that invalidates the bundle cache and re-downloads every gem on the system from scratch whenever Bundler is run. Chris brings up a Tweet that humorously tells Linux users to remove the French language pack, which is a trick to delete all files on the system. [00:11:56] Chris brings up another Tweet at GoRails about Homebrew issues related to using backups from an Intel Mac on an Apple silicon Mac. [00:12:54] Chris tells us they launched their new updated version of the Rails Hackathon site which will be going on July 28-30, 2023.[00:16:56] Jason shares that he’s been more focused on project management than coding recently. Chris expresses that he still measures his productivity by how much code he wrote even though he does more management tasks now, and Andrew confesses to having backfilled his GitHub commit history. [00:21:01] Jason shares his experience of shifting from being a coder to a manager, and Chris questions Jason about the division of his time between coding and managing.[00:22:52] Chis shares how his productivity is also affected by various distractions and struggles of getting back into the zone after being interrupted. [00:24:04] Jason explains that Podia was very supportive of his transition to management and understood that his output would be different. He found it challenging to adjust and decided that he wasn’t interested in management at that point in his career and prefers problem-solving with code. Andrew shares his greatest output comes from working with other people.[00:27:04] Jason shares how he thought the only way to advance in his career was to move to management, but after reading the book, Build: An Unorthodox Guide to Making Things Worth Making by Tony Fadell, he realized this was not necessarily true. [00:31:32] Andrew expresses how Jason’s transition back to coding from management inspired him. [00:32:20] Jason appreciates the ability to work on complex problems and help others get unstuck, emphasizing the pleasure he finds in thinking through technical problems.[00:33:00] Chris highlights the recent trend of companies figuring out ways to give to senior engineer’s progression opportunities without pushing them into managerial roles.Panelists:Jason CharnesChris OliverAndrew MasonSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterRails World 2023RubyConf 2023Rails Hackathon July-28-30, 2023Build: An Unorthodox Guide to Making Things Worth Making by Tony Fadell
On this episode of Remote Ruby, Jason, Chris, and Andrew reunite after a hiatus, starting their conversation with a playful idea of starting a band and Andrew possibly recording a new podcast intro. A trip down memory lane brings forth their childhood musical preferences before they shift to an in-depth conversation about programming. Andrew and Chris talk about their recent experiences refactoring code and the complexities they encountered, highlighting how such processes can improve performance and efficiency. The discussion touches on topics ranging from Rails features and documentation, the usefulness of Ruby Infinity, the elegance of removing conditionals in programming, and using programming languages like Haskell and Elixir, their unique features, and how they handle conditionals differently. Also, Jason announces he’s planning a Southeast Ruby conference for early 2024 in Memphis and how he wants to focus on the community aspect. Hit download to hear much more! [00:00:24] Jason, Chris, and Andrew reminisce about their musical preferences during their childhood, and they acknowledge it’s been a while since their last meeting, partially dues to Jason and Andrew contacting COVID. [00:04:53] The conversation shifts to programming, where Andrew and Chris share that they’ve been writing a lot of code but struggle to remember specifics. Chris talks about his recent work on refactoring the Acts As Tenant gem to depend on Rails Current Attributes instead of the RequestStore gem. [00:08:24] Chris tells us he’s not sure whether he’ll merge his refactor, as he’s concerned about potentially creating more problems for himself while maintaining the gem.[00:09:30] Andrew discusses his recent experience of refactoring code, which involved rewriting a method multiple times, working with polymorphism across models, dealing with scopes, and solving problems related to pagination. He found the process challenging but ultimately successful.[00:12:57] We also hear something that happened where Andrew improved loading efficiency and performance by deferring the loading objects until a button is clicked rather than loading all at once during page load.[00:13:49] Jason shares an instance where he used Ruby Infinity in his code for unlimited job posts in an application he built a few months ago. [00:14:56] Chris finds it intriguing that infinity is located under the float class in Ruby. Jason repeats the benefits of using Ruby Infinity, including how it simplifies arithmetic operations in the code and avoids errors. [00:17:19] Chris shares a story about developing a generic pagination method for APIs in Jumpstart Pro. He mentions the process took several iterations to design a system flexible enough to handle various API structures. [00:22:03] Chris brings up programming learning experiences and highlights how people often think in terms of “IF statements” while trying to solve problems, which results in their code having many “IF statements.” [00:24:12] Jason shares a story from a CS class he took, and the first day of class the teacher asked, “How do you make a peanut butter and jelly sandwich?”[00:25:16] Andrew shares his experience teaching his younger brother who’s studying computer science and how you have to learn how to break down problems, and Chris tells us some instances and emphasizes how these little insights can change one’s perspective on coding. [00:28:21] Jason ponders about the potential impact of learning programming using a functional language as the first language. [00:28:52] Chris talks about his experience learning Haskell and its ability to define the same method name with different arguments. He also discusses the utility of removing conditionals in programming, specifically citing the presence method that Active Support adds in Ruby on Rails.[00:33:43] Jason and Andrew bring up guard clauses, which they prefer over conditionals, and Andrew says are easier to read than If or Unless statements. [00:36:26] They further discuss the potential trade-offs of using pattern matching methods, which allow for different logic based on input but can complicate code updates. [00:39:07] Jason mentions that he’s planning a Southeast Ruby conference in Memphis, in early 2024, and wants to focus on the community aspect. He notes that Ernie Miller will be helping him organize it, and he’s aiming for a small, affordable event with around 50 to 100 attendees that doesn’t lose or make money.Panelists:Jason CharnesChris OliverAndrew MasonSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterActs As TenantRequestStoreHaskell Ruby InfinityRuby Radar TwitterRuby for All Podcast
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 Rails while working in meaningful tasks, pairing with colleagues, addressing issues patiently and thoroughly, and he shares a rewarding experience.[00:41:26] What’s been the worst thing for Kent about joining the team? Nothing! He loves learning and working in Ruby and Rails. Panelist:Chris OliverGuest Panelists:Kent CrutchfieldCollin JilbertSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterKent Crutchfield TwitterCollin Jilbert TwitterGoRailsGitHub’s CSS Performance with Jon RohanGitHub’s CSS Performance with Jon Rohan (vimeo)CaddyGitHub Copilot
On this episode of Remote Ruby, Jason, Chris, and Andrew begin by sharing their thoughts on some shows they’re watching such as “White House Plumbers,” “Curb Your Enthusiasm,” and “Seinfeld.” The conversation then shifts towards the exciting release of Ruby 3.3 Preview 1, which focuses on performance improvements for YJIT and the introduction of compiler RJIT. They dive into the challenges of implementing autosaving and error display forms using Turbo and Hotwire in Rails. Then, the conversation takes a turn towards serverless function, with Andrew sharing his experiences using Vercel, and a discussion on Hatchbox and Fly for hosting applications, and the appeal of PlanetScale for databases. Go ahead and press download now to hear more! [00:00:20] The guys discuss a few shows they’re watching. [00:05:10] Chris announces the exciting release of Ruby 3.3 Preview 1, which introduces performance improvements for YJIT, and introduces the RJIT. [00:07:11] Jason brings up an interview with Aaron Patterson that Justin Searls did at Ruby Kaigi 2023 where he talked about two people working on different parsers which could benefit alternative Ruby implementations.[00:09:38] A conversation came up somewhere about Laravel being a feature-rich framework, while Ruby is considered a better language.[00:10:59] Jason brings up the challenge of implementing autosaving and displaying errors in a form using Turbo and Hotwire in Rails. Chris mentions morphdom as a solution which can help with preserving focus during form updates.[00:16:23] Chris talks about autosaving features as a standard in modern web applications, and the need for built-in solutions within Rails is emphasized to simplify the implementation process.[00:22:00] Andrew shares his frustrations with implementing autosaving and validations.[00:25:55] Andrew explains what he was doing with functions in Vercel.[00:28:00] Jason brings up talking to Crunchy Data at RailsConf and the appeal of Planet Scale for databases. [00:30:40] Hatchbox and Fly for hosting applications is discussed and plans for upgrading Ubuntu versions and Hatchbox features.Panelists:Jason CharnesChris OliverAndrew MasonSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterWhite House Plumbers (HBO MAX)Curb Your Enthusiasm (HBO MAX)Seinfeld (Netflix)Ruby Kaigi 2023-Aaron Patterson Interview (YouTube)morphdom-GitHubRemote Ruby Podcast-Episode 178: José Valim, creator of Elixir and former Rails core contributorVercelCrunchy DataPlanetScaleHatchboxFlyUbuntuBuild and Learn Podcast by CJ Avilla and Colin LoretzRuby Radar TwitterRuby for All Podcast
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 AlexanderSponsor:HoneybadgerLinks:Jason Charnes TwitterBrittany Martin TwitterThe Ruby on Rails Podcast Aaron Patterson TwitterTenderlove Making ShopifyIrina Nazarova TwitterEvil MartiansJustin Searls WebsiteJustin Searls TwitterTest DoubleTest Double N.E.A.T. communityHow to Scratch an Itch-Justin Searls talk at ng-conf (YouTube)Britni Alexander LinkedInRubyKaigi 2023RubyKaigi 2023 Field Report Blue Ridge Ruby 2023
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.
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.devLaravelRails World is coming! Beginner BountiesThe Agency of LearningFirst Ruby FriendRuby Radar TwitterRuby for All Podcast
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 Kokubun TwitterTakashi Kokubun GitHubOptcarrot yjit-benchTenderJIThawthjitHamlitRuby Radar TwitterRuby for All Podcast
Welcome to Remote Ruby and thanks for joining us! It’s Jason and Andrew today and do they have so much to talk about. RailsConf 2023 is coming up, Andrew booked his flight and lodging early, Jason announces he’s doing a podcast with Brittany while they’re there, and the guys discuss how their ADHD is so different from each other. Then they discuss npx, the benefits of using it, and how it can be useful in Ruby. Jason and Andrew talk about building user interfaces in Ruby, creating games with DragonRuby, learning Rust and Python for hardware projects, and using OpenAI API for Ai projects. We’ll also hear about their programming backgrounds, not liking math, regrets about not taking a statistics class seriously, and experiences with other college classes. Press download now to hear more! [00:04:19] The guys are excited to go to RailsConf but Jason’s feeling socially anxious since he had surgery. [00:06:03] Andrew explains what Hashnode is since Jason has no idea what it is.[00:06:28] In the wonderful world of Ruby, Andrew’s been scripting lately since he wanted to have fun, and if you don’t know what npx is, he explains what it is. Jason and Andrew also discuss using npx with Tailwind and esbuild, [00:11:09] Jason brings up using standards VS Code extension and mentions how surprisingly fast it is.[00:13:35] Jason mentions Nick Schwaderer taking on building a new Shoes project, which was a GUI graphic user interface library for Ruby, built by, why the lucky stiff. It looks like their using WebView, and if anyone can explain it, please Tweet Andrew on Twitter or message him on discord. [00:15:17] The guys talk about building user interfaces in Ruby, creating games with DragonRuby, and a Tweet by Amir Rajan about DragonRuby.[00:20:35] Jason tells us about trying to learn Rust and Python for hardware projects, and Andrew tells us about a widget he built using Rubyist.[00:22:28] There’s a discussion on using OpenAI API, Andrew has an interest in creating a profitable business with web3 technology and AI, Jason mentions “Ask Rails,” an Open AI powered chat to help you with all things Ruby on Rails.[00:25:42] The conversation shifts to Jason and Andrew’s programming backgrounds and their interest in using Ruby for hardware projects. [00:29:34] Have you heard of PicoRuby? Also, if you know mRuby, please reach out to Jason or Andrew because they need to talk to you.[00:31:50] Andrew was asked to be a Guide at RailsConf, saw the email too late, and he’s not doing it because of his commitment issues.[00:34:37] Jason and Andrew discuss their rabbit holes. One is about a speech professor, the other is being back on Khan Academy filling gaps in math knowledge, and regrets about not taking statistics class seriously and other classes. Panelists:Jason CharnesAndrew MasonSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterRailsConf 2023HashnodeAmir Rajan TwitterDragonRubyAsk Railsnpx-GitHubSearls After Dark #1-ChatJPN (YouTube)ShoesRubyistOpenAI APIPicoRuby-GitHubRuby Radar TwitterRuby for All Podcast
On this episode of Remote Ruby, if you’ve never heard of The Cannonball Run, Chris explains what it involves, Andrew is down for it of course, and Jason tells us Vin Diesel recorded a song and Andrew celebrated his birthday! In the Ruby world, we’ll find out why the guys are all fans of Pagy, and we’ll hear about a fun hack day project that the talented guys from GoRails built called, Beginner Bounties. Basically, if you’re a Junior Developer and you need to build your resume and want to stand out, you can use this platform to list small engineering projects for other people and get paid for it. Also, the guys discuss why shipping is such a great skill to have, finding the right job you enjoy, avoiding burnout, the importance of taking breaks, balancing things out, and there’s some valuable advice given for all the Junior Developers out there that you don’t want to miss. Hit download now to hear more! [00:04:50] At the end of last year, Andrew was working with Turbo and infinite scrolling Pagination, we find out what happened when the author of Pagy reached out to him. Chris and Andres give a huge shout-out to the author for doing top notch maintenance. [00:10:18] If you build Pagination on the frontend with React, Jason explains that Pagy’s really good because they have a metadata option you can turn on that has the full set of variables and properties to build pagination on the front end. Jason did it with Inertia.js and there’s a great episode to check out with the creator of it. [00:13:39] The new Pagy docs look incredible, we hear about Microsoft .NET, and Chris tells us about using someone’s browser called a kiosk browser.[00:18:36] Chris announces at GoRails this week, they decided to have a fun hack day and built a site called Beginner Bounties. Chris had this idea for years, and it’s geared towards Junior Developers. Go check it out! [00:22:00] Andrew plays devil’s advocate and asks a question using a real example regarding a project, needing to upgrade a gem to take advantage of a new configuration system, and rather than figuring out how to do it, he could pay someone to figure it out faster. Why is this wrong? [00:26:38] We hear a great story about Colin and how he got the experience he needed by helping Andrew, which led to him finally getting a job. Rails developers are the top paid developers right now, but Chris tells us there’s not a lot of Junior job openings right now but hopes companies will start hiring more juniors since it will be hard to fight for the senior positions. [00:30:25] There is important advice shared here regarding shipping, and why it’s a great skill to have. [00:31:22] Chris tells us about a PR that someone made to the prefixed_ids gem.[00:33:58] Andrew and Chris talk about bounties for Juniors to gain experience in coding. [00:43:23] The valuable points shared here is don’t wait for an opportunity to come to you. Start doing something! The people who get stuff done are the ones who will get hired. The worst thing you can do is fail, but you can always try, try again! Also, people hire their friends, and they can help when it comes to finding a job, and when you work with friends you can accomplish more, you can learn more, and have more fun. [00:49:18] Andrew and Chris discuss enjoying what you do for a living, balancing things out, avoiding burnout, and the importance of taking breaks.Panelists:Jason CharnesChris OliverAndrew MasonSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterThe Cannonball RunRemote Ruby Podcast-Episode 66-Joined by Jonathan Reinink, Creator of Inertia.jsPagy.NETBeginner BountiesPrefixed_ids IMAGINARY kiosk-browserRuby Radar TwitterRuby for All Podcast
On this episode of Remote Ruby, Chris came down with what he thinks was food poisoning this week, Jason brings up Ghost Kitchens which seem to be a thing these days, and Chris applied to be a Guide at RailsConf 2023. Also, Jason and Chris are excited to have a guest joining them because they’ve always talked about how they wished for better tooling for day-to-day Ruby development, so they brought on Vini Stock, who’s a Senior Developer at Shopify. Shopify has created the Ruby Language Server (LSP) to make it easier to implement features such as code definition and auto formatting for Ruby across different editors. We’re so lucky to have Vini with us to discuss the Ruby LSP and some other really cool things happening in the Ruby tooling space. We hope you enjoy this episode! Hit the download button now.[00:06:19] Vini shares his journey of programming and working with the Ruby on Rails Infrastructure team.[00:08:27] Now that Vini is on the Ruby Infrastructure team, we find out what kind of projects he was first working on. [00:12:04] How long has the Ruby Experience team and the LSP project been a thing?[00:12:44] Vini explains why the Ruby LSP was created. [00:15:25] Let’s find out some goals they want to achieve with the LSP right now.[00:17:37] We hear some of the differences between the work Vini’s doing on Ruby LSP and something like Solargraph.[00:19:01] Listen here as Vini details how Go To Definition works, which is a more complex feature than others.[00:24:34] Jason asks Vini what language do you write a language server in? [00:27:26] Chris wonders what challenges Vini runs into and what’s the next step of the problem of building the language server. Where does he go from there? [00:31:38] Vini shares his aha moment when he built a feature and used it, and he was thinking, “Build with joy!” [00:32:46] We hear if Vini’s using RuboCop or Syntax tree for formatting, which leads him into telling us about future plans of adding a plugin system to be able to format with standard and with Ruby format. [00:35:56] Vini shares other ideas he has for the future of the Ruby LSP.[00:37:11] Outside of the LSP, we hear about some other projects Shopify is working on with contributing to the new Ruby debugger, Chris expresses his appreciation for all the new tooling the team at Shopify is working on, and Jason expresses his love for the Rust tooling.[00:42:18] Have you seen Gary Bernhardt’s talk on building an editor? [00:46:27] If you want to try Ruby LSP, Vini tells us where to go to set up VS Code.[00:50:29] There’s a great blog post Vini wrote, a video with his talk from RailsConf 2022, and find out where you can follow him online.Panelists:Jason CharnesChris OliverGuest:Vinicius (Vini) StockSponsor:HoneybadgerLinks:Jason Charnes TwitterChris Oliver TwitterAndrew Mason TwitterVinicius Stock TwitterVinicius Stock GitHubVinicius Stock WebsiteRuby LSP (VS Code extension)Ruby LSP-ShopifyImproving the Developer Experience with the Ruby LSP by Vinicius StockRubyConf 2022- Improving the development experience with language servers by Vinicius Stock (YouTube)RailConf 2023A Whole New World-A talk by Gary Bernhardt from Strange Loop 2012Ruby Radar TwitterRuby for All Podcast