Our original panel podcast, Ruby Rogues is a weekly discussion around Ruby, Rails, software development, and the community around Ruby.
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues–6102073/support.
Our original panel podcast, Ruby Rogues is a weekly discussion around Ruby, Rails, software development, and the community around Ruby.
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues–6102073/support.
In this episode, they dive deep into the world of Ruby concurrency and explore the nuances of optimizing performance in web applications. Join our Chuck and Valentino together with special guest JP Camara as they share insights on the tools and techniques that can transform your Ruby projects.
JP kicks things off with a discussion on their new Wave 3 microphone purchase, which has dramatically improved their audio quality for podcasts and meetings. They also share their experiences at the Boston Ruby meetup, where they connected with prominent figures like Jason Sweat and Kevin Newton.
Our special guest, JP Camara, a principal engineer at Wealthbox, brings his extensive knowledge of Ruby concurrency to the table. With over a decade of Ruby development experience, JP has been contributing to the Ruby community through his in-depth blog series and work on the GBL instrumentation API. He'll be shedding light on concepts like job queues, the colorless programming approach in Ruby, and the benefits of tools like Sidekiq and SolidQ for managing background jobs.
Chuck and Valentino also join the conversation, emphasizing the importance of concurrency and parallelism in modern applications. They discuss practical examples, challenges, and best practices for efficient resource management and the impact of serverless computing. Plus, discover some fascinating board game recommendations and insights into using microcontrollers for concurrency tasks.
Whether you're a seasoned Ruby developer or just getting started, this episode is packed with actionable advice and technical wisdom. Don't miss out on this essential discussion that could take your Ruby skills to the next level!
Links
In today's episode, they dive deep into the world of databases and scaling with the Rogues with Ayush, Chuck, and special guest Muhammad Hassan. They discuss Muhammad's innovative solution involving Postgres and local database copies, the complexities of scaling, and the cost-effectiveness of powerful servers.
They unravel the magic of SQLite, especially for web applications, with a closer look at configuring for simultaneous reads and writes, handling locking errors, and optimizing database calls. Our conversation peeks into the potential of serving high traffic with minimal infrastructure and how Litestack can streamline Ruby on Rails development.
Additionally, they explore the potential of AI in development, with exciting prospects like GPT 4, and hear about interesting recommendations—from board games to music. Don't miss out on the insights from our special guest, Mohammed, as he shares his expertise in concurrency and embedded databases.
Tune in for an episode packed with practical advice, cutting-edge solutions, and a glimpse into the future of application development and deployment. Join them as they challenge traditional mindsets and optimize for modern performance.
Links
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.
Links
In today's episode, Valentino is joined by Evgeny Li, a seasoned software developer and founder of Bemi, to delve into the complex world of data recovery and auditing within SQL databases. They explore advanced solutions like paper trail and refi for querying historical changes, point-in-time recovery features offered by cloud-managed databases, and the use of AI to humanize data structures and enhance monitoring.
They highlight the critical role of Change Data Capture (CDC) in tracking and troubleshooting data changes, with real-world applications across logistics, healthcare, and more. They also discuss the pros and cons of different CDC implementations—query-based, trigger-based, and log-based approaches.
Valentino and Evgeny shed light on the challenges of managing large data volumes, emphasizing proactive design and the importance of strong data management systems. They touch upon essential tools like GitHub Copilot, OpenTelemetry, and various auditing gems, offering valuable insights into maintaining data integrity and performance.
Tune in as we navigate the intricacies of data management, the impact of AI, and best practices to ensure reliable and efficient database operations.
Socials
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.
Links
They dive deep into the world of advanced development techniques and tools. In today's episode, Valentino and Scott explore the challenges and breakthroughs in the realm of AI and code generation with a particular focus on Ruby.
Valentino vents about the complexities of prompt engineering, while Scott shares insights on prompt design, function calling for structured output, and the importance of breaking down code for reliability and testing. They highlight the declining effectiveness of prompt tricks and the growing significance of using large language models over fine-tuning.
The conversation delves into the unique advantages of Ruby for rapid prototyping, with Scott Werner, CEO and founder of Sublayer, shedding light on his self-assembling AI agent framework built in Ruby. He explains how their prompt architecture fosters easy expansion and customization.
Listeners will also hear about Scott's experiences with ramping up on new teams, operationalizing experience, and designing classes and interfaces to align with desired coding styles. The episode concludes with discussions on experimenting with AI tools, the value of community events like the Ruby AI Builders Discord and meetups, and the insights gained from fine-tuning language models.
Get ready to explore the cutting-edge of AI in development and the potential of Ruby in creating powerful, automated solutions. Tune in and join the conversation!
Socials
Obie Fernandez is the Chief Scientist at Olympia. They dive deep into the fascinating world of AI and its transformative impact on music production and application development. Our special guest, Obi Fernandez, joins Valentino Stoll to share his incredible journey of living in Mexico City since 2017 while working on innovative startups like an NFT platform and Olympia, an AI-powered consultancy growing rapidly every month.
They also introduce us to a cutting-edge music production tool that can upload music, write lyrics, and generate vocals — a boon for lyricists and singers who might not have the best singing chops. Alongside this, they discuss pragmatic uses of AI through a new book, which bridges the gap between beginner-friendly concepts and advanced AI patterns, illustrated through real-world examples.
Moreover, they explore the intricacies of AI models like GPT-4 and Gemini Pro, discussing their capabilities, limitations, and practical applications. From insights on GitHub Copilot Workspace to the challenges of incorporating natural language in development tools, this episode is packed with valuable knowledge for developers and AI enthusiasts alike.
They also touch on the innovative work being done on platforms such as Olympia and MagnaChat, and explore the burgeoning possibilities of AI in runtime environments. Whether you're interested in the technical nuances of fine-tuning large language models or the potential of AI in game development, this episode offers a wealth of information.
Tune in for a fascinating discussion that promises to broaden your understanding of how AI can be integrated into diverse applications, all while keeping it accessible for both seasoned developers and beginners.
Socials
In today's episode, they dive deep into the world of API documentation and best practices with Svyatoslav Kryukov. He is a Backend engineer. He discusses the critical importance of creating detailed specifications for RESTful APIs and recommends an insightful book for those eager to learn more. They explore the intricacies of generating documentation using DSL and tests, highlighting the pivotal role of YAML in this process. They share their methodology for writing comprehensive specifications before team discussions and the subsequent generation of development files. They also touch on the benefits of making these specifications available in a user interface through tools like Skooma, Rspec, and minitests.
You'll hear valuable AI tool recommendations, and plans for an AI and Ruby summit. They also delve into their struggles with focusing on reading and share efficiency tips using AI-based tools like Speechify and Kagi search. They cover various aspects of using OpenAPI and Swagger tools, addressing challenges in fake data modeling, and the importance of user feedback in API design. They also discuss the distinctions between OpenAPI and Swagger, the history behind these tools, and their role in code generation and AI workflows.
Socials
Elliot Winkler is a Staff Software Engineer, Shared Libraries at MetaMask. This episode blends a diverse range of topics, from casual gaming to innovative testing approaches. They explore Elliot's transition to JavaScript and TypeScript at MetaMask while maintaining his Ruby roots through open-source projects like Shoulda Matchers. They also talk about the history and purpose of these matchers, their role in testing Ruby on Rails applications, and the intelligent diffing capabilities of Super Diff. So, sit back and get ready for a deep dive into the world of Ruby, testing methodologies, and a bit of fun along the way!
Socials
In this episode, they delve into the world of Bridgetown - a progressive site generator and full-stack framework powered by Ruby. Ayush shares his journey of discovering and contributing to Bridgetown, leading to career opportunities in freelancing. The team discusses the platform's capabilities, deployment aspects, and advanced customization using Ruby. They also explore the limitations and possibilities of Bridgetown, including themes and CSS frameworks. Join them for an insightful discussion on the evolving landscape of static site generation and the innovative potential of Bridgetown.
Socials
In this episode, the focus is on the cutting-edge developments in Ruby technology. They delve into the intricacies of high-performance web servers, such as Agoo, and explore the advantages of using multiple workers to optimize Ruby applications while sharing insights on overcoming challenges like GBL lock issues. From discussions on GraphQL implementation to comparisons between Ruby and Go in development environments, this episode offers a captivating exploration of the evolution of web processes, middleware usage, and the future of project direction. Join them as they unpack the dynamic landscape of Ruby technology and its impact on modern web development practices.
Socials
Cameron Dutro is the Staff Software Engineer at GitHub. They dive deep into the world of web development and explore the latest trends, challenges, and innovations. In this episode, they have an enlightening discussion on the state of front-end development with a focus on Ruby and Rails. They delve into the use of web components, the limitations of existing technologies, and the potential for a new Ruby implementation, Garnet, to revolutionize front-end development. From the impact of Hotwire to the challenges of integrating front-end frameworks, this episode offers valuable insights and thought-provoking discussions for developers navigating the ever-evolving landscape of web development.
Sponsors
Olivier Lacan joins the panel again. He currently works for Pluralsight. Today they are talking about the spectrum of creating a Rails app, or any app, from the birth of the idea to the death of the project. They stress the importance of planning for updates. Olivier talks about his experience in maintaining Code School, which has now been incorporated into Pluralsight. David also shares his experience with the life and death of a project. They talk about technical debt and the trouble that it can create, and the importance of making your Rails application maintainable.
Olivier talks about his experience when Code School was acquired by Pluralsight. The panel discusses the inevitability of the end of an application and different ways of managing company integration. They talk about ways to plan for shutting down a project. One of the best ways to make integration easier is to clean up your code and always be considering what data needs to be kept and what can be truncated. They discuss some of the issues around storing customer data and respecting individual privacy.
The panel talks more about sunsetting, or the ending of an app. People often think that shutting down an app doesn’t have any impact, but it is important to give customers time to adjust to change, as Olivier found out with Code School. Dave talks about different reactions that one could have when change happens. The panel talks about some of the emotional implications of having to destroy something that you’ve worked hard on for a long time. Ultimately, your project isn’t where you should put your self-worth, because projects will come to an end. When things do end, it’s important to look back at where you’ve come from and the impact that you’ve had on people.
Sponsors
Adrian Marin is the Co-Founder and CTO at SuperStuff.a. He is also the Author of Avo Admin for Ruby on Rails. They delve into the world of Ruby on Rails and explore the latest developments in the tech industry. Adrian shares his journey of building Avo, his approach to differentiation, and the emphasis on customization and user support. They also discuss the challenges and maturity of open-source projects, sustainability, and the importance of offering free and paid versions to cater to diverse user needs. Join them as they uncover the technical aspects of gem distribution and the upcoming Friendly.rb conference in Bucharest, Romania.
Sponsors
Today’s guest Kir Shatrov is a production engineer on Shopify based in London, UK. Today, he and the panel are discussing capacity planning. Kir believes that capacity planning becomes a priority when your company starts losing money and your customers are suffering. When someone does get to the point of scaling their app, it’s important to look at the limitations of the hosting service. It is also important to remember that scaling is not a job that is ever completed.
Kir talks about his experience and time with Shopify and what types of changes have happened in the four years he’s been with the company. Kir explains that when Shopify was founded about 12 years ago, they were some of the first contributors to Rails, and Rails was just a zip file they shared over an email. This is important to know because the monolith code for Shopify has never been rewritten, so they put a lot of care into keeping it working. He talks about some of the techniques Shopify uses to avoid splitting into microservices when scaling their organization and how the multiple instances of the database are structured and managed from an ops point of view. He talks about what aspects of Shopify are open source and the approach to the architecture of the background jobs system.
The panel discusses what should be done if you want to scale your project and move away from background jobs. Kir talks about what criteria his company uses to determine what moves to a background job and when it is too much to background something. The show finishes with Kir sharing some of his favorite tips, tricks, and approaches he’s used at Shopify.
Sponsors
Ayush Newatia is a Freelance Web Developer. They delve into the world of modern app development, Chuck and Ayush take us on a journey through the intricacies of utilizing Turbo Native and Hotwire in Rails applications. They share their insights on using native elements as the backbone of apps while incorporating web content, simplifying app development, and bridging the gap between web and native code with the help of Strata. With a focus on enhancing user experiences, they explore the benefits and challenges of native and hybrid apps, along with a deep dive into the features and requirements of Turbo Streams. Join them as they unravel the complexities and potential of modern web and app development in this thought-provoking episode.
Sponsors
Dive into an insightful conversation with Fabio Akita, a prominent figure in the tech industry with a successful YouTube channel dedicated to programming techniques and a thriving software development company in Brazil. Join us as we explore Fabio's journey in content creation, his experiences in the tech industry, and his valuable insights on navigating the ever-evolving landscape of programming. From discussing career decisions to the shift in the Ruby community, we uncover practical advice and thought-provoking perspectives that are sure to inspire and inform developers at all levels. Get ready for an engaging and enlightening discussion that delves into the true essence of the tech industry and the skills necessary for success.
Sponsors
Stephen Margheim is the Head of Engineering at Test IO. They explore the world of web development with a focus on the use of SQLite, a powerful and often underestimated database tool. They dive deep into the capabilities and potential of SQLite for web applications. The episode covers a range of topics, from the evolving feasibility and challenges of handling concurrent web requests to the misconceptions surrounding SQLite's performance limitations. They discuss the potential limitations of SQLite in handling massive write throughput and its suitability for various application scales, highlighting the considerations related to expected growth and performance requirements.
Join them as they delve into the practicality and benefits of using minimal software components, the simplicity and efficiency of a simple system using a Rails app with SQLite, and the advantage of branch-specific database setup. From the evolving capabilities of SQLite to the practical considerations of web development, this episode offers valuable insights for developers at all levels.
Sponsors
Nathan Bellow is a Ruby software developer at Illuxi. They explore the premium benefits of membership, including exclusive access to Ruby Rogues without ads and personalized assistance with job hunts and deployment issues. They share their experiences in the Ruby community, from learning the language to securing professional opportunities. Join them as they discuss the value of personal connections at conferences and meetups, the impact of mentorship, and the crucial role of networking in career development. This promises to be an enlightening and thought-provoking episode for developers and enthusiasts alike.
Sponsors
Samuel Williams is a Ruby Core Committer and the creator of Async & Falcon. They delve deep into the technical intricacies of Falcon, a cutting-edge application container that leverages the Async gem for event-driven concurrency. Additionally, they discuss the challenges and triumphs of deploying Ruby applications with Falcon and share insights into the evolution of async programming in Ruby. From the nitty-gritty of platform internals to the fascinating integration of async job execution in Rails, this episode is a must-listen for developers seeking to unravel the complexities of modern software deployment and concurrency.
Sponsors
Charles and Valentino delve into a wide array of topics, from time management struggles to the intricacies of building SaaS frameworks within Rails apps. They also explore the idea of apprenticeship programs for coding, discussing the potential benefits for mentors and apprentices alike. The episode is filled with insights on open-source projects, AI model integration, and the Ruby Dev Summit.
Sponsors
Charles Wood catches up with Jason Swett to discuss the intriguing future of Ruby and his unwavering commitment to the language. The conversation delves into Jason's projects, including his upcoming CI product, and his motivation for continuing to work with Ruby. They also touch on the Sin City Ruby conference, the direction of Jason's career, and his unique approach to building relationships in the tech community. Tune in to gain insight from Jason's perspective on Ruby, technology, and his passion for connecting with others in the industry.
SocialsLinkedIn: Jason Swett
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Charles Wood delves into the latest advancements in the realm of technology and software development. In this episode, he brings you an in-depth exploration of the evolving landscape of Ruby programming, featuring insights from the esteemed Andy Maleh. Join them as they uncover Andy's in-depth discussion on Ruby's expanding potential, particularly in the domains of desktop development, gaming, and cross-platform compatibility. Prepare to gain valuable insights into the future applications of Ruby, including its viability in AI, machine learning, and mobile app development.
Socials
Charles Wood has the privilege of hearing from Soutaro Matsumoto, a prominent figure in the Ruby community. Soutaro offers an in-depth exploration of RBS, a crucial aspect of Ruby development, and discusses the future of the language. He delves into the complexities of type signatures in Ruby, the potential benefits of type systems, and provides valuable insights into the ongoing developments in the Ruby ecosystem. Join them as they gain a deeper understanding of Ruby's trajectory and the impactful work being done by Soutaro Matsumoto.
Socials
Charles Wood sits down with Jeremy Evans, the author of several well-known Ruby gems, including the SQL gem and the ROTA web framework. Jeremy shares his insights on the future of Ruby, including stability, performance improvements, and potential advancements. He also discusses his work in eliminating unnecessary allocations, upcoming changes in the Ruby community, and his book, "Polished Ruby Programming." Join them as they explore the exciting developments and challenges in the world of Ruby development with Jeremy Evans.
Socials
In this episode, Charles Wood engages in an insightful conversation with Alex Rudall about the evolving role of AI within the Ruby community. They dissect the implications of AI advancements on the future of Ruby, addressing the declining usage of the language and its potential staying power. Through this discussion, they aim to uncover the opportunities and obstacles that await developers in the rapidly evolving AI landscape.
Socials
Charles Wood delves into the intricacies of the Ruby programming language, exploring the recent and upcoming advancements. He provides insightful discussions on performance upgrades such as the just-in-time compiler (JIT), the Prism parser, the async library, and Ruby types. He also gets a sneak peek of the upcoming 5-day Ruby challenge with OpenAI. Join them as they uncover the significant developments in Ruby and their impact on the developer community. Tune in for a thought-provoking exploration of the future of the Ruby programming language.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In today's episode, Charles Wood delves into the expertise of Samuel Williams, a prominent Ruby developer hailing from New Zealand. Charles Wood dissects his extensive experience with Ruby, the challenges he encountered while grappling with scalability, and the inception of his pivotal projects, Async and Falcon. Join them as they unravel the complexities of concurrency, actor-based models, and the future landscape of Ruby's scalability and efficiency. This episode promises to shed light on the world of Ruby development, the pursuit of streamlined code performance, and the potential environmental implications of refining programming languages.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In today's episode, Charles Wood delves into the future of Ruby, with a keen focus on performance enhancements, parser modifications, and syntax updates. Our guest, Federico Iachetti, shares valuable insights into the potential integration of a JIT compiler and parser with his editor, shedding light on the technical advancements poised to shape the future of Ruby. Join them as they navigate the intricate world of programming languages and their impact on the development community.
Socials
Charles Wood explores the resurgence of Ruby and Ruby on Rails in the web development community. Our featured speaker, Stephen Margheim, delves into the technical aspects that have contributed to the renewed interest in Ruby, including its simplicity, intuitive nature, and pragmatic approach. They discuss the practical applications of Ruby in web development, the emergence of new companies adopting Ruby on Rails, and the ongoing efforts to expand the ecosystem of tools and guides for advanced use cases with SQLite in web applications. Join them as they analyze the impact of Ruby's resurgence and its potential to shape the future of web development.
Socials
In this episode, Charles Wood presents a thought-provoking interview with Kinsey Durham Grace. The conversation centers around the future of Ruby and the crucial need for the inclusivity of parents and caregivers within the Ruby community. Furthermore, Charles explores Kinsey's endeavors within the Ruby Central board, including efforts to support in-person Ruby meetups and secure funding from corporations. This episode provides valuable insights into the ever-evolving realm of Ruby and the profound impact of caregiving responsibilities on the tech industry. Join them as they navigate through the complexities of tech and family dynamics.
Socials
In this episode, Charles Wood delves into the exciting world of Ruby on Rails with Amanda Perino, director of the Ruby on Rails Foundation. Charles and Amanda discuss the future of Ruby, the renewed energy and positivity in the Ruby and Rails community, the latest developments and frameworks in Rails, and the significance of events and community outreach in the technology space. With a focus on documentation, education, and marketing initiatives, Amanda shares her insights on the ever-evolving landscape of the Ruby on Rails community and provides valuable advice for current and aspiring developers. Tune in to gain a deeper understanding of the advancements in the Ruby on Rails community and the future of technology.
Socials
Charles Wood takes an in-depth look at the future of Ruby's community, examining the recent revival of energy at conferences and the resurgence of local events. Chuck discusses the impactful contributions to the Ruby and Rails communities, as well as the initiatives of organizations like Ruby on Rails Foundation and Ruby Central. Tune in for insights from Ruby experts and compelling discussions on the evolving landscape of the Ruby community.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this episode, Charles Wood has the pleasure of interviewing Stefanni Brasil, a senior developer at Cloudbot and co-founder of Hexdevs. Stefanni shares insights on the future of Ruby, the evolving Ruby community, the energy surrounding Ruby, and the contributions she brings to the Ruby community. She also discussed the training resources available and the excitement surrounding the return of Ruby conferences. Join them as they dive into this engaging conversation about the world of Ruby development with Stefanni Brasil.
Socials
In this episode, Charles Wood delves into the world of Ruby on Rails with our esteemed guest, Jason Charnes. The discussion centers on the resurgence of interest in Rails, its adaptability across diverse industries, and the notable developments within the Rails ecosystem. From examining the future of Ruby and Rails to the significant impact of community engagement, our speakers provide comprehensive insights into the ever-evolving landscape of web development. Join them for an illuminating conversation on the emphasis on simplicity in tech stacks, the trials and triumphs of book writing, and the pursuit of exquisitely designed HTML components for Rails.
Socials
While Greg Molnar discusses a range of topics related to the future of Ruby and Rails, he primarily focuses on the critical importance of security in web application development. His insights into the Spectre scanner and its role in identifying vulnerabilities in Rails code shed light on the necessity for robust security measures in the Ruby and Rails ecosystem. Additionally, Greg's observations about the growth and potential of the Ruby community offer valuable perspectives on the trajectory of Ruby and Rails in the development landscape. Throughout the interview, Greg's expertise and deep understanding of security in the context of web applications provide thought-provoking insights for listeners.
Socials
In this episode, Charles Wood delves into the evolving landscape of Ruby development with an esteemed guest, Elise Shaffer, the host of the Ruby on Rails podcast. Elise offers valuable insights into the future of Ruby, emphasizing the growing energy and enthusiasm within the community. They explore the latest developments in the Rails and Ruby ecosystem, including new features and tools, and discuss the potential for performance improvements in Ruby. Join them as they examine the versatility of Ruby beyond web development, its potential for rapid deployment, and the upcoming release of Rails 8, with a focus on its new features and tools. Additionally, they take a deep dive into the sources of information and the process for staying abreast of the latest Ruby developments.
Socials
In this episode, Charles Wood has the privilege of speaking with Valentino Stoll, a seasoned developer at Doximity, as they explore the nuanced differences between Falcon and Puma ideologies. The conversation delves into Shopify's optimization for forking with Ruby, the introduction of the "with" feature in Ruby, and the potential competition with Python in the data science space. They also discuss upcoming enhancements to Ruby, the use of authentication in Rails, hardware, and IoT projects, and the vibrant creativity within the Ruby community.
Socials
Charles Wood delves into the future of Ruby's media landscape and learning opportunities within the Ruby community. He shares insights and experiences from the evolution of Ruby-related content, including podcasts, video series, and learning resources. He explores the rich history of Ruby Media and gets a glimpse of what's to come, including new podcast series and learning opportunities aimed at those interested in building applications with Rails for software as a service. Stay tuned as Charles Wood takes you on a closer look at the vibrant and ever-expanding Ruby and Rails ecosystem.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Charles Wood and Joe Masilotti delve into the intricate world of Ruby, static site generators, and mobile app development. Joe shares valuable insights into the future of Ruby, its role in Rails, and the revolutionary potential of Turbo Native for rendering Rails websites within native iOS and Android apps. They explore the challenges and prospects of Ruby in the mobile app space, shedding light on the intricacies of app development and the evolving landscape of static site generators. Whether you're an experienced developer or simply curious about the technological frontiers, this episode provides a deep dive into the cutting-edge world of Ruby and static site generation.
Socials
In this episode, Charles explores the nuanced future of Ruby with the insightful Sebastian Wilgosz. They navigate the challenges faced by junior developers in a market dominated by demand for senior and mid-level talent, as well as the imperative to inspire the next generation with the merits of Ruby. The discussion also delves into the evolving landscape of JavaScript-free applications and the potential resurgence of back-end technologies. Join them as they dissect the complexities of Ruby's market position and the innovative strides made by the Hanami framework, offering a glimpse into the diverse potential of Ruby in non-web development domains.
Socials
In this episode, Charles Wood engages in an insightful discussion with Rich Steinmetz, focusing on the future of Ruby and Rails development, as well as the evolving landscape of public APIs. Rich provides valuable insights into the upward trends in Ruby and Rails development, highlighting potential new directions and innovations in the field. They delve into the advancements in the Ruby language, performance optimizations, and the need for enhanced API development tools within the Ruby and Rails ecosystem. Additionally, Rich underscores the resurgence of community meetups and conferences, signifying a promising path ahead for the Ruby community. Stay tuned as they explore the dynamic world of Ruby and Rails development with Rich's in-depth perspectives.
Socials
Today's episode delves into the intricate realm of WebAssembly with, Yuta Saito, a Ruby core committer. Yuta shares valuable insights into the Ruby WebAssembly (WASM) project, highlighting its potential to revolutionize the performance and versatility of the Ruby programming language. Join Charles and Yuta as they explore the technical intricacies and future implications of this ambitious endeavor, shedding light on the significant advancements and challenges facing the Ruby community.
Socials
Amir Rajan is the CEO at DragonRuby LLP. In today's episode, Charles Wood have the privilege of speaking with Amir Rajan, the developer behind DragonRuby, a game engine that harnesses the power of Ruby code. They explore the unique and creative aspects of game development in Ruby, the future prospects of DragonRuby, and the potential impact of this innovative approach in the gaming industry. Join them as they delve into the intersection of creativity, technology, and programming with a focus on game development in this insightful conversation.
Socials
Charles Wood and Elia Schito delve deep into the future of the Ruby programming language. In this insightful discussion, Elia Schito, an influential Italian developer known for his work on Opal, provides valuable insights into transpiling Ruby to JavaScript and the appeal of writing in Ruby. Join them as they explore the potential of "Rails plus" with a Ruby-based front-end, the balance between pragmatism and the allure of beautiful things in development, and the latest advancements in the Ruby and Rails community. This episode is a must-listen for anyone interested in the evolving landscape of Ruby and its relevance in individual app building and enterprise solutions.
Socials
This is a special episode of Top End Devs, where Charles Wood delves into the thought-provoking insights shared at the Ruby Dev Summit. Today, he takes a deep dive into the future of Ruby development across various platforms. He provides a comprehensive overview of the summit, highlighting the evolution of Ruby beyond its traditional web ecosystem. From discussions on its potential in gaming, mobile development, web assembly, and desktop applications, this episode offers a profound exploration of the diverse and promising future of Ruby. Join him as he uncovers the evolving landscape and exciting opportunities that await Ruby developers.
Ruby Dev Summit
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Charles Wood dives into the world of Ruby version managers. He explores the challenges of managing different versions of Ruby for various projects and discusses the evolution of tools that have made it easier to switch between Ruby versions. Whether you prefer to use Docker or manage Ruby versions directly on your machine, he shares insights and recommendations to streamline your development process. Plus, don't miss out on updates about the Ruby Dev Summit and how you can access insightful interviews from the Ruby and Rails communities.
Sign Up: Ruby Dev Summit
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Charles Wood dives into a tool that can save you a lot of time and effort when working with Ruby projects. He talks about Pessimize, a gem that helps manage gem versions in a project to avoid compatibility issues. He discusses how Pessimize works to lock in specific gem versions and prevent unexpected updates that could break the code. Stay tuned to learn more about how Pessimize can streamline your development process and prevent dependency issues in your Ruby projects.
Sign Up: Ruby Dev Summit
Links
Charles Wood dives into the performance attributes of JIT in the Ruby virtual machine, discussing its evolution from Ruby 3.0 to the latest features in Ruby 3.3. Explaining the process of how JIT enhances the speed of Ruby code execution, he also shares insights into the challenges and benefits of integrating JIT into development environments. If you're curious about the potential impact of JIT on your Ruby programs, this episode is a must-listen.
Sign Up: Ruby Dev Summit
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Alec Larsen is a staff engineer at Procore. They dive into a rich discussion about the evolution of the Ruby on Rails framework and its integration with modern web development technologies. They explore topics such as view components, state management, and server-side responses, while also delving into the challenges and potential solutions in this rapidly evolving landscape. The conversation covers a wide range of themes, including meetups, deployment options, client-server coordination, and the latest in web development frameworks. Join them as they explore the exciting advancements and insightful perspectives in the Ruby on Rails ecosystem.
Sponsors
Ben Sheldon is a professional software developer and the author of GoodJob. They delve into the evolution of GoodJob, a background job library for Ruby on Rails, and its compatibility with Postgres. They also explore the challenges of choosing the right tools for background tasks and the potential for AI in job queuing. Stay tuned as they navigate through the nuances of database compatibility, job routing, and the importance of seeking help and support in the tech community.
Sponsors
Charles Wood dives into the vibrant Ruby community, upcoming conferences, and tips for anyone interested in speaking at these events. He talks about the resources available for finding conferences, the excitement of the community as events start to return, and the potential for individuals to share their knowledge by speaking at these gatherings. Stay tuned as he dives into the world of Ruby conferences and the opportunities they present.
Sign Up: Ruby Dev Summit
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Charles Max Wood shares his experience using Kamal to deploy apps. He highlights the simplicity and cost-effectiveness of Kamal compared to other deployment options, such as Heroku. Charles delves into the technical aspects of Kamal's deployment process, including its integration with Docker, traffic load balancing, and the management of accessories like databases and search engines. He emphasizes the seamless experience and efficiency of deploying with Kamal, showcasing its potential to revolutionize the deployment landscape for Ruby developers.
Link: Kamal
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Charles Max Wood dives into the world of Ruby as we explore the future of the language and its exciting developments. From the Ruby Dev Summit to the potential of Ruby in AI and other emerging technologies, he takes you on a journey through the latest advancements and possibilities within the Ruby community. Join him as he discusses the potential for Ruby in AI, its role in web development, and the upcoming Ruby Dev Summit.
Sign Up: Ruby Dev Summit
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Pete Matsyburka is a Ruby developer and the mind behind DocuSeal. They delve into the world of Ruby development, with a special focus on different open-source projects. Together, they uncover the journey of creating an open-source document signing tool and the challenges and triumphs of commercializing an open-source project. From parsing HTML tags to handling PDFs, the conversation delves into the technical aspects of the project and also touches on the broader themes of open-source development and the Ruby ecosystem.
Sponsors
Alex Rudall is the creator of the ruby-openai gem. They explore the latest developments in the world of technology. They dive into the fascinating world of Ruby development and artificial intelligence. Join them as they delve into conversations about utilizing large language models for Rails apps, navigating the challenges and opportunities within the Ruby community, and the potential of Ruby in the context of AI and machine learning. From the renaming of Rails AI to the Peaceterms project to discussions about the future of Ruby and AI, this episode offers insights into the cutting-edge intersection of technology and programming.
Sponsors
Joe Masilotti is the Turbo Native guy. The conversation revolves around Turbo Native, iOS and Android app development, and the use of Rails to build mobile applications. They explore the advantages and challenges of Turbo Native, the limitations of other development options, and the exciting future developments in store for Rails developers. Join us as we unravel the fascinating world of mobile app development with a touch of Ruby magic.
Sponsors
Charles and Valentino join this week's panelist episode. They dive into the world of Ruby and explore the latest advancements in building tools and frameworks. They discuss the popularity of tools, questioning if they are truly necessary. They also delve into the benefits of a minimalist approach to frameworks and the challenges of defining boundaries in app development.
Sponsors
Dari Goldman is the Technical Support Engineer at ViaEurope. Myriam Graïne is a full-stack developer. They both hosted the Rails World Conference in October 2023. They join the show to talk about their Rails World experience, things they have learned, and much more!
Sponsors
On today's episode, Brian Hogan, David Kimura, and Charles Max Wood discuss web security. Security demands attention. Developers can't risk having their projects exploited by hackers and other such attackers. Tune in to learn about the different types and issues in security.
Sponsors
Today's Ruby Rogues podcast features Metaprogramming with Jordan Hudgens. We have panelists Jerome Hardaway, Brian Hogan, Dave Kimura and Charles Max Wood. Tune in and learn more about metaprogramming!
Sponsors
Bèr Kessels is a freelance software developer. He joins the show alongside Chuck and Valentino to talk about fediverse. They begin by discussing Mastodon in the fediverse. They also dive into what you can do in the fediverse, its benefits, advantages, and many more!
Sponsors
Charles and Valentino join this week's episode. They dive into the world of coaching and mastermind groups. They share insights on monthly coaching sessions, quick support over text messages, and the power of collaboration in mastermind groups. They also explore the importance of staying current in your field, building a personal brand, and the upcoming launch of a podcasting masterclass. Additionally, they discuss live streaming, sponsors, and future plans for a top-notch Rails conference.
Sponsors
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.In This EpisodeThis tendency in the Rails community that reveals why users are slow to try Hotwire What Charles learned from comparing React vs. Stimulus at his old job (and how Rails came to the rescue) Why those in the Java community are seeing React as a “blackhole that’s sucking up everything” (and why some of the Rogues disagree) Up and coming frameworks that you NEED to consider this year This ONE separation in Ruby that’s creating division in its community (and how we can fix it) Luke asks the REAL question: What can we do to reduce our JavaScript footprint?
Sponsors
Greg Molnar is a Ruby Developer and OSCP Penetration Tester. He joins the show to talk about Penetration Testing. He begins by explaining what it is, how beneficial it can be to the users, its process of securing applications, the actual testing process, and many more!
Win a ticket to the Rails World Conference!
You may sign up using this link: https://gleam.io/4KQAt/rails-world-ticket-giveaway
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Bèr Kessels is an experienced web developer with a great passion for technology and Open Source. He joins the show to talk about his article, "How do I test X" is almost always answered with "by controlling X". He explains his article, how testing works, and many more!
Sponsors
Kirill Kuznetsov is the Head of SRE at Evil Martians. Valentino and Kirill dive into the exciting world of Kubernetes and its role in simplifying deployment across multiple systems. They explore the various aspects of Kubernetes, from its unified API to its service discovery capabilities, and discuss how it streamlines the deployment process for applications. But that's not all - they also touch on the challenges startups face with their infrastructures and offer solutions for managing them effectively. Moreover, they also delve into other fascinating topics, such as the world of 3D printing and the opportunities it presents for both software and hardware engineering.
Sponsors
Landon Gray is a Compassionate Consultant, an AI/ML Enthusiast, and a conference speaker. He joins the show to further talk about his conference topic, "AI in Ruby". He begins by explaining how he landed with the idea of using AI or ML in the native Ruby. Additionally, they dive into other Ruby projects that used AI or ML.
Sponsors
Garrett Dimon is a Ruby on Rails Developer. He joins the show to talk about his project, "Creating Custom Rails Generators". He begins by explaining what it is, how it works, its advantages, how it can benefit developers and many more! Additionally, he also dives into the process of building generators and his experience in doing so.
Sponsors
Andrei Bondarev builds AI/ML-capable software products. He joins the show alongside Chuck to talk about Vector Search or Semantic Search. He begins by giving an overview of it, explaining its concept, its significance, how it can be used in the rails application, and many more.
Sponsors
Jordan Hollinger is a Ruby developer for over 12 years now. He joins the show to talk about his gem, "occams-record". It is the missing high-efficiency query API for ActiveRecord. He begins by explaining his gem and why he created it.
Sponsors
Rich Steinmetz is a creator at RichStone.io and is a Tech Coach. He joins the show to talk about his article, "Testing Rails loggers with minitest". He begins by talking about loggers and different ways to test them. Chuck also shares his ways of testing loggers.
Sponsors
Ryan Ong is a software engineer at Buoy Software. He joins the show alongside Dave and Valentino to talk about emotional programming. He shares how he got into Ruby on Rails and dives into creating and monitoring code bases. They talk about handling their emotions when they are coding and how to minimize the stressors around.
Sponsors
Weston Ganger is a Software Architect and an Expert in Ruby-on-Rails. He joins the show to discuss "rails_i18n_manager". He starts off by discussing his professional career and projects. He talks about translations, some of his approaches, and the challenges he encountered
Sponsors
Brad Gessler is an experienced co-founder with a demonstrated history of working in the information technology and services industry. He is also one of the authors of Fly.io. He talks about the "Phlex", its advantages, its impact, and how he uses it. On YouTubeBuilding Rails Application with Phlex - RUBY 595
Sponsors
Host from the Adventures in ML podcast, Ben Wilson and Michael Berk join Dave for this week's crossover episode. They discuss applying machine learning, deep learning, and algorithm. They also dive into how artificial intelligence changes the future.
Sponsors
Victoria Melnikova is the Head of BizDev at Evil Martians. She joins the show to talk about, How to turn an open-source project into a profitable business. She begins the show by talking about Evil Martians and the services that they offer. She dives into commercial open-source. Moreover, she shares her perspective on how to grow an open-source project and how to monetize it.
Sponsors
Bruce A. Tate is a Founder at Groxio, Elixir Expert, and a Technical Author. He joins the show alongside Charles Max Wood to talk about his book, "Seven Languages in Seven Weeks". He also delves into some of the preparations and anticipations that come with reading the book.
Links
Dave and Valentino join this week's panelist episode to talk about Deployment in Rails. Dave begins by explaining the app deployment process and talks about deploying apps with MRSK. They also talk about some of the deployment tools you can use and things to consider.
Sponsors
Jason Weimann is a Developer and Instructor. He returns to the show with Chuck to talk about video game creation. He shares his experiences as a developer and dives into his courses wherein he gives beginners and aspiring developers a walk-through of the world of creating games.
Links
Greg Molnar is a Ruby Developer and OSCP Penetration Tester. He joins the Rogues to talk about Server-Side Request Forgery in Rails. He begins by explaining what Server-Side Request Forgery is and its significance. They also discuss the state of security in Rails and provide their views on the best ways to secure your applications.
Sponsors
Are you dissatisfied with your job? Sam Feeney helps organizations improve employee engagement, increase retention, and reinvent hiring while helping individuals (re)discover career satisfaction in their current roles. He joins the show alongside Chuck Wood to tackle altering the way you perceive your job and talk about Career satisfaction.
On YouTubeHow Do You Stop Hating Your Job? - BONUS
Socials
Alex Evanczuk is a Software Engineer at Gusto. He joins the show alongside Chuck and Valentino to discuss, "A How-to Guide to Ruby Packs, Gusto’s Gem Ecosystem for Modularizing Ruby Applications". He begins by explaining what Ruby Packs, Gems, and Modularization are and how it impacts Ruby applications.
On YouTubeRuby Packs, Gems and Modularization with Alex Evanczuk - RUBY 589
Sponsors
Jeremy Smith is a Designer & Rails Developer and Mark Locklear is a Web Developer at the eXtension Foundation. They join the show alongside Chuck to talk about the Blue Ridge Ruby Conference. They go into detail about their conference-attending experiences and what motivated them to plan their own event. Additionally, they talk about their preparations for making the event successful (finding a venue, looking for speakers and sponsors, and others)
Sponsors
Hosts of the JavaScript Jabber Podcast, Dan Shappir, and Steve Edwards join the Rogues on this week's crossover episode. They talk about both of the framework's useful features and how the JavaScript framework may be applied when creating Ruby applications. Additionally, they tackle each of their advantages and disadvantages.
Sponsors
Jean Boussier is a Staff Engineer on Shopify's Ruby and Rails infrastructure team. He joins the show to talk about pitchfork. He begins by defining the pitchfork and describing how the application concept works. Moreover, he explains the reason why he wrote it and tackles some of its useful features.
Sponsors
Dave and Valentino join this week's panelist episode to talk about important points to remember in web hosting. Dave begins by discussing ways to prevent security breaches in your system or data and prevent any ransomware attacks. He shares his own experience on how he maintains his website and the resources he is currently using.
Sponsors
Brett Chalupa is a hobbyist game maker, creative dabbler, and professional software developer. He joins the show alongside the Rogues to talk about creating video games. He dives into how he got started with DragonRuby, the games he created, and his experience as a game developer. Moreover, he talks about his book, " Building Games with DragonRuby". Sponsors
Chuck and Valentino join this week's panelist episode to discuss Ruby 3.2. Valentino takes the lead as he talks about its exciting new features and performance improvements. They also share their insights and opinions about Ruby 3.2 and if these features help optimize web application performance.
Sponsors
Jimmy Koppel is the founder of Mirdin. He also has a Ph. D. in programming languages from MIT. He joins the show alongside Chuck to talk about "Linguistic Antipatterns". It is a persistently bad practice in the name and documentation which could make it more difficult to understand programs. He begins by sharing some of its examples, how to identify them, and how to avoid them.
Sponsors
Zachary Schroeder returns to the show to talk about the latest trends and frameworks in the community. Chuck starts off by sharing his own experience of staying on top of his podcast and current projects. They also discuss the significance of working on "side projects" in their field. Additionally, they discuss their perspective on using social media platforms in connecting with people.
Sponsors
Elia Schito works at Nebulab. He is a Ruby enthusiast and move to a more supporting role for Opal development, mainly reviewing and merging PRs, handling releases, and so on. He returns to the show to talk about Opal and its new features. It is a Ruby to JavaScript source-to-source compiler. They also talk about the difference between Opal and ruby-wasm. Additionally, they discuss the e-commerce platform, "Solidus".
Features recently added to Opal
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.
Sponsors
Andy Hunt is a programmer turned consultant, author, and publisher. He also co-authored the best-selling and seminal book, "The Pragmatic Programmer". He joins the show to discuss the important things that software developers should know in this generation. He talks about some of the things that have evolved since he started.
Important Points
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.
Sponsors
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.
Sponsors
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. On YouTubeDevOps, Mentoring, and Careers with Kinsey Durham - RUBY 576
Sponsors
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.
Sponsors
Ivo Anjo is a Software Engineer at Datadog. His main focus is the Ruby Language. He is currently working on building a Ruby profiler and was a speaker at RubyKaigi 2022. He returns to the show with Chuck and Valentino to discuss the gvl-tracing gem, a Ruby gem that he recently created. It is a Ruby gem for getting a timeline view of Global VM Lock usage in your Ruby app. Additionally, he describes how this may be applied to improve performance and speed up Ruby Apps.
About this Episode
AppSignal is a real-time APM provider for Ruby, Rails, Elixir & Phoenix. In addition to host monitoring and an intuitive custom analytics platform, it provides insights into errors and performance problems.
Thijs Cadier is the Cofounder and CTO of AppSignal. He starts off by sharing how their company was founded and what inspired them to develop AppSignal. He joins Chuck in the show to talk about AppSignal’s useful and new features. Moreover, he explains the details of how it functions and how users can benefit from subscribing to it.
Links
Takashi Kokubun is a staff developer at Shopify. He has been working with Ruby’s MJIT compiler for over 5 years but has been recently maintaining YJIT as well. JIT compilation is a method of running computer code that involves compilation after a program has begun running rather than before. He joins the show to talk about these topics alongside Chuck and Valentino. He also explains their importance as this contributes to running Ruby applications smoothly. He also shares his experience working with rust and creating HAML 6.0.0.
About this Episode
Game Developer and CEO of DragonRuby, Amir Rajan returns to the show. He joins the rogues to talk about DragonRuby. DragonRuby is a zero dependency, cross-platform, Ruby runtime built on top of mRuby, libSDL, and LLVM. Additionally, Amir talks about how it allows you to use the Ruby language to build video games. He also shares his experiences when it comes to working with mruby.
About this Episode
Kevin Newton works at Shopify. He is specifically assigned to the Ruby and Rails Infrastructure Team. He returns to the show to talk about building Parsers in Ruby since he is working full-time on a new Ruby parser called "Prettier Ruby Plugin”. Prettier works with the majority of editors and support different languages. He shares his journey on how he was able to create it. He also talks about "exreg", which is a Ruby regular expression engine that he created.
About this Episode
Get the Black Friday/Cyber Monday "Focus Blocks Bundle" Deal Coupon Code: "THRIVE" for a GIANT discount Are you looking at all the layoffs and uncertainty going on and wondering if your company is the next to cut back? Or, maybe you're a freelancer or entrepreneur who is trying to figure out how to deliver more value to gain or retain customers? Mani Vaya joins Charles Max Wood to discuss the one thing that both of them use to more than double their productivity on a daily basis. Mani has read 1,000's of productivity books over the last several years and has formulated a methodology for getting more done, but found that he lacked the discipline to follow through on his plans. The he found the one thing that kept him on track and made him so productive that he is now getting all of his work done and was able to live the life he wants. Chuck also weighs in on how Mani's technique has worked for him and allows him to spend more time with his wife and kids, run a podcast network, and a nearly full time contract. Join the episode to learn how Chuck and Mani get into a regular flow state with their work and consistently deliver at work.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Jesse Spevack currently works at Stripe and specializes in Ruby on Rails. He talks about his success story of shifting careers from being an Educator to a Software Engineer. Jesse returns to show to share his humble beginnings when he started out his first job in the Tech world.
About this Episode
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.
Topics discussed
In this all-panelist episode, Chuck, Dave, and Valentino give insights on how to choose your career path, how to kickstart your career, how to take control, and how to advance in your profession. They also share their experiences and some advice on what qualities you should possess in order to become successful
Sponsors
The Rogues discuss Turbo and Hotwire with Alexandre Ruban, who created a course on Hotwire and Turbo for Rails at Hotrails.dev. The dive into its origins with TurboLinks and then discuss the various options and tools that come with Hotwire development in Rails and compare it to other front-end frameworks and solutions they've used.
Links:
In recent news, Heroku announced they will eliminate free plans and shut down all free data services. With that said, today on the show, the panel discusses tools to substitute this platform and other possible workaround options.
In this episode…
Import maps is the new feature in Rails 7 that allows us to forego Node.js and tools like Webpack, plus it prevents the need for bundling. Today on the show, Valentino interviews Paweł Dąbrowski to share his insights about import maps in Rails 7.
In this episode…
Post pandemic, remote work is here to stay. Today on the show, the panel and Jake Yesbeck share their insights about remote work for developers and the latest developments for the 2022 workforce and beyond.
In this episode…
For years, the Rails community has been clamoring for Active Deployment, a magical out-of-the-box mechanism for deploying applications. Today on the show, Cameron Dutro shares how you can deploy Rails apps on Kubernetes with Kuby. De-stress your deployments today with these simple strategies.
In this episode…
Ben Taylor joins the show today to share his recent developments about integrating Ruby snippets within a browser in less than a day. The panel asks about his process and what he did to make this a quick and successful strategy. Learn about this new process and what you can do today to make this happen!
In this episode…
Adam Gordon Bell is back on the show again! Today he shares his views on language tooling, new articles he has recently written, documentation for Ruby, software consulting, and insights into other programming topics.
In this episode…
Wearable technology, Web 3.0, augmented reality, and other emerging technologies are poised for shifting the future for DevOps. Today on the show, the panel discusses how the future of Ruby can adapt to make these changes a reality.
In this episode…
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.
In this episode…
Imagine a tool that lets you write templates that can generate code, but also parse that code back into the initial variables. Depending on how flexible your templates are, it can even parse code that has been modified by hand after generation. Today on the show, the panel interviews Lucas Luitjes, creator of Monocle, the tool that allows for this kind of integration.
In this episode…
Vendor lock-in refers to a situation whereby the cost of switching to a different vendor or platform is so high that you are essentially stuck with the original platform. Today on the show, Charles and Dave share personal stories of how they were forced to continue using a specific platform and what they did to rectify the various scenarios, plus they provide their insights on workaround strategies and how to prevent this from happening in the first place.
In this episode…
How do you manage your actual rails environment configurations? When you create a new rails application, do you utilize the provided development, test, and production environments, or deviate? Today on the show, Dave and Valentino share their best practices on how they manage their environment variables and workflows within their rails environments.
In this episode…
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.
In this episode…
Today Charles talks with Adrian Marin, a developer and founder of Avo, a Ruby on Rails admin framework. Coming with 10 years of developer experience, we discuss how Avo sets itself apart from other typical systems by allowing you to step out of the limitations of DSL and write custom code to meet the needs of each customer. We discuss the three main parts of this fully tested framework, and talk about how you can kick the tires before diving in. With such a wide range of companies successfully utilizing Avo, it’s something definitely worth checking out!
Links
Wouldn't it be great if ActiveRecord didn't make you think about eager loading and it just did the "right" thing by default? Lazy loading is extremely helpful when the list of associations to load is determined dynamically. Today on the show, Charles and Luke interview Evgeniy Demin, Principal Engineer at Toptal. They discuss how you can speed up your processes by lazy loading your N+1 queries, plus various tools to optimize your workflows.
In this episode…
In recent years, researchers have explored component-based synthesis, which aims to automatically construct programs that operate by composing calls to existing APIs. However, prior work has not considered efficient synthesis of methods with side effects that update a database. Today on the show, Sankha Guria shares about his research in this area, introducing a new approach to type and effect-guided synthesis tools for Ruby.
In this episode…
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.
In this episode…
Unfinished technology, unfinished products, unfinished gems, unfinished concepts, unfinished code, unfinished libraries, and more. In software development, everyone has those projects that never get finished or ever get started. Luke and Valentino banter about the various aspects of unfinished business, specifically technology ideas – from creating to implementing to fixing to scrapping.
Sponsors
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.
About this Episode…1. What is Kafka and Karafka and how are they used?
2. The Rails mindset with Kafka and Karafka vs. batches
3. What is making Karafka faster?
4. Open-source libraries and regulation and security risks
Sponsors
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.
Sponsors
A 10x developer is defined as a professional who is 10 times more productive than other developers with an equal level of expertise in the field. Accordingly, a 10x developer would be able to complete 10 times more tasks and writes 10 times better code than any other competent member of their team working in the same conditions. Does a 10x developer exist, or is this a myth? Today on the show, Charles and Valentino parse out this philosophy by comparing a 1x developer vs. a 10x developer.
In this episode…1. What do you expect out of a programmer?
2. Increasing work output on a team
3. The ego of a programmer
4. Being a team player
5. Sustaining a steady pace toward a common goal
6. The time to fix things is now
7. Focusing on your team and output
Sponsors
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.In this episode…
Is it a class? Is it a hash? No, it's Ruby Struct! Brooke Kuhlmann joins the Rogues to explore this often-overlooked object. We extend simple structs with refinements, use pattern matching to compress complex logic and close the door on OpenStructs. Brooke talks about the challenges and rewards of introducing busy teams to advanced techiques, software craftsmanship and the transformational philosophy of alchemists.io.Sponsors
LinksIt's not every day that you learn a new approach to error handling for Ruby. Today Abiodun Olowode shares her insights with railway oriented programming (ROP), a functional programming technique that allows sequential execution of functions, not necessarily synchronous. The key concept is that each function can only accept and return Container of either Success or Failure. They also dive into the topic of dry monads, the gems that helps you achieve railway oriented programming in that it helps bind your methods together and give you a success or failure result.In this Episode…
GraphQL is a flexible, strongly-typed query language. It's useful because it gives front-end developers the ability to query the database without many changes to the back-end. In this episode, David Sanchez explains how to design and build GraphQL APIs in Rails. In this Episode…
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. In this Episode…What is Isolator and how does it integrate with Sidekiq?
A new way to catch the errors and add confidence and reliability message processing.
How to build good habits, moving deploys from being atomic things to things where there is continuous deployment for efficient background jobs.Sponsors
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.Sponsors
LinksPicksEver feel like your code isn’t “Stylish” enough? Us too. In this episode, the Rogues sit down Benito Sandoval, the author of the Ruby tool Styler that’ll help you customize your UI and keep things running smoothly. “My goal was to create something that allowed you to compose classes and use them in your templates.”
- Benito Sandoval In This Episode1) How to STOP relying on the tail-end and customize your UI using Styler
2) Why Styler is an excellent solution compared to defining classes yourself
3) The TRUTH about partials and when to/not to use themSponsors
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.In This Episode1) How adapt your home processes to a company WITHOUT reinventing everything
2) Why you NEED to master the art of “code review” (and no, software can’t do it for you!)
3) The TRUTH about gems (and why the issue isn’t black and white)Sponsors
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 In This Episode1) What you NEED to know about legacy codebase projects before you jump in
2) Petr’s go-to tactics for separating business logic from controllers (without going insane)
3) How you can leverage articles and feedback to simplify complex issues and make your life easierSponsors
If you think all audits suck, think again. In this episode, the Rogues sit down with Jeremy Smith, a developer and writer who’s ready to show us the RIGHT way to implement audit logs in Rails. “I want to be cautious about how much I bring into a code base. As gems grow, they accumulate more functionality.”
- Jeremy Smith In This Episode1) Why you NEED audit logs in Rails this year (and how to keep your clients happy with them)
2) Jeremy’s recommendation for top-notch audit gems
3) The answer to “Build it or Buy it?” to keep your code (and your business) tidyCheck out Jeremy’s work: Audit Logging in Rails 2 Sponsors
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 In This Episode1) What you NEED to know about Async Ruby if you’re new to it
2) Why Async Ruby is SUPER promising for 2022 and beyond
3) The ONE thing Ruby’s creator regrets (and what it reveals about Ruby!)Sponsors
Interested in state machines? We’re not sure you should be…but it depends. In this episode, the Rogues discuss the merits of state machines and how to know if you actually need one…or if you just need to do some soul searching. They lay out the KEY to organizing your code, how automobile analogies will help you simplify your situation, and what to know about callbacks, records, and controllers this year.In This Episode1) Why you probably don’t need a state machine (with SOME exceptions)
2) How remembering “the car and its oil level” keeps you from overcomplicating your situation
3) The BEST tools for organizing your code and reducing headaches
4) Do’s and don’ts of callbacks, records, and controllers in 2022 (hint: go slow and steady!)Sponsors
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.In This Episode1) The CORRECT way to migrate to Rails 7 (and the best tools to get the job done)
2) Why learning “Turbo Frames” will make your Rails 7 experience WAY easier
3) The BIGGEST perks of Rails 7 (and why you’ll feel inspired using them!)
4) How to get your gems up and running in Rails 7 WITHOUT slowing you downSponsors
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 In This Episode1) Why Kevin’s “prettier Ruby” will change how you use the language (and how to integrate it this year
2) The BIG differences between hand rolled dissent over parse generators (and why there’s NO single answer!)
3) How YJIT is going to make Ruby “crazy fast” as it gets smoothed out
4) The BIG reason why more and more programmers are going to rewrite things IN Ruby and not C (we’re surprised too!)Sponsors
If you’re looking for a job that WANTS you to succeed, we’ve got a great option for you. In this bonus episode of Ruby Rogues, Charles sits down with Valentino and Sarah Reid to discuss their awesome experience working at Doximity. They talk about the REAL reason people will stay or leave a job, how Doximity eliminates burnout, and why you ABSOLUTELY should apply to Doximity this year. “As a software developer, you’re always learning. You gotta have a culture that has enough psychological safety to ask ‘stupid’ questions.”
- Sarah Reid Find their jobs here: https://workat.doximity.com/ In This Episode
You keep hearing the phrase “Top End Dev”, but in the real competitive world, what does it take to be the best of the best? In this episode, the Rogues get real and lay it all out, including the real way to test your chops in the marketplace, the big “C” to break out of your comfort zone, and why joining the top 5% comes down to THIS step.In This Episode
Well, comments may not be satanic, but they CAN be a nuisance if not used carefully. In this episode, the Ruby Rogues sit down with Matheus Richard to discuss why he isn’t a fan of comments. They unpack the WHY behind “use code, not comments”, tools to help you sort through variables and avoid “shotgun surgery”, and an alternative to magic numbers, TODOs, and notes. “Use code, not comments.”
- Matheus Richard In This EpisodeTo code or comment? Matheus breaks down HOW to know which will be best
Matheus and Luke debate on how helpful comments REALLY are (and why one may not prepare you for the other)
The team talks tools to determine what will help you sort through variables and avoid “shotgun surgery”
Hate magic numbers, TODOs, and notes? Matheus offers a solution to your woes (hint-hint: stop procrastinating)Sponsors
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.In This EpisodeThis tendency in the Rails community that reveals why users are slow to try Hotwire
What Charles learned from comparing React vs. Stimulus at his old job (and how Rails came to the rescue)
Why those in the Java community are seeing React as a “blackhole that’s sucking up everything” (and why some of the Rogues disagree)
Up and coming frameworks that you NEED to consider this year
This ONE separation in Ruby that’s creating division in its community (and how we can fix it)
Luke asks the REAL question: What can we do to reduce our JavaScript footprint?Sponsors
Ready to COMMAND your command line? Then listen up! In this episode, the Ruby Rogues sit down with Adam Gordon Bell, a software developer and host of the CoRecursive podcast. The guys discuss the tools that every developer MUST know in 2022, what users of Jekyll and Ruby can expect this year, and why Adam believes that JQ will save you hours from Google and Stack Overflow. “I remember when I used to chase the “shiny new thing”, but now, I want to find the tools that last.”
- Adam Gordon Bell In This EpisodeThe tools that every developer MUST know in 2022
What Adam learned from chasing the “shiny new thing” (and how you can avoid making the same mistake)
What people using Jekyll and Ruby can expect this year (spoiler: Elixir may make an appearance)
Why Adam believes JQ will save programmers from digging through Google and Stack Overflow
The “Grammarly for markdown files” that’ll help you speed up your flow and keep things neat and tidySponsors
With all this hype around Rails 7, how do you ACTUALLY use it? And is it better than its predecessors? In this episode, the Ruby Rogues sit down with Stefan Wienert, a software developer whose passion for Ruby and technical expertise speak for themselves. The group talks about how to avoid headaches in these new systems, the BEST way to encrypt your data, and plenty of details for navigating Ruby on Rails like you’ve always wanted to. _“You can jump in and fix it right away. It’s very dangerous and very powerful, so it’s great that they have this kind of gem. I’m really excited to about it.”
If you’re on the search for a robust, lightning-fast solution in your programming language, listen up. The roundtable sits down with Máximo Mussini, a software developer who’s passionate about integrating Ruby and Vte.js together to create something that’s both razor-sharp and freakishly easy to use. The lads discuss how powerful http2 is becoming, the easiest way to slash loading times and be more strategic with your page building, and why you NEED Vite.js’s incredible integration tools to stop playing around and get your pages up and soaring. “This set of new tools brings an on-demand mentality, which has a lot of benefits.”
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.Panel
This week the Rogues talk to Felipe Vogel about how he's using Bridgetown and pros of using it over Jekyll.Bridgetown is a modernized blogging and static site generator platform forked from Jekyll to provide updated capabilities and a webpack based JavaScript asset pipeline for more modern applications.It also expands up on the work done on JAMstack applications to provide Rubyists with a stable launchpad for their applications.For more on Bridgetown, listen to the November 2021 update and AMA by Bridgetown creator Jared WhitePanel
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.Panel
Get the Black Friday/Cyber Monday "Double Your Productivity by 5pm Today" Deal
Coupon Code: "DEEP" for a GIANT discountMani provides us with strategies and tactics to get Deep Work time and how to get our minds into that focused state for hours at a time.He has read hundreds of books that have taught him the secrets to getting more done by getting into this state.He starts by telling us how he was passed over for a promotion at Qualcomm in favor of someone younger and less experienced and how that inspired him to figure out what the other guy was doing differently. He learned that he needed to get more done with the time he was spending on his projects.The trick? Deep Work!Deep Work is the ability to spend uninterrupted, focused time on a task to bend your entire mind toward the goal.Other developers call it "Flow" or "the Zone."Mani provides us with strategies and tactics to get Deep Work time and how to get our minds into that focused state for hours at a time. Get the Black Friday/Cyber Monday "Double Your Productivity by 5pm Today" Deal
Coupon Code: "DEEP" for a GIANT discount
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Sebastian Wilgosz joins the Rogues to discuss Hanami, a web framework for Rubyists. He discusses how it works and how it differs from other Ruby based web frameworks.He also discusses what's coming down the pipe and how to get started.Check out his website at https://hanamimastery.com Panel
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.Panel
Kingsley Chijioke wrote an article breaking down the way that Ruby finds methods and determines which version of a method to run. The Rogues approach the internals of Ruby and discuss the implications of how this comes together and where the listeners may have seen this and point out any gotchas that arise.Panel
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.Panel
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.Panel
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.Panel
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.Polished Ruby Programming giveaway: https://forms.gle/VURNitd9LCwMG9Sz9 Panel
Cameron Dutro joins the Rogues to discuss RUX, a system for managing your View Components in Rails in a similar way to how React uses JSX to manage its Component views.He discusses how it works, how it goes together, and what inspired it.Panel
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.Panel
Michael Orr joins the Rogues to discuss how to move applications into Docker for development and production environments in Kubernetes. He walks the panel through the process of orchestrating a Rails setup in Kubernetes that you can run in the cloud.Panel
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.Panel
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.Panel
Alex Dunae joins the Rogues to discuss his experience introducing types into an existing codebase using the Sorbet gem and how it saved him and his company time, money, and effort.The conversation covers libraries and tools for working with types in Ruby.Panel
Hans Schnedlitz joins the Rogues to discuss how you can use ActionCable to get feedback on ongoing tasks in the commandline by connecting to a websocket.His solution is written entirely in Ruby and provides some interesting options for people building CLI's for their applications.Panel
Takashi Kokubun joins the Rogues to dive into Just in Time compiling, Ruby 3.0 and all the goodness that comes with it.He explains how it relates not only to Ruby performance, but Rails performance and what it means to different kinds of loads that come across the Ruby virtual machine.Panel
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.Panel
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.Panel
Jeremy Evans, author of the Roda framework, joins the Rogues to talk about how to use Roda to build Ruby web applications.Roda is a super lightweight framework that adds features through plugins to give you the power you need when you need it to build your applications. This allows you to bring in only what you need in order to get fast and easy to maintain code.Panel
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.Panel
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.Panel
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.Panel
Masafumi Okura is the organizer of Kaigi on Rails and the author of the Alba--a JSON serializer library. The Rogues dive in and get the details on Kaigi on Rails and discuss how to serialize data into JSON within your application.They also discuss why we need another JSON serializer library and which options Alba offers.Panel
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.Panel
Dave Kimura and Luke Stutters talk with Mark Hutter about Active Storage and his experience building a large image driven application. We talk about some of the issues and workarounds when implementing Active Storage.Panel
Chuck dives into the 3 essentials for getting the next successful outcome you want in your career. Whether that's something simple like a raise or something more complex like going freelance, you can achieve it by working on 3 main areas.First, building skills. The most obvious type of skills you'll need is technical skills. However, don't neglect your people skills and your organizational skills as well since you're often paid for how you work with people and enhance their work and how you put your work together in the most efficient ways.Second, building relationships. Often other people will be able to help you find the opportunities or will be the ones to make the decisions that impact your ability to get the outcome you want. Having good relationships is key to having good outcomes.Third, building recognition. Being known for being valuable in important ways allows you to leverage the skills you have to build better relationships and create opportunities to get what you need to get the outcomes you want by giving people what they want. A podcast is a great way to do all three. Chuck explains exactly how that works in this podcast and goes deeper as part of the Dev Influencers Accelerator.Panel
Chuck, Luke, and Dave are joined by Eric Berry for a roundtable chat and celebration of 500 episodes and 10 years of Ruby Rogues. They start out discussing where each of them are at these days. Then talk about their favorite episodes of the show. They talk about what they see for the future of Ruby and then discuss the future of the show and where they go from here. Panel
Chuck explains what he taught Nathan last week when we asked how to get hired at a FANG (Facebook Apple/Amazon Netflix Google) company. Essentially, it boils down to how to build the skills and knowledge needed to pass the interview. How to build the relationships to get into the door and have the interviewer want you to succeed. And how to build the reputation that has the company wanting you regardless of the outcome.
This approach also works for speaking at conferences, selling courses, and other outcomes as well as it's the core of building a successful career as an influencer. Panel
Ariel Juodziukynas joins the Rogues to talk about how to upgrade your Ruby on Rails application from Sprockets to Webpacker. Sprockets was introduced in Rails 3.1 to help you manage your static assets including JavaScript. Webpack came along to help manage JavaScript and eventually other assets later on and was adopted into Rails in version 5 and is now the preferred way to manage JavaScript assets in Ruby on Rails applications. Ariel has written a guide on how to move from Sprockets to Webpacker and discussed with the Rogues the pros, cons, and pitfalls of such a move in your applications. Panel
Mason McLead from software.com shows us the editor-integrated suite of tools that help you become a better developer. We find out what music makes you code better (and worse), how data reveals the habits of the world's top coders and why Saturday is code day. Panel
Claus Lensbøl is a Danish Devops engineer who built a UDP server using Ractors--a new feature in Ruby 3.0. Ractors is a method of getting concurrency in Ruby. It's what threads should have been to give us the ability to use multiple cores with one Ruby program without forking into multiple processes. Panel
Chuck was on a strategic call with one of his potential coaching clients talking about cryptocurrencies and realized that this is one of the major reasons that people want to become influencers. Or, rather, that many people aspire to make a difference and/or make money and the best way to do that is to become the person people go to for what you do. So, how do you become the first person people think of when they think of that thing you know how to do? Let Chuck tell you. Panel
We test our Rails Controllers, Models, Helpers, and Services. But, why don't we test our views? Nikola Đuza has started testing his and explains how he does it and what he's learned about the process. He also explains what confidence it's added for him when writing his Rails code. Panel
Charles talks about the things that get developers stuck when they're trying to start their podcast or other influencer channel. He explains how to get around having those things hamper your journey. Panel
We talk with Julian about a few projects, including Stimulus, Stimulus Reflex, and SPAs and how they fit into our modern tech stacks. Panel
Charles Max Wood talks about how to build, grow, and benefit from positive relationships within programming. He talks about how he's built genuine positive relationships with hundreds of programmers and how he and others have grown from those relationships. He also explains that you get out of relationships what you put into them. Finally, he goes into how to begin to build relationships by building a system of influence you can use on behalf of the people you want relationships with. Panel
Dave Kimura, Luke Stutters, and John Epperson talk with John Nunemaker about Rails Authorization. John dives into the Pundit and how he had created a wrapper around the authorization to provide meaningful messages to his application layer. Panel
Charles Max Wood discusses several opportunities that came his way early in his podcasting career and other opportunities that have come to other people after only a couple of podcast episodes. He explains why that happens and how you can use this to create more influence as a developer. Panel
What do Rubyists need to know beyond the language fundamentals? What things about the language and its tooling will best serve developers working on projects in Ruby to help them navigate the code and avoid pitfalls that crop up in their apps. Luke, John, and Chuck walk through the ideas in within Ruby and the libraries and tools that ever Rubyist needs to understand in order to excel in their jobs. Panel
Charles Max Wood started podcasting because it sounded fun and because he wanted to talk about technology. He learned pretty quickly that it got him access to people who understood the things he wanted to learn. The reasons changed over the years, as Charles explains before he talks about the big payoff he gets now from doing the podcasts. Panel
Darren Broemmer joins the Rogues to discuss how Ruby on Rails enables a microservices architecture and when it's appropriate to approach your system's architecture with microservices. Chuck and Dave lend their experience and expertise in pointing out some of the challenges with microservices and the power of Rails in enabling the Majestic Monolith. Tradeoffs are discussed and approaches are considered for when parts of an application may make a good candidate for a microservice. Panel
Jason Weimann started out as an enthusiast of the Massively Multiplayer Online Role Playing Game, Everquest. After becoming a software developer and building a collaborative community playing the game, learn how he used his connections to get a job working for the company that made the game, even if it wasn't a job working as a game developer and how that led to a career working on one of the most popular online games of the time. Panel
Valentino Stoll takes us on a tour of the "gems" of features built into the core Ruby language. We explore tips and tricks for using irb that can also improve your Rails console. Panel
Chuck outlines how he's used his podcasts to find mentors to continue his learning journey over 12 years of podcasting. Some mentors have been long lived relationships while others have lasted only a few months or even days. This episode shares Chuck's experience learning from the top people in the development community as a programmer and podcaster. Panel
Chuck outlines how he's used his podcasts to find mentors to continue his learning journey over 12 years of podcasting. Some mentors have been long lived relationships while others have lasted only a few months or even days. This episode shares Chuck's experience learning from the top people in the development community as a programmer and podcaster. Panel
Dave, John, and Luke get together to finish the discussion leading up to the Ruby 3.0 release. They talk about the different features and concerns that come with upgrading and/or using Ruby 3.0 and how it differs from Ruby 2.7. Panel
Remember the amazing adventure it was to learn a new thing every day as a Junior Developer? It's easy to feel a little stuck or lost as a Senior developer since there aren't roadmaps or people looking to mentor seniors. (Besides Charles Max Wood.) Chuck talks about how he felt that way at different points in his career and how podcasting and connecting with the programming communities helped him get past that. Panel
Paweł Dąbrowski wrote a Deep Dive into Webpacker on his blog. He joins the Rogues to help the understand more of the ins and outs of Webpack and Webpacker for Ruby on Rails developers. He and the Rogues break down how to manage your JavaScript assets, how Webpacker thinks about them, and how to pull together a cohesive strategy for how to make JavaScript work in your Rails application. Panel
In this episode, John, Luke, and Chuck begin the discussion on Ruby 3.0's release by discussing the differences and enhancements in Ruby 2.7 over version 2.6. Luke leads the charge in providing a list of the differences and the Rogues debate the merits of the various changes in the last minor release of Ruby 2 before releasing Ruby 3.0. Panel
Dave, Luke, and Chuck dive into their development setups. They talk through the different Operating Systems, IDEs, text editors, command lines, desks, chairs, etc. we all use to build our Ruby and Rails applications. Panel
This is a repeat episode of Ruby Rogues. Here's the original link https://devchat.tv/ruby-rogues/131-rr-how-to-learn/ Sponsors
John-Daniel Trask, founder and CEO of Raygun, talks about his experience building a monitoring company and about how to measure the speed and quality of your code.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
John-Daniel Trask, founder and CEO of Raygun, talks about his experience building a monitoring company and about how to measure the speed and quality of your code.Special Guest: John-Daniel Trask.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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.Panel
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.Panel
We discuss the value of bootcamps and whether new developers should consider them. We also touch a little bit on related topics like interviewing.Panel
Today’s guest is David Heinemeier Hansson, the creator of Ruby on Rails and co founder and CTO at Basecamp. This episode is focused on the release of Rails 6. David talks about the process of getting from Rails 5 to Rails 6 and some of the new features and frameworks in Rails 6. David describes some of the new features as ‘magical, which some people don’t like. He believes that the ‘magical’ element is a good thing because it reduces the learning curve for newcomers, so you can less time studying and more time being productive. This is important because it allows people from other platforms to jump on. Rails 6 will provide users with more frameworks so that they do not have to build all of their own solutions to common problems. David delves into how Ruby goes against the grain by providing tools and how that coincides with their philosophy. He talks about the process for deciding which problems the core team is going to tackle, how they come out of Basecamp, and Basecamp’s methodology in terms of what tools they decide to build. The panel discusses how deviating from the Rails core is almost an antipattern and how having the tools provided for them has improved their experience with Rails. David talks about some more upcoming frontend products and more on the process of updating Basecamp. He talks about his belief that most companies should not be inspired by how the big tech companies structure their internal teams. The conversation turns to how Shopify and Github are now running Rails 6 and how they have influenced the feature that have been added to Ruby. David believes that it’s important to focus on how to make a framework that solves problems for people but also focuses on real world results and businesses. Ruby wants to continue to “arm the rebels” by enabling small independent software makers to continue to challenge the industry giants. The show finishes with David giving some advice to new Rails programmers. Panel
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.Panel
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.Panel
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.Panels
Paul Zaich from Checkr tells us about a critical outage that occurred, what caused it and how they tracked down and fixed the issue. The conversation ranges through troubleshooting complex systems, building team culture, blameless post-mortems, and monitoring the right things to make sure your applications don't fail or alert you when they do.Panel
Get the Black Friday/Cyber Monday "Double Your Productivity by 5pm Today" Deal
Coupon Code: "DEEP" for a GIANT discountMani provides us with strategies and tactics to get Deep Work time and how to get our minds into that focused state for hours at a time.He has read hundreds of books that have taught him the secrets to getting more done by getting into this state.He starts by telling us how he was passed over for a promotion at Qualcomm in favor of someone younger and less experienced and how that inspired him to figure out what the other guy was doing differently. He learned that he needed to get more done with the time he was spending on his projects.The trick? Deep Work!Deep Work is the ability to spend uninterrupted, focused time on a task to bend your entire mind toward the goal.Other developers call it "Flow" or "the Zone."Mani provides us with strategies and tactics to get Deep Work time and how to get our minds into that focused state for hours at a time. Get the Black Friday/Cyber Monday "Double Your Productivity by 5pm Today" Deal
Coupon Code: "DEEP" for a GIANT discount
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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.Links
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.Sponsors
PanelIn 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.Sponsors
PanelIn 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.Sponsors
PanelIn 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.Sponsors
PanelReact 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!Sponsors
PanelDifferent 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.Sponsors
PanelIn 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.Sponsors
PanelIn 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.Sponsors
PanelIn 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.Sponsors
PanelIn this episode of Ruby Rogues, we talk to James Dabbs as we explore a number of subjects and topics around refactoringSponsor
PanelTricia 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.Sponsors
Kyle d'Oliveira (Clio) shares his survival tips for dealing with tens of thousands of commits, massive migrations and the very limits of databases. We discuss the lessons learned from Rails megaprojects and how to use these tips in your own projects to reduce technical debt and tools to keep your monolith majestic when the code won't stop coming.Panel
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.Panel
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.Panel
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.Panel
Join the 30-DAY CHALLENGE: "You Don't Know JS Yet"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.Panel
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.Panel
Joel Hawksley is an engineer at Github who works on some of their Rails architecture. He is one of the authors of the view_component gem. He walks the Rogues through the genesis of the project and the pros and cons of using a library like view_component and how it adds testability and easy management to Rails views.Panel
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.Panel
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.Panel
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.Panel:
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.Panel:
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.Panel
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. Panelists
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.Panelists
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.The conversation turns to which development platforms they are running. They discuss the value of Docker as a development environment. The panel compares the features of database management systems such as MySQL, MariaDB, and Postgress. David feels that getting up and running in an environment is the most important thing, but the panel challenges him to consider the maintenance required in some environments. The Ruby experts discuss the merits of using RVM and what they like about it, testing libraries they are using, and how they feel about certain gems. The tradeoffs between security and ease of use are discussed. They conclude the show by talking about the benefits of mechanical keyboards and duo vs. single monitor setups.Panelists
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.Mithun talks about how location services are tested and how they are impacting the public sector and the future of mobility. Mobility is the overarching term for all of location services, such as public transportation, traffic, etc. This is changing a lot in many places, but especially in places like Dubai where self-driving cars are becoming more and more common. The panel discusses how to think about location services as a developer. Mithun talks about how to move from web to mobile development. The panelists discuss the issue of privacy and location services. Mithun talks about how HERE Technologies protects individual data and privacy.Panelists
Brittany Martin, Lead Web Developer at the Pittsburgh Cultural Trust joins the panel today to talk about her talk "Rails Against The Machine". She has given this talk at Southeast Ruby, Rubyconf MY and Ruby on Ice.Brittany Martin works for the Pittsburgh Cultural Trust as the nonprofit’s Lead Web Developer, where she is part of the team that develops, supports and maintains the Trust’s ticketing and festival web applications. She is a certified AWS Developer and the host of the 5by5 Ruby on Rails podcast. Under her alter-ego, Norma Skates, Brittany officiates roller derby for the Little Steel Derby Girls.Her talk's elevator pitch is as follows: "What should a development team do when a few bad users threaten their application? Online businesses are plagued with trolls and bots. Learn how your team can leverage features from RoR and AWS to monitor and (secretly) segment bad actors using automation and behavioral triggers."Brittany and the panel address questions such as "When is it better to block a user instead of incorporating them into your app?" and "How do you know the difference between a security threat or something trying to game the system?" Panelists
Sven Akerman Jr. is the chief architect at Outlook Insight. Today he and the panel are talking about the process behind development, specifically how Sven helped improve the software development process at his previous employer. When he started, they had a formal Scrum/Agile process for the first 5 years, but recognized gaps using key performance indicators like turnaround time. So the company implemented the single piece flow method, which ensures that all developers are focused on one thing from start to finish before moving on. As a company, they have a maximum of 2 products in play at a time, with two in focus. Some of the benefits of single piece flow are that it reduces context switching and increases group knowledge and involvement. Sven talks about how the method was implemented in the company, and admits that it takes a really efficient delivery pipeline to move things this quickly. For those that don’t have much to do with a project, the ‘bored void’ was filled with a list of other important things to work on, finding ways to make their own improvements in an area, and automation. Sven found that the method scales well and works both in an office or remote. One of the biggest drawbacks of this method was the psychological barrier among the workers, as it was hard to get people to change the way things “have always been done”. He notes that conversations in meetings shifted from ‘me’ to ‘us’ since people were more aware of others’ work. This shift occurred naturally with the enforcement of the constraints, though it took a couple of months. Sven talks about more ways he saw things change. Charles and David discuss things about this method that interest them, such as shipping things quicker. They talk about possible difficulties with technical debt, which Sven found actually decreased over time. In order to get started with the single piece flow method, it is important to first understand where you’re at and the size and capabilities of your team before moving forward. Panelists
In this episode of Ruby Rogues, Charles Max Wood interviews speakers at GitLab Commit 2019. Eddie Zaneski from Digital Ocean talks about "Creating a CI/CD Pipeline with GitLab and Kubernetes in 20 minutes", Shamiq Islam from Coinbase talks about "Closing the SDLC Loop- Automating Security" and Jasmine James, from Delta Airlines, discusses " How Delta Became Cloud Native-Avoiding the Vendor Lock".Eddie, Shamiq, and Jasmine give the 5 min "elevator pitch" for the talks they gave at the conference.In his talk, Eddie deploys a fake startup going through the whole pipeline: building the application, containerizing an application and shipping it off to Kubernetes.Shamiq, talks about how the conventional approach to security is to consider it at the very end after all developer has wrapped up their work and why that should change.Jasmine explains more in-depth what it means for a big corporation like Delta to be in a Vendor Lock.Sponsors
Alessandro Desantis is the director of Nebulab and is currently working on Solidus. After talking a little bit about how Nebulab got started, he describes what Solidus is. Solidus is a free, open source eCommerce platform built in Ruby on Rails that gives you complete control over your store. Three things that set it apart from other eCommerce platforms are that it is governed by a single company and that the focus is on quality and backwards compatibility. One of their biggest goals is to make Solidus streamlined, and Alessandro talks about how they handle it with the complex business logic involved in eCommerce. He talks more about the governance of Solidus and the different teams involved. Alessandro admits that Solidus has fewer features than some of its competitors, but this makes it very powerful and customizable. It can be tacked onto any Rails engine and you can pick and choose the things you want. Solidus was made with fewer features because of the unique nature of each eCommerce store. The creators noticed that when people create their stores, they had to adapt their business to suit the eCommerce software they used because the software was not as customizable. Solidus wanted to avoid that, so they provide the foundation and people can customize it. To customize Solidus, the documentation is available on the Solidus website, but the company encourages experimentation. Alessandro regrets that people think eCommerce companies are not technology companies, and so they tend to delegate it to someone else. He and Charles talk about some of the technical aspects of Solidus and what the future holds. In the future, the company plans to emphasize communication and the presentation of Solidus as a tool to help people make the right choice for their business, as well as streamlining the onboarding experience. To contribute to Solidus, you can contribute to the core itself or any of the extensions. There is also an active Slack community where you can ask for the best place to help. The show concludes with Alessandro talking about some of the other projects he’s working on. Panelists
Today the panel discusses the difference between Swagger and Open API with Josh Ponelat. Josh details the difference between the two. Swagger is a set of protocols around describing restful APIs. Swagger was taken over by a company called SmartBear, who donated the donated the specification to the Open Linux Foundation, and that became the Open API. Swagger is the tooling surrounding these specifications. Open API is a standardized way to describe a restful API in a YAML file. Once you’ve got a YAML file to describe your API, you can use tooling like Swagger to leverage that and take it to the next level. Using the Open API process is useful for situations where you already have an API in place, but want to codify and document it so that it’s controlled. Then going forward, you won’t introduce contradictions and it remains consistent because it’s documented in a YAML file. The process leaves room for enhancement in the future as well.Josh talks about some of the benefits of standardizing your API and some of the use cases besides tooling. A standardized API can help show developers how to use your API, SDKs, and service stubs by knowing your API is consistent in style. This makes it easier to find breaking changes and more. Josh talks more about Swagger, a finite set of tooling around Open API, most of which are open source. He talks about other tools that test APIs and do linting on YAML files. Some of the companies that use Open API include Google, Amazon, and Microsoft. Josh talks about how Amazon implements Open API.Josh talks about the book he’s writing, Designing APIs with Swagger and Open API. The book goes over describing APIs today, how to design APIs without writing code first, and how to get the most out of the system. The show concludes with Josh talking about the power of consistency and writing things down on paper. He discusses where implications that the standardization of APIs has on the text industry.Panelists
Andrew Glass is a Brooklyn based Rubyist operating a small independent devshop called Bang Equals. He has held many ‘enrichment jobs’, including being a ball person at US Open for 5 years, traveling for judging Guinness World Record attempts, and will be a balloon holder in the Macy’s Thanksgiving Day Parade this year. Today the panel is discussing his about his 2018 RailsConf talk, Human Powered Rails: Automated Crowdsourcing In Your Ruby on Rails App. In his talk, he shows the audience how to use Amazon Mechanical Turk. Amazon Mechanical Turk lets you post tasks, set a price point, and then people can go and complete the task. This is often done with tasks that can’t be done with machine learning and to train machine learning algorithms. In his talk he goes into What it is, how it’s used, and how we can use Ruby to automate the process. In his apps, he uses it for lead generation, qualification, enrichment, and some video and photo tagging. More specific uses include recording items from a picture of a shopping list, identifying specific things in a video, categorizing businesses and items, sentiment analysis of text or image. Overall, Mechanical Turk is used for things that machine learning can’t handle yet. The panel discusses some different uses for crowdsourcing and how to submit something to Mechanical Turk. There are multiple ways to ensure accuracy in your surveys, including setting up multiple stages to your task, having more than one person complete your task, and creating a qualified worker pool based on tests to determine their aptitude and skill. The panel discusses some of the controversy surrounding Mechanical Turk, citing an article in the New York Times (see links). The big issue is wages and worker rights. Wages can be very low, and it is ripe for abuse by companies as they could easily refuse all work and withhold pay. It is also important for the companies to give an accurate time estimate for the task and a reasonable reimbursement. Mechanical Turk attracts a variety of people, from people that do it for fun to people to actually do it for a living, so it is vital that companies use the tool responsibly. Andrew talks more about how his app works. His apps are built on RTurk, Turkee, and Mechanical Turk, and he talks about how they work. The tricky part is figuring out the logic for what answers they will accept. Andrew talks about how to get started with Mechanical Turk and how to validate the work you get back. To ensure you get accurate information, he suggest that you make it happy for your users, make the UX simple and usable, and use a lot of formatting in your forms so that you get good information in. They preface their results with an accuracy score to help determine what is true. Andrew talks about where he wants to go from he. His Turking days are behind him, but his days of coordinating the efforts of many using software show promise. Panelists
Today Charles and Dave are discussing deviating from the Rails core. Dave doesn’t care for JavaScript frameworks or microservices as he believes that they add too much complexity. These things may become necessary when your project gets massive, but otherwise we shouldn’t jump to these as a first option. If you don’t need the frontend powerhouse features, you may want to see how far you can get with Rails and a minimal frontend. React may not always be the solution that you need. They discuss jQuery versus Stimulus. They both prefer jQuery over Stimulus as they find it less invasive and clunky, and it’s easier to drop things in. Dave talks about his experience with ElasticSearch and how he simplified it. They discuss using MongoDB and Mongoid. They agree that although these are not Ruby specific, they can help. Dave, however, has not found a need for them, while Charles has found that it gave him more advantages in his schema. He talks about some other advantages of MongoDB. Dave and Charles discuss the default testing library for Rails, MiniTest. Dave prefers RSpec, but he still uses Mini test because it’s included in the rails core. He has found that RSpec benefits him, while Mini Test benefits his application, so he sticks to what’s included. He believes that sticking close to the core and counting on the widely used things keeping up to speed makes maintaining on the application easier, and things are less likely to break. They turn to discussing when it is appropriate to deviate. Again, Dave believes that small applications without a massive amount of traffic don’t need to deviate, but adds that unique situations require unique solutions. It’s important to Consider if the solution will box you into an infrastructure provider or long term maintenance on something you don’t usnderstand. They agree that the goal is to introduce the least amount of technical debt as possible. Panelists
Khash and Kasia work for Cloud 66, a company started in 2012 with a goal to make Rails deployment simple and infrastructure easy to understand for application developers. As the company has moved towards containerization, they have integrated with Kubernetes. Khash talks about what distinguishes Cloud 66 from other platform as a service companies and why the company was started. He begins by talking about the structure of Heroku, how they own the entire stack down to the server, and how they are bound to a data center. Cloud 66 differs because they decided to break that unit economy from a data center to a server, so they don’t own the entire stack. Instead, they deploy what looks like an experience from Heroku onto your own server so you can go anywhere you want to go. They talk to the public API of those cloud providers within the data center that you choose that your account is in, and then provision, deploy, and maintain your application the way that you used to with Heroku, on that data center. Khash talks about how Kubernetes fits into the Cloud 66 model. Cloud 66 was started with Rails, but they wanted to make it generic and available on any framework, and decided this was best accomplished through containerization. They originally had their own containerization service, but then moved over to Kubernetes. Their Kubernetes for Rails product makes deployment of a Rails application onto Kubernetes extremely simple. The panel discusses the different ways that people get to containerization, and situations where containerization is not the correct solution. They also discuss situations where a containerization service like Kubernetes is useful. Containerization can help a lot with distinguishing and establishing boundaries within a team. Kubernetes can help create uniform servers because you can tell it what you want and it will help you get there, including notifying you when things don’t align. Kubernetes is also excellent at dealing with microservices, if you have a need for a repeatable environment, and provisioning the infrastructure for commits. Khash notes that since moving to a unified infrastructure powered by Kubernetes, upgrades in Cloud 66 take significantly less time and talks about how things have been streamlined.In the past, David has seen some issues with autoscaling in Kubernetes clusters, and Khash talks about how those things have been addressed and how to approach scaling in general. The first two things you need to define with scaling problems is how much is needed and what is ‘normal’ for your product. It is also important to consider if you need to scale up or scale down, as sometimes scaling down can hold more benefits. Khash has noticed that one thing that’s missing in the market is that as Rails developers they’re all about finding the best tools and getting the job done, while this approach is lacking in Kubernetes. He closes the show by talking about how Cloud 66 is trying to address what a Kubernetes deployment means for a Rails stack.Panelists
Michael Herold is married to an economist and is a staff engineer at Flywheel where he writes Ruby programs to support PHP programs. He gave a talk at RailsConf 2018 about how to price a product. The frame for the problem is whenever you have a business idea, you eventually have to decide how to price it, and the pricing area is ripe for inefficiency on both customer and business ends. In his talk, he gave a simple framework based on the field of market research that helps give you an idea of what to price your product or service at called the Van Westendorp Price Sensitivity Meter, which is based off of talking with your customers about how they would value your product. He explains the difference between consumer surplus and producer surplus. The panel discusses other ways of determining pricing, such as basing your price off the price of a similar product. They discuss the pros and cons of different complex pricing they’ve seen. While complex pricing can be a turn off for many customers, it can also weed out less serious customers, and so it can be a good thing. Michael talks about what the Van Westendorp Price Sensitivity Meter actually looks like and how it works. It is based off a 4 question survey where customers are what price is too cheap, what price is a good deal, what price is getting expensive, and what price is too expensive. The answers are charted and you look for intersections in the curves (inflection curves) and it gives you an understanding of how people feel about the price of the product.Determining pricing gets more complicated on a global scale, and the panelists discuss methods to handle it, such as giving discounts and adjusting prices by country. They discuss the importance of choosing the right price for your service, and a price that is too low can be as bad as over pricing. Michael talks about how his company determined their pricing using the Van Westendorp Price Sensitivity Meter and some of the difficulties they encountered. In the future, he wants to make a tool for how to figure out prices so that people don’t have to build their own pricing model. They conclude by discussing the merits of having a sale on your product. Panelists
Graham Conzett has been a developer for 12 years. He has worked with Ruby and Rails for half of that, and currently works for a company that does large format touchscreens. Graham gave a talk at RailsConf 2018 called “Old School JavaScript and Rails” where he talks about the experience of JavaScript fatigue. The world of JavaScript changes very quickly, and sometimes it feels like there’s a new framework every week. Because there is no clear winner among these frameworks, many Rails developers feel compelled to reach for something like React. However, there are many strategies for doing JavaScript in Ruby and in Rails that existed before these frameworks, so you can accomplish what you want to get done without bringing one in. Remember that all of them can coexist side by side, so you don’t have to pick one strategy. The panel discusses the effect that adopting a new technology can have on the team, such as the learning curve and hiring people that specialize in it. To illustrate this, Graham talks about the company he works for. Their app is a 90% is a Rails app, and one component has a lot of React. He talks about how they came up with that strategy and how they have kept React isolated to that page. It’s crept into some other little places, but there is a document in the team charter that defines where and why they use certain things, and that has kept it limited.Graham talks about the tradeoffs between choosing to stay in Rails or introduce React. If you bring in React, you have to bring in a different testing framework. React also has a bigger learning curve than standard HTML or CSS. There are far less conventions around React than Rails, so you have to spend time coming to a consensus as a team. Webpacker helps with this to a degree, but it also pulls in a bunch of third party plugins, so Rails is no longer writing the rules and you may have to debug random plugins.If you want to avoid adding a framework like React, consider using ujs, or Unobtrusive JavaScript. These are JavaScript ‘helpers’ included in the Rails bundle that you can add to various buttons that help you decorate and enhance. You don’t have to change much of your HTML frontend code but it makes it more interactive. Graham talks about he uses them and why he likes them. The panel compares using ujs to other strategies like using Stimulus or ‘sprinkles’ of JavaScript. For small JS sprinkles, Graham advises to keep that focused on a single HTML element and bound to a single event handler. Ujs works best when you piggyback off of that Rails/Rest related stuff, and Stimulus is more about manipulating parts on the page that don’t have a need for asynchronous request. You can really use ujs everywhere, so the three techniques are not mutually exclusive.Graham gives advice to developers considering pulling in a frontend framework. He says to start with minimal JS and then talk to your team about when it feels right to do it, because that’s a tricky conversation to know what your expectations are and problems you’re trying to solve. Sometimes things will force the issue and make you want to explore using frontend frameworks. When it’s a time saver, it makes your team scale better, or when you have something you just can’t do without it, then that might be the right time to use React.The show concludes with the panel discussing their experiences with different compiling languages like TypeScript. They talk about what influences the tools people choose. They agree that the most important thing is getting working code out there, it doesn’t really matter how it’s written, but to only pull things in when you know you need it.Panelists
Ross Kaffenberger is a software engineer at Stitch Fix and has been developing web applications for the past 12 years, mostly in Ruby and JavaScript. Today he and the panel are discussing how to survive Webpack. When many folks first encounter Webpack, they feel confused, overwhelmed, and don’t know how to get it to do what you want it to. In the latest version they tried to introduce some more sane default settings, but it is still a major change in technology. Ross talks about how his company transitioned Rails 5 to Rails 6 with the new Webpacker. His company chose to take an iterative approach and slowly migrated to Webpacker. His app was very JS heavy with a large number of libraries, many of which were not very Webpack friendly. They chose to separate out the vendor libraries into a separate bundle, that way they could contain each deploy. They still had to add some configuration, especially to make things available on global scope.As they started moving jQuery plugins over, sometimes the functionality would disappear, and Ross talks about how they figured out their mistakes. It was difficult for them to get out of their Sprockets mindset and into the new mindset of Webpack, which requires different techniques. There are also things that Webpack can do to keep you out of that situationRoss gives some strategy advice for someone who is in a position to update from Sprockets to Webpack. It’s important to consider your app size, your comfort level with Webpack, your team dynamic, and your timeframe. Ross recommends the iterative approach that they took, which took longer, but allowed them to learn as they went. Ross talks about the changes that happened in the switch from Webpack 3 to Webpack 4, and some of the contributions they made. He talks about some of his preferred Webpack configs and plugins. They discuss some of the drawbacks of Webpack, particularly the plethora of plugins that can make it seem daunting. One of the big gotchas with Webpack is the location of your source code. When you install Webpack for the first time, create a JS folder under App, it will place a ‘application.js’ file in another file called ‘Packs”. The idea of that pack file (application.js file under Packs) is that it’s the entry point for all of the JS that you’re going to add to your Webpack build. But if you add additional files to that Pack folder, Webpacker will instruct Webpack to treat each of those files as a separate entry point in a dependency graph. Make sure that only files that are intended to be the entry points for your Webpack builds are in that packs folder. It is also important to understand how you’re using global scope inside your JavaScript modules in your build. There’s a way to allow Webpack to inspect each of the files for a certain variable, such as a dollar sign. If he could go back and do it again, Ross would not split his code manually, but instead Embrace the notion that Webpack understands how to do code splitting for you, as long as instruct it to do it the right way.Ultimately, it took Ross’ company 3 rather tedious months to transition to Webpack. It could’ve gone faster if they’d known more about Webpack to begin with. The panel discusses whether it was worth it to switch to Webpack. Transitioning to Webpack has changed their team dynamic and their day to day coding and debugging. One nice feature of Webpack is the source maps that aid in debugging. There are still areas for improvement, but now that it’s set up most folks on the team don’t think about it. Overall, the development experience has improved, and he thinks it was worth it, but it’s not for everybody.Panelists
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.ShipLane solves this problem by assuming that you have a box out there, whether it’s a VM or an actual physical box, and you have SSH access to it. It logs in, it makes sure you have Docker installed, and gives you the ability to actually take your development docker compose, and convert it to a productionized version. It also hooks in to Capistrano and replaces that with ShipLane commands. Right now ShipLane is using Docker Raw and creates a network for your stuff to work within, deploys your containers, and then your service is up and running. There are different tools you can use to run Docker in production, but John didn’t want to run containers by using Docker Run with a bunch of stuff after it, didn’t want to maintain a custom script, so he automated it. John is currently working on a version that will translate your Docker Compose files into Kubernetes YAML files.There’s a lot of choices to be made in Rails, none of which are wrong, but one choice begets many more, and there’s so many to make and so many consequences it’s difficult to know your path, and ShipLane provides clearer a path. John talks about how to get started with ShipLane. First, you need to gem install ShipLane and Capestrano, put it in your bundle file, and require it in Capestrano (there’s a generator). It has Capestrano listed as a dependency requirement. Andrew has used ShipLane and found it very quick and effective, only took them about 30 minutes. John asks for feedback from users on ShipLane, since many people are using it but no one has given any. John talks about the versatility of ShipLane as a general solution. He addresses some concerns that people have about putting stuff into containers, and assures them that ShipLane is intended to work right out of the box. It is important that when containerizing services available on the platform of our choice to step back and question if you creating this infrastructure correctly. They discuss some methods for deciding what goes into containers.The panel discusses some of the advantages of Docker, particularly deployment time. Everything is already bundled, the assets are precompiled, so it cuts your deployments down a lot. They talk about different frameworks for Ruby that they like for their scaling abilities, such as Docker, Kubernetes, and Elastic Beanstalk. While Elastic Beanstalk is not one of the primary targets of ShipLane, it is designed as a generalized path to go from development to production, so it shouldn’t matter what your production target is in the end. If you’re gonna pick a provider that isn’t one of the big 3, then ShipLane is a great optionIf you’re picking a SASS provider, there’s always a possibility that it isn’t compatible with the generalized version, but if we’re targeting Kubernetes it should generally work.The panel discusses the general advice not to use Docker in development and whether or not it has merit. John finds that flips back and forth between projects, and those projects all have different dependencies, so Docker makes it easier to switch between projects because he doesn’t have to think about the dependencies. They talk about how John manages his Docker /compose version with these various projects. They all agree that Kubernetes should not be run locally. Finally they discuss whether tools like ShipLane are the next step with Docker. They believe that containerization is here to stay, but the only thing that might remotely threaten Docker is going back to bare metal development or going serverless. They discuss whether going serverless kills Docker. Ultimately, the most important thing is that the problem gets solved. Panelists
Mike Schutte is a fronted developer at TED conferences and was trained in code school at Turing in Colorado. He likes the idea of code as a communication tool, and in 2018 he gave a talk at RailsConf called Stop Testing. Start Storytelling. Today the panel is discussing what Mike means by storytelling in testing. In order to combat the hesitancy to start testing, Mike believes that changing your mindset to think away from the implementation details while deploying these tests can help them be more efficient. In short, if the test isn’t readable by a non-developer, then it’s not telling a story, it’s just writing code. The test is almost the first point of contact away from the source code, so if that’s unwieldy in a test it will be hard to use elsewhere in the application. We have an intuition for stories, so use tests in order to communicate the intent of what the application should do under certain conditions. If it’s hard to set that up in a succinct way then maybe it should be written differently.This view is backed up by other experts as well. Sandi Metz and Noel Rappin talk about it in Tech Done Right episode 69. They say if your test isn’t easy to write and you’re having to create tons and tons of objects, then the system or the class your trying to test is too interconnected, so you might want to break that up into more separated concerns so each of your tests can be focused on what you’re actually trying to test. If you follow these principles, your testing will be a lot easier even if there are more classes and modules to test. David applies this approach to an online shopping cart and how to break it up. The idea is to abstract it away from the big picture, in this case the grand total, and breaking it down into smaller stories or things. Mike shares methods to put this approach into practice and how to test. He finds that reading the code as if you were reading a section in a novel rather than code helps him sketch out what he needs to test. The panelists discuss different methods for testing, emphasizing keeping the models or classes you write very simple, minimizing the amount of full on feature specs. If you take time to think about the mindset and the process you use to write a test, the tools you use becomes interchangeable in a lot of ways.Andrew brings up a trend that he’s noticed of tools coming out that are taking mini tests or rspec and trying to morph it to the programmer’s preferences. Tools like this end up with a lot of weird syntax that is hard to maintain. The panelists acknowledge the challenges that stem from using a custom VIM, and believe that having an agnostic approach makes it easier to jump into different systems. Your focus shouldn’t be your developer preferences or what you’re used to, rather it should be your happiness when you have to update. They agree that because it’s easy to understand, it’s telling a story the reader can understand, which makes it easier to maintain in the long run.The Ruby Rogues panel talk about different methods for testing, particularly if they’ve ever tested JavaScript code in a Rails app. They talk about some of their preferred tools to test their code, such as StoryBook. Mike talks about what StoryBook is and what it’s like to use it. David talks about his experience using Cucumber, why his team used it, and how it works. The show concludes with Mike sharing some of the benefits he has found from using typed languages like TypeScript and the panel talking about their experience playing around with Actionview components. Panelists
Todd Kaufman is one of the cofounders of Test Double, a software development consultancy that was started 8 years ago. Todd talks about how he got started with Test Double and how it grew. He and Justin started Test Double because he felt that a lot of consultancies didn’t align with what they thought was important. Most consultancies then didn’t focus on good software development practices, and instead focused solely on the process. They decided that they would put the developers first and foremost so they could solve hard problems.Charles talks about his experience with a consultancy, where he was fired after his project finished, and asks how Test Double does things differently. Todd talks about the importance of financial stability in a consultancy, and one way that Test Double accomplishes this is by being a completely remote company to cut out the cost of having an office,Todd shares their approach to the projects they take on. Their contracts are open ended and they tend to work with clients for a longer duration. They discuss the differences in knowledge that comes from working with a product company versus a consultancy. A product company will typically give you depth, while a consultancy will give you variety. When deciding which you want to work for, you need to know if you want a steady approach to software development or do you want the challenge change up from time to time. Todd delves deeper into their policy of not doing fixed bids and how they uphold that policy when negotiating with companies. Test Double’s unique approach is to engender trust where if the client feels that they are not getting the results they want, they can terminate the contract and ask them to leave. This in turn makes the fixed scope go away. Their only requirement is that the client gives them a weeks notice before termination. When taking on a project, Test Double strives to quickly integrate with an existing team, help them, and leave them in a better place than we found them. They can help with testing, learning languages, meeting deadlines, and communication.The panel discusses some of the gotchas of building up a consulting company. Todd says that you always need someone looking for ne prospects and jobs, keep a consistent level of sales activity, and address issues in real time. He talks about what the company does to generate awareness, such as conference presentations, the website and blogs, networking, and how the company is organized to help manage sales.Todd and the panel discuss Test Double’s process for growing and shrinking the company ahd what drives their decisions. Test Double’s priority is to make sure that the size of the compan does not affect the work experience. He talks about their four step hiring process and their trend of hiring experienced programmers. The panel agrees that there is a commitment to hiring junior programmers. Though Test Double does not typically hire junior programmers, they help companies that do. Todd has found that there are companies that want to hire juniors, but they have no experience leveling them up, so his consultancy helps clients develop mentorship practices.Todd talks about some mistakes made and lessons learned in starting his company. One of his primary regrets is not focusing on diversity and inclusivity enough during the early days of the company. Their goal stated as a company is to improve the industry, and be an example for teams to follow on how to build healthy teams, but much of their early members were fairly homogenous. Todd believes that variety in a company leads to better problem identification and solutions. The panel discusses how to really identify diversity of background, because sometimes it can be proxied by diversity of physical appearance, but sometimes it can’t.It’s important to identify people that truly are diverse, and not just say ‘we want more women’ or ‘we want more people of color’. They discuss ways to increase diversity in hiring. Todd talks about what it was like to make the first hire for Test Double.Todd shares how he decided what Test Double’s values and mission is. They had to consider why they were putting so much energy into building Test Double, and it was because they wanted to help fix the industry and improve the way the world builds software. He talks about how he implements it within his company, especially since they do not have a physical office. One of Todd’s visions for the software industry is that software isn’t viewed as manufacturing and getting the commodity purchasing out of software development. He also hopes to help create more sustainable code and to fix the problems that caused unsustainable code, whether in the code or the team.Test Double doesn’t focus solely on code, but also on the work environment of the company. They do that by trying to act as an extension of their existing team. Todd talks about what it’s like running a primarily remote company and how it affects their clients. He talks about how the company builds camaraderie between its employees, including an automated tool to pair you up with somebody to have ‘coffee time’ with once a week. He talks about the tools they use, like Zoom and Slack, and the different leadership roles within Test Double. Listeners are encouraged to go to Test Double’s website to learn more about what they’re working on. Panelists
Episode Summary Today’s guest Elia Schito has been a Ruby developer for 12+ years and works for Nebulab. During his career he looked for Ruby to JavaScript translators and found Opal. The panel discusses where Opal belongs within an app and when the compilation into JavaScript occurs. The main reason a person would want to use Opal is to avoid writing in JavaScript. Elia talks about the benefits of using Opal. One is that productivity is better in a language like Ruby. Also, if you’re working on a project that needs to get done quickly, it makes sense to use Opal so that your speed is not hindered. Elia talks about testing Opal with things like WebPacker and Hyperstack, and explains what Hyperstack is. Opal recently released a newer, bigger version, and Elia talks about the features of the new release. He details what kind of JavaScript it produces and how to hook it into your CICD, how to run it locally, and overall how to use the compiler. He talks about how to debug in Opal. He notes that during the development cycle in Opal, you can refresh your page and it will compile the Ruby code into JS, so if there are any errors you will see it immediately. Opal is compatible with other tools to check your code. In the future, Elia wants to increase the coverage of the core and standard library, and believes that Opal is a great way to increase your skills in Ruby and JavaScript. He talks about the general reception of Opal among users. Opal is a perfect fit for smaller teams or older fullstack developers, especially if you don’t have a frontend team Elia notes that Opal, much like anything else, is a matter of preference, and relates it to the past reliance on CoffeeScript. For developers who refuse to write in JavaScript, Opal is an excellent option. He talks about the speed of compiling ruby to JavaScript in Opal and how it supports keeping current with Rails versions and other frameworks. The panel asks if the Opal community made any inroads with DHH for making it part of the Rails stack proper and whether Opal wants to be integrated with Rails. Elia talks about some of Opal’s contributions to the Ruby Community. Elia talks about what generally happens if you choose to use Opal in a project. Opal is small, but you will have to make some tradeoffs. You have to call your standard library from Opal, but there are many ways to overcome that. The show concludes with Elia calling on the community to help him resurrect the Volt framework. Panelists
Episode SummaryAdam Cuppy is the cofounder and current chief operating officer at Zeal, web and mobile app consultancy. Today the panel is discussing the talk he gave at Rails Conf called Mechanically Confident. Adam has a hypothesis that confidence is not the result of belief alone but ingrained routine. The more routine, the more pattern, the more rehearsal applied to a given thing, the more confident you are with that thingThe history behind Adam’s theory stems from his background in theater and performing arts. The concept of rehearsal is commonplace in the performing arts, but not other industries. He talks about where rehearsal comes in for programmers and how he has noticed the patterns of senior developers. The panelists talk about where they see routine and rehearsal come into play with their workThe panelists wonder how do you avoid a stopgap from a slight change, and Adam relates it to some of the most rehearsed actors, improv actors. It’s important to rehearse everything you can, building a routine around the things you control, so that when something does happen you have everything else under control. Adam talks about different tools to help build a routine and an experiment he did with a group of interns to help them establish a routine. When the interns had a routine, in this case, a designated order in which they placed their windows, he saw immediate improvement in their performance. When the order of the windows was changed, it caused initial confusion in the group. The panel discusses the cognitive load applied to managing chaos and how a routine helps. Adam admits that routine is an individualized thing, and that chaos can be a pattern as long as you know where everything isThey wonder at what point does reliance on patterns become false confidence, relating it to the strict TDD trend within the Ruby community, and how too much routine can make you rigid. Todd again ties this back to acting. The panelists discuss ways to implement a routine. Adam advises to start by finding what is it that you do consistently that creates a happy and proud result. They talk about how to create that small iterative change towards something I want to get better at. The panelists discuss the merits of visualization and if it is a tactic that developers can use to gain confidence, and what to do after you’ve visualized. They discuss whether looking ahead helps or hinders a person, and Adam talks about how to look ahead properly.The show concludes with Adam’s advice for people who would like to give a presentation or conference talk but hasn’t. He talks about how his theory has evolved since he first gave his talk. His closing thoughts are that trends matter more than individual days, how to expedite the experience timeline, and the importance of perspective. If you want to expedite learning, give the why behind something Panelists
Sponsors
Sponsors
Sponsors
PanelSponsors
PanelSponsors
PanelSponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Panel:
Panel:
- Eric Berry
- Dave Kimura
- David Richards
- Charles Max Wood
In this episode of Ruby Rogues, the panelists talk amongst themselves on today’s topic, which is “speculation on frameworks.” They consider where the tech community currently is right now, and where it’s heading towards the future. They bring-up topics such as: Rails, Ruby, Angular, Agile, and much more. Check it out!Show Topics:0:00 – Advertisement: https://sentry.io/welcome/ 1:47 – Chuck: Check out the DevRev2:08 – Panel: A topic about “speculation” would be great today. What are we seeing in the community: what we like/don’t like, and what would you want to change?He talks about action text, JavaScript framework, and more. 3:41 – Chuck: Service-side rendering is what we talked about in the past. Divya does this with service–side rendering. For content sites that approach makes a lot of sense. I have playing around with this for the past week or so. I was taking it to rendering it to text.4:39 – Panel: Yeah, that’s the way to go.5:29 – Chuck: You are talking about a fully side UI.5:45 – Panel: I thought it was just my age so I am glad we are talking about this. The hip kids want to make these beautiful frontend sites. I want to keep it simple and then justify more later. I guess I would never be as hip but as long as my stuff gets out there – that’s all that matters to me.6:28 – Panel: Yeah don’t get me wrong...nobody will want to develop your product if it was built 30 years ago. If it is a startup you want it to look good with a nice UI. Nobody will purchase if it looks outdated. How much maintenance do I want to invest into this? Why add another component into that if you cannot maintain it.7:56 – Chuck: Yeah I have come into this issue while building the Podcast Service that I am creating.8:25 – Panel: These are good frameworks and they feel great. I don’t realize the complexity that I am taking on sometimes. I have a lot of complexity on my hands: did I need it?9:02 – Chuck: Sometimes my problem is that I am trying to pull it in after-the-fact. Like the forms to animate or this and that have to slide in. I want a natural feel to the UX. I looked at React and then I didn’t go that way. I have been podcasting about https://angular.io for 4 years, but it was a no-go for my project. For my solution – it makes sense to just get it going and get it rolling.10:45 – Panel: When we do use Action Vue we are prone to get lazy. What I mean by that is making database calls.12:01 – Panel: You can think: Inside-Out! That creates an identity around the project. If I can think of that before going in, then everyone knows what we are doing and what their role is. It’s really obvious. Simple things grow into bigger things. I am a fan of service-side objects. It’s a daily work process. That feels good to me and it’s programmatic for me.13:24 – Chuck: You aren’t saying: I don’t want or I don’t need ... what you are saying is: I will get this tool when I need it.13:45 – Panel: You can say: “Hey this is what we are going to do and WHY we are going to do it.” It’s nice to come back to old projects and to see that it’s still solid. It’s nice to see that and people own that software and didn’t have to keep updating.15:06 – Chuck: It reminds me of the Agile development stuff. The approach between Angular and React and Vue are fairly different. They are reasonably different. There will be tradeoffs between which one to use. When you are making that decision then you can make the appropriate decision on that.16:10 – Panel: I remember in the prior years when the Rails community grew their own people and you were a RAILS person; now it’s you’re a WEB person. 17:43 – Panel: In a lot of cases it’s good to see what’s out there and to see what’s new; especially early on if they end up being ahead of their time. Then you are an early pioneer in that area. There’s nothing wrong with that, but when you are introducing new things into your core you are running into unforeseeable risks. I am not an early adapter of React, but I know enough of the pros and cons of the framework.19:48 – Panel: I like that. Maybe I “should” adapt that framework and maybe I am not the right person to do so.21:06 – Chuck: Dave brought us to a new topic and that’s: being an early adapter. Some people want a name, some people want to invent stuff and so many more reasons “why.” I don’t want to “poo poo” the idea but you need to know WHY.21:48 – Panel: The cost of developers is A LOT. I just think if I was building a house and I had that expense then I better get a really nice house out of it. I want to do a good job and that’s important. On the business – side they have to rely on us and decisions that are in the best interest for everyone.22:50 – https://www.freshbooks.com/?ref=10400&sscid=c1k2_96qpg&utm_campaign=87321&utm_medium=affiliate&utm_source=sas 23:53 – Chuck: So what do you guys think about: what’s coming? Do you feel like things are going to move away from frontend frameworks? Will there be a large adoption curve?24:30 – Panel: If we are talking about the space of Ruby on Rails then you want it to be maintainable. You don’t want to steer too far away from its core.28:11 – Panel: Good I like that. There are great tools that we are getting through Google, Facebook and they have great tools for these apps. They are looking for the 1-person startup very much like Basecamp. It’s all possible that we are holding onto these technologies that are great but does it fit ME. Do I want to maintain things? Do I want to make this more complicated? Especially if I really don’t fit into what I’m trying to do.29:13 – Panel: Yeah some people in the DOT NET world they were really struggling with some modern approaches.30:42 – Panel: One of our listeners texted me b/c we are recording LIVE.Panelist reads off from a listener’s text message that uses a quote. 31:16 – Panel: When I started Ruby it was a PHP project and I couldn’t get there. I didn’t have enough bandwidth. It was easy for me to build the RAILS way.32:02 – Chuck: I was introduced to PHP in college, early 2000’s. I really enjoyed it and I was fairly productive and then I found Rails.32:27 – Panelist talks about PHP, flash frontend, and more. 34:42 – Chuck: Could and will something come along that will affect the way we write code?34:56 – Panel: Yes, b/c I think technology is sustainable for a certain amount of time before things start to change again. Look at the iPhones and the Android phones.38:26 – Panel: I think it takes time to do something well.Panelist talks about Rails, Ruby, data, and more!40:25 – Panel: It’s interesting b/c the tradeoff used to be much bigger. The bandwidth is better, the screens are better, the way we do things are better. There is much of a tradeoff. That’s how people are interacting with our business and our products. I tend to write these flowery articles that I don’t publish. There was something in the air and in the mid-2000’s we were launching Netflix, and all of these things were happening at that time. A lot is happening now but it’s different now. Where are we going? Where would I be happy to work? If we can get on the phone and inside of our data and it just adds more value. It’s not an easy answer to “Where are we going?” but it’s good to talk about it b/c people might be afraid to ask and to answer.43:13 – Chuck: Anything else or picks?43:19 – Panel: We are saying today: we aren’t trying to break-out of this bubble, but we are saying: let’s get closer to the user and there is so much opportunity in THIS space!!44:10 – Panel: The technology is tapped-out right now.44:50 – https://devchat.tv/get-a-coder-job/ End – https://www.cachefly.com Links:
- https://devchat.tv/get-a-coder-job/
- http://thedevrev.com
- https://angular.io
- https://devchat.tv
- https://www.ruby-lang.org/en/
- https://elixir-lang.org
- https://rubyonrails.org
- https://angular.io
- https://www.cypress.io
- https://vuejs.org
- https://reactjs.org
- https://jestjs.io
- https://mochajs.org
- https://www.amazon.com/gp/product/1937226972/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1
- https://www.habitsforhackers.com
- https://www.homedepot.com/p/DEWALT-20-Volt-MAX-XR-Lithium-Ion-Cordless-1-2-in-Brushless-Compact-Drill-Driver-Kit-with-2-Batteries-2Ah-Charger-and-Case-DCD791D2/206523964
-
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Panel:
Panel:
Panel:
- Dave Kimura
- Eric Berry
- Charles Max Wood
- Nate Hopkins
Special Guest: http://pecavalheiro.com In this episode of Ruby Rogues, the panelists talk with http://pecavalheiro.com who is from Brazil, but currently resides in Hamburg, Germany where he works at Xing. He is a software engineer, an actor, and has been working with the web since 2010. He has worked mostly with Ruby and PHP languages, and since 2015 has worked full-time with Ruby on Rails. The panelists and Pedro talk about his background and his article. Check it out!Show Topics:0:00 – Advertisement: https://sentry.io/welcome/ 1:04 – Chuck: Hi! Panel is Eric, Dave, Nate, myself – and our special guest is https://github.com/pecavalheiro Please introduce yourself! Is that Spanish or Portuguese?Chuck: P.S. – The http://thedevrev.com is my new show and check it!1:57 – https://github.com/pecavalheiro: My name means gentleman! Here at your service.2:05 – Guest: I am a developer and worked with web technologies for 10 years. I do some DevOps stuff and working with Ruby. I just moved to Hamburg, Germany with the same company.3:02 – Chuck: How do you make that decision?3:07 – Guest: There is no magical answer. It depends on your needs and what time you have? At the time when I wrote that article I worked with a small startup company. For us, we used https://www.heroku.com at the time.4:09 – Guest: Current company is bigger and 500 developers. We have different ops teams and they have their own infrastructure and tools. They have more money, time, and people. For what they need it needs to be more scalable. It depends on the company and the requirements and your resources.5:00 – Panel: I need to preface first: I love hosted solutions, but at the same time there is a hidden cost set that people don’t think about.6:16 – Guest: If you compare your own infrastructure vs. cloud platform they will think that it is cheaper than having a hosted solution.7:28 – Chuck: Yeah, that’s a discussion that I find that I have with myself and with my own company. It makes a ton of sense to have some system setup and it’s something that I am managing.8:05 – Panelists talks about AWS and AMI. 9:06 – Guest.9:21 – Panel: Can you talk about the https://speakerdeck.com/pecavalheiro/creating-a-heroku-like-deployment-solution-with-docker you wrote? Why did you write it? Give us some context into the https://speakerdeck.com/pecavalheiro/creating-a-heroku-like-deployment-solution-with-docker and where are we now?9:48 – Guest talks in-detail about his https://speakerdeck.com/pecavalheiro/creating-a-heroku-like-deployment-solution-with-docker and where he was in life when he wrote this https://speakerdeck.com/pecavalheiro/creating-a-heroku-like-deployment-solution-with-docker 14:10 – Panel: How much time did you invest into that?14:16 – Guest: Less than a week; maybe 3-4 days for the whole process. Writing the article took about 2 days.14:50 – Chuck talks about Docker, Azure, Dokku among other things. Question: Where do you look at all of these different things, and how do evaluate?16:02 – Guest: I am a huge https://www.heroku.com fan, and I would suggest people to use it. It’s brilliant. The company I work today it could be expensive to use b/c it’s a heavy load application and it won’t work. As for me (personal projects) I will play around these different tools.19:02 – Panel: It’s easy to get up and running of https://www.heroku.com I think it’s similar to https://kubernetes.io 20:00 – Guest: I agree with that.The guest shares a story that relates to this topic. 21:45 – Panel: If you are using self-hosted...put some security on your application. Even if it’s just a demo you are protecting your environment.22:17 – Chuck: Where do you guys come down on making these types of decisions?22:30 – Panel: I see it as an investment; especially if your development team is small. Eventually, it will scale but in the early days of a project it is a legit choice to use https://www.heroku.com or https://beanstalkapp.comhttps://codefund.io is still on https://www.heroku.com Right now it’s solving those problems for us.23:45 – Chuck: Look at everything that we are all running. What do you guys recommend?24:19 – Panel: I use https://docs.aws.amazon.com/s3/index.html#lang/en_us, elastic search, among other things.25:56 – Guest: I have a similar story. I had some friends who were spending more than $2,000 a month on Heroku. We tried to find how to reduce the amount of money. We removed the application from the Heroku and put it inside a local machine (probably $800 computer) that runs 24/7 and the only expenses were Internet ($50.00 / month) and 1 SSD ($100) and 1 micro-server through Amazon. Now it works and we were spending over 200x the amount that we needed to. In this example it wasn’t a critical system. In this case self-host was far better and cheaper, so it really depends on your case.28:08 – Panel: Yeah, sometimes the old school and simple solutions are it.28:26 – Chuck: I have a virtual machine/servers on Digital Ocean, and I cap deploy. I will login in every-now-and-then, but that’s it.28:50 – Panel adds in his comments to this topic. 29:17 – Guest: Sometimes these old school solutions tend to be slower, but it depends on what you need for that situation.29:50 – Chuck: David Brady called that his “Time to Twitter.”30:04 – https://www.freshbooks.com/?adgroupid=51893696397&campaignid=717543354&crid=285105591548&dv=c&gclid=EAIaIQobChMI58PY5t3w3gIVCSlpCh0PLQZpEAAYASAAEgJpEvD_BwE&gclsrc=aw.ds&ntwk=g&ref=ppc-fb&source=GOOGLE&targetid=kwd-298507762065 31:10 – Chuck: Can you talk about your discussion about this, please?31:23 – Guest: I wrote this article, and it was translated into a few different languages. In the talk that I gave, I talked about my article. It’s funny b/c I wasn’t expecting all of this attention.33:33 – Guest: I was nervous when I gave the talk so I don’t think it was that good. (Laughs.)33:50 – Guest: We are human beings and we are always making mistakes, which is okay.36:55 – Chuck: Yeah I run into that, too. Especially when running the podcast.37:14 – Guest: That’s apart of the game right? We like to play with new technologies and if it weren’t for experimenting with new stuff our whole industry wouldn’t be as fun. We have the freedom to test, and we get to break tings and not get fired. That’s apart of our jobs.37:51 – Panel: That’s a good point. A service like beanstalk or Heroku it’s easy to push your app out into the world. But when you dig in deeper, I think that knowledge really starts to seep in and you get to be a better developer.38:27 – Chuck comments on this topic. 39:12 – Panel: To Pedro’s point...39:42 – Guest: Yes, we work as a frontend or backend developer or a system administrator, but we need to understand the infrastructure. I want to know and when I know more then my work as a backend developer will improve and communicate with the system. That people know how to use Ruby on Rails and they get used to it but forget about database behind that, and...where you can write your own inquires. They think it’s not their job, but it IS their job.41:17 – Chuck: To take that step one step further.Chuck talks about performance issues, codes, and more.41:48 – Chuck: I want to try out Dokku!42:00 – Guest comments.43:53 – Chuck: Let’s do Picks!44:00 – https://devchat.tv/get-a-coder-job/ End – https://www.cachefly.com Links:
- https://devchat.tv/get-a-coder-job/
- https://www.ruby-lang.org/en/
- https://rubyonrails.org
- https://angular.io
- https://reactjs.org
- https://facebook.github.io/react-native/
- https://www.docker.com
- https://kubernetes.io
- https://www.heroku.com
- https://beanstalkapp.com
-
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Panel:
Panel:
Panel:
- Dave Kimura
- Charles Max Wood
- David Richards
Special Guest: https://www.mayerdan.com In this episode of Ruby Rogues, the panel talks with https://twitter.com/danmayer?lang=en who believes that small distributed software teams can make a large impact. Dan loves Ruby, distributed systems, OSS, and making development easier. The panel and Dan talk about performance and benchmarking. Check out today’s episode to learn more!Show Topics:0:00 – https://sentry.io/welcome/ 1:07 – Chuck: Our panel is Dave, David, myself, and our guest is https://twitter.com/danmayer?lang=en. Say “Hi”!1:24 – Chuck: Give a brief introduction, please.1:32 – Dan gives his background and what he currently is working on. 1:53 – Chuck: We wanted to talk to you about benchmarking and performance. Tell us how you got into this?2:28 – Dan: It has been an interesting timeline for me. About seven years I worked for a large site that had a legacy Rails app. It got a lot of dusty corners over the years and we removed dead code, and removed bugs and confusion for the consumer. We were finding ways to tweak it and not impacting your users. I was using Trace Point but the overhead was quite significant. I moved away from that project but found that I found a need for it, again, a few years later. I actually tried to modify...and basically Eric said “prove that it is slow.” It really wasn’t the type of bottleneck that I was seeing. Since then I am rewriting it. I removed one bottleneck and now...5:00 – Chuck: ...if that number gets smaller then Ruby is doing well. Is it really that simple? How do you benchmark?5:15 – Dan answers the question. 6:40 – Panel: How do you benchmark things front to back?6:49 – Dan: I look at benchmarking in different layers. You can see the overall impact in the broad range. If you want to see specific things then that’s a little trickier. For Ruby 3x3 he has been working on a Rails Benchmark, and that’s Noah. He has a sample Rails app and...8:09 – Chuck: He is using discourse, and we talked to him on a past episode.8:20 – Dan: My original plan was to insert my gem within that project. However, I ran into a few issues and Noah and I are working on that because of the issues.8:57 – Panel: How does the coverband gem – how does it provide security so you don’t leak out information to in-users?9:12 – Dan answers the question. 9:54 – Panel: Then you can build whatever views you want to trace back that sort of information?10:02 – Dan answers the question. 10:30 – Chuck: Is it running benchmarks against every method you have in your app or what?10:40 – Dan answers question. 11:27 – Panel: I like when I can remove all of the code I feel safe.1:37 – Dan: The gem was driven by the fact that I love to delete code. These old files have been sitting around – they aren’t valid – let’s get rid of them.12:04 – Chuck: This is off topic from benchmarking, but...12:43 – Dan: ...to get that feature at run time it can hurt your performance. 15:20 – Panel: Is there added memory usage?15:27 – Dan: I rewrote the library around coverage and I put it out. It worked well for my company and myself. But people were saying that they got a huge performance hit. I went from needing to sample to capture...the new bottleneck was collecting the data all of the code usage of your gems and...it went from just recording your custom code to all Ruby code. Where it was slowing down was reporting that.I didn’t have any benchmarks to capture that. What I was failing to do was...I can talk about what I did do to help people if you want?17:41 – Chuck: Looking at how much storage is my app using or how much...How can you even begin to isolate it?18:11 – Dan: On all the different types of benchmarking – I know there is a benchmarking memory increase. I haven’t benchmarked that, yet. To get at these different levels, how do we ensure that’s fast? It was a new challenge to me.19:45 – Panel: It sounds like this has become a practice over the years. Is that how you handle it or how do you like to use it?20:07 – Dan: When I started using this benchmarking is because I wanted to solve something. There were several regressions. We’d go back and address it. What I tried doing is put all the benchmarks into the gem.I think back by the Ruby 3x3 goals...21:49 – Panel: What comes to mind is appreciating well-crafted software that really does well – maybe measure what customer output is?22:43 – Dan: What people care about is their application. You can look to see...23:33 – Panel: Automating takes that pressure right off of me and I can do23:47 – Chuck: Recording all the things you want to do. We are talking about this right now you can record some of it in these tests or...24:06 – Dan: I have fixed these performance things in the past. I have more confidence that these things get fixed before they get released. Having that methodology helps a lot.24:43 – https://www.jetbrains.com/ruby/ 25:10 – Panel: I think it’s good to see WHERE your application is getting used the most. To see where you have the MOST code usage.26:20 – Dan: That’s a good story on back on regressions on benchmarking or performances.27:46 – Dan: One thing that I think is interesting – I believe the Rails performance testing has gone blank essentially. There are good articles but in the Rails 5 the guides no longer have any information. There is so much talk about performance and benchmarking but things have gotten lost, too.28:28 – Panel: It’s interesting how we get into x, y, and z. We tend to figure it out and some guys focus on the next thing and the next.29:24 – Dan: The fads of the things that go in-and-out. It’s definitely coming back: the performance in the Ruby world. My theory is that the tools have gotten that much better and people are doing less. They have offloaded a lot of things for people. It shows, though, it doesn’t do everything.30:19 – Panel: I think that’s valuable, too.The WHOLE package – this is how we deliver, and these are the tools and the toolkits. I miss Ruby every time that I have to step away b/c I have to use something else.31:17 – Dan: It sounds COOL to use Elixir and whatnot, but I just can’t get into it as much as when I use Ruby. When I try to branch out to use another language it isn’t the same.31:47 – Panel: When the pressure is high I use Ruby so that’s where my heart is.31:58 – Dan: It falls a little short, sometimes, it’s an easy thing that people say: it’s so slow. It’s one of those that we’d like to have a better answer. Is it something that people have thought of as a continual thing or...?32:47 – Chuck: It’s generally to resolve an issue here or there.32:57 – Panel.33:07 – Chuck: When I do use the benchmarks I have added in my test suite a trip wire that validates that it’s under a certain point.33:37 – Panel: If I did that my tests would never pass.33:45 – Chuck.33:49 – Dan: How can you do that reliably where you get the value but you don’t have a bunch of false failures? A person has to do it to see if it is faster/slower.34:26 – Panel: For my applications – usually they are slow not b/c of Ruby but b/c of a poor architectural decision we have made.Every situation you can go and weight it to see what is best. Ultimately they are the ones that are brining in money into your business.35:27 – Chuck: When I add things into my test suites is b/c there was some major performance hiccup where it ruins the user’s flow.35:55 – Dan: The way you benchmark it...Benchmarking a gem or a library it’s how can it impact other people’s apps.And the Ruby 3x3 is proving that it’s faster – what does that mean – and I think Noah has done some great work on.36:30 – Dan: The last thing I want to mention is Julia’s work on that is what got me back into coverband. I was thinking I would use a different version of coverband that would use RBSPY.37:37 – Chuck: Yeah, that was a great episode.37:44 – Dan: I want to play with it some more. I guess I would have to know more in https://www.rust-lang.org/en-US/ though.37:57 – Chuck: Anything that you are working on within this space?38:04 – Dan: There have been 4-5 current people in coverband and we have added a bunch of new benchmarks and they are 60% faster. I am trying to work on getting a simpler version out there. Hopefully it will be live soon after getting rid of the bugs.39:05 – Chuck: How can people find you?39:10 – Dan: My blog, Twitter, and GitHub!39:22 – Chuck: M-A-Y-E-R.39:36 – Picks!39:40 – https://www.freshbooks.com End – https://www.cachefly.com Links:
- https://devchat.tv/get-a-coder-job/
- https://www.ruby-lang.org/en/
- https://www.rust-lang.org/en-US/
- http://www.rubymotion.com
- https://rubyonrails.org
- https://angular.io
- https://github.com/evanphx/benchmark-ips
- https://github.com/rbspy/rbspy
-
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Panel:
- Dave Kimura
- Charles Max Wood
- David Richards
Special Guest: https://twitter.com/gsamokovarov?lang=en In this episode of Ruby Rogues, the panel talks with https://twitter.com/gsamokovarov?lang=en who is a software developer and loves using Ruby. Genadi also likes dance music. You can check out his code at https://github.com/gsamokovarov and his mixes on https://soundcloud.com/gsamokovarov Finally, he blogs about technology that he cares about. Check-out his post about a curious Proc.new case in Ruby. If you are interested in his work experience, check out his resume http://gsamokovarov.com/resume/. Send Genadi an email or follow his https://twitter.com/gsamokovarov Show Topics:0:00 – https://sentry.io/welcome/ 1:30 – Chuck: Introduce yourself please.1:39 – The guest talks about his background and the company he works for. 2:03 – Chuck: Did you build the web console or something else?2:05 – Guest.3:20 – Chuck: How do you run Ruby on the web console?3:40 – Guest answers Chuck’s question.4:13 – Chuck: The other question is about security concerns – you don’t want to run in production?4:25 – Guest: No, you don’t want to do that. 4:31 – Chuck: Use at home - don’t use it on your work server.5:15 – Panel: It’s one of those features that people overlook on Rails. You have to proactively add in a pack to launch in a web console in that particular view. A lot of times people will either throw away rays (ERB) and they are able to get the same thing but you can interact with the page w/o full rendering of the application.What I just mentioned what does a web console has a space for?6:18 – Guest.7:23 – Panel: What would happen – if I put a debugging code in my application and it got committed and shipped – what would happen?7:46 – Guest answers.8:24 – Chuck: When you deploy a production I don’t even know what this tag is?8:33 – Guest.9:10 – Chuck: Can I run it on http://sinatrarb.com...or the other ones?9:20 – Guest: If you make a bit of effort...9:42 – Chuck: How does it pass things to the backend?9:52 – Guest.11:22 – Chuck: Let’s say you set this up and you would include the gem in the Rails app – I guess it comes by default.11:36 – Guest.11:58 – Panel: And if you want to embed it in a view in Rails?12:05 – Guest.12:06 – Chuck: That’s nice.12:08 – Guest.12:43 – Panel: I would think that would be the most exciting things. I know the views and how it’s included there is a little bit of a black box for me. I don’t know quite what is going on and that’s after many years of use. Being able to open the web console and see what’s going on and see what I was thinking. Sometimes when I have hard times with my code it’s because I didn’t understand the Rails way and how they organize things. So for me to take a look it dawns on me.13:33 – Guest.13:41 – Panel: I learned Rails on a laptop. I went to terminal mode only and I learned it really, really well.14:21 – Guest.14:27 – Panel: Can web console do a separate JavaScript app and then you have a Ruby API backend – can you use console any plugin to integrate with that?15:00 – Guest.16:20 – Panel: That’s really cool, and good note. When people are developing a gem they keep one type of Ruby or whatever. They don’t take into account that Ruby or the MRI or whatever they are using it’s cool that you are proactive keeping into account the different interpreters and it works across the platform.16:56 – Guest: It’s a tricky business.18:39 – Panel: So is this under active development or...?18:45 – Guest.18:53 – Chuck: What was the hardest part to put this together?19:00 – Guest: Getting it to work!19:09 – Chuck: Nope...just getting it to work.19:15 – Guest.20:43 – Panel: That’s something where I have been in situations where it has given back the Rails spec trace. Not the actual application – I have no idea how to debug it. Then I dig in deeper and find it’s in my application part. It is important to have that.21:13 – Guest.21:51 – https://devchat.tv/get-a-coder-job/ 22:15 – Chuck: Anything else or should we talk about the conference for a minute?22:30 – Guest.24:09 – Panel: So you are getting these conferences going – is there a healthy/strong Ruby following in Bulgaria, generally?24:25 – Guest: We do Meetups. It’s pretty active and a healthy community. It’s not as strong as the States, but it’s strong.25:26 – Panel: Nice. I find that it’s interesting – I was around with Ruby in 2004, and people have been using Ruby for a while and Rails was new. It’s fun to build an organization around that and empower people to do great things. It’s great to do work that are learning Ruby.26:08 – Guest.26:25 – Panel: So that’s one of my coworkers and got him using VS code and show people the light to make the switch.26:50 – Chuck: I’ve already switched.27:01 – Panel: We like our tools.27:17 – Guest: I guess my people like VS code b/c it’s easier to maintain.27:35 – Panel: Maybe my mind is so feeble-minded.27:45 – Chuck: I turned on the EMAX for along time and turned on my EMAX in my KS code. I get the nice extras. I don’t feel like there are 10 zillion things to worry about.28:12 – Guest.28:21 – Panel: I think the key is the expressiveness – get it the ways I want28:38 – Chuck: I just want to think of the fact that I am using code – and that’s a good thing.28:54 – Guest.29:04 – Panel: How many attendees did you have?29:08 – Guest.29:22 – Chuck: The conferences that I like to attend that have an attendance of 150, I like b/c it’s intimate. The larger conferences I feel lost in the crowd. It’s just different for me.30:17 – Panel: It makes it easy to break into groups if the conference is small.30:30 – Panel: There are so many things that the experts can teach and show to the beginners. They could teach me something that I didn’t know. It’s powerful b/c you’re talking about projects and get to know each other.31:39 – Guest.32:16 – Panel: One thing I like is that the attendees make a Slack channel, and the speaker can address that during the talk. Sometimes they get answered, but just in case.32:40 – Chuck: Anything you’re working on now?32:43 – Guest.32:52 – Panel: Nice.33:00 – Guest.33:37 – Chuck: How can people find out about these different conferences?33:50 – Guest: We have a Twitter account.33:04 – Chuck: Let’s go to picks!34:12 – https://www.freshbooks.com 41:31 – https://www.cachefly.com Links:
- https://devchat.tv/get-a-coder-job/
- https://www.ruby-lang.org/en/
- http://www.rubymotion.com
- https://rubyonrails.org
- https://angular.io
- https://bugs.ruby-lang.org/users/7585
- https://libraries.io/github/gsamokovarov
- https://balkanruby.com
- http://partialconf.com
- https://www.chaosgroup.com
- https://twitter.com/gsamokovarov?lang=en
- https://github.com/gsamokovarov
- http://gsamokovarov.com
Sponsors:
- https://sentry.io/welcome/
- https://devchat.tv/get-a-coder-job/
- https://www.freshbooks.com
- Cache Fly
Picks:David
- https://www.amazon.com/Creative-Quest-Questlove/dp/0062670557/ref=tmm_hrd_swatch_0?_encoding=UTF8&colid=VWHQF5V1539U&coliid=I3CCMFYKRBJ3EP&qid=&sr=
- https://www.newyorker.com/magazine/2012/11/12/the-rhythm-in-everything
Dave
- https://www.homedepot.com/p/DEWALT-Clamp-Set-4-Piece-DWHT83196D/205418759
- https://www.youtube.com/watch?v=HJZ9TnKrt7Q
Charles
- https://www.amazon.com/Diabetes-Code-Prevent-Reverse-Naturally-ebook/dp/B0795BLS8D/ref=sr_1_1?ie=UTF8&keywords=the+diabetes+code&qid=1540669361&s=books&sr=1-1
- Keto Diet
-
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Panel:
Panel:
- https://www.linkedin.com/in/kobaltz
- Eric Berry
Special Guest: Sam AaronIn this episode of Ruby Rogues, the panel talks with Sam Aaron who is the creator of https://github.com/samaaron/sonic-pi/graphs/contributors, which is the main topic that he and the panel talk about today. Sam is a computer scientist who has his Ph.D., and uses the Ruby language. He is also a programmer, educator, live coding musician, and father.Show Topics:1:25 – Panelist: Tell us what you are doing?1:27 – Sam: Good question. I do a lot of different things and I try to challenge programming and take it a newHow can I be the most expressive person with code? I have written things to write music with code.2:00 – Code is just a medium like dancing and writing. You can write to write code but as to write poetry.2:33 – Tell us about Sonic Pi – the project you have developed to generate music from code.2:42 – Sam: It’s a very simple program. It’s an app that you can run on Mac or Windows and others. It was written as a response to the UK opening a new system. How can we get children engaged? And this was my answer to that question.3:37 – Was this developed by a team?3:41 – Sam: Most of it was developed by myself – no real team – but a lot of it was through open source.4:01 – What was the motivation? Why music; why not a drawing library like something visual?4:19 – Sam: Many years ago I had a tragedy in the family. I was struggling mentally with it. One thing that helped me was I picked up a book on a specific language.When I see these visual systems...it can be very daunting and difficult. To me when I use programming tools I thought naturally music.6:14 – Can you talk about the architecture of https://github.com/samaaron/sonic-pi/graphs/contributors?6:50 – Guest: https://github.com/samaaron/sonic-pi/graphs/contributors came purely from response and had a small amount of money to spend – teaching kids how to code. I wanted to get this overtone.I used to be a Ruby programmer. The original core was taken from these overtones. And the way it works is that you have a simple server, Ruby server, and...Three separate processes all talking over the network.9:08 – I want to give the listeners an idea of what this sounds like – it’s pretty amazing.Here is a sound that is 4 lines of code in Ruby. Can you tell us what is going in to make that sound work?9:37 – Sam: The bottom layer is...the different waveforms for that sound clip. There is a mathematician who figured out...Sam talks about how sound works and how Sonic Pi works. 12:24 – Sam: The way to record a sound and the way to...12:35 – Acid Walk – let’s take a listen.12:50 – That is purely very intricate – that was about 60-80 lines.13:00 –Sam: The bass line was...and the ticking sound was how long to wait again. It sounds complicated but take notes from a scale (different color palettes of notes) – notes you pick from. It will create the melody randomly for you. Adding some distortions and reverbs, etc.14:03 – I am not musically inclined. So when I think of Raspberry Pi – why did you choose Ruby and not Python for developing the Sonic Pi engine?14:27 – Sam: Your statement – “You are not musically inclined,” bothers me. We can all wave our arms around and dance. Having that mind thought is a barrier to your well-being. There was an interview with a lady over 100 years old. Any regrets? When I was 80 – I could have been playing for 20 years!15:43 – Sam: My contract was about to expire and then was the same year that Raspberry Pi released and had staggering success. They didn’t necessarily have...Every week I went into the classroom with a different version.Actually there are different pros and cons in an educational context.19:00 – Looking at the Sonic Pi in https://www.ruby-lang.org/en/ but also some https://www.erlang.org in there?19:15 – Sam: I talked earlier about the three components. Sam talks in-detail about Ruby and why he also used some https://www.erlang.org. 22:30 – Sam: https://www.erlang.org has a beautiful design and there is no garbage collector. It was the right architecture. I thought – how am I going to sit down and learn Erlang? Well you just make friends. Another program we used that takes these messages and...23:40 – Have you had any requests to make this an ONLINE application?23:50 – Sam: I have been thinking about this for some time. The web audio isn’t super solid. You would have to have a really decent invitation in web audio that is rock solid. The music applications still don’t use the web because it isn’t there quite, yet.25:35 – Advertisement – https://devchat.tv/get-a-coder-job/ 26:16 – Can you talk about the inspiration to the DSL that you are using on Sonic Pi? Why create your own DSL?26:31 – Sam: Sure! Your syntax is a data structure, which...28:28 – You have been using this since 2013?28:41 – Sam: Yes I do the majority of the work. It is an open source project and a core team of developers who are the core contributors. People own their work that they have done. It’s a powerful team. There are visual contributions among many different ways. I have done the crappy jobs.29:51 – You have put so much time into this? Are you getting paid for this?30:05 – Sam: I am extremely fortunate to be getting paid for this. It’s being funded by various sources. These people allowed me the freedom to create Sonic Pi the way that I wanted to build it. The Pi Top they provided some funding, among other donors and such. I have a patron page that is growing. I am doing more keynotes and conferences. This was designed to help students learn how to code. I do look for contributors. The language is there but we need the tools.32:46 – I run a company called CodeFund to bring money to open source. There are different ways that people can generate funds for projects. There are organizations that are helping us to make our projects sustainable.33:22 – Sam comments.Sam: I am trying to find ways to be sustainable, so I can be comfortable.33:53 – Where can people go to donate?34:02 – Go to SonicPi.net. Don’t donate if you don’t like it. If it makes you smile then please donate. You can join and donate.34:43 – Sam: When you have funding it can be removed in one sweep.35:19 – You have an https://in-thread.sonic-pi.net?35:20 – Yes! Programming music communities are great. Yes, we have musicians in there and coders in there.36:33 – People can post their music – they aren’t posting music they are posting code.36:47 – Sam: Yes! If you can represent your music in some weird syntax, that can be stored somewhere like dots and lines (like Western music notation) then that’s great.It’s not just what the trumpet and the violin should play but what studio effects we should add. Even if you are using multiple threads those tings are always resolved. I can take my new code and hear the exact same things that I’ve heard. When you go to see performances and see live coding performance.39:50 – Panelist comments.What does the future look like for Sonic Pi?40:02 – Sam: It’s a business problem more than a technical problem. I am working on accessibility. I am making sure that this and that works well, and navigation to work with. Also, collaboration, too; the ability to share and contribute their compositions in one place. Can we get children from Africa to write pieces with children from Finland?41:57 – Anything else that we should know about Sonic Pi?42:08 – Sam: It really depends. What’s important to realize that this whole coding /music thing is a really new thing. When you see a guitar it’s had thousands of years to evolve. What we have right now is really exciting. We should see this as new musical instruments. Its’ really tough to hear people say, “code cannot make music.” Also, not to have any pre-conceived ideas, and to share their work with others. We aren’t professional musicians and just to explore, experiment, and play. People might be too reluctant to share because they are comparing it to music that they adore.44:56 – Panelist: https://gist.github.com/xavriley/87ef7548039d1ee301bb 46:12 – Intro and outro for podcasts.46:37 – How can we find these?46:42 – Sam: I tweet these. A few years ago I got into Rolling Stone magazine. Download an opera and download a rock song.48:49 – https://www.freshbooks.com Links:
- https://devchat.tv/get-a-coder-job/
- https://www.erlang.org
- https://www.ruby-lang.org/en/
- http://www.rubymotion.com
- https://rubyonrails.org
- https://sonic-pi.net
- https://github.com/samaaron/sonic-pi/graphs/contributors
-
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Panel:
- https://twitter.com/cmaxw?lang=en
- https://www.linkedin.com/in/kobaltz
- David Richards
Special Guests: Julia EvansIn this episode of Ruby Rogues, the panel talks with Julia Evans who is a software engineer at Stripe and lives in Montreal, Quebec, Canada. The panel talks with Julia about her tool Ruby Spy among other topics. Check it out!Show Topics:1:34 – Julia gives her background.1:52 – Chuck: You’ve been on the show before. Listeners, go check it out!2:30 – What is Ruby Spy?2:09 – Julia: I wanted to know WHY my computer was doing what it was doing. I felt that it was my right, so I wrote that program.3:20 – Julia: This does have these profiling tools in Java. I thought it was unfair that Java had better tools than Ruby. I figured Ruby should have it, too.3:44 – Chuck talks about tools and Ruby Spy.4:05 – Julia recommends it.Julia: You had to install the gem in order to use it.4:30 – Chuck: some people say that it has affected their performance.4:42 – Julia: Ruby Spy is a separate process.Julia continues this conversation and goes in-depth of what Ruby Spy is, etc.5:27 – When would you use something like this, and what kind of data would get you back to debug the slow points.5:43 – Julia: When you run Ruby Spy it will...6:20 – Chuck: Does it give you method names?6:25 – Julia: Yes, 20% in this method or...6:37 – I can see how that would be helpful on certain aspects. Being able to narrow down the 1,000 methods where you cab get your biggest bang for your buck.7:05 – Julia comments.7:35 – Chuck: I know people pay for Relic...7:56 – Chuck: When it tells you which method is taking a long time, will it look at the stack and THIS method is insufficient b/c this other method is insufficient? How does it do that?8:35 – Julia answers the questions.8:58 – Chuck: I’d imagine that it could keep anything in memory. Did you have to do a bunch of work where THAT means THAT?9:20 – Julia answers.Julia: The differences weren’t that big between the different versions.9:54 – Julia goes through the different ways the versions are different.11:56 – Panelist asks a question.Is this meant for Ruby Scripts?12:10 – Julia: It doesn’t care – as long as you are using the Ruby Interpreter.12:25 – Chuck: Sometimes my performance issues is Ruby, and sometimes it’s the database. For Ruby it will sit there and wait for IO. Is that a blind spot that you will have in Ruby Spy?12:54 – Julia: Great question. There are 2 ways to do profiling.Julia explains these two ways. 13:54 – Wall Clock Time.14:04 – Chuck: Your computer has a speed and however long it takes to run one cycle. It is similar, but...14:26 – I guess as long as it’s relative – I was looking at these graphs you wrote.14:51 – Julia.14:56 – Panelist: That has been my issue. Changing context into a profiler...15:27 – Julia.15:38 – Chuck: Do you have to run it through something...?15:49 – Julia.15:53 – Chuck: Is that the most effective way to look at the data through Ruby Spy?16:07 – Julia: I twill show you the output as it is profiling. 2 visualizations: flame graph and...16:45 – Chuck.16:49 – Julia: It is the only visualization that I know of.17:00 – Chuck: I don’t know.17:05 – Julia: You have spent this amount of % to...How much time was spent in this function or that function?I feel that the flame graph is much more helpful than a list of percentages.17:33 – Chuck: What are you looking at in the flame graph?17:37 – Guest: Basically what time was spent in that function. You look at what is big, and then you figure out if that is something to optimize or not. You go to the docs and...18:36 – Jackal.18:40 – Main problem that I would run into is the information OVERLOAD.Now you have the action controllers and all these other components that aren’t normally visual.Panelist asks a question to Julia.19:29 – Julia: It does give you everything. If you have a real serious problem often the answer will really jump out at you. What I would say – if something is really slow it is right there.20:08 – Chuck: You will see the name of the method?20:15 – Chuck: Any other information it will give you?20:22 – Julia: The line number.20:28 – Chuck asks another question.20:41 – Chuck: Success stories?20:45 – Julia: Yes, I do. GitHub – success stories.Julia gives us one of her success stories. This user said that it helped them by 30%.21:28 – I can’t imagine using a Rail app that is over 10 years old. So much as changed! A lot of the documentation would be harder to find.22:00 – Julia gives another example of a success story.22:10 – When it goes to production – my brain turns off and get jittery. Figure out what happens in production and I wouldn’t want to guess for an app that couldn’t be down. This is what is happening right here and right now.22:46 – Chuck: How do they get it out into production...22:57 – Julia: Through GitHub that you can download. If you are on a Mac and your developing you can do it through Home Brew.23:17 – Chuck and Julia go back and forth.23:27 – Panelist: You don’t need to have it all the time, but a good tool.23:44 – Julia: I want people to use it but not all the time; only when they need it.23:58 – Panelist: I think on a lot of these scripts...Rails Panel – Panelist mentions this. 25:02 – Panelist asks her a question.25:12 – Pie Spy is something else that someone wrote.25:28 – Julia: Ruby Spy came first, and Pie Spy is inspired Ruby Spy. He did a good job building that.25:50 – Advertisement – Code Badges26:35 – People still use PHP?26:42 – Julia: Yep!26:47 – Chuck talks about his neighbor and how he raves about this feature or that feature.27:07 – In PHP’s defense it has come a long way. I think they are at version 7 or version 8. Sounds like they did a lot of new things with the language.27:31 – Julia: Instead of that or this language is better – what TOOLS can we use? I hear Ruby users make fun of Java, but Java has great tools. What can we learn from that language rather than bashing the other languages?28:13 – Chuck chimes-in.Dot.net.28:58 – Chuck: Let’s talk about that with the opensource.29:09 – Julia talks about the opensource project.30:30 – Julia: I asked my manager at Stripe to do this sabbatical in advance. I worked on it for 3 months. I got a check from Segment.31:05 – Panelist adds in his comments and asks a question.31:26 – Julia never used it.31:32 – I have done a lot with Ruby Motion in the past. I am curious how that would work with Ruby Spy?32:18 – IOS is pretty locked down, so I don’t think that would fly.32:36 – Chuck talks about Ruby Motion and how he thinks Ruby Spy would / wouldn’t fit.32:56 – What is funny about that, Chuck, is that you can ALT click...34:07 – Chuck mentions another app.34:17 – Julia.34:40 – Chuck.35:03 – Chuck: What else are you doing with Ruby Spy that is new?35:05 – Julia: Not much.It’s fun to see people come in to make contributions.35:33 – Panelist: Here is a suggestion, some kind of web server that you could...35:57 – Great idea.36:04 – Chuck: It wouldn’t be hard to embed it.36:12 – Julia: Sharing it between...so we don’t have to build the same thing twice.36:33 – Chuck and Julia go back-and-forth about Ruby Spy and Pie Spy,37:23 – Julia: Pearl was my first language, and I still love it.37:32 – Chuck: I guess I can’t knock it because I really haven’t tried it.37:48 – Ruby was inspired by Pearl so there’s that.37:57 – Chuck: How do people start using your tool? What is your advice?38:01 – Julia: Yeah just try it and see. Install it through Home Brew if you have a Mac.38:25 – Chuck: Picks!38:32 – Advertisement – Get a Coder Job.39:07 – Picks!Links:
- https://devchat.tv/get-a-coder-job/
- http://www.rubymotion.com
- https://rubyonrails.org
- https://github.com/tmm1/stackprof
- https://rbspy.github.io
- https://github.com/dejan/rails_panel
- https://twitter.com/b0rk
- https://jvns.ca
- https://github.com/jvns
- https://www.linkedin.com/in/jvans/?originalSubdomain=ca
Sponsors:
- https://sentry.io/welcome/
- https://www.digitalocean.com/
- https://devchat.tv/get-a-coder-job/
Picks:Dave
- https://www.amazon.com/Larin-RBV-5-5-Multi-Function-Vise/dp/B00EQ4ZUYW
- https://www.hisense-usa.com/appliances/refrigerators-freezers/fe703
Charles
- https://phoenixframework.org/
- https://vuejs.org/
- https://devchat.tv/views-on-vue/
- Side Projects
-
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Panel:
In this episode of Ruby Rogues, the panel talks amongst themselves the topic: “When to Build, or When to Buy.” They discuss how time is limited, and whether it is worth their time to build their own app/software or to just purchase. They discuss the pros and cons of each. Check-out today’s episode for more details!Show Topics:1:40 – Chuck: Anything that prompted choosing this topic?2:13 – Dave: I am not a huge stickler of keeping tracks of things. With a new car, I wanted to start this off right. I wanted an app to show history of car. I wanted a simple view and wanted to take pictures of receipts. I didn’t find anything out there that I liked. Do I want to write a web application?3:29 – Dave: I am going to write this app. There is a lot of the new technology, so I can keep up-to-date with real world technologies, with the act of storage. Keeping my skills sharp. Solving a real world need that I have.4:06 – Panelist: Funny thing. That is a decision that has evolved with me. As a younger developer I would build everything that I could. I thought: “I have to own this,” I thought I have to have total control of this. This is for me. I try to buy everything that I can. There is only so much time in the day. Let’s point the question back to Dave. Are you more in the process of creation?5:19: Dave: It fits to my needs. I don’t need something overly complicated. I think we often find situations where there is a justifiable case to build it then to buy it. If you buy it you have little control over the features and other things. What’s important to you is not important to others. So you will have to find a company that will meet your needs.You bring up an interesting topic and that’s data.7:29 – Chuck: You are talking about the level of control. Eric this might sound familiar with sponsorship and so on. Eric said: Dude you are a developer. There is nothing out there that I need so I have to build it. I opt to trying to buy it if I can.8:35 – Panelist: Yes, definitely.By focusing all of my attention on an application that won’t give me an ROI. Leave that other stuff to much smarter than me in that domain.9:24: Panelist: I agree. If it is a core part of your business than, if you are buying, that might be a disadvantage. For example...I used a service called IMPROVLY.12:00 – Chuck: it might not give you the control that you want, but if it can get you most of the way there then it will eventually move up in priority.12:33 – Panelist: Look at utilities that support you, then that’s where MVPs can come into play. One limited, viable product. For example, the app tracker for my cars. I just wanted something simple. Some of the extra bells and whistles can come later.Something like code fund – there is a lot of expected features. There is so much business that goes into it.When I have time to build that stuff in then I will do that later. If it is too feature-rich then they will overwhelm themselves. They try to do everything today. Often that could lead to bad code, things not working properly. You save time by doing it right the first time. I think you have to really gauge what is your MVP? What can I do to make this functional? Then add in the features within the application.15:19 – Panelist: When you decide to build – how much influence past products to drive your development.15:38 – I say a ton, because then you are going to be reinventing the wheel. You OWN interpretation to things is fine. There is only so many ways to build something. See what people want and what they need.16:15 – Panelist: It tends to muddy the developing waters a bit. I like to approach things not knowing what the competitors are doing. Then you aren’t constrained by past examples.I approach it as: How would I want to approach this by an individual so I am not blurred by competitors. 18:05 – Chuck: I build a feature I need and then ask myself: How do I put this together?What I need – I know what the outcomes need to be. At the end of the day I am looking for a model to provide what I need. In both of those cases.18:44 – Panelist: Yes, having a good knowledge of the domain is good.It is more fun to build, right?19:37 – Is it fun to build or is it to integrate? I like integrations better.20:13 – Chuck: I have recently been integrating ZAPIER. 21:12 – Panelist: There are some things I will stay away from. I want to keep things with the specialists. If that means I am paying for the fees to use a third-party.21:56 – Yes, 100%. You have to ask yourself: How lazy are you with X?23:08 – If Twitter goes down then what? Have multiple options. You need to have other ways to authenticate in that area. So that means you have to be developing in...I think that will come down to your business needs. It will help the workflow, and help you make decisions If you are pinning yourself into a corner on time and resources. I think it’s sad that that has to be said. But look at other applications out there that are pinned into corners. People didn’t think of what they would need in the future. I am not saying that my products aren’t exempt form that.25:52 – How do you qualify a good buy? This hits my criteria for the buy.26:06 – If it’s providing a value. Not just this month but the following month – is this going to be worth the value. Mail hosting. This is worth it to me. There is so much hassle that goes into it. Then I have to maintain it. My business is hurting because I am focused somewhere else. I want to be able to answer emails from people. Focusing on the products that I am providing. Do I need to pay someone to support27:35 – Panelist: The speed to integration and the speed to usage. It’s all about the pain. How much pain will there be to build one? Hire the laziest person possible. I pride myself being an extra lazy developer. I can I build the best thing in the least amount of time. Time with my brother in the past has shown me this. Perhaps the type of developer we are determines the answer to that question. I like to get code out the door more than create the code. What about you guys?28:56 – Chuck: I like building it but I LOVE shipping it.29:07 – I like creating it. Shipping part is the “I finished it.” Getting from nothing to something. Shipping is like the celebration for me.29:32 – Digital Ocean Advertisement. 30:10 – It’s not to say that I don’t buy things, cause I do. The amount of software that I buy outweighs the ones I build. My time is limited. I do need control over the data. We were struggling a few years ago financially. I need a thumb drive and we fought on whether or not we could buy that. Finances are intimate details. If that information was stolen, so I built my own we application in my business to hold our finance data records. We wanted complete control over that. I saw that that it was a wise investment of my time. I had insecurities about that information leaked or stolen. Now we have too many thumb drives.32:31 – I bought a thumb drive years ago for it and paid $50-60 for that. Which is insane.32:55- Chuck: Build vs. Buy topic has been covered very well, so far.When you are building, which features to prioritize? Building features – which one to prioritize?33:47 – It would be less impactful to your client base. You have sponsors and signing up for the show. The listeners could be returning guests. But your sponsors are coming on ALL the time. Feature rich platform for them. You want them to enjoy using your product. I think that would be the most important. Having something for your scheduling. It doesn’t have to be feature rich. But34:43 – Chuck: I understand the trade-offs. Anything I can do to make the system automatic then that helps. Some people want some LIVE episodes.That leads the sponsorship into the content production stuff. Beyond telling Eric, my editor, where to put the ads within the episode.36:52 – Panelist chimes in.37:15 – They want the testimonial. The other end to that when we started off we got sponsors because we were novel. We were a different take on Ruby. The market has changed. Things change. Then it was okay well Ruby Rogues was a great way to meet developers. You can do conferences but you reach a lot of people in one week. Some of our sponsors early on - they past their ROI. Podcast market has changed. Some of this feedback has made me rethink things. The market has changed. People want to hear the personal touch and the personal message. They want to hear how these things are being run and how to fix the bugs. Just being aware of the needs and how the needs change. It is easy to get comfortable. Then it turns out jQuery doesn’t always cut the mustard anymore. But maybe it does? If you get comfortable then you will pay for it.39:58 – So true. Like Code Fund.Blog Post: What is Keeping Me Up At Night?41:11 – Chuck: Even their needs have changed. That feedback is crucial. It’s not just about keeping tabs on this stuff. Why are you loosing the publisher? Are you getting the feedback that you need. I am have gotten critiques from Eric and other people. Oh ok, let me change the packing to serve their needs. Kind of roll with the punches.If you aren’t talking back to your customers then there will be issues.42:18 – Panelist: Side topic of how do you receive feedback? Some people there is a small minority that will bash you. They won’t give you constructive feedback. They are being a mean pePanel:
Panel:
- Charles Max Wood
- Dave Kimura
- Eric Berry
Special Guests: Rahul MahaleIn this episode of Ruby Rogues, the panel talks to Rahul Mahale. Rahul is a Senior DevOps Engineer at BigBinary in India. He has also worked with SecureDB Inc., Tiny Owl, Winjit Technologies among others. In addition, he attended the University of Pune. The panel and the guest talk about https://kubernetes.io.Show Topics:1:25 – https://www.teepublic.com/t-shirt/3074500-ruby-rogues?store_id=172938 1:49 – Chuck: Why are you famous?1:57 – Guest’s background.4:35 – Chuck: https://kubernetes.io – Anyone play with this?4:49 – Panelist: Yes. Funny situation, I was working with https://www.heroku.com/languages. https://www.heroku.com/languages is very costly, but great.The story continues...6:13 – Panelist: I was so overwhelmed with how difficult it was to launch a simple website. Now, that being said we were using the https://aws.amazon.com/eks/, which is the https://kubernetes.io. They don’t have nearly as much good tools, but that’s my experience.6:48 – Chuck: I haven’t tried https://kubernetes.io.8:58 – Rahul: I would like to add a few comments. Managing https://kubernetes.io service is not a big deal at the moment, but...11:19 – Panelist: You wouldn’t recommend people using https://kubernetes.io unless they were well versed? What is that term?11:40 – Rahul: Not anyone could use the https://kubernetes.io cluster. Let’s offer that complexity to another company that can handle and mange it.13:02 – The guest continues this conversation.14:02 – Panelist: I didn’t know that https://kubernetes.io needed different nodes.14:28 – Rahul continues this topic.15:05 – What hardware requirements do they need?15:19 – Rahul: Yes, they do need a good system. Good amount of memory. Good network space.15:45 – Panelist asks Rahul a question. 16:30 – Rahul: Let’s answer this into two parts. https://kubernetes.io topic is being discussed in detail. 18:41 – Chuck adds comments and asks a question.18:58 – Rahul talks about companies and programs. Check out this timestamp to hear his thoughts.20:42 – Another company is mentioned added to this conversation.21:55 – Additional companies mentioned: Google, Microsoft, IBM, etc. (Rahul)22:14 – Chuck: It’s interesting how much community plays a role into success stories. Whether or not it’s best technologies it comes down to where there are enough people to help me if I don’t know what to do.22:43 – Rahul: People, even enterprises, are there.23:15 – Chuck: At what point (let’s say I docked my app) should they be looking at https://kubernetes.io? Are you waiting on traffic? How do you make that call?23:56 – Rahul answers the questions.26:29 – Rahul: If your application is...27:13 – https://www.digitalocean.com/ 27:51 – Chuck: How does someone get started with https://kubernetes.io?27:53 – Rahul answers the question.30:00 – Chuck: It sounds like you have an amateur setup – Dave?30:21 – Dave: I think the problem is that there is not a https://kubernetes.io for dummies blog post. There has always been some sort of “gottcha!” As much as these documents say that there are solutions here and there, but you will see that there are networking issues. Once you get that up and running, then there are more issues at hand. The other strange thing is that once everything seems to be working okay, and then I started getting connectivity issues. It’s definitely not an afternoon project. It takes researching and googling. At the end, it takes a direction at large that the community is investing into.32:58 – Chuck makes additional comments.33:21 – Dave adds more comments. Sorry bad joke – Dave.33:40 – Topic – Virtualization.34:32 – Having Swamp is a good idea.34:44 – Rahul adds his comments.36:54 – Panelist talks about virtualization and scaling.37:45 – Rahul adds in comments about the ecosystems.38:21 – Panelist talks about server-less functions. 39:11 – Rahul: Not every application can...40:32 – Panelist: I guess the whole downside to...41:07 – Rahul talks about this.43:03 – Chuck to Eric: Any problems with https://kubernetes.io for you?43:05 – Eric: Yes – just spelling it! For me it feels like you are in a jet with all of these different buttons. There are 2 different types of developers. I am of DevOps-minded. That’s why we are getting solutions, and tools like Heroku to help. When I listen to this conversation, I feel quiet only because you guys are talking about spiders and I’m afraid of spiders.44:44 – Dave to Eric: Having information and knowledge about https://kubernetes.io will help you as a developer. Having some awareness can really help you as a developer.45:43 – Chuck: There are all these options to know about it – they way he is talking about it sounds like it’s the person on the jet. Don’t touch the red button and don’t’ cut the wrong wire! It feels like with software – it’s a beautiful thing – you erase it and reinstall it!46:50 – Dave: What? What are all of these crazy words?! What does this exactly mean? The visibility is definitely not there for someone who is just tinkering with it.47:16 – Rahul: It’s not for someone who is tinkering with it. Definitely.50:02 – Chuck: We have been talking about benefits of https://kubernetes.io – great. What kinds of processes to setup with https://kubernetes.io to make your life easier?50:40 Rahul answers the question.53:54 – Rahul’s Social Media Accounts – check them out under LINKS.54:29 – https://devchat.tv/get-a-coder-job/ Links:
- https://www.teepublic.com/t-shirt/3074500-ruby-rogues?store_id=172938
- https://devchat.tv/get-a-coder-job/
- https://www.ruby-lang.org/en/
- https://www.javascript.com
- http://www.phoenixsoftware.com/ode.htm
- https://www.heroku.com/languages
- https://aws.amazon.com/eks/
- https://kubernetes.io
- https://cloud.google.com/kubernetes-engine/
- https://kubernetes.io/docs/setup/minikube/
- https://azure.microsoft.com/en-us/services/kubernetes-service/
- https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/
- https://github.com/kubernetes-incubator/kubespray
- https://www.docker.com/products/docker-enterprise
- https://rancher.com
- https://www.katacoda.com/courses/kubernetesby Ben Hall
- https://allthingsdevops.bigbinary.com
- http://nanobox.com
- https://cloud66.com
- https://www.chef.io
- https://puppet.com
- https://www.ansible.com
- https://www.saltstack.com
- https://www.orangecomputers.com/node/
- https://slashrahul.in
-
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Panel:
- Charles Max Wood
- Dave Kimura
- Eric Berry
Special Guests: https://jeffkreeftmeijer.com In this episode of Ruby Rogues, the panel talks to https://jeffkreeftmeijer.com who is a Ruby and Elixir developer at https://appsignal.com. Jeff writes for the https://appsignal.com newsletter and has a blog. Check out today’s episode where the panel talks about AppSignal, Russian doll caching, Drifting Ruby, JavaScript Sprinkles, cache warming, N+1 plus other topics.Show Topics:2:47 – Code Fund & https://newrelic.com/?gclid=EAIaIQobChMIpbDg_MSz3QIVAhtpCh2qpgebEAAYASAAEgJnivD_BwE&utm_campaign=googlebrand+JM+ABM+Q1FY19+acq+NORAM&utm_medium=PS&utm_source=Google 3:40 – https://appsignal.com might be the only support for https://elixir-lang.org.4:12 – The integration, the ease was so simple and your (Jeff) documentation made it very easy.4:46 – Comparatively to New Relic, https://appsignal.com is cheaper, isn’t it?4:59 – We don’t charge for host, we charge per request. That’s where to difference in price comes from. You get a number of requests in your plan. https://appsignal.com – you pay for what you use.5:50 – Chuck has used New Relic in the past, but only pay for the month that he needs.6:07 – Panelist talks with Josh Adams and relays the conversation to the panel and the guest.6:48 – Eric to Dave: Do you run into this with https://www.driftingruby.com? Where people just pay for what they need and cancel afterwards.7:41 – Dave: Yes, I do come across this. There isn’t much you can do about it. People will do what they need to do.8:24 – Jeff: We don’t have a lot of this problem with https://appsignal.com. By the way, I have never done that before – you are all horrible! ☺9:02 – Chuck: Let’s dive into is what is your approach to performance on Rails?9:24 – We started the vlog series to help them with that. Sometimes you run into limits of what Ruby can do, and stuff like caching can help. It’s never really a single issue. That’s one of our challenges as a company to hook into everything (integration). We do support, per communication, to help with tech issues, but usually it’s set-up related. Everybody’s problems are different because everyone’s set-up is different.11:02 – Chuck: Most of these posts are about caching and other topics. I’m going to go to something that I misunderstood for a while and that is https://blog.appsignal.com/2018/04/03/russian-doll-caching-in-rails.html I didn’t quite make the connection in my head.11:40 – First, let’s talk about fragment caching.13:49 – Jeff explains https://blog.appsignal.com/2018/04/03/russian-doll-caching-in-rails.html 18:44 – Chuck makes comments and asks Jeff a question.19:43 – Jeff confirms the panelist’s answer.22:00 – Jeff: Another solution is https://github.com/avand/sprinkles 22:27 – Digital Ocean’s Advertisement.23:12 – Question from Chuck to Jeff.23:38 – Chuck talks about what he will discuss at the Summit conference in October.23:55 – Panelist has had experience with https://blog.appsignal.com/2018/04/03/russian-doll-caching-in-rails.html. Performance can be smoke in mirrors. Application he worked on before, we did tons of caching (query caching, https://blog.appsignal.com/2018/04/03/russian-doll-caching-in-rails.html, and others) it was all about handling the cache key.25:32 – More comments about caching from another panelist. https://www.section.io/blog/what-is-cache-warming/ is mentioned, too.26:46 – How do you utilize https://www.section.io/blog/what-is-cache-warming/?27:39 – Chuck asks a question.27:44 – Question answered.28:12 – Does something like this exist for http://www.phoenixsoftware.com/ode.htm?28:28 – Jeff: I don’t think there is something like that for http://www.phoenixsoftware.com/ode.htm.28:50 – Chuck: When do you want to use one caching over another caching?29:09 – Jeff: “Depends on a couple of things. https://blog.appsignal.com/2018/04/24/active-record-performance-the-n+1-queries-antipattern.html is a feature and that you “should” rely on https://blog.appsignal.com/2018/04/03/russian-doll-caching-in-rails.html, and generally that is not an accepted thing. You could do that, but that is applied to a specific thing. What do you guys think?”30:31 – Panelist: Rendering partials is an expensive endeavor.31:38 – This topic continues between panelists and Jeff.32:25 – Jeff: Fragment caching is a good fit for that.32:56 – Question: You have a blog, one of your posts that you talk about you discuss open source projects maintainable. Talk to me how that led you to write it?33:32 – Jeff: Three things you should not do, based on mistakes that I made in the past.1.) https://github.com/jeffkreeftmeijer/navvy – had adapters for everything.2.) Dropping support for older visions of your dependencies.3.) Hand over projects if you can’t help anymore.This whole article is based on me messing up.35:07 – Chuck makes some comments.35:27 – Panelist: Ran into a problem the other day, there is a dependency that hasn’t been updated in over a year. They are waiting to solve all issues. I submitted an issue to be resolved.37:02 – https://blog.appsignal.com/2018/04/24/active-record-performance-the-n+1-queries-antipattern.html – is it a bug or a feature?37:12 – If you do nothing with it then it is a bug.37:21 – Chuck: to me a bug is an issue. It’s not a bug it’s inefficiency unless you turn it into something else.37:42 – Jeff: https://blog.appsignal.com/2018/04/24/active-record-performance-the-n+1-queries-antipattern.html is an undesirable feature? It’s not necessarily a bug. You need a very reliable caching layer.38:25 – Chuck: What is a very reliable caching layer?38:38 – Jeff answers the question.40:50 – https://redis.io is mentioned.42:04 – Jeff (guest) comments on the panelists’ thoughts.42:37 – Picks?42:57 – https://devchat.tv/get-a-coder-job/ 43:34 – PicksLinks:
- https://devchat.tv/get-a-coder-job/
- https://www.ruby-lang.org/en/
- https://www.javascript.com
- http://www.phoenixsoftware.com/ode.htm
- https://appsignal.com
- https://blog.appsignal.com/2018/04/03/russian-doll-caching-in-rails.html
- https://github.com/avand/sprinkles
- https://www.section.io/blog/what-is-cache-warming/
- https://blog.appsignal.com/2018/04/24/active-record-performance-the-n+1-queries-antipattern.html
- https://redis.io
- https://blog.appsignal.com/2018/03/20/fragment-caching-in-rails.html
- https://github.com/thekompanee/fuubar
- https://github.com/jeffkreeftmeijer/navvy
- http://asciidoc.org
- https://asciidoctor.org
- https://meetme.so/ElixirMix
- https://newrelic.com/?gclid=EAIaIQobChMIpbDg_MSz3QIVAhtpCh2qpgebEAAYASAAEgJnivD_BwE&utm_campaign=googlebrand+JM+ABM+Q1FY19+acq+NORAM&utm_medium=PS&utm_source=Google
- https://elixir-lang.org
-
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel: Charles Max WoodDave KimuraEric Berry Special Guests: Justin Gordon and Rob WiseIn this episode of Ruby Rogues, the panel discusses React on Rails and Webpacker with Justin Gordon and Rob Wise. They talk about the origins of React on Rails and compare it to Webpacker. They also talk about how the two go hand in hand and how you can use them in your own coding to make your life easier.In particular, we dive pretty deep on:
Panel: Charles Max WoodDave KimuraBrian HoganEric Berry Special Guests: Greg KushtoIn this episode of Ruby Rogues, the panel discusses how to thwart insider threats with Greg Kushto. Greg is the vice president of sales engineering and security at Force 3. Greg talks about how it is a team effort to uphold information security in a company, especially insider threats. He got started with computer security when he worked at a helpdesk and then moved his way up to making it his full-time career. This episode is great for understanding insider threats, both what they are and how to prevent them.In particular, we dive pretty deep on:
Panel: Charles Max WoodDave KimuraDavid Richards Special Guests: NoneIn this episode of Ruby Rogues, the panel discusses where they are right now and what their day to day looks like. Dave is with Sage Software and continues to push himself so that he will always be learning and progressing. He has three kids currently and he tries to have a good work-life balance so that he can separate both of his worlds. David is currently at a Fintech company where he is on the core team and does the data science. He also writes a lot and explores his creativity through that. Charles finds himself working a lot on the podcasts and has to schedule time to code. He works from home and therefore gets to spend a good amount of time with his family. The panel also talks about the importance of family, the need to challenge yourself, and much more!In particular, we dive pretty deep on:
Panel: Charles Max WoodEric BerryDave KimuraDavid Richards Special Guests: Sebastian SogamosoIn this episode of Ruby Rogues, the panel discusses failures with Sebastian Sogamoso. Sebastian is a software developer of 6 years, and working with Ruby for the last 5 years, and before worked with Java and PHP. He is currently living in Panama City, but grew up in Colombia. He now works for CookPad and organizes a Ruby conference in Colombia. Sebastian stresses the fact that everyone fails no matter what, and if you take responsibility and learn from your failures, you can more on to become a better programmer and developer because of it.In particular, we dive pretty deep on:
Panel:Dave KimuraEric BerryDavid RichardsSpecial Guest: Nathen Harvey and Nell Shamrell-HarringtonIn this episode, the Ruby Rogues panelist speak with Nathen Harvey and Nell Shamrell-Harrington. Nell is the Senior Software Development Engineer at Chef, the CTO at Operation Code. Nathen is the VP Community at Chef. The topic of discussion is about Chef. Chef is a platform that enables teams to collaborate, share, and automate everything.In particular, we dive pretty deep on:
Panel:Dave KimuraEric BerryDavid RichardsSpecial Guest: Justin Searls and Josh GreenwoodIn this episode, the Ruby Rogues speaks with Justin Searls and Josh Greenwood. Justin and Josh both work for a software agency called Test Double, who are a fully remote software agency. Both Josh and Justin are well versed in many technologies and platforms of development such as Ruby, Javascript and much more. Both Justin and Josh are on the show to talks about their recent presentation “There's Nothing New Under the Sun,” which was presented at conferences.In particular, we dive pretty deep on:
Panel:Charles Max WoodDave KimuraBrian HoganEric BerrySpecial Guest: Daniel AzumaIn this episode, the Ruby Rogues speaks with Daniel Azuma, Daniel is has being a “Rubyist", and has been developing for over 20 years, and currently works at Google apart of the Cloud team with programming language support specialist. Daniel leads the Ruby and Elixir team at Google.Daniel is on the show to discuss Ruby debuggers with the Ruby Rogues panel. Topics cover ruby support, cloud debugger, projects, processes for debuggers and much more. This is a great episode to understand more about Ruby debuggers and processes.In particular, we dive pretty deep on:
Panel:Charles Max WoodDave KimuraDavid RichardsSpecial Guest: Amit ChoudaryIn this episode, the Ruby Rogues speaks with Amit Choudary, Amit is based in India as a Ruby and Ruby on Rails, Javascript, and Fullstack Developer. Amit is working with a company called Big Binary. Big Binary builds web apps and a variety of mobile applications. Amit mentions his informative blog on Ruby 2.5 at blog at Big Binary.Amit and the panel discuss app failure emergencies and holidays. Importantly this episode is about how holidays affect the schedules, staff, and emergency deploying apps or repairing crashes and servers. This is a great episode to learn about strategies to recover from crashes, emergencies, and disaster recovery,In particular, we dive pretty deep on:
Panel:Charles Max WoodDave KimuraDavid RichardsBrian HoganEric BerryIn this episode, the Ruby Rogues panel discuss things they are playing with or working on now. Much of the discussion covers technologies in Rails and Ruby, Rails. 5.2 beta, React, Sprinkles, redux, and more details with these technologies. Each of the Ruby Rogues members comment on their workflows and personal applications for apps and web applications. Also, how playing with things or technologies, helps build your skills and development.In particular, we dive pretty deep on:
Panel:Charles Max WoodDave KimuraDavid RichardsEric BerryIn this episode, the Ruby Rogues panel discuss Ruby 2.5 with Jesus Castello. Jesus has been a developer for several years, and has learned Ruby 6 years ago and is now teaching Ruby. Jesus is on Ruby Rogues to talk about Ruby 2.5 and performance improvements and performance documentation. Also, Jesus talks about the everything Ruby 2.5 and the next editions for the language.In particular, we dive pretty deep on:
Panel:Charles Max WoodDave KimuraDavid RichardsEric BerryIn this episode, the Ruby Rogues panel discuss Rails, Development, and More with David Heinemeier Hansson. David is the creator of Ruby on Rails, the founder and CTO of Basecamp, and the hosts of The ReWork Podcast. David Answers a number of questions form the panel about the front-end on Rails, Turbo Link, Stimulus, How does this differ, cheaper labor, better hardware, and much more. This is a great episode to understand the background of Ruby on Rails, Basecamps, and things to come with Ruby.In particular, we dive pretty deep on:
Panel:Charles Max WoodDave KimuraDavid RichardsIn this episode, the Ruby Rogues panel discuss Standard vs Reality. The panel discusses how realistic it is to expect standards. Charles, Dave and David cover topics on the appearance of code, the family of origin, conforming when working with a team, community projects, company repos, challenging old standards, and much more concerning how workflows are performed today. This is a great episode for developers to learn to ask if there is a better or time efficient way to do things.In particular, we dive pretty deep on:
Panel:Charles Max WoodDave KimuraEric BerryDavid RichardsIn this episode, the Ruby Rogues panel discuss Strings and Encodings in Ruby with Aaron Lasseigne. Aaron has been a Ruby developer for over a decade and is the author of Mastering Ruby: Strings and Encodings. Also, Aaron talks about his recent work on a service object Gem called Active Interaction. This is a great episode on learning about Strings and Encodings.In particular, we dive pretty deep on: Discussion Points (contributed by guests and hosts):•Why is it so important to understand strings?◦“The internet is powered by multimillion-dollar string manipulation machines. We put strings in a box, and get new strings out. While there’s plenty of mathy things that can happen in the middle, there is no denying the importance of strings in today’s world.” - Schneems◦They’re the only data structure that lies to you. You can see the exact contents of an array or hash but strings mask what’s happening. That’s why you can get situations when a single character has a length of 2.•What are character sets?◦A character set defines a group of characters, their order, and it assigns each an identifier (a code point).▪Unicode is a character set.◦What are code points?▪Unique identifiers within the character set.◦UTF-8, UTF-16, and UTF-32 are implementations of the Unicode character set▪Each has its own benefits•Normalization forms◦Different representations of the same character. We can represent “é” as a single character or as an “e” and a combining mark (2 characters). Normalization forms allow us to change between forms.◦There are 4 forms, NFC, NFD, NFKC, and NFKD and they all do slightly different things.▪They can be switched between with `String#unicode_normalize`.•Sorting◦Easy for English only but can be quite difficult with other languages. Sorting “e” and “é” can be tricky.•Security◦Identical characters, similar characters, and invisible characters can all be used to spoof user names.▪https://www.huffingtonpost.com/entry/how-to-avoid-downloading-a-fake-app_us_5a147d40e4b0f401dfa7eafb ▪https://www.reddit.com/r/Android/comments/7ahujw/psa_two_different_developers_under_the_same_name/ •The current state of Unicode support in Ruby. It was improved in 2.4 when methods like `upcase` started working with Unicode characters.•The addition of grapheme support in Ruby 2.5.•Freezing strings with `String#freeze` and with the special comment at the top of a file.◦Immutable strings may still make it into Ruby 3 as the default.•Character set expressions (a term I made up) for use with methods like `String#count` and `String#delete`.◦They’re like the inside of a regular expression character set (e.g. `[a-z]`)•Tofu and mojibake◦Tofu are those white boxes you see when a character doesn’t exist on your computer.◦Mojibake is when the characters show up but they don’t make sense because you’re using the wrong encoding or they were misencoded somewhere along the way.•Fixing bad characters◦Strings can be checked with `valid_encoding?`.◦`String#scrub` lets you replace invalid bytes with a single character which is the replacement character by default (that black diamond with a question mark in it).◦`String#encode` also does replacement work and will let you swap out characters if you go from something like UTF-8 to ASCII.▪You can even change out newline types with it.◦`Encoding::Converter` is an even more powerful way to convert but it’s a tool for when things go seriously wrong.Links:
Panel:Dave KimuraEric BerryDavid RichardsIn this episode, the Ruby Rogues panel discuss the typical day of a developer. Eric, David, and Dave speak about their daily routines as far as preparation, favorite task management tools, workflows, meetings, coding and testing, home life, working remote, commuting, health/mental healthy choices, and scheduling your projects to stay on course.Importantly, the panel discusses how to handle burnout and keeping up the inspiration to work, and build side businesses. This is a great episode to learn tips and tricks from successful developers and staying the course for further success and longevity in the industry.In particular, we dive pretty deep on:
Panel:Charles Max WoodDave KimuraDavid RichardsSpecial Guest: Trae RobrockIn this episode, the Ruby Rogues speaks with Trae Robrock. Trae is on Ruby Rogues to talk about his current business Green Bits. Green Bits creates point of sale (POS) inventory management software for the legal cannabis industry. Green Bits has been in business for the last 3 years since 2014, and they have launched alongside Washington states recreational program. Green Bits is functioning 7 states and is running 80% of the Washington market.Trae explains about the real-time mapping built-in the tracking system in the APIs. Furthermore, Trae talks about the tracking system between the seed to the customer purchase. Lastly, Ruby Rogues digs deep and learn how the infrastructure works for a growing industry.In particular, we dive pretty deep on:
Panel:Brian HoganDave KimuraEric BerrySpecial Guest: Adam CuppyIn this episode, the Ruby Rogues speaks with Adam Cuppy. Adam is the co-founder of Zeal. Zeal is a software consultancy that specializes in Rails, React, and Elixir. In his earlier experience, he was a professional actor. Adam talks about his journey from actor to a developer, and his self-taught experience as he dived into coding for a creative company and learned about marketing. Adam is on Ruby Rouges to talks about his current talk on Rapidly Mapping API Schemas in Ruby. Adam recently presented this topic to the annual Ruby Dev Summit.In particular, we dive pretty deep on:
Panel:Charles Max WoodDave KimuraEric BerryDavid RichardsSpecial Guest: Ben OrensteinIn this episode, the Ruby Rogues speak with a return guest, Ben Orenstein. Ben gives an update on leaving the company he worked for ThoughtBot, to pursue entrepreneurial aspirations. He most recent work is a call Refactoring Rails. Ben speaks about the work that went into creating this course and working with Rail on this type of platform. Ben dives into the course features such as testing practices, coding practices, code quality, and much more.In particular, we dive pretty deep on:
Panel:Charles Max WoodDave KimuraEric BerrySpecial Guest: David RichardsIn this episode, the Ruby Rogues speak with David Richards. David has been a software developer for the last couple of decades and develops most of his software with Ruby. Currently, David is building fin-tech products for companies.David is on Ruby Rogues to talk about the process of collaborative work, developer turnover, effective work, and personally connecting with your work. Also, the differences in being older and more experienced developer in today’s world. Lastly, David and the panel discuss the overall effectiveness of a developer in the company and among his/her peers.In particular, we dive pretty deep on:
Panel:Charles Max WoodDave KimuraSpecial Guest: Hal FultonIn this episode, the Ruby Rouges speak with Hal Fulton. Hal is one of the first few people to learn the Ruby language in the beginning from the Japanese. Hal describes the history Ruby and his journey to before an author of the book The Ruby Way. This book was one of the few foundational elements Ruby developers of today.Hal has recently presented at the Ruby Dev Summit, on Is Elixir the new Ruby? The panel asks questions about, how or if, Elixir is possibly out there to replace Ruby. Hal talks about the pros and con of Ruby in today’s world fo development. Also, the practicality of Elixir and how it fits into our world today.In particular, we dive pretty deep on:
Panel:Charles Max WoodDave KimuraSpecial Guest: Amir RajanIn this episode, the Ruby Rouges speak with Amir Rajan. Amir is a game developer and is the most successful Ruby game developer. Amir is also the owner/CEO of RubyMotion. RubyMotion allows you to write Ruby for the Mac platform. Amir will be speaking at Ruby Dev Summit this fall.Amir talks about being apart of not web part of Ruby and the innovation including mobile. The panel discusses building application for mobile in Ruby Motion and the OS platform. The panel also discusses the easy of building with RubyMotion and how the language has come along way since Mac Ruby and others. Also, how to get started and all installations required to build with RubyMotion.In particular, we dive pretty deep on:
Panel:Charles Max WoodEric BerrySpecial Guest: Justin WeissIn this episode, the Ruby Rouges speak with Justin Weiss. Justin is a software developer for aha.io, blogs at justinweiss.com, and is also the book author of Practicing Rails: Learn Rails without being overwhelmed.Justin gives a preview of his presentation at Ruby Dev Summit , which is about exploring connections between your apps and the web. Ruby Rogues and Justin dive deep into questions about testing apps with an array of tools to see how that information is relevant in exploring connectivity and working parts of apps.In particular, we dive pretty deep on:
Panel:Charles Max WoodDave KimuraEric BerryBrian HoganSpecial Guest: Fabio AkitaThe Ruby Rouges speak with Fabio Akita, a return guess. Fabio is a blogger at AkitaOnRails.com and is an organizer and speaker at Ruby Dev. Conf. Brazil. Fabio mentions have minor open source projects. Fabio talks revolve around “How do you as a Ruby Developer, dive into new languages,” such as Crystal and Elixir. Fabio will be speaking on the upcoming Ruby Dev Summit.In particular, we dive pretty deep on:
Panel:Charles Max WoodDave KimuraEric BerrySpecial Guest: Devon EstesThe Ruby Rouges speak with Devon Estes, a return guess and Ruby developer who currently lives in Berlin, Germany. The topic of discussion is about Function vs. Methods, and talk about blocks and its functions. Also, some further digging into the behaviors of functions and designs. Devon explains that this topic will be of discussion at Ruby Dev Conf.Devon dives into the object orientation and the interactions between functions, editing or changing functions. The Ruby Rogues ask questions about, service functions, subsections of applications, application logic, and understanding the parts.In particular, we dive pretty deep on:
Panel:Charles DaveEric Special Guest: Marc-André CournoyerRuby Rogues speaks with Marc-André Cournoyer, whose most notable works were the Thin Web Server, Tiny RB Ruby implementation, and a book called “Create your own Programming Language,” responsible for the creation of Coffee Script. Also, he has done some with Rack 2 and creates some of the initial Rack Adapters. The discussion covered in this episode are about learning machine learning. How do you learn it in Ruby? The basics of machine learning and the best practices to become more competent in machine learning. Also some diving into hardware, training, for getting the job done. In particular, we dive pretty deep on:
Panel:Charles DaveEric Special Guest: Marc-André CournoyerRuby Rouges speaks with Marc-André Cournoyer, whose most notable works were the Thin Web Server, Tiny RB Ruby implementation, and a book called “Create your own Programming Language,” response for the creation of Coffee Script. Also he has done some with with Rack 2 and create some of the initial Rack Adapters. The discussion covered in this episode are about learning machine learning. How do you learn it in Ruby? The basics of machine learning and the best practices to become more competent in machine learning. Also some diving into hardware, training, for getting the job done. In particular, we dive pretty deep on:
In this episode of the Ruby Rogues podcast Dave Kimura, Eric Berry, and Charles Max Wood discuss chatbots with Jamie Wright. Jamie will be speaking at Ruby Dev Summit in October.[01:25] Jamie Wright introductionJamie is a professional nerd and independent contractor. He's been coding for 20 years mostly in Ruby. He's starting to get into Elixir.One of his first projects was a text adventure game, which got him started with conversational UI's. He saw Hubot on Campfire. He started tweaking that.He made a timetracking bot that used Freshbooks and Harvest.Then Slack came out and he created Tatsu.[05:00] Tatsu featuresYou can schedule it and it'll ask automated questions.He's working on having it integrate with github, Harvest, Google Calendar, etc.If there's a blocker, you should be able to create private conversations with the people who are blocked and add that to the standup.When you sign up it adds a video link into your slack. Eric thinks this is pretty clever.In Slack, the default action people should take when a bot is installed should be to DM the person who installed it.[08:50] What it takes to write a bot and the challenges involvedWriting bots is "fun as hell."Chatbots suck. We have the opportunity to improve an entire piece of the industry.Many bots are command based bots. You say something and it responds.Conversational UI's are really hard because they don't have any context or shared understanding of the world.[12:18] Chatbot libraries - Getting StartedEvery large company is working on one.There are also lots of natural language processing services that you can use as well.Before you start, you need to know your use case.Where will your users be? What services do you want to provide?At work? Probably slack.Among friends? FacebookNode has botkit. It's the most popular chatbot platform in the world.Start with botkit, use the examples, then come back to Ruby.Dave brings up building a chatbot for Slack that connected to VersionOne.Data retrieval bots are another great place to start.From there, you start answering the question of where things go.[18:51] The panel's experience with chatbotsTatsu has been around for about 2 years and has existed pre-Slack.Eric uses a Slackbot to get information about users who cancel or decline messages.Chuck has done automatic posting to Slack with Zapier.Chuck also mentions serverless with AWS Lambda.Chatbots are a lot like webapps. They're text in, text out and process things in very similar ways.Dave also brings up SMS bots as well with Twilio.Jamie has thought about creating a web based standup bot for when Slack is down. Slack is a single point of failure for your bot if that's where it lives.Slack gives you a lot of UI elements that you don't get in SMS.[24:51] Do you wish that Slack were more like IRCFrom an end-user perspective, no. But Jamie does wish they'd revisit threading replies and separating conversations in the same channel.It only took a handful of developers to build Slack.[27:20] What gems do you use in Ruby?slack-ruby-client by dblockslack-ruby-bot by dblockeventmachine[29:30] Does Slack push to an endpoint? or do you poll Slack?You can call an api endpoint on Slack that gives you a websocket endpoint.The events API sends webhook events to your server. It's easier to program against, but it can be slower. It may also be restricted on certain API's[30:55] Github Fantasy League Based on a Peepcode video with Aaron Patterson. You got a score based on your activity in Github.Jamie recorded videos for a talk at Codemash.It never actually became a thing, but it was a fun idea.Jamie got into Ruby by going to a Ruby Koans talk by Jim Weirich.Jamie's links
This is what we put into the chat room after the Dr. Who reference... PicksEricDaveChuckJamieSpecial Guest: Jamie Wright.RR 324: Developer Horror StoriesThe panel for this episode of Ruby Rogues is Dave Kimura, Eric Berry, and Charles Max Well. They are telling developer horror stories this week. Tune in to listen to their stories![00:01:40] Eric’s Story Eric tells a story that happened today. He was working on a report on live data at work. While doing this, he sent texts to hundreds of people that shouldn’t be getting them. The moral of the story is that everyone makes mistakes, even seasoned developers.[00:02:58] How could that have been avoided? Eric has a fail-safe that has to override with an environment variable so that it won’t truncate the tables. Once that happens, no messages will be sent. He works at a company, which is a B to C texting platform that allows customer retention through mass, etc. He commented out stuff, not realizing that it would start sending messages. He needed live data to generate reports so he did not truncate the data. His advice is not to comment out code until you know why you are doing so.Dave says that same thing can also happen with an email service. Instead of commenting out code, make sure they are set up to a mail server or mail dev to where it actually never sends out to the real world but stays in a send box environment. Amazon SES has a way to do this where things stay internally.[00:05:10] Dave’s StoryAround seven years ago Dave needed to store some images. He did not want to use a storage on the local computer because he would have multiple web servers and he did not want to use external storage because he was “lazy.” So he stored the images in the database. It worked for years until one day he saw that the table was 30 GB, which was much larger than it should have been. He had to extract and rewrite because any test to undo it would be substantial. It would be a long running process because 30 GB is a lot of data.In hindsight, Dave’s advice is that you don’t have to prematurely optimize but you also don’t have to make bad decisions. Do not store globs of binary data in your database. If it can be stored as a jpeg, do that.[00:08:04] Charles’ StoryCharles’ story focuses on time zones. He was working on test first development. He wrote tests for a feature and his coworker checked them. The database was running in UTC and doing checks in Mountain Time, so the checks would fail from 6pm until midnight. The CI server would show that tests were not passing for a chunk of the day.It was a simple fix. He learned that you can write a test that passes but may be overlooking something simple that may change when in a different place or a different time.[00:11:05] ErrorsErrors are hard to track down. The hardest ones to find are the ones that only happen occasionally. The worst ones are those that are critical errors that only happen occasionally. Because they only happen sometimes, it is hard to know how to fix them.[00:19:13] Using a Technology Too SoonEric used a technology too soon, which was Rails. Nobody could take over once he left the company. He had to go back to the company and rebuild it in PHP so that others could use it. The lesson from this mistake is that when you chose a technology you have to choose one that supports the buzz factor. Everyone has a responsibility to the people they are working for to add value. If you leave them with a maintenance nightmare you are not helping, you are hurting. Make sure you are locking things down.[00:22:35] Gems and Poll RequestsDave watches Gems to see what and how often they are updating. He checks to see if his poll request was accepted and reverts back to the original gem. He calls it “free maintenance from other people.” He doesn’t think you should deviate from it too much. An option is to use a proxy as well.[00:27:41] Have you ever had to make patches in your Rails app knowing that those patches were coming in a future release?Eric has had to in the past. His mentor had to patch Rails, apply it, but every time it ran it said, “if you upgrade rails, upgrade me.” It was a reminder to make sure everyone stays in sync.[00:29:30] MigrationDave and Charles have both had problems with migration. Take snapshots of database before you use migrations. The moral of story is if you’re going to migrate data, make sure you back up your database before you change the data. And don’t do data modifications in your migrations. Also set up a replica of your database. There is no excuse except for laziness or inexperience.[00:32:10] Materialized views. Eric used to work for social media company that had a lot of data coming in from various forms of social media. Helped build sub products that handled intake of data. Decided to use materialized views. It is a view that self updates as data changes in the database. In other words, it creates a fake table and can simplify the application side of things.It got a little messy and they had no idea what was updating things when. Because of this, they had to convert the materialized views to stored procedures. The materialized views killed the database because it triggered things when it shouldn’t be.[00:37:23] Caching Caching is a big problem with development. There are complex cache keys built around different queries and combinations of objects. There is a value with using caches but there is a caution with not using caches too early. A lot of problems have resulted from caching wrong results. The moral is to measure and make sure that you are working on the right problems. Sometimes premature optimization does not matter. Sometimes caching is just not needed and messes programs up rather than helping them.[00:40:34] How do you populate data with unrealistic data?It depends on how big the application is, but larger ones generate ten to twenty thousand records. For these, Dave uses Active Record Import. He used the Faker Gem to create fakes names. Without using Active Record Import it would take ten to fifteen minutes to 50,000 but instead it took two minutes with using it, saving a lot of time.PicksDave:
Eric:Charles:RR 323: Queuing and Amazon SQS with Kinsey Ann DurhamThis episode of Ruby Rogues features panelists Charles Max Wood, Dave Kimura, and Eric Berry. Special guest Kinsey Ann Durham joins to talk about queuing and Amazon SQS. Tune in to learn more![00:01:19] Kinsey Ann DurhamKinsey writes code for a company called Go Spot Check. She is always a lead mentor in a San Francisco based company called Bloc.[00:02:50] Background on Amazon SQSGo Spot Check is using Amazon SQS on a smaller scale. Kinsey thinks it is sasy to use. She recommends using something like Amazon SQS or even RabbitMQ. It has provided the company with the ability to explore different architecture patterns and tools.[00:04:50] Can you talk a little about your company and what led to using Amazon SQS?Go Spot Check is a start up in Denver. They focus on recording and data collection for big companies that need to know what is happening in retail, grocery stores, and bars. The focus is on alcohol and retail brands. The company analyzes the data collected that previously held no insight. Go Spot Check is currently moving into a computer vision aspect. Kinsey works off a separate service off of main aspect of Go Spot Check.[00:06:46] What does your stack look like? Is it built off Ruby?Yes, it is a Rails API only. The computer vision is done in Python.[00:08:45] Are you feeding the images through the queue? How does the queuing fit in?Started using Amazon SQS because they wanted to have a more decoupled way of developing. This allowed them to decide the contract between the two services and decide what they wanted it to look like up front. Kinsey describes that it is easy to create fake messages for testing with Amazon SQS. Image data is sent back and forth through the queue. The company does a lot of planograms. Information is taken from that data and posted onto a queue from the machine learning side of things. On the Rail side of things, the data can be picked up in API and sent back to the main app.[00:10:50] Does it accept binary data in the queue? It does not send actual images. All comparison data that has been processed is sent from the machine learning aspect side of things. An article has been published that shows that people do send images in the queue.[00:11:35] Do you use SQS in parallel with SNS (Simple Notification Service)?Kinsey says that they haven’t used SNS. This is because there hasn’t been a need. They are using it to post messages to communicate between different services.[00:12:40] What point would you need to consider a SQS over a Sidekick?Kinsey didn’t look into using Sidekick; she was excited to use SQS. She wanted to try it out and see if it was easy to use. Thought it would be more complex than it has been. She enjoys the free features of Amazon such as message visibility and timeout, which is handled by them. It can be customized and two different queues can be used.[00:16:15] How do you write the workers for an SQS queue?Kinsey has a plain Ruby object in the API that she can reuse with any queue. There are three queues in the company.[00:19:45] Are there any other uses for queues and SQS?Kinsey hasn’t come across any personally but she is sure there are some.[00:23:40] What if you’re someone who is new? Where would you recommend they get started?Suggest getting started with SQS Amazon, SQS documentation. Can get up to speed quickly. Amazon SQS is easy to get up and running. Kinsey is tailoring her Ruby Dev Summit talk to people who are new.[00:30:35] How do you go about mentoring?Kinsey loves mentoring. Developers have side projects or freelance work, but Kinsey likes to mentor because she feels like she makes a difference while continuing to learn. An important part of mentorship is giving support. This support level to students’ means not only offering students help with technical skills. Her goal is to build a well-rounded developer: someone who will be a great team member and people will want to work with in the future. This involves helping students build soft skills such as networking, interviewing skills, and helping them build confidence.[00:33:52] How would people get involved with mentorship?Kinsey is involved with an organization called Bloc - they are always hiring mentors. She shares that people can always get involved in their local community. Schools are looking for mentors. People at local meet ups and Rails Bridge are also both good ways to volunteer. Kinsey learned through mentors - she didn’t go to school to learn code. Mentors changed her life and are important to her, which is why she now mentors.[00:36:30] Advice For Women Kinsey’s advice for women who want to work in the technology world is to go for it. She urges women to get as many people and resources on their side as possible, including great developers who are willing to mentor. She emphasizes the importance of confidence and says to be ready for comments on gender. She believes that - while there are definitely still diversity issues with socioeconomic background, sexual orientation, race, gender, etc. it is getting better – women are more welcome in the technology field than they have previously been.There are technology organizations that are doing well and have no problems with welcoming women into the workplace. People in the field need to be open to having discussions about gender inequality. Open dialogue with team members is the key to solving problems. Some people have grown up not realizing the way they think is wrong. They don’t connect that what they say or think is offensive because it is all they know; it is unconscious to them. This is the type of person that is hard to change.PicksEric:
Dave:RR 322: Finding a Great JobThis episode of Ruby Rogues the panel is Dave Kimura and Charles Max Wood. They discuss Finding a Good Developer Job. Tune in to learn more about this topic![00:02:08] Internal Clock With JobsDave believes that within the developer community, people have a one to two year internal clock. This clock tells them it is “time to find another job.” It confuses him that people go through jobs in a short amount of time. He explains that this is largely due to the on boarding time: it takes a while for developers to go through this process.Charles has switched jobs more frequently than Dave. He explains that his internal clock has been set of either by necessity or simply it being time to move. His reasons for switching jobs have been due to him not being happy and there being a substantial pay raise that he could not afford to turn down. He believes employers need to do more to keep people engaged because it is a loss to get somebody up to speed then have them leave.[00:08:30] Developers Want ChallengesPeople he knows that are in the development career are there for challenges. A lot of them he speaks with state they get to where they aren’t being challenged. Their employer won’t invest in helping them get to the next level, whether it is paying for trainings or conferences. People he has interviewed said that when they are starting to switch, it is for growth.[00:11:12] Are you encouraged to or allowed to figure out how to do things better at work?Dave said that because he’s over the project, he is able to do so. He tells others he works with to do the same. He doesn’t look at it as wasted time, but as time that is spent getting better. This time will be made up when the information learned is used later on with different projects with the company.[00:13:40] Self-care Some companies are short sighted and want employees to spend the least amount of time possible doing things. Most successful teams are developers that want to feel like part of the team. You need developers to believe in the mission and the team. If your manager is telling you to work 80 hours a week something is wrong. It is healthy for a company to recognize limitations.The humane development principle that Ernie Miller that says developers are humans, not machines. Often managers forget developers are humans. They need to be treated as people. Companies have to give them downtime. They have to take care of themselves.[00:20:00] What do you tell people to do if they feel burnt out?First look and assess the situation. Is the issue a self induced issue? Or is the employer forced this issue onto you? Misunderstandings can occur. Communicate with your boss to discuss the issue. Sometimes, it’s a simple that you like your job and push it too far.Learning boundaries are important. There needs to be a physical separation between work and relaxation area. There also needs to be boundaries around your time. Schedule work time as well as family time. Don’t break your own boundaries!Planning is important. What can you fit into the schedule? There is almost a guarantee that you will work too much if you don’t schedule. Backlog items that you want to accomplish. Meet with your team about it. Once you have a plan, don’t exceed what you plan. This will show you whether you are working too much or not enough.[00:28:40] MentorsIt is important to find a mentor. Learning is your responsibility. It only benefits you and your career. The company’s benefit is a side affect of your effort. Your company may not have the resources to help you. Where you will find a mentor is worth considering when you take a job. There are many resources for finding good mentors. railsmentor.org is one for the Ruby community.Dave doesn’t have a mentor but highly advises getting one. He believes that you can be your own mentor if you have a self-teaching capability. It is just a harder way to go. Charles has a mentor. Business people will pay for coaching. He suggests eventualmillionaire.com to check out a business coach he recommends.[00:36:54] How to Get Hired Dave suggests forgetting about job titles when looking for jobs because they are meaningless. Instead, focus on the skill set that the company is looking for. If you expect a company to continue your learning, you’ll always have a junior mentality: you will be a “professional junior.” Development is a career that requires constant education because there will always be new stuff. Companies want someone useful to them who will turn a profit. They want to use you. Sell yourself to them.Companies have a problem and they want you to solve it. You have to show them that you’re the person who can solve the problem in a way that makes it work for them. There is a wish list of technical skills companies have, but that doesn’t mean you have to check every box. They want the right person to solve the problem efficiently and quickly, and be a pleasant person.There is a list of questions that Dave prepares to ask in interviews that he tailors towards each candidate. He doesn’t want to make candidates feel attacked. If they are hired for the company, they’ll have a bad taste in their mouth. He also doesn’t like tests given. Instead, he wants to know how a candidate thinks. He makes sure to ask, “What is your process in coming to an answer?”[00:49:50] Third-party RecruitersThey do not pay attention to resumes they see. They use different tactics to try to suck you in – one is to insult you, while another is to try to hire another person through you. Dave has a policy to not talk to third-party recruiters. They do not know the client they are working for.[00:54:45] NetworkingGet to know other people in the field. People will help you get jobs. Can hunt job boards but it is not as effective as having contacts. Know someone who works at the company doing the thing that you want to do. A personal referral goes a long way. When someone goes to bat for you, it’s because they believe you will do a good job. Companies will not take that lightly.[00:58:50] ResumesTake the time to do your resume right. It is the first impression you make on an employer. That first opinion they have about you will be hard to change. A resume should be grammatically correct, relevant, and updated. Customize and personalize your resume to the company that you are sending it to.PicksDave:
RR 321: Visual Studio Code Ruby Plugin with Penn LvThis episode of Ruby Rogues features panelists Dave Kimura, Brian Hogan, and Charles Max Wood. Two special guests join the panel today: Eric Barry and Penn Lv. Tune in and learn more about Visual Studio Code’s Ruby Plug-in! [00:01:55] Introduction to Eric Barry
Eric turned over Teach Me To Code to Charles, which helped build relationships for Charles that built the Ruby Rogues podcast. Eric is a software engineer who has been working in programming since 1998. He works for Skipio and has been a Ruby on Rails developer for nine years. [00:03:15] Introduction to Penn Lv
Penn is a software engineer for Redim. He works on the Ruby extension for Visual Studio Code. This extension deals with enhanced Ruby language support. [4:00] What goes into building a language plug-in/language setup for VS code, what do you have to do in order to make that work in the electron set-up?
Usually when you try to build an extension for VS code it is just a NodeJS application. It has nothing to do with electrons; it is just a Node application. Everything is run in a separate process. Just about how to build an extension for VS code.The first category is formatters, or colorization. For both of those you can write plain JavaScript. There are two categories that are difficult: first is de-buggers. The VS code is a set of common UI for de-bugging. Which is language diagnostic. Write an extension and hook up language debug.The second is a language server to write language experience. VS code has a concept called language server protocol. Need to write an extension that follows protocol and tells the VS code about semantic information about your program. [00:06:25] – In order to get some of the nice features for the language you have a Ruby process running somewhere that you talk to in order to do some of the syntax checking?
Yes, have to run that in a stand-alone process. It analyzes Ruby, but it can’t run that in Node JS process. [00:06:52] So what’s the goal? What makes the VS code team write a Ruby program?
Ruby for VS Code was his ticket to the VS code team. Penn wrote for himself. It is his hobby project. [00:07:32] How many contributors are on the project? Who works with you?
It is a community project. There are probably in between 50 to 100 contributors. [00:08:33] What’s your process of knowing what to allow and what not to allow to modify it? How do you know what PRS to accept and how do you stay on top of it?
It is challenging to know what to allow. Penn claims to still not be a professional Rubyist. The first step is to run test cases. His way of reviewing code is by downloading the code. He looks into every piece of the code, learns it, and plays around it. If it works, he adds it. [00:10:23] How main PRs do you regularly get and how much time does it take to keep that maintained?
Every weekend he goes through everything. He will have maybe five to six VS code extensions and check them thoroughly. [00:13:30] Indentation when blogging in VS code
Two months ago he finished a feature dealing with auto indentation. The option for this is called editor.autoindent. Indentation gets adjusted automatically while you type. [00:18:10] Recommendations for plug-ins
Charles recommends Emacs key bindings and Penn recommends the VS code extension Vim. [00:21:49] Do you do most of your work in TypeScript?
Yes. At the very beginning they were using JavaScript. They were one of the first adopters of TypeScript and are now all TypeScript. [00:22:50] How much of a commitment would it be to add TypeScript to an existing project?
The setup of TypeScript is not easy. If you are using a NodeJS application and they have TypeScript or typing support there is no specific thing that needs to be done to make it happen. In VS code there is a feature called automatic type acquisition. If creating a new project that uses an express package, which already has a typing file for it. VS code provides you with auto complete. Also don’t need to worry about typescript file if you are not going to create a library. Can do TypeScript gradually. [00:26:16] What do you see that’s left to do in the Ruby plug-in?
A language server is the missing part. [00:27:35] Is that currently being done in other editors?
No one does that right now. RubyMine has the best support currently. [00:28:13] Does your work translate to Atom as well?
Atom has basic support for Ruby but it is just about colorization, indentation, and formatters. Everyone is waiting for a language server for Ruby. [00:31:38] If you have multiple languages or modes that you have to handle within the same file how do you set up VS code to handle that?
Users cannot customize that. A language support extension has to handle that. [00:34:50] What is the font that you use in VS code?
Source code pro [00:35:08] If people want to give this a try, what are the best ways to do that?
First go to code.visualstudio.com. Then, install VS code. At the welcome page instructions will show you how to use the command palate, give you an interactive playground, and show the best place to get familiar with everything. The welcome page also has links: one is VS tips and tricks, which are shared by the community. There is a Youtube channel, which shows how to make VS Code productive. [00:36:32] If someone is working on an esoteric language and there is no support in there language in VS code yet. Where would you recommend they start?
There is a docs session on the website that tells you how to write extensions for VS Code. Penn thinks if you build a debugger it is most difficult. There needs to be an understanding of real debuggers. Look at some of existing debugger, understand how they read source code, get an understanding from there. [00:38:22] Was there an extension that you used as a model while writing the Ruby extension for VS code that you recommend people look at?
First looked at Python. Then switched to PHP, which is pretty similar to the Ruby extension. The protocol is very similar. That’s how he learned to make the Ruby extension. [00:40:58] If people want to contribute, is there a GitHub they can go look at?
The organization name is Ruby IDE and GitHub name is vscode-ruby. There is a Wiki Page on how to setup and explain concepts behind everything. [00:41:22] How long did it take you to get the plug-in till it was publicly useable?
A couple of hours. He was at his girlfriend’s parent’s house bored, got a job with VS code because of it. [00:44:40] What’s your biggest sales pitch for VS code?
Compared to some of competitors, VS code is fast. The best part of VS code is that it is open source. Everything is on GitHub, including issues and user feedback. Users know every issue that is being worked out. All information is open to users. Can file an issue and they will respond immediately. [00:47:00] Are there plug-ins for other languages?
There is an elm plug-in.Picks Dave:
RR 320: Shrine and File Uploads with Janko MahronicJerome Hardaway, Dave Kimura, and Charles Max Wood discuss Shrine with Janko Mahronic on this episode of Ruby Rogues. Janko is a Ruby developer. He is the creator of Shrine, which handles file uploads. Shrine tries to solve existing problems and gives many ways to upload files. It tries to accommodate and provide every option for whichever types of file you may be uploading. Tune in to find out more about Shrine!Questions [00:03:56] What does Shrine do that CarrierWave doesn’t do?
One of the main reasons Shrine was created was to support background jobs. CarrierWave was missing support for background jobs. There is a CarrierWave extension for uploading in back-end but it doesn’t work reliably. It doesn’t delete files in the background and is missing the ability to have stable basic grounding capability. Shrine was created because of this reason. [00:06:06] Does Shrine have good support for Rails?
Yes, you can hook up any backgrounding library. It has a designed interface in the way that Shrine can realize data for you. Shrine can call the background library directly. It can be an active job or custom background library. Inside the job, call Shine again to load all objects back up to finish the job. [00:07:40] Does Shrine work across multiple file types or is it geared towards images?
Shrine works for any types of files. It is called the Ruby method. It can be implemented in any way you want. It has a functional style. You give the original file for the input and then move it to the processed files on the outputs. The processing can be anything: as long as you produce a file object on the output, you can call whatever you want to call, even an external service. [00:09:04] What’s the biggest file that you’ve tested Shrine with? Have you run into any kind of memory leaks?
In Shrine nothing is done through memory, everything is done via streaming. When you’re streaming you don’t lose anything. It works for both small and large files. [00:11:48] Explain what goes into building a file upload system. What are the concerns?
The framework handles the way the file is uploaded for you. Once the file is uploaded it’s stored into a temporary file. A gem handles most of the heavy work. Shrine makes a wrap around it. A lot of work goes into deciding which file attraction process needs to go in which order. It is important that you don’t upload in a data based transaction (?) 14:41 if processing lasts for longer time, whole time. There is a lot of time and decisions about what to do when. [00:15:10] Do you have any blog posts about a migration plan? Do you have a good way to switch to Shrine?
Yes, Janko wrote migration guides. They include what codes you need to have to transition to Shrine. None of them involve re-uploading file because files are already there, they just need to be assigned ids. Then records can be updated with the file in a way that Shrine would be able to find them, just need to do record updates. [00:17:29] What do you think active storage will do to the future of Shrine?
Janko may not be the best person to ask. He created Shrine for people who are not using Rails. It is difficult to tell at this point what active storage will do for the future of Shrine. [00:19:50] How is the community adoption implementation? What is your process with that?
There is a Google group for people to ask questions. The setup doesn’t look that much different. Adoption is more that Janko tries to write a lot of blog post emphasizing some of the things that are better in Shrine. Most of the adoption started from the Go Rails screencast. When the author started to release videos. People were able to see what it looks like from start to finish. Go Rails is a great way to bring a library closer to a wide population. [00:23:26] What stack are you using?
The preferred web framework is Roda and Sequel. [00:25:00] Is there anything out there that you feel that these uploading that you adding to Shrine?
He feels like there is integration missing, which would be nice to have but he started working on he already knew what he wanted Shrine to support up front. Most of those features were added in the first and second release of Shrine. People won’t find on demand processing in Shrine because he decided not to add that. [00:29:54] Security Points of Shrine
Uploads have to be authenticated. If a file is uploaded to a URL another person should not be able to review that file. If you want to authenticate files, you need to serve the files from your Rail set. [00:32:55] How much time have you spent doing Shrine?
Two years. Picks: Dave:
Wallabag: https://wallabag.org/en Charles:
Stair Points
Skil Saw: http://www.amazon.com/dp/B0731Q92BY/?tag=chamaxwoo-20 Janko:
Event Machine: http://www.rubyeventmachine.com/ Links:
GitHub: https://github.com/janko-m Twitter: https://twitter.com/jankomarohnic?lang=en Special Guest: Janko Mahronic.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
RR 319 Machine Learning with Tyler RenelleThis episode of the Ruby Rogues Panel features panelists Charles Max Wood and Dave Kimura. Tyler Renelle, who stops by to talk about machine learning, joins them as a guest. Tyler is the first guest to talk on Adventures in Angular, JavaScript Jabber, and Ruby Rogues. Tune in to find out more about Tyler and machine learning!What is machine learning?Machine learning is a different concept than programmers are used to.There are three phases in computing technology.
RR 318 Metaprogramming with Jordan HudgensToday's Ruby Rogues podcast features Metaprogramming with Jordan Hudgens. We have panelists Jerome Hardaway, Brian Hogan, Dave Kimura and Charles Max Wood. Tune in and learn more about metaprogramming![00:02:00] – Introduction to Jordan HudgensJordan is the Lead Instructor at Bottega. Bottega has locations in Salt Lake City, Utah and in Phoenix, Arizona. They’re a full-stack development code school.[00:02:55] – MetaprogrammingMetaprogramming was one of those scary concepts. At the code school, when the students learn about metaprogramming and how it works, you can tell that it’s definitely a pretty exciting thing. Its formal definition is it’s a code that writes code. It can dynamically, at run-time, render other methods available to the program.[00:04:10] – Use cases for metaprogrammingThe best use case that Jordan has ever seen is implemented in Rails and that’s code that can run database queries such as User.find_by_email. By passing the email, it will go and find the user with that particular email. Now, there is no method in active record or in the user model that is called find_by_email. That’s something that is created at run-time.Another one is something that Jordan has implemented and that’s a phone parser gem. It essentially parses and validates a phone number. It also has a country code lookup. With all the countries in the world, that would be very time-consuming. But within 8 lines of code, it could do what a hundred lines could do without metaprogramming.[00:06:50] – Performance implicationsJordan never had performance issues because the generation of methods is not something that’s incredibly memory intensive. You might run into that but it would be a poor choice to do in terms of readability.In Brian’s experience, it comes down to the type of metaprogramming you do. If you have a bunch of logic somewhere and method_missing, that’s going to be a performance bottleneck. And if you’re generating a bunch of methods when the application starts up, it might increase the start-up time of the application. But after that, the performance of the application seems to not have any fluctuation at all.There are 2 main types Jordan works with. First is method_missing. Method_missing could have a little bit of performance hit because of how Ruby works. The system is going to look at every single method. The second type is define_method. In define_method, you’re really just creating a large dynamic set of methods at runtime. When you start up the Rails server, it’s going to build all those methods but it’s not going to be when you’re calling it. Whereas in method_missing, it has a different type of lookup process. [00:11:55] – Method collisions on monkey patchingThat’s one of the reasons why monkey patching can have a bad reputation. You don’t know who else may be overriding those set of methods or opening up that class. Jordan’s personal approach is trying to separate things out as much as humanly possible. If there’s something that can be done in the lib directory, you can place that functionality inside of a separate module. And if you’re creating a gem, you have to be sensitive to other gems in that space or even the Rails core.[00:17:25] – How to be good citizens to other developersMetaprogramming has a lot of potentials to do great things but it also has a potential to cause a number of problems in the application. For Jordan’s students, what he usually does is walk them through some examples of metaprogramming where it can be done poorly. But then, he will follow it up with showing exactly when this is done right.He shows examples of poorly written classes that have dozen nearly identical methods. And then, he also shows how they could take all those methods, put the names in an array, and show how to leverage things like define_method to generate them. He also shows them how doing monkey patching can cause issues, how they can actually open up the string class and change one of the basic functionalities. Show that when they override that, that affects the entire rest of the application.[00:24:45] – Worst examples of metaprogrammingJordan ran into this hive of metaprogramming. When he opened up one of its classes, he had no idea what that class did. It was method_missing all over the place. Usually, there are 4 or 5 lines of code inside of that. It’s relatively straightforward and makes logical sense when you read it. This was nothing like that.They had multiple conditionals inside of the method_missing. One other hard thing about it is it does not have any test whatsoever. You need some test to make sure you’re capturing that functionality and to check if changes broke anything. You can’t also decipher what the inputs and outputs are.[00:28:35] – TestingFollow as much as real world examples. For example, in the phone parser gem, you can see some tests in there for that. You can also pass in the input that you plan to give. See if that matches the output. Jordan tells his students that respond_to_missing is as important to putting method_missing in there[00:35:25] – Resources to get started Paolo Perrotta’s book Metaprogramming Ruby is one of the standards for metaprogramming in Ruby. He also gave some fantastic examples. He created a story about a new developer who goes into a company and learns how to implement metaprogramming from senior devs. It’s very entertaining and it also covers all the different aspects to think of metaprogramming, when to use it and when it could be a very bad idea to use it.PicksJerome Hardaway
Dave KimuraBrian HoganCharles Max WoodRR 317: Computer Science at University and the Future of Programming with Dave ThomasCharles Max Wood interviews Dave Thomas about the Computer Science course he's teaching at Southern Methodist University, Elixir, and the future of programming. Dave is the author and co-author of several well known programming books including Programming Ruby (also known as the PickAxe Book), Programming Elixir, and the Pragmatic Programmer. This episode starts out discussing Dave's course and Computer Science education, then veers into Elixir and the future of programming. Tune in to hear where Dave thinks the programming industry is heading next. [00:02:30] Dave's Computer Science Course at SMU
Dave's advanced computer science course covers topics like source control and testing. He's been wanting to get into formal Computer Science for a while, so when he pulled back on his work at the Pragmatic Bookshelf, he approached SMU about teaching a course. He selected Advanced Application Development since he could teach pretty much whatever he wanted. The class is made up of Seniors and Master's students whose coursework primarily focused on theory, but lacked in the basics of coding as it happens "in the wild." The plan was to go in and subvert them with Elixir. All of the assignments are coding assignments and must be submitted with a pull request. Chuck recalls taking a class similar to the one that Dave describes. [00:06:22] Computer Science's focus on theory
People who go into academia generally get their degrees and don't spend any time in the non-academic world. So, they don't know what's important when it comes down to nuts and bolts programming. This serves the students that stay in academia, but fails to teach the skills needed by their students. They also focus on the mathematical aspects of Computer Science and fail to show students that if they get excited about software, it can be fun. [00:09:55] This is a job where we make a difference
Sometimes we do great harm. and sometimes great good. [00:10:23] How do you communicate all of these aspects of coding to the students?
You can't just tell them. Mostly, Dave just tries to be enthusiastic. The teaching as it's done now is like a eulogy given by someone who doesn't know the person. Instead, Dave shows his passion for coding, tells stories, and shows how fun it is to write code. Imagine walking down the street and seeing the code you wrote being used. Dave's code was used on the satellite sent to see Haley's Comet. [00:13:04] Software as a tool for change
A painter's medium is paint. Sculptors' stone. People in software don't "write" per se, but they still express themselves. This is a medium for programmers to get their thoughts out and interact with other people all over the world. We do a really crappy job explaining this to students.Dave is involved in after-school programs for software development as well. The ones that succeed don't approach software head on. They do fun and fancy stuff with Raspberry Pi or put a webserver up and then point out the concepts used in the programming. This approach is the future of development training. [00:16:01] Do you feel like CS programs aren't preparing students well? or have the wrong focus?
Students come out well versed in the theoretics of programming and can write programs. These are good things to know. The assumption is that they'll pick up the rest in their first couple of jobs. They're not preparing people to walk straight into a job, but prepares them to learn the rest on the job.A 4 year program should be done after 2 years working in the real world. Most of the things not taught don't make sense until the student has the problem that it solves. For example, source control. This would give them context for the things that are important and bring the knowledge back to the [00:20:26] What is in the curriculum?
In a few years, these students will probably be writing a functional language like Elixir. They start out writing a hangman game using Elixir. Then they add Phoenix. Then they add a webserver. The focus is around the fact that what you care about is state and transformations. Then someone will realize that you're really just implementing objects. Dave is trying to teach how to think in decoupled services. [00:22:28] The future is functional?
Elixir is a practical functional language and solves some problems that programmers have been trying to solve for a long time. Clojure has a strange relationship with the JVM. Elixir is not as cleanly functional as other languages, but it's functional enough. At the same time, you can write kick-ass web services as well. You also get the power of the Erlang virtual machine.Looking at Moore's Law, why aren't our processors getting faster? Over the last 10 years, they're not that much faster and the next generations are slower. But they have more cores. If you double the clock speed, you 8x the power dissipation. So, there's a limit to how fast you can go before you melt the processor. So, you run more cores at a lower speed. This vastly increases your processing power and lower your consumption.If you're writing processes that run on a core from start to finish, then it only uses 1/16th of the processor's power (if it has 16 cores.) So, we need a programming paradigm that supports parallelism. Concurrent programming is hard. Making data immutable makes it so you can eliminate common problems with threading and concurrency. Read-only (immutable) Object Oriented programming is effectively functional programming. We should see this change occur over the next 3-7 years. [00:31:05] Most of the people at Ruby conferences are using Elixir
When Dave goes to conferences about Ruby, he finds out that about 50% of speakers and many of the attendees are doing Elixir and/or experimenting heavily with it. Ruby and Rails changed the way we work, but in many ways the functional programming is changing things again. Scaling matters. We can't just throw hardware at it. You can drop your server bill by 10x or 100x.Elixir can get you there fast like Ruby, but it can also cut costs of running your server. [00:35:43] Is a computer science degree that way to get in? or should people get in through bootcamps or self learning?
It depends on your learning style. You do not want to get into Computer Science because your parents wanted you to have a good job. The students that get into it because of family pressure don't love what they're doing and are kind of stuck. Programming is hard enough that if you don't enjoy it you won't excel.In any case, do what works for you. You don't need to do a 4 year course of study to be a successful programmer. Quite a few good programmers Dave knows never took a CS course. If you do a course, find out that if the teachers are doing or have done the kinds of things you want to do. The better IT shops also tend to recognize that it's the person, not what they know, that really matters. So go to them and ask to apprentice with their good programmers at a lower salary. Then if you're contributing, ask for a competitive salary. [00:41:03] What do we as programmers assume about CS degrees that we need to change?
Don't let the HR department do the hiring. Making them happy is what gets you bogus job requirements. Instead, put together some requirements that hint that enthusiasm trumps everything else. Or, have criteria like "must be able to fog a mirror" and pick for enthusiasm. Or, go to local maker groups or users groups or community colleges where the kinds of people you want are, and talk to people. Then network into the people you want. Ignore the qualifications and pay attention to the qualities.One of the best people Dave hired was an alcoholic chemistry teacher, but he could get into a project. [00:45:00] You don't want a career.
Spend the next 5-10 years job hopping. You want experience, not a career. You have no idea what you want to do right now, so try lots of things. Then if it's not working move on.Picks Charles:
Ubuntu Bash on Windows
VMWare Workstation: https://www.vmware.com/products/workstation.html Dave:
Have something in your life that is relatively simple and relatively mechanical that you can fix if something goes wrong. (Dave tells us about his tractor.)Special Guest: Dave Thomas.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
RR 316 Learning Rails 5 with Mark LocklearOn today’s episode, we have Learning Rails 5 with Mark Locklear. Mark works for Extension.org. The discussion ranges from the introduction of Learning Rails 5 to the strategies that most successful students have for learning Rails. Stay tuned![00:01:30] – Introduction to Mark LocklearMark Locklear works for Extension.org, a USDA-funded or government-funded organization. He serves the Cooperative Extension Service but a lot of people know about 4-H Youth Group. They got a handful of websites that they maintain that are mostly Ruby on Rails-based.He has been with Extension.org for about 3 years. He is also a staff at a community college mostly doing Rails and IT things. He is also an adjunct instructor at the same community college. He was mostly doing quality assurance and testing work but moved into development work in the last 7-8 years.Questions for Mark Locklear[00:03:00] – You authored Learning Rails 5? It was an actually an update on an existing book – Learning Rails 3. Mark is an adjunct instructor and used that book. He contacted the developers or the original authors in O’Reilly so he can update the book. He updated a lot of the syntax and rewrote a couple of chapters. He also wrote the authentication chapter from scratch.[00:04:15] – What’s unique about your book?For Mark, there are all kinds of learners out there. There’s nothing necessarily unique about this book. It approaches Rails from a standpoint of having really no development skill at all. The only assumption would be that reader knows some HTML and basic things like for loops and conditional statements.[00:05:30] – Has Rails gotten more complicated?That was one of the challenges with this book. The original version of the book didn’t have any API stuff, any Action Cables, or anything like that. But now, we’re looking on adding chapters on those things. Mark doesn’t think Rails is hard to learn now. It’s been pretty backward compatible over the years. It looks very much like it did 5 or 10 years ago.Dave thinks Rails started to standardize a lot of things and with Convention over Configuration, a lot of it is taking care of it for you. The also added a lot of new features like Active Job (Rails 4), Action Cable (Rails 5), Webpack (Rails 5.1). He think that when someone gets accustomed to it, it’s almost second nature. Thanks to Convention over Configuration and the support for the community.According to DHH, Rails is not for beginners. It is a toolkit for professional web developers to get stuff done. But Brian disagrees that it’s not for beginners. It’s not so much that it’s harder to learn but it’s just a little harder to get started with. There’s just lots of different ways you can do in a Rails application by using RSpec, Cucumber, etc.[00:12:20] - What are the core fundamental things to know in order to write Rails apps?Mark spends a week on testing in his class. He focuses more on the Model View Controller paradigm. He also used RSpec and the basics of CRUD. Those things are transferable across whatever framework that they choose to work in. He also want to hit testing, sessions in cookies and user authentication.[00:18:30] - Is there an approach for people to enhance their experience as they learn Rails?Jerome believes in the “just keep it simple” methodology. When it comes to Rails, just learn Rails. Just focus on CRUD apps. Focus on the entirety of the framework, and not only on Rails, focus more on Ruby.Another suggestion from Brian is to start cracking open the Ruby source code, Rails source code and see how things work under the hood. Look at things and see if you can reproduce them or write your own implementations as you learn.[00:24:30] – What are the strategies of your most successful students that you’ve had for learning Rails?In Mark’s class, they have final projects with very strict requirements, basically going back and incorporating everything that they’ve learned. The app has to have a user authentication. It has to have sessions and cookies. And students who are most successful want to solve some problems and have the passion.One of the things that Brian have always seen that separates people who are high performers from the rest is that they’re doing a lot of practice. Spend a lot of time practicing and building apps.Dave encourages the listeners to work on some personal projects that they are passionate about. Deal with someone else and get some experience with some peer programming. Try to see what it’s like working with other developers on the same application, you’ll find that your codes much cleaner because you have to take into account multiple users working around the same code set.Jerome suggests to find a mentor, someone who’s willing to spend time to help with your programs. The students who are talking to their mentors every week usually come to be the strongest. And mentoring is a rewarding two-way street.[00:40:05] – Are there any other aspects of learning or teaching Rails that we should dive into?Mark says you should be uncomfortable every once in a while in implementing new technology. It puts you in the same mindset as your students becomes sometimes it’s becoming incredible overwhelming. And when teaching, Brian does not start with complex examples. He starts with simple ones.A faculty mentor has to observe Brian in his teaching. The mentor will say, “Just a reminder. You are the guide on the side, not the sage of the stage. You’re not there to tell them everything. You’re not there to make everyone think that you’re the coolest person up there. It’s your job to guide someone to the solution.”[00:49:25] – If I’m a Rails 3 developer, how do I learn Rails 5? Mark thinks that the approach is probably the same if you’re doing Rails 3 to Rails 4. The questions you will start asking yourself is, “Okay, what areas do you want to dig deeper? Do I have to use Active Job or something like that? What are my mailers? Are there additions to the framework?”Whenever Rails releases a new version, Dave reads the blog which highlights the new features that were added in. Pinpoint those features, do a little bit of independent research and think how you could incorporate them into your application. Use them as guiding tools to upgrade your older Rails application to a more current version. [00:52:15] – Two Writing Assignments for New Programmers Mark wrote a Medium article entitled “Two Writing Assignments for New Programmers.” In his class, they have two writing assignments. One of it is on diversity and technology. They also use Moodle as the learning management system where they can post questions.He got some push back from students but his explanation was that, part of being a developer is to be an effective communicator. Brian agreed and said, “Your job as a software developer is 20% coding, 80% dealing with people, their problems and their requests.” You have emails to read. You have emails to write. Brian always asks, “What are the most important skills you want our students to have?” The top 3 are always soft skills like communication, work ethics, etc.Mark adds that if you can’t do writing, if you can’t show up to work on time and communicate with your colleagues, then, none of your technical skills matter. However, if you can’t past the technical hurdle, you’ll never get a chance to use your soft skills. Dave also adds that if he can’t get out of these people what they’re envisioning, then, they’re going nto develop the wrong things.PicksDave Kimura
Brian HoganJerome HardawayCharles Max WoodOffshoring and Latin American Developers - David HemmatFor this episode of Ruby Rogues we have Jason Swett and Brian Hogan for our panel along with Charles Max Wood and a special guest, David Hemmat from BlueCoding.com. David and the Blue Coding team work to connect developer talent to businesses in need through a thorough process of vetting as well as a database collection of potential developers. Check out this episode to learn more!How did you get started?1:34David talks about going to school in the Dominican Republic worked locally, but later found work with US companies. He also set up a friend with a US job and they realized that there may be a demand as someone to bridge the gap. Developers did not have the access or a way to reach opportunities aboard so he started BlueCoding.com.About Blue Coding2:32BlueCoding.com has clients in the US and Canada. They focus on Latin America due to having close timezones in relation to the majority of companies that would be looking for developers. Also, Blue Coding helps in regard to bridging the cultural gap. Latin American work culture can be different that US or Canadian culture. David talks about how it’s much of a communication difference. Developers sometimes will agree to jobs they are unable to do and are timid to communicate and often just disappear. Despite this, many Latin American companies spawned from United States companies and will tend to have a similar working environment and culture as US companies.The General Experience With Offshore Hiring4:17David and the panel chat about their offshore hiring experiences. David expresses that there is sometimes an issue of many developers taking on work, and then seemingly disappearing. Often times coming back with excuses or in some cases actually over committing to work and just failing to communicate properly from the start. In some cases, like with countries like Venezuela, has a less reliable environment for the developers with things like power outages.“Not All Good Developers Are Good Freelancers.”6:18Freelancers tend to need a different skillset. Extra communication and need tools in place like time tracking and daily reports , etc. Companies that hire freelancers or offshore hiring in general need to have tools setup as well. David expresses that the best developers often are the ones that already have full time jobs. Blue Coding tries to help those developers find a better opportunity and has structured systems to create a workflow that works for both parties. David talks about having those tools in place for the developer including the time tracking and daily reports.The Companies Tools.8:33Blue Coding will also check with the client companies to make sure they have tools as well to help both parties have a smooth workflow. Project management software for the developer to see what they should work on next.Rates9:04Rates vary between $30 and $45 an hour. David tries to stay away from junior developers, looking for developers with 3–4 years working experience. Some companies pay $30 to $60. Latin American countries generally see a starting rate of $30 an hour. Asian countries can start as low as $10 an hour, but in rare cases. Some developers on the opposite side of things charge $100 an hour.Getting Offshore Developers10:47Most people start with upwork.com or Freelancer.com or something like that. Lower overhead but very limited vetting. Buyout fees are very high as well on these sites. There are companies similar to Blue Coding that are staffing companies that exist. Also, direct networking. Networking directly is extremely efficient. If you have a bad work history, networking also comes into play. David talks about their biggest source for developers are other developers, reaching out to find good hires by networking through the community.Dealing with ‘Boom and Bust.’14:19Freelancers tend to run into boom and bust cycles, loads of work followed by slow spells. David tries to avoid this by hiring carefully and picking clients carefully. Looking for long term projects, either be a continuous flow of projects or one large projects. With this focus on long term relationship building, BlueCoding is able to have much lower rates. Other companies usually don’t have safety from downtime, offering internal work to make up for it.Finding Companies that Hire Offshore16:08Most countries have job boards to help. Also, technology specific job boards. But it’s hard to compete there. US companies won’t hire offshore developers for the same rates and the same skills. You have to be really good. David pushes developers to have plenty of experience.How to Get Noticed?17:46Companies can be prejudice, but isn’t seen too often. Becoming a top level talent is key. Being average is harder. As an average or novice in an area with no community, finding online communities, Facebook groups, LinkedIn communities, working on open source projects, and going to events can help.Working remotely and being good at it [22:02]
It’s a two part effort. Companies can have tools to make things easier, but as a developer, you can request them. Communicate all online. All of the office talk should be online via Slack or some other documented system. Code reviews and Peer programming helps remote developers feel like a part of the team.Onshoring vs Offshoring24:28Some companies are hiring remote developers from the US. Why would someone want to hire from outside the country? Ultimately it comes down to finding a developer that fits in with what a company needs as well as matches the budget. Cost of living can change the rates for developers as well as where the company is located. David expresses that he wants to find really good developers, even if it means reaching out to Brazil or other parts of Latin America.Medical, Taxes, and Benefits24:43Each country has different laws. For example Dominican Republic has a law that states if you contract someone for over 3 months, they are considered employees and require benefits. Some countries allow Freelancers to work long term. Health care varies between companies.The Finical and Risks.32:14Freelancers and hourly workers tend to have less working time, spending some time each day to chase down work as well as managing time. Developers in general should notice that projects in general can have budget cuts and even end prematurely. In general a developer working as an employee will need to account for the benefits and extras thrown in when considering their rates.The Companies34:02What kind of companies are looking for this as a solution to their staffing problem? Most companies are smaller companies, 1 to 20 employees with a lot of long term development work. Generally three sectors, non tech companies that need tech work, digital agencies, and tech startups or established companies that already have a software product that needs to be maintained.How to find the Companies?36:30It’s a work in progress. References are vital, David talks about how vetting for developers ends with a very happy client that gives references. Also they spend a lot of time networking, conferences, meeting people online as well as cold calling. David mentions that it’s hard to express the quality of their service through email.Getting Started with Blue Coding?37:22For DevelopersGo to BlueCoding.com and find the link that says “join the team if you’re a developer” and you can connect that way. Just reach out to them and they will set up a conversation with you and see if there is a good fit. Then once a project comes in they will set you up with the vetting process.For CompaniesBlueCoding will want to set up a call with you. Reach out to them and setup a call. They will work through if you need a developer and what that developer looks like in regard to technical skills, personal skills, and general ability.Then the developers and clients have a meeting to make sure everyone is comfortable. Being comfortable is the most important part for this connection to end in a long term relationship.PicksJasonSamsungnite Columbian Leather Flat Over The Top Laptop BagBrianNew MacBook with Touch barCharles My Ruby Story Podcasts
Online Summit Format
Ruby Dev Summit
Ruby Rogues Parlay on Slack David Micro Conf.
Macbook Air
One Minute ManagerLinks to Keep up with David His Medium
BlueCoding.com
Email him Special Guest: David Hemmat.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
RR 314 DynamoDB on Rails with Chandan JhunjhunwalToday's Ruby Rogues podcast features DynamoDB on Rails with Chandan Jhunjhunwal. DynamoDB is a NoSQL database that helps your team solve managing infrastructure issues like setup, costing and maintenance. Take some time to listen and know more about DynamoDB![00:02:18] – Introduction to Chandan JhunjhunwalChanchan Jhunjhunwal is an owner of Faodail Technology, which is currently helping many startups for their web and mobile applications. They started from IBM, designing and building scalable mobile and web applications. He mainly worked on C++ and DB2 and later on, worked primarily on Ruby on Rails.Questions for Chandan[00:04:05] – Introduction to DynamoDB on RailsI would say that majority of developers work in PostgreSQL, MySQL or other relational database. On the other hand, Ruby on Rails is picked up by many startup or founder for actually implementing their ideas and bringing them to scalable products. I would say that more than 80% of developers are mostly working on RDBMS databases. For the remaining 20%, their applications need to capture large amounts of data so they go with NoSQL.In NoSQL, there are plenty of options like MongoDB, Cassandra, or DynamoDB. When using AWS, there’s no provided MongoDB. With Cassandra, it requires a lot of infrastructure setup and costing, and you’ll have to have a team which is kind of maintaining it on a day to day basis. So DynamoDB takes all those pain out of your team and you no longer have to focus on managing the infrastructure.[00:07:35] – Is it a good idea to start with a regular SQL database and then, switch to NoSQL database or is it better to start with NoSQL database from day one?It depends on a couple of factors. For many of the applications, they start with RDBMS because they just want to get some access, and probably switch to something like NoSQL. First, you have to watch the incoming data and their capacity. Second is familiarity because most of the developers are more familiar with RDBMS and SQL queries.For example, you have a feed application, or a messaging application, where you know that there will be a lot of chat happening and you’d expect that you’re going to take a huge number of users. You can accommodate that in RDBMS but I would probably not recommend that.[00:09:30] Can I use DynamoDB as a caching mechanism or cache store?I would not say replacement, exactly. On those segments where I could see that there’s a lot of activity happening, I plugged in DynamoDB. The remaining part of the application was handled by RDBMS. In many applications, what I’ve seen is that they have used a combination of them.[00:13:05] How do you decide if you actually want to use DynamoDB for all the data in your system?The place where we say that this application is going to be picked from day one is where the number of data which will be coming will increase. It also depends on the development team that you have if they’re familiar with DynamoDB, or any other NoSQL databases.[00:14:50] Is DynamoDB has document store or do you have of columns?You can say key value pairs or document stores. The terminologies are just different and the way you design the database. In DynamoDB, you have something like hash key and range key.[00:22:10] – Why don’t we store images in the database?I would say that there are better places to store the, which is faster and cheaper. There are better storage like CDN or S3.Another good reason is that if you want to fetch a proper size of image based on the user devices screen, resizing and all of the stuff inside the database could be cumbersome. You’ll repeat adding different columns where we’ll be storing those different sizes of images.[00:24:40] – Is there a potentially good reason for NoSQL database as your default go-to data store?If you have some data, which is complete unstructured, if you try to store back in RDBMS, it will be a pain. If we talk about the kind of media which gets generated in our day to day life, if you try to model them in a relational database, it will be pretty painful and eventually, there will be a time when you don’t know how to create correlations.[00:28:30] – Horizontally scalable versus vertically scalableIn vertically scalable, when someone posts, we keep adding that at the same table. As we add data to the table, the database size increases (number of rows increases). But in horizontally scalable, we keep different boxes connected via Hadoop or Elastic MapReduce which will process the added data.[00:30:20] – What does it take to hook up a DynamoDB instance to a Rails app?We could integrate DynamoDB by using the SDK provided by AWS. I provided steps which I’ve outlined in the blog - how to create different kinds of tables, how to create those indexes, how to create the throughput, etc. We could configure AWS SDK, add the required credential, then we could create different kinds of tables.[00:33:00] – In terms of scaling, what is the limit for something like PostgreSQL or MySQL, versus DynamoDB?There’s no scalability limit in DynamoDB, or any other NoSQL solutions.PicksDavid Kimura
How to Handle WTF'sToday's Ruby Rogues podcast features How to Handle WTF's. David, Brian, Jerome and Charles discuss front end frameworks. Tune in to learn more about when to use rails, and other frameworks!How do you choose your Framework?How do you want the app to behave, would be a good question to ask before you choose your framework. When you're mocking something up, it's paramount to think of the end product.Who are you doing choosing your Framework for? Are you using it for you, for your peers, for your business? Tune in to hear what our panelists think!Hey, this is cool. I want to share it.A great way to communicate with folks in the community, is to not force newer technology on each other, but share it. Encouraging stretching of skills is great, but trying to force yourself or someone else to use a Framework may not be the way to go. The panelists discuss their experiences in the community, and how different attitudes have affected members using different technologies.CollaborateAsk around! Need help? Reach out to devs in users groups, etc. Make the investment in your own skills, in your team skills, and don't be afraid to learn something new and ask questions.Picks:David: Get OpenJerome: Edibit, Extreme Ownership, New Rules Brian: Elm Charles: The Vanishing American Adult, Giftology Episode Links:Hacker News
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
How to Handle WTFsOn today’s episode of Ruby Rogues we are chatting about WTFs. On our panel we’ve got Dave Carmona, Brian Hogan and I’m Charles Max Wood. We talk a bit about some of the recent WTFs we’ve encountered and some of our tricks for handling it, including talking to a Rubber Duck. It’s a fun episode so check it out!WTF’s in Two FlavorsCharles starts out the episode inquiring to the panel about two different kinds of WTFs. The whats and the whys. WTFs that happen and developers don’t understand what the WTF is, and then on the other hand WTFs that happen and the developer doesn’t know why it’s happening.Unreadable Perl and the Rubber DuckDavid talks a bit about how hard it is sometimes to read and understand what is happening with Perl code, even if you wrote it yourself. Sometimes debugging Perl codes many years later, running into syntax errors end up being a ‘Why’ WTF. He introduces a method to use for ‘Why’ WTFs that he calls the ‘Rubber Ducky Debugging’ method. The ‘Rubber Ducky Debugging Method’ is when you place a rubber duck on your desk, and when you encounter a WTF you can simply talk through the issue to the duck to help you think through your issue. Brian and Charles add that this method works fine with real people as well and have done it many times with their wives, even for issues that don’t involve code.Blaming it on Past BrianBrain mentions that sometimes when working with someone else’s code, it’s easy to blame the previous developer. Unfortunately in his case, Brian finds that “Past Brian” has often been the culprit.Dave and Code he Doesn’t UnderstandWhen encountering classes that are really big with many different methods, find the entry point. If it doesn’t have a traditional initializer or call method for the entry point, you can look around other relevant parts of the code to try and figure it out. Sometimes if it’s obfuscated, you can go through variables and rename them to more relevant names to identify what they are doing to help understand the method at hand.Puts Debugging Aaron Patterson had written an article on his blog about ‘Puts debugging’ that turned Dave onto the the untraditional debugging method. Dave will sometimes write a separate debugger class to separate puts into a different log to keep it organized.Brian’s Version of Puts DebuggingBrian mentions that when working on a rails application he will sometimes raise the object he wants to inspect. Errors in Ruby are often something you wouldn’t expect and being able to quickly inspect the object using raise .Using raises the whole stack including the object, session, and cookies , etc.Dave’s Ruby LifesaversDave also adds that adding the gems to your development better_errors, and then en binding_of_caller are lifesavers. It allows for a more interruptive session with raised errors. Also, in Rails 4 the console feature was added, allowing you to tweak things and play around to debug. Also, Pry is really useful for loop through and investigate. Dave also notes that Pry, while being a great tool, can sometimes be a bit annoying if you have a large number of loops.Crazy Bug Story - BrianBrian talks about how in Elixir the declaring of methods is very similar to Ruby but at the end of Elixir method calls you add keyword do. If you do this in Ruby, the interpreter’s error message is unusual and doesn’t give any information that helps you find the issue, making it very hard to find the issue. This could be very time consuming for the debugger. He adds that having a second pair of eyes helps with issues like these.Crazy Bug Story - DavidDavid talks about working on a personal project late into the night. Using Rails 5.1.1, he thought that maybe his issue with the enumerators. He considered that maybe the issue was with Rails 5.1.1 being that is newer. To test to find out if he caused the error, he recreated a simple bit of code that uses enumerators and saw that it worked, then created the same project in 5.1.1 and it also worked, concluding that he created the issue. Later he found he declared the datatype for the enumerator as a string instead of an int. Brian added that creating a fresh application to test for errors is a great way to start debugging, in comparison to immediately to asking others what the problem might be. This method of checking can have a quick pay off if the code is simple. Also, creating new applications to test gives a great foundation of knowing that the problem is in your own code.Crazy Bug Story - CharlesCharles’ bug was something he encountered in his podcast feed application he created in Rails 4. Charles didn’t read the error message very well so he tried it debugging it with Puts Debugging. It’s turned out that he was using a strftime method that he had accidentally formatted the string wrong, using -’s instead of /’s.Characterizing with a TestIn issues like Charles’ you can take input that’s going into a method and then setup an integration test. Tests like this can be made fairly quickly. By copying and pasting the input parameters into a test like a Capybara test, then you can get a better idea of where the issue actually is.Creating the Error to Fix the ErrorBrain mentions that sometimes when he has a specific error, he will try to write a new set of code that reproduces the issue. Then from there he will try to ‘break’ the broken code in efforts to find a debugging solution in the original code.Making your Production Environment The Same as Your Development EnvironmentIf you’re using something like caching in your production environment, make sure it is set up in your developmental environment. Debugging caching issues can be some of the most complicated bugs to fix. If you set up your environment to be the same it helps. If you need to start the caching over during development or tests, it’s as simple as a CLI command. When you’re doing feature tests, if you do it with caching enabled, you can use timecop. Timecop allows you to essentially time travel to test timing issues without having to wait.Favorite Development ToolsSome of the panelist’s favorite tools are Pry, binding_of_caller, better_errors, Konami, and Sinatra. Google Chrome’s RailsPanel extension Works like MiniProfiler, but digs in further. By adding this gem to your development environment and running it on Chrome, it shows you all the requests that come through, the controller in action, and lists out all the parameters, as well as active record calls and errors.Favorite Production ToolsBrian suggests using any tools available to capture exceptions and error messages. Capturing these issues before the user contacts you makes recreating the issue and debugging it a lot easier. Dave mentions using New Relic to capture performance of application as well as error notification. With New Relic you can adjust the notification threshold and give it actions like sending it to a Slack channel. Then use something like Sumo Logic to concatenate and combine the logs if it’s coming from various servers.Shipping Logs Off FluentD can be used to ship off logs to analyze. In some cases management won’t be okay with shipping things off. Doing things internally can sometimes be too much and using a third party aggregation tools can be helpful.Some Tools Can Be HeavySumo Logic applet is Java based and takes up quite a bit of space. Jenkins is also a Java setup and takes many parameters to get running. In some cases with smaller applications, applets like Sumo Logic can take up more space than the application. Trying to parse multiple servers can be daunting and will definitely need a centralized logging option.Other Logging Tools Elastic.co and Logstash are other logging tools. They have integrations with tools like Docker and Kibana. If you can roll your own logging tools then great. But it’s usually time consuming and takes resources.Getting Information from People and Assume It’s WrongCharles mentions that in some cases, especially in cases where something you’re using is dated, resources can be limited to get information
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Today's Ruby Rogues podcast features Data Corruption in Rails with Peter Bhat Harkins. Peter started in rails since the time version 1.0 was released. He spent 5 years consulting full time, and now runs a consultancy for SAAS companies at Revenue.systems.Few months ago, he spoke at the Rails Remote Conf about Data Corruption in Rails. The issue comes up when a .valid call returns false. It happened twice on his end. Tune in to learn about it, and understand how you can provide an effective solution!Special Guest: Peter Bhat Harkins.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Today's Ruby Rogues podcast features MOOCs with Sam Joseph. Sam is the Chair of the Board of Trustees and the CoFounder of AgileVentures. They gather people from around the world to form small agile development teams for nonprofits and charities. He has been programming for a couple of years already. Tune in and learn about the massive open online course they're having!Special Guest: Sam Joseph.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Today's Ruby Rogues podcast features Phusion Passenger with Hongli Lai. Phusion Passenger is an intuitive web app server that a lot of developers enjoy. Hongli co-founded the company in 2008. Take some time to listen and learn more about it!Special Guest: Hongli Lai .
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
On today's episode, Charles, David, Brian, and Jason discuss Ramping Up on Existing Projects. Are you engaged in new projects but challenged on how to handle people, processes, and problems you just encountered? Tune in to learn different strategies that will get you out of the maze!
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
On today's episode, Charles and Dave discuss Confident Software with Mikel Lindsaar. Mikel wrote the Mail Gem, which is what he is known for in the Ruby community and rewrote TMail back in 2010. In the same year, he founded Reinteractive, a development company which is focused Ruby on Rails around the world. Tune in to learn more about what he's up to and find out what the episode has in store for you!Special Guest: Mikel Lindsaar.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
On today's episode, Charles, David, Jason, and Brian discuss TinyTDS, Databases, and SQL Server with Ken Collins. Ken has been in the industry for more than eight years. He is particularly known for the SQL Server Adapter for Active Records and TinyTDS. He currently works for CustomInk, and runs the Ruby user group in Hampton. Tune in!Special Guest: Ken Collins.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
On today's episode, Charles and David discuss about Rails 5.1.0. The new release is moving the community towards front-end JavaScript. Starting a Vanilla application has even become more convenient with Yarn and Webpack support. Tune in to this exciting talk to learn more!
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Obie Fernandez is the author of The Rails Way series. He has been in the programming industry for almost 25 years. He helped cultivate software development with Jason Swett at Africa. Tune in to today's fascinating talk about The Rails 5 Way with Obie Fernandez! Special Guest: Obie Fernandez.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
On today's episode, Brian Hogan, David Kimura, and Charles Max Wood discuss SQL Server for Rubyists with Carlos Chacon. Carlos is an SQL server enthusiast, managing partner of SQL Data Partners, and co-host of The SQL Data Partners Podcast. Tune in to know more what he is currently up to and how his SQL knowledge would help Rubyists!Special Guest: Carlos Chacon.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
On today's episode, Brian Hogan, David Kimura, and Charles Max Wood discuss web security. Security demands attention. Developers can't risk having their projects exploited by hackers and other such attackers. Tune in to learn about the different types and issues in security.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Brian Hogan has been writing and teaching about technology. He found that many of the great teachers taught from experience. Similarly, developers can help one another by writing a post or a book about a particular issue they've encountered and solved. Tune in to today's episode about writing for developers.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
On today’s episode, Charles Max Wood, David Kimura, and Brian Hogan discuss Extravaganza, sharing their history in Ruby Rogues. Brian and David have their own unique and exciting stories to tell. Tune in as they look back to their personal experiences and how far the show has gone since 2011.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
On today’s episode, Charles Max Wood, David Kimura, Jason Swett, and Brian Hogan discuss Software Intellectual Property and Forensics with Bob Zeidman. Bob is the President of Zeidman Consulting, a company dedicated in assisting clients and lawyers during litigation. He is an expert on patents, trade secrets, and copyrights of hardware and software. Tune in and be informed about the legal issues in programming!Special Guest: Bob Zeidman.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
On today’s episode, Charles Max Wood, Jason Swett, Brian Hogan, and David Kimura discuss Scope Wars and Being New with Malinna Leach. Malinna is a Junior Full-Stack Web Developer who just graduated from Makers Academy. Tune in and learn more about Scope Wars and what inspired her to write the blog post.Special Guest: Malinna Leach.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
On today’s episode, Charles Max Wood, Jason Swett, Brian Hogan, and David Kimura discuss Scaling Web Applications. Tune in and learn more as each of them share their own experiences in scaling Ruby applications!
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
On today’s episode, Jason Swett and David Kimura discuss The Future of Work in Web Development with Erik Dietrich. Erik is the founder of DaedTech LLC, programmer, architect, IT management consultant, blogger, and technologist. Tune in and listen as he talks about where he sees things are headed in web development.Special Guest: Erik Dietrich.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
On today’s episode, Charles Max Wood, Brian Hogan, and Jason Swett discuss The European Ruby Community with Devon C Estes. Devon is a Ruby and RAILS developer for Education Superhighway, a nonprofit in San Francisco which helps every public school classroom in America to upgrade their Internet access. He also does a lot of Elixir and open source stuff. Tune in as he shares more about the Ruby communities outside the US.Special Guest: Devon Estes.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
On today's episode, Charles Max Wood and Jerome Hardaway discuss JSON Web Tokens, Authentication, and Authorization with David Kimura. David has worked on Rubies as well as for Sage Software for about 7 years.Special Guest: Dave Kimura.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
On today’s episode, Charles Max Wood and Jerome Hardaway discuss Packaging Ruby with Nell Shamrell-Harrington. Nell is an expert Software Development Engineer at Chef Software. Tune in to learn how you can provide viable packaging solutions!Special Guest: Nell Shamrell-Harrington.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
1:25 - Is a bootcamp the best way for someone to enter programming?7:25 - Learning social skills for working with development teams
9:25 - Getting a well-rounded education20:00 - Learning how to find a job and have a career27:20 - The responsibility of code schools on helping you find a job30:55 - Job searches for the programmer32:30 - Picking the right bootcamp35:50 - Placement as a junior dev45:30 - Finding the time52:40 - Deciding if bootcamp is right for youPicks: The 7 Habits of Highly Effective People (Jason) How To Win Friends and Influence People (Jason) Corporate Confidential (Brian) Land the Tech Job You Love by Andy Lester (Brian) The Way of the Fight by George St. Pierre (Jerome) ID.me (Jerome) 10 Ways to Get Noticed by Potential Employers free email course (Charles) Devops Remote Conf (Charles) JS Remote Conf (Charles) Freelance Remote Conf (Charles) Free Code Camp (Charles) Flatiron School (Charles)00:30 - Introducing Brandon Hilkert
00:45 - What deployments have we used?3:22 - Heroku 5:10 - Dev/prod parity10:30 - Deployment stories11:50 - Continuous deployment
15:55 - Working with clients that are anti-testing and writing tests28:50 - Server setup34:05 - Nginx and Passenger 39:35 - Handling caching issues and increasing server space44:25 - Methods for deploying46:30 - Team size and deployment49:40 - Monitoring toolsPicks: Dinosaur Odyssey by Scott Sampson (Jason) Shadows of Forgotten Ancestors by Carl Sagan (Jason) Rails Solutions: Ruby on Rails Made Easy by Justin Williams (Jerome) Take My Money: Accepting Payments on the Web by Noel Rappin (Brian) Deploying with JRuby by Joe Kutner (Brian)RR Episode 281 with Noel RappinRR 150 with Joe KutnerEcho Dot (Charles) The Life-Changing Magic of Tidying Up by Marie Kondo (Brian) Getting Things Done by David Allen (Charles)00:25 - Introducing Jay McGavren
1:20 - Teaching style and joining Treehouse 4:35 - Head First Ruby’s ideal audience8:00 - Challenges with teaching11:30 - Writing Head First Ruby 12:50 - Doing research15:20 - Reader feedback16:05 - Hangups when learning Ruby20:45 - Searching for error messages23:20 - Early days of programming24:20 - Jay’s switch from Pearl to Ruby30:50 - Building a thorough education with Ruby39:05 - The rate of Ruby change48:30 - Different languages and coding standardsPicks: Effective Ruby: 48 Specific Ways to Write Better Ruby by Peter J. Jones (Jerome) The Ace Editor github (Jerome) Titan: The Life of John D. Rockefeller, Sr by Ron Chernow (Jason) Something Wicked This Way Comes by Ray Bradbury (Jason) Evans Mill (Charles) Selfie Sticks (Charles) Shiren the Wanderer video game (Jay) The Humane Interface by Jef Raskin (Jay)Special Guest: JayMcGavren.00:45 - Introducing the Wood brothers and their work
3:05 - Upgrading Rails without breaking it6:25 - Working with clients with technical debt12:20 - Frequently seen projects and clients14:45 - Upgrading clients from older versions of Rails22:50 - Why do clients push off upgrading?28:10 - How do you know when it’s time to upgrade?34:35 - Finding the right clients37:50 - Avoiding technical debt40:30 - Upgrading Rails yourselfPicks: Suture Gem (Ben) Debride Gem (Ben) JRuby Truffle Project by Oracle (Josh)00:40 - Introducing Cameron Dutro
2:15 - What is the Asset Pipeline?5:35 - Problems and limitations of the Asset Pipeline8:10 - Cameron’s biggest frustration with the Asset Pipeline14:45 - Doing it the Rails way, the Angular way, or the React way20:25 - Keeping your Webpack and Asset Pipeline separate: Working with Javascript and Rails31:45 - Creating your own preprocessor for putting a file format into the pipeline00:35 - Introducing Sam Joseph
2:15 - All about Agile Ventures6:25 - Social innovations9:30 - Common needs of charity organizations15:15 - Origins and growth of Agile Ventures19:19 - Website One22:00 - Goals for the future of Agile Ventures24:40 - Getting involved29:00 - Finding motivated team members and using MOOC32:40 - Connecting with your team and building up confidence37:40 - Direct Messaging42:10 - Fear of asking questions on Stack Overflow52:17 - Scaling Agile Ventures56:15 - Predictions for the futurePicks: Flow: The Psychology of Optimal Experience by Mihaly Csikszentmihalyi (Jason) jason@benfranklinlabs.com for working with Jason as a consultant (Jason) Dataclysm: Love, Sex, Race, and Identity--What Our Online Lives Tell Us about Our Offline Selves by Christian Rudder (Jerome) Remote: Office Not Required by Jason Fried and David Heinemeier Hansson (Jerome) MindMup2 (Charles) Born to Win seminar by Zig Ziglar on Audible (Charles) Rail Roady (Sam) The Shadow Out of Time by H.P. Lovecraft (Sam) Genestealer Cults by Peter Fehervari (Sam) Tyranids (Sam)Special Guest: Sam Joseph.00:15 - Fabio’s experience writing the first Portuguese Ruby on Rails book
7:35 - Effect on Fabio’s career9:10 - Sharing your knowledge without being an expert11:30 - Is Ruby still exciting? Should you learn a new language?18:50 - Using a different language and returning to Ruby22:30 - Learning Crystal 24:20 - Building a new project and choosing a technology32:20 - Retiring from Ruby Conf BrazilPicks: Toastmasters International (Jason) Clean Code: A Handbook of Agile Software Craftsmanship by Robert Martin (Jason)(Jason) Figma (Jerome) Ifttt (Jerome) How to Build a Billion Dollar App by George Berkowski(Jerome) Fabio’s blog (Charles) The Twelve Week Year by Brian P. Moran and Michael Lennington (Charles) The Mythical Man-Month: Essays on Software Engineering by Frederick Brooks (Fabio) Cosmos by Carl Sagan and Cosmos by Neil Degrasse Tyson (Fabio)Yaer (Fabio)Special Guest: Fabio Akita.00:55 - Why study React on Rails?
04:30 - Redux07:40 - Using React on parts of an app and not the whole11:05 - Jsx, Webpack, and Hot Module Reloading16:05 - Integrating React with Ruby on Rails19:55 - Libraries25:05 - Is React on Rails automatic?28:30 - Server rendering30:55 - Gaps between server rendering and page loading34:00 - Decision trees: Angular or React00:25 - Why Ruby is still relevant06:30 - How we got started with Ruby08:20 - Why are people saying Ruby is dying?13:00 - The Ruby community15:00 - Debating the “waste of time” argument20:05 - Learning other languages23:50 - The “pie”27:05 - Revitalizing Ruby38:15 - Advice for the worrierPicks: Angular for Rails Developers by Jason Swett (Jerome) Vets Who Code (Jason) The Rise of Theodore Roosevelt by Edmund Morris (Jason) Your Money or Your Life by Vicki Robin (Jason)Going outside (Jason) Gitlab (Charles) Devchat Conferences (Charles) The 12 Week Year and spreadsheet (Charles) Devchat hangout/webinar (Charles)
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
00:42 - Introducing Jason Swett
00:30 - Introducing Noel Rappin
1:00 - Addressing the Ruby Rogues rumors3:10 - History of the show6:30 - Why Charles Max Wood does the podcast10:40 - Listener emails13:50 - Moving forward with Ruby Rogues18:30 - Answering questions from the chat
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
00:45 - Introducing Jerome Hardaway and Vets Who Code
3:40 - All about Vets Who Code 8:00 - Special considerations for the Veteran community13:10 - Coding and social/life skills21:45 - Veteran lingo and coding26:45 - Transitioning into the civilian workplace30:50 - Vets Who Code gender breakdown35:20 - Connecting with Vets in the tech world41:40 - Expanding Vets Who Code46:25 - Common jobs for Veterans in tech50:40 - Vets Who Code success stories55:00 - Supporting Vets Who Code0:45 - Introducing Carina C. Zona
2:10 - Coding consequences6:00 - Examples of consequences10:50 - Data quality theories14:05 - Preventable Mistakes and Algorithmic Transparency17:30 - Predictive Policing and Biased Data22:07 - Coder Responsibility00:30 Introducing Andy Hunt
5:25 - GROWS Method13:20 - How GROWS solves Agile’s shortcomings19:50 - GROWS for executives22:50 - Marketing25:30 - GROWS and laying framework for change29:00 - How empirical is GROWS?33:35 - How expectations from the Agile Manifesto have changed36:10 - Prescribing practices that work40:00 - Getting feedback42:40 - Human limitations46:00 - Meaning behind GROWS name50:05 - Knowing when to scale up53:00 - Agile Fluency1:15 - Introducing Kenzi Connor
01:11 - Aurynn Shaw Introduction
01:56 - Contempt Culture07:32 - “But PHP is objectively bad….”; True Objectivity10:35 - The History of The Contempt Culture in Tech Spaces12:40 - Reinventing Tools15:00 - “Intent is not magic.”20:09 - Contempt Culture in the Ruby Community Towards PHP21:56 - Why Contempt Culture Forms01:42 - Amir Rajan
Check out Angular Remote Conf and React Remote Conf 01:55 - Jamis Buck Introduction
02:57 - Mazes02:39 - Cameron Dutro Introduction
02:39 - Internationalization vs Localization 05:28 - How important is internationalization?13:54 - Internationalization and AccessibilityDeveloper Ignorance/Indifference19:43 - Tools24:48 - How can small companies internationalize?26:22 - Crowdsourcing30:34 - People Have NamesCheck out Newbie Remote Conf! 03:09 - Kronda Adair Introduction
03:11 - WordPress07:59 - Why do developers hate WordPress?14:53 - Using Tools That Fit Technology Preferences02:33 - Frank McSherry Introduction
03:06 - Computation03:48 - When are more computers needed?04:28 - Scalability! But at what COST?Get your Ruby Remote Conf tickets! 02:42 - Nadia Odunayo Introduction
05:00 - Ruby Book Club 11:20 - Nadia Odunayo: The Guest: A Guide To Code Hospitality @ RailsConf 2016 17:23 - Collaboration and Pairing: Guest and Host Roles; Driving and Navigating24:42 - Perspectives and MappingCheck out Ruby Remote Conf! 02:39 - Tom Stuart Introduction
Check out Ruby Remote Conf! 02:12 - Ra’Shaun “Snuggs” Stovall Introduction
02:29 - Noel Sagaille Introduction02:56 - The Pomodoro Technique04:43 - Community and Community LeadersCheck out our speaker list and sign up for Ruby Remote Conf! 01:53 - Kerri Miller Introduction
02:12 - Networking Without Networking04:22 - Social Currency 06:35 - Creating Opportunities to ConnectWant to be a Ruby Rogue? Apply at https://rubyrogues.com/ruby-nuby 01:47 - Reuven Lerner Introduction
01:59 - Jay Bobo Introduction
04:20 - Pair Columbus 07:28 - Meeting Formats11:21 - Organization14:57 - Attendee Experience Levels15:56 - Matching People18:04 - “Three Amigos”19:33 - Pair Programming and Communication/Chemistry01:37 - Greg Baugues Introduction
01:29 - Neil Brown Introduction
02:32 - Where do new people get stuck?07:21 - Targeting Particular Age Groups13:46 - Becoming Professional Programmers15:33 - Apprenticing17:20 - Teaching Theory and Algorithms vs Practical Aspects20:42 - Value and Negotiating Raises24:06 - Preparing Students for Business Challenges25:39 - What is the first thing students should learn?28:46 - Using Games 30:45 - Using Music 31:48 - Hypotheses Testing34:08 - Tools38:23 - "Frame-Based Editing" 40:21 - Beyond Beginners41:15 - “My Holy Grail has been to radically simplify professional programming. I now realize that simplification is not fundamentally a technical problem but rather a cultural one. Our nerd culture embraces inhuman levels of complexity. Mastering mind-boggling complexity is our mutant superpower. It is our tribal marker. Complexity is the air we breath, and so it is invisible to us. Simplification will only come from outside this culture. To disrupt programming I first have to reinvent it for a fresh audience of non-programmers.” 44:26 - Technical Matters vs Elitism47:57 - Making Programming Easier to Learn51:20 - Team Structures in Academia vs IndustryPicks git-standup (Coraline)01:42 - Michael DiBernardo Introduction
02:27 - The Architecture of Open Source Applications Series 08:24 - Demonstrating Concepts in 500 Lines of Code12:24 - Why Open Source? 14:20 - Lessons Learned19:05 - Communication Issues22:41 - Reuse28:52 - What should people gain from the book?34:12 - How to Read a Book Like This (Retention)37:48 - Soft SkillsPicks Udi Dahan: The Fallacy Of ReUse (David)01:59 - Greg Wilson Introduction
02:37 - What’s Missing?05:48 - Disconnect Between Computer Scientists and Software Developers09:09 - How necessary are books?15:18 - Being Part of a Process vs Starting a Process17:01 - Software Tools; Spreadsheets28:45 - Language, Vocabulary, and Theory and The Software Craftsmanship Movement33:41 - Reinventing the Wheel36:24 - CrowdsourcingPicks Software Tools by Brian W. Kernighan and P. J. Plauger (Greg)02:25 - Julia Evans Introduction
02:52 - Derrick Reimer Introduction05:25 - SaaS Apps vs Other Web Development Projects06:18 - Scaling08:44 - Gathering Feedback12:01 - How has underlying technology helped and gotten in the way?15:18 - Choosing Boring Technology20:49 - Scaling (Cont’d)01:57 - Chris McCord Introduction
02:07 - Pete Hodgson Introduction
02:04 - Mindaugas Mozūras Introduction
02:36 - Automating Code Reviews03:17 - What is a code review and why do it?03:39 - Styles of Code Reviews: What parts should be automated? 06:04 - pronto vs rubocop08:26 - Workflow10:14 - Runners11:42 - Feedback13:21 - Use Cases for Pronto14:28 - How has pronto changed your codebase?15:34 - Feelings and Code Reviews; Agreeing on Standards as a Team17:38 - Return Values19:43 - Reviewing Pull Requests and Code Review Ethics 25:56 - Feature Flags02:00 - Gilad Bracha Introduction
09:17 - Programming Language Evolution and Design10:47 - Capabilities and Language Features02:00 - Dan Luu Introduction
05:33 - Dan Luu: Normalization of deviance in software: how broken practices become standard 08:59 - Yossi Kreinin: People can read their manager's mind 19:32 - The Letter ‘Z’ and Security25:13 - Notifications and Alerts31:24 - Fixing/Not Fixing Things; Feedback42:57 - How to Prevent Deviancy 47:54 - Bruce F. Webster: The Wetware Crisis: the Thermocline of Truth 53:43 - Finding a Job That Doesn’t Have These Problems58:08 - Having Routines and Setting Aside TimePicks octohatrack (Coraline)01:49 - Erik Michaels-Ober Introduction
02:07 - The Crystal Programming Language and Statically Typed Programming Languages06:54 - Type Inference 15:06 - Crystal vs Rust or Go 20:10 - Linting20:44 - Type Annotations and Perimeters02:02 - Ray Hightower Introduction
03:22 - Parallella05:39 - Web Developers and The Hardware World12:38 - Does a hardware background inform software?18:42 - Learning and Playing22:22 - Concurrency and Parallelism02:00 - Introduction
02:23 - Clearwater03:51 - How an App is Typically Structured05:39 - Persistence and Wiring Up to the Backend06:49 - Why Clearwater Was Created08:26 - How does it compare to prevalent JavaScript frameworks?This week, we’re bringing to you a behind the scenes look at the man behind the mic and the guy who puts out over 5 hours worth of free audio content per week to support the development community: Charles Max Wood.Long-time listener, Thom Parkin, asked Chuck if he would sit down and do an interview with him to describe all the interesting things he’s been up to and his goals for the future. In this interview, Chuck gives listeners a behind-the-scenes look at all of his podcasts, the DevChat.tv platform, RailsClips, his remote conferences and his upcoming book that will focus on tips for getting hired as a developer. Special Guest: Thom Parkin.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
This episode is from Ara T. Howard’s talk at Rails Remote Conf 2015. You can watch the full, unedited presentation, Program Like You Give a Damn, on YouTube at your convenience.
02:36 - http://www.amazon.com/gp/product/3642768199/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=3642768199&ie=UTF8&linkCode=as2&linkId=UTPZTXY2HXM5NO54&tag=chamaxwoo-20
- https://en.wikipedia.org/wiki/Hermeneutics
05:42 - http://pages.cs.wisc.edu/~remzi/Naur.pdf 07:55 - http://www.amazon.com/gp/product/1622030613/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=1622030613&ie=UTF8&linkCode=as2&linkId=XUQDR6SKKGNPHZL5&tag=chamaxwoo-20 13:14 - http://www.amazon.com/gp/product/1937785580/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=1937785580&ie=UTF8&linkCode=as2&linkId=W2LNYBF6WEDCTIPN&tag=chamaxwoo-20 14:32 - https://www.ng-book.com/2/ 16:09 - Paper Reading Group
- http://blog.acolyer.org
- https://speakerdeck.com/randommood/we-hear-you-like-papers
19:58 - http://www.amazon.com/gp/product/0345472322/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=0345472322&ie=UTF8&linkCode=as2&linkId=6GL2VIKO2JSJBA7A&tag=chamaxwoo-20 20:29 - http://www.amazon.com/gp/product/0984782850/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=0984782850&ie=UTF8&linkCode=as2&linkId=SL7NNSEN6XDPOQ2K&tag=chamaxwoo-20 22:01 - Ruby Rogues Book Club Books Episodes
- https://devchat.tv/ruby-rogues/023-rr-book-club-smalltalk-best-practice-patterns-with-kent-beck
- https://devchat.tv/ruby-rogues/087-rr-book-clubpractical-object-oriented-design-in-ruby-with-sandi-metz
- https://devchat.tv/ruby-rogues/068-rr-book-club-growing-object-oriented-software-guided-by-tests
- https://devchat.tv/ruby-rogues/097-rr-book-club-patterns-of-enterprise-architecture-with-martin-fowler
- https://devchat.tv/ruby-rogues/178-rr-book-club-refactoring-ruby-with-martin-fowler
22:43 - Books to Learn When You’re Learning to Become a Software Developer
- http://www.amazon.com/gp/product/0321934113/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=0321934113&ie=UTF8&linkCode=as2&linkId=HKNO5SF54LKAX3FS&tag=chamaxwoo-20
- http://www.amazon.com/gp/product/0201835959/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=0201835959&ie=UTF8&linkCode=as2&linkId=3BX6EZBTOVX6QI5Z&tag=chamaxwoo-20
- http://www.amazon.com/gp/product/1572316217/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=1572316217&ie=UTF8&linkCode=as2&linkId=4S7XSPUJN5FHMZOS&tag=chamaxwoo-20
- http://www.amazon.com/gp/product/0735619670/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=0735619670&ie=UTF8&linkCode=as2&linkId=XECNAG66UGKVUFD2&tag=chamaxwoo-20
- http://www.amazon.com/gp/product/020161622X/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=020161622X&ie=UTF8&linkCode=as2&linkId=SO3GOODNFTTFQ364&tag=chamaxwoo-20
- http://www.amazon.com/gp/product/1934356050/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=1934356050&ie=UTF8&linkCode=as2&linkId=EKWMGGNCZFICVBJV&tag=chamaxwoo-20
- http://www.amazon.com/gp/product/020161586X/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=020161586X&ie=UTF8&linkCode=as2&linkId=5VAJR6HTZUKVHN46&tag=chamaxwoo-20
33:07 - Technical Programming Books
- http://www.amazon.com/gp/product/0596004923/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=0596004923&ie=UTF8&linkCode=as2&linkId=DEVBMUXD6VIDRSHX&tag=chamaxwoo-20 (The Camel Book)
- http://www.amazon.com/gp/product/0596003307/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=0596003307&ie=UTF8&linkCode=as2&linkId=6BUTUVPQ7QUHMVB7&tag=chamaxwoo-20
- http://www.amazon.com/gp/product/1449373712/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=1449373712&ie=UTF8&linkCode=as2&linkId=VAKREEBQW2H3OBDI&tag=chamaxwoo-20
- https://pragprog.com/book/ruby/programming-ruby
- http://www.amazon.com/gp/product/1937785564/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=1937785564&ie=UTF8&linkCode=as2&linkId=ST7QMM3CTACK3XJ7&tag=chamaxwoo-20
- http://www.amazon.com/gp/product/0321992474/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=0321992474&ie=UTF8&linkCode=as2&linkId=5Y5BSCTJD53WFDJ4&tag=chamaxwoo-20
- http://www.amazon.com/gp/product/0596008945/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=0596008945&ie=UTF8&linkCode=as2&linkId=UF24FRF6G6DQ2SB3&tag=chamaxwoo-20
- http://www.amazon.com/gp/product/1449373194/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=1449373194&ie=UTF8&linkCode=as2&linkId=65ODF5K4TPXVWXLR&tag=chamaxwoo-20
- http://www.amazon.com/gp/product/1449394094/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=1449394094&ie=UTF8&linkCode=as2&linkId=ENHN255YKDNQ4EOL&tag=chamaxwoo-20
- http://www.amazon.com/gp/product/1934356557/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=1934356557&ie=UTF8&linkCode=as2&linkId=AVDZMSY4JUKGMZEU&tag=chamaxwoo-20
- http://poignant.guide/
- https://en.wikipedia.org/wiki/Why_the_lucky_stiff
41:17 - Pramming and Business Books
-
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
02:34 - Mike Gehard Introduction
03:23 - Monoliths 04:18 - Microservices 09:47 - Migrating a Monolith to Microservices Via an Evolutionary Path15:21 - The Steps Along the ContinuumCheck out Ruby Remote Conf: coming to you live in March! Buy a ticket or submit a CFP! 02:17 - Phil Spitler Introduction
03:20 - Panel opinions: What makes a good developer?07:26 - “Successful” vs “Great” Developers12:45 - Mentors: What to they epitomize?02:05 - Marcus Blankenship Introduction
02:52 - Pain and Difficulties of Moving From Programming to ManagementThis episode is from Peter Cooper’s talk at Ruby Remote Conf 2015. You can watch the full, unedited presentation, Swiss Army Rubyknife, on YouTube at your convenience.
Check out JS Remote Conf and submit a Ruby Remote Conf CFP! 02:26 - Refactoring (Definition) and Where People Fail03:55 - Tests and Refactoring
Check out JS Remote Conf and All Remote Confs! 02:32 - Brad Urani Introduction
04:01 - Immutable/Persistent Data Structures; Advantages07:30 - Tools for Debugging08:23 - Why do Rubyists care about things like Elm?09:39 - Persistent Data Structure Use Cases; Functional Programming12:07 - Testability13:51 - Where does “functional play a role in a typical CRUD app? Active Record,02:10 - Brian Underwood Introduction
02:55 - Neo4j04:31 - Graph Databases vs Traditional Databases06:02 - Relations Have Directions06:58 - Modeling a Domain as a Graph; How it Works13:25 - Built-in Query Processor15:04 - Neo4j.rb => ORM; OGMCheck out JS Remote Conf! 02:07 - Rob Miller Introduction
02:28 - Jerod Santo Introduction
02:44 - Adam Stacoviak Introduction02:55 - The Changelog and Beyond Code (Background)02:36 - Responsibility and Communication
02:20 - Eric Normand Introduction
03:31 - Old vs Young Programmers05:38 - Teaching Fundamentals11:02 - Teaching Backgrounds12:13 - Why is so hard to be a good teacher?15:54 - Teacher Feedback19:46 - Asking Questions25:56 - Community Education28:20 - Order of Operation29:36 - Recognizing Students Understanding of Fundamentals31:25 - Should there be prerequisites?34:30 - How to Assess Where People Are 35:43 - Teaching the Teacher39:10 - Bootcamps 45:52 - After BootcampsMentoring52:11 - Skill vs Knowledge More From EricGo check out Rails Remote Conf! 02:30 - Lee Byron Introduction
02:46 - GraphQL04:16 - GraphQL vs REST09:43 - EndpointsCheck out and get your ticket for Rails Remote Conf! 02:00 - Sarah Mei Introduction
06:11 - Why It’s Hard to be “The First Person”When is it worthwhile to introduce a new language, tool, or database? And when will it likely bite you in the rearend?02:43 - Episode Idea Background
04:28 - Implementing Standards and Comparisons02:00 - Luca Guidi Introduction
02:35 - The Lotus Framework03:56 - Working Full-time on Open Source04:55 - Flat MVC06:26 - Maintainability07:42 - Entities and Repositories10:42 - Controllers, Views, Conventions, and Templates (Structure)16:41 - Helpers17:56 - The Controller Layer20:12 - Validations23:26 - Testing29:23 - The API32:37 - Contributing to Lotus34:50 - Using Fewer Gems 39:09 - Lessons Learning Building Lotus41:42 - Philosophy 42:56 - Upcoming FeaturesPicks Threes (Jessica)Check out Rails Remote Conf! Submit a CFP!01:53 - Daniel Kehoe Introduction
02:07 - Digital Nomad Lifestyle08:45 - RailsApps & Rails Tutorials02:03 - Laurent Bossavit
03:11 - The Leprechauns of Software Engineering by Laurent Bossavit 04:52 - The 10x Programmer13:07 - The Custom Defects Curve15:33 - Leprechauns and Local Truths (Does Needing to Prove Others Wrong = Fear?)22:53 - The Feedback Cycles25:09 - Agile, Waterfall, and The Software Crisis02:18 - Ben Browning Introduction
02:46 - TorqueBox 04:05 - Use Cases and Benchmarks06:32 - The Genesis of TorqueBox07:49 - JBoss09:15 - The Name “TorqueBox”10:12 - Adoption12:05 - Documentation13:18 - When should/could you use TorqueBox?17:25 - Monolith vs Microservice21:36 - JAR Files and WAR Files 25:31 - Server Setup & Deployment Process27:16 - Packaging Static Assets in JAR and WAR Files28:27 - Contribution and Community Involvement32:55 - Startup Cost35:53 - Getting Started with TorqueBox37:33 - Immutant 40:17 - The Rack Spec and TorqueBox42:11 - Useful Features44:26 - Building Useful Features45:53 - GrowthPicks [Khan Academy] Pixar in a Box: Introduction to Animation Curves (Saron)02:05 - André Arko Introduction + Bundler
04:28 - Ruby Together10:52 - Ruby Central14:23 - Ruby Together Timeline16:01 - Open Source People Depend on vs Open Source as a Hobby17:03 - Corporate Member Rights / The Structure of Ruby Together02:35 - Yorick Peterse Introduction
03:07 - oga06:38 - Fixing vs Writing an Alternative Feature14:01 - Doing a Document Instead of a Programming Language16:01 - Modifying XML Documents17:19 - Inputting in Memory19:09 - Extending oga with C22:44 - Parsing25:16 - Resources28:57 - Lessons Learned Building oga 30:14 - Writing Parsers in Other Languages31:19 - Getting Started34:19 - Making oga and Using oga at Work35:42 - Did it make a better API?37:23 - The Community and ContributionDon’t miss out! Sign up for Angular Remote Conf! 02:28 - Sean Griffin Introduction
02:53 - Rails 5 Ship Estimate?03:15 - What’s Coming in Rails 5?04:13 - Approachability For New Developers05:49 - Making Decisions06:46 - “Syntax”07:40 - Adding or09:36 - The Attributes API 12:57 - Serialization & Deserialization21:26 - Feature Proposal & Policies22:46 - preload, eager_load, includes23:59 - prepend25:29 - Deconstructing/Constructing APIs28:27 - bound_attributes() 29:58 - Trying Ideas and Going About Development in Rails32:01 - Legacy Code33:43 - The Migration Path From Rails 4 => 534:59 - Other Changes Outside Active Record39:19 - Performance41:09 - Trying Rails43:05 - Tests43:52 - Are the guides and documentation up-to-date? ExtrasCheck out Angular Remote Conf and RailsClips! 03:15 - Mike Perham Introduction
03:43 - Sidekiq Overview05:18 - Job Runners vs Queuing Systems, Background Jobs08:47 - Performance09:49 - celluloid vs Ruby Threads11:47 - The GIL (Global Interpreter Lock) 12:49 - Passing Data14:01 - Performance Boost From Using JRuby?15:48 - The Actor Model20:39 - Sidekiq RoadmapCheck out RailsClips and Angular Remote Conf! 02:46 - Leon Gersing Introduction
03:24 - “Augmenting Your Reality”07:06 - Emotional Goals and Quantifying Happiness13:49 - Quantification15:32 - Reacting to Data17:49 - Recognizing Patterns and Trends02:40 - Justin Collins Introduction
03:40 - Brakeman & Static Analysis 04:02 - Common Security Vulnerabilities (and Definitions)08:57 - The Inspiration for Brakeman09:47 - Getting Brakeman Working (Process)10:41 - Learning About Security13:01 - Security and The Rails Core Team15:19 - Should Brakeman be integrated into Rails?16:29 - Running Brakeman On Your CI Machine17:43 - Are there specific types of vulnerabilities that are hard to find with static analysis?19:18 - Rails Engines20:56 - When building an app, is security something you should focus on from the get-go?Check out RailsClips! 02:44 - Alex Wood Introduction
03:09 - Trevor Rowe Introduction03:26 - What is offered by Amazon Web Services (AWS)?06:48 - Setup and Taking Incremental Steps (The Cloud as a Paradigm)03:42 - Derek Prior Introduction
04:01 - Code Reviews05:14 - What happens when you don’t do code reviews?06:30 - Not Emphasizing Code Quality, Setting Code Review Up for Failure02:41 - Sam Aaron Introduction and Background
10:53 - Sonic Pi Defined02:28 - Ruby in a Polyglot Architecture (Panel Experience)04:21 - Does Ruby do well or not in the microservices area? Is Ruby keeping up?07:30 - What are areas where Ruby still beats other languages?
13:12 - Polyglotting Architecture if Only Using Ruby for Build Tools, Deployment Tools, etc.?02:25 - Daniel Jacobson Introduction
02:46 - How Netflix Looks at Programming and Development TeamGet your Ruby Remote Conf tickets and check out the @rubyremoteconf Twitter feed for exciting updates about the conference. 03:09 - Evan Czaplicki Introduction
03:15 - Richard Feldman Introduction03:42 - Elm 04:18 - Elm vs JavaScript06:52 - Reactivity07:28 - Functional Principles09:42 - “Side Effects” (Reactivity Cont’d)02:48 - Jim Gay Introduction
03:43 - Object Design04:39 - DCI (Data, Context, Interaction)07:20 - What Painpoint DCI Aims to Solve09:31 - Designing From DCI From the Start (Process)Sign up for Ruby Remote Conf!! 02:49 - Jeremy Evans Introduction
03:58 - Roda and Routing Trees08:56 - Roda vs Padrino, Sinatra 10:03 - Nested Routing11:09 - Snipping Routing Trees?13:19 - Dispatching from One Rack Application to Another13:54 - Rails Integration14:33 - Performance and Benchmarking17:29 - Streaming19:26 - Support Decisions (Roadmapping)22:05 - Plugin Architecture28:00 - Security30:17 - Apps That Work Well with Roda and Using Roda33:16 - Application Freezing36:12 - Jeremy’s Typical Stack/Workflow37:30 - When Should You Not Use Roda?38:39 - Roda Timeline and Roadmap40:01 - Jeremy’s Work/Life Balance43:46 - Open Source02:32 - Julian Cheal Introduction
02:49 - Julian’s Background with Robots and Drones03:32 - NodeCopter Events 04:31 - Traveling with Robots05:35 - Julian’s Collection and Projects07:46 - Giving Demos09:12 - What Makes Robots?10:21 - Where is IoT (Internet of Things) Heading?Check out and sign up for https://rubyremoteconf.com/!02:45 - Francesco Cesarini Introduction
- https://twitter.com/francescoc
- https://github.com/francescoc
- https://www.erlang-solutions.com/
- Books:
- http://shop.oreilly.com/product/9780596518189.do
- http://shop.oreilly.com/product/0636920020240.do
- http://shop.oreilly.com/product/0636920024149.do
03:08 - http://www.erlang.org/
- Multicore
- http://stackoverflow.com/questions/7005759/erlang-on-multicore-cpu
- History
- http://www.ericsson.se/
- http://www.erlang.se/
08:23 - Francesco and Erlang
- https://twitter.com/joeerl
- http://joearms.github.io/
10:49 - Building a Company Around a Language (https://www.erlang-solutions.com/)
- Products:
- https://www.erlang-solutions.com/products/mongooseim-massively-scalable-ejabberd-platform
- https://www.erlang-solutions.com/products/wombat
- https://www.erlang-solutions.com/products/riak-nosql-database
- Events:
- http://www.erlang-factory.com/euc2015/#home
- http://www.erlang-factory.com/
- http://www.codemesh.io/
- Projects:
- T-Mobile SMS Gateway
- Instant Messaging Gateway (2008-2009)
- Preemptive Support, Monitoring, Metrics & Alarming (https://www.erlang-solutions.com/products/wombat)
16:00 - http://www.erlang.org/
- http://devblog.avdi.org/2015/05/11/in-which-i-make-you-hate-ruby-in-7-minutes/
- http://pharo.org/
- The Concurrency Model
- Debugging
- Live Code Upgrade
- http://en.wikipedia.org/wiki/Smalltalk
- http://elixir-lang.org/
- http://en.wikipedia.org/wiki/Open_Telecom_Platform
24:25 - Error Handling Semantics
- Actors and Supervisors
- The Client-Server Behavior
- The Event Handler
- Finite State Machines
30:23 - Getting Started with Erlang
- Resources:
- https://pragprog.com/book/jaerlang/programming-erlang
- https://moodle.kent.ac.uk/external/course/view.php?id=237 (Erlang http://en.wikipedia.org/wiki/Massive_open_online_course)
- http://learnyousomeerlang.com/content
- http://shop.oreilly.com/product/0636920024149.do
- http://shop.oreilly.com/product/9780596518189.do
- Major Hurdles to Learning Erlang:
- Understanding Tail Recursion and Pattern Matching
- Concurrency
- Error Handling
34:23 - http://elixir-lang.org/ 35:28 - Erlang and Polyglot Architecture
- https://www.rabbitmq.com/
37:01 - https://www.erlang-solutions.com/products/wombat 38:57 - Erlang Pros and Cons
- Cons:
- Number Crunching
- Parallelism
- Graphics, Web Development, and Frontends
- Pros:
- REST APIs
- https://github.com/basho/webmachine
- https://github.com/ninenines/cowboy
40:44 - http://en.wikipedia.org/wiki/Test-driven_development
- http://www.erlang.org/doc/man/common_test.html
- https://github.com/richcarl/eunit
- http://www.quviq.com/products/erlang-quickcheck/
- http://www.erlang.org/doc/man/mnesia.html
- Shrinking
46:10 - Languages/Technologies on the Horizon (for Francesco)
- http://elixir-lang.org/
- Large-Scale Distributed Computing
- http://www.flowforwarding.org/
- https://github.com/FlowForwarding/
48:21 - The Erlang Community
- http://erlang.org/mailman/listinfo
- https://erlangcentral.org/
50:24 - Writing Apps with Erlang / IoT?Picks http://devblog.avdi.org/2015/05/08/a-personal-programming-language-roadmap/ (Avdi)
http://pharo.org/ (Avdi)
http://devblog.avdi.org/2015/05/11/in-which-i-make-you-hate-ruby-in-7-minutes/ (Avdi)
http://www.amazon.com/gp/product/0375706690/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=0375706690&ie=UTF8&linkCode=as2&linkId=MWQUHC65F2ARUNLP&tag=chamaxwoo-20 (Coraline)
http://www.tcm.com/this-month/article/1083885%7C0/Orson-Welles-Fridays-in-May.html (Coraline)
https://vimeo.com/112812515 (Jessica)
http://www.amazon.com/gp/product/0262521121/ref=as_li_qf_sp_asin_il_tl?camp=1789&creative=9325&creativeASIN=0262521121&ie=UTF8&linkCode=as2&linkId=O6ZYVOI2MTPAUEPZ&tag=chamaxwoo-20 (Jessica)
http://zerotoonebook.com/ (Francesco)
http://www.codenewbie.org/podcast (Chuck)
http://www.npr.org/programs/ask-me-another/ (Chuck)
http://www.startupsfortherestofus.com/ (Chuck)Special Guest: Francesco Cesarini.
Advertising Inquiries: https://redcircle.com/brands
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
02:30 - Noah Gibbs Introduction
02:53 - Nick Sutterer Introduction
03:31 - Trailblazer02:25 - Piotr Solnica Introduction
03:04 - Piotr Solnica: 8 Things I Learned During 8 Years of Ruby and Rails 03:45 - Test-Driven Development 06:17 - Building a Stack09:56 - (TDD) Test-Driven Development Cont’d15:36 - Immutability (Immutable Objects)02:37 - Dave Thomas Introduction
04:17 - How Dave Got Started in Programming06:34 - Tools and Constraints02:29 - Sean Fioritto Introduction
02:52 - Design and Sketching with CSS Background & OverviewThank you RailsClips Kickstarter Backers! 02:27 - Andrea Magnorsky Introduction
03:08 - What’s Up with Aaron Patterson?
16:45 - What’s Up with James Edward Gray?02:08 - Noah Gibbs Introduction
02:38 - Rebuilding Rails: Understand Rails by Building a Ruby Web Framework by Noah Gibbs03:06 - Sinatra 03:47 - Rack07:32 - Deploying Apps12:22 - Support, Operations, and Monitoring02:32 - Mark Bates Introduction
03:14 - Scott Feinberg Introduction03:46 - Community ValuesCheck out RailsClips on Kickstarter!! 02:23 - Justin Searls Introduction
03:02 - Justin Searls: The Social Coding Contract 04:58 - Transitive Dependences and Understanding Technical Debt15:21 - Learning Outside Work HoursCheck out RailsClips on Kickstarter!! 02:45 - Ashton Kemerling Introduction
03:00 - Ruby and Clojure14:50 - Difficulty23:13 - Generative Testing and Documentation02:25 - Neal Ford Introduction
The Rogues talk to ThoughtWorks' Sudhindra R. Rao about JRuby.Special Guest: Sudhindra R. Rao.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Ryan Stout about the Volt framework.Special Guest: Ryan Stout.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues interview Mitchell Hashimoto, the creator of Vagrant.Special Guest: Mitchell Hashimoto.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Kerri Miller and Coraline head the conversation with the rest of the Rogues about The Developer Happiness Team.Special Guest: Kerri Miller.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
2:55 - Introducing Joseph Mastey and Jill Lynch
3:20 - The origins of Enova’s apprenticeship program6:20 - Creating and teaching the curriculum11:05 - Realities of implementing an apprenticeship program15:30 - Jill’s experience21:10 - Feedback processes22:50 - Advice for setting up an apprenticeship program24:20 - Ideal candidates and mentors28:05 - Apprenticeship and new hire diversity28:45 - Experimenting with bias, communication, and engagement33:20 - Do trainees take too much time away from regular employees?37:05 - Teaching the codebase39:50 - Firing apprentices42:05 - Advantages of working at a lucrative company45:45 - Learning outside the program47:40 - Breaking into the industryThe Rogues talk to Craig McKeachie about choosing a JavaScript MVC framework.Special Guest: Craig McKeachie.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Jessica and Charles talk about community building with ZeroMQ's Pieter Hintjens.Special Guest: Pieter Hintjens.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about how to market yourself as a software developer.Special Guest: John Sonmez.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Corey Haines about his book, Understanding the Four Rules of Simple Design and other lessons from watching thousands of pairs work on Conway's Game of Life.Special Guest: Corey Haines.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about Noel Rappin's book, Rails 4 Test Prescriptions and TDD.Special Guest: Noel Rappin.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk SCIENCE! with Greg Wilson and Andreas Stefik.Special Guests: Andreas Stefik and Greg Wilson.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss the consequences of technology with Ben Hammersley.Special Guest: Ben Hammersley.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss keeping libraries and utilities small and simple with Michel Martens.Special Guest: Michel Martens.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about RubyInstaller with Luis Lavena.Special Guest: Luis Lavena.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Kinsey Ann Durham about new programmers and the barriers they face in the field and community.Special Guest: Kinsey Ann Durham.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk accountability and diversity with Meagan Waller.Special Guest: Meagan Waller.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues introduce new Rogue, Jessica Kerr, and talk with Martin Fowler in another book club episode: Refactoring Ruby.Special Guest: Martin Fowler.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss the link between creativity and technology.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Pete Hodgson about using Rails as an SOA client.Special Guest: Pete Hodgson .
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Heat Seek NYC co-founder William Jeffries.Special Guest: William Jeffries.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Eric Hodel about Rubygems.Special Guest: Eric Hodel.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk with Eileen Uchitelle about ActiveRecord and big data.Special Guest: Eileen Uchitelle.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about continuous deployment with Badri Janakiraman and Florian Motlik.Special Guests: Badri Janakiraman and Florian Motlik.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss evaluating yourself and how it is and isn't possible to achieve.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss Padrino with Dario Cravero, Nathan Esquenazi, and Arthur Chiu.Special Guests: Arthur Chiu, Dario Cravero, and Nathan Esquenazi.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss version managers with Michal Papis, Mislav Maronić and Postmodern Mod III.Special Guests: Michal Papis, Mislav Maronić , and Postmodern Mod III.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Craig Muth about the Xiki command line tool.Special Guest: Craig Muth.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about speaking at conferences.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
James and Chuck discuss polyglot programming.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk systems programming tricks and hacks with Julia Evans.Special Guest: Julia Evans.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Dave Thomas about keeping up and staying sharp in programming.Special Guest: Dave Thomas.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Katrina Owen comes back on the show to talk education with Coraline Ada Ehmke and the rest of the Rogues.Special Guests: Coraline Ada Ehmke and Katrina Owen.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss scaling Rails on Twitpic.com with Steve Corona.Special Guest: Steve Corona.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Sam Saffron about deploying in Docker.Special Guest: Sam Saffron.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Sam Livingston-Gray and Glenn Vanderburg about conceptualizing code. Special Guests: Glenn Vanderburg and Sam Livingston-Gray.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The panelists discuss education hacks with Saron Yitbarek.Special Guest: Saron Yitbarek.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk confessions about what they do when coding that they shouldn't and things that they should be doing but don't.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Rebecca Wirfs-Brock about her book Object Design: Roles, Responsibilities, and Collaborations on this Book Club episode.Special Guest: Rebecca Wirfs-Brock.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to guest, Julia Grace, about hardware hacking.Special Guest: Julia Grace.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues have a friendly discussion about why Ruby sucks and what the language could do to improve.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Megan Fox about indie game development.Special Guest: Megan Fox.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss threads from the Ruby Rogues Parley forum.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Jacqui Maher of the New York Times about covering the Olympics and the Times' use of Ruby.Special Guest: Jacqui Maher.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues honor fellow Rubyist Jim Weirich in a tribute episode.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Danielle Sucher about debugging.Special Guest: Danielle Sucher.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Sarah Allen about Ruby in Government.Special Guest: Sarah Allen.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Amy Palamountain about her talk, "Cloud Confusions: Ten Traumas in Ten Minutes."Special Guest: Amy Palamountain.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Michele Titolo about how to go about building APIs that don't suck.Special Guest: Michele Titolo.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss Pat Shaughnessy's book, Ruby Under a Microscope.Special Guest: Pat Shaughnessy.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Heather Rivers about data analytics.Special Guest: Heather Rivers.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss passion and enthusiasm towards programming.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Tinco Andringa and Hongli Lai about Passenger Enterprise.Special Guests: Hongli Lai and Tinco Andringa.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Greg Baugues about Depression and Mental Illness.Special Guest: Greg Baugues.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Part of The Programmer's Podcast Carnival, the Ruby Rogues speak with Ron Evans of The Hybrid Group on the importance and value of teaching kids to program.Special Guest: Ron Evans.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Richard Schneeman of Heroku.Special Guest: Richard Schneeman.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Sean Cribbs and Bryce Kerley of Riak.Special Guests: Bryce Kerley and Sean Cribbs.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The RubyRep brings you a collection of sound clips from the Rogues Retreat in Austin, Texas this past July.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues Discuss their latest book club book: Functional Programming for the Object-Oriented Programmer with Brian Marick.Special Guest: Brian Marick.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss Consulting and Product work with Steve Proctor.Special Guest: Steven Proctor.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Ilya Grigorik of Google about the ins and outs of HTTP 2.0.Special Guest: Ilya Grigorik.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Lucas Dohmen joins the Ruby Rogues to talk about his winning Ruby Golf submission: Sharktime, and also shares his experience with Computer Science Education and Functional Programming.Special Guest: Lucas Dohmen.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss threading with Emily Stolfo.Special Guest: Emily Stolfo.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this episode we discuss the implications of the recent NSA leaks and the role programmers play in the acquisition of data.Special Guest: Steve Klabnik.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
2:05- Are you born with talent?5:45 - Valuing effort, not ability9:20 - Getting into the discomfort zone13:30 - Do you need talent to become great?
Aja Hammerly talks to the Rogues about distilling data into a graphical representation that communicates the meaning and message of your data.Special Guest: Aja Hammerly .
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Ben Orenstein (@r00k) from the Giant Robots Smashing into Other Giant Robots podcast joins the Ruby Rogues to talk about adjusting and sharpening your development tools for better flow and easier development.Special Guest: Ben Orenstein.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Avdi Grimm about his book Confident Ruby
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Erik Michaels-Ober joins the Rogues for his long overdue appearance for winning the Twitter Golf contest from last year. Erik maintains the Twitter gem and rails_admin gem among many others.Special Guest: Erik Michaels-Ober.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Sam Livingston-Gray from Living Social joins the Rogues to talk about pair programming and how to do it remotely.Special Guest: Sam Livingston-Gray.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
A discussion about David Brady's "Loyalty and Layoffs" blog posts. The rest of the Rogues weigh in with their opinions.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Charlie Nutter joins the Ruby Rogues to talk about the intricacies, power, and uses for JRuby.Special Guest: Charlie Nutter.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Piotr Solnica joins the Ruby Rogues to discuss the upcoming ORM called ROM. It looks to be very promising in that it separates the persistence layer from the object and much more. Special Guest: Piotr Solnica.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Kenneth Kalmer comes on the show and discusses the ins and outs of long running processes and when and how to manage daemons in Ruby.Special Guest: Kenneth Kalmer.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Adam Keys from LivingSocial joins the Rogues to talk about the tradeoffs between working for a company on their product and being a freelancer or consultant.Special Guest: Adam Keys.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss "Understanding Computation" with author Tom StuartSpecial Guest: Tom Stuart.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Brian Hogan explains to the Ruby Rogues how to empathize with people who have disabilities and things to watch out for when building sites that they will use.Special Guest: Brian Hogan.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Ruby Rogues talk about their upcoming book Ruby Best Practice Patterns and what Best Practice Patterns mean.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Sam Saffron and Robin Ward discuss the technical details of building a large open source application use Ruby on Rails and Ember.js.Special Guests: Robin Ward and Sam Saffron.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Ruby Rogues discuss applications and projects they've worked on that were not Ruby on Rails projects. Includes Sinatra, command line applications, gems, and much more.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about object oriented programming with Jessica Kerr.Special Guest: Jessica Kerr.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss Elixir with José Valim. Special Guest: José Valim.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this episode, the Rogues talk about DevOps with Nathen Harvey of Chef.Special Guest: Nathen Harvey.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about community hacks.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this book club episode, the Rogues talk to Elisabeth Hendrickson about her book, Explore It!Special Guest: Elisabeth Hendrickson.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about ActiveRecord with Ernie Miller.Special Guest: Ernie Miller.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk extreme programming with Will Read.Special Guest: Will Read.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss Ruby trends.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about "imposter syndrome" with Tim Chevalier.Special Guest: Tim Chevalier.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Jeff Atwood about the Discourse project.Special Guest: Jeff Atwood.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The panelists talk about regular expressions with Nell Shamrell.Special Guest: Nell Shamrell-Harrington.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this book club episode, the Rogues talk about The Rails View with John Athayde and Bruce Williams.Special Guests: Bruce Williams and John Athayde .
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss Ruby gems.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss rhetoric with Joseph Wilk.Special Guest: Joseph Wilk.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about diversity with Ashe Dryden.Special Guest: Ashe Dryden.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues celebrate their 100th episode by bringing back former Rogues and their faithful assistant, Mandy Moore, aka @therubyrep.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss Ruby 2.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Davy Stevenson about DRb.Special Guest: Davy Stevenson.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this Book Club episode, the Rogues talk to Martin Fowler about his book: Patterns of Enterprise Architecture.Special Guest: Martin Fowler.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about Topaz with Alex Gaynor.Special Guest: Alex Gaynor.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk robust Ruby with Ara T. Howard.Special Guest: Ara T. Howard.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss security exploits with Patrick McKenzie.Special Guest: Patrick McKenzie.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues have a Picksplosion! of picks.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about the Ruby design process with Brian Shirai.Special Guest: Brian Shirai.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this episode, the four people who won the Ruby Nuby contest, chat about all things Ruby and Rails.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss rescue projects.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss concurrency and Celluloid with Tony Arcieri.Special Guest: Tony Arcieri.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
1:35 - Introducing Sandi Metz
6:15 - The book writing process and the speech writing process17:30 - Flow of POODR 21:35 - Why design is for everyone24:20 - The fear of writing a book: Am I really an expert?27:00 - Breaking the rules34:00 - Cheat sheets, screencasts, and diagrams for POODR 42:00 - Topics beyond POODR 45:20 - Why Sandi loves Rails51:05 - How long will Rails last?55:30 - When should you begin introducing design?1:01:00 - Working with an Inheritance interface1:06:30 - Rules for testing1:14:45 - Well-tested objects without well-tested interactions1:18:45 - Sandi’s rules for coding and breaking them1:26:15 - Having too many small objects versus having too big objectsPicks: “The Deep Synergy Between Testability and Good Design” Speech by Michael Feathers (James) Endless Space game on Steam (James)Board games: Lords of Waterdeep, Love Letter, Eminent Domain (James) George Takai’s episode on the Penn’s Sunday School podcast (Avdi) Hardcore History podcast by Dan Carlin (Avdi) Infinite Monkey Cage podcast by BBC Radio 4 (Avdi) Marked App (Josh) Herman Miller Aeron chair (Charles) Bubble Timer (Sandi) Gutter Cleaning Robot (Sandi)Special Guest: Sandi Metz.The Rogues talk to Arlen Walker about learning from the past.Special Guest: Arlen Walker.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Wesley Beary about cloud computing.Special Guest: Wesley Beary.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Github's Zach Holman.Special Guest: Zach Holman.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Code Climate's Bryan Helmkamp about decomposing fat models.Special Guest: Bryan Helmkamp.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Hey everyone!The awesome folks over at Code School are giving their Ruby Bits 1 course away for free to all our listeners. Head on over to rubyrogues.com/rubybits to sign up!And while you're at it, make sure you give a big shout out to Greg and Dan to thank them via @codeschool for doing it!Thanks!
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about Vagrant with Michael Ries.Special Guest: Michael Ries.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk with former Rogue, Aaron Patterson about Rails 4.Special Guest: Aaron Patterson.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about practical metaprogramming with Steven Harms.Special Guest: Steven Harms.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about documenting code.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Matt Wynne and Keven Rutherford about hexagonal Rails.Special Guests: Kevin Rutherford and Matt Wynne.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk complexity with Glenn Vanderburg.Special Guest: Glenn Vanderburg.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues chat with Paul Dix about service-oriented design.Special Guest: Paul Dix .
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about Open Source Licenses.Special Guests: Chris Wilson and Jeremy Hinegardner.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues chat about their developer environments.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about APIs.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk entrepreneurship with 30x500's Amy Hoy.Special Guest: Amy Hoy.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss zero downtime deploys with Pedro Belo.Special Guest: Pedro Belo.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
That Rogues discuss what does and doesn't make a good starter project for a newbie in Ruby.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Katrina Owen about therapeutic refactoring.Special Guest: Katrina Owen.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this Book Club episode, the Rogues talk to Steve Freeman and Nat Pryce about the book Growing Object Oriented Software Guided by Tests.Special Guests: Nat Pryce and Steve Freeman.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Gary Bernhardt about his testing style.Special Guest: Gary Bernhardt.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Sarah Mei about the Rails Bridge program.Special Guest: Sarah Mei.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about functional vs. object oriented programming with Michael Feathers.Special Guest: Michael Feathers.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about what you need to know about presenting at conferences.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The panelists talk about hiring programmers.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about monitoring with Joseph Ruscio.Special Guest: Joseph Ruscio.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk domain driven design (DDD) with David Laribee.Special Guest: David Laribee.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss SOLID with Jim Weirich.Special Guest: Jim Weirich.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss security with Rein Henrichs.Special Guest: Rein Henrichs.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this Book Club episode, the Rogues discuss Jesse Storimer's book, Working with Unix Processes.Special Guest: Jesse Storimer.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Evan Phoenix and Chad Fowler about Ruby Central.Special Guests: Chad Fowler and Evan Phoenix.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to David Heinemeier Hansson.Special Guest: David Heinemeier Hansson.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The panelists discuss RubyMotion with Laurent Sansonetti.Special Guest: Laurent Sansonetti.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The panelists talk about coding exercises, quizzes, and katas.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss Square with Jack Danger Canty and Zach Brock.Special Guests: Jack Danger Canty and Zach Brock.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Ruby Rogues were invited to speak at RailsConf 2012 in Austin, Texas. This is the keynote recorded that morning.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about getting started with Open Source.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about the Hungry Academy with Jeff Casimir.Special Guest: Jeff Casimir.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss Agile communication with Angela Harms.Special Guest: Angela Harms.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss crafting Rails applications with Joseé Valim. Special Guest: José Valim.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The panelists discuss coding disciplines with Dan Kubb.Special Guest: Dan Kubb.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss Objects in Rails, part 2.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this episode, the Rogues talk to André Arko about Bundler.Special Guest: André Arko.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Marty Haught about choosing the right career path.Special Guest: Marty Haught.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this book club episode, the Rogues talk to Conrad Barski about his book, Land of Lisp.Special Guest: Conrad Barski.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this episode, the Rogues talk to Peter Cooper about producing content.Special Guest: Peter Cooper.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk code metrics with Bryan Helmkamp of Code Climate.Special Guest: Bryan Helmkamp.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about text editors and IDEs with Gary Bernhardt.Special Guest: Gary Bernhardt.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about programming language fundamentals.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about web programming and updating frameworks with Yehuda Katz.Special Guest: Yehuda Katz.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about versioning and releases.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
RubyGems Episode Bonus ContentSpecial Guest: Nick Quaranto.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about Ruby Gems with Nick Quaranto.Special Guest: Nick Quaranto.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss benchmarking and profiling.Special Guest: Aaron Patterson.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this book club episode, the Rogues talk to Russ Olsen about his book, Eloquent Ruby.Special Guest: Russ Olsen.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss Ruby antipatterns.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk code reading.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Noel Rappin about software craftsmanship.Special Guest: Noel Rappin.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
This episode was recorded at the Ruby Midwest Conference.Special Guest: Dave Copeland.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about Gowalla with Adam Keys.Special Guest: Adam Keys.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk with Mike Clark about teaching Ruby.Special Guest: Mike Clark.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about pair programming.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The panelists discuss logging with Tim Pease.Special Guest: Tim Pease.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues have a follow-up conversation about Kent Beck's Smalltalk Best Practice Patterns book.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this Book Club episode, the Rogues talk to Kent Beck about his book, Smalltalk Best Practice Patterns.Special Guest: Kent Beck.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about when and when not to use modules.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk REST done right with Steve Klabnik.Special Guest: Steve Klabnik.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about Object Oriented Programming in Rails with Jim Weirich.Special Guest: Jim Weirich.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues have their first Book Club episode and discuss Exceptional Ruby by and with Avdi Grimm.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The panelists discuss what not to test.Special Guest: Ryan Bates .
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss things that are currently wrong with the Ruby programming language.Special Guest: Brian Shirai.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about how people can become better developers.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
This episode was recorded live at Lone Star Ruby Conference by Opus Video Productions.Special Guests: Glenn Vanderburg and Obie Fernandez.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about queues and background processing.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The panelists discuss technical debt.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about metaprogramming in Ruby.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss corporate sponsors of Open Source Software.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The panelists discuss personal design rules.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk to Josh Susser about what makes beautiful code.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The panelists ponder where Rails is headed.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss debugging in Ruby.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
This week the rogues discuss the importance of conferences and user groups to the Ruby community.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
This week we really dug into the issues surrounding RubyGems and why people are worried about it. Gregory Brown (RMU) really helped us unravel some of the issues people are having. If you want to know what the issues are in this dog fight, this is a good place to find out.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues discuss databases, SQL, & NoSQL.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about templating languages for HTML, CSS, and JavaScript.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about virtual machines, concurrency, and the future of Ruby.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
The Rogues talk about Ruby testing practices and tools.
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.