This is a repeat episode of Ruby Rogues 485
The Rogues dive into who are top 5% developers, what they're doing and how to recognize them. They start out discussing how mid-level developers can move up and how developers can grow in more ways that technical skills.
This episode of Adventures in DevOps is joined by John Epperson. John is a developer and has worked in DevOps for his whole career spanning about 12 years. He is also the author of Shiplane. John made Shiplane after working with Docker for a while and getting fed up with some features not being as he wanted them to be. The panelists begin the discussion with going over John’s talk “The Good, The Bad, and The Ugly”, where he covers three camps of developers namely pioneers, settlers, and townsfolk and the panelists go into detail about these camps. They also talk about how docker and Shiplane fit into this idea.
John Epperson has been doing ruby for 12 years and is a friend of Andrew Mason. He got into Docker a couple years ago and felt like something was missing, so he wrote Shiplane. He liked Docker because it was a promise that he could delegate a lot of the manual devops work to something else, and that something else was able to automate all of it. What he noticed was if you have a Docker thing in development and want to transfer it into production, there was no clear path to get a Docker item from development to production. The process wasn’t truly automated, so he created ShipLane in an attempt to automate it.
If you’re wondering how to make sense of all these frameworks, you’ve come to the right podcast. In this episode, the Rogues dive DEEP into the pros and cons of Stimulus, Hotwire, Turbo, React, Rails, and more; why certain communities are divided amongst each other (and how to fix it); and what tools you NEED to try in 2022.
Hilary Stohs-Krause is the Co-Owner and VP at Ten Forward Consulting. Having already spoken at the RubyConf mini last November 2022 about "Salary Transparency", she returns to the show to further talk about it. She explains how they were able to implement it in their company and why it is important. Moreover, she shares their company's process on how to decide on their employees' salaries.
Gavin Morrice is a Senior Ruby Engineer at Cookpad. It is a food tech company and the largest online recipe platform. He joins the Rogues to tackle his article, "How we improved our Rails app’s performance with Conditional Get Requests". He explains the idea of their article, what led them to develop their technique, and the way that this technique improves the user's experience.
Returning guest, Trae Robrock is the founder of greenbits.com but eventually sold the company. In addition, he experimented with various technologies such as node.js, lambda, python, etc. before returning to Rails. He also got into real estate and started a new tech company in the real estate space called," https://comfort.ly". Trae joins the show with John and Valentino to discuss his experience and challenges encountered in developing the applications. Moreover, they also tackle some of the tools and software that he used to maintain the apps.
Kinsey Durham Grace is an Enterprise Infrastructure Engineer at GitHub. She is also a lecturer at RailsBridge where they run a workshop to teach scholars to write code. She joins the show with John and Valentino to about a variety of topics mostly focused on DevOps and Mentoring. She shares her experience in teaching scholars in the Ruby Community. Additionally, she talks about her career transition from Go to Ruby.
When working with software or applications, developers and programmers encounter a variety of distinct system issues or problems. The Rogues join the show to share their thoughts about troubleshooting. They discuss identifying and fixing system problems in their applications, whether they're at the front end or the back end, using their own experiences as examples. Additionally, they talk about some of the tools they use to help them fix system issues or errors.
Masafumi Okura is a freelance software developer focusing on Ruby on Rails. He joined RubyKaigi 2022 as a helper staff and the chief organizer at Kaigi on Rails 2022 which took place last October. He joins the Rogues to share his experiences and some pointers on arranging a successful Conference amidst the pandemic.
Today on the show, Máximo Mussini shares how your front-end framework can benefit from integrating rails models and routes concurrently. Topics they discuss today include everything from complex structures with serializers to generating JS from rails routes.
Today on the show, Charles shares about his current projects and inner workings related to managing files and text on his various podcast portals. The panel discusses their history with legacy platforms, their personal tool preferences, and the pros and cons of ActiveStorage and ActionText.
How do you develop remotely in new ecosystems such as when you are on vacation, in a coffee shop, or traveling for business? The panel today discusses various strategies on how to manage these environments to achieve the most efficient outcomes.
Making his second appearance on the podcast, Maciej Mensfeld joins the show to share his latest developments with his Kafka and Karafka integrations and libraries. He shares his framework for Kafka 2.0, his personal approach to Rails, and how to integrate Kafka and Karafka most effectively. The panel also discusses regulation and security risks with open-source libraries for developers.
John Epperson and Luke Stutters discuss developer tools - whether those are the IDEs or Text Editors we use, the gems/libraries we include in our projects, or the OS we make use of. We talk about How we decide to replace our tools, and we talk about a number of tools that we use, the ones that we like and the ones that we wish had better replacements.
Andy Maleh joins the show today to share his opensource desktop development library app for Ruby, Glimmer. Enjoy hearing about why and how Andy created Glimmer, specific applications for implementation, comparison to other apps, DSL framework, using widgets within Glimmer, feature additives, testing, and various compatibilities.
Anton Ivanopoulos joins the show today to share his approach with using Isolator and Sidekiq to ensure simple, efficient background jobs for Ruby. Discover how Isolator and Sidekiq integrate and how you can have more reliable message processing, group jobs into a set to follow their progress, and ultimately stop worrying about queues and focus on your app. Anton shares his story how he moved from delayed jobs to Sidekiq and why he replaced his backend and why Sidekiq is more effective in the long run.
David Heinemeier Hansson (DHH) creator of Ruby on Rails joins the Rogues to discuss the successor to the asset pipeline and webpacker that's coming in the next version of Ruby on Rails.
He talks through the differences between the asset pipeline, webpacker, and propshaft and talks about the reasons you may or may not want to use each solution.
If you’re a solo developer who’s making the switch to a company, this episode is for you. Today, the Ruby Rogues discuss how to navigate the red tape and stand out at your new job.
Before you jump into legacy codebases and controllers, you need some info. In this episode, John sits down with Petr Hlavicka, a Rails developer who’s passionate about simplifying this section of Rails and helping people along the way.
“I want to make everything easier for me and my colleagues. I want it to be easily understandable even for juniors. And just because you do things differently doesn’t mean it’s wrong.”
- Petr Hlavicka
Not a fan of typical Ruby? We got you. In this episode, the Rogues talk with Bruno Sutic, an Async Ruby developer who will convince you why Async Ruby is a fantastic and stable alternative.
“Async Ruby was invited to Ruby’s standard library, so it’ll enjoy the support of Ruby.”
- Bruno Sutic
Rails 7 is HERE and we’re pumped. In this episode, the Ruby Rogues discuss all things migration, including the BEST method for a safe move, why you NEED to learn about “Turbo Frames” to streamline your Rails 7 experience, and everything you need to know about gems to help you stay on track.
If you feel like Ruby could use a makeover, you’re not alone. In this episode, the Rogues sit down with Kevin Newton, a Ruby aficionado who’s got some exciting news about Ruby in 2022. They talk about how “prettier Ruby” will make you pivot in your approach, how YJIT is going to make Ruby “crazy fast” this year, and the GIANT reason why rewriting in C is becoming less common than in Ruby.
“There’s always gonna be the purist in the back of your head…and then you have your deadline. Just write the dang parser!”
- Kevin Newton
If you’re wondering how to make sense of all these frameworks, you’ve come to the right podcast. In this episode, the Rogues dive DEEP into the pros and cons of Stimulus, Hotwire, Turbo, React, Rails, and more; why certain communities are divided amongst each other (and how to fix it); and what tools you NEED to try in 2022.
Ivo Anjo joins the Rogues to discuss Ractors in Ruby and how they can be used. They're not actors as they appear in other languages. They communicate via message passing.
Ivo clarifies several things about Ractors and what their powerful features and the understanding of what they do and how they work.
Samuel Cochran, creator and maintainer of MailCatcher joins the Rogues to discuss how he pulled EventMachine together with Ruby to build out MailCatcher.
He goes into the maintenance and contributions that have come in over the years. He dives into changes that are being made and the stability of the project.
Vlado Cingel recounts his story where he needed common table expressions within SQL for a project he was working on and wrote a patch to AREL and ActiveRecord which he submitted to the Rails Core. Since it hasn't been accepted, he's supporting it as a gem.
Vlado explains what Common Table Expressions (CTEs) are, how they work, and where they're used.
Ulysse Buonomo ran into an issue in the application he works on where the Heroku applications were taking up more and more memory. He began tracking down memory growth in the applications to keep the applications fast and keep the bills small.
Jorge Manrubia is a Security developer at BaseCamp. He discusses the encryption features added in Ruby on Rails and explains where they fit into the ecosystem for Hey.com.
The panel jumps in to help discover how to help raise the privacy bar for your Ruby on Rails applications to protect personal and private information.
Riaz Virani joins the Rogues to discuss how to thrive at your first Dev Job. He has five main ideas that when applied will help you as a new developer fit in and learn quickly on a development team.
The Rogues chime in with their experiences. They also discuss how not-so-new developers can apply these ideas either as mentors or as learners themselves.
Jeremy Evans joins the Rogues to discuss the way he builds Ruby programs and the practices he put into his latest book "Polished Ruby Programming."
The Rogues dive into Jeremy's opinions. They push back on some, applaud others, and ask deeper questions about the rest. Join this deep dive by experienced developers into the how and why of organizing Ruby in deeply practiced ways.
Huzefa Biyawarwala joins the Rogues to discuss developer tooling around Docker and how it's used with Ruby and Rails. The Rogues join in and discuss the ways they've used Docker in their own setups and how they deploy apps using Docker and how Docker is used on their own development environment.
Maxwell Anselm discusses the options that he's found to build multi-platform mobile applications. The panel chimes in on different options.
Maxwell also goes into how he uses Ruby in non-Ruby codebases.
Dave Kimura, John Epperson, Luke Stutters, Darren Broemmer, and Valentino Stoll talk about their experiences in setting up a maintainable development environment and discuss considerations when deploying to production.
Milap Neupane joins the Rogues to talk about how to know how robust your Rails apps are.
Sometimes you forget to optimize database queries or network calls for performance during development, which impact the load that the application can support and when its performance begins to degrade.
Milap breaks down how to determine where these moments occur and what to do to get better performance from your applications.
Fabio Perrella joins the Rogues to discuss debugging Ruby programs and how to find problems across your code and your dependencies.
The panel shares their stories and experience to dive into debugging tools and techniques they've used that have worked out well in the apps they maintain.
Jason Dinsmore went spelunking through the changelogs for Rails and pulled out the latest features for the most popular Ruby web development framework.
Jason and the Rogues go through the changes and discuss the upcoming changes in Rails 7.
The Ruby fiber scheduler is a powerful new feature in Ruby that we brought Wander Hillen along to discuss with us. Ruby fibers are a way of managing threading and concurrency within Ruby.
This episode explains uses that can come from the fiber scheduler and what it offers in doing work outside the main process to increase efficiency.
Jake Yesbeck joins the Rogues this week to talk about how to handle models and data migrations in your Ruby on Rails applications. He and the Rogues discuss the pros and cons of including models in your Rails migrations and the strategies for migrating data as part of migrating your database structure.
The panel then dives into Jake’s year of contributing to open source each day. What he learned and what he gained from making a contribution every day of an entire year to open source.
Christian Clausen is the author of the book Five Lines of Code in the Manning Early Access Program. He advocates for a rule based refactoring system. One of the rules he uses is refactoring your methods to be five lines of code.
Listen in to hear him explain why five lines of code matters and how to get there.
Chuck has been fighting an authorization system in an application he's building in his spare time. John, Dave, and Chuck dive into the current authorization gems and talk about their strengths and weaknesses and discuss how and when to use or build alternatives to them.
The Rogues dive into who are top 5% developers, what they're doing and how to recognize them. They start out discussing how mid-level developers can move up and how developers can grow in more ways that technical skills.
We discuss the value of bootcamps and whether new developers should consider them. We also touch a little bit on related topics like interviewing.
Richard Feldman - author of Elm in Action - joins the Rogues to discuss the advantages of Functional Programming and using Elm. Elm is a programming language that is a functional programming language built for the front-end that compiles to JavaScript. Due to its set of enforced assumptions, it leads to clean code and powerful programming constructs.
Onboarding and leveling up Junior developers can be tricky. Emily Giurleo joins the Rogues to discuss the process for creating autonomous, competent developers when you hire someone who doesn't have as much experience. She walks us through setting expectations for the new hire, giving feedback, and assessing their performance.
Hilary Stohs-Krause addresses the things that we have strong emotional reactions to as developers that maybe we shouldn't worry about them. She also leads a discussion with the panel around when fear is a good thing.
Jesse Spevack tells us about a conference topic he gave where big mistakes were made at his company. Having lived through the choices that they made, we chat about the lessons learned.
2,049 members of the Rails community from 92 countries kindly contributed their thoughts on tools, frameworks, and workflows in their day to day development lives. From these responses we hope to get an understanding of where Rails stands as a framework in 2020.
In this episode of Ruby Rogues, Chelsea Troy teaches us to hone our debugging skills to a razor-sharp edge. We learn how to actively improve debugging skills, train troubleshooting instincts and practical strategies for tackling brain-bending bugs.
In this episode of Ruby Rogues, Eric Hayes joins us with the story of his journey into the dark, undocumented depths of Arel, ActiveRecord’s private API. We learn why writing custom SQL queries in 2020 can make sense and how to unlock the more powerful features of modern databases without resorting to SQL strings. Eric tells us how he manages the potential pitfalls of using Arel and achieves massive performance wins for difficult queries on large databases.
In this episode of Ruby Rogues, Joe Santos Garcia from CodingPhase joins the panel to talk about how to successfully get into coding and grow into a coding career. He talks about growing his YouTube channel, membership site, and deciding where you want to land in your career.
React on Rails version 12 brings major improvements for hot reloading and bundle splitting. Justin Gordon talks about creating a great developer experience with React and Rails, the best way to manage your webpack configuration, simplify server and client-side rendering and avoid shaving those yaks!
Episodes
Different doesn’t need to be worse. Dmitry Tsepelev tells us how to make the most of using GraphQL with Rails, the advantages over REST-based API queries and best practices for security and schemas.
In this episode of Ruby Rogues, guest Jonathan Reinink joins the Rogues to talk about what Inertia.js is and why Rails developers would want to use it.
In this episode of Ruby Rogues, we talk with Ufuk about how Shopify made the transition to using Sorbet and about the benefits they felt they received from implementing it. Ufuk also reveals a little bit about how Shopify transitioned to fully remote and about how that will be the default moving forward.
In this episode of Ruby Rogues, the panelists discuss the progress, problems, and strategies for implementing JIT in Ruby for the Ruby 3×3 goal all while being humbled a bit as Takashi improves our understanding around the subject.
In this episode of Ruby Rogues, we talk to James Dabbs as we explore a number of subjects and topics around refactoring
Tricia Ball talks to the Rogues about diversity in tech. We discuss the declining numbers of women in tech (and the rest of STEM) since the 1980s, reasons why women are leaving mid-career and how we can help reverse this trend. Tricia gives practical actions that can be taken to improve company culture, recruitment and retention of under-represented groups.
In this episode of Ruby Rogues guest, Dylan Andrews (GoNoodle) shares his journey from pro-drummer to junior developer to successful senior software engineer. Dylan and the rogues talk about on-boarding junior developers and building up confidence.
As the world becomes more security conscious, we need to think about the ways we allow people to authenticate to our applications. WebAuthn is a standard that allows you to accept biometric, device based, and other types of authentication as a second or first factor. Gonzalo and Braulio have published a gem that allows you to add webauthn to your Ruby applications and have joined the Rogues to talk through the implications of using it in your applications.
John Beatty joins the Rogues to talk about building Progressive Web Applications on Ruby on Rails. He walks the Rogues through the ins and outs of building a PWA and what it’s like adding the features you need to get a PWA set up on Rails. It turns out to be surprisingly straightforward and yet has a ton of potential.
Episodes
In this episode of Ruby Rogues, James Thompson, a Software Architect at Mavenlink, delves into how to address errors in a service-based system and how to prioritize what errors to fix. He goes into how to recognize the errors when they are creeping in and so much more.
Lee Richmond is one of the primary developers behind the Graphiti library for Ruby. Lee describes Graphiti as the spiritual successor to ActiveResource. It provides a convenient way to provide an API that understands the object graph in your application without needing to resort to GraphQL.
Episodes
Dee Dee Lavinder talks with the Rogues about how we can create space for introverts to participate in discussions, thereby getting their input in situations where we otherwise would not. She provides some tips for extroverts to invite the input, Luke brings his patented sarcasm to the table, we discuss some pitfalls and Dee really brings some fantastic advice to the table for those trying to moderate discussions as well as for those of us having small discussions with our colleagues.
Dave Aronson joins the Rogues to talk about Mutation Testing in Ruby. The conversation starts with a discussion of what mutation testing is. They discuss the benefits and approaches before diving into implementation details.
Ivan Nemytchenko is a freelancer. He's a speaker and conference organizer. Ivan spoke at RailsConf about abstract Object Oriented programming ideas and how they can be expressed with pictures. The discussion goes into learning processes and how to create visual representations that help people understand Ruby, Rails, or other concepts.
Sean Marcia organizes Ruby For Good—an organization for building technology to solve the world's problems and an in person meetup held online this year. Sean talks about founding Ruby For Good and some of the projects it has been responsible for creating.
This episode is a roundup discussion about what the podcast hosts have going on these days. John talks about going freelance working on Ruby, Rails, and React Native. John and Chuck riff on the pros and cons of React Native. Luke then jumps in and talks about a crash-and-burn he ran into with building reports. John sympathizes based on his past experiences. The rest of the show comprises the panel filling in with what they're working on or learning.
Daniel Colson, from Thoughtbot and maintainer of Factory Bot, joins Dave Kimura, Luke Sutters, Tom Rossi, and John Epperson and discuss the transition from a Music career to a development career. We also dive into Factory Bot and its use cases.
We talk with Vladimir Dementyev about Ruby Next, its use cases and why you might want to get features from newer versions of Ruby in your current version
Chris O’Sullivan joins the Rogues to talk about the people who influenced Ruby and how it’s shaped the community and technology we have today.
David Kimura and John Epperson talk with Ian Norris on his experiences with Pair Programming. We discuss misconceptions, when pair programming works and when it doesn’t, remote paring and different types of pair programming.
Colin Fulton has written a Ruby implementation in assembly for the Apple II. He's also got a fondness for the impossible and impractical applications of software. He walks through how he approached writing a somewhat limited version of Ruby for a old and limited machine. He also talks through other ways to explore the limits of Ruby and other programming languages.
In this episode of Ruby Rogues, Zachary and the panelists speak about doing small projects. They cover half-done projects, when is a project really “done” and staying focused. An unfinished project is not a failure and making a small project helps to make a complete project.
Jon Druse is a developer from Tennessee and has been using Rails for 15 years. He starts the show by sharing some of the background behind his RailsConf talk “How To Lose 50 Milion Records in 5 Minutes” and the various mistakes that were made that lead to such a dramatic loss. The loss of these records lead the company to refactor and rewrite the entire app in MongoDB. Jon talks about the decision to use Mongo. One of the main points of his talk was that their mistake was discovered because they were trying to figure out wy Elastic Search was getting slow. He counsels listeners to avoid working your way into a poor status quo and accepting it rather than doing something to fix it. If this happens, it can lead to the sudden failure of your app. In the talk, he mentions ‘landmines’, which are things in your app you don’t want to touch and you don’t deal with it until later. In his company, they left these landmines alone and then did something they thought was unrelated, and everything blew up. He stresses the importance of looking for landmines in the parts of your app that you’re uncomfortable with. He talks about the importance of doing code reviews, and to not keep doing things the same way they’ve always been done if there is a better way to do things. He also believes that there should not be a stigma about talking about mistakes and the importance of learning from each other. He talks about specific things that his company has done to change and improve. The panel discusses the idea of process theater and when refactoring and remaking your entire app is the appropriate solution.
Bob Quillin and Karthik Gaekwad are on the Oracle developer relations team. Karthik has been on Ruby Rogues previously, and he explains how he went from the Kubernetes team to developer relations. They begin the show by explaining what Kafka is, the leading open-source event streaming platform that Oracle is compatible with. It allows cloud developers to build, publish, and subscribe models for streams of records in addition to many other functions. Systems that used to take a long time to make have become very small and simple with Kafka. Kafka stands out from other message queueing systems because of its robust nature and scalability.
Bob goes into more depth about the evolution of Kafka and the panel discusses some different use cases, concluding that Kafka works best for projects with a large amount of data coming in and for making real-time decisions. Bob and Karthik talk about other things Kafka can do beyond the message queue, such as building streams from specific patterns. They talk about when you should consider moving over to Kafka. Karthik talks about how to get started with Kafka. One of the best ways to do this is to set up a service with Oracle and to just play around with it, which won’t cost you much if you aren’t pushing a lot of data through it. Bob and Karthik talk about some of the features offered by Oracle and Kafka. While the offerings are somewhat vanilla, you get the advantage of it being an open-source driven service on top of a cloud that’s highly secure, available, and built to last. The panel discusses security within Kafka. They talk briefly about the framework Karafka and tools and resources available through Oracle for Kafka. The show concludes with the panel talking about compatibility between Kafka and Docker.
Today the panel is talking about their development environments and preferences. Most of them run on Macs, but they talk about other operating systems. They discuss some of the pros and cons of using Apple products. While Apple has conveniences to help you restore data, many of them have had issues with cabling and the fact that Macs are not easily extendable. They agree that the speed at which a development environment gets up and running is less about the hardware and more about how the environment is set up.
Mithun leads development relations at HERE Technologies which specializes in building location services and location platforms. A lot of location is so seamlessly integrated we don’t even have to think about it, but it’s quite complex. He talks about how location services work, such as a ride-sharing app. He talks about some of the tools and data available from HERE Technologies for people who want to use location services. The panel discusses when to use services from companies like HERE and when you should try to do it on your own. Mithun talks about other ways HERE’s services can be utilized. The panel discusses how companies can get mapping so wrong, and Mithun talks about some of the complexities involved in mapping. David Kimura talks about some of his experiences with creating a location app, and the panel talks about the unlimited applications of location services.