Log in

goodpods headphones icon

To access all our features

Open the Goodpods app
Close icon
headphones
Ruby for All

Ruby for All

Andrew Mason & Julie J

A weekly Ruby focused podcast hosted by Andrew Mason and Julie J. Each week we discuss topics ranging from Ruby, Ruby on Rails, learning, how to be a better developer, and more. The focus is on providing a podcast that caters to junior Ruby on Rails developers.
bookmark
Share icon

All episodes

Best episodes

Seasons

Top 10 Ruby for All Episodes

Goodpods has curated a list of the 10 best Ruby for All episodes, ranked by the number of listens and likes each episode have garnered from our listeners. If you are listening to Ruby for All for the first time, there's no better place to start than with one of these standout episodes. If you are a fan of the show, vote for your favorite Ruby for All episode by adding your comments to the episode page.

In this episode of 'Ruby for All', Andrew and Julie discuss drawing inspiration from MC Escher through games like Monument Valley, to dealing with the intricacies of Discord roles and authorization, and the importance of immediate and continuous feedback through tools like Google Docs during talks. Then, guest Andrew Atkinson joins us and shares insights from his new book, “High Performance PostgreSQL for Rails,” detailing his journey from initial drafts to publishing and his shift towards independent consulting. He emphasizes the significance of understanding database operations, schema design, and efficient querying for optimizing Rails applications. Also, Andy talks about preparing a workshop for RailsConf, aiming to educate participants on query performance improvement techniques and the utility of using multiple Postgres instances. The conversation also touches upon the learning strategies, potential challenges, and benefits of workshops versus talks at conferences. Hit download now to hear more!

[00:00:10] Julie started drawing again inspired by MC Escher and playing a game called Monument Valley, and Andrew mentions he’s on a tilt dues to issues with Discord roles.

[00:01:59] Andrew introduces the git command ‘git instaweb’ as a cool new find and shares something he remembered going back to the getting feedback for talks topic.

[00:04:24] Andrew “Andy” Atkinson introduces himself and discusses the completion of his book, “High Performance PostgreSQL for Rails,” the positive response in beta sales, and his new venture into independent consulting.

[00:08:16] Andy talks about his shift from development work to more educational and consultative roles, considering diving deeper into Postgres development.

[00:09:48] There’s a discussion about Andy balancing work-life commitments, creating content-like videos and tutorials, and leveraging these for marketing and educational purposes in the tech community.

[00:11:29] Andy considers the idea of making short videos for platforms like TikTok and Instagram Reels, and he talks about his preference for watching conference talks on YouTube over popular content creators. He also talks about Hussein Nassar’s videos on Udemy and how he encouraged him to make short videos.

[00:15:01] Andy is conducting a workshop at RailsConf and expresses his excitement about presenting at RailsConf and the opportunity to connect with people interested in query and database optimization.

[00:17:09] Julie shares her preference for learning through hands-on workshops and looks forward to participating in Andy’s workshop. Andy gives us a sneak peak of his workshop which will focus on query performance, query running, and index support, as well as exploring the benefits of having multiple Postgres instances.

[00:20:19] Andrew asks if Docker is necessary for the workshop, leading to a discussion on the practicality of simulating different database instances.

[00:22:10] Andy plans to prepare for potential challenges such as internet issues by possibly providing content on USB drives and ensuring attendees can access prerequisites before the workshop. He emphasizes the workshop format will be more hands-on with less lecturing.

[00:24:06] Julie asks about the prerequisites needed for audience members attending the workshop, especially if they’re new to Rails or databases. Andy clarifies that attendees should have at least built a database-backed Rails app or have similar experience with another language or framework,

[00:25:44] Julie mentions that there’s a desire for more advanced content in talks and having a range allows participants to engage at different levels. Andrew shares his preference for advanced topics in workshops.

[00:29:45] Andrew explains his preference for collaborative learning and anticipates the second day of RailsConf to be different and beneficial for those who like to pair and bounce ideas off others. Andy wants to ensure that the workshop content is new and valuable, different from what attendees might learn elsewhere.

[00:32:11] Andy outlines the key takeaways he hopes attendees will leave with, including skills to improve the speed and scalability of their web apps, understanding database operations, and leveraging multiple databases with Rails Active Record.

[00:34:04] Andrew shares while reading Andy’s talk outline, he realized he wasn’t sure when to use indexes outside of standard use cases. Andy acknowledges the importance of not just solving existing problems with indexes, but also identifying where problems may arise in Postgres by tracking queries not using indexes.

[00:36:35] Andrew discusses the existence of gems like lol_dba, which suggest potential indexing opportunities, but notes the difficulty in validating those suggestions. Andy mentions other tools like Rails PG Extras and tells us the workshop will demonstrate how to use the ‘explain’ ...

bookmark
plus icon
share episode

In this episode of 'Ruby For All', hosts Andrew and Julie welcome guest Kevin Murphy, Software Developer at Pubmark and member of the RailsConf program committee. The discussion kicks off with Andrew and Julie catching up, then transitions into an in-depth conversation about the RailsConf planning process. Kevin and Julie, the Speaker Liaison, share insights into the workings of the program committee, the selection criteria for conference talks, and the challenges and rewards of organizing RailsConf. Additionally, Kevin elaborates on his role in the committee, the theme for this year's conference, and his goals for impact, and Julie looks forward to supporting speakers and managing workshops. The episode emphasizes the importance of volunteer contributions to the success of RailsConf and encourages attendees to express their gratitude to the organizers, and to go check out all the details at RailsConf.org and buy your tickets now! Press download to hear more!

[00:00:15] Andrew and Julie catch up, Andrew overslept after finishing a project, Julie was up late watching videos, and Andrew recommends the show “Invincible.”

[00:02:22] Kevin introduces himself and explains why he likes working with Ruby on Rails.

[00:03:37] Kevin discusses the role of the RailsConf program committee, explains their responsibilities, including reviewing proposals and scheduling talks.

[00:05:10] We learn what Kevin looks for in a conference talk proposal, emphasizing relevance to the theme and potential audience interest. Julie shares her perspective on reviewing proposals, considering both her emotional response and broader interests.

[00:07:38] Kevin shares his first experience on the committee and discusses the time commitment involved and talks about the fairness of reviewing all proposals at once after the submission deadline.

[00:11:03] Julie expresses her difficulty with the proposal reviewing process, suggesting that a grading scale might have been more effective for her. Kevin reflects on the surprises of the reviewing process and the difference between his perceptions and the rankings generated by the review system.

[00:12:41] Julie adds that the difficulty in having to reject good talks due to overlapping topics or because they might fit better at another conference like RubyConf,

[00:13:09] Andrew asks if the proposers receive feedback on why their talks may be more suited for RubyConf, and Kevin explains that if they ask, Ruby Central will make their best effort to provide it.

[00:14:47] What’s been the most rewarding part of this experience for Kevin and Julie? Kevin finds the opportunity to impact the community through the program committee rewarding, and Julie says she’s waiting to see the full impact of her role as Speaker Liaison, which involves making speakers feel supported and pairing them with mentors.

[00:16:24] Kevin and Julie both explain how they were invited to join the program committee by Ufuk, who’s a member of the Ruby Central board, and Julie brings up a previous episode with Kevin on conference speaking.

[00:17:52] Andrew asks what Kevin and Julie think the hardest part of will be being on the program committee at the conference. Kevin hopes his committee responsibilities won’t impact his conference experience too much, and Julie anticipates the challenge of not having as much personal downtime during the conference due to her responsibilities.

[00:19:41] Kevin reflects on the subjective nature of selecting talks and how different perceptions among committee members can affect decisions. He emphasizes that rejected talks are not necessarily of poor quality but may not fit due to other reasons.

[00:21:02] Julie inquires about Kevin’s role on the program committee and how he feels so far. His role involves scheduling and organizing accepted talks and workshops, reviewing and giving feedback on rejected proposals, and just being available.

[00:22:00] Julie’s role is Speaker Liaison, helping speakers with their needs and feeling special, and helping with scheduling workshops. Kevin clarifies the concept of tracks at conferences and since there aren’t any this year, the goal is to align all talks with the overall theme of building with Rails. Julie mentions a blog post written by Kevin about the absence of tracks at RailsConf.

[00:23:28] Kevin shares his aspirations for his impact on RailsConf: ensuring a safe, educational experience for attendees, seeing first-time speakers succeed, and enjoying the mentorship process. Julie describes her motivation for becoming a Speaker Liaison: to provide a supportive experience for speakers.

[00:25:03] RailsConf is happening in Detroit, May 7-9. Kevin expresses his excitement for various aspects, including the strong program and meeting friends, and urges everyone to visit RailsConf.org, check the schedule, and get tickets.

[00:28:19] Find out wher...

bookmark
plus icon
share episode

On this episode of "Ruby for All," hosts Andrew and Julie catch up with Julie returning after a bout of strep throat, and then share their excitement about having guest Bobbilee Hartman, the founder of Rails Camp West USA, joining them. Bobbilee discusses the origins of Rails Camp, its unique unplugged experience, and the variety of activities attendees can engage in, from coding retreats to outdoor adventures like hiking zip-lining, and kayaking. She also shares the logistics of organizing such an event, the sense of community it fosters among tech professionals, and how it differentiates from traditional conferences by offering a more personalized, inclusive, and memorable experience. The episode also touches on the challenges and joys of planning such an event, future locations, and the benefits of sponsoring, Press download to hear more!

[00:00:39] Bobbilee explains her history with tech community events and Rails community, mentioning her shift to developer relations, the start of Rails Camp, and her personal interests.

[00:01:27] Andrew expresses his long-standing interest in Rail camp since college, and Bobbilee details the Rails Camp US experience.

[00:08:01] Bobbilee talks about the evolution of Rails Camp, its sponsorship, and the organization, including the scholarship program, location changes, food arrangements, and personal outreach for ticket sales and promoting the event.

[00:13:19] Andrew inquires about the unique benefits of Rails Camp’s style of conference. Bobbilee discusses the small size of Rails Camp, how it caters to different communication styles, and facilitates community through organic interactions rather than traditional networking.

[00:15:35] Addressing Julie’s concerns about attending unfamiliar events, Bobbilee emphasizes that most attendees come alone, and the event’s structure in small groups makes it welcoming for newcomers. She mentions various options for lodging and activities, accommodating different comfort levels and financial situations.

[00:17:56] Bobbilee explains the intense planning involved in Rails Camp, finding new venues each year, working with new partners, and sourcing local items for goodie bags.

[00:19:55] Bobbilee shares her personal rewards from organizing Rails Camp, such as staying connected with the tech community, helping sponsors, and maintaining relationships as life becomes busier.

[00:22:17] Andrew talks about his own experiences with big conferences and appreciates the small group activities and inclusiveness at Rails Camp. Bobbilee explains how meals and activities are organized to ensure inclusivity and engagement, and she details her vigilance in ensuring all participants feel included.

[00:24:20] We learn that Rails Camp is being held in Cascade, Idaho this year. The venue is a top-rated summer camp with numerous activities, located on a private lake, and Bobbilee expresses a desire to include whitewater rafting as an activity and is seeking a sponsor if anyone is interested.

[00:27:13] Julie is curious about the venue selection process, and Bobbilee explains that she uses a combination of her saved lists, summer camp directories, and Google Maps to ensure venues are in suitable locations.

[00:31:46] Bobbilee leaves listeners with the idea that Rails Camp is a simple, all-inclusive experience for those seeking an alternative to big conferences, emphasizing easy logistics and a variety of activities available.

[00:33:26] The conversation wraps up with Bobbilee discussing sponsorship opportunities with various benefits attached to different levels of support.

Panelists:

Andrew Mason

Julie J.

Guest:

Bobbilee Hartman

Sponsors:

Honeybadger

GoRails

Links:

Andrew Mason X/Twitter

Andrew Mason Website

Julie J. X/Twitter

Julie J. Website

Bobbilee Hartman Website

Bobbilee Hartman X/Twitter

Bobbilee Hartman LinkedIn

Rails Camp USA X/Twitter

Rails Camp West
Rails Camp West Registration

  • (00:00) - Bobbilee's Tech Community Journey
  • (01:27) - Rails Camp US Experience Overview
  • (08:01) - Evolution and Organization of Rails Camp
  • (13:19) - Unique Benefits of Rails Camp
  • (15:35) - Making Rails Camp Welco...
bookmark
plus icon
share episode

In this episode of 'Ruby for All', host Andrew is joined by guest Drew Bragg to talk about the ins and outs of the Sin City Ruby conference. Drew provides a comprehensive breakdown of the event, highlighting the mix of technical and lifestyle talks presented, the benefits of regional conferences for building community and networking, and the unique atmosphere that smaller, regional conferences offer. Additionally, the episode covers the importance of Ruby and Rails in current technology, personal experiences with speaking and organizing community events, and thoughts on the future of regional programming conferences. The conversation concludes with Drew emphasizing the value of these gatherings in strengthening the Ruby community and encouraging participation in future events. Hit download now to hear more!

[00:00:29] Drew introduces himself and tells us what he does, and Andrew explains why he didn’t attend the conference and what he did instead.

[00:02:45] Drew talks about his game show-style talk he gave, which is interactive and challenges attendees’ knowledge of esoteric Ruby syntax.

[00:05:31] Andrew brings up seeing Jason’s talk and the attendee makeup at Sin City Ruby, noting many new faces and speculating on the impact of regional conferences bringing in local attendees who might not travel to larger conferences.

[00:07:51] Andrew asks about the speakers’ dinner, which Drew describes as a communal eating experience.

[00:11:42] Drew explains the first day began with a forced socialization event which Drew found more pleasant in a smaller conference setting.

[00:12:44] Andrew inquires about the style of talks at Sin City Ruby, wondering if there was a particular focus. Drew describes the conference as having a mix of topics with some technical, business-related, and lifestyle-oriented tasks related to Ruby and Rails.

[00:14:01] Drew mentions enjoying Stéfanni Brasil’s talk, Jason’s live coding dressed as Elvis was very entertaining and hilarious, and Obie Fernandez’s closing keynote offering a different perspective on AI’s impact on the industry.

[00:15:40] Regarding lack of recordings at the conference, Drew sees benefits form a speaker’s perspective, and acknowledges that recordings can be valuable for review and as a portfolio asset.

[00:18:41] Drew prefers speaking at smaller conferences for the close-knit atmosphere and better audience interaction but acknowledges that larger conferences have their own advantages.

[00:21:12] Andrew asks what went well with this conference, and Drew explains he appreciates the laid-back nature and mentioned the relaxed atmosphere set by organizer Jason Swett made the event feel more like a meetup.

[00:24:23] Drew shares that he didn’t find any aspect of the conference that didn’t go well and praises the simplicity of regional conferences like Sin City Ruby. He emphasizes the convenience of Vegas as a conference location.

[00:25:40] Discussing Vegas itself, both Andrew and Drew enjoyed visiting Hoover Dam and the overall experience of connecting with people with shared interests in Ruby. They also touch on having fun people-watching and the vibrant environment of “Old Vegas.”

[00:27:55] Drew’s takeaway from the conference is the reaffirmation of Ruby and Rails’ potential and expresses enthusiasm for the talks he attended, singling out Tom Rossi’s as particularly energetic and engaging.

[00:31:01] Drew promotes the idea of attending or organizing local conferences for their intimate nature and the connections they foster. He gives a shout-out to several upcoming Ruby conferences.

[00:32:05] Find out where you can follow Drew and his podcast online.

Panelist:

Andrew Mason

Guest:

Drew Bragg

Sponsors:

GoRails

Honeybadger

Links:

Andrew Mason X/Twitter

Andrew Mason Website

Julie J. X/Twitter

Julie J. Website

Drew Bragg X/Twitter

Drew Bragg Mastodon

Drew Bragg Website

Code and the Coders who Code it Podcast
Sin City Ruby 2024

  • (00:29) - Sin City Ruby: Drew’s Introduction
  • (02:45) - Game Show Talk: Testing Ruby Knowledge
  • (05:31) - New Faces at Sin City Ruby
  • (07:51) - Speakers' Dinner: A Communal Experience
  • (11:42) - Forced Socialization: Networking Made Easy
  • (12:44) - Talk Styles: Te...
bookmark
plus icon
share episode

In this episode of "Ruby for All," hosts Andrew and Julie take us through a journey of debugging, from dealing with weather-induced moods to squashing tricky bugs in their code. They touch on the challenges of debugging without audio guidance, leveraging logs for troubleshooting, and the logical approach to handling errors in Ruby or JavaScript. They dive into the variations of different debugging tools, such as Pry and the Rails Logger, and the complexities of transitioning to new debugging gems. Andrew recounts a perplexing bug only replicable in production and details his process and concluding the issue. As they navigate the intricacies of problem-solving, they contemplate the worth of fixing minor bugs versus prioritizing major ones, drawing on real-life examples from their experiences. Andrew wraps up with a reminder of the importance of teamwork in debugging, while they both acknowledge the reality that sometimes, a bug might just remain unfixed. Join them as they share insights and laughter, reminding us of the human element in the world of code.

[00:00:54] Andrew describes the bug issue he had and the difficulties of debugging it without audio in the screen recording, and Julie shares her own debugging challenges on her new team.

[00:02:00] Let’s talk about debugging, as Andrew explains different types of bugs and shares his process for understanding and reproducing bugs. Julie emphasizes the importance of understanding the product and the expected behavior to replicate and debug issues.

[00:03:31] Andrew describes his approach to getting unstuck during debugging, which includes revisiting the problem statement and using logs to trace the issue.

[00:05:14] Andrew asks Julie if she can replicate her bug in production and suggests using logs for troubleshooting. Julie talks about her approach to errors, which differs as she doesn’t typically see the red Rails error page in her work. They discuss how to deal with JavaScript errors and the importance of reading error messages.

[00:08:57] Julie inquires why some developers may overlook details in error messages, and Andrew suggest that assumptions and a form of panic might play roles and discusses when he’s more likely to Google error messages, especially regarding dependencies.

[00:13:22] Andrew explains why he prefers using the ‘Rails Logger’ over ‘puts’ for debugging. He also mentions using Overmind and tmux for viewing Rails logs.

[00:14:39] Julie draws a parallel between ‘puts’ debugging and JavaScript’s console.log debugging. Andrew confirms they are similar, and he shares his transition from using Pry to the official debug gem and the difficulty of changing old habits.

[00:16:30] Andrew clarifies that binding.irb now uses the debug gem by default in Ruby 3, he discusses the usefulness of Pry’s context-switching feature, and he outlines additional steps for effective debugging.

[00:19:52] There’s a conversation on using git for tracking code changes and git-bisect for isolating commits that caused issues, and questioning assumptions, reading documentation, and getting a second opinion or sleeping on the problem.

[00:23:17] Andrew discusses the mindset required for effective debugging: patience, persistence, and the willingness to step away and return to a problem. Julie describes a very specific bug affecting a small number of users questioning with her manager whether it’s worth the effort to fix it.

[00:25:43] Back to Andrew’s story about a bug that he couldn’t replicate in development, but could in production, and he details his process and realization that it was a display issue in the front-end.

[00:31:09] Julie relates to Andrew’s difficulty in replication bugs in development and suspects filtering differences in production. Andrew suggests troubleshooting methods for errors related to data discrepancies.

[00:33:11] Andrew shares a tip about using data to back up arguments when trying to convince others during decision-making, and Julie recounts realizing the low impact of the bug she’s working on and it it’s worth the effort.

Panelists:

Andrew Mason

Julie J.

Sponsors:

Honeybadger

GoRails

Links:

Andrew Mason X/Twitter

Andrew Mason Website

Julie J. X/Twitter

Julie J. Website

Overmind

tmux

IRB

git/git-bisect

  • (00:54) - Debugging Dilemmas: Screen Recordings ...
bookmark
plus icon
share episode

In this episode of Ruby for All, Andrew and Julie chat about their recent experiences, including a ski trip with challenges due to a storm, and discuss burnout and returning to regular podcasting. Special guest, Ryan Caldwell, a software engineer at GitHub working on Copilot, joins the conversation to discuss his work, particularly on chat-related features of Copilot. Ryan shares insights on programming languages, leaning into his transitions between Ruby, Java, and Go, and navigating the differences between dynamically and statically typed languages. The conversation covers the benefits and challenges of implementing type checking in Ruby with Sorbet, especially in large projects like GitHub. Ryan advocates for learning Ruby on Rails, praises its efficiency for staring profitable projects, and provides tips for using Copilot Chat effectively. Press download now to hear more!

[00:00:23] Julie fills us in on a recent skiing trip to went on in California, the huge storm they encountered and leaving early to avoid being stranded, the broken chain on their car, and a scary moment on a slope with her kids. Andrew shares he experienced burnout but sees improvement.

[00:02:47] Ryan Caldwell introduces himself and tells us what he does.

[00:03:53] Andrew asks Ryan about the programming languages used for Copilot, leading to a discussion about using Go for its REST API, the manageability of the project, and Ryan’s transition from Codespaces to Copilot after paternity leave.

[00:04:49] Andrew wonders why Go was chosen, and Ryan explains the team’s familiarity with Go and the language’s simplicity.

[00:06:12] Ryan reflects his first programming language and journey through JavaScript, Python, Java, and Ruby, highlighting his appreciation for Ruby. He talks about learning Ruby on the job, and his fondness for Rails.

[00:08:02] Ryan discusses the challenges of picking up new languages and his approach to learning through project involvement.

[00:09:24] Andrew asks about the shift from dynamic to typed languages, and Ryan shares his experiences transitioning from Ruby to Go.

[00:11:53] We hear about Ryan’s work on type checking with Sorbet at GitHub, and he shares that Sorbet helped find edge cases and bugs, improving the code by requiring changes to the structure to prevent these issues.

[00:15:09] Ryan feels the biggest benefit of Sorbet is enforcing developers to consider boundaries and contracts between classes, which encourages thoughtful coding and design. A downside he mentions is the time and confusion involved in the migration process, particularly for team members unfamiliar with the new syntax.

[00:17:11] Julie inquires if Ryan would do anything differently regarding Sorbet implementation. He reflects on the challenge of estimating the time required for implementing Sorbet, dealing with complex code, and the difficulty of refactoring legacy code without comprehensive tests.

[00:18:44] Would Ryan go back to Ruby/Rails without Sorbet? He states that he would for personal projects for speed but appreciates Sorbet in team settings for defining clear code boundaries.

[00:19:31] Ryan suggests that small teams should consider Sorbet if it solves a specific problem, rather than adopting it without a clear purpose.

[00:21:40] Ryan discusses his pride in streamlining the authentication process across different clients in Copilot, leading to a simplified codebase for the team. A tip he shares is to provide as much context as possible when using Copilot Chat to get better responses.

[00:25:35] Andrew talks about custom instructions for ChatGPT, like ensuring all output is in bullet points, and wonders if such a feature exists for Copilot.

[00:28:46] Ryan advises newer developers to be intentional about what they chose to learn in software development, emphasizing the importance of investing learning time wisely. And yes, Ruby on Rails is still worth learning in 2024.

[00:31:03] Find out where you can follow Ryan on the interwebs.

Panelists:

Andrew Mason

Julie J.

Guest:

Ryan Caldwell

Sponsors:

Honeybadger

GoRails

Links:

Andrew Mason X/Twitter

Andrew Mason Website

Julie J. X/Twitter

Julie J. Website

Ryan Caldwell X/Twitter

Ryan Caldwell GitHub

GitHub Copilot

Go

Sorbet

bookmark
plus icon
share episode

In this episode of Ruby for All, Andrew and Julie discuss the intricacies of callbacks in Active Record models. They talk about their experiences, the pros and cons of using callbacks, and the issues they faced. They also share some helpful use cases for callbacks, including user authentication, logging and auditing, custom slug generation, and the concept of “hooks.” Also, Andrew and Julie review their ways of dealing with callbacks testing and debugging in a Rails application. Press download now to hear more!

[00:02:32] Let’s learn about “callbacks” in Rails as Andrew explains what they are and uses an example of a blog post to explain how a callback might function when saving a post.

[00:03:56] Julie inquires if Tiptap can be used in a browser for apps and they discuss before-save callbacks in a post model and how they can be used to extract and save a title.

[00:06:19] Andrew elaborates on the three different types of callbacks: before, after, and around callbacks, and gives examples of each.

[00:10:06] They discuss practical uses for before-validation callbacks, such as setting default values.

[00:11:12] Andrew clarifies the concept of “hooks” in programming, comparing it to callbacks.

[00:12:18] Julie asks for examples of actions taken after validation versus before validation.

[00:13:19] Andrew talks about how a file upload, an after-create callback can be used for processing the file such as generating thumbnails or updating related resources. He lists examples use cases for callbacks like hashing passwords before saving to the database during user authentication, triggering email notifications after a comment is posted, and logging and auditing activities like user sign-ups or errors.

[00:15:57] Julie is curious about whether deleted accounts really remove all user data or just make it as inaccessible, noting some services offer a soft delete option with a time window to recover the account. Andrew has not yet encountered the fallback log issue he set up but explains how before-destroy callbacks could be used to implement a time-based soft delete system.

[00:17:19] Andrew describes using before-create callbacks for generating custom slugs for blog posts automatically.

[00:17:54] Andrew recalls a discussion at RailsConf about the diverse opinions on using callbacks, with some developers strongly against them and others in favor. He acknowledges that while callbacks can simplify complex operations, they can also make debugging difficult and can become problematic if used excessively or inappropriately.

[00:23:00] Julie asks Andrew where he stands on the use of callbacks, and he positions himself in the middle, closer to using them when appropriate.

[00:25:16] Andrew emphasizes being cautious with callbacks and explains that callbacks are useful when certain actions need to happen automatically without explicit instruction every time a record is saved.

[00:27:40] Andrew discusses the challenges of testing callbacks, as they can require additional setup in tests and slow down the test suite. He concludes that callbacks are an integral part of Rails, he advises against using them as the first solution and recommends weighing their pros and cons carefully.

Panelists:

Andrew Mason

Julie J.

Sponsors:

Honeybadger

GoRails

Links:

Andrew Mason X/Twitter

Andrew Mason Website

Julie J. X/Twitter

Julie J. Website
Active Record Callbacks

Tiptap

  • (00:00) - Intro and Topic Overview
  • (02:32) - Introduction to Callbacks in Rails
  • (03:56) - Discussing Before-Save Callbacks and Tiptap
  • (06:19) - Types of Callbacks: Before, After, and Around
  • (10:06) - Uses for Before-Validation Callbacks
  • (11:12) - Hooks vs Callbacks
  • (12:18) - Practical Use Cases for Callbacks
  • (15:57) - Soft Delete Options and Before-Destroy Callbacks
  • (17:19) - Generating Custom Slugs with Before-Create Callbacks
  • (17:54) - Diverse Opinions on Using Callbacks from RailsConf
  • (23:00) - Andrew's Not an Expert
  • (25:16) - Caution and Appropriate Use of Callbacks
  • (27:40) - Challenges of Testing Callbacks
bookmark
plus icon
share episode

In today’s episode, Andrew and Julie dive into the topic of onboarding onto new teams. Julie discusses her latest venture of switching teams, and Andrew sheds light on the innovative “Shape Up” method by Basecamp that’s shaking things up in the project management world, and why he prefers this over Agile. There’s talk of the dreaded technical debt, and how to keep it in check, plus the perks of pair programming and the need for a solid support system at work. Besides tackling these workplace issues, they also touch on the challenge of maintaining personal relationships in a remote working environment, keeping old team ties strong, and why asking questions is key to professional growth. Press download now to hear more!

[00:01:45] Julie gives us an update on the changes at her work, transitioning from a consumer team to a platform team. She mentions that her old team is shifting from two-week sprints to a new process called “Shape Up,” which Andrew explains it as a product/project management philosophy from Basecamp, focusing on a six-week cycle.

[00:03:08] Andrew details the process of shaping a feature, setting boundaries, identifying risks, and then pitching it.

[00:04:25] Julie inquires about the involvement of engineers in the shaping and betting processes, and Andrew describes how it works at Podia, and how they used Flipper.

[00:06:33] Andrew discusses the “cool down” period after a project cycle, which at Podia involves monitoring for bugs and wrapping up the project details rather than no scheduled work.

[00:07:42] The topic of technical debt is addressed, with Andrew acknowledging its inevitability and the importance of staying on top of it through practices like support weeks.

[00:10:54] Andrew expresses preference for the Shape Up process over Agile, appreciating the longer time frames, collaborative problem-solving with designers, and a less stressful experience with more planned projects.

[00:12:14] Julie shares her transition to a new team and the challenges of ramping up, contrasting it with her experience from two years ago and feeling the pressure to not ask basic questions due to her years of experience.

[00:13:53] Julie discusses the pressure she feels to ramp up quickly on her new team, acknowledging its self-imposed. Andrew and Julie talks about the onboarding process, where Julie notes the benefit of scheduled pair programming sessions with teammates as a key part of her learning.

[00:15:44] Andrew shares Podia’s onboarding method, which involves acting like a user of the application to understand its various parts. Julie reflects on the complexity of her new team’s codebase and the challenge of understanding how services interact.

[00:17:51] Andrew suggest creating a service diagram to visualize service interactions, something he found useful in previous jobs. Julie considers the idea and mentions the potential benefits of a detailed visual representation of the service interactions for her understanding.

[00:19:48] Julie and Andrew discuss the social dynamics of joining a new team with established relationships and the extra challenge of doing it so remotely. Andrew shares similar experiences and the importance of being inclusive to new team members.

[00:21:59] Andrew shares how he’s an introvert by nature, and Julie and Andrew both agree on the importance of asking questions and having supportive seniors and leaders who encourage a culture of inquiry.

[00:26:05] Julie talks about maintaining relationships with her old team and the value of keeping professional connections active, even after moving to a new team or company.

Panelists:

Andrew Mason

Julie J.

Sponsors:

Honeybadger

GoRails

Links:

Andrew Mason X/Twitter

Andrew Mason Website

Julie J. X/Twitter

Julie J. Website
Shape Up

Flipper

  • (00:00) - Intro and Topic Overview
  • (01:45) - Julie's Team Transition and Shape Up Method
  • (03:08) - Andrew on Shaping a Feature in Shape Up
  • (04:25) - Engineer Involvement in Shaping and Betting
  • (06:33) - Podia's "Cool Down" Period After Project Cycles
  • (07:42) - Addressing Technical Debt
  • (10:54) - Preference for Shape Up Over Agile
  • (12:14) - Julie's Transition and Ramping Up Challenges
  • (13:53) - Onboarding Process and Pair Programming
  • (15:44) - Podia's Onboarding Method
  • (17:51) - Creating a Service Diagram for Understanding Interactions ...
bookmark
plus icon
share episode

In this episode of Ruby for All, Andrew and Julie welcome special guests, James Garcia, Eric Halverson, and Caleb Mitchell, all part of The Agency of Learning run by Dave Paola. Today, they share their unique journeys into software development, ranging from music to technical support backgrounds, and their involvement in The Agency of Learning. They discuss the value of the Ruby community, the joy of coding in Ruby, and the complexities of keeping up with Rails in a fast-paced tech environment. The conversation also touches on the importance of community in learning and how to get involved in the Ruby ecosystem, wrapping up with practical advice on handling race conditions in coding projects. Press download now to hear more!

[00:00:13] Julie wonders if Andrew launched his feature and he mentions a setback due to architectural challenges. Julie relates to his issues sharing she faced a race condition blocking a release.

[00:01:24] Julie mentions the Ruby for All Book Club and three guests joining them, who are a part of that club, where they are reading, The Well-Grounded Rubyist.

[00:02:02] Eric, Caleb, and James introduce themselves and talk about their backgrounds.

[00:05:36] What is The Agency of Learning? Eric shares his view and experience as an amazing ride, and James describes it as a “finishing school” for new programmers.

[00:09:17] Andrew inquires about the unique challenges faced by Caleb due to his music background. Caleb discusses the time management challenges of balancing music and programming.

[00:11:41] Julie’s interested to understand the guests’ experiences and challenges at The Agency of Learning. Caleb talks about the challenges of working with large, preexisting codebase. James adds to Caleb’s points, discussing the learning experiences with different production apps.

[00:13:50] Andrew asks Julie about her experience working for Ruby for Good projects, and she expresses her enthusiasm for Ruby for Good. Andrew tells us what he did with contributing and praises Ruby for Good and encourages listeners to contribute.

[00:14:43] Eric tells us about his current career position, and he describes a personal existential crisis following an intense project for a Rails conference, which led to a period of burnout and a shift in focus back to Ruby fundamentals.

[00:18:08] Eric shares advice from Cody Norman, a lead at The Agency of Learning, about pursuing what inspires you. Andrew relates to Eric’s return to fundamentals and shares a perspective on learning Rails and Ruby.

[00:19:41] Andrew asks about the hardest part of learning Rails in 2023. James discusses the challenge of keeping up with front-end updates in Rails, specifically Hotwire and Turbo Drive. Caleb talks about the challenge of focusing learning on an era with abundant resources and highlights Launch School and The Odin Project as helpful resources. Eric reflects on the complexity of Rails and strategies learning it.

[00:24:21] Julie asks the guests if they would recommend Rails to others or change their own journey. Caleb states his positive experience with Ruby and Rails, suggesting it as a good starting point. James enjoys Rails and believes it helped him understand programming fundamentals, Eric speaks highly of Ruby and Rails and values the community.

[00:27:15] Julie mentions that Ruby’s appeal kept her in software engineering and would recommend it as a first language. Andrew reflects on advising his brother on programming languages, highlighting the clarity Ruby brought him after learning Java.

[00:29:20] Eric credits Julie for highlighting the importance of community in learning to program and James emphasizes reaching out for help in the Ruby community, praising its supportive nature.

[00:30:53] Andrew asks for advice on how to join the Ruby community. James tells us to connect through Twitter, Discord, and conferences. Caleb recommends reaching out to study or work with others, leading to lasting relationships. Eric started with podcasts, moved to Twitter, then conferences.

[00:34:09] Julie shares two Discord groups for joining the Ruby community: The Ruby Learning Center and the GoRails Discord.

[00:34:24] Find out where you can follow Eric, Caleb, and James online.

[00:35:26] Andrew explains and gives an example of a race condition, since Julie had one at work that was driving her crazy.

Panelists:

Andrew Mason

Julie J.

Guests:

James Garcia

Eric Halverson

Caleb Mitchell

Sponsors:

Honeybadger

GoRails

Links:

Andrew Mason X/Twitter

Andrew Mason Website

bookmark
plus icon
share episode

In this special crossover episode recorded live from RailsConf 2024 in Detroit, join us for a unique gathering of prominent Ruby podcasters. Julie teams up with Elise from the 'Ruby on Rails' podcast, Jason from 'Code with Jason,' Joël from 'The Bike Shed,' and Drew from 'Code and the Coding Coders Who Code It.' The group discusses their experiences at RailsConf, including workshops, talks about Test Driven Development (TDD), and building dynamic applications with Turbo. They delve into the implications of RailsConf being discontinued after 2025, the thriving local Ruby conference scene, and share candid moments about their interactions with the community. Additionally, they touch upon diverse topics such as Detroit-style pizza, hot dog eating capacities, and food opinions, blending technical insights with light-hearted banter. The episode concludes with gratitude for the well-coordinated event and excitement for future Ruby gatherings. Enjoy!

[00:00:30] Live from RailsConf Detroit

[00:01:04] Meet the Hosts

[00:01:38] Conference Highlights and Workshops

[00:07:21] The Future of RailsConf

[00:12:10] Community Interactions and Podcasting

[00:14:21] Exploring Detroit

[00:17:30] Exploring Unique Pizza Toppings

[00:18:02] Pittsburgh's Pierogi Pizza

[00:18:20] The Versatility of Pizza

[00:19:17] Controversial Pizza Opinions

[00:20:43] Coney Island Hot Dogs in Detroit

[00:21:19] Hot Dog Eating Contest

[00:21:39] Food Preferences and Eating Habits

[00:26:06] Snail Mail Programming Newsletter

[00:27:24] Conference Highlights and Expectations

[00:30:50] Wrapping Up the Podcast

Panelists:

Julie J.

Elise Shaffer

Jason Swett

Drew Bragg

Joël Quenneville

Sponsors:

Honeybadger

GoRails

Links:

Julie J. Twitter

Julie J. Website

Drew Bragg Twitter

Code and the Coding Coders who Code it Podcast with Drew Bragg

Jason Swett Twitter

Code with Jason Website

Joël Quenneville Twitter

Joël Quenneville Website

The Bike Shed Podcast

Elise Shaffer Website

The Ruby on Rails Podcast
RailsConf 2024

  • (00:30) - Live from RailsConf Detroit
  • (01:04) - Meet the Hosts
  • (01:38) - Conference Highlights and Workshops
  • (07:21) - The Future of RailsConf
  • (12:10) - Community Interactions and Podcasting
  • (14:21) - Exploring Detroit
  • (17:30) - Exploring Unique Pizza Toppings
  • (18:02) - Pittsburgh's Pierogi Pizza
  • (18:20) - The Versatility of Pizza
  • (19:17) - Controversial Pizza Opinions
  • (20:43) - Coney Island Hot Dogs in Detroit
  • (21:19) - Hot Dog Eating Contest
  • (21:39) - Food Preferences and Eating Habits
  • (26:06) - Snail Mail Programming Newsletter
  • (27:24) - Conference Highlights and Expectations
  • (30:50) - Wrapping Up the Podcast
bookmark
plus icon
share episode

Show more best episodes

Toggle view more icon

FAQ

How many episodes does Ruby for All have?

Ruby for All currently has 69 episodes available.

What topics does Ruby for All cover?

The podcast is about Ruby, Software, Podcasts, Technology and Education.

What is the most popular episode on Ruby for All?

The episode title 'RailsConf 2024 Workshop Spotlight — Build High Performance Active Record Apps with Andy Atkinson' is the most popular.

What is the average episode length on Ruby for All?

The average episode length on Ruby for All is 30 minutes.

How often are episodes of Ruby for All released?

Episodes of Ruby for All are typically released every 7 days.

When was the first episode of Ruby for All?

The first episode of Ruby for All was released on Jul 28, 2022.

Show more FAQ

Toggle view more icon

Comments