A weekly discussion about Ruby, Rails, and software development involving the Top End Devs in the community and around the world.
In this solo episode, I sit down to unpack my thoughts on DHH’s RailsWorld keynote and what it means for those of us building modern Rails apps. There’s a lot to love about Rails right now — from the push toward simplicity and reducing needless complexity to powerful new features landing in Rails 8.1 like Markdown rendering, offline mode, structured events, push notifications, and more. I also dive into some of the deployment and infrastructure ideas DHH shared, including Kamal, Omarchi, and the “broad toolchain” philosophy that’s shaping the future of Rails.
I also share my own experiences with deploying Rails apps using Kamal, my thoughts on the microservices vs. monolith debate, and why I’m seriously considering running more of my own infrastructure at home. Plus, I dig into some new projects I’m launching, including podcasts, video series, and SaaS work built using Rails 8.1’s latest capabilities.
🔗 Links & Resources* Kamal – https://kamal-deploy.org * Hotwire / Turbo Native – https://hotwired.dev
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this solo episode, I open up about what’s been going on behind the scenes with Ruby Rogues and why you’ve been hearing more solo shows from me lately. Between new full-time work, family life, and shifting schedules among the panelists, it’s been a wild stretch — but I’m committed to keeping the show coming to you every week. From there, I dive into something that’s been on my mind for a while now: the health of the Ruby community and what Minaswan really means in 2024.
I reflect on the growing cultural and political tensions I’ve seen spill into technical spaces and why I believe our community is stronger when we focus on behavior, kindness, and collaboration rather than labels and ideological litmus tests. I talk about how we can disagree without dividing, maintain safe and welcoming spaces without gatekeeping based on worldview, and get back to what brought us all here in the first place: a shared love of Ruby, learning, and helping each other grow.
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this solo episode of Ruby Rogues, I’m unpacking one of the biggest stories in the Ruby world right now: the tension between Ruby Central and core RubyGems contributors. I share what I’ve learned from talking to people across the community and why this issue is more complex than it looks on social media. From the origins of Bundler and Ruby Together to the recent creation of gem.coop, I trace how we got here—and why both sides have valid points but also made serious missteps.
I also open up about what this means for the Ruby ecosystem going forward, why transparency and trust matter more than ever, and how we as a community can respond productively. Toward the end, I lighten things up with some picks, including a clever deduction card game and a heartfelt call for more understanding in our world—both in code and beyond.
🔗 Links & Resources* Ruby Central * gem.coop – the new RubyGems mirror/community alternative * Top End Devs – get involved or create your own dev content * Email Chuck: chuck@topendevs.com if you’re interested in co-hosting or authoring a series
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this episode of Ruby Rogues, I sit down with Mike McQuaid, lead maintainer of Homebrew, to talk all about building and distributing CLIs. We dig into the practical steps for turning small scripts into reliable command-line tools, why Ruby is a great starting point, and when you might want to reach for Go or Rust instead.
We also explore the challenges of distributing CLIs across macOS, Linux, and Windows, why Homebrew remains one of the easiest ways to ship software, and the importance of testing CLIs from the outside in. Plus, Mike and I discuss how AI is transforming the developer workflow—from Copilot PR reviews to agent-based coding—and what that means for both seniors and juniors in today’s industry.
Links & Resources* Mike McQuaid’s Website – Mike’s talks, articles, and contact info. * Homebrew – The missing package manager for macOS (and Linux). * Bundler Inline – Running dependencies inside a Ruby script. * Hyperfine – CLI benchmarking tool. * Cursor – AI-powered code editor. * GitHub Copilot – AI pair programmer.
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Hey everyone, Charles Max Wood here! It’s great to be back behind the mic with Ayush Nawatia for another episode of Ruby Rogues. This time, we’re diving into the fascinating world of Ruby community resources with two amazing guests: Adrien Poly and Marco Roth. They’re the creators behind RubyEvents.org, an ambitious project that’s aiming to centralize and modernize access to Ruby-related videos, conferences, meetups, and more.
In this episode, we explore the vision and evolution of RubyEvents.org—originally RubyVideo.dev—and how it’s grown into a hub for the Ruby community. We discuss the technical stack (think SQLite, Tailwind, Vite, and Hotwire), how they’re leveraging LLMs to auto-tag thousands of conference talks, and what’s on the roadmap next. Whether you're a conference organizer, speaker, or just a Ruby fan, this one’s packed with insight and inspiration.
Links & Resources* RubyEvents.org – Discover and explore Ruby conferences, talks, and speakers * Ruby Video GitHub Repo – Open source code for web and mobile apps * StimulusUse – StimulusJS utility library created by the guests * Hotwire DevTools – Browser extension for debugging Hotwire apps * HYROX Fitness Race – Hybrid CrossFit endurance competition mentioned by Adrian * Camel Up Board Game – Charles’ board game pick * The Overview by Steven Wilson – Ayush’s music pick * Sword of Truth Series by Terry Goodkind – Fantasy book series * Catalyst (Web Components framework) – GitHub’s lightweight JS framework
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this episode, we had the absolute pleasure of sitting down with Carmine Paolino — an AI innovator, Ruby enthusiast, and all-around tech wizard. From his early days automating PC games at age five to building cutting-edge AI tools in Berlin, Carmine’s journey is as inspiring as it is impressive.
We dove deep into his latest creation: RubyLLM, a Ruby gem that simplifies working with large language models (LLMs) like GPT-4, Claude, and Gemini. Think of it as an intuitive, plug-and-play toolkit that lets Ruby developers tap into powerful AI features — chat, image generation, embedding, tools, and even multi-model support — with just a few lines of code. And yes, it’s as awesome as it sounds.
Key Takeaways:* RubyLLM is built for simplicity and power. Carmine wanted a tool that “just works” — one unified interface for chatting, streaming, tool use, image generation, and more. It abstracts away the API mess and keeps things Ruby-friendly. * Tooling support is next-level. RubyLLM allows for agentic AI by letting devs define tools (like checking the weather or sending a calendar invite). The gem handles when and how to use them — magic! * Support for multiple models and providers. OpenAI, Anthropic, Google — RubyLLM makes it easy to switch between them seamlessly, even mid-conversation. Carmine also teased a future integration with a smarter model registry via an AI-powered API called Parsera. * Streaming and performance? Covered. Carmine shares clever architecture tricks using Turbo Streams and async Ruby for blazing-fast, lightweight responses — even when handling many concurrent users. * Real-world use case: ChatWithWork. Carmine’s app lets users “chat” with their docs from Google Drive, Notion, and Slack. RubyLLM is the backbone, and it’s got real startup traction. (Oh, and he DJed the night it went viral on Hacker News.) * Embeddings and image generation are just as easy. Need vector search or auto-generated podcast art? Just call .embed or .paint — seriously, that’s it.
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Hey folks, in this week’s episode, I sat down with the incredible Ridhwana Khan — a South African technical writer for the Rails Foundation and lead engineer at Circle. We had a fantastic chat about all things Ruby on Rails, but especially the underappreciated art (and science!) of writing documentation.
Ridhwana took us behind the scenes of the official Rails Guides — how they’re updated, expanded, and reviewed — and gave us a real sense of the thoughtful, collaborative work that powers one of the best-documented frameworks out there. She also shared her personal journey: from freelancing into Rails doc writing, to her passion for building inclusive communities like Rails Girls South Africa and Black Girls Code.
Some standout takeaways:
* Metaprogramming = Superpower: We talked about the "magic" in Rails internals — especially metaprogramming — and how understanding it can make you a better developer. Ridwana gave a real-world use case from her time at Dev.to where metaprogramming enabled highly flexible custom profile fields. Elegant and practical!
* Docs as a Gateway to Contribution: Whether you're new or experienced, contributing to Rails docs is a great way to get involved. Ridwana encouraged folks to read the source code, dig into tests, and not be afraid to open a PR — even if it's small.
* Working on Circle: Ridwana’s team focuses on Circle's marketing and email hub features — think broadcasts, workflows, and analytics. She's leading the team (and hiring!), and we geeked out over async work, remote culture, and what makes for a great engineering org.
* Life in Cape Town: From houseplants to penguins, we veered off into Ridwana’s love of nature, her Arduino hobby projects, and even how Shark Week got us thinking about visiting South Africa someday.
This episode was equal parts inspiring and insightful — especially if you’ve ever looked at the Rails codebase and thought, “how the heck does this work?” Ridwana makes it feel accessible, and she’s proof that curiosity and community-building go a long way in tech.
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this episode of Ruby Rogues, Charles Max Wood and Ayush Nwatia welcome back guest Stephen Margheim to dive deeper into the evolving world of SQLite. Stephen explains that with Rails 8, SQLite has reached a major milestone: it now supports a fully production-ready, server-driven web application experience with no compromises. He walks us through the big improvements, like better transaction handling and SQLite’s integration with Rails, which now supports background jobs, caching, and WebSocket messaging—all powered by SQLite without additional configuration. These enhancements mean that deploying a Rails app backed entirely by SQLite is not only possible—it’s efficient, stable, and simple.
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this episode, we dove into a topic that’s been on our minds — how to navigate change with purpose instead of fear. Whether it's personal transformation, career pivots, or unexpected life shifts, we talked about what it takes to stay grounded and aligned during times of transition.
We opened up about our own experiences with change — the messy middle, the doubts, the resistance — and how we’ve learned to see it as a creative force rather than something to avoid. A big takeaway? Growth doesn’t always look graceful, but it’s often where the magic happens.
One of the key points we emphasized was the importance of self-trust. It’s easy to look outside ourselves for permission or validation, but true clarity comes from tuning inward. We shared tools that have helped us build that inner compass, like journaling, setting intentional pauses, and letting go of perfectionism.
We also touched on how community plays a huge role in transformation. Change can feel isolating, but when we open up and connect with others who’ve walked similar paths, it reminds us we’re not alone.
Key Takeaways:* Change is a creative process, not just a disruption. * Self-trust is your greatest guide through uncertainty. * It’s okay to not have all the answers right away — clarity often follows action. * Community and vulnerability are antidotes to isolation during transformation. * Letting go of control creates space for something better to emerge.
We wrapped up with a little reminder: whatever shift you’re in right now, you’re not behind — you’re becoming.
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this episode of the Ruby Rogues podcast, we dive deep into the world of Hotwire Native with our special guest, Joe Masilotti. Hosted by Charles Max Wood, along with panelist Ayush Nwatiya, we explore the evolution from Turbo Native to Hotwire Native and the exciting new features and improvements that come with this transition. Joe shares insights from his journey of writing "The Rails and Hotwire Codex" and collaborates with Pragmatic Bookshelf to make the integration of web and mobile technologies more seamless for Ruby on Rails developers. Whether you're considering mobile applications for your Rails projects or pondering the benefits of working with a publisher versus self-publishing, this episode is packed with valuable advice and motivation. Tune in to learn about the intricacies of launching mobile apps with Hotwire Native and gain behind-the-scenes knowledge from Joe's experience as an author and developer in this ever-evolving tech landscape. Don't miss out on this compelling discussion that bridges the gap between Rails and mobile app development!
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this episode of Top End Devs, we dive deep into the realm of security within the Rails ecosystem with our guest, Greg Molnar. Known for his expertise in this field, Greg joins our panelists Valentino Stoll and host Charles Max Wood to unravel the intricacies of security measures and updates in Rails 8 and 7.2. From exploring built-in features like rate limiting, authentication generators, and parameter filtering to discussing the importance of tools like dependabot and Brakeman, this episode offers a comprehensive look at how developers can maintain high-security standards in their Ruby on Rails applications. We also touch on practical strategies for handling authentication, authorization, and the evolving nature of security challenges developers face today. Whether you're a Rails veteran or new to web development, tune in to gain valuable insights into creating secure applications with ease.
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Welcome back to another episode of the Top End Devs podcast! Today, we have an exciting lineup featuring our host Charles Max Wood and special guests Robbie Russell from Planet Argon, along with panelists Ayush Nawatia and Valentino Stoll. This episode dives deep into the insights from the latest Ruby community survey conducted by Robbie Russell. We explore topics such as the rise of Stimulus JS in the Rails community, trends in deployment practices, popular tools and services in the software ecosystem, and the everlasting debate between monoliths and microservices. Robbie also shares the fascinating history and evolution of his widely-used open source project, Oh My Z Shell, and gives us a glimpse into his work with Planet Argon. Stay tuned as we uncover intriguing details and valuable insights from the world of Ruby and Rails development!
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this episode of Top End Devs, host David Camira is joined by panelists Luke Stutters and John Epperson, along with special guest Jesse Spivak, a senior engineer at Ibotta. Jesse shares his experiences and insights from a challenging project at Ibotta, where he navigated through four critical mistakes. These included choosing the wrong technology, siloing work, falling into premature optimization, and making too many changes at once. Jesse explains how these mistakes jeopardized the project but ultimately led to valuable learning experiences. The conversation also touches on the importance of discussing and learning from mistakes openly, the complexities of transitioning to new technologies, and the significance of making systematic, verified changes. Additionally, they delve into the evolving landscape of developer interviews, aiming to create a more inclusive and positive experience. Join us as we explore the trials, lessons, and growth that come from navigating the highs and lows of software development.
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Ivan Nemytchenko is a freelancer. He's a speaker and conference organizer. Ivan spoke at RailsConf about abstract object-oriented programming ideas and how they can be expressed with pictures. The discussion goes into learning processes and how to create visual representations that help people understand Ruby, Rails, or other concepts.
Links
* Chernoff Faces
* dmikhr/DudeGL - "Anthropomorphic UML": visualization of code and OOP concepts in a form of human body.
* dmikhr/Dudity - Analyze Rails code with stick dudes
* dmikhr/DudesHub - Visualize code diffs in GitHub
Picks
* Dave - Drifting Ruby - Discount Code - learnfromhome
* Dave - troessner/reek: Code smell detector for Ruby
* Dave - Kubernetes
* John - Pushups and Situps at home instead of working out
* John - Get a new Weed Whacker head
* Luke - Linode
* Ivan - Follow Ivan on Twitter > @inem, Github, Website
* Ivan - Visual Studio Code Remote Development
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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.
Links
* GitHub's Online Schema Migrations for MySQL
* Gh-ost benchmark against pt-online-schema-change performance
Picks
* Matt - Danger JS
* Luke - From jQuery to ES6 | Drifting Ruby
* Dave - Titan Security Key
* Dave - Teach, Learn, and Make with Raspberry Pi
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this episode, Charles and Valentino dive into the complexities of software design decisions with the esteemed guest, Uncle Bob Martin. They explore the pivotal question: How do you evaluate frameworks and dependencies in your projects? Uncle Bob shares his seasoned perspective on choosing frameworks based on an application's long-term goals and complexity, emphasizing the importance of thoughtful decision-making over defaulting to popular solutions. Together, they delve into the nuances of evaluating framework capabilities, testing with small demo applications, and considering AI's potential in refining design decisions.
You'll hear gripping anecdotes from Uncle Bob's vast experience, including his work on a browser for a social network and valuable lessons from his commitment to frameworks like Swing. Valentino adds real-world insights from his encounters with framework-induced slowdowns in complex financial applications. We also touch on historical programming practices, the importance of thoughtful abstractions, and the critical role of experienced team members in guiding projects.
Stay tuned for fascinating discussions on managing dependencies, simplifying core problems, and balancing framework used to ensure flexibility and maintain development speed. Plus, don't miss the exciting announcements, including Uncle Bob's upcoming books and special discount offers from Charles Max Wood. Join them as they unravel the intricacies of software design decisions and share tools and strategies for modern developers!
Socials
* LinkedIn: Robert Martin
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Different doesn’t need to be worse. Dmitry Tsepelev tells us how to make the most of using GraphQL with Rails, the advantages over REST-based API queries and best practices for security and schemas.
Links
* https://github.com/anycable/anycable
* https://graphql-ruby.org/
* https://evilmartians.com/chronicles/persisted-queries-in-graphql-slim-down-apollo-requests-to-your-ruby-application
* https://evilmartians.com/chronicles/graphql-on-rails-1-from-zero-to-the-first-query
* https://evilmartians.com/chronicles/graphql-on-rails-2-updating-the-data
* https://evilmartians.com/chronicles/graphql-on-rails-3-on-the-way-to-perfectionGraphql-ruby benchmark
* https://gist.github.com/DmitryTsepelev/36e290cf64b4ec0b18294d0a57fb26ff
* Saint P Rubyconf 2019
* https://github.com/DmitryTsepelev/ar_lazy_preload
* https://github.com/DmitryTsepelev/graphql-ruby-persisted_queries
Picks
* Luke - https://blog.phusion.nl/2018/11/28/stopping-slow-client-dos-attacks-with-puma-on-passenger-6/
* Charles - The Black Prism
* John - https://www.stickermule.com/
* Dave - StarTech.com Under Desk CPU Mount – Adjustable – Heavy-Duty Computer Tower Mount – 360° Swivel – Computer Mounting Bracket
* Dave - https://noctua.at/
* Dmitry - https://hacktoberfest.digitalocean.com
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this episode of Ruby Rogues, we talk with Ufuk about how Shopify made the transition to using Sorbet and about the benefits they felt they received from implementing it. Ufuk also reveals a little bit about how Shopify transitioned to fully remote and about how that will be the default moving forward.
Picks
* Luke - https://github.com/asdf-vm/asdf
* John - Walmart Grocery Pickup
* Dave - https://www.amazon.com/s?k=Thin+Clients
* Dave - Apple ARM MacMini
* Ufuk - TCP/IP Illustrated, Vol. 1: The Protocols (Addison-Wesley Professional Computing Series)
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this episode of Ruby Rogues, Chelsea Troy teaches us to hone our debugging skills to a razor-sharp edge. We learn how to actively improve debugging skills, train troubleshooting instincts and practical strategies for tackling brain-bending bugs.
Links
* https://chelseatroy.com/2020/01/13/a-framework-for-debugging/
Picks
* Luke - https://rclone.org/
* John - Large Mouse Pads
* John - The Coding Den – A place where people ask and answer questions about coding, etc.
* Charles - Logi wireless mouse
* Charles - the Wheel of Time
* Charles - https://mostvaluable.dev
* Chelsea - The New Education: How to Revolutionize the University to Prepare Students for a World In Flux
* Chelsea - http://rubyconf.org/
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
This week, our host Charles Max Wood sits down with co-host Valentino Stoll to dive deep into the cutting-edge tools and strategies in AI development and integration. Valentino shares his go-to resources, including Langchain and Rails plug-ins like RAIX and Ray, to enhance applications with AI. They discuss the nuances of agent-based systems, Justin Bowen’s frameworks, and AI engines from industry leaders like Alex Rudolph and Toby Lukett.
Charles and Valentino also explore the significant impact of AI tools such as Copilot, ChatGPT, and more focused GPT models in streamlining coding tasks, automating tests, and refactoring code. They offer insights on leveraging AI for business operations, the importance of modularity, and the ongoing need for human expertise to guide AI's outputs.
Listeners will hear about the latest in AI-driven projects, including Valentino’s own endeavors in fine-tuning machine learning models for Ruby, and Charles’s plans for an AI development boot camp. Tune in for an enlightening discussion on how AI is reshaping software development, enhancing productivity, and creating new opportunities in the tech world.
Sponsors* Mailtrap
Socials* LinkedIn: Charles Wood * LinkedIn: Valentino Stoll
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In today's episode, they dive deep into the fascinating intersections of system security, rapid development, and the human factors that influence them, with our esteemed guest Emil Kampp. Emil, a seasoned expert in critical infrastructure and fintech, shares his experiences and strategies for using Ruby on Rails to achieve unparalleled speed and robust testing in development.
They explore the nuances of dynamic typing versus static programming, why Ruby on Rails is often the go-to for swift feature deployment, and the significance of stability in critical systems. Emil also sheds light on the complexities of ensuring robust voting processes and the challenges of maintaining security in banking systems. Additionally, we'll touch upon the importance of documentation, compliance, and visual tools in system design.
Join our hosts Charles, Ayush ,and Valentino as they navigate through Emil's diverse projects, from online voting to aerospace applications, and discuss how tools, testing practices, and redundancy can shape the future of secure and efficient development. Whether you're a seasoned developer or just starting, this episode promises valuable insights and thought-provoking discussions. Stay tuned!
Sponsors* Mailtrap
Socials* LinkedIn: Emil Kampp
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Today, they delve deep into the world of application deployment with our special guest, Josef Stribny, a freelance software engineer and author of "Deployment from Scratch" and "Kamal Handbook". Joined by the insightful panelists, Valentino and Ayush, they explore the intricacies of deploying applications using Kamal, a minimalistic deployment tool inspired by Ruby on Rails creator David Heinemeier Hansson.
In this episode, Josef shares his expertise on Kamal’s deployment process, Docker registries, managing database backups, and the use of accessories like Sidekick for background processing. They discuss the differences between Kamal and tools like Capistrano and Kubernetes, highlighting Kamal's unique approach to simplifying deployment. Along the way, the panelists dive into related discussions, from personal tech recommendations to favorite TV shows and movies, making for a rich and engaging conversation.
Tune in as they uncover the secrets to efficient deployment, the advantages and trade-offs of using Docker, and the cutting-edge features of Kamal, ensuring you are equipped with the knowledge to optimize your development workflow.
Socials
* GitHub: Josef Stribny
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this episode of Ruby Rogues, guest Jonathan Reinink joins the Rogues to talk about what Inertia.js is and why Rails developers would want to use it.
Links
* https://inertiajs.com
* https://reinink.ca/articles/introducing-inertia-js
* https://reinink.ca/articles/getting-started-with-inertia-js
* https://remoteruby.transistor.fm/66
* https://www.fullstackradio.com/episodes/127
Picks
* Luke - The Kubernetes Book
* John - https://github.com/brunofacca/active-record-query-trace
* John - https://github.com/nesquena/query_reviewer
* John - How to Prune Tomatoes for Maximum Yield and Plant Health
* Jonathan - https://tailwindcss.com/
* Jonathan - https://eloquent-course.reinink.ca/
* Jonathan - NanoBeam
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In today's episode, they dive deep into the world of AI, technology, and Ruby on Rails with our special guest, Gustavo Valenzuela. Charles and Valentino unpack everything from community-driven insights and AI advancements to the fascinating board game "Star Realms." They explore Gustavo’s journey, his innovative platform "Startups on Rails," and how it aims to document companies powered by Ruby on Rails. Plus, get ready for discussions on AI's transformative role in development, the economic landscape affecting tech hiring, and valuable entrepreneurial advice for developers. Whether you're curious about Hugging Face's new tools or looking for insights into Rails' vibrant community, this episode is packed with information, anecdotes, and actionable tips you won't want to miss.
Socials
* LinkedIn: Gustavo Valenzuela
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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 microservices.
Links
* Twitter: Darren Broemmer ( @DarrenBroemmer )
* GitHub: Darren Broemmer ( dbroemme )
Picks
* Charles- ClickUp | One app to replace them all
* Charles- Dev Influencers | Devchat.tv
* Darren- Paas Platform as a Service | Pass Solution - EngineYard
* Darren- AppLand
* Dave- Pactool Gecko Gauge
* Dave- drifting COBOL
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Today, they dive deep into the world of observability in programming, particularly within Rails applications, with special guest, John Gallagher. Valentino openly shares his struggles with engineering challenges and the frustration of recurring issues in his company's customer account app. They explore a five-step process Valentino has developed to tackle these problems and emphasize the critical role of defining use cases and focusing on relevant data for effective observability.
In this episode, they talk about the emotional journey of dealing with bugs, the importance of capturing every event within an app, and why metrics, logs, and tracing each play a unique role in debugging. They also touch on tools like Datadog, New Relic, and OpenTelemetry, discussing their practical applications and limitations. Valentino and John shed light on how structured logging, tracing, and the concept of high cardinality attributes can transform debugging experiences, ultimately aiming for a more intuitive and robust approach to observability.
Join them as they delve into the nexus of frustration, learning, and technological solutions, offering valuable insights for every developer striving to improve their application's resilience and performance.
Socials
* LinkedIn: John Gallagher
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Charles and Valentino are joined by special guest Brian Vallelunga, CEO and co-founder of Doppler, a leading secrets management platform often described as "GitHub for secrets."
Dive into an engaging conversation about best practices for managing sensitive information, such as API keys and encryption keys, and treating all environment-configured settings as secrets. Brian shares insights on using tools like AWS Secrets Manager, Docker, and Doppler’s seamless integration with popular development workflows, ensuring robust access control and audit logging.
They discuss about the severe consequences of data breaches, compelling real-world scams, and the human cost of leaked data. Learn how Doppler helps developers avoid these risks while enhancing productivity. They also explore the intersection between developer efficiency and security, and emerging trends in secrets management like passwordless authentication.
Tune in for valuable tips, personal stories, and a peek at the future of secrets management and developer security. Let’s get started!
Socials
* LinkedIn: Brian Vallelunga
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this episode, Valentino and Ayush dive deep into the evolving landscape of web frameworks, particularly focusing on Ruby on Rails. Join them as they explore the challenges and advantages of transitioning from front-end-centric frameworks like Next.js to Rails, the seamless features Rails offers, and the complexities of integrating front-end components.
They also discuss exciting potentials like better integration of Vue component libraries with Rails, the simplicity and utility of custom elements, and the desire for Rails to incorporate features similar to Phoenix LiveView. The panelists share their thoughts on the evolving Rails stack, the need for better tools and documentation, and the excitement around upcoming Rails 8 features.
Stay tuned for an insightful conversation about the future of web development, the importance of versatile skills in the development community, and some amazing personal picks from our panelists, including top tech tools, fascinating music, and captivating movies. Don't miss out on this rich discussion filled with expert insights and practical advice for developers navigating the intricate world of web frameworks.
Socials
* LinkedIn: Ayush Newatia
* LinkedIn: Valentino Stoll
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Today, Valentino dives deep into the world of Ruby development with our special guest, Andy Maleh. They explore innovative advancements in Glimmer DSL for LibUI and Glimmer DSL for Web. Andy talks about his after-hours efforts to improve productivity and maintainability in front-end development, his critiques of current JavaScript frameworks like React, and his preference for utilizing Ruby's simplicity.
Valentino shares his intriguing project, building a robotic arm, and discusses teleoperation technology and practical applications. As they wrap up, we touch on full-stack development benefits, easing the learning curve, and future personal projects. Get ready for insights into integrating Glimmer DSL with Rails, optimizing development workflows, and learning about Andy's past and future contributions to the Ruby community. Stay tuned for an inspiring episode packed with practical advice and visionary ideas!
Socials
* LinkedIn: Andy Maleh
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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.
Links* Paul's Twitter * Paul's LinkedIn
Picks* Blood Pressure Monitor - Dave * eft - Luke * Ruby one-liners cookbook - Paul * Podcast Growth Summit - Chuck * Most Valuable Dev - Chuck * Most Valuable Dev Summit - Chuck * Mushroom Wars - Chuck * Gmelius - Chuck
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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.
Links
* Dependency on mimemagic 0.3.x no longer valid
* Add this .irbrc file and your Rails console will show a colorized banner with the environment | Twitter
* GitHub | pry/pry
* Ruby Jard
* Tree-sitter
* GitHub | ruby/ruby
* GitHub | ruby/reline
* GitHub | tree-sitter/tree-sitter
* GitHub | bcicen/ctop
* codenamev
* Twitter: Valentino Stoll ( @thecodenamev )
* GitHub: Valentino Stoll ( codenamev )
Picks
* Charles- SodaStream Aqua Fizz Sparkling Water Maker Bundle
* Charles- Soda Stream Flavor Syrups
* Charles- Teachable
* Charles- ThriveCart
* John- Char-Broil: 6-Burner Cart Style Gas Grill, Stainless/Black
* Luke- Dependency on mimemagic 0.3.x no longer valid
* Valentino- GitHub | reenhanced/gitreflow
* Valentino- Bitbar
* Valentino- Twilio
* Valentino- Twilio Powered Minecraft Server on AWS
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this episode, Chuck, Ayush, and Valentino join Olly Headey as he shares his expansive career journey, from co-founding FreeAgent to navigating the intricate world of cloud migration and technology adoption. They dive deeply into the various challenges and decisions involved in choosing frameworks like React, tackling server costs with CDN solutions, and simplifying complex tech stacks. Olly also discusses his experiences with boot camps, emphasizing the importance of foundational knowledge over trendy frameworks.
They touch on the significance of dependencies in tech projects, the evolving landscape of Ruby usage beyond Rails, and the practicalities of AWS CloudFront integrations. Olly offers his unique insights into balancing established and new technologies, emphasizing a pragmatic approach to tech evolution.
Join them as they explore the nuances of engineering management, the real-world implications of tech choices, and the strategies for maintaining simplicity in a fast-evolving tech landscape. Let’s get started!
Socials
* LinkedIn: Olly Headey
Picks
* Charles - Challengers! | Board Game
* Charles - The Book on Mental Toughness
* Olly - Friendly.rb - Your friendy European Ruby conference
* Valentino - PodcastBuddy
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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.
Links
* Software Top 40
* Software.com
* LinkedIn- Mason Mclead
Picks
* Charles- Fanatical Prospecting
* Charles- Who Not How
* Charles- Monday.com
* Charles- Zapier
* Dave- J-B Weld
* Luke- Rubyist
* Mason- Materialize
* Mason- Darn Tough Vermont
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
* Ruby methods are colorless
Socials
* LinkedIn: JP Camara
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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
* GitHub: Litestack
Socials
* Twitter: @oldmoe
* GitHub: oldmoe
Picks
* Ayush - Hover Car Racer
* Ayush - Solstice - Home
* Charles - Take 5 | Board Game
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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
* Vue.js
* GitHub- NoRedInk/elm-rails
* ELM Homepage
* Discourse ELM
* ELM Slack
* Built with Elm
Picks
* John- GitHub: spree/spree
* John- GitHub: solidusio/solidus
* John- Merlin Series (The Lost Years by T.A.)
* Luke- PQINA | Designs and Builds Performant, Responsive, and Highly Polished Web Components
* Richard- TV series: Battlestar Galactica
* Richard- Frontend Masters
* Richard- Barbell medicine
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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
* LinkedIn: Evgeny Li
* GitHub: @exAspArk
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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
* Devchat.tv | Dev Rev
Picks
* Charles- The 360 Leader: Developing your Influence from Anywhere in the Organization by John C. Maxwell
* Charles- The Hero with a Thousand Faces by Joseph Campbell
* Charles- Building a StoryBrand: Clarify Your Message So Customers Will Listen by Donald Miller
* Dave- Ruby on Rails Link
* Dave- Track Lights
* John- Never Split the Difference: Negotiating As If Your Life Depended On It by Chris Voss
* John- How to write an effective developer resume: Advice from a hiring manager
* John- Yoichi Single Malt Whisky
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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
* LinkedIn: Scott Werner
* scottwernerd.com
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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
* LinkedIn: Obie Fernandez
* Obie Fernandez
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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
* LinkedIn: Svyatoslav Kryukov
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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
* LinkedIn: Elliot Winkler
Picks
* Charles - Sleeping Queens | Board Game
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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
* LinkedIn: Ayush Newatia
Picks
* Charles - Legendary: A Marvel Deck Building Game – World War Hulk
* Charles - Vite Ruby
* Valentino - Sublayer - Bring Generative AI to Your Product Development
* Valentino - Olympia | Better Than ChatGPT
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
In this episode, they dive into a wide range of topics related to application development and the choices developers face when it comes to using third-party libraries, building from scratch, and evaluating the trade-offs involved. They share their insights on showcasing skills through public projects, the development of their Rails and Hotwire book, and the importance of building everything from scratch instead of relying on third-party gems. Moreover, they share their experiences using Vite Ruby and Vite Rails gems, as well as their frustrations with the stimulus documentation.
Throughout the episode, the conversation touches on vital elements of application development, from security considerations in authentication to the preferences for PWAs over native apps. They also share their thoughts and experiences on various tools and libraries, as well as their perspectives on the turbo native framework and communication layers.
Sponsors
* Chuck's Resume Template
* Developer Book Club
* Become a Top 1% Dev with a Top End Devs Membership
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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
* Peter Ohler
* GitHub: ohler55
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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
* Chuck's Resume Template
* Developer Book Club
* Become a Top 1% Dev with a Top End Devs Membership
Links
* Kuby Core
Socials
* LinkedIn: Cameron Dutro
* GitHub: camertron
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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
* Chuck's Resume Template
* Developer Book Club
* Become a Top 1% Dev with a Top End Devs Membership
Links
* Lambda
* Dependabot
* Peoplecode
* Pluralsight
* Trackable
* Paranoia
* Discard
* Rails for Zombies
Picks
* Andrew - Wild Sardines from Wild Planet
* David - 5K screens from LG
* Charles - Pluralsight
* Charles - New Show: Adventures in DevOps
* Charles - Butcher Box
* Charles - Hotels.com
* Nate - Keynote speech from RailsConf
* Olivier - Oatley
* Olivier - Horizonzerowaste.com
* Olivier - Adobe Lightroom CC
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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
* Chuck's Resume Template
* Developer Book Club
* Become a Top 1% Dev with a Top End Devs Membership
Socials
* ADRIAN MARIN
* LinkedIn: Adrian Marin
Picks
* Ayush - Big Big Train
* Charles - Doomlings
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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
* Chuck's Resume Template
* Developer Book Club
* Become a Top 1% Dev with a Top End Devs Membership
Links
* Heroku
* Digital Ocean
* Sidekiq
* Shopify job iteration
* Redis
* PostgreSQL
* Resque
* Strace
* RB Spy
* RB Trace
* New Relic
* Data Dog
* Fat Free CRM
Picks
* Nate - Open source
* Nate - Cats (Maine Coon and Russian Blue)
* Charles - 75 Hard challenge
* Kirill - Ruby Hack Challenge
* Kirill - Follow Kirill Shatrov @kirshatrov on Twitter and @kirs on Github
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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
* Chuck's Resume Template
* Developer Book Club
* Become a Top 1% Dev with a Top End Devs Membership
Socials
* LinkedIn: Ayush Newatia
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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
* Chuck's Resume Template
* Developer Book Club
* Become a Top 1% Dev with a Top End Devs Membership
Socials
* LinkedIn: Fabio Akita
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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
* Chuck's Resume Template
* Developer Book Club
* Become a Top 1% Dev with a Top End Devs Membership
Socials
* LinkedIn: Stephen Margheim
Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
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* Chuck's Resume Template
* Developer Book Club
* Become a Top 1% Dev with a Top End Devs Membership
Socials* LinkedIn: Nathan Bellow
Picks* Charles - Challenger * Nathan - Bullet Train: The Ruby on Rails SaaS Template
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.
Mike McQuaid is the CTO and cofounder at Workbrew. They dive into the world of Homebrew, an open-source package manager for macOS and Linux. They explore the history and development of Homebrew, from its origins in the Ruby community to its evolution into a widely-used tool for installing and managing software.The conversation delves into the intricacies of building and maintaining packages, the introduction of binary packages and a new JSON API, and the creation of Workbrew, a company focused on commercializing features for Homebrew. They also touch on the latest developments in Ruby, the differences between Homebrew Cask and Homebrew Core, and the complexities of handling a large number of packages in Homebrew. Join them for an insightful and engaging discussion on all things Homebrew and software development.
Sponsors* Chuck's Resume Template
* Developer Book Club
* Become a Top 1% Dev with a Top End Devs Membership
Links* Workbrew
Socials* mikemcquaid.com * LinkedIn: Mike McQuaid
Picks* Charles - Fire Tower * Mike - Machine Vendetta * Mike - Halestorm
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.
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* Chuck's Resume Template
* Developer Book Club
* Become a Top 1% Dev with a Top End Devs Membership
Links* socketry / falcon * socketry / async * GitHub: Samuel Williams * Twitter: @ioquatix
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 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* Chuck's Resume Template
* Developer Book Club
* Become a Top 1% Dev with a Top End Devs Membership
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 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
* Andy Maleh
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 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
* LinkedIn: Soutaro Matsumoto
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 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
* Jeremy 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.
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
* LinkedIn: Alex Rudall
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 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
* LinkedIn: Federico Iachetti
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 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
* LinkedIn: Stephen Margheim
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 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
* LinkedIn: Kinsey Durham 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.
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
* LinkedIn: Amanda Perino
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 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
* LinkedIn: Stefanni Brasil
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 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
* LinkedIn: Jason Charnes
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.
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
* LinkedIn: Greg Molnar
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 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
* LinkedIn: Elise Shaffer
* Elise Shaffer
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 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
* LinkedIn: Valentino Stoll
* codenamev
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 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.
Marc-André Cournoyer is the founder and president and Code Monkey at Coded Inc. They explore the intricate details of Ruby and its integration with various technologies to create robust and secure solutions. They enlighten us with their expertise on event-driven frameworks and the importance of simplicity in software development. They also uncover the pioneering work of Shopify with the liquid templating language and the potential of leveraging Rust in combination with Ruby for enhanced safety and performance. Additionally, they delve into personal anecdotes and local business highlights, adding a human touch to the technical discussions.
Sponsors* Chuck's Resume Template
* Developer Book Club
* Become a Top 1% Dev with a Top End Devs Membership
Socials* LinkedIn: Marc-André Cournoyer * macournoyer.com
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
* LinkedIn: Joe Masilotti
* Joe Masilotti
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 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
* LinkedIn: Sebastian Wilgosz
* Hanamimastery.com
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 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
* LinkedIn: Rich Steinmetz
* RichStone Input Output
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 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
* LinkedIn: Yuta Saito
* GitHub: Yuta Saito
* Katei.dev
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.
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
* LinkedIn: Amir Rajan
* Amir Rajan
* NSpec
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 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
* LinkedIn: Elia Schito
* ELIÆ
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 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* pessimize
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 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* Chuck's Resume Template
* Raygun - Application Monitoring For Web & Mobile Apps
* Developer Book Club starting
Links* Motion
Socials* Alec Larsen
Picks* Alec - Turso * Alec - Discomfortable * Charles - Lost ruins of Arnak * Charles - Ruby Dev Summit * Charles - The Diplomat * Charles - VidAngel * Valentino - Lambda Labs
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 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.
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* Chuck's Resume Template
* Developer Book Club
* Become a Top 1% Dev with a Top End Devs Membership
Links* GoodJob * Island94.org
Socials* GitHub: Ben Sheldon * LinkedIn: Ben Sheldon
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.
John Nunemaker works at Box Out Sports and Fewer & Faster (creators of Flipper Cloud) as a programmer and owner. They do a deep dive into the intricate world of software development and feature flags. The conversation revolves around the challenges, strategies, and benefits of using feature flags, offering valuable insights gleaned from personal experiences. From effectively managing and removing feature flags to the development of a telemetry system in the cloud, this episode provides an in-depth exploration of the evolving landscape of software development and front-end technologies.
Sponsors* Chuck's Resume Template
* Developer Book Club
* Become a Top 1% Dev with a Top End Devs Membership
Links* Flipper * Flipper Cloud
Socials* LinkedIn: John Nunemaker * GitHub: jnunemaker * John Nunemaker
Picks* Charles - Disney Chronology * John - Kings Corner * John - Speed Die * John - Supernote * Valentino - RailsConf 2006: why the lucky stiff and the Thirsty Cups
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.
Andrew Atkinson is a software engineer, PostgreSQL specialist, and author. They delve deep into the world of database management and development. They engage in an insightful discussion covering various aspects of Postgres and Ruby on Rails. They explore topics such as database scalability, cache management, and data partitioning strategies, providing valuable insights for developers looking to optimize their applications. Join them as they uncover the latest trends and best practices in the world of database development.
30% OFF on High Performance PostgreSQL for Rails Book: Discount Code - RRAA
Sponsors* Chuck's Resume Template * Raygun - Application Monitoring For Web & Mobile Apps * Developer Book Club starting
Links* High Performance PostgreSQL for Rails
Socials* LinkedIn: Andrew Atkinson * GitHub: andyatkinson
Picks* Andrew - pgMustard - review Postgres query plans quickly * Charles - Disney Chronology * Dave - Use Time Machine to back up * Valentino - 3D Printers - Makerspace
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* Chuck's Resume Template
* Developer Book Club
* Become a Top 1% Dev with a Top End Devs Membership
Links* motor-admin * DocuSeal
Socials* GitHub: Pete Matsyburka
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.
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* Chuck's Resume Template
* Raygun - Application Monitoring For Web & Mobile Apps
* Developer Book Club starting
Socials* LinkedIn: Alex Rudall * GitHub: Alex Rudall * Twitter: @alexrudall
Picks* Alex - langchainrb * Charles - Happy Little Dinosaurs * Charles - The Shift * Charles - Ruby Rogues Premium * Valentino - Plex Media Server
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.
Jorge Manrubia is the lead programmer at 37signals. They delve into the world of Turbo 8, a front-end library aimed at enhancing user experience and response times on the web. They discuss the latest developments and challenges in creating a seamless web experience. From the evolution of Turbo to the use of WebSockets and the philosophical alignment with Basecamp's principles, they explore the cutting-edge technology and thought processes driving the web development industry. Join them as they uncover the innovative approaches and practical considerations that shape the future of web development.
Sponsors* Chuck's Resume Template
* Raygun - Application Monitoring For Web & Mobile Apps
* Developer Book Club starting
Socials* LinkedIn: Jorge Manrubia * Jorgemanrubia.com * Twitter: @jorgemanru
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.
Daniel Doubrovkine is the principal engineer at Amazon Web Services. They dive deep into the world of APIs, frameworks, and open-source contributions. They discuss the pros and cons of using GraphQL and Grape for different client-side applications, the evolution of open-source involvement, and the challenges of contributing to well-established projects.
Sponsors* Chuck's Resume Template
* Developer Book Club
* Become a Top 1% Dev with a Top End Devs Membership
Links* grape * Slack ♥ Ruby
Socials* LinkedIn: Daniel Doubrovkine * GitHub: dblock * Twitter: @dblockdotorg
Picks* Charles - Akropolis | Board Game * Charles - Unwoke: How to Defeat Cultural Marxism in America * Charles - No More Mr Nice Guy * Daniel - Self Portrait by Man Ray * Valentino - Coat Hingers – Foldable Coat Hangers - Kickstarter
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.
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* Chuck's Resume Template
* Raygun - Application Monitoring For Web & Mobile Apps
* Developer Book Club starting
Links* Go Native on iOS & Android
Socials* Twitter: @joemasilotti * Joe Masilotti
Picks* Joe - Turbo Navigator * Valentino - ruby-openai | RubyGems.org
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.
Yaroslav Shmarov is a senior Ruby on Rails engineer. They explore all things Ruby on Rails and hot topics in the tech world. They delve into the intricacies of Hotwire, the latest server-side rendering technology, and its integration with Ruby on Rails. Moreover, they share their insights on Turbo, Stimulus, and Strata, discussing their use cases, advantages, and challenges. Join us as we discuss the potential impact of Hotwire on front-end development and the dynamic landscape of content creation in the tech industry.
Sponsors* Chuck's Resume Template
* Developer Book Club
* Become a Top 1% Dev with a Top End Devs Membership
Links* SupeRails Blog * SupeRails - YouTube
Socials* Yaroslav Shmarov
Picks* Charles - First Rat * Dave - 80/20 * Valentino - Edge Impulse * Valentino - Particle Photon
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.
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* Chuck's Resume Template * Developer Book Club * Become a Top 1% Dev with a Top End Devs Membership
Picks* Charles- Vue component Stimulus post by Jared Reed * Charles- Okta * Charles- Gods Love Dinosaurs | Board Game | BoardGameGeek * Charles- King of Tokyo | Board Game | BoardGameGeek * Charles- “Let’s be understanding of each other. Reach out.” * John- Stimulus components * John- Cal.com | Open Scheduling Infrastructure * Luke- Luke’s very own Turbo protocol * Valentino- RubyExplorer * Valentino- Ruby Conf 2021 videos on YouTube
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
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!
Sponsors* Chuck's Resume Template * Raygun - Application Monitoring For Web & Mobile Apps * Become a Top 1% Dev with a Top End Devs Membership
Links* Secure Code Review for Rails Developers * Burp proxy * Nikto * Metasploit * Beef framework * Andrew Kane’s Rails Security * spektr: static-code analyser for Rails * Brakeman * Rails goat * Bearer
Socials* Greg Molnar * LinkedIn: Greg Molnar * Twitter: @gregmolnar
Picks* Greg - Yubikey * Valentino - MagmaChat * Valentino - OlympiaChat
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
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/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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* Chuck's Resume Template * Raygun - Application Monitoring For Web & Mobile Apps * Become a Top 1% Dev with a Top End Devs Membership
Socials* LinkedIn: Kirill Kuznetsov
Picks* Valentino - The Legend of Zelda: Tears of the Kingdom
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
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* Chuck's Resume Template * Raygun - Application Monitoring For Web & Mobile Apps * Become a Top 1% Dev with a Top End Devs Membership
Links* ankane.org * arbox/machine-learning-with-ruby * thedayisntgray/ForcastingTheFuture * yoshoku/rumale * mrkn/pycall.rb * SciRuby/daru * Hugging Face
Socials* LinkedIn: Landon Gray
Picks* Landon - Test Double * Valentino - ComMarker B4 20W Fiber Laser Engraver
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
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* Chuck's Resume Template * Raygun - Application Monitoring For Web & Mobile Apps * Become a Top 1% Dev with a Top End Devs Membership
Links* Creating Custom Rails Generators
Socials* GarrettDimon.com * LinkedIn: Garrett Dimon * GitHub: garrettdimon * Twitter: @garrettdimon
Picks* Charles - The Crew: Mission Deep Sea | Board Game * Garrett - Magic Maze
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
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* Chuck's Resume Template * Raygun - Application Monitoring For Web & Mobile Apps * Become a Top 1% Dev with a Top End Devs Membership
Links* langchainrb
Socials* GitHub: andreibondarev * Twitter: @rushing_andrei
Picks* Andrei - Home - The Battle of Polytopia * Andrei - Designing Data-Intensive Applications * Charles - Star Realms
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
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* Chuck's Resume Template * Developer Book Club * Become a Top 1% Dev with a Top End Devs Membership
Links* jhollinger/occams-record * otr-activerecord: Use ActiveRecord outside of Rails! * json-emitter: Efficiently generating very large bits of JSON in Ruby * Rails 7 introduces range iteration for batches
Socials* Twitter: @jordanhollinger * jhollinger
Picks* Jordan - Julia Evan’s Mess with DNS * Jordan - Implement DNS in A Weekend * Valentino - Best Practices for Prompt Engineering
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
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* Chuck's Resume Template * Raygun - Application Monitoring For Web & Mobile Apps * Become a Top 1% Dev with a Top End Devs Membership
Links* RichStone Input Output * Testing Rails loggers with minitest
Socials* Twitter: @RichStoneIO * LinkedIn: Rich Steinmetz
Picks* Charles - Smart Family Calendar * Charles - Nikon D7500 DSLR * Rich - Carcassonne | Board Game
Advertising Inquiries: https://redcircle.com/brands
Privacy & Opt-Out: https://redcircle.com/privacy
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.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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.
Building Rails Application with Phlex - RUBY 595
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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.
Picks
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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.
How Do You Stop Hating Your Job? - BONUS
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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.
Ruby Packs, Gems and Modularization with Alex Evanczuk - RUBY 589
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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)
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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.
Picks
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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".
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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".
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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.
Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacy
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* All about Parser * How Parser applies to Ruby * Advantages of using Parser * Ways to write Parsers * All about exreg
Sponsors* AppSignal * Developer Book Club starting with Clean Architecture by Robert C. Martin * Become a Top 1% Dev with a Top End Devs Membership
Links prettier/plugin-ruby* * GitHub - ruby-syntax-tree/syntax_tree: A fast Ruby parser and formatter * GitHub - kddnewton/exreg: A Ruby regular expression engine * Twitter: @kddnewton * GitHub: kddnewton * Kevin Newton
Picks* Dave - Blackmagic Design * Dave - LEGO® Bonsai Tree | Official LEGO® Shop US * Dave - WebAssembly * Kevin - Just for Fun. No, Really. * Luke - Order Starlink * Luke - The Grug Brained Developer * Luke - Emmet — the essential toolkit for web-developers * Luke - AArch64 Bitmask Immediates * Valentino - Design Kit
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* Changing Careers * Experience working in Stripe * Transitioning from working in an office to working remotely * "Hello Turing World Podcast"
Sponsors* Chuck's Resume Template * Developer Book Club starting with Clean Architecture by Robert C. Martin * Become a Top 1% Dev with a Top End Devs Membership
Links* Turing School * Todo Or Die – Write TODOs in code that ensure you actually do them * Hello Turing World Podcast * TRICKS Contest * Written Meanderings * GitHub: jesse-spevack * Twitter: @PlanetEfficacy
Picks* Jesse - The Dream Machine * Valentino- The Cyclic Nature Of In-House Tooling
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* How Technology took part in creating a virtual event * Recruiting and Inviting speakers for the conference * Approaches used to make the process smooth and hassle-free for the speakers joining the event * Obstacles experienced in organizing the event and how to overcome each one.
Sponsors* Chuck's Resume Template * Developer Book Club starting with Clean Architecture by Robert C. Martin * Become a Top 1% Dev with a Top End Devs Membership
Links mrubykaigi 2022 * SpatialChat * Fukuoka.rb * ruby-jp.slack.com * okuramasafumi/gem_to_mgem* * GitHub - okuramasafumi/reversible * GitHub - okuramasafumi/rspec-current.vim * GitHub: okuramasafumi
Picks* Charles - Irish Gauge * Charles - Ruby Remote Conference * Charles - I Don't Want to Kill You * John - GitHub - rootstrap/yaaf * John - Leather Coasters * Masafumi - Fukuoka mruby Kaigi 2022 EN * Masafumi - GitHub - okuramasafumi/rspec-current.vim * Valentino - LunarVim
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* Top End Devs
* Coaching | Top End Devs
Picks* Charles - Irish Gauge | Board Game - BoardGameGeek * Charles - I Am Not a Serial Killer * Dave - Drifting Ruby: Modern Ruby on Rails Screencasts for Web * Valentino - Codewars | Discord * Valentino - The reverse job board for Rails developers
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:* Hotrails.dev * Hotwire * React * Bootstrap * Tailwind * Alexandre's Twitter
Picks:Dave* DaisyUI
Valentino* Neo4J * Ruby Kaigi
Chuck* Irish Gauge * Kajabi * Chuck's Coaching Offerings * Dev Book Club
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…* The Huroku platform * Render (tool) * Digital Ocean (tool) * Fly.io (tool) * Words of caution and possible issues * Rails templates and docker deployment files * Setting up options at home * AWS App Runner vs AWS Elastic Beanstalk * OpenShift containerization software
Sponsors* Top End Devs * Raygun | Click here to get started on your free 14-day trial * Coaching | Top End Devs
Links* Heroku's Next Chapter
Picks* Charles – Velcro table ties for cables * Charles – Coaching * Charles - Top End Devs Conferences * Charles- NCIS (Official Site) Watch on CBS * Dave- Loopback - Cable-free audio routing for Mac * Dave- Lighting With Grids | What They Do And How To Use Them * John- Best standing desk for home office and WFH 2022 * John- 3-1/8 Inch (80mm) Zinc Alloy Desk Grommets and Cable Ties Kit Red Bronze Cable Hole Cover Cord Organizer for Computer Desk Cabinet (1pcs Desk Grommets + 3pcs Reusable Ties)
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…* Mortal Kombat coding * Mastering CSV in Ruby (book) * CSV features * What are Import maps in Rails 7 and how do you get started * Rails app generator and Rails formation * How to handle upgrades * New Rails features
Sponsors* Top End Devs * Coaching | Top End Devs
Links* Boss Vs Motivator - Sharebold * Mastering CSV in Ruby * Twitter: @longliveruby
Picks* Paweł- Heroku's Next Chapter * Valentino- GitHub - ankane/sidekick: The simple way to automate tasks * Valentino- 6 Types Of Hot Tubs To Warm You Up Any Time Of The Year
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…* Mortal Kombat coding * Mastering CSV in Ruby (book) * CSV features * What are Import maps in Rails 7 and how do you get started * Rails app generator and Rails formation * How to handle upgrades * New Rails features
Sponsors* Top End Devs * Coaching | Top End Devs
Links* Boss Vs Motivator - Sharebold * Mastering CSV in Ruby * Twitter: @longliveruby
Picks* Paweł- Heroku's Next Chapter * Valentino- GitHub - ankane/sidekick: The simple way to automate tasks * Valentino- 6 Types Of Hot Tubs To Warm You Up Any Time Of The Year
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…* The transition to remote * Being intentional about career growth * Book clubs * Separating work from life * Changes post pandemic * Connecting in public channels * How do you measure productivity? * Interviews / interviewing remotely
Sponsors* Top End Devs * Raygun | Click here to get started on your free 14-day trial * Coaching | Top End Devs
Links* Twitter: @jakeyesbeck
Picks* Charles- Diablo Immortal * Charles – Rails Remote Conference * Dave- dbx 286s * Dave – Beyerdynamic DT 990 Pro Studio Headphones * Jake- Headache & Pain Relief | TYLENOL® * Jake- What is Ruby on Rails? * John- Terraria * John – DIY fix your own stuff * Valentino- Audio Formatter * Valentino- Z Stick
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…* The transition to remote * Being intentional about career growth * Book clubs * Separating work from life * Changes post pandemic * Connecting in public channels * How do you measure productivity? * Interviews / interviewing remotely
Sponsors* Top End Devs * Raygun | Click here to get started on your free 14-day trial * Coaching | Top End Devs
Links* Twitter: @jakeyesbeck
Picks* Charles- Diablo Immortal * Charles – Rails Remote Conference * Dave- dbx 286s * Dave – Beyerdynamic DT 990 Pro Studio Headphones * Jake- Headache & Pain Relief | TYLENOL® * Jake- What is Ruby on Rails? * John- Terraria * John – DIY fix your own stuff * Valentino- Audio Formatter * Valentino- Z Stick
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…* Active deployments for Rails apps * Docker containers and Kubernetes * Controlling your environment * Flexible without vendor lock in * Building images with Kuby * Plug in providers * Why Kubernetes for your apps * Multinode set ups with Kuby * Deploying Kuby
Sponsors* Top End Devs * Coaching | Top End Devs
Links* RailsConf 2022 - Kuby: Active Deployment for Rails Apps by Cameron Dutro - YouTube * getkuby * GitHub: camertron * Twitter: @camertron * LinkedIn: Cameron Dutro
Picks* Cameron- GitHub - ViewComponent/view_component: A framework for building reusable, testable & encapsulated view components in Ruby on Rails. * Cameron- AirPods * Charles- Quiddler * Charles– Top End Devs Meetups * Charles– Rails Remote Conference * Charles- Watch Dan Brown's The Lost Symbol Season 1 Streaming Online | Peacock * Valentino- byebug/GUIDE.md at master · deivid-rodriguez/byebug * Valentino- Keychron | Wireless Mechanical Keyboards for Mac, Windows and Phones
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…* Active deployments for Rails apps * Docker containers and Kubernetes * Controlling your environment * Flexible without vendor lock in * Building images with Kuby * Plug in providers * Why Kubernetes for your apps * Multinode set ups with Kuby * Deploying Kuby
Sponsors* Top End Devs * Coaching | Top End Devs
Links* RailsConf 2022 - Kuby: Active Deployment for Rails Apps by Cameron Dutro - YouTube * getkuby * GitHub: camertron * Twitter: @camertron * LinkedIn: Cameron Dutro
Picks* Cameron- GitHub - ViewComponent/view_component: A framework for building reusable, testable & encapsulated view components in Ruby on Rails. * Cameron- AirPods * Charles- Quiddler * Charles– Top End Devs Meetups * Charles– Rails Remote Conference * Charles- Watch Dan Brown's The Lost Symbol Season 1 Streaming Online | Peacock * Valentino- byebug/GUIDE.md at master · deivid-rodriguez/byebug * Valentino- Keychron | Wireless Mechanical Keyboards for Mac, Windows and Phones
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…* Merging WASI based WebAssembly support * The functions to run ruby snippets in your browser * Programming education and WebAssembly tooling * The WebAssembly package manager * Web browser use cases * Optimization and garbage collection in binary * Accounting for Ruby gems * Security for WebAssembly * Safari integration and WebAssembly * Running the same binary on both client side and server-side
Sponsors* Top End Devs * Raygun | Click here to get started on your free 14-day trial * Coaching | Top End Devs
Links* Runno * How I got Ruby snippets to run browser side in less than a day * Ben Taylor * Twitter: @taybenlor
Picks* Ben- Anathem * Charles- Fantastic Beasts: Perilous Pursuit * Charles- Rails Remote Conference * Charles- Nauvoo, IL City Information | Beautiful Nauvoo * Charles – Innova OBD2 Code Reader * Charles – 200W Car Power Inverter DC 12V to 110V AC Car Inverter 4 USB Ports Charger Adapter Car Plug * Dave- Touchstone Home Products Electric Fireplaces, TV Lifts, and Cabinets
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…* Merging WASI based WebAssembly support * The functions to run ruby snippets in your browser * Programming education and WebAssembly tooling * The WebAssembly package manager * Web browser use cases * Optimization and garbage collection in binary * Accounting for Ruby gems * Security for WebAssembly * Safari integration and WebAssembly * Running the same binary on both client side and server-side
Sponsors* Top End Devs * Raygun | Click here to get started on your free 14-day trial * Coaching | Top End Devs
Links* Runno * How I got Ruby snippets to run browser side in less than a day * Ben Taylor * Twitter: @taybenlor
Picks* Ben- Anathem * Charles- Fantastic Beasts: Perilous Pursuit * Charles- Rails Remote Conference * Charles- Nauvoo, IL City Information | Beautiful Nauvoo * Charles – Innova OBD2 Code Reader * Charles – 200W Car Power Inverter DC 12V to 110V AC Car Inverter 4 USB Ports Charger Adapter Car Plug * Dave- Touchstone Home Products Electric Fireplaces, TV Lifts, and Cabinets
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…* What is language tooling? * How can tooling be improved? * Code linting * Documentations for Ruby * An unfixable programming language * Staff vs line engineers * Software consulting * Why open source?
Sponsors* Top End Devs * Coaching | Top End Devs
Links* The Other Kind of Staff Software Engineer * Green Vs. Brown Programming Languages * The History and Mystery Of Eliza With Jeff Shrager - CoRecursive Podcast * The Slow March Of Progress in Program Language Tooling * earthly.dev * Twitter: @adamgordonbell
Picks* Adam- Peloton® | The Peloton Tread, Everything You Need For a Total Body Workout * Luke- Google Launches Carbon, an Experimental Replacement for C++ * Luke- The History and Mystery Of Eliza - CoRecursive Podcast
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…* Wearable tech * Virtual reality * Web 3.0 * Blockchains * Non-fungible tokens * React native * Dragon ruby and rails * The future for Ruby
Sponsors* Top End Devs * Coaching | Top End Devs
Picks* Charles- Antidote * Charles- - Top End Devs * Charles- Ready Player One: A Novel * Dave- Black Shark RGB Mechanical Gaming Keyboard LED Backlit Wired Keyboard with Blue Switches, Fully Programmable, Anti-Ghosting 104 Keys for Desktop PC, Sixgill K2 * Dave- Beat the Parents * John- Ruby Weekly * John- Salsas | Herdez * Luke- RailsConf 2022 - The pitfalls of realtime-ification by Vladimir Dementyev * Luke- Agile Web Development with Rails 7
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…* Advantages of serializers * Contact serializers * Parse float and typescripts * Complex structures with serializers * Path helpers in JS * Generating JS from rails routes * Typed interface files configurations * Types and Ruby
Sponsors* Avo * Raygun | Click here to get started on your free 14-day trial * Top End Devs
Links* Generating TypeScript interfaces from Ruby serializers 2 * Generating JS functions to make request from Rails routes 2 * GitHub: ElMassimo * Twitter: @MaximoMussini
Picks* Charles- Orbis * Charles – Top End Devs Meetups * Charles – Rails Remote Conference * John- Simple Task Management Software for Businesses of All Sizes * John- VALORANT: Riot Games' competitive 5v5 character-based tactical shooter * Luke- Introduction * Luke- Decameron | work by Boccaccio * Máximo- Recording Your Terminal to SVG | platformOS Docs * Máximo- Inertia.js - The Modern Monolith * Valentino- Co-ops: On Sparking Innovation at Doximity * Valentino- Ruby Evolution * Valentino- why the lucky stiff - Wikipedia
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…
Connect with Lucas via email: lucas@snootysoftware.com
Sponsors* Avo * Top End Devs * Coaching | Top End Devs
Links* Lucas Luitjes * Luitjes IT | Monocle: bidirectional code generation * Twitter: lucasluitjes
Picks* Charles- Just One | Board Game - BoardGameGeek * Charles- 1883 (TV Series 2021–2022) - IMDb * Charles- Top End Devs Conferences
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…* Designing your API to be more agnostic to the vendor * Changing environment variables * Creating a rails applications with variables in mind * How to avoid doing things manually vs. the risk of staying with the current platform * Using rails credentials that can be shared for all connections within an infrastructure * The risks of putting all your eggs in one software application basket
Sponsors* Avo * Raygun | Click here to get started on your free 14-day trial * Top End Devs
Picks Charles- Dice Forge * Charles- - Top End Devs * Charles- 1883 - Yellowstone Prequel (Official Site) Watch on Paramount+* * Dave - Hair weaving and spending time with family
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…* Staging environments * QA environments * Replicating data and sampling strategies * Local environment testing * Creating Ruby objects * Internal API and servers vs. cloud data apps
Sponsors* Avo * Top End Devs * Coaching | Top End Devs
Picks* Dave- RESCUE Outdoor Reusable Fly Trap FTR-SF4 * Dave- Glide Gear TMP 100 - Shoot Smartphone/ DSLR Camera to Prompt Tablet/ Smartphone Teleprompter * Valentino- rubyatscale * Valentino- Cloudflare's wall of lava lamps used to generate randomness for cryptographic key generation
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…
Sponsors* Avo * Raygun | Click here to get started on your free 14-day trial * Top End Devs
Links* Add markdown support or state that it will not be added · Issue #626 · basecamp/trix * Active Storage Overview - Ruby on Rails Guides
Picks* Charles- Marvel Legendary Dark City Board Game * Charles- Vistaprint US Online Printing: Business Cards, Signage & More * John- Glen Scotia 15 Year Old Scotch Whisky : The Whisky Exchange * John- Drag and Drop File Uploads with Dropzone and StimulusReflex * Valentino- Creating Excellent Developer User Experiences with Github Actions * Valentino- Useful utilities and toys over DNS * Valentino- doitlive - doitlive 4.2.1 documentation
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* Avo Admin for Rails * Join the Avo Discord Server! * GitHub - avo-hq/avo: Configuration-based, no-maintenance, extendable Ruby on Rails admin * Twitter: @avo_hq * GitHub: adrianthedev * ADRIAN MARIN
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…
Sponsors* Avo * Top End Devs * Coaching | Top End Devs
Links* LinkedIn: Evgeniy Demin * GitHub - djezzzl/n1_loader: Loader to solve N+1 issues for good. Highly recommended for GraphQL API. * GitHub - DmitryTsepelev/ar_lazy_preload: Lazy loading associations for the ActiveRecord models * GitHub - salsify/goldiloader: Just the right amount of Rails eager loading * N+1 problem will never be an issue with N1Loader gem * Enhanced ActiveRecord preloading
Picks* Charles- PODFEST EXPO | Where Your Voice Matters * Charles- Legendary: A Marvel Deck Building Game - Guardians of the Galaxy * Charles- Vistaprint US Online Printing: Business Cards, Signage & More * Charles- Products * Charles - Winco Foods * Evgeniy - Toptal * Evgeniy - Telltale Games * Luke- Watch The Lincoln Lawyer | Netflix Official Site
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…
Sponsors* Top End Devs * Raygun | Click here to get started on your free 14-day trial * Coaching | Top End Devs
Links* UMD Department of Computer Science * RbSyn: Type- and Effect-Guided Program Synthesis * GitHub - ngsankha/rbsyn: Program synthesis for Ruby * ruby-rogues.md · GitHub * Rosette: About * Twitter: @ngsankha * Sankha Narayan Guria
Picks* Luke- A better zip bomb * Luke- Shawn Hymel – Tiny ML * Sankha- Scythe * Valentino - Stripe
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…1. Visual Studio Code and remote SSH extensions 2. VPN tunnel networks 3. Distractions, comfort 4. Internet issues 5. Time zone challenges 6. Squid proxies 7. Personalized keyboards and monitors 8. Smart suitcases
Sponsors* Top End Devs * Coaching | Top End Devs
Links* Conferences | Top End Devs * Visual Studio Code - Code Editing. Redefined * LogMeIn Remote Access | Secure Remote Software * AirPods Pro
Picks* Charles - Unlock! * Charles- Podcast Hosting and Analytics - Welcome to Fireside! * Charles- Conferences | Top End Devs * Dave- ZenScreen MB14AC|Monitors|ASUS Global * Dave - Meshilicious (mesh case) * Luke- GitHub - evrencoskun/TableView * Luke- GitHub - jeremyevans/rodauth * John- Anker PowerCore III Elite 25600 mah 87W USB-C PD Portable Charger Black A1291H11-1 - Best Buy * John- Railsconf 2022
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* Top End Devs * Raygun | Click here to get started on your free 14-day trial * Coaching | Top End Devs
Picks* Luke- GitHub - scenic-views/scenic: Versioned database views for Rails * Valentino- Yamauchi No.10 Family Office * Valentino-Elixir's Creator José Valim on the Development of a New Language - Semaphore
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* Top End Devs * Coaching | Top End Devs
Links* Apache Kafka * GitHub - karafka/karafka: Framework for Apache Kafka based Ruby and Rails applications development. * Closer to Code * Mitigate Open Source Supply Chain Risks * GitHub:Maciej Mensfeld
Picks* Charles- Legendary: A Marvel Deck Building Game * Charles- FTP and SSH online - upload, edit, copy, move, rename & more * Charles - domainagents.com * Dave- Thunderbolt 4 Pro Cable (3 m) * John- Speyside Single Malt Scotch Whisky | Aberlour * John- OS 10 - Wikipedia * Maciej- 100 W 1.5 Ohms Resistors * Valentino- Lint Filenames - GitHub Marketplace * Valentino- GitHub - domialex/Sidekick: A Path of Exile helper * Valentino- Scoped gems proposal by mullermp · Pull Request #40 · rubygems/rfcs
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 Top End Devs (https://topenddevs.com/) Raygun | Click here to get started on your free 14-day trial (https://raygun.com/platform/apm?utm_medium=podcast&utm_source=rubyrogues&utm_campaign=devchat&utm_content=apm) Coaching | Top End Devs (https://topenddevs.com/coaching) Picks John- Turbo, the speed of a single-page web application without having to write any JavaScript (https://turbo.hotwired.dev/) John- Use Stimulus in your Ruby on Rails app (https://github.com/hotwired/stimulus-rails) John- Ever:J Clothing line (https://www.evesandgray.co.uk/2020/04/17/everj-clothing-modern-mens-outerwear-for-the-spring/) Luke - 2022 State of Software Engineers (https://hired.com/2022-state-of-software-engineers/) Luke- GitHub - ankane/pgsync (https://github.com/ankane/pgsync) Luke- Panels and System Monitoring - Victron Energy (https://www.victronenergy.com/panel-systems-remote-monitoring)
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… What do you expect out of a programmer? Increasing work output on a team The ego of a programmer Being a team player Sustaining a steady pace toward a common goal The time to fix things is now Focusing on your team and output Sponsors Top End Devs (https://topenddevs.com/) Coaching | Top End Devs (https://topenddevs.com/coaching) Links 1x Programming (https://tim.mcnamara.nz/post/667318290442600448/1x-programming) Picks Charles - Game pigeon (https://apps.apple.com/us/app/gamepigeon/id1124197642) Charles - Signs on the Cheap (https://www.signsonthecheap.com/) Charles - Make.com (https://www.make.com/en) Charles - Podio (https://podio.com/) Charles - Top End Devs (https://topenddevs.com/) Valentino - Ninja Keys Library (https://github.com/ssleptsov/ninja-keys) Valentino - Httpstat.us (http://httpstat.us/) Valentino - Rust and Ruby Integration (https://github.com/Shopify/yjit)
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… What is Glimmer and how does it work The story on why Andy built Glimmer The DSL framework Using widgets in Glimmer Distribution for Glimmer Missing features in Glimmer Compatibility with RubyMotion How to test with Glimmer Sponsors Top End Devs (https://topenddevs.com/) Coaching | Top End Devs (https://topenddevs.com/coaching) Links Code Master Blog: Glimmer (https://andymaleh.blogspot.com/search/label/Glimmer) Glimmer DSL for SWT Video Tutorial 1 - Hello, World! - YouTube (https://www.youtube.com/watch?v=Mi5phsSdNAA&list=PLSN9HhZ_0-n741vRa_dL-M81cLbqD_kem) GitHub: AndyObtiva/glimmer (https://github.com/AndyObtiva/glimmer) Picks Charles- Pandemic Iberia (https://boardgamegeek.com/boardgame/198928/pandemic-iberia) Charles- Podio (https://www.podio.com/) Charles- Make.com (https://www.make.com/en) Charles- GlobiMail (https://podio.com/extensions/3) Charles- RightSignature (https://rightsignature.com/) Charles- TopEndDevs | Conferences (https://topenddevs.com/conferences) Dave- StickerMule (https://www.stickermule.com/) John- Avocados (https://californiaavocado.com/) John- GitHub: ankane/pretender (https://github.com/ankane/pretender) Luke- PwnFunction - YouTube (https://www.youtube.com/c/PwnFunction) Special Guest: Andy Maleh.
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 (https://www.alchemists.io/). Sponsors Top End Devs (https://topenddevs.com/) Raygun | Click here to get started on your free 14-day trial (https://raygun.com/platform/apm?utm_medium=podcast&utm_source=rubyrogues&utm_campaign=devchat&utm_content=apm) Coaching | Top End Devs (https://topenddevs.com/coaching) Links Ruby Refinements | Alchemists (https://www.alchemists.io/articles/ruby_refinements/) Refinements | Alchemists (https://www.alchemists.io/projects/refinements/) Class: Pathname (Ruby 2.6.3) (https://ruby-doc.org/stdlib-2.6.3/libdoc/pathname/rdoc/Pathname.html) dry-rb - dry-monads v1.3 - Introduction (https://dry-rb.org/gems/dry-monads/1.3/) What's New in Python 2.6 (https://docs.python.org/3/whatsnew/2.6.html#pep-343-the-with-statement) GitHub - troessner/reek (https://github.com/troessner/reek) Software Craftsmanship and Code Retreats with Corey Haines (https://hanselminutes.com/308/software-craftsmanship-and-code-retreats-with-corey-haines) Master the Object Oriented Mindset in Ruby and Rails - avdi.codes (https://avdi.codes/moom/) Picks Brooke- Polished Ruby Programming (https://www.amazon.com/Polished-Ruby-Programming-maintainable-high-performance-ebook/dp/B093TH9P7C) Brooke- Everdell (https://boardgamegeek.com/boardgame/199792/everdell) Luke- WarnerBros.co.uk | Fantastic Beasts: The Secrets of Dumbledore | Movies (https://www.warnerbros.co.uk/movies/fantastic-beasts-secrets-dumbledore) Luke- Ruby Pattern Matching by Brooke Kuhlmann of the Alchemists Collective - YouTube (https://www.youtube.com/watch?v=A3CvJYyWNEc) Valentino- GitHub - thisredone/rb (https://github.com/thisredone/rb) Valentino- What About A Plain Text Web - Earthly Blog (https://earthly.dev/blog/text-mode/) Valentino- A morse themed arcade rhythm game (https://twitter.com/perbyhring/status/1508716634382512137) Special Guest: Brooke Kuhlmann.
It'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… What is railway oriented programming (ROP) Examples of ROP and dry monads Limitations of dry monads How to test your configurations Dry schema implications What is the developer culture like in Nigeria, Africa? Links Railway Oriented Programming In Rails Using Dry-Monads - Honeybadger Developer Blog (https://www.honeybadger.io/blog/railway-programming-dry-monads/) Picks Abiodun- Bridgerton (https://www.netflix.com/title/80232398) Charles- Scythe: Invaders from Afar (https://boardgamegeek.com/boardgame/199727/scythe-invaders-afar) Charles- Hover.com (https://www.hover.com/) Charles- Podio.com (https://podio.com/) Luke- A new bootable USB solution Luke- Front end load library (https://pqina.nl/filepond/) Special Guest: Abiodun Olowode .
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… What is GraphQL and how do you get started with it? What are the advantages and disadvantages of GraphQL? What is REST and how do you integrate in your workflow? Common misconceptions with GraphQL What is GraphiQL and how does it differ from GraphQL? How to use max_depth in your queries. Sponsors Top End Devs (https://topenddevs.com/) Raygun | Click here to get started on your free 14-day trial (https://raygun.com/platform/apm?utm_medium=podcast&utm_source=rubyrogues&utm_campaign=devchat&utm_content=apm) Coaching | Top End Devs (https://topenddevs.com/coaching) Links GraphQL APIs in Rails (https://www.honeybadger.io/blog/graphql-apis-for-rails/) Codeando (https://codeando.dev/) Twitter: David Sanchez ( @SanchezDav90 ) (https://twitter.com/SanchezDav90) Picks David- GraphQL APIs in Rails (https://www.honeybadger.io/blog/graphql-apis-for-rails/) Luke- Build something new and fun at your local MakerSpaces (https://makerspaces.make.co/) Valentino- RubyConf 2021 video favorites playlist (https://www.youtube.com/playlist?list=PLbHJudTY1K0f0oMhWtY-UyzOb7tUlaHps) Valentino- A Wordle alternative called Hurdle (https://www.arkadium.com/games/hurdle/) Special Guest: David Sanchez.
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 Top End Devs (https://topenddevs.com/) Coaching | Top End Devs (https://topenddevs.com/coaching) Links Do you want to take your career to the next level? Access a free coaching session with Charles Max Wood today (https://topenddevs.com/coaching) Listen to these podcasts, ad free, with Top End Devs Premium! (https://topenddevs.com/premium) Delivering Video with Less than 1s Latency with CacheFly (https://www.cachefly.com/) Picks Anton – Spirit Island Board Game (https://boardgamegeek.com/boardgame/162886/spirit-island) Charles – The Lost Ruins Of Arnak Board Game (https://boardgamegeek.com/boardgame/312484/lost-ruins-arnak) Charles – Rails Remote Conf (http://railsremoteconf.com/) John – GitHub: importmap-rails (https://github.com/rails/importmap-rails) John – Turbo (https://codecurious.dev/introduction-to-hotwire-and-turbo/) John – Stimulus (https://dev.to/bhumi/stimulus-rails-7-tutorial-5a6a) Valentino – Julia Evans (https://twitter.com/b0rk?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor) Special Guest: Anton Ivanopoulos.
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 Top End Devs (https://topenddevs.com/) Raygun | Click here to get started on your free 14-day trial (https://raygun.com/platform/apm?utm_medium=podcast&utm_source=rubyrogues&utm_campaign=devchat&utm_content=apm) Coaching | Top End Devs (https://topenddevs.com/coaching) Links David Heinemeier Hansson (DHH) (https://dhh.dk/) David Heinemeier Hansson (https://world.hey.com/dhh) Picks Charles- Dice Forge | Board Game | BoardGameGeek (https://boardgamegeek.com/boardgame/194594/dice-forge) Charles- BoardGameGeek – Gaming Unplugged Since 2000 (https://boardgamegeek.com/) Charles- railsremoteconf.com is coming soon (http://railsremoteconf.com/) Dave- Drifting Ruby: Ruby on Rails Screencasts for Web Developers (https://www.driftingruby.com/) David- Social Warming - Oneworld Publications (https://oneworld-publications.com/social-warming.html) David- Mailbrew - Your personal email digest (https://mailbrew.com/) John- CoffeeScript (https://coffeescript.org/) John- GitHub: importmap-rails (https://github.com/rails/importmap-rails) John- 15 Year Old Whisky (https://www.glenscotia.com/products/15-year-old-single-malt-scotch-whisky) Luke- Rework: Build Half a Product, Not a Half-Assed Project (https://podcasts.apple.com/us/podcast/build-half-a-product-not-a-half-assed-project/id1264193508?i=1000551891446) Valentino- Women Streamers, Programmers and Game Developers Valentino- PacketAI: World's first Autonomous Monitoring Solution (https://packetai.co/) Special Guest: David Heinemeier Hansson.
Ever 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 Episode 1) 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 them Sponsors Top End Devs (https://topenddevs.com/) Coaching | Top End Devs (https://topenddevs.com/coaching) Links Styler, a tool to compose css classes with ruby (https://bhserna.com/styler-a-tool-to-compose-css-classes-with-ruby.html) The source code of the tool (https://github.com/bhserna/styler/) A little post that introduces a list of examples with styler and tachyons (https://bhserna.com/styler-tachyons-examples.html) The actual list of examples with styler and tachyons (https://styler-tachyons-examples.bhserna.com/) The code of the list of examples that also uses styler (https://github.com/bhserna/styler_tachyons_examples) Picks Benito- Utopia (https://www.utopiainc.com/) Benito- Action Scopes in Rails Charles- Taco Cat Goat Cheese Pizza (https://boardgamegeek.com/boardgame/253664/taco-cat-goat-cheese-pizza) Charles- Death on the Nile (https://www.imdb.com/title/tt7657566/) Charles- topenddevs.com (https://topenddevs.com/) for upcoming meetups! Luke- Ruby Conf 2013 - REPL driven development with Pry by Conrad Irwin (https://www.youtube.com/watch?v=D9j_Mf91M0I) Luke- Blynk IoT platform (https://blynk.io/) Valentino- Taking our Ruby & Kafka stack to the next level (https://technology.doximity.com/articles/taking-our-ruby-kafka-stack-to-the-next-level) Valentino- Ruby Together (https://rubytogether.org/) Special Guest: Benito Serna.
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 Episode 1) 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 Top End Devs (https://topenddevs.com/) Raygun | Click here to get started on your free 14-day trial (https://raygun.com/platform/apm?utm_medium=podcast&utm_source=rubyrogues&utm_campaign=devchat&utm_content=apm) Coaching | Top End Devs (https://topenddevs.com/coaching) Picks Charles- Dice Forge | Board Game | BoardGameGeek (https://boardgamegeek.com/boardgame/194594/dice-forge) Charles- Mergify (https://mergify.com/) Dave- Plausible (https://plausible.io/data-policy) Dave- Take ownership for your actions, especially with kids John- Home - Docker (https://www.docker.com/) John- Glen Scotia | Campeltown Whisky (https://www.glenscotia.com/) Valentino- GitHub: reenhanced/gitreflow (https://github.com/reenhanced/gitreflow) Valentino- danger.systems (https://danger.systems/) Valentino- Avdi Grimm - No Code - Southeast Ruby 2017 - YouTube (https://www.youtube.com/watch?v=5wI0ss02leo)
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 Episode 1) 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 easier Sponsors Top End Devs (https://topenddevs.com/) Raygun | Click here to get started on your free 14-day trial (https://raygun.com/platform/apm?utm_medium=podcast&utm_source=rubyrogues&utm_campaign=devchat&utm_content=apm) Coaching | Top End Devs (https://topenddevs.com/coaching) Links GitHub: Petr Hlavicka ( CiTroNaK ) (https://github.com/CiTroNaK) Picks John- Beginner Drone John- Counterweights for Boom mic stands Petr- Phone gimbals Petr- Tabletop RPGs Special Guest: Petr Hlavicka.
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 Episode 1) 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) tidy Check out Jeremy’s work: Audit Logging in Rails 2 Sponsors Top End Devs (https://topenddevs.com/) Coachong | Top End Devs (https://topenddevs.com/coaching) Picks Charles- 7 Wonders Duel | Board Game | BoardGameGeek (https://boardgamegeek.com/boardgame/173346/7-wonders-duel) Charles- Encanto | Disney Movies (https://movies.disney.com/encanto) Charles- Airmeet (https://www.airmeet.com/) Jeremy- The Trusted Advisor (https://amzn.to/36bciBy) Jeremy- Brian Lovin (https://brianlovin.com/) Jeremy- How I Built a Date Picker - Decoding (https://decoding.io/2022/01/how-i-built-a-date-picker/) Luke- Clean Agile by Robert C. Martin | Audiobook | Audible.com (https://www.audible.com/pd/Clean-Agile-Audiobook/B08X7D3YFR?source_code=GO1DH13310082090OZ&ds_rl=1262685&ds_rl=1263561&ds_rl=1260658&gclid=CjwKCAiA4KaRBhBdEiwAZi1zzkl2upvhlcZS1ckhZThjcKCZ8M5puFXiMbcekIKA8foM8xkVCqRUxhoChZ8QAvD_BwE&gclsrc=aw.ds) Luke- Effective Testing with RSpec 3 (https://amzn.to/3Kz8b0P) Valentino- Github Codespaces is Great, but Mutagen is Better (https://technology.doximity.com/articles/github-codespaces-is-great-but-mutagen-is-better) Valentino- Light up your WFH meetings with HomeKit (https://technology.doximity.com/articles/light-up-your-wfh-meetings-with-homekit) Special Guest: Jeremy Smith.
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 Episode 1) 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 Top End Devs (https://topenddevs.com/) Raygun | Click here to get started on your free 14-day trial (https://raygun.com/platform/apm?utm_medium=podcast&utm_source=rubyrogues&utm_campaign=devchat&utm_content=apm) Coaching | Top End Devs (https://topenddevs.com/coaching) Picks Bruno- RSS Charles- Wavelength | Board Game | BoardGameGeek (https://boardgamegeek.com/boardgame/262543/wavelength) Charles- Upcoming workshops at topenddevs.com (https://topenddevs.com)! John- A’bunadh Scotch Whisky John- RailsBump (https://railsbump.org/) Valentino- SmarTek-Home (https://smartek-home.com/) Valentino- Timescale: Time-series data simplified (https://www.timescale.com/) Valentino- Brad Frost A/B Bird Feeder Special Guest: Bruno Sutic.
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 Episode 1) 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 Top End Devs (https://topenddevs.com/) Coaching | Top End Devs (https://topenddevs.com/coaching) Picks Charles- Calico | Board Game | BoardGameGeek (https://boardgamegeek.com/boardgame/283155/calico) (Great to play with your kiddos!) Charles- Invest time and money in your local economy Dave- Airthings CO2 (https://www.airthings.com/en/business/co2-alert) Dave- AlgenAir (https://algenair.com/) Luke- MacBook M1 Luke- Wire touch turn off hack Luke- Uninstall Polkit Luke- Join your local professional developers’ society! (ACM in the States) Valentino- 99 Bottles of OOP - 2nd Edition (https://sandimetz.com/99bottles) Valentino- ELEGOO Saturn MSLA 3D Printer (https://www.elegoo.com/products/elegoo-saturn-4k-mono-lcd-3d-printer) Valentino- GitLab V2.35 (https://gitlab.com/0xck/trex-core/-/tags/v2.35)
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 Episode 1) 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 down Sponsors Top End Devs (https://topenddevs.com/) Raygun | Click here to get started on your free 14-day trial (https://raygun.com/platform/apm?utm_medium=podcast&utm_source=rubyrogues&utm_campaign=devchat&utm_content=apm) Coaching | Top End Devs (https://topenddevs.com/coaching) Picks Dave- Right Angle USB-C extension adaptor Dave- ASUS 14in USB-C powered monitor John- Rails Dev John- Amazon for building your own PC John- PCPartPicker (https://pcpartpicker.com/) Luke- Cruiser 3D Printer Luke- Tinkercad | Create 3D digital designs with online CAD (https://www.tinkercad.com/) Valentino- Developer Conference Agenda 2022 Valentino- 12x6 LCD Panel
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 Episode 1) 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 Top End Devs (https://topenddevs.com/) Coaching | Top End Devs (https://topenddevs.com/coaching) Links GitHub: Kevin Newton ( kddnewton ) (https://github.com/kddnewton) Picks Dave- DEWALT Multi-Tool (https://amzn.to/3oBW1Ma) Dave- Hotwire: HTML Over The Wire (https://hotwired.dev/) John- Myths and Legends Podcast (https://www.mythpodcast.com/) John- 16 Year Old Scotch Whisky Double cask - Aberlour (https://www.aberlour.com/en/our-whisky/16-year-old-scotch-whisky/) Luke- REMOTE RUBY: David Heinemeier Hansson on Rails 7.0, Hotwire, and the future of Rails (https://share.transistor.fm/s/06cd24ea) Luke- RubyConf 2021 - Vertical Assignment in Ruby by Kevin Kuchta (https://www.youtube.com/watch?v=vi_uVTd25LI) Kevin- Ruby implementation in C++ YouTube videos Kevin- Idiosyncratic Ruby (https://idiosyncratic-ruby.com/) Valentino- GitHub : wordle (https://github.com/JonathanWThom/wordle) Valentino- Table Tennis on Oculus (https://www.oculus.com/experiences/quest/1995434190525828/) Special Guest: Kevin Newton.
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 What you should look for in a remote job in 2022 The REAL reason people either stay or leave a job after a few years Interested in Doximity? Here’s why you SHOULD apply this year (especially if you want to work remote!) How Doximity eliminates burnout and keeps everyone in sync (and why other companies don’t!) Special Guest: Sarah Reid.
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 Why becoming Top End comes down to THIS approach (hint-hint: don’t cram the night before!) Want to test your chops? Darren says that doing THIS is the REAL test of your skills How to leverage the big “C”s to break out of your comfort zone (and no, none of them stand for “code”!) Feedback and failure are crucial, but there’s an art to them—keep THESE points in mind and get better faster Sponsors Doximity (https://workat.doximity.com/) Raygun | Click here to get started on your free 14-day trial (https://raygun.com/platform/apm?utm_medium=podcast&utm_source=rubyrogues&utm_campaign=devchat&utm_content=apm) Top End Devs (https://topenddevs.com/) Picks Charles- Pandemic: The Cure | Board Game | BoardGameGeek (https://boardgamegeek.com/boardgame/150658/pandemic-cure) Charles- New developments at Top End Devs! Darren- Freelance writing for complicated topics (check out his Twitter: @BroemmerThe for more info) Darren- The Animator’s Survival Kit (http://www.theanimatorssurvivalkit.com/) Luke- Nori Keyboard Luke- Crafting Interpreters (https://amzn.to/3APcvFD) Valentino- Rethinking Computer Science Education (https://medium.com/@chancancode/rethinking-computer-science-education-319a60709b30) Valentino- Rwag Automated API Documentation talk by Sarah Reid (https://www.youtube.com/watch?v=y7cNkomQt54)
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 Episode To 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 Doximity (https://workat.doximity.com/) Top End Devs (https://topenddevs.com/) Coaching | Top End Devs (https://topenddevs.com/coaching) Picks Charles- Forbidden Island | Board Game | BoardGameGeek (https://boardgamegeek.com/boardgame/65244/forbidden-island) Charles- Forbidden Desert | Board Game | BoardGameGeek (https://boardgamegeek.com/boardgame/136063/forbidden-desert) Charles- DigitalOcean® App Platform (https://www.googleadservices.com/pagead/aclk?sa=L&ai=DChcSEwj9k4Lgw8_1AhXCZIsKHcy7AFwYABAAGgJ0bQ&ae=2&ohost=www.google.com&cid=CAASE-RoktjGx2ei7-W8nYC5k8vguhw&sig=AOD64_2_k5lz-4Eb2GcYEsqbZ052QnvGUg&q&adurl&ved=2ahUKEwjT2Pvfw8_1AhUSL6YKHTqKDQ8Q0Qx6BAgCEAE) Charles- Podcast bootcamp is coming back! Email at chuck@topenddevs.com Luke- The History of Philosophy (https://amzn.to/3ICzUN7) Luke- “What is a Monad?” Matheus- Rectangle for MacOS (https://rectangleapp.com/) Matheus- Crafting Interpreters (https://craftinginterpreters.com/) Special Guest: Matheus Richard.
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 Episode This 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 Doximity (https://workat.doximity.com/) Raygun | Click here to get started on your free 14-day trial (https://raygun.com/platform/apm?utm_medium=podcast&utm_source=rubyrogues&utm_campaign=devchat&utm_content=apm) Top End Devs (https://topenddevs.com/) Picks Charles- Vue component Stimulus post by Jared Reed Charles- Okta (https://www.okta.com/) Charles- Gods Love Dinosaurs | Board Game | BoardGameGeek (https://boardgamegeek.com/boardgame/316622/gods-love-dinosaurs) Charles- King of Tokyo | Board Game | BoardGameGeek (https://boardgamegeek.com/boardgame/70323/king-tokyo) Charles- “Let’s be understanding of each other. Reach out.” John- Stimulus components (https://stimulus-components.netlify.app/) John- Cal.com | Open Scheduling Infrastructure (https://cal.com/) Luke- Luke’s very own Turbo protocol Valentino- RubyExplorer (https://www.rubyexplorer.xyz/) Valentino- Ruby Conf 2021 videos on YouTube
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 Episode The 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 tidy Sponsors Doximity (https://workat.doximity.com/) Top End Devs (https://topenddevs.com/) Coaching | Top End Devs (https://topenddevs.com/coaching) Links CoRecursive Podcast - The Stories Behind The Code (https://corecursive.com/) The Original Remote Developer With Paul Lutus (https://corecursive.com/remote-developer/) Understanding AWK (https://earthly.dev/blog/awk-examples/) 6 Command Line Tools for Productive Programmers (https://earthly.dev/blog/command-line-tools/) An Introduction to JQ (https://earthly.dev/blog/jq-select/) Picks Adam- GitHub: auchenberg/volkswagen (https://github.com/auchenberg/volkswagen) Charles- Family Business | Board Game | BoardGameGeek (https://boardgamegeek.com/boardgame/170/family-business) Charles- The Expanse (https://amzn.to/3nii36b) Charles- Text Charles! (801) 877-3787 Dave- 6ft Butcher Block Dave- Grommet Hole USB Hub (https://amzn.to/338N2uk) Luke- The Art of UNIX Programming (https://amzn.to/33wpgIQ) Luke- Having a good chair Valentino- mess with dns! (https://messwithdns.net/) Valentino- Wizard Zines (https://wizardzines.com/) Valentino- Evil Martians (https://evilmartians.com/) Valentino- Thanos JS (https://thanosjs.org/) Special Guest: Adam Gordon Bell.
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.” - Stefan In This Episode: Stefan’s perspective on cssbundling and jsbundling vs. webpacker Why importmaps is a viable alternative to the bundling combinations Have headaches with sprockets? Stefan tells you why The reason nodes may not be necessary in the future…if you do THIS correctly How you can implement AR encryption and keep your backups safe forever Sponsors Doximity (https://workat.doximity.com/) Raygun | Click here to get started on your free 14-day trial (https://raygun.com/platform/apm?utm_medium=podcast&utm_source=rubyrogues&utm_campaign=devchat&utm_content=apm) Roundtable Picks: Darren’s Godot Free and Open Source game engine https://godotengine.org/ Valetino’s Reddit article “The Time is Right for Hotwire” Architecture Decision Records Chuck’s Marvel Legendary board game (https://amzn.to/3JFieSt) Dotcom Secrets (https://amzn.to/3eQBqyn) Expert Secrets (https://amzn.to/3zsYDQA) Traffic Secrets (https://amzn.to/3eNNi4p) Think and Grow Rich (https://amzn.to/31umkf4) Stefan’s trestle admin interface (https://github.com/TrestleAdmin/trestle) like ActiveAdmin, but less dependencies, lot of features, couple of relevant plugins (TinyMCE, JSONEditor, Sidekiq Dashboard), BS4 based theme i18n-tasks - Gem (https://github.com/glebm/i18n-tasks) & cli for managing your config/locales/*.yml - Auto Sort, Auto “Route” keys, sync between locales, find unused, find untranslated, auto translate via Google Translate API Connect with Stefan: Github: zealot128 (Stefan Wienert) · GitHub Twitter @stefanwienert Special Guest: Stefan Wienert.
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.” - Máximo Mussini In This Episode: How http2 is changing the game with Javascript How Vite.js and Ruby are slashing reload times and keeping programmers in their flow Why you need Vite’s incredible integration capabilities to include any packages or files you can imagine The #1 benefit of Vite.js that’s changing how programmers are able to code, integrate packages, and get their applications up and running Roundtable Picks! Máximo’s: GitHub - ElMassimo/jumpstart-vite: ⚡️ Jumpstart a new Rails app with Vite.js + Turbo + Stimulus, and more https://chat.vitejs.dev/ 1 John’s Pathfinder: Wrath of The Righteous - https://wrath.owlcatgames.com/ Pick: StimulusJS - https://stimulus.hotwired.dev/ Valentino’s ES modules: A cartoon deep-dive – ES modules: A cartoon deep-dive - Mozilla Hacks - the Web developer blog Women on Rails Newsletter – https://womenonrails.substack.com/ Rails 7 adds inorderof to queries – Rails 7 adds ActiveRecord::QueryMethods#inorderof to return query results in a particular sequence | Saeloun Blog Monads explained with cats – https://twitter.com/TartanLlama/status/1460608706048106501 Luke’s BCS and Chartered Engineer status https://www.bcs.org/ Rage clicks - what do they tell you about user behavior? - Understand your customers | Mi Special Guest: Máximo Mussini .
Get Lifetime Access to Mani's Entrepreneurship Pack and Book Club. Use coupon code "GREAT"
Mani has summarized hundreds of business books that outline how to build, grow, and operate a business and he shares his expertise with Chuck and the listeners in this special episode.
Chuck and Mani discuss what it takes to be a successful entrepreneur. They talk about their businesses on a regular basis and Chuck's been getting a lot of requests for entrepreneurship help.
He and Mani talk about the 3 primary things that add momentum to your business and help you keep the momentum up when setbacks come your way.
Get Lifetime Access to Mani's Entrepreneurship Pack and Book Club. Use coupon code "GREAT"
Special Guest: Mani Vaya.
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 * John Epperson * Valentino Stoll
Guest * Ivo Anjo
Sponsors * Top End Devs * Raygun | Click here to get started on your free 14-day trial * Coaching | Top End Devs
Links * Ruby Ractor Experiments: Safe async communication - ivo's awfully random tech blog * Unsafe Concurrent Ruby Patterns * JRuby in production applications 1 * subscribe to my newsletter! * Ivo Anjo.me * Twitter: Ivo Anjo ( @KnuX )
Picks * Ivo- Ruby Hacking Guide * Ivo- Lone Echo II: Journey In Zero Gravity With Rift S | Oculus * John- bullet | RubyGems.org | your community gem host * John- RubyConf 2021 * Valentino- Creating a UDP server with Ruby Ractors
Special Guest: Ivo Anjo.
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 White
Panel * Charles Max Wood * Darren Broemmer * Valentino Stoll
Guest * Felipe Vogel
Sponsors * Top End Devs * Coaching | Top End Devs
Links * Build a blog with Bridgetown * Build a blog with Bridgetown - New Update * github.com/fpsvogel/learn-ruby-and-cs 1 * The Era of Bridgetown v1 Has Begun. Welcome to the “Pearl” * My first Rails app, Plain Reading * Ruby for the self-taught developer * Felipe Vogel: Rubyist in Training * GitHub: Felipe Vogelf ( psvoge ) * Twitter: Felipe Vogel ( @fpsvogel )
Picks * Charles- Xero * Charles- Author | Top End Devs * Darren- RUBY ON RAILS DEVELOPER Demographics And Statistics In The US * Felipe- Bridgetown Fundraising * Valentino- letter_opener_web
Special Guest: Felipe Vogel.
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 * Charles Max Wood * Darren Broemmer * John Epperson * Valentino Stoll
Guest * Samuel Cochran
Sponsors * Top End Devs * Raygun | Click here to get started on your free 14-day trial * Coaching | Top End Devs
Links * mailcatcher * Buildkite * async gem * rails 6.1’s new multi-database gear * pgbouncer * Horizontal sharding schema management * Avoiding integer overflows with zero downtime * Rails · Ruby on Rails * GitHub: Samuel Cochran ( sj26 ) * Twitter: Samuel Cochran ( @sj26 )
Picks * Charles- Author | Top End Devs * Charles- Shadow Hunters | Board Game | BoardGameGeek * Charles- Dune * Darren- EngineYard – PaaS Platform as a Service | PaaS Solution * John- Face Masks * John- Laundry Detergent Sheets * Samuel- async gem * Valentino- GitHub-Shopify/toxiproxy
Special Guest: Samuel Cochran.
Get the Black Friday/Cyber Monday "Double Your Productivity by 5pm Today" Deal Coupon Code: "DEEP" for a GIANT discount 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.
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
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 * Charles Max Wood * Darren Broemmer
Guest * Sebastian Wilgosz
Sponsors * Top End Devs * Coaching | Top End Devs
Links * Hanami * Sebastian Wilgosz * Twitter: Sebastian Wilgosz ( @sebwilgosz ) * Twitter: Hanami Mastery ( @HanamiMastery )
Picks * Charles- Viscounts of The West Kingdom * Charles- Author | Top End Devs * Darren- Developing Games With Ruby * Darren- DragonRuby | DragonRuby * Sebastian- Polished Ruby Programming
Special Guest: Sebastian Wilgosz.
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 * John Epperson * Luke Stutters * Valentino Stoll
Guest * Vlado Cingel
Sponsors * Top End Devs * Raygun | Click here to get started on your free 14-day trial * Coaching | Top End Devs
Links * GitHub | vlado/activerecord-cte * Organising complex SQL queries in Rails * GitHub: Vlado Cingel ( vlado )
Picks * John- Digital Storm: Custom Gaming Computers & Gaming PCs * Luke- Pitch Perfect * Valentino- Ruby Together * Valentino- Ruby Central * Valentino- The Ruby VM a speedrun - Penelope Phippen * Vlado- The Wood Whisperer Guild - Online Woodworking School * Vlado- Polished Ruby Programming
Contact John:
Contact Luke:
Contact Valentino:
Special Guest: Vlado Cingel.
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 * Charles Max Wood * Darren Broemmer * Dave Kimura * Luke Stutters * Valentino Stoll
Guest * Kingsley Chijioke
Sponsors * Dev Influencers Accelerator * Level Up | Devchat.tv
Links * Understanding Ruby Method Lookup * Twitter: Obinwanne ( @kinsomicrote )
Picks * Charles- Coaching | Top End Devs * Charles- The Laws of Wealth * Darren- Masters of Doom * Darren- How this art school from 1919 has influenced Ruby on Rails? * Dave- OctoPrint * Dave- Ruby on Rails 7.0 * Kingsley- The Art of Doing Science and Engineering * Luke- GitHub | sferik/active_emoji * Luke- GitHub | tom-lord/regexp-examples * Valentino- Polyphony
Contact Charles:
Contact Darren:
Contact Dave:
Contact John:
Contact Luke:
Contact Valentino:
Special Guest: Kingsley Chijioke.
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 * Charles Max Wood * Darren Broemmer * John Epperson * Luke Stutters * Valentino Stoll
Guest * Ulysse Buonomo
Sponsors * Dev Influencers Accelerator * Raygun | Click here to get started on your free 14-day trial * Level Up | Devchat.tv
Links * Tracking a Ruby memory leak in 2021 * My developer's notes * Klaxit Tech Blog - Medium * GitHub: Ulysse Buonomo ( BuonOmo )
Picks * Charles- Caliban's War * Charles- Lost Ruins of Arnak * Charles- Steampunk Rally * Charles- Coaching | Top End Devs * Darren- Watch Squid Game | Netflix Official Site * Darren- Camaleon CMS * John- Calendly * John- GeyserMC * Luke- Ulysse 31 * Luke- Pitch Perfect * Luke- SINATRA::COOKIES * Ulysse- * Valentino- GitHub | amatsuda/routes_lazy_routes * Valentino- New tool: an nginx playground * Valentino- Multiplayer/Chat | Minecraft wiki
Contact Charles:
Contact Darren:
Contact John:
Contact Luke:
Contact Valentino:
Special Guest: Ulysse Buonomo.
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 * Darren Broemmer * John Epperson * Valentino Stoll
Guest * Jorge Manrubia
Sponsors * Dev Influencers Accelerator * Level Up | Devchat.tv
Links * GitHub | attr-encrypted/attr_encrypted * Things to consider before using attr_encrypted * OpenSSL::Cipher * GitHub | chaps-io/public_activity * Jorge Manrubia * Jorge Manrubia * GitHub: Jorge Manrubia ( jorgemanrubia ) * Twitter: Jorge Manrubia ( @jorgemanru )
Picks * Darren- More Ruby Magic * Darren- Java Creator James Gosling Interview * John- Calendly * John- GitHub | chaps-io/public_activity * Jorge- GitHub | whitequark/parser * Valentino- MJML, a parser, and a template engine for Ruby - Isabelle Lafont * Valentino- If you maintain open source software as part of a team, we'd like to give you free @tuple for life! * Valentino- GitHub | codenamev/.pryrc
Contact Darren:
Contact John:
Contact Valentino:
Special Guest: Jorge Manrubia.
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 * Charles Max Wood * Dave Kimura * John Epperson * Luke Stutters * Valentino Stoll
Guest * Riaz Virani
Sponsors * Dev Influencers Accelerator * Raygun | Click here to get started on your free 14-day trial * Level Up | Devchat.tv
Links * Five Tips for Success: How To Thrive At Your First Dev Job * RiazV.me * Twitter: Riaz Virani ( @ViraniRiaz )
Picks * Charles- PodcastBootcamp.io * Charles- Tribe of Millionaires * Dave- Recut * John- GitHub | pboling/csv_pirate * John- GitHub | tilo/smarter_csv * Luke- Class: Hash ( Ruby 3.0.2 ) * Luke- INVINCIBLE * Riaz- Jon Bellion * Riaz- The Motivation Myth * Valentino- Ruby Garbage Collection in Under Two Hours * Valentino- Design Patterns * Valentino- Ruby Pixel Art / Punk Art Programming Challenge
Contact Dave:
Contact Charles:
Contact John:
Contact Luke:
Contact Valentino:
Special Guest: Riaz Virani.
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 * Charles Max Wood * Darren Broemmer * Dave Kimura * John Epperson * Luke Stutters * Valentino Stoll
Guest * Jeremy Evans
Sponsors * Dev Influencers Accelerator * Level Up | Devchat.tv * PodcastBootcamp.io
Links * code.jeremyevans.net * GitHub: Jeremy Evans ( jeremyevans ) * Twitter: Jeremy Evans ( jeremyevans0 )
Picks * Charles- PodcastBootcamp.io * Charles- How to Make Sh*t Happen * Charles- The Road Back to You * Darren- Scrivener * Darren- GitHub | dbroemme/ruby-wads * Dave- OctoPrint * Dave- Shuffle * Jeremy- Vultr: An OpenBSD-friendly cloud server provider * Jeremy- SendGrid: Send 100 emails/day for free * Jeremy- Running My Own Email Server * John- GitHub | kschiess/parslet * John- GOgroove BassPULSE 2.1 Computer Speakers * Luke- code.jeremyevans.net - Presentations * Luke- Polished Ruby Programming Book Review * Luke- GitHub | jeremyevans/ruby-refrigerator * Valentino- Ruby Kaigi Takeout 2021
Contact Darren:
Contact Dave:
Contact Charles:
Contact John:
Contact Luke:
Contact Valentino:
Special Guest: Jeremy Evans.
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 * Charles Max Wood * Darren Broemmer * Luke Stutters * Valentino Stoll
Guest * Cameron Dutro
Sponsors * Dev Influencers Accelerator * Raygun | Click here to get started on your free 14-day trial * PodcastBootcamp.io
Links * GitHub | camertron/rux * Primer Design System * ViewComponent * GitHub | opal/opal * Matestack * Reimagined Rails views using Matestack with Jonas Jabari * Ruby 2.5 allows creating structs with keyword arguments * GitHub: Cameron Dutro ( camertron ) * Twitter: Кэмерон Дутро ( @camertron )
Picks * Cameron- GitHub | camertron/erb2rux * Charles- PodcastBootcamp.io * Charles- JavaScript Picks * Charles- Ready Player Two * Charles- Masters of Doom * Charles- Top End Devs * Darren- Is Ruby Dead * Darren- 16 New ML Gems for Ruby * Luke- GitHub | jeremyevans/sequel_postgresql_triggers * Luke- DEF CON 29 - James Kettle - HTTP2: The Sequel is Always Worse * Luke- The Wire * Valentino- Flux * Valentino- Add strict_loading mode to optionally prevent lazy loading
Contact Charles:
Contact Darren:
Contact Luke:
Contact Valentino:
Special Guest: Cameron Dutro .
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 * Charles Max Wood * John Epperson * Luke Stutters * Valentino Stoll
Guest * Huzefa Biyawarwala
Sponsors * Dev Influencers Accelerator * Level Up | Devchat.tv * PodcastBootcamp.io
Links * Rails On Docker Simplified * Dokku * Ruby - Docker Hub * Codacy * huzefabiyawar/rails-docker:rails-project * GitHub | huzefahuzu/rails-sidekiq * LinkedIn: Huzefa Biyawarwala * Twitter: Huzefa Biyawar ( @huzub )
Picks * Charles- PodcastBootcamp.io * Charles- The Sword of Shannara * Charles- Ready Player One * Huzefa- Dokku * John- Minecraft * Luke- ELF64 hello world * Valentino- Move over Rake, Thor is the new king * Valentino- GitHub | avmnu-sng/rspec-tracer * Valentino- Nushell * Valentino- RubyKaigi Takeout 2021
Contact Charles:
Contact John:
Contact Luke:
Contact Valentino:
Special Guest: Huzefa Biyawarwala.
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 * Charles Max Wood * Darren Broemmer * Luke Stutters * Valentino Stoll
Guest * Michael Orr
Sponsors * Dev Influencers Accelerator * Raygun | Click here to get started on your free 14-day trial * PodcastBootcamp.io
Links * Containerizing Ruby on Rails Applications * Open Tracing * Twitter: Michael Orr ( @imightbeinatree )
Picks * Charles- Rocket Fuel * Charles- $100M Offers * Charles- The Chosen * Charles- Top End Devs * Charles- PodcastBootcamp.io * Darren- 10 Things in Engineering We Don't Spend Enough Time On * Luke- Handle request abortion * Luke- Mastering Roda * Luke- Moving your PINDA probe on your Prusa printer * Michael- Create Recording Rules in Prometheus * Valentino- Adafruit Gemma M0 * Valentino- Conductive Thread * Valentino- What is a Reed Switch and How Does it Work?
Contact Charles:
Contact Darren:
Contact Luke:
Contact Valentino:
Special Guest: Michael Orr.
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 * Darren Broemmer * Dave Kimura * John Epperson * Luke Stutters
Guest * Maxwell Anselm
Sponsors * Dev Influencers Accelerator * Level Up | Devchat.tv * PodcastBootcamp.io
Links * The Definitive Guide to RUBY's C API * Kotlin for Cross-Platform Mobile Development * Flutter * Shardbox * RubyMotion * Life in the slow lane * GitHub: Max ( silverhammermba )
Picks * Darren- Gosu * Dave- TKD Breakable Boards * Dave- 12v USB Fan Cable * John- GitHub | svenfuchs/gem-release * John- fastlane * Luke- Linux Fun * Luke- LRUG August 2021 * Maxwell- ffi | RubyGems
Contact Darren:
Contact Dave:
Contact John:
Contact Luke:
Special Guest: Maxwell Anselm.
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 * Darren Broemmer * Dave Kimura * John Epperson * Luke Stutters * Valentino Stoll
Sponsors * Dev Influencers Accelerator * Raygun | Click here to get started on your free 14-day trial * PodcastBootcamp.io
Links * GitHub | rails/importmap-rails * Ruby on Whales: Dockerizing Ruby and Rails development * GitHub | kirillian/shiplane * Ruby on Rails Screencasts * bin/functions
Picks * Darren- Debunking the infamous “Only two hard problems in Computer Science” * Dave- Drifting Ruby * Dave- 3Doodler Create+ 3D Printing Pen * John- GitHub | kirillian/shiplane * John- Homemade Pool Covers * Luke- Ruby's Hidden Gems: Delegator and Forwardable * Luke- mix-fgpa * Luke- Donald Knuth’s MIX computer implemented in iCE40HX8K-EVB
Contact Darren:
Contact Dave:
Contact John:
Contact Luke:
Contact Valentino:
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 * Charles Max Wood * Luke Stutters * Valentino Stoll
Guest * Alex Dunae
Sponsors * Dev Influencers Accelerator * Level Up | Devchat.tv
Links * GitHub | Shopify/tapioca * GitHub | chanzuckerberg/sorbet-rails * Sorbet Journey, Part 1: Why Add Types to a Rails App * Sorbet Journey, Part 2: Adding Sorbet to an Existing Ruby Gem * Sorbet Journey, Part 3: A Typical Day Adding Sorbet to a Rails App * Sorbet Journey, Part 4: Sorbet Stability * GORUCO 2017: How to Load 1m Lines of Ruby in 5s by Andrew Metcalf * Sorbet Compiler: An experimental, ahead-of-time compiler for Ruby * Join Sorbet on Slack * Twitter: Alex D ( @MrMrBug )
Picks * Alex- The Architecture of Open Source Applications * Alex- Sonic Pi * Alex- HealthFit * Charles- Xero * Charles- Level Up | Devchat.tv * Luke- Alan Kay - Quora * Valentino- GitHub | tenderlove/analog-terminal-bell * Valentino- OSH Park * Valentino- Strange request: What is the loudest clicky keyboard? * Valentino- IBM Beamspring Sound
Contact Charles:
Contact Luke:
Contact Valentino:
Special Guest: Alex Dunae .
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 * Charles Max Wood * Luke Stutters * Valentino Stoll
Guest * Hans Schnedlitz
Sponsors * Dev Influencers Accelerator * Raygun | Click here to get started on your free 14-day trial
Links * Real-Time Command Line Applications with Action Cable and Thor * OptionParser * GitHub | ManageIQ/optimist * GitHub | rails/thor * Rails Application Templates * GitHub | rails/rails * GitHub | RailsApps/rails-composer * TTY * GitHub | junegunn/fzf * Hans-Jörg Schnedlitz * GitHub: Hans-Jörg Schnedlitz ( hschne ) * Twitter: Hans Schnedlitz ( @hschnedlitz )
Picks * Charles- Kajabi * Charles- Devchat.tv/levelup * Hans- GitHub | hschne/rails-mini-profiler * Hans- Project Hail Mary * Luke- CLI OAuth in Ruby * Luke- A Rubyist's Walk Along the C-side (Part 6): Classes & Object Oriented Programming * Luke- Raspberry Pi Touch Display * Valentino- Destroy All Software * Valentino- David Dollar | Developer Experience Design
Contact Charles:
Contact Luke:
Contact Valentino:
Special Guest: Hans Schnedlitz.
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 * Darren Broemmer * Valentino Stoll
Guest * Takashi Kokubun
Sponsors * Dev Influencers Accelerator
Links * Ruby 3 JIT can make Rails faster * Keynote - RubyKaigi 2015 * GitHub | Shopify/yjit * GitHub | vnmakarov/mir * GitHub | k0kubun/railsbench * GitHub | discourse/discourse * A Simpler Rails Benchmark, Puma and Concurrency * GitHub: Takashi Kokubun ( k0kubun ) * Twitter: k0kubun ( @k0kubun )
Picks * Darren- The Ruby Terminal Apps Toolkit * Takashi- GeForce RTX 3060 Family * Valentino- mruby * Valentino- Enhance colored inspect output #159 * Valentino- Implement pry-like ls command #203 * Valentino- Add pry-like show_source command #219
Contact Darren:
Contact Valentino:
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 * John Epperson * Luke Stutters * Valentino Stoll
Guest * Milap Neupane
Sponsors * Dev Influencers Accelerator * Raygun | Click here to get started on your free 14-day trial
Links * Load Test Your Rails Apps with Apache JMeter * Building, Testing and Deploying AWS Lambda Functions in Ruby * Apache JMeter™ * Milap Neupane Blog * LinkedIn: milap neupane * Twitter: Milap Neupane ( @_milap )
Picks * John- Which test framework should I learn, RSpec or Minitest? * John- Monoprice * Luke- Apache Web Server Hardening and Security Guide * Luke- Agile is Dead • Pragmatic Dave Thomas • GOTO 2015 * Milap- Gophercises * Milap- lofi.cafe * Valentino- Effective Data Synchronization between Rails Microservices - Austin Story * Valentino- GitHub | amancevice/yake * Valentino- Asynchronous Background Processing for Ruby or Rails using AWS Lambda Extensions.
Contact Valentino:
Special Guest: Milap Neupane .
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 * Darren Broemmer * John Epperson * Luke Stutters * Valentino Stoll
Guest * Fabio Perrella
Sponsors * Dev Influencers Accelerator
Links * Ideas by WeTransfer * IAM roles for Amazon EC2 * The Curious Case of the Bad Clone * GitHub | deivid-rodriguez/pry-byebug * Ruby Jard * Trailer.app * GitHub | mperham/connection_pool * Highlights from Git 2.29 * GitHub | grodowski/undercover * Fabio Perrella's Blog * Twitter: fabio perrella ( @fabioperrella )
Picks * Darren- Ted Lasso — Official Trailer | Apple TV+ * Fabio- GitHub | WeTransfer/wt_activerecord_index_spy * Fabio- Debugging Series 2021 Articles * Fabio- fitbit + vitality * John- Ruby Radar * John- Ruby Weekly * John- GitHub | TaKO8Ki/frum * Luke- code.jeremyevans.net * Luke- Cryptocurrency Payments * Luke- Amazon Basics Line-Interactive * Valentino- Home Assistant
Contact Darren:
Contact Valentino:
Special Guest: Fabio Perrella.
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 * Charles Max Wood * Dave Kimura * Luke Stutters
Guest * Jeremy Evans
Sponsors * Dev Influencers Accelerator * Raygun | Click here to get started on your free 14-day trial
Links * GitHub | jeremyevans/roda * Roda: Routing Tree Web Toolkit * GitHub | jeremyevans/roda-sequel-stack * GitHub | jeremyevans/r10k * GitHub | shrinerb/shrine * code.jeremyevans.net * GitHub : Jeremy Evans ( jeremyevans ) * Twitter: Jeremy Evans ( @jeremyevans0 )
Picks * Charles- Sea Lion Fins * Charles- Atlas Shrugged * Charles- The Ruthless Elimination of Hurry * Dave- DeWalt Heat Gun 20v * Dave- Creality | CR-10 Smart * Jeremy- Xanadu Next * Luke- A Rubyist's Walk Along the C-side * Luke- The Pragmatic Programmer: Your Journey To Mastery, 20th Anniversary Edition
Contact Charles:
Contact Dave:
Special Guest: Jeremy Evans.
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 * Charles Max Wood * Darren Broemmer * Dave Kimura * John Epperson * Luke Stutters
Guest * Jason Dinsmore
Sponsors * Dev Influencers Accelerator
Links * What's Cooking in Rails 7? * GitHub | attr-encrypted/attr_encrypted * Rails 7 will introduce invert_where method, but it's dangerous * Twitter: Jason Dinsmore ( @dinjas )
Picks * Charles- Atlas Shrugged * Darren- Emojicrytion * Dave- CalDigit Element Hub * Dave- CalDigit Connect 10G * Jason- GitHub | mbj/mutant * Jason- Remote Development using SSH * Jason- hint.io * John- Katherine of Sky - YouTube * John- GitHub | attr-encrypted/attr_encrypted * John- Cliffhangers work * Luke- Factorio * Luke- Conventional Commits
Contact Charles:
Contact Darren:
Contact Dave:
Special Guest: Jason Dinsmore.
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 * Darren Broemmer * John Epperson * Luke Stutters
Guest * Wander Hillen
Sponsors * Dev Influencers Accelerator * Raygun | Click here to get started on your free 14-day trial
Links * Ruby 3.0 and the new FiberScheduler interface * Pre-emptive fiber-based concurrency in MRI Ruby * Light-weight scheduler for improved concurrency * Efficient IO with io_uring * The blog of wjwh - Home
Picks * Darren- AWS App Runner * John- CarbotAnimations - YouTube * Luke- Managing Windows windows within mruby Part 2: Creating a window from mruby * Wander- arduino-copilot: Arduino programming in haskell using the Copilot stream DSL
Contact Darren:
Special Guest: Wander Hillen.
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 * Charles Max Wood * Darren Broemmer * John Epperson * Luke Stutters
Guest * Jake Yesbeck
Sponsors * Dev Influencers Accelerator
Links * A Successful Year of Commits * Why You Should Avoid Models in Rails Migrations * GitHub: Jake Yesbeck ( yez ) * Twitter: Jake Yesbeck ( @jakeyesbeck )
Picks * Charles- Who Not How * Charles- OnceHub * Charles- Zapier * Charles- Discourse * Charles- Monday.com * Charles- Riverside.fm * Charles- Dev Influencers | Devchat.tv * Darren- CodeTour * Jake- Nomad * John- Everhour * John- Dark Chocolate Oreos * Luke- Managing Windows windows within mruby Part 2: Creating a window from mruby * Luke- GitHub | atitan/MFRC522_Ruby
Contact Charles:
Contact Darren:
Special Guest: Jake Yesbeck .
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 * Dave Kimura * Darren Broemmer * Luke Stutters
Guest * Masafumi Okura
Sponsors * Dev Influencers Accelerator
Links * Ruby Galaxy v0.1 Okura Masafumi - Kaigi on Rails - YouTube * okuramasafumi.com * CFApp * GitHub | procore/blueprinter * GitHub | okuramasafumi/alba * Exploring de-serialization issues in Ruby projects * GitHub | amatsuda/jb * Twitter: Kaigi on Rails ( @kaigionrails ) * Twitter: OKURA Masafumi ( @okuramasafumi )
Picks * Darren- GitHub | adomokos/light-service * Dave- AirTag - Apple * Luke- rdm6300 | RubyGems.org * Masafumi - esa * Masafumi- GitHub | mruby/mruby
Contact Darren:
Contact Dave:
Special Guest: Masafumi Okura .
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 * John Epperson
Guest * Christian Clausen
Sponsors * Dev Influencers Accelerator * Raygun | Click here to get started on your free 14-day trial
Links * Sandi Metz' Rules For Developers * Christian Clausen - Medium * Twitter: Christian Clausen ( @thedrlambda ) * GitHub: Christian Clausen ( thedrlambda )
Picks * Christian- Embracing Imperfection * John- Fiber Gummy
Special Guest: Christian Clausen.
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 * Dave Kimura * Luke Stutters
Guest * Mark Hutter
Sponsors * Dev Influencers Accelerator
Links * The Speedshop Ruby on Rails Performance Blog * Active storage add proxying - GitHub * Ruby on Rails Screencasts * GitHub | rubyjs/mini_racer * Mark Hutter | Lead Engineer * GitHub: Mark Hutter ( mrkhutter ) * Twitter: Mark Hutter ( @mrkhutter )
Picks * Dave- Sigma 16mm f/1.4 DC DN Contemporary Lens for Sony E * Dave- NexDock * Dave- Episode #256 CDN on Active Storage Uploads * Luke- StutsBlog - Technical Blog * Luke- GitHub | rails/execjs * Mark- MH40 Wireless Over-Ear Headphones * Mark- solnic.codes
Contact Dave:
Special Guest: Mark Hutter.
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 * Charles Max Wood
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 * Charles Max Wood * Dave Kimura * Luke Stutters
Guest * Eric Berry
Sponsors * Dev Influencers Accelerator * Raygun | Click here to get started on your free 14-day trial
Links * RR 428: Arming the Rebels with Rails 6 Featuring David Heinemeier Hansson | Devchat.tv * RR 324: Developer Horror Stories | Devchat.tv * Bug #15732 - Ruby master
Picks * Charles- Who Not How * Charles- Focus Blocks * Dave- Fertilizer for your garden * Eric- Gitcoin * Luke- Devchat.tv
Contact Charles:
Contact Dave:
Special Guest: Eric Berry.
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 * John Epperson * Luke Stutters
Guest * Ariel Juodziukynas
Sponsors * Dev Influencers Accelerator
Links * Goodbye Dependabot Preview, hello Dependabot! * How to Migrate your JavaScript from Sprockets to Webpacker * Webpack VS Sprockets * GitHub | fastruby/next_rails * Phoenix.LiveView * Twitter: Ariel Juodziukynas ( @arieljuod )
Picks * Ariel- GitHub | arielj/rails-new-app * John- RailsBump * John- Gas Powered Weed Whackers for Medium/Large Sized Yards * Luke- All Ruby Books @ Planet Ruby * Luke- The Rising Storm of Ethics in Open Source - Coraline Ada Ehmke
Special Guest: Ariel Juodziukynas.
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 * Charles Max Wood * Dave Kimura * Luke Stutters
Guest * Mason McLead
Sponsors * Dev Influencers Accelerator * Raygun | Click here to get started on your free 14-day trial
Links * Software Top 40 * Software.com * LinkedIn- Mason Mclead
Picks * Charles- Fanatical Prospecting * Charles- Who Not How * Charles- Monday.com * Charles- Zapier * Dave- J-B Weld * Luke- Rubyist * Mason- Materialize * Mason- Darn Tough Vermont
Contact Charles:
Contact Dave:
Special Guest: Mason Mclead.
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 * Charles Max Wood * John Epperson
Guest * Claus Lensbøl
Sponsors * Dev Influencers Accelerator
Links * Timeout: Ruby’s Most Dangerous API * Creating a UDP server with Ruby Ractors * Claus Lensbøl - Telecommunication Software Engineer * Twitter: Claus Lensbøl ( @lensboel )
Picks * Charles- Ruby Rogues | Devchat.tv * Charles- Who Not How * Charles- Xero Accounting Software * Charles- Checking in on people * Claus- Help new people get into the community * John- Google Pixel Phone * John- OREO Dark Chocolate Sandwich Cookies
Special Guest: Claus Lensbøl.
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 Max Wood * Dave Kimura * Luke Stutters
Guest * Nikola Đuza
Sponsors * Dev Influencers Accelerator * Raygun | Click here to get started on your free 14-day trial
Links * Why Write Rails View Tests * Pragmatic Pineapple * Twitter: Nikola Đuza ( @nikolalsvk ) * GitHub: Nikola Đuza ( nikolalsvk )
Picks * Charles- Get outside * Charles- Go to a farm * Charles- Go to nature * Charles- Devchat.tv/Premium * Charles- Dev Influencers | Devchat.tv * Charles- She's in Tech | Devchat.tv * Dave- Apple TV * Dave- Parachute Toy * Luke- Tonysa RJ45 Screw Terminal Adaptor, DVR Ethernet Connector * Luke- RFID & NFC Human Chip implants * Nikola- iMac - Apple
Special Guest: Nikola Đuza.
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 * John Epperson * Luke Stutters
Guest * Julian Rubisch
Sponsors * Dev Influencers Accelerator
Links * Ruby on Rails Drag and Drop Uploads with Active Storage, Stimulus.js and Dropzone.js * GitHub | stimulus-use/stimulus-use * StimulusReflex * CableReady * GitHub | julianrubisch/futurism * GitHub: Julian Rubisch * Twitter: Julian Rubisch ( @julian_rubisch )
Picks * Charles- Golf * Charles- Riverside.fm * Charles- monday.com * Charles- Dev Influencers | Devchat.tv * John- Ruby on Rails Drag and Drop Uploads with Active Storage, Stimulus.js and Dropzone.js * John- Stimulus * John- DEKUYPER HOT DAMN! 100 PROOF * Julian- What Tech Calls Thinking by Adrian Daub * Luke- Julian Rubisch on Apple Music * Luke- GitHub | hexdigest/ruby-nfc
Special Guest: Julian Rubisch.
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 * Dave Kimura * John Epperson * Luke Stutters
Guest * John Nunemaker
Sponsors * Dev Influencers Accelerator * Raygun | Click here to get started on your free 14-day trial
Links * Rails: How to Reduce Friction at the Authorization Layer * GitHub | palkan/action_policy * FlipperCloud * Multiple Resources with Devise
Picks * Dave- Docker Desktop for Mac [Apple Silicon] * Dave- Apple Mac M1 * John E.- Archer C7 | AC1750 Wireless Dual Band Gigabit Router * John N.- GitHub: Andrew Kane ( ankane ) * John N.- GitHub | ankane/pghero * Luke- $60 for an 800GB PCIe SSD, and it'll last forever???- YouTube * Luke- Fans * Luke- GitHub | picoruby/picoruby
Special Guest: John Nunemaker.
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 * John Epperson * Luke Stutters
Sponsors * Dev Influencers Accelerator
Picks * Charles- Dev Influencers | Devchat.tv * Charles- The Courier (2020) * Charles- No Safe Spaces (2019) * John- Trailblazer * John- Find yourself a local butcher * Luke- Getting free stuff * Luke- Deleting your data * Luke- Putting resistors in computer fans
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 * Charles Max Wood * Dave Kimura
Guest * Darren Broemmer
Sponsors * Dev Influencers Accelerator * Raygun | Click here to get started on your free 14-day trial
Links * Twitter: Darren Broemmer ( @DarrenBroemmer ) * GitHub: Darren Broemmer ( dbroemme )
Picks * Charles- ClickUp | One app to replace them all * Charles- Dev Influencers | Devchat.tv * Darren- Paas Platform as a Service | Pass Solution - EngineYard * Darren- AppLand * Dave- Pactool Gecko Gauge * Dave- drifting COBOL
Special Guest: Darren Broemmer.
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 * Charles Max Wood * John Epperson * Luke Stutters
Guest * Valentino Stoll
Sponsors * Dev Heroes Accelerator
Links
* Dependency on mimemagic 0.3.x no longer valid
* Add this .irbrc file and your Rails console will show a colorized banner with the environment | Twitter
* GitHub | pry/pry
* Ruby Jard
* Tree-sitter
* GitHub | ruby/ruby
* GitHub | ruby/reline
* GitHub | tree-sitter/tree-sitter
* GitHub | bcicen/ctop
* codenamev
* Twitter: Valentino Stoll ( @thecodenamev )
* GitHub: Valentino Stoll ( codenamev )
Picks * Charles- SodaStream Aqua Fizz Sparkling Water Maker Bundle * Charles- Soda Stream Flavor Syrups * Charles- Teachable * Charles- ThriveCart * John- Char-Broil: 6-Burner Cart Style Gas Grill, Stainless/Black * Luke- Dependency on mimemagic 0.3.x no longer valid * Valentino- GitHub | reenhanced/gitreflow * Valentino- Bitbar * Valentino- Twilio * Valentino- Twilio Powered Minecraft Server on AWS
Special Guest: Valentino Stoll.
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 * Dave Kimura * John Epperson * Luke Stutters
Sponsors * Dev Heroes Accelerator
Links * Ruby | dockerhub * Ruby on Whales: Dockerizing Ruby and Rails development | Evil Martians * Background Job Processing Using Ractor (Ruby 3) by André Guimarães Sakata * Parallelism in Ruby with Ractors by Lorenzo Barasti * How Fast are Ractors? by Noah Gibbs * Samuel Williams' Scalable Concurrency for Ruby 3 talk for RubyKaigi 2020 * An Array of Possibilities: A Guide to Ruby Pattern Matching
Picks * Dave- Hotwire * Dave- Angle Grinder * John- GitHub | minimul/qbo_api * John- GitHub | ruckus/quickbooks-ruby * Luke- Creel: Godbolt Compiler Explorer Adventures * Luke- Creel: Branchless Programming * Luke- Intel - From Inventors of the CPU to Laughing Stock [Part 2] * Luke- Starving Threads In Ruby by Piotr Jatkowski
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
Sponsors
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 * Charles Max Wood * John Epperson * Luke Stutters
Guest * Paweł Dąbrowski
Sponsors * Forest Admin * Dev Heroes Accelerator
Links * GitHub | kirillian/shiplane
Picks * Charles- 16th Wedding Anniversary * Charles- Gmelius * Charles- Upper Deck Legendary: A Marvel Deck Building Game * Charles- Logitech ERGO K860 Wireless Split Keyboard * John- Baby Delight Snuggle Nest Dream Portable Infant Sleeper * Luke- Waveshare * Paweł- Rails 6 and Stimulus.js - a quick launch
Special Guest: Paweł Dąbrowski.
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 * Charles Max Wood * John Epperson * Luke Stutters
Sponsors * Dev Heroes Accelerator * Raygun | Click here to get started on your free 14-day trial
Picks * Charles- Wrist Brace * Charles- Logitech ERGO K860 Wireless Split Keyboard * John- Having someone to help you take care of a baby * John- S'well Stainless Steel Roamer Bottle-64 Fl Oz * Luke- Paramore Hard Times 1 Hour Loop * Luke- macOS Big Sur
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 * Charles Max Wood * Dave Kimura * Luke Stutters
Sponsors * Forest Admin * Dev Heroes Accelerator
Links * Empowering App Development for Developers | Docker * Improving Putty settings on Windows * Settings Sync in Visual Studio Code * GitHub | bcicen/ctop * Oh My Zsh + PowerLevel10k = 😎 terminal * Dell 32 Curved Gaming Monitor * Dell UltraSharp 32 4K USB-C Monitor * Logitech ERGO K860 Wireless Split Keyboard * Noblechairs * Autonomous desk * Progressive Web Applications by Dave Kimura
Picks * Charles- Dev Heroes Accelerator | Devchat.tv * Charles- Personal Retreat * Charles- Rush Limbaugh * Dave- BackBlaze * Luke-Progressive Web Applications * Luke- GitHub | minimal-xyz/minimal-pwa
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.
Special Guest: John-Daniel Trask.
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.
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 * Charles Wood * Dave Kimura * John Epperson
Sponsors * Next Level Mastermind * Raygun | Click here to get started on your free 14-day trial
Links * Dynamic Role Management | Drifting Ruby * GitHub- varvet/pundit
Picks * Charles- Blackout Curtains * Charles- Devchat.tv | The Dev Rev * Dave- Sleep * Dave- Ruby on Rails Screencasts for Web Developers | Drifting Ruby * John- Logitech C920x Pro HD Webcam
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 * Charles Wood * Dave Kimura * John Epperson
Sponsors * Linode * Next Level Mastermind
Links * Devchat.tv | Dev Rev
Picks * Charles- The 360 Leader: Developing your Influence from Anywhere in the Organization by John C. Maxwell * Charles- The Hero with a Thousand Faces by Joseph Campbell * Charles- Building a StoryBrand: Clarify Your Message So Customers Will Listen by Donald Miller * Dave- Ruby on Rails Link * Dave- Track Lights * John- Never Split the Difference: Negotiating As If Your Life Depended On It by Chris Voss * John- How to write an effective developer resume: Advice from a hiring manager * John- Yoichi Single Malt Whisky
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 * Charles Wood * John Epperson * Luke Stutters
Sponsors * Next Level Mastermind * Raygun | Click here to get started on your free 14-day trial
Links * The Eccentricities of Hammer and Nail by Suz Hinton
Picks * Charles- Next Level Mastermind * Charles- The Eye of the World: Book One of The Wheel of Time by Robert Jordan * Charles- The Hero with a Thousand Faces by Joseph Campbell * John- Nikka Yoichi Single Malt * John- Logitech | C920 HD PRO WEBCAM * Luke- GitHub | awesome-print * Luke- Apache CloudStack™
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 * David Kimura * Andrew Mason * Nate Hopkins * Charles Max Wood
Guest * David Heinemeier Hansson
Sponsors * Linode * Next Level Mastermind
Links * Action Text * Action Mailbox * Stimulus.js * Turbolinks * Haml * JBuilder * Follow David Heinemeier Hansson on Twitter @dhh, dhh.dk and Rework.fm
Picks * Andrew- How to Say It * Andrew- Rework episode * Nate- Stimulus Reflex * Charles- Atomic Habits * Charles- Ed Mylet show * Charles- The MFCEO with Andy Frisella * David Kimura- Swing set kit * David Kimura- Rails 6 * David Kimura- His daughter Ruby * David Heinemeier Hansson- To Have or To Be * David Heinemeier Hansson- Shape Up book * David Heinemeier Hansson- Rails 6
Special Guest: David Heinemeier Hansson.
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 * John Epperson * Luke Stutters
Guest * Richard Feldman
Sponsors * Raygun | Click here to get started on your free 14-day trial
Links * Vue.js * GitHub- NoRedInk/elm-rails * ELM Homepage * Discourse ELM * ELM Slack * Built with Elm
Picks * John- GitHub: spree/spree * John- GitHub: solidusio/solidus * John- Merlin Series (The Lost Years by T.A.) * Luke- PQINA | Designs and Builds Performant, Responsive, and Highly Polished Web Components * Richard- TV series: Battlestar Galactica * Richard- Frontend Masters * Richard- Barbell medicine
Special Guest: Richard Feldman.
Get the 2020 Goal Setting Workshop + Success Accelerator Deal HERE (Coupon Code: GOALS for a massive discount)
Mani Vaya joins Charles Max Wood to walk him through the 6 pillars of success that lead to meeting your goals.
Mani has read thousands of books on success, setting and achieving goals, and personal growth and has distilled these 6 principles from the books and then figured out how to put them into practice.
He and Chuck walk through the principles and strategies that create success and allow you to set goals that will bring you the things you want during the next year or so.
Listen to this episode to learn how to crush your biggest goals in 2021.
Get the 2020 Goal Setting Workshop + Success Accelerator Deal HERE (Coupon Code: GOALS for a massive discount)
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 * John Epperson * Luke Stutters
Guest * Emily Giurleo
Sponsors * Raygun | Click here to get started on your free 14-day trial
Links * Glue — Talk by Tanya Reilly
Picks * Luke- My Mum, Happy Birthday! * Luke- Kubernetes Native, High Performance Object Storage * John- Factorio * John- Know your own plumbing installation so you can replace parts yourself * Emily- Political Involvement: Phone Banking * Emily- Organizing and Volunteering for Democratic Political campaigns
Special Guest: Emily Giurleo.
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 * Dave Kimura * John Epperson * Luke Stutters
Guest * Hilary Stohs-Krause
Sponsors * Audible.com
Links * Cognitive behavioral therapy * Win–stay, lose–switch
Picks * John - Star Trek: Deep Space Nine * John- AppleCare Service * John -Bitwarden * Luke - Star Trek: Picard * Luke- CAT GAMES - STRING STRING THING (FOR CATS ONLY) * Dave - Homebridge * Dave- Rails Store * Hilary -GitHub * Hillary- Star Trek: The Next Generation
Special Guest: Hilary Stohs-Krause.
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 * Charles Max Wood * Dave Kimura * Luke Stutters
Guest * Paul Zaich
Links * Paul's Twitter * Paul's LinkedIn
Picks * Blood Pressure Monitor - Dave * eft - Luke * Ruby one-liners cookbook - Paul * Podcast Growth Summit - Chuck * Most Valuable Dev - Chuck * Most Valuable Dev Summit - Chuck * Mushroom Wars - Chuck * Gmelius - Chuck
Special Guest: Paul Zaich.
Get the Black Friday/Cyber Monday "Double Your Productivity by 5pm Today" Deal Coupon Code: "DEEP" for a GIANT discount 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.
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
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 * https://railsconf.com/2020/video/jesse-spevack-mistakes-were-made * https://akka.io/ * https://love.devchat.tv/you-dont-know-js-yet-challenge40653095 * https://www.driftingruby.com/learning_paths/stimulus-js * https://rails-hosting.com/2020/#javascript-rails * https://www.youtube.com/watch?v=UrqIgMxLKkw
Picks Luke
Amerliorated Windows 10
John -
Dave -
Jesse -
Special Guest: Jesse Spevack.
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 * Audible.com * CacheFly
Panel * Dave Kimura * John Epperson * Charles Max Wood
Links * rails-hosting.com/2020
Picks Chuck:
John Epperson:
Dave Kimura::
Follow Ruby Rogues on Twitter > @rubyrogues
In this episode of Ruby Rogues, Chelsea Troy teaches us to hone our debugging skills to a razor-sharp edge. We learn how to actively improve debugging skills, train troubleshooting instincts and practical strategies for tackling brain-bending bugs.
Sponsors * Audible.com * Raygun | Click here to get started on your free 14-day trial * CacheFly
Panel * John Epperson * Luke Stutters * Charles Max Wood
Guest * Chelsea Troy
Links * https://chelseatroy.com/2020/01/13/a-framework-for-debugging/
Picks Luke Stutters:
John Epperson:
Charles Wood::
Chelsea Troy:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: Chelsea Troy.
In this episode of Ruby Rogues, Eric Hayes joins us with the story of his journey into the dark, undocumented depths of Arel, ActiveRecord’s private API. We learn why writing custom SQL queries in 2020 can make sense and how to unlock the more powerful features of modern databases without resorting to SQL strings. Eric tells us how he manages the potential pitfalls of using Arel and achieves massive performance wins for difficult queries on large databases.
Sponsors * Audible.com * CacheFly
Panel * Dave Kimura * John Epperson * Luke Stutters * Charles Max Wood
Guest * Eric Hayes
Links * https://devhints.io/arel nice little cheat sheet * https://astexplorer.net/ * https://en.wikipedia.org/wiki/Visitor_pattern * https://twitter.com/ehayes
Picks Luke Stutters:
Chuck:
John Epperson:
Dave Kimura::
Eric Hayes:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: Eric Hayes.
In this episode of Ruby Rogues, Joe Santos Garcia from CodingPhase joins the panel to talk about how to successfully get into coding and grow into a coding career. He talks about growing his YouTube channel, membership site, and deciding where you want to land in your career.
Sponsors * Audible.com * Raygun | Click here to get started on your free 14-day trial * CacheFly
Panel * Dave Kimura * John Epperson * Luke Stutters * Charles Max Wood
Guest * Joe Santos Garcia
Links * https://driftingruby.com * https://www.preetamnath.com/blog/grow-shopify-micro-saas-to-25k-mrr-in-14-months
Picks Luke Stutters:
Charles Max Wood:
John Epperson:
Dave Kimura::
Joe Santos Garcia:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: Joe Santos Garcia.
React on Rails version 12 brings major improvements for hot reloading and bundle splitting. Justin Gordon talks about creating a great developer experience with React and Rails, the best way to manage your webpack configuration, simplify server and client-side rendering and avoid shaving those yaks!
Sponsors * Audible.com * Raygun | Click here to get started on your free 14-day trial * CacheFly
Panel * John Epperson * Luke Stutters * Charles Max Wood
Guest * Justin Gordon
Links * https://www.shakacode.com/react-on-rails-pro/ * RailsConf 2020 CE – Webpacker, It-Just-Works, But How? by Justin Gordon * https://github.com/shakacode/react_on_rails * https://github.com/reactjs/react-rails
Picks Luke Stutters:
John Epperson:
Chuck::
Justin Gordon:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: Justin Gordon.
Different doesn’t need to be worse. Dmitry Tsepelev tells us how to make the most of using GraphQL with Rails, the advantages over REST-based API queries and best practices for security and schemas.
Sponsors * Audible.com * CacheFly
Panel * Dave Kimura * John Epperson * Charles Max Wood * Luke Stutters
Guest * Dmitry Tsepelev
Links * https://github.com/anycable/anycable * https://graphql-ruby.org/ * https://evilmartians.com/chronicles/persisted-queries-in-graphql-slim-down-apollo-requests-to-your-ruby-application * https://evilmartians.com/chronicles/graphql-on-rails-1-from-zero-to-the-first-query * https://evilmartians.com/chronicles/graphql-on-rails-2-updating-the-data * https://evilmartians.com/chronicles/graphql-on-rails-3-on-the-way-to-perfectionGraphql-ruby benchmark * https://gist.github.com/DmitryTsepelev/36e290cf64b4ec0b18294d0a57fb26ff * Saint P Rubyconf 2019 * https://github.com/DmitryTsepelev/ar_lazy_preload * https://github.com/DmitryTsepelev/graphql-ruby-persisted_queries
Picks Luke Stutters:
Chuck:
John Epperson:
Dave Kimura::
Dmitry Tsepelev:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: Dmitry Tsepelev.
In this episode of Ruby Rogues, guest Jonathan Reinink joins the Rogues to talk about what Inertia.js is and why Rails developers would want to use it.
Sponsors * Audible.com * Raygun | Click here to get started on your free 14-day trial * CacheFly
Panel * John Epperson * Luke Stutters
Guest * Jonathan Reinink
Links * https://inertiajs.com * https://reinink.ca/articles/introducing-inertia-js * https://reinink.ca/articles/getting-started-with-inertia-js * https://remoteruby.transistor.fm/66 * https://www.fullstackradio.com/episodes/127
Picks Luke Stutters:
John Epperson:
Jonathan Reinink:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: Jonathan Reinink.
In this episode of Ruby Rogues, we talk with Ufuk about how Shopify made the transition to using Sorbet and about the benefits they felt they received from implementing it. Ufuk also reveals a little bit about how Shopify transitioned to fully remote and about how that will be the default moving forward.
Sponsors * Audible.com * Raygun | Click here to get started on your free 14-day trial * CacheFly
Panel * Dave Kimura * John Epperson * Luke Stutters
Guest * Ufuk Kayserilioglu
Picks Luke Stutters:
John Epperson:
Dave Kimura::
Ufuk Kayserilioglu:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: Ufuk Kayserilioglu.
In this episode of Ruby Rogues, the panelists discuss the progress, problems, and strategies for implementing JIT in Ruby for the Ruby 3×3 goal all while being humbled a bit as Takashi improves our understanding around the subject.
Sponsors * Audible.com * CacheFly
Panel * John Epperson * Matt Smith * Luke Stutters
Guest * Takashi Kokubun
Links * https://github.com/mame/optcarrot * medium.com/@k0kubun/jit-development-progress-at-ruby-2-7 * Koichi Sasada
Picks Luke Stutters:
Matt Smith:
John Epperson:
Takashi Kokubun:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: Takashi Kokubun.
In this episode of Ruby Rogues, we talk to James Dabbs as we explore a number of subjects and topics around refactoring
Sponsor * CacheFly
Panel * Dave Kimura * John Epperson * Matt Smith * Luke Stutters
Guest * James Dabbs
Links * https://github.com/github/scientist
Picks John Epperson:
James Dabbs:
Luke Stutters:
Dave Kimura::
Matt Smith:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: James Dabbs.
Tricia Ball talks to the Rogues about diversity in tech. We discuss the declining numbers of women in tech (and the rest of STEM) since the 1980s, reasons why women are leaving mid-career and how we can help reverse this trend. Tricia gives practical actions that can be taken to improve company culture, recruitment and retention of under-represented groups.
Sponsors * Scout APM | We'll donate $5 to the open source project of your choice when you deploy Scout * Want to level up on DevOps? Check out our Adventures in Devops Podcast * The MaxCoders' Guide to Finding Your Dream Developer Job by Charles Max Wood
Panel * Charles Max Wood * Luke Stutters * John Epperson
Special Guest * Tricia Ball
Links * Women in Tech Report * Laughter in the Male Dominated Room * The Culture of Sexism at Riot Games
Picks Luke * Outliers by Malcolm Gladwell * DragonRuby * Dragon Ruby episode with Lori Olson
John * Marco Rogers talk from RailsConf 2017 * Project Farm YouTube channel
Chuck * The 12 Week Year (book) * The Obstacle is the Way (book)
Tricia * Simone Giertz' Youtube channel
Special Guest: Tricia Ball.
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 * Dave Kimura * Luke Stutters * Matt Smith
Guest * Kyle d'Oliveira
Sponsors * Scout APM | We'll donate $5 to the open source project of your choice when you deploy Scout
Rails Remote Conf 2020
Links * GitHub's Online Schema Migrations for MySQL * Gh-ost benchmark against pt-online-schema-change performance
Picks Matt Smith:
Luke Stutters:
Dave Kimura:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: Kyle d'Oliveira.
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 * Charles Max Wood * John Epperson * Matt Smith * Luke Stutters
Guest * Dylan Andrews
Sponsors * Scout APM | We'll donate $5 to the open source project of your choice when you deploy Scout
Rails Remote Conf 2020
Picks Dylan Andrews:
Charles Max Wood:
Luke Stutters:
John Epperson:
Matt Smith:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: Dylan Andrews.
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 * Charles Max Wood * Dave Kimura * John Epperson * Matt Smith
Guests * Gonzalo Rodriguez * Braulio Martinez
Sponsors * Scout APM | We'll donate $5 to the open source project of your choice when you deploy Scout
Rails Remote Conf 2020
Links * FIDO Alliance - Open Authentication Standards More Secure than Passwords * eremyevans/rodauth: Ruby's Most Advanced Authentication Framework * Rodauth's demo site ported to Rails, showing Rodauth/Rails integration * Bart de Water
Picks Gonzalo Rodriguez:
Braulio Martinez:
Charles Max Wood:
Dave Kimura:
John Epperson:
Matt Smith:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guests: Braulio Martinez and Gonzalo Rodriguez.
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 * John Epperson * Matt Smith * Charles Max Wood
Guest * John Beatty
Sponsors * Scout APM | We'll donate $5 to the open source project of your choice when you deploy Scout
Rails Remote Conf 2020 Links * johnbeatty/hnpwa-app: An implementation of the Hacker News PWA with Rails + Stimulus
Picks John Beatty:
John Epperson:
Charles Max Wood:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: John Beatty.
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 * Dave Kimura * John Epperson * Matt Smith * Luke Stutters
Guest * James Thompson
Sponsors * Scout APM | We'll donate $5 to the open source project of your choice when you deploy Scout
Rails Remote Conf 2020 Links * Bugsnag * OpenTelemetry * Application Monitoring and Error Tracking Software | Sentry * SignalFx * smartinez87/exception_notification: Exception Notifier Plugin for Rails * Errbit
Picks James Thompson:
Luke Stutters:
Dave Kimura:
John Epperson:
Matt Smith:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: James Thompson.
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 * Charles Max Wood * Dave Kimura * John Epperson * Luke Stutters * Matt Smith
Guest * Lee Richmond
Sponsors * Resolve Digital
Rails Remote Conf 2020 Links * Nested Forms from Scratch with StimulusJS | Drifting Ruby
Picks Charles Max Wood:
Dave Kimura:
John Epperson:
Luke Stutters:
Matt Smith:
Lee Richmond:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: Lee Richmond.
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 * Charles Max Wood * Dave Kimura * Luke Stutters
Guest * Joel Hawksley
Sponsors * Resolve Digital
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
Links * View Components for Bootstrap * Rails PR for template annotations * Rails PR for render_in * RNR 161: LightOS and the Light Phone with Hugh Francis
Picks Joel Hawksley:
Charles Max Wood:
Dave Kimura:
Luke Stutters:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: Joel Hawksley.
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 * John Epperson * Luke Stutters
Guest * DeeDee Lavinder
Sponsors * Resolve Digital * Springboard | $500 Scholarship Available for Candidates who Apply with Code "DASPRINGBOARD"
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
Links * Quiet: The Power of Introverts in a World That Can't Stop Talking: Susan Cain
Picks John Epperson:
Luke Stutters:
DeeDee Lavinder:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: DeeDee Lavinder.
JavaScript Remote Conf 2020 May 13th to 15th - register now! Dave Aronson joins the Rogues to talk about Mutation Testing in Ruby. The conversation starts with a discussion of what mutation testing is. They discuss the benefits and approaches before diving into implementation details.
Panel * Charles Max Wood * Dave Kimura * John Epperson * Luke Stutters
Guest * Dave Aronson
Sponsors * Springboard | $500 Scholarship Available for Candidates who Apply with Code "AISPRINGBOARD"
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
Links * seattlerb/heckle * dgollahon/mutest * mbj/mutant: Mutation testing for Ruby - Semantic code coverage
Picks Charles Max Wood:
Dave Kimura:
John Epperson:
Luke Stutters:
Dave Aronson:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: Dave Aronson.
JavaScript Remote Conf 2020 May 13th to 15th - register now! Ivan Nemytchenko is a freelancer. He's a speaker and conference organizer. Ivan spoke at RailsConf about abstract Object Oriented programming ideas and how they can be expressed with pictures. The discussion goes into learning processes and how to create visual representations that help people understand Ruby, Rails, or other concepts.
Panel * Dave Kimura * John Epperson * Luke Stutters
Guest * Ivan Nemytchenko
Sponsors * Springboard | $500 Scholarship Available for Candidates who Apply with Code "DASPRINGBOARD"
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
Links * Chernoff Faces * dmikhr/DudeGL - "Anthropomorphic UML": visualization of code and OOP concepts in a form of human body. * dmikhr/Dudity - Analyze Rails code with stick dudes * dmikhr/DudesHub - Visualize code diffs in GitHub
Picks Dave Kimura:
John Epperson:
Luke Stutters:
Ivan Nemytchenko:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: Ivan Nemytchenko.
JavaScript Remote Conf 2020 May 13th to 15th - register now! Dave has been upgrading some of his Rails apps. Chuck has gone through several upgrades in his past work and is working on some apps that need the upgrade. Listen to 2 veteran Rails developers talk through the issues of upgrade from different versions of Rails to the latest version.
Panel * Charles Max Wood * Dave Kimura
Sponsors * Resolve Digital * Springboard | $500 Scholarship Available for Candidates who Apply with Code "AISPRINGBOARD"
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
Links * RailsDiff * js2coffee 2.0 — convert JavaScript to CoffeeScript * app/assets/config/manifest.js
Picks Charles Max Wood:
Dave Kimura:
Follow Ruby Rogues on Twitter > @rubyrogues
JavaScript Remote Conf 2020 May 13th to 15th - register now! Sean Marcia organizes Ruby For Good—an organization for building technology to solve the world's problems and an in person meetup held online this year. Sean talks about founding Ruby For Good and some of the projects it has been responsible for creating. Panel * Charles Max Wood * John Epperson * Luke Stutters
Guest * Sean Marcia
Sponsors * Springboard | $500 Scholarship Available for Candidates who Apply with Code "DASPRINGBOARD"
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
Links * Ruby for Good - Making the world gooder * Code for America * The Code for America Brigade Network
Picks Charles Max Wood:
John Epperson:
Luke Stutters:
Sean Marcia:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: Sean Marcia.
JavaScript Remote Conf 2020 May 13th to 15th - register now! This episode is a roundup discussion about what the podcast hosts have going on these days. John talks about going freelance working on Ruby, Rails, and React Native. John and Chuck riff on the pros and cons of React Native. Luke then jumps in and talks about a crash-and-burn he ran into with building reports. John sympathizes based on his past experiences. The rest of the show comprises the panel filling in with what they're working on or learning.
Panel * Charles Max Wood * John Epperson * Luke Stutters
Sponsors * Springboard | $500 Scholarship Available for Candidates who Apply with Code "AISPRINGBOARD"
____________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
____________________________________________________________ Links * fastlane * Swagger * About Swagger Specification * JavaScript Remote Conf 2020 * GatsbyJS * Gridsome
Picks Charles Max Wood:
John Epperson:
Luke Stutters:
Follow Ruby Rogues on Twitter > @rubyrogues
JavaScript Remote Conf 2020 May 14th to 15th - register now! Daniel Colson, from Thoughtbot and maintainer of Factory Bot, joins Dave Kimura, Luke Sutters, Tom Rossi, and John Epperson and discuss the transition from a Music career to a development career. We also dive into Factory Bot and its use cases.
Panel * Dave Kimura * John Epperson * Tom Rossi * Luke Stutters
Guest * Daniel Colson
Sponsors * Resolve Digital
____________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
____________________________________________________________ Links * Doctrine | Ruby on Rails * Falsehoods Programmers Believe About Names | Kalzumeus Software * working together · thoughtbot/guides * inclusive meetings · thoughtbot/guides * How to Get Better at Pair Programming
Picks Dave Kimura:
John Epperson:
Luke Stutters:
Daniel Colson:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: Daniel Colson.
JavaScript Remote Conf 2020 May 14th to 15th - register now!
We talk with Vladimir Dementyev about Ruby Next, its use cases and why you might want to get features from newer versions of Ruby in your current version
Panel * Dave Kimura * John Epperson * Tom Rossi
Guest * Vladimir Dementyev
____________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
____________________________________________________________ Picks Dave Kimura:
John Epperson:
Tom Rossi:
Vladimir Dementyev:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: Vladimir Dementyev.
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 * Charles Max Wood * Dave Kimura * John Epperson
Guest * Chris O'Sullivan
Sponsors * Resolve Digital
____________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
____________________________________________________________ Links * 209 JSJ TypeScript with Anders Hejlsberg * “DHH's whoops video” * Mr. Neighborly's Humble Little Ruby Book * Jim Weirich * ruby/rake: A make-like build utility for Ruby. * Quick Interview with Martin Sadler of WorkingWithRails.com * miloops (Emilio Tagua * RailsConf 2008 - O'Reilly Conferences, May 29 - June 01, 2008, Portland, Oregon * why the lucky stiff * why's (poignant) Guide to Ruby * Zed Shaw * https://gilesbowkett.com * Object Property Value Shorthand in JavaScript with ES6 * Parentheses in Ruby | Why, Dave, Why * Seattle.rb style no longer valid when curly braces are used * PeepCode - @peepcode * Gregg Pollack - @greggpollack * Jamis Buck - @jamis
Picks Charles Max Wood:
Dave Kimura:
John Epperson:
Chris O'Sullivan:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: Chris O'Sullivan.
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: * Dave Kimura * John Epperson
Guest: * Ian Norris
Sponsors: * Resolve Digital
____________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
____________________________________________________________ Links: * Ruby by the Bay / Ruby for Good - Making the world gooder * RubyConf 2019 - Lightning Talks - Ian Norris * BackerKit
Picks: Dave Kimura:
John Epperson:
Ian Norris:
Follow Ruby Rogues on Twitter > @rubyrogues
Special Guest: Ian Norris.
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: * Charles Max Wood * Dave Kimura * John Epperson
Guest: * Colin Fulton
Sponsors: * Resolve Digital
____________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
____________________________________________________________ Links: * Ruby on the Apple * That Works?! Quines and Other Delightfully Useless Programs
Picks: Charles Max Wood:
Dave Kimura:
John Epperson:
Colin Fulton:
Special Guest: Colin Fulton.
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 * Dave Kimura * John Epperson
Guest * Zachary Schroeder
Sponsors * Resolve Digital * RedisGreen
________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
____________________________________________________________ Links * https://www.youtube.com/watch?v=taYx6Dy6dwI * https://github.com/robobluebird/ruby-lofi * Ruby | Gosu * Ruby2d
Picks Dave Kimura:
John Epperson:
Zachary Schroeder:
Special Guest: Zachary Schroeder.
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 * Dave Kimura * John Epperson * Charles Max Wood
Guests * Jon Druse
Sponsors * RedisGreen
____________________________ > "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links * How To Lose 50 Million Records in 5 Minutes * Elastic Search * MongoDB * PostgreSQL * wrstudios.com/jobs
Picks Charles Max Wood:
John Epperson:
Dave Kimura:
Jon Druse:
Special Guest: Jon Druse.
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 * John Epperson * Charles Max Wood
Guests * Bob Quillin * Karthik Gaekwad
Sponsors * Cloud 66 - Pain-Free Rails Deployments Try Cloud 66 Rails for FREE & get $100 of free credits with promo code RubyRogues-19 * RedisGreen
____________________________ > "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links * RR 397: Oracle with Karthik Gaekwad * RR 402: Kafka and Karafka with Maciej Menfeld * Kafka * Redis * Amazon SQS * Sidekick * Resque * RabbitMQ * Zookeeper * Karafka
Picks Charles Max Wood:
John Epperson:
Bob Quillin:
Karthik Gaekwad:
Special Guests: Bob Quillin and Karthik Gaekwad.
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 * David Kimura * John Epperson * Charles Max Wood
Sponsors * Sentry | Use the code “devchat” for $100 credit * Cloud 66 - Pain Free Rails Deployments Try Cloud 66 Rails for FREE & get $100 of free credits with promo code RubyRogues-19 * RedisGreen
____________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links * Linux * Time Machine * NetBeans * VIM * Docker * MariaDB * MySQL * LIV8 * Lazy Docker * RVM * RSpec * Mini Test * Ruby 2.7 Release * Ruby 2.7 features * What’s New in Ruby 2.7 * Ruby changes reference
Picks David Kimura:
Charles Max Wood:
John Epperson:
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 * David Kimura * John Epperson * Charles Max Wood
Guest * Mithun T Dhar
Sponsors * Sentry | Use the code “devchat” for $100 credit
____________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links * HERE Technologies * Google maps timeline
Picks David Kimura:
Charles Max Wood:
John Epperson:
Mithun Dhar:
Special Guest: Mithun Dhar.
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 * Dave Kimura
Andrew Mason * Charles Max Wood
Guest * Brittany Martin
Sponsors * Sentry | Use the code "devchat" for $100 credit * RedisGreen * Adventures in DevOps Podcast * CacheFly
____________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
____________________________________________________________ Links * Brittany's Talk * Podcast Brittany Hosts * https://twitter.com/BrittJMartin * https://www.instagram.com/wonderwomaninthemaking/ * https://brittanymartin.dev * https://github.com/wonderwoman13
Picks Andrew Mason
Dave Kimura
Charles Max Wood
Brittany Martin
Special Guest: Brittany Martin.
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 * David Kumura * Charles Max Wood
Guest * Sven Akerman Jr.
Sponsors * Sentry | Use the code “devchat” for $100 credit * RedisGreen
Links * Outlook Insight * Scrum * Agile development * Kubernetes
Picks David Kimura:
Charles Max Wood:
Sven Akerman Jr.:
Special Guest: Sven Akerman Jr.
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 * Sentry | Use the code “devchat” for $100 credit * Cloud 66 - Pain Free Rails Deployments Try Cloud 66 Rails for FREE & get $100 of free credits with promo code RubyRogues-19 * RedisGreen
_____________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
____________________________________________________________ Links * Creating a CI/CD Pipeline with GitLab and Kubernetes in 20 minutes by Eddie Zaneski * Hacktoberfest presented by DigitalOcean and DEV * Commit Brooklyn 2019: Closing the SDLC Loop - A Security Panel by Shamiq Islam * Commit Brooklyn 2019: How Delta Became Truly Cloud Native - Avoiding the Vendor-Lock by Jasmine James
Special Guests: Eddie Zaneski , Jasmine James, and Shamiq Islam.
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 * Charles Max Wood
Guest * Alessandro Desantis
Sponsors * Sentry | Use the code “devchat” for $100 credit * Cloud 66 - Pain Free Rails Deployments Try Cloud 66 Rails for FREE & get $100 of free credits with promo code RubyRogues-19 * RedisGreen
Links * Solidus * Nebulab * Shopify * Backbone * Solidus Slack community * Follow Alessandro on Medium and Alessandro.codes
Picks Charles Max Wood:
Alessandro Desantis:
Special Guest: Alessandro Desantis.
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 * Dan Shappir * Charles Max Wood
Guest * Joshua S. Ponelat
Sponsors * Sentry | Use the code “devchat” for $100 credit * Cloud 66 - Pain Free Rails Deployments Try Cloud 66 Rails for FREE & get $100 of free credits with promo code RubyRogues-19 * RedisGreen
_____________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
____________________________________________________________ Links * Josh's Twitter * Swagger * Open API * Difference Between Swagger and Open API * GraphQL * Designing APIs with Swagger and Open API
Picks Dan Shappir
Charles Max Wood
Josh Ponelat
Special Guest: Josh Ponelat.
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 * Dave Kimura * Charles Max Wood
Guest * Andrew Glass
Sponsors * Sentry | Use the code “devchat” for $100 credit * Cloud 66 - Pain Free Rails Deployments Try Cloud 66 Rails for FREE & get $100 of free credits with promo code RubyRogues-19 * RedisGreen
Links * Human Powered Rails: Automated Crowdsourcing In Your RoR App by Andrew Glass * Amazon Mechanical Turk * AWS Transcribe * I Found Work on an Amazon Website. I Made 97 Cents an Hour. * RTurk * Turkee * AWS SDK Turk
Picks Dave Kimura:
Charles Max Wood:
Andrew Glass:
Special Guest: Andrew Glass.
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 * Dave Kimura * Charles Max Wood
Sponsors * Sentry | Use the code “devchat” for $100 credit * Cloud 66 - Pain Free Rails Deployments Try Cloud 66 Rails for FREE & get $100 of free credits with promo code RubyRogues-19 * RedisGreen
_______________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood will be out on November 20th on Amazon. Get your copy on that date only for $1.
_______________________________________________________ Links * Backbone * React * Vue * Stimulus * jQuery * Mongoid * MongoDB * Elastic Search * Squel.js * JSON * RSpec
Picks Dave Kimura:
Charles Max Wood:
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 * Andrew Mason * David Kimura
With special guests: Khash Sajadi and Kasia Hoffman
Sponsors * Sentry use the code “devchat” for 2 months free on Sentry’s small plan * Cloud 66 - Pain Free Rails Deployments | Try Cloud 66 Rails for FREE & $100 of free credits with promo code RubyRogues-19 * RedisGreen
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood will be out on November 20th on Amazon. Get your copy on that date only for $1.
Links
Follow DevChatTV on Facebook and Twitter
Picks Andrew Mason:
David Kimura:
Khash Sajadi:
Kasia Hoffman:
Special Guests: Kasia Hoffman and Khash Sajadi.
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 * Charles Max Wood * Andrew Mason * David Kimura
With special guest: Michael Herold
Sponsors * Sentry use the code “devchat” for 2 months free on Sentry’s small plan * Cloud 66 - Pain Free Rails Deployments Try Cloud 66 Rails for FREE & get $66 free credits with promo code RubyRogues * JavaScript Jabber
Links
Follow DevChatTV on Facebook and Twitter
Picks Charles Max Wood:
David Kimura:
Michael Herold:
Follow Michael @mherold on Twitter and Github @michaelherold and michaeljherold.com
Special Guest: Michael Herold.
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 * Charles Max Wood * Andrew Mason * David Kimura * Nate Hopkins
With special guest: Graham Conzett
Sponsors * Sentry use the code “devchat” for 2 months free on Sentry’s small plan * Cloud 66 - Pain Free Rails Deployments Try Cloud 66 Rails for FREE & get $66 free credits with promo code RubyRogues * Adventures in Angular
Links
Follow DevChatTV on Facebook and Twitter
Picks Charles Max Wood:
David Kimura:
Andrew Mason:
Nate Hopkins:
Graham Conzett:
Follow Graham @gconzett on Twitter and Github
Special Guest: Graham Conzett.
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 situation Ross 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
With special guest: Ross Kaffenberger
Sponsors
Links
Follow DevChatTV on Facebook and Twitter
Picks Dave Kimura:
Nate Hopkins:
Charles Max Wood:
Ross Kaffenberger:
Follow Ross on Twitter and Github, and on his blog
Special Guest: Ross Kaffenberger.
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 option
If 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 * Charles Max Wood * Andrew Mason * David Kimura
With special guest: John Epperson
Sponsors * Sentry use the code “devchat” for 2 months free on Sentry’s small plan * Cloud 66 - Pain Free Rails Deployments Try Cloud 66 Rails for FREE & get $66 free credits with promo code RubyRogues * React Round Up
Links
Follow DevChatTV on Facebook and Twitter
Picks Charles Max Wood:
David Kimura:
Andrew Mason:
John Epperson:
Follow John on Github, on rockagile.io, and Twitter
Special Guest: John Epperson.
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 * Andrew Mason * David Kimura
With special guest: Mike Schutte
Sponsors * Sentry use the code “devchat” for 2 months free on Sentry’s small plan * Cloud 66 - Pain Free Rails Deployments Try Cloud 66 Rails for FREE & get $66 free credits with promo code RubyRogues * Elixir Mix Podcast
Links
Follow DevChatTV on Facebook and Twitter
Picks David Kimura:
Andrew Mason:
Mike Schutte:
Special Guest: Mike Schutte.
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 * Charles Max Wood * David Kimura * Nate Hopkins * Andrew Mason
With special guest: Todd Kaufman
Sponsors * Sentry use the code “devchat” for 2 months free on Sentry’s small plan * Cloud 66 - Pain Free Rails Deployments Try Cloud 66 Rails for FREE & get $66 free credits with promo code RubyRogues * Adventures in Blockchain
Links
Follow DevChatTV on Facebook and Twitter
Picks David Kimura:
Nate Hopkins:
Charles Max Wood:
Andrew Mason:
Todd Kaufman:
Special Guest: Todd Kaufman.
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 * Andrew Mason * David Kimura * Nate Hopkins
With special guest: Elia Schito
Sponsors * Sentry use the code “devchat” for 2 months free on Sentry’s small plan * Cloud 66 - Pain Free Rails Deployments Try Cloud 66 Rails for FREE & get $66 free credits with promo code RubyRogues * My Ruby Story
Links
Follow DevChatTV on Facebook and Twitter
Picks David Kimura:
Nate Hopkins:
Andrew Mason:
Elia Schito:
Special Guest: Elia Schito.
Episode Summary Adam 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 thing
The 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 work
The 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 is
They 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 * Andrew Mason * David Kimura * Nate Hopkins * Charles Max Wood
With special guest: Adam Cuppy
Sponsors * Sentry use the code “devchat” for 2 months free on Sentry’s small plan * Cloud 66 - Pain Free Rails Deployments Try Cloud 66 Rails for FREE & get $66 free credits with promo code RubyRogues * Adventures in Devops
Links
Follow DevChat on Facebook and Twitter
Picks David Kimura:
Nate Hopkins:
Andrew Mason:
Charles Max Wood:
Adam Cuppy:
Special Guest: Adam Cuppy.
Sponsors * Sentry use code “devchat” for $100 credit * Sustain Our Software * Adventures in Blockchain
Panel * David Kimura * Andrew Mason * Nate Hopkins * Charles Max Wood
With Special Guest: David Heinemeier Hansson
Episode Summary 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.
Links
Follow DevChat on Facebook and Twitter
Picks Andrew Mason:
Nate Hopkins:
Charles Max Wood:
David Kimura:
David Heinemeier Hansson:
Special Guest: David Heinemeier Hansson.
Sponsors * Sentry use code “devchat” for $100 credit * Datadog * React Native Radio
Panel * David Kimura * Andrew Mason
With Special Guest: Paul Tarjan
Episode Summary Paul Tarjan works for Stripe specializing in developer productivity. In the past, he has owned his own company and worked for Facebook. In today’s episode, the panel is talking about Sorbet, a gradual type checker for Ruby that Paul built. Paul talks about how Sorbet fits in the Ruby community and how it works. The two parts of Sorbet are the runtime type check and the static typecheck. Paul talks about how introducing Sorbet at Stripe has changed the way they approach coding. He talks about some of the performance impacts of adding Sorbet, how it differs from other type checkers, and how it was received in the Ruby community. Paul delves into how developers are notified if Sorbet fails a type check while checking a class. The panel discusses ways to convince reluctant team members that introducing a type checker like Sorbet will improve their code, and Paul talks about his experience implementing it at Stripe. He talks about what he sees for the future of Sorbet. The show finishes with the panel discussing similar projects in other languages and their opinions on React in light of Paul’s former employment with Facebook.
Links
Follow DevChat on Facebook and Twitter
Picks Andrew Mason:
David Kimura:
Paul Tarjan:
Special Guest: Paul Tarjan.
Sponsors * Sentry use code “devchat” for $100 credit * Datadog
Panel * David Kimura * Andrew Mason * Charles Max Wood
With Special Guests: Julian Fahrer
Episode Summary Julian Fahrer has been a guest on Devchat shows before and recently did a workshop at RailsConf about Docker. He specializes in teaching people about Docker and has his own course, LearnDocker.online. Julian begins by giving suggestions for those considering Dockerizing their Rails applications. He talks about why Docker is a good choice to be used in a local development environment and gives some advice for those who might have trouble running Docker in development. He talks about where Docker fits within the development or production environment. He talks about synchronizing code between development and production and running tests. He advises listeners on how to get started with Docker. He talks about using a Docker registry to build and push images. They discuss how to deal with things once you move to production and how to use containers when considering microservices. Julian talks about debugging in Docker. They finish by talking about Docker’s compatibility with frameworks besides Rails and how services talk to each other in Docker.
Links
Follow DevChat on Facebook and Twitter
Picks Andrew Mason:
David Kimura:
Julan Fahrer:
Charles Max Wood:
Special Guest: Julian Fahrer.
Sponsors * Sentry use code “devchat” for $100 credit * Datadog
Panel * David Kimura * Andrew Mason * Nate Hopkins
With Special Guests: Taylor Jones
Episode Summary Taylor Jones works remotely for Heroku in technical support. He talks about some of the most common issues he helps customers with and what issues he saw when Webpacker was introduced. The panel talks about their experience using Webpacker and how it has influenced their usage of React and Ruby. They talk about the importance of creating maintainable applications and the possible effects of using primarily new technology versus tried and true methods. It is important to keep architecture consistent, so that if you have to debug something old, you still know your way around. They discuss the forward progress in the Rails community and how the need for a JavaScript framework has decreased. They discuss improvements in adding elements from other languages into your code, especially since Webpacker added a way to manage JavaScript assets to the community. They discuss the impact Webpacker has had on application maintainability. For a more sustainable app, they suggest reducing the number of gems and dependencies in your application, and over all knowing what you’re putting in your app.
Links
Follow DevChat on Facebook and Twitter
Picks Andrew Mason:
David Kimura:
Taylor Jones:
Special Guest: Taylor Jones.
Sponsors * Sentry use code “devchat” for $100 credit * Datadog
Panel * David Kimura * Nate Hopkins * Andrew Mason
Episode Summary Today the panel is talking about documentation. They begin by discussing what documentation is, where it fits within an application, and if the code documents itself. They agree that documentation starts in the comments to explain what you’re doing, but if that’s your exclusive method, then a refactor is in order. They talk about where to start with documentation and different ways they’ve done it.
The panel talks about the importance of documentation, especially for people just joining a team. In addition to documenting the project itself, it is important to document what different libraries do and how to interact with them. They discuss where to put this kind of documentation. They talk about documenting patterns, best practices, and procedures in addition to the ‘how to’ of a project. The conversation turns to style guidelines, what they are, and how to keep them up to date. They talk about what tools are available to generate documentation that are close to the code but outside of it that can help keep documentation up to date. The panel believes that there is a relationship between the size of your team and the necessity to document. Nate introduces the idea found in the article by Tom Preston-Werner that you should think about what you’re going to create in the code, and document it first.
Links
Follow DevChat on Facebook and Twitter
Picks Nate Hopkins:
Andrew Mason:
David Kimura:
Sponsors * Sentry use code “devchat” for $100 credit * Cloud 66 - Pain Free Rails Deployments: Try Cloud 66 Rails for FREE & get $66 free credits with promo code RubyRogues
Panel * Charles Max Wood * Andrew Mason
With Special Guests: David A. Black and Joseph Leo III
Episode Summary David A. Black has been a Ruby user for 19 years and has been writing books about Ruby for the last 14 years. Joseph spent 12 years in software and started the company Def Method Inc. Together, they co-authored the book The Well-Grounded Rubyist, which will soon have its third edition released. They give some of the history behind The Well-Grounded Rubyist. Joseph talks about his experience being brought into the project. David and Joseph talk about how The Well-Grounded Rubyist is different from other books on Ruby. This book is helpful because a lot of people begin by understanding Ruby more than Rails, and this book talks about ways to think about Ruby and understand how it’s structure. Joseph and David talk about how The Well-Grounded Rubyist 3rd edition differs from the 2nd edition. The book has been updated so that a lot of the code and solutions for the exercises are available online and there is an additional chapter in part 3 about Ruby dynamics and how one would write functional programming with Ruby
The panel discusses how important it is to learn Ruby before starting a job in Rails 2. They agree that if you are a Ruby developer, even if you’re working on Rails apps, so you should know your tools. They discuss how far down that road The Well Grounded Rubyist would get readers. They panelists talk about other books that are a natural prequel or sequel to the The Well-Grounded Rubyist. Joseph and David talk about their approach to reading books and how The Well-Grounded Rubyist should be read. Their goal in making the book was not to have people work on an overarching application while reading the book, but rather there are exercises and examples that you are encouraged to work through. There are some lessons in the book that you won’t write often, but you still need to know how to do it. While the book doesn’t have everything about Ruby, but the examples are designed to give you the best returns for you study. David and Joseph conclude by giving their final thoughts on the book.
Links
Follow DevChat on Facebook and Twitter
Picks Andrew Mason:
Charles Max Wood:
David A. Black:
Joseph Leo III:
Special Guests: David A. Black and Joe Leo III.
Sponsors * Sentry use code “devchat” for $100 credit * Cloud 66 - Pain Free Rails Deployments: Try Cloud 66 Rails for FREE & get $66 free credits with promo code RubyRogues
Panel * Charles Max Wood * Andrew Mason
With Special Guest: Daniel Pritchett
Episode Summary Daniel Pritchett started doing Ruby in 2012. Lately he has been working on publishing a book on building Chatbots in Ruby using a framework called Lita and does infrastructure for a startup called Gremlin. Gremlin reaches out to servers and tries to find weak spots so that you can be proactive about solving these problems and be better prepared when fires do start. Daniel’s real purpose in joining the show today was to talk about his book Build Chatbot Interactions. Daniel talks about what he defines as a chatbot. His book teaches you how to program a chatbot with a dozen or so different chatbot skills. Daniel talks about his first community chatbot, @elvis on #memtech IRC, which picked up immediate contributions from local developers.
Daniel istructs listeners how to host chatbots and some of the skills that people can pull together for a chatbot from his book. The panel talks about things they would like to do with chatbots, as well as some of the drawbacks and things you have to be careful with. Each skill in Daniel’s book can be a stand-alone skill, or they can be combined. Daniel talks about what convinced him to write a book instead of doing tutorials online.
If you would like to purchase the book, click here.
Source code for all the book exercises can be found here.
Links
Follow DevChat on Facebook and Twitter
Picks Andrew Mason:
Charles Max Wood:
Daniel Pritchett:
Special Guest: Daniel Pritchett.
Sponsors * Sentry use code “devchat” for $100 credit * Cloud 66 - Pain Free Rails Deployments: Try Cloud 66 Rails for FREE & get $66 free credits with promo code RubyRogues * RedisGreen
Panel * Charles Max Wood * Nate Hopkins * Andrew Mason
With Special Guest: Kir Shatrov
Episode Summary 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 ever completes.
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 is structured and managed from an opps 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.
Links
Follow DevChat on Facebook and Twitter
Picks Nate Hopkins:
Charles Max Wood:
Kirill Shatrov:
Special Guest: Kir Shatrov.
Sponsors * Sentry use code “devchat” for $100 credit * Cloud 66 - Pain Free Rails Deployments Try Cloud 66 Rails for FREE & get $66 free credits with promo code RubyRogues * RedisGreen
Panel * Charles Max Wood * Dave Kimura * Andrew Mason
Episode Summary Today’s topic is the Stimulus library. Stimulus is actually a JavaScript framework and library, but it’s also built by Basecamp, so it works really well in Rails. There is a demand for rich client side interactions, and Stimulus fills in some of the gaps. The panelists talk about some of their experiences with Stimulus versus jQuery. They talk about different use cases for Stimulus, how it works, and how it can help your project. One of the main draws of Stimulus is that the amount of code needed to implement a feature with Stimulus is very small comparatively. Also, frameworks like React weren’t created for Rails, and so adding React to a Rails application can be quite painful. Stimulus follows the Rails philosophy to keep things simple and unobtrusive, so if you ever found that Stimulus was not a right fit for your application, extracting it would be a major overhaul.
Links
Follow DevChat on Facebook and Twitter
Picks Dave Kimura:
Charles Max Wood:
Andrew Mason:
Sponsors * Sentry use code “devchat” for $100 credit * Triplebyte offers $1000 signing bonus * RedisGreen
Panel * Charles Max Wood * Dave Kimura * Andrew Mason
With Special Guest: Steve Peak
Episode Summary Today’s guest Steve Peak has been an entrepreneur and developer for a decade specializing in building tools. He built the company Codecov, one of the top performers in the github ecosystem. His next project is Storyscript, first and only top level programming language that focuses on business logic. The panel begins by discussing what a microservice is and what makes a good one. One of the difficulties with microservices that there is no standardization, and that’s where microservice.guide can help.
The panel talks about some of the issues of having too many microservices and Steve offers Possible solutions. Steve delves into some of the abilities of Story Script in stringing together multiple services in different languages and how it can simplify things. They talk about if it’s possible to have too many microservices and when does a microservice become a monolith microservice. They talk about the possibility of inflating the production environment with unneeded memory by using microservices. Steve offers advice on how to go from poor decisions to responsible decisions when using microservices, how Storyscript can help when multiple microservices are in use, and where he sees the industry heading.
Links
Follow DevChat on Facebook and Twitter
Picks Dave Kimura:
Charles Max Wood:
Steve Peak:
Special Guest: Steve Peak.
Sponsors * Sentry use code “devchat” for $100 credit * Triplebyte offers $1000 signing bonus * RedisGreen
Panel * Charles Max Wood * David Kimura * Nate Hopkins * Andrew Mason
With Special Guest: Olivier Lacan
Episode Summary 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.
Links
Follow DevChat on Facebook and Twitter
Picks Andrew Mason:
David Kimura:
Charles Max Wood:
Nate Hopkins:
Olivier Lacan:
Special Guest: Olivier Lacan.
Sponsors * Sentry use the code “devchat” for 2 months free on Sentry small plan * Triplebyte offers a $1000 signing bonus * RedisGreen * Cachefly
Panel * Charles Max Wood
Episode Summary Charles talks about his journey as a podcaster and his mission with Devchat.tv. Devchat.tv is designed to home podcasts that speak to all developer communities. Charles also plans Devchat.tv to host shows for technologies that are on the verge of a breakthrough and will be a lot more widely available in the near future such as Artificial Intelligence (AI), Internet of Things (IoT), Virtual Reality (VR) and Augmented Reality (AR). There are new shows being added continuously to reach out to new communities, some examples of which are: a Data Science show, a DevOps show and an Open Source show.
As a kid, Charles would record his own shows on a tape recorder. He was always interested in technology. While studying Computer Engineering at Brigham Young University, he worked in the University's Operations Center. Upon graduation, he started working for Mozy where he was introduced to podcasts. Listen to the show to find out the rest of Charles' story, some of the lessons and tips he learned throughout his journey and the evolution of the shows on Devchat.tv.
If there isn't a show for your community and you would like there one to be, reach out to Charles. Also if there was a podcast about a programming related subject that ended abruptly and you would like it to continue, reach out to Charles. Devchat.tv would like to host these podcasts.
Links * Charles' Twitter * EverywhereJS JavaScript Community * EverywhereRB Ruby and Rails Community * Find Your Dream Job As A Developer * Devchat.tv on Facebook * Devchat.tv
Picks * EverywhereJS JavaScript Community * EverywhereRB Ruby and Rails Community * Netlify * Eleventy * https://github.com/cmaxw/devchat-eleventy
Sponsors * Sentry use code “devchat” for $100 credit * Triplebyte offers $1000 signing bonus * Cloud 66 - Pain Free Rails Deployments Try Cloud 66 Rails for FREE & get $66 free credits with promo code RubyRogues
Panel * Charles Max Wood * David Kimura * David Richards * Andrew Mason
With Special Guest: Leonardo Tegon
Episode Summary Leonardo Tegon is a software developer at Plataformatec, the company that created Devise. Leonardo talks about how he ended up at Plataformatec and shares a little bit about the talk he gave about alternative authentication methods. He talks about the difference between Devise and Warden. Some of the panelists have had some issues with cache warming in Warden, and Leonardo shares ways to get around it. They talk about authentication strategies used in Warden and Devise and different strategies that tap into hardware.
Leonardo talks about some of the features coming to Devise, although their primary focus is on maintenance. He talks about the work that goes into such a long-standing project, especially concerning maintaining the integrity of the code but also allowing for progress. They talk about some of their favorite features of Devise. Devise is easy to set up and very functional, but also intimidating. When a library is so big and does so much, it has to make some assumptions. Leonardo talks about how they decide what goes into the library at this point and how easy is it for new maintainers to contribute to the project. Leonardo ultimately wants to make it easier for people to jump in.
Links
Follow DevChat on Facebook and Twitter
Picks Leonardo Tegon:
Andrew Mason:
David Kimura:
Charles Max Wood:
David Richards:
Special Guest: Leonardo Tegon.
Sponsors * Sentry use code “devchat” for $100 credit * Triplebyte offers $1000 signing bonus * Cloud 66 - Pain Free Rails Deployments Try Cloud 66 Rails for FREE & get $66 free credits with promo code RubyRogues
Panel * Charles Max Wood * Dave Kimura * Andrew Mason * Nate Hopkins With Special Guest: Pete Holiday
Episode Summary Special Guest Pete Holiday is the director of engineering at a company called Samsara and specializes interviewing software engineers. The panel begins by talking about some of the trends they see in tech interviews, specifically the move towards code-heavy interviews. Pete does not think take home tests accurately simulate a work environment, and shares his preferred technique. The panel discusses the most important things to look for in an interview, such as how good of a fit they will be with the company culture. They discuss the importance of hiring junior developers, some of the ethics of internships and compensating for take home projects.They turn the conversation to interview questions and what should be asked to evaluate a candidate. They go through some potential questions and methods for coming up for interview questions. Pete shares the interview process he designed. The panel talks about the importance of resumes. On the subject of resumes, they discuss how to avoid unconscious bias and maintain diversity in the workplace. They give a few tips for people being interviewed, such as doing interviews to keep you skills fresh, even if you aren’t necessarily looking for a job. The show ends with the panel recapping the most important points of their discussion. They emphasize that as the interviewer, it is imperative that you know what you want and are looking for in a new hire. When you’re doing the interviews, tech skills are important but the fit with the company is more important, and it’s your job to get all of the right information out of the candidate. People interviewing are encouraged to proofread their resumes, ask questions to find out if the company is a right fit, and not be afraid to ask for some accommodations in an interview. Links
Picks Andrew Mason:
Special Guest: Pete Holiday.
Sponsors * Sentry use code “devchat” for $100 credit * Triplebyte offers $1000 signing bonus * Cloud 66 - Pain Free Rails Deployments Try Cloud 66 Rails for FREE & get $66 free credits with promo code RubyRogues
Panel * Charles Max Wood * Andrew Mason * Dave Kimura * David Richards
Episode Summary Today the panel is talking about the many applications of Docker. They talk about where Docker fits into the development lifestyle and what kind of applications Docker can help with. Dave goes over some of the some of the Docker terminology, how to set up some basic scenarios, and some of the difficulties often encountered by first time users. They talk about how to make sure you’re putting together a Docker file correctly.
The panel agrees that Docker had a different workflow from other systems, and discuss some of the tradeoffs of using docker. They mention some specific use cases for docker and what it’s like to migrate to Docker. Dave cautions listeners that databases needs to exist outside of Docker or Kubernetes. Dave and Andrew argue whether or not Docker belongs in the developer environment.
The panel discusses ways to maintain productivity when introducing Docker and give some advice to programmers who are new to using Docker. They talk about cases where using Docker can be very helpful. They wrap up by talking about how to get started with Docker in your CI/CD and how to run tests with Docker.
Links
Follow DevChat on Facebook and Twitter
Picks Andrew Mason:
Dave Kimura:
Charles Max Wood:
David Richards:
Sponsors * Sentry use code “devchat” for $100 credit * Triplebyte offers $1000 signing bonus * Cloud 66 - Pain Free Rails Deployments Try Cloud 66 Rails for FREE & get $66 free credits with promo code RubyRogues
Panel * Charles Max Wood * David Richards * Andrew Mason * Nate Hopkins * David Kimura
Episode Summary In this episode of Ruby Rogues, the panel discusses how having too many tools in your code can make things more complicated. They talk about if the processes and tools that hurt productivity should be taken out. They question if outdated but harmless tools should be updated for newer ones that have more functions.
They discuss the difficulty with adopting new tools since the setup process takes time away from production. They each talk about their different editor setups. The necessity of all this different tools is questioned. They note that there is a trend to take a good thing that solved a real-world problem and introduce it into places that it doesn’t need to be, making development more complex.
It is advised that programmers focus on shipping an application rather than just writing the code in order to simplify tooling. They discuss whether backend as a service systems are part of the problem. They advise tech companies to consider if they are ever going to sell or migrate when considering a new tool. The panel talks about if it’s possible to end up fighting against the tools that have always been used rather than infrastructure or coding tools. They conclude by agreeing that it is important to be candid within companies to prevent this overtooling
Links
Follow DevChat on Facebook and Twitter
Picks Nate Hopkins:
Andrew Mason:
David Kimura:
Charles Max Wood:
David Richards:
Sponsors * Sentry use the code “devchat” for 2 months free on Sentry small plan * Triplebyte offers a $1000 signing bonus * RedisGreen * Cachefly
Panel * Dave Kimura * Andrew Mason
Summary Dave Kimura starts the episode by defining asynchronous jobs; he and Andrew Mason discuss the differences between server side and client side asynchronous jobs. They discuss use cases and address scenarios for which asynchronous jobs can be used for. Dave answers Andrew’s questions about tools, gems, and libraries. Dave expresses his love for Active job and advocates for Gitlab. The panel discusses overuse and misuse of asynchronous jobs and times when it is better not to use this tool. Dave shares what he thinks makes a good microservice; he and Andrew discuss where people go wrong with microservices.
Links * https://github.com/javan/whenever * https://github.com/moove-it/sidekiq-scheduler * https://github.com/ondrejbartas/sidekiq-cron * https://github.com/renderedtext/render_async * https://edgeguides.rubyonrails.org/active_job_basics.html * https://www.facebook.com/RubyRogues * https://twitter.com/rubyrogues
Picks Andrew Mason:
Dave Kimura:
Sponsors * Sentry use the code “devchat” for 2 months free on Sentry small plan * Triplebyte offers a $1000 signing bonus * RedisGreen * Cachefly
Panel * Charles Max Wood * Dave Kimura * Eric Berry
Joined by Special Guest: Hongli Lai
Summary Eric Berry starts by sharing how Phusion and Phusion passenger changed his career and thanks Hongli Lai for his work. Hongli talks about where Phusion is now and shares what's new with passenger 6. The panel compares passenger and puma and Hongli explains why passenger is the better choice. The panel wonders about deployment strategies and Hongli shares what he has seen done with Passenger.
Hongli discusses the article he wrote about memory bloat. He starts by explaining why he wrote the article. The panel discusses what causes memory bloat and how to identify memory bloat versus memory leaks. Hongli explains how the system memory allocator works and why people are using Jemalloc instead. The panel discusses Jemalloc and wonders why Ruby doesn’t adopt Jemalloc. Hongli shares his magic solution for solving the memory bloat problem and other tips for managing memory.
Links * https://www.phusionpassenger.com/ * https://github.com/phusion/passenger-docker * https://devchat.tv/ruby-rogues/rr-403-rails-needs-active-deployment-with-stefan-wintermeyer/ * https://blog.phusion.nl/2019/03/14/what-causes-ruby-memory-bloat/ * https://www.joyfulbikeshedding.com/blog/2019-03-14-what-causes-ruby-memory-bloat.html * https://www.joyfulbikeshedding.com/blog/2019-03-29-the-status-of-ruby-memory-trimming-and-how-you-can-help-with-testing.html * https://en.wikipedia.org/wiki/Lars_Bak_(computer_programmer) * https://twitter.com/honglilai * https://www.facebook.com/RubyRogues * https://twitter.com/rubyrogues
Picks Dave Kimura:
Hongli Lai:
Eric Berry:
Charles Max Wood:
Special Guest: Hongli Lai .
Sponsors * Sentry use code “devchat” for 2 months free * Triplebyte $1000 signing bonus * Redisgreen * Cachefly
Panel * Andrew Mason * Nate Hopkins * Eric Berry * David Kumira
Joined by Special Guest: Kurtis Rainbolt-Greene
Episode Summary Kurtis has been working with Ruby and open source for 12 years. These days he works on maintaining large libraries like VCR. He talks about what VCR is, why it’s useful, and some of its limitations. The real topic of today’s show is Kubernetes. Kubernetes is an open-source container orchestration system for automating application deployment, scaling, and management. Kurtis describes what it is and some of the features it has.
The panel discuss about some of the limitations of Kubernetes, and where it really shines in the development lifecycle. Kurtis advises Kubernete users to leave their databases as an outside source and not put them in Kubernetes, as well as other things to avoid. They talk about methods for encrypting information within Kubernetes.The panel discusses how Kubernetes compares to other services and some of the unique features.
The panel discusses what it’s like to learn Kubernetes. Kurtis advises listeners who are learning Kubernetes to consult with other people who are experienced with. Kubernetes has some different terms for functions that can be confusing to newcomers. It can take between 3 and 6 complete weekends to become comfortable using Kubernetes. Kurtis shares how to transfer a Rails app into Kubernetes. To get started with Kubernetes on the cheap, find a computer with a decent amount of ram,install Ubuntu and MicroK8s for a perfect tinkering playground.
Links
Follow DevChat on Facebook and Twitter
Picks Nate Hopkins:
Andrew Mason:
David Kimura:
Kurtis Rainbolt-Greene:
Special Guest: Kurtis Rainbolt-Greene.
Sponsors * Sentry use code “devchat” for 2 months free * Triplebyte $1000 signing bonus * Redisgreen
Panel * Charles Max Wood * Dave Kimura
Special Guest: Jason Swett
Episode Summary Jason Swett is a former host on Ruby Rogues. Now he has his own show, Ruby Testing Podcast and runs the site codewithjason.com where he teaches Rails testing. Today, Jason discusses turning fat models into skinny POROs (Plain Old Ruby Objects). He once read an article that said you don’t have to put all your code into active record models, that you can create plain ruby objects. These can go into active models if you want, but you’re not limited to active record models, you can make your own classes. This realazition greatly impacted the way he structures his code.
The panelists talk about the individual ways the structure their code. Jason discusses other structuring methods he has tried and gives some examples of using skinny POROs in the apps he works on. They discuss the pros and cons of using skinny POROs instead of active models, pros being it cleans up the model and makes testing easier, and the cons being it adds to a bit of overhead to the application, as somebody unfamiliar with the application might recreate parts if you don’t have an index.
The panel discusses how to decide when you want to create a new PORO. They talk about each of their methods and discuss the the usefulness of token generators. They conclude that in order for skinny POROs to be effective in code, they must be well factored and organized, and that unfortunately some complexity in code is unavoidable.
Links
Picks Dave Kimura:
Charles Max Wood:
Jason Swett:
Special Guest: Jason Swett.
Sponsors * Triplebyte $1000 signing bonus * Sentry use the code “devchat” for $100 credit * RedisGreen
Panel * David Kimura * Eric Berry * Andrew Mason
Joined by special guest: Xavier Noria
Episode Summary This episode of Ruby Rogues features Xavier Noria, who has a background in mathematics, but started software in 2000. He has been freelancing for the past 10 years, working especially in open source. He received the Ruby Hero award in 2010. His latest work is with his own creation, Zeitwerk, a more efficient code loader for Ruby. Zeitwerk will be included in Rails 6, but is an independent gym for now. Xavier talks about his inspiration for Zeitwerk and his desire to improve constant outloading in Rails.
The panelists delve into the features of Zeitwerk. Any conventional library can use Zeitwerk, so you don’t have to write requires. Zeitwerk is designed to make your development work easier because you don’t have to worry about including in or requiring files in your code snippets, it will intelligently auto load those in. Zeitwerk functions slightly different from classic mode Ruby, because in Zeitwerk, you don’t go constant name to file, instead you are given a file name first, and then add it to a constant. Xavier delves into the limitations of classic mode and the const-missing callback, and how Zeitwerk improves upon this problem by using only absolute paths and module outloading instead of const-missing. The result is that, in general, things load faster.
They discuss indexing of absolute paths within Zeitwerk, how one of the principles of Zeitwerk is to be as lazy as possible, the memory footprint, and the configuration needed to opt into Zeitwerk. Overall, Zeitwerk is going to work like Ruby. There are no special rules, it has the same semantics as Ruby, fewer gotcha’s if any at all, control over inflection, ways to introspect, and a way to log the activity of Zeitwerk.
Links
Picks David Kimura:
Eric Barry:
Xavier Noria:
Special Guest: Xavier Noria.
Sponsors * Sentry use the code “devchat” for 2 months free on Sentry small plan * Triplebyte offers a $1000 signing bonus * StovePipe Studios * Cachefly
Panel * Charles Max Wood * Andrew Mason * Nate Hopkins * Dave Kimura * Eric Berry
Joined by Special Guest: Igor Morozov
Summary The panel interviews Igor Morozov about functional programming in ruby. Igor Morozov is a lifelong software programmer from Moscow who focuses on functional programming. The panel considers other languages to use for functional programming and the different aspects of ruby that makes it unique for object oriented programming and functional programming. Igor Morozov explains the benefits of using ruby for functional programming versus using a different language. Igor Morozov shares the dry gems that he uses in ruby that makes functional programming easy and the types of projects he is using them for. Railway oriented programming and dry ecosystems are explored while Igor Morozov answers questions about using dry-rb in ruby. The panel discusses type systems and type checking, this leads to a consideration of crystal. The episode ends with a discussion of the job market for senior developers versus training a newer developer.
Links * Elegant Objects by Yegor Bugayenko * https://dry-rb.org/gems/dry-types/ * https://www.dreamsongs.com/Files/ObjectsHaveFailed.pdf * https://www.morozov.is/2018/05/27/do-notation-ruby.html# * https://github.com/hopsoft/ellington * https://github.com/davydovanton * https://crystal-lang.org * www.morozov.is * https://www.facebook.com/RubyRogues * https://twitter.com/rubyrogues
Picks Dave Kimura
Nate Hopkins
Andrew Mason
Charles Max Wood
Igor Morozov
Special Guest: Igor Morozov.
Sponsors * Sentry use the code “devchat” for 2 months free on Sentry small plan * Triplebyte offers a $1000 signing bonus * RedisGreen * Cachefly
Panel * Charles Max Wood * Nate Hopkins * David Richards * Dave Kimura
Summary Charles Max Wood puts the question to the panel, how hard is it to learn ruby on rails? This leads them on an discussion of the evolution of ruby on rails. The simplicity of rails is a theme through their discussion of learning and teaching rails. The panel talks about the importance of collaboration and using the rails community to learn and to avoid messy architecture. The panel shares tips and resources for learning ruby on rails while discussing their mentoring experiences. The panel ends by coming back to the initial question and gives their final answers on how hard is ruby rails to learn?
Links * Pragmatic Thinking and Learning: Refactor Your Wetware by Andy Hunt * https://thinkster.io/ * https://www.railstutorial.org/ * http://learn-rails.com/learn-ruby-on-rails.html * https://www.facebook.com/RubyRogues * https://twitter.com/rubyrogues
Picks Nate Hopkins
David Richards
Charles Max Wood
Dave Kimura
https://products.office.com/en-us/microsoft-whiteboard/digital-whiteboard-app
Sponsors * Sentry use the code “devchat” for 2 months free on Sentry small plan * Triplebyte offers a $1000 signing bonus * Cachefly
Panel * Nate Hopkins * Dave Kimura * Andrew Mason * Charles Max Wood
Joined by Special Guest: Lori Olson
Summary Lori Olson introduces herself, her school and ruby motion. Lori invites all to come to her webinar introducing her “six steps from idea to app store”. The panel discusses their rubymotion experiences and issues; which Lori advises on gems that will help. Lori shares her introduction to ruby and the story of writing her book.The evolution of rubymotion is shared leading the panel to discuss dragon ruby, the rebranding of rubymotion, which will be open sourced. Lori discusses her views of open sourcing and talks about her experiences in the rubymotion community; Amir Rajan, the owner of rubymotion, and his role and success in rubymotion are discussed. The panel considers flows potential and discusses the best way to develop for IOS and android.
Links * https://wndxschool.easywebinar.live/registration * http://www.rubymotion.com/news/2019/03/01/the-sleeping-dragon-has-awoken.html * https://github.com/infinitered/redpotion * http://rubymotionquery.com * https://wndx.school/p/rubymotion-jumpstart * https://github.com/rubymotion/BubbleWrap * https://rubymotionweekly.com * https://www.reddit.com/r/ruby/comments/aovm41/a_renaissance_for_ruby_rubymotion_will_be/ * http://macruby.org/ * https://github.com/amirrajan/rubymotion-templates * https://github.com/infinitered/bluepotion * https://itunes.apple.com/ca/app/wimby/id1147353955?mt=8 * https://wimby.ca * https://wndx.school/p/6-pack-apps * https://coredatainmotion.com/ * https://motioneers.herokuapp.com * https://devchat.tv/iphreaks/161-ips-successful-indie-ios-game-development-with-amir-rajan/ * https://devchat.tv/ruby-rogues/272-rr-game-development-and-rubymotion-with-amir-rajan/ * https://www.twitch.tv/amirrajan * https://kotlinlang.org/ * https://devchat.tv/iphreaks/172-ips-kotlin-vs-swift-with-andrew-rahn/
Picks Nate Hopkins
Dave Kimura
Andrew Mason
Charles Max Wood
Lori Olson
Special Guest: Lori Olson.
Sponsors * Sentry use the code "devchat" for $100 credit * TripleByte * CacheFly
Panel
Special Guest: Karthik Gaekwad
Episode Summary
In this episode of Ruby Rogues, the panelists speak with Karthik Gaekwad, who helped build the Oracle Kubernetes Engine. The panelists discuss the naming of Ruby as the Server-Side Programming Language of the Year in 2018, beating out PHP and Java. Karthik talks about incorporating Ruby into Oracle. His team uses Ruby in both development and operations, and having a common language has increased their efficiency.
The panelists discuss the shift from constant servers to more volatile servers that can make provisions on the fly. Karthik explains the benefits of using Oracle Cloud Native over other services. Oracle places a lot of emphasis on helping startups by giving them more computing power than other companies.
Karthik talks about the merits of using Kubernetes in testing and production, and encourages those interested in using Kubernetes to jump in and start learning about it. For startups that want to use Kubernetes but lack a specialist, Karthik suggests letting a cloud service (like Oracle) manage the servers. Finally, Karthik tells listeners how to get started using Oracle Cloud, namely:
Links:
Picks
Andrew:
Eric:
David:
Karthik:
Special Guest: Karthik Gaekwad.
Sponsors * Sentry use the code “devchat” for 2 months free on Sentry small plan * Triplebyte offers a $1000 signing bonus * Cachefly
Panel * Andrew Mason * Eric Berry * Dave Kimura
Joined by Special Guest: Sean Handley
Summary Sean Handley explains in detail ruby bindings and FFI and why they might be useful. The panel discusses the advantages of using a ruby binding, such as speed and opening up access to other projects. Sean Handley and Dave Kimura give advice on organizing code, to make it easier to use the FFI library. Sean Handley talks about his experience using FFI and native extension. The discussion switches gears and talks about Sean Handley’s blog post about hexagons and 3D space. The panel discusses how this math is used in services like Uber. Sean Handley brings up that hexagons are seen in nature and shares the beehive example. The discussion ends with Sean Handley answering a few more questions about FFI and Fiddle.
Links * https://github.com/uber/h3 * https://nokogiri.org/ * Behind the Curve * https://github.com/seanhandley * https://twitter.com/code_sean * https://medium.com/@sean.handley * https://medium.com/stuart-engineering * https://www.facebook.com/RubyRogues * https://twitter.com/rubyrogues
Picks Andrew Mason
Sean Handley
Dave Kimura
Special Guest: Sean Handley.
Sponsors * Sentry use the code “devchat” for 2 months free on Sentry small plan * Triplebyte offers a $1000 signing bonus * Cachefly
Panel: * Eric Berry * Dave Kimura * Andrew Mason
Joined by Special Guest: Stefan Wintermeyer
Episode summary Stefan Wintermeyer, a german consultant, discusses his recent blog post “Rails needs Active Deployment”. He goes on to explain that this isn’t meant for rails deployment “rockstars” or Heroku, this is for normal developers who need an easier way to deploy their rails applications. Stefan Wintermeyer addresses the suggestions of using Docker. This begins a discussion of the different services that can be used and the disconnects found in many of them. Stefan Wintermeyer brings up the unfortunate truth of how many new developers give up because of the difficulty of the last step in rails. The panel discusses the difficulty of finding a perfect fit for all applications and share the different solutions they’ve tried in many services. This sparks a lively discussion on what a community wide solution might look like and what that might entail.
Links * https://phusionpassenger.com/library/deploy/apache/deploy/ruby/ * https://nanobox.io * https://cloud66.com * https://www.hatchbox.io * https://github.com/tongueroo/jack * https://www.wintermeyer-consulting.de * https://twitter.com/wintermeyer * www.facebook.com/RubyRogues * www.twitter.com/rubyrogues
Picks Eric Berry:
Dave Kimura:
Andrew Mason:
Special Guest: Stefan Wintermeyer.
Sponsors * Sentry use the code “devchat” for $100 credit * Triplebyte * CacheFly
Panel * Andrew Mason * Eric Berry * Dave Kimura * Charles Max Wood
Joined by special guest: Maciej Mensfeld
Episode Summary In this episode of Ruby Rogues, the panelists talk with Maciej Mensfeld, Senior Software Engineer at Castle Intelligence and the creator of the Karafka framework. Maciej explains to listeners the Karafka and Kafka frameworks and their advantages, the differences between Karafka and gems like DeliveryBoy and Racecar, certain use cases where Kafka can be used efficiently such as for fast data processing (messages at the rate of 50k per second), normalizing the request stream, buffering data and event-driven architecture. They discuss the framework’s contrast with respect to a traditional queue system and comparison to different languages.
Maciej talks about some problems faced in the development stage and answers questions related to Kafka features such as strong ordering and error handling with examples. He also explains the procedure of using a consolidated gem with Docker containers, which is a part of his project set to release in April 2019. They discuss some specific errors in Ruby 2.6.0 and finally, he gives details about the Ruby users group based in Krakow, Poland and their meetups.
Links * Karafka framework * Ruby Kafka * DeliveryBoy * Racecar * WaterDrop * Dry Libraries * Apache Kafka * Bug – Socket connect timeout exceeds timeout value * Bug – ‘Numeric#zero?’ is much slower than ‘== 0’ * Mutant library * Maciej’s blog * Maciej’s GitHub * RubyKaigi
Picks Eric Berry:
Andrew Mason:
Dave Kimura:
Charles Max Wood:
Special Guest: Maciej Mensfeld.
Sponsors * Sentry use code “devchat” for 2 months free on Sentry small plan * TripleByte offers a $1000 signing bonus
Panel * Dave Kimura * Eric Berry * Charles Wood
Joined by special guest: Jesus Castello
Episode Summary In this episode, Jesus Castello, a ruby developer who has been programming since he was 10 years old. He has been a Ruby Developer for 7 years. He teaches Ruby and has a Youtube channel and website. — discusses with the panel his post about Environmental Variables. Jesus teaches what an environmental variable is, and then together Jesus and the panel discuss the uses of environmental variables. One specific topic they go into detail on is credentials and the master key. They also ask him questions about his career teaching Ruby to those on the web.
Links * Ruby Guides - Jesus Castello * Jesus Castello Twitter * Ruby Guides Youtube - Jesus Castello * The Twelve Factor App * Jesus Castello Facebook * Heroku * AWS - Amazon * nginx * Apache * bkeepers/dotenv - GitHub * Enivronmental Variable in Ruby * laserlemon/figaro GitHub * Removing sensitive data from a repository - GitHub * Codefund * dry-configurable * https://12factor.net/config * yuki24/did_you_mean GitHub
Picks Dave Kimura:
Andrew Mason:
Jesus Castello:
Eric Berry:
Special Guest: Jesus Castello.
Sponsors * Sentry- use the code “devchat” for $100 credit * Triplebyte * CacheFly
Episode Summary In this 400th episode of Ruby Rogues, the panelists - Dave Kimura, Andrew Mason, Eric Berry, Charles Max Wood talk about themselves, their backgrounds, things they are working with, their journey and perspectives on life in general.
Eric has been a developer since 1998 and is working on Ruby on Rails since 2008. He talks about his current company – CodeFund, an ethical advertising platform that helps open-source developers generate a recurring passive income which encourages them to maintain existing software as well as contribute to additional projects. Dave is currently in a transition phase employer-wise, and in addition, has also been running “Drifting Ruby”, an online screencast and tutorial site for the Ruby language from the past 4 years. Andrew has recently graduated with a Computer Science degree and is working at a Ruby on Rails shop full-time. Charles is currently working on making sure that devchat continues smoothly which includes getting relevant sponsorships, building systems around the podcasts, ensuring that shows go out on time and more. He talks about wanting to improve the show and make it as useful as possible to listeners.
They each talk about their favorite episodes and reminisce about some good ones. They also discuss hobbies and activities that they enjoy apart from regular development work. Towards the end, Charles speaks on the end goal and vision behind devchat and the steps he is currently taking in creating a resourceful site for people that in turn pushes them to achieve their own goals.
Links * Gitcoin * Drifting Ruby * CodeFund * JavaScript Jabber podcast with Jeremy Ashkenas * Hope in Source podcast * Living Out in Faith
Picks Andrew
Dave
Eric
Charles
Sponsors * Sentry use the code "devchat" for $100 credit
Panel * Andrew Mason * Eric Berry * Dave Kimura * Charles Max Wood * Nate Hopkins
Special Guest: Tung Nguyen
Episode Summary In this episode of Ruby Rogues, the panelists talk with Tung Nguyen, President and Founder of BoltOps AWS Cloud Infrastructure Consultancy, a Bay Area based DevOps infrastructure consultancy. Tung is also the creator of Ruby on Jets. Jets is a Ruby Serverless Framework, allowing you to to create serverless applications with Ruby. It includes everything needed to build and deploy applications to AWS Lambda.
Tung explains how Jets works and that even before AWS Lambda supported Ruby, Jets used a shim to run Ruby. The shim was written in a language that is natively supported by AWS Lambda and called out to Ruby. Tung describes this process using the dream in dream concept in the movie Inception. Since AWS Lambda has started supporting Ruby, Jets has since moved to the official AWS version of Ruby.
They discuss Tung’s decision to open source Jets and his end goal with it. Tung explains he created Jets because he needed it, he wanted to run Ruby functions without managing a server. So by building tools like Jets he is able to help his clients and his consulting company. By open sourcing them, he is able to give back to the community.
Tung talks about the development process of Jets and explains that he has already re-written Jets a couple of times. Finally, for people who want to find out more about Jets, Tung directs them to the documentation and support links on the Jets website and the YouTube videos he has posted.
Links * Jets Ruby Serverless Framework * Jets Blog Post * http://rubyonjets.com/docs/crud-html-activerecord/ * http://rubyonjets.com/docs/crud-json-activerecord/ * https://asyncy.com/ * BoltOps * BoltOps Nuts and Bolts Blog * AWS Lambda * Serverless Framework * Tung's LinkedIn * Tung's GitHub * Tung's Twitter * Tung's YouTube Channel * Support Jets * Introducing Jets: A Ruby Serverless Framework on AWS Lambda * Build an API with Jets Ruby Serverless Framework
Picks Nate Hopkins:
Eric Berry:
https://scoutapp.com
Light Therapy Lamp
Andrew Mason:
Dave Kimura:
Charles Max Wood:
Tung Nguyen:
Special Guest: Tung Nguyen.
Sponsors * Sentry use the code "devchat" for $100 credit * TripleByte
Panel: * Eric Berry * Charles Max Wood * Nate Hopkins * Dave Kimura * David Richards * Brian Hogan * Andrew Mason
Special Guest: Mani Vaya
Episode Summary In this episode Mani Vaya — founder of 2000books.com and former programmer — discusses productivity. He speaks on the following subtopics: the importance of planning out one’s day; identifying priorities and getting the top 3 done each day; taking time to get things done without any distractions - the benefits of single tasking as opposed to multi-tasking; the attention space in one’s brain; the importance of meditation; focusing on the important as opposed to the urgent; the importance of measurement; and lastly project orientation vs outcome orientation and when to use each.
Mani helps motivate and inspire productivity in all aspects of a coder’s life.
Links: * Double Your Productivity by 5 PM Tomorrow * Never Procrastinate Again Program * Learn to Meditate * 2000 Books Podcast iTunes * 2000 Books Podcast Android * 2000 Books YouTube Channel * 2000 Books Website * The Organized Mind by Daniel J. Levitin * Deep Work - Cal Newport * Mani's Meditation Program * The One Thing by Gary Keller * The Seven Habits of Highly Effective People by Stephen R. Covery * 10x Productivity
Picks David:
Nate:
Dave:
Charles:
Andrew:
Eric:
Charles:
Mani:
Special Guest: Mani Vaya.
Sponsors * Sentry use the code "devchat" for $100 credit * TripleByte
Special Guest: Karthik Gaekwad.
Sponsors * Sentry use the code "devchat" for $100 credit * TripleByte
Panel * Dave Kimura * Nate Hopkins * Charles Max Wood
Special Guest - Radoslav Stankov
In this episode, the panelists of Ruby Rogues speak with Radoslav Stankov about GraphQL and its implementation in depth. Radoslav is based out of Sofia, Bulgaria and is the head of the engineering team at Product Hunt. He is a full stack developer since 2002, working on JavaScript, Ruby on Rails, Elixir and GraphQL.
Show Notes: 0:00 – Charles introduces the panel and the special guest.
0:30 – Advertisement: Sentry - Use the code “devchat” to get two months free on Sentry’s small plan.
1:40 - Radoslav introduces himself and gives a short description about what he is working on.
2:20 - Charles asks him about the stack at Product Hunt and details about the company. Radoslav gives a brief historical background while explaining that they moved to GraphQL two years ago. He states that his team consists of about six full stack developers. He explains that GraphQL is their main API currently for communicating with the Rail backend and a React client in the front. He also mentions that they released a new iOS app recently.
5:12 - Charles asks if increasing number of websites are moving toward the mentioned model where Rails provides the backend API and rendering happens in the front. Radoslav agrees while saying Rails is faster but if the complexity increases, it starts becoming increasingly complex. He gives an example of views to explain his point. He interprets GraphQL as an update on REST API which is much cleaner and easier to work with.
7:08 - Dave agrees that GraphQL is interesting and compares it to SOAP interface while explaining the comparison in detail. He asks Radoslav the reason why GraphQL is used internally without a client facing API. Radoslav answers that he prefers GraphQL to be private and explains with an example using it internally is very flexible, hassle free and can be used for anything that the user wants to do in a simple manner.
11:30 - Dave asks does GraphQL handles versioning as the application matures. Radoslav elaborates on it by saying that versioning is similar to REST API and with GraphQL, the scheme is statically typed and it’s easy to identify information such as which field was requested frequently by the customer and which needs to be deprecated.
14:08 - Dave asks if GraphQL has a documentation API like Swagger. Radoslav talks about a tool called “graphical” which is an IDE for graphical queries that generates automatic documentation.
15:31 - Nate asks about the origin of the metric tracking in GraphQL. Radoslav says that it comes from certain tools, that all the libraries such JavaScript, Ruby, Elixir have instrumentation hooks and information is obtained by plugging into them.
16:22 - Nate then says that this is basically like hoisting SQL database to frontend layer and then goes on to ask how the database queries are optimized. Radoslav explains in detail that the optimization is done similar as normal Rails and explains the process of batching. He mentions that he has written two blog posts on the same topic - optimization for N+1 queries.
19:27 - Dave shares that GraphQL has a good feature where you can restrict the query based on what the user wants. Radoslav talks about the method of caching for optimization.
21:30 - Charles asks if building resolvers has gotten better than before. Radoslav answers in affirmative and talks about the usage of classes, methods and mutations that makes the procedure simple. He explains that one of his libraries has a GraphQL plugin where you have to define search queries and it exports those to GraphQL types and arguments that can be plugged into GraphQL schema.
24:20 - Nate asks about the implementation of GraphQL components. Radoslav says that it is separated into a single namespace, exposed to a controller, the GraphQL types are matched to REST serializers. The frontend has React component and the backend contains the controller, utility classes and the GraphQL logic. He then goes on to explain the structure in depth.
26:47 - Nate asks if this strategy has been blogged about to which Radoslav answers that he hasn’t but has given talks on it.
27:15 - Nate asks about the downsides of GraphQL. Radoslav shares his worries about making the API public as it should be made more bullet-proof as it could have performance issues on such a large scale and would involve much better monitoring. He says that authorization for resources would also be a problem.
29:17 - Nate mentions that in the end it is a tradeoff as it is with any software and asks at what point does it start to make sense to use GraphQL. Radoslav answers that it depends on the roadmap, the kind of the product is and gives some examples to elaborate further.
31:35 - Nate says that early planning could be needed for growing the team in a particular way. He also talks about the disadvantage of growing trends that break down solutions into smaller parts that it takes away the ability of small teams to build entire solutions. Radoslav says that while it is true, the developers in his team are full stack and capable of working with all kinds of tasks be it frontend or backend that come their way.
35:45 - Nate asks about the team’s hiring practices. Radoslav describes that they started with senior developers and later on hired interns and juniors as well. He states that interns and juniors ask better questions and work well with component driven design.
39:18 - Nate asks why Ruby is considered to be a good choice for GraphQL. Radoslav answers that the Ruby implementation of GraphQL is one of the best, used by big companies like Shopify, GitHub, Airbnb. It solves code scaling issues and integrates well with Rails.
42:45 - Dave says that it will be interesting to see what Facebook will come up next in the frontend framework. Radoslav agrees and says Facebook infrastructure team makes good tradeoffs and gives the example that each time there is React update, the team updates the whole codebase to the newest React version.
45:56 – Dave and Radoslav talk about the React team’s versioning being unusual.
46:23 – Advertisement - TripleByte - 1000$ signing bonus for listeners
47:20 – Picks!
54:50 – Radoslav mentions that he is available as rstankov on Twitter, GitHub and his website is www.rstankov.com.
55:25 – END – Advertisement – CacheFly!
Picks Dave
Nate
Charles
For every 5 episodes tagged (particularly Ruby, JavaScript, testing, new programmers, etc), one hour of coaching will be given. You can open an issue on GitHub for each episode you’re tagging so it does not get mixed up with other listeners.
Radoslav
Special Guest: Radoslav Stankov.
Sponsors * Sentry use the code "devchat" for $100 credit * TripleByte * CacheFly
Panel * Dave Kimura * Charles Max Wood
Special Guest: Nathan Ruehs
In this episode of Ruby Rogues, the panelists talk with Nathan Ruehs. Nathan is a programmer residing in the Milwaukee area. He started working for a large corporation right after college and is currently trying to explore newer methods to incorporate Ruby in his day to day work. The panelists and Nathan talk about ways to sneak Ruby into big companies, difficulties in working with legacy systems and more.
Show Notes: 0:00 - Charles introduces the panel and reminds listeners to check out DevRev.
0:30 – Advertisement: Sentry
1:27 - Nathan introduces himself by briefly describing his background and states that he is exploring ways to use Ruby in things that he’s working with.
1:50 - Charles asks Nathan about Ruby in general and techniques to use it in large organizations. He shares his own experience from his University days when most of the software had set stacks and it was difficult to deviate from them.
2:24 - Nathan agrees by saying that changes in bigger organizations are indeed hard, but he has had some amount of success in sneaking Ruby into side projects, automation and testing but not in official production code yet.
3:34 - Dave shares his story about his company undergoing a gradual change from being a heavy .NET shop to using Ruby in certain projects to finally getting acquired by Sage which had Ruby on Rails for the most part.
5:20 - Charles talks about the time at University when mostly everything was mainframe based, hard to replace and integrations were extremely difficult.
6:30 - Nathan says that they are using mainframe too and have no automated tests, no code refactoring and the company is trying to move off mainframe, but the process is quite complex.
7:40 - Charles asks about the duration required to make the transition to which Nathan answers that they are working on it for 3 years, but the progress is quite slow, and their goal is to do it by the year 2025.
8:37 - Dave discusses how companies try to move to efficient methodologies like agile from waterfall, but then get scared or don’t get expected results and fall back into the old comfortable way of doing things. Charles chips in saying that the flipside is that companies do hire people that make them aware of the dangers, security issues and lawsuits that could arise from working with ancient systems and code, not to mention the high costs involved in hiring people with those skills, so in the end it is a tradeoff. Nathan agrees while saying that they are trying to mitigate the high costs by adopting an outsourcing model.
10:50 - Charles asks Nathan where exactly he gets Ruby in the picture. Nathan answers in detail that he learnt Ruby in college, and in his current job, he started working on small automation projects. He tried different options and wrote some applications, generated reports and expanded into automation for customer setups as well. After that he moved on to building complicated automation tools.
14:15 – Dave talks about the need for automation and affirms that Ruby is a good choice for it.
15:40 – Charles says that he has written a fully blown Rails application to automate podcasts as well.
16:15 – Dave asks if Nathan uses Ruby for projects outside of work too. Nathan says that he has used it for things like automating the recording and uploading of a Bible study lecture and would like to start a Rails project to hone the skill.
17:55 - Nathan talks about how developers do not prefer to use code for everyday tasks that are not a part of the production code, so he writes apps for them to help automate those tasks.
18:40 – Advertisement - TripleByte – 1000$ signing bonus for listeners.
19:40 – Charles asks if Nathan uses Ruby for projects other than DevOps or automation. Nathan answers that he wants to build a Ruby on Rails app that would be a dashboard for customers.
20:24 – Charles shares experiences from his old job where they would deploy Ruby using their packaging system. Nathan explains how complex the process is on his local machine.
21:40 – Dave says that while the deployment procedure is complicated, it is done to not compromise on security. Charles talks about the reason being PR fallout and data breaching as well.
22:54 – Charles asks for how long people try incorporating Ruby for their own small projects at work before moving on to companies that actually use it fulltime. Nathan explains the challenges of moving to other jobs without having official Ruby experience.
24:40 – Dave says that the resources available to learn Ruby are plenty nowadays. Charles talks about the fact that companies do hire people with just basic Ruby experience as well. They discuss about the looking at positives about the current workplace, better benefits when working for large organizations, stability and that it finally depends on what an individual wants from a job.
29:23 – Charles asks Nathan if they are having trouble finding mainframe developers to which Nathan answers in affirmative while giving his own experience.
31:00 – Dave enquires about what happens to mainframes if there is a hardware problem. Nathan answers that it is difficult to solve while giving IBM’s example and states that migration is costly. Charles also echoes his opinion, that it is getting harder to replace mainframes.
32:50 – Nathan mentions that his work is available online on the website -www.nathan.ruehs.net.
33:00 – Picks!
38:15 – They conclude by saying that hopefully the podcast helped people in getting some ideas on working with Ruby and to follow what works better in general.
END – Advertisement – Cache Fly!
Picks Dave
Charles
Nathan
Special Guest: Nathan Ruehs.
Panel:
Special Guest: Vladimir Dem
In this episode of Ruby Rogues, the panel talks with Vladimir Dem who is a Ruby developer and currently lives in Brooklyn, New York. Today, the panelists and guest talk about cables, concurrency, and Ruby. Check it out!
Show Topics:
0:00 – Advertisement: Sentry.io
1:02 – Chuck: Hello! The panel today is Eric, Dave, Nate, and myself! Our guest is Vlad!
1:30 – Guest: My name is Vladimir, but people call me Vlad. I have been writing Ruby since 2013 for about 4.5 years. Before that I was a PHP, JavaScript developer among other languages. I am mostly Erlang and Ruby now.
2:29 – Panel asks Vlad a question.
3:29 – Guest: Yeah something like that. I call it a different server b/c we still use the code base but we do not do anything related to web sockets and connections.
4:20 – Panel: If you wanted to take a normal action cables setup what steps would you have to go through to convert that over to also use the anycable server?
5:21 – Guest answers the question.
7:31 – Chuck: This sounds complicated and a bit of work. When I look at this I think: I have a tiny app is it worth it? When does it become worth it?
7:52 – Guest: Definitely not for the tiny app.
8:50 – Panel: You use it when it makes sense. Overcomplicating your infrastructure doesn’t make sense.
9:27 – Guest: That’s the idea.
10:28 – Panel.
11:05 – Guest: The question really is how many connections you have and how long-lived they are?
13:09 – Panel: If I move my project over to anycable how much new code am I going to have to write?
13:28 – Guest answers the question.
15:52 – Panel: What’s the update been like for anycable and how many users use anycable?
16:05 – Guest: I really don’t have statistics. I hear people at conferences say that they use anycable, but no real statistics right now. I would like to know these numbers, but no idea.
16:30 – Panel: ...is that the time to consider using anycable?
17:05 – Guest: That’s a good point to make.
18:44 – Panel: How is the initial handshake time with anycable? Is there any difference with anycable in that sense?
19:05 – Guest answers the question.
22:49 – Chuck: Can you define a couple of terms for me? I am hearing terms like: concurrency and real time and others?
23:00 – Guest: Good point. What is real time?
The guest continues to define these terms.
28:10 – Fresh Books!
29:10 – Chuck: Ruby 3 is supposed to solve some of these problems. Can you talk about some of those?
29:46 – Guest: Interesting question and I’ve been asked about this before.
35:14 – Panel: Did you say there was some activity around trying to reduce the memory consumption for thread?
35:25 – Guest answers the question.
36:14 – Panel: Vlad, you are spread from backend to fronted and you’ve mentioned Phoenix Live Vue. Can I pick your brain about it?
36:39 – Guest answers the question.
38:48 – Panel: It seems like one of the core tenants is empowering small teams to compete with larger teams. I have high hopes to keep small teams competitive.
39:50 – Guest: Yes, that’s the idea of Rails and Ruby itself to build something and try something and perhaps fail.
40:57 – Panelist mentions Erlang, anycable, and concurrency.
41:14 – Guest: We are working on administration functionality and we want to build something fast.
44:40 – Panel: That’s the interesting thing about turbo links cause I think it was a marketing fail. You have to invest time to learn how to use it and how to use it properly.
45:44 – Guest: I don’t have a good guide for turbo links.
46:00 – Chuck: Anything else we want to talk about?
46:10 – Guest: Two more things I want to mention.
54:02 – Advertisement: Get A Coder Job!
54:35 – Picks!
End – Cache Fly!
Links:
Sponsors:
Picks:
Dave
Eric
Nate
Charles
Vlad
Special Guest: Vladimir Dementyev.
Panel:
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: Sentry.io
1:47 – Chuck: Check out the DevRev
2: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 Angularfor 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 – Fresh Books!
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 – Advertisement: Get A Coder Job!
End – Cache Fly!
Links:
Sponsors:
Picks:
Dave
David
Charles
Panel:
Special Guest: Paul Smith and Andrew Mason
In this episode of Ruby Rogues, the panelists talk with Paul Smith and Andrew Mason! They discuss the platforms Lucky and Crystal. Other topics include: Ruby, Phoenix, Laravel Mix, Thoughtbot, Webpack, compilers, and much more! Check it out!
Show Topics:
0:00 – Advertisement: Sentry.io
1:02 – Chuck: Welcome!! Eric Berry, Nate Hopkins, and myself are the panel - and our special guests are Paul Smith and Andrew Mason. Introduce yourself!
1:41 – Andrew / Guest: I have messed with every type of language, so there’s that!
1:55 – Paul / Guest: I have been here at my current company for 5 years and it’s a consultancy firm. I have been working on Crystal.
2:14 – Chuck: We are lucky to have you! Give people the elevator pitch for Lucky and Crystal?
2:33 – Guest: Let’s talk about Crystal and looks very similar to Ruby! It’s faster and it’s a compound language. It catches a fair amount of things at compile time. The other special features are...
4:17 – Guest mentions compilers.
4:23 – Chuck: Yeah we see this in the typescript. Is it language service – is that what it’s called? Pile and compile and all of this checking are a nice stage for it to run-through. Although the flipside is coding and to not worry about that – that’s nice!
4:56 – Guest: It has changed my approach for sure.
5:43 – Panel: How much slower are you?
5:54 – Guest: I am a lot faster in Crystal than I am in Ruby.
6:51 – Panel: Yeah you have to figure out where you want to save the time.
7:00 – Guest: Someone wrote a blog post and it said...the Rails service is like bolting a shelf on a wall and hoping to hit a stud and it’s not solid. But using Lucky it’s sold although it took a little longer. I think it can be true. You can do bad things with compilers, though. It depends on how you use it.
7:43 – Panelist asks a question.
7:53 – Guest: Every Friday is an investment day. Lucky is my “whatever I want thing.” I am technically getting paid to work on it.
8:33 – Panel: have you had to battle with the framework?
8:51 – Guest: Yes, even though Crystal looks like Ruby (at a high level) if you want to do it well you have to approach it in the Crystal-way. When I came to Crystal I came to it like Rails. The problem with that is I wanted to have type-saved parameters – you can’t do that in Crystal b/c...it doesn’t know when to have a parameter with...
10:48 – Panel: I have heard you talk about Crystal before on another podcast. You talked about templating and I am curious to hear about that. I have used Slim and others and now stick to ERB.
11:25 – Guest: Yes definitely. Let’s back up and talk about WHAT Lucky does!
The guest talks about Rails, escaping, and more!
14:37 – Panel: So I imagine Rails partials are slow and expensive to render. I would imagine that this approach with Lucky...
15:00 – Guest: Yes exactly. It’s extremely fast!
15:20 – Panel: How is this for designers?
15:30 – Guest: Yes that was a concern of mine. With Lucky I tried to make it close to a regular HTML structure would look like!
16:32 – Panel: I spun up a Lucky app the other day. It looks like you are using...
16:50 – Guest: I have played around with a bunch of stuff. I landed on Laravel Mix.
18:27 – Panel: Yes webpack is a pain to set up and it’s hard to get it to working the way you want it to work.
18:47 – Guest: Yeah if you want React or whatever it will generate the configuration you need. I don’t like it b/c if you want to...
19:28 – Panel.
19:45 – Guest: I don’t want to maintain it.
19:54 – Panel: There is a Crystal community in Utah. I want to know – are you competing with Amber? Explain the difference between Lucky and Amber?
20:20 – Guest: Yes I did look at Amber but they are approaching it differently than us.
The guest talks about the differences between Amber and Lucky.
21:54 – Guest (continues): With Lucky you will have to learn a little bit more but you get more of a pack!
23:23 – Panel: It sounds like Lucky is inspired by Elm – right?
23:32 – Guest: Yeah, I think so.
The guest dives into this topic of Elm and Lucky!
24:35 – Panel: How much does the types feel like it’s getting in your way? How explicit is it? When I came to Ruby it was a breath of fresh air. I am a bit reluctant to go back to those days.
25:25 – Guest: I think Lucky does a happy medium. It doesn’t infer instant variables. I like the...
26:28 – Panel: I learned Java very early on in my computer science career.
27:00 – Guest.
27:10 – Panel: “Crystal...it’s not Java!” That should be your slogan!
27:20 – Fresh Books!
28:25 – Panel: A lot of people are moving to Elixir community. Do you see people moving from Ruby to Lucky and Crystal? How does Lucky compare to Phoenix?
28:55 – Guest: Good question!
29:10 – The guest talks about bamboo – see links below!!
29: 29 – Guest: Sure Ruby is fast but sometimes you spend more time on it then you would want to.
31:08 – Guest: Blessing and curse that Crystal looks so much like Ruby. That’s what I thought at first: why would I want to learn this if it’s so similar to Ruby. BUT there are so many benefits to Crystal vs. Ruby.
31:48 – Guest talks about Lucky catching the bugs.
32:00 – Panel: I wonder if that happened with Groovy and Rails?
32:21 – They go back-and-forth.
32:28 – Panel: Thoughtbot has always been on the forefront of Ruby. Can you talk about Thoughbot please? (See links below for Thoughtbot!)
33:15 – Guest: Great question. It’s hard to tell b/c there are different offices. I would say Ruby is our main thing. Ruby is the most mature thing that we use in-terms of web development.
Guest: Actually – Rails is pretty nice!
34:54 – Panel: We went through the same thing with CodeFund! I wrote it initially in Python and then I wrote it in Elixir and it became so complex. Now we are moving everything back to Ruby and it’s been a fantastic decision.
36:30 – Chuck: You are talking about the sustainability of open source but there are benefits throughout the company right? There are tons of tangible benefits of doing it, especially when it’s your Friday schedule. You can level-up on things that could help you. I know a lot of companies cannot afford it if they are trying to hustle.
37:42 – Guest: It’s totally not charity through Thoughtbot. It’s a huge help for hiring new people. I know they are okay with letting me work on Lucky b/c it’s bringing on new developers and a good marketing tool, and finally recruiting!
39:07 – Chuck: Yeah, I have been talking about developer freedom and that’s what I am addressing through the DevRev show! It’s my new podcast show. We talk with Chris on Elixir Mix. It lends that credibility if they need to save our bacon.
40:02 – Panel: What’s your goal with Lucky?
40:11 – Guest: I would love to get it to the point where Thoughtbot could start a project and default to Lucky! Start a project and not resting every gem and be confident with launching it.
41:36 – Panelist asks a question.
41:45 – Guest: It’s not 1.0 and that means that the API will break with every release. I think that’s good to tweak stuff but that turns companies off, though.
42:40 – Chuck: Another thing that helps with adoption is Twitter used Rails to build their initial version. This blah, blah company uses important stuff and they are using Crystal and whatnot then that’s good! It sounds like you are waiting for social proof.
43:23 – Guest: Is the next Twitter going to even know about Crystal?
43:40 – Chuck: It literally only takes one enthusiast!
43:52 – Guest.
44:11 – Demo of Flickr Search is mentioned here!
45:13 – Panel: Is there something out there that you could POINT someone to?
45:27 – Guest: Not, yet. I built a small site with it! It is opensource and you can look at it. I want to show people a good example of what Lucky can do!
45:57 – Panel: You have very good docs and I am a visual learner. When I learned Rails I learned on my own and not through school.
46:20 – Panelist asks a question.
46:48 – Guest: What a huge advantage Lucky has through the Thoughtbot platform! Now that platform is kind of dried up. In terms of getting people excited it needs that killer app and they can see that it’s fast and killer! I think it takes a lot of time and finding time to do it so that’s tricky. It’s changing a lot when there is so much change. Getting Lucky to a 1.0 state so people can do videos and make apps. The hard part thing is that Lucky has to be 1.0 when Crystal is 1.0. The Lucky community is great b/c it’s encouraging and to respond in a very kind way. When you are starting something that’s new can be scary. We try to help out as much as we can and we are open and kind about it.
49:13 – Panel: “Paul is nice so Lucky is nice!”
49:19 – Guest: Everyone is super kind. It had to be short and simple. We in the dev community are very lucky – usually great pay/benefits and more w/o a college degree. What another field can you do that?!
51:00 – Panel: Great message and you need to push that!
51:10 – Panel: You were on a past podcast and you talked about how you are donating each month!
Panel: Opensource maintainers are getting burned out and you want to support that.
51:40 – Guest: I think opensource sustainability what others need to do to make it sustainable. If you have the means to give we can be apart of that, too. It would be nice if companies did that. If it helps Crystal I am happy.
52:17 – Panel: I have a question about Crystal.
52:52 – Guest: Ruby right now you can do C sections right now.
53:01 – Panel.
53:10 – Guest: I don’t think so – it may but I would guess that you could do it but I don’t know how easy it would be.
Note: Rust and C are mentioned.
53:37 – Panel comments.
53:46 – Guest: One thing I would say is to check-out the Lucky docs. We are happy to help!
54:10 – Panel: This is a favorite episode of mine! Both of today’s guests have been my favorite!
54:23 – Advertisement: Get A Coder Job!
End – Cache Fly!
Links:
Sponsors:
Picks:
Nate
Eric
Charles
Andrew
Paul
Special Guests: Andrew Mason and Paul Smith.
Panel:
Special Guest: Josh Justice
In this episode of Ruby Rogues, the panelists talk with Josh Justice who is a developer, writer, and speaker. Josh streams JavaScript and web development on Friday’s at 2:00 PM (ET) here! The panelists and the guest talk about Josh’s background and frontend testing in Ruby. Check it out!
Show Topics:
0:00 – Advertisement: Sentry.io
1:04 – Chuck: Hi! Dave, Nate, and myself are on the panel and our special guest is Josh Justice! I am developing a show about developer freedom and it’s called The DevRev. It will be streamed through YouTube, and I will record Friday afternoons. Check out Facebook, too!
2:11 – Josh: Thanks! I am happy to be here!
2:18 – Chuck: Introduce yourself, please!
2:24 – Josh: I have been a developer for about 14 years. I have used PHP and then got into Ruby and then frontend development.
2:46 – Chuck: You work for Big Nerd Ranch in Atlanta?
2:56 – Josh: Yep for the last 3-4 years!
3:15 – Chuck: Can you introduce the topic?
3:25 – The guest talks about Big Nerd Ranch and frontend development. Learn TDD is mentioned, too! Check it out here!
5:06 – Panel: How much bouncing do you do between React and Vue?
5:11 – Guest.
5:47 – Chuck: We need to get you on our podcast shows for React and Vue! It’s an approach that I am familiar with in Ruby – and Selenium what a pain!
6:16 – Guest: I’ve had a good experience with Cypress, actually!
7:47 – Guest: Panelist, can you share your experiences?
7:57 – Panel: Not bad experiences with testing, but now I am trying to minimize my use with JavaScript.
8:30 – Guest: I think there is a big push towards considering more server site rendering.
9:35 – Panel: What’s your recommendation to setup Cypress?
9:40 – Guest: Their docs are really great! They had some conference talks on how to set it up!
10:15 – Guest: Check out my talks about this topic. (Connect Tech 2018).
10:29 – Panel: I think Cypress is a pretty cool solution but one thing that left me confused is that you have to have an environment that is already stood-up and running. Is that accurate or has that changed?
11:00 – Guest: Can you clarify what you mean by a “running environment”?
11:04 – Panelist clarifies.
11:44 – Guest: Luckily for me I have something to say b/c I tried a week ago!
12:01 – Guest mentions Vue CLI 3.
14:38 – Panel: How can you test your code coverage? I want to know how much of my code coverage am I hitting? The applications are up and running, it’s not going through the files (per se), and is there anything that would indicate how good your coverage is with the Cypress test?
15:10 – Guest: Let me as a follow-up question: How do you approach it on the frontend?
15:24 – Panelist answers the guest’s question.
16:06 – The guest mentions Vue CLI 2 & 3.
18:31 – Chuck: Are you using the tool Istanbul?
18:36 – Guest: Yep Istanbul is the one!
18:54 – Chuck: I’ve heard some similar rumors, but can’t say.
19:02 – Panelist talks.
20:13 – Chuck: I have been working on a project and what doesn’t get test-coverage gets a candidate to get pulled-out.
20:40 – Guest: Talking about test-driven development...
Guest: Have you read the original book?
21:02 – Guest: The book: “Effective Testing with RSpec 3” is updated information – check it out!
The guest mentions his live stream on Friday’s. Check out the links found below!
23:57 – Panel: How is the stability with tests like Cypress with end-to-end tests? If you are testing with a login then the user has to be already created. Or what about a Twitter app – the user has to be created and not followed? How do you handle that?
24:22 – Guest: I think we are spoiled in the Rails world b/c of those...
24:53 – The guest answers the panelist’s question!
26:59 – Fresh Books!
28:07 – Guest: Does that help?
28:10 – Panel.
28:21 – Guest: I have been thinking about this, though, recently. Thinking about the contracts through the business. I have dabbled with native development and I see the cost that runs a native app.
30:21 – Panel: It’s refreshing to hear the new market’s demands. I truly haven’t seen an application that requires that. I have built some extensive applications and also very simple ones, too; the need for productivity.
31:17 – Guest mentions a talk at a conference. See here for that information!
31:43 – Guest: I have a friend who was a new developer and he really knows his stuff. He said that he didn’t know if he could be a full stack developer in the next 5-10 years. Wait a minute?!
Guest: The freedom to create something that stands alone.
Guest: Tom Dale is mentioned by the Guest.
33:35 – Panel: To choose Rails as a new developer (today) it’s not as easy as it was back in the day. Today you have Active Job, Action Cable and so many other components. It’s more complicated today then it was in the past. It could be overwhelming to a new developer.
35:00 – Chuck: I think a lot of that is the community’s fault and not Rails’ fault.
35:57 – Panel.
36:04 – Panel: The counter-argument could say that’s where server-less come in.
36:27 – Chuck: To some degree you can get away with it. You don’t have to worry about the infrastructure or anything else.
36:44 – Panel: Have you tried messing around with server-less functions with AWS? I have and...it’s not easy. There is not a good flow or good work flow in a server-less environment.
38:01 – Chuck: You can go to this website. It makes the setup easier b/c you are adding your Azure or AWS features.
38:30 – Panel: This topic, though, does tie back to the testing topic we were talking about earlier!
39:14 – Panel: Yeah that is why I haven’t gotten into server-less things. The Rails holistic approach is so appealing.
40:14 – Panel continues: I want to take smaller steps when it comes to technology! I want to move into things that we are laying down the tracks to make it easier travelable. That way we can consider the things we’ve learned in the past and help those in the future.
41:07 – Chuck: What are lacking then? What is the friction that is left? Seems like Cypress helped removed that but maybe not?
42:02 – Panelist mentions Cypress, Jest,Mocha, and others!
43:10 – Panel (continues): I am all about experimenting but I want to know all the reasons. What has changed and what hasn’t’ changed?
43:29 – Panel: There is an article written that talks about this topic.
43:59 – Guest mentions the video “Is TDD Dead?” (See links below.)
44:29 – Guest: I like brining thoughts together and taking his or her input and come up with my own thoughts.
46:32 – Guest (continues): The testing trophy is heavier on the top (picture of a trophy).
Guest: I think the thing that draws me to unit testing is that...
47:37 – Guest: I am obsessed with testing.
The guest gives a summary here!
48:15 – Chuck: We talked with Quincy Larson last week and it’s a really good take on what we are doing and what we are trying to accomplish with our tests. Check it out – it’s coming out soon!
49:05 – Panel: When you are younger into your career – the way you think about structuring your code – when you are comfortable you really don’t need that guidance.
50:00 – Guest: I would encourage folks who were new to coding to do the following...
51:36 – Guest: Think about WHY you are doing (what you are doing) and being able to articulate well what you are doing and why.
52:03 – Panel: There is no question – every time I test I am surprised how much it shapes my thinking about the code and how many bugs that I catch even in code that I thought was operating well. When you go too far though there is a fallacy there.
52:54 – Panel: Yes, testing is very important. I am a test-after-the-fact programmer. That is my self-key term. Don’t write 500-line methods b/c you won’t be able to test that. Don’t make it too abstract so have a common pattern that you will use. Have a lot of private methods that aren’t exposed to the API.
54:03 – Guest: Yes thinking about how to structure your code can be challenging at first but it gets easier.
55:58 – Chuck: I have had talks with Corey Haines about topics like this!
56:47 – Guest: Yes it can be helpful in consultancy now.
59:23 – Guest: Think about this: choosing what level to test at.
1:00:14 – Panel: It’s hard b/c it changes all the time per function or something else. There are tradeoffs with everything we do.
1:00:41 – Chuck: You are the consultant it depends doesn’t it?
1:00:51 – Picks!
1:00:55 – Advertisement: Get A Coder Job!
End – Cache Fly!
Links:
Sponsors:
Picks:
Nate
Dave
Charles
Josh
Special Guest: Josh Justice.
Panel:
Special Guest: Pedro Cavalheiro
In this episode of Ruby Rogues, the panelists talk with Pedro Cavalheiro 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: Sentry.io
1:04 – Chuck: Hi! Panel is Eric, Dave, Nate, myself – and our special guest is Pedro Cavalheiro! Please introduce yourself! Is that Spanish or Portuguese?
Chuck: P.S. – The DevRev is my new show and check it!
1:57 – Guest: 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 Heroku 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 article you wrote? Why did you write it? Give us some context into the article and where are we now?
9:48 – Guest talks in-detail about his article and where he was in life when he wrote this article!
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 Heroku 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 Heroku. I think it’s similar to Kubernetes.
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 Heroku or Beanstalk.
CodeFund is still on Heroku. 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 S3, 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 – Fresh Books!
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 – Advertisement: Get A Coder Job!
End – Cache Fly!
Links:
Sponsors:
Picks:
Dave
Eric
Nate
Charles
Pedro
Special Guest: Pedro Cavalheiro.
Panel:
In this episode of Ruby Rogues, the panelists talk amongst themselves about their favorite software, equipment, and apps. Both Eric and David thoroughly share their preferred picks within these categories, and they explain how and why they use the specified item. Check out today’s episode to hear more!
Show Topics:
0:00 – Advertisement: Sentry.io
1:03 – David: Welcome! Today, Chuck is not feeling well. I am David and today we have Eric Berry on our panel today. It is just the two of us today. I want to talk about our development environment. What is your setup like? Do you have an office space and your hardware?
1:58 – Eric: I Have a room in my basement that has everything that I need. I do work from home. There is my guitar, my geek toys and more. For my hardware I am using 2017 MacBook Pro (16 GB of ram). The 13-inch is convenient, but I upgraded b/c I do a lot of traveling. I do pull the iPad out and use DUET. You no longer have to use a cord. I have a monitor that is 30-inches and it’s gorgeous. That is my hardware setup. I am not a mechanical keyboard guy, and I stick with the Apple super flat keyboard. I do use Bestand – it’s a holster for the keyboard and the track pad. What do you have?
4:35 – David: I have a Frankenstein setup. My needs change, over time, and when that changes my hardware changes. Back in the day I did not have a Mac and I used a Windows machine. I used to be a gamer, but then met my wife and then stopped b/c she didn’t like for me to waste time. My setup is more proper. I have a baseline iMac Pro b/c there was a great deal of $1,000 off. The other option was an iMac. I like the desktop b/c that’s where I do work – at home. It was a $4,000 investment. I am on my computer ALL the time it was worth it to me. I got the wall-mount for me, and I have more monitors wall-mounted, too.
8:00 – David: That is my monitor and computer setup. I have an eco-rhythmic keyboard b/c of childhood injuries. I have a really old Microsoft keyboard from 2005 something. It was cheap but I like the style of it. For my mouse I have a Logitech mouse. I love the feel of this thing. It has a side scroll left and right, and up and down. Especially when I am looking at code. It helps with my video editing, too. My mouse is my favorite to-date. I don’t have too much plugged into the Mac. I have a GoDrive, which has everything on it – my whole life’s work is on there. If there is ever an emergency I know to grab that. Back things up in case of an emergency would be my tips to you all.
11:40 – Eric: I have struggled with backing things up actually. The problem that I have is that I am constantly moving my laptop. I have this guilt and fear of doing it wrong.
12:33 – David: I have this work laptop – I don’t back that up every day.
David gives Eric his suggestions in regards to backing files up. David mentions Back Blaze.
14:05 – Eric: That makes sense. I live in the Apple eco-system. I have my phone, watch, 40 iPads, laptop – everything backs up to the Cloud. The date we are recording this is 10/30/18. Apple just announced a new upgrade. I feel like this could compete with an actual laptop computer.
Eric asks David a question.
15:35 – David: ...My main problem with that is that you might already have a developmental machine. It’s a stationary computer then it’s not feasible to take on the go. I do have an iPad Pro and I will take that on the go. I can login to my home network.
BLINK – I used on my iPad Pro.
David continues to talk about his setup.
19:00 – Eric: I kind of agree with you. I have seen it used quite a bit. My brother does everything online for his job. The pros are that if you are training, and his company is configured that way. The pros is that you can code from anywhere on anyone’s computer. I am glad that it DOES exist. It’s not Cloud9 but someone does offer...
20:20 – David: I think going to a solo screen does hurt my productivity – working on the iPad vs. working on the computer. I could get faster and faster but only to a certain degree.
If you have the resources – then I don’t think it’s sustainable. However, if you don’t have the resources it’s better than nothing. At least you are coding and that’s important.
22:15 – Eric: I think of the audience we cater to with Ruby Rogues. I wonder if our listeners are strapped for cash or if they do have the resources to get the job done?
22:48 – David: If you don’t have a lot of money, you don’t have to buy a Mac. If Cloud hosting isn’t your thing there are different options. You have DOCKER, and use Windows as your main editor, and the WSL.
I wanted to do a test – I bout a laptop for $500-$700 and you can get away with doing what you need to do. Learning how to program and code with what you have is great!
25:00 – Advertisement – Fresh Books!
26:05 – Eric: Let’s talk about the software developer environment. Nate Hopkins isn’t on today, but you can’t change his mind – I am VEM all the way. I think Cuck is EMAX.
26:43 – Eric: What do you do?
26:45 – David: I use VS code.
David talks about the benefits of using VS code.
27:37 – Eric: Yes, 100%. I met the lead engineer behind VS code. They just made a new announcement.
I have been using VS code for quite a while now. The integrated terminal and other features are awesome. Pulling me out of Sublime Text was a really, really hard thing for me.
29:28 – David: Sublime text, yes, but I got tired of the 40-year long beta, and the lack of expanding it, too. VS code has won my heart over.
30:53 – Eric: My guess is that they are going to leave it alone. I am sure they will connect the 2 teams. Think of how much work has gone into ATOM. That would be a hard pill to swallow.
31:20 – David: At the end of the day, though, it is a company. You don’t need 2 different editors when they do the same thing.
31:40 – Eric: I would have to disagree with you. Maybe they won’t merge the 2 but they just become different between ATOM (React and React Native) and...
32:22 – David: Why would a company cancel something only have 1 season? (Clears throat...Fox!)
32:58 – Eric: I open very large files with Sublime. Sublime handles this very easily. This goes back to: why am I opening up very large files?
33:31 – David: It’s a log file don’t lie.
33:40 – David: What browser do you use? Safari?
34:03 – Eric: Safari is nice for non-developers. Safari is lightweight and very fast. I have been a browser whore. I go from bedroom to bedroom from Opera to Firefox to Chrome. I fall into the Chrome field though. I have a problem with Chrome, though, and that it knows me too well. Google can sell my data and they do.
37:14 – David: With BRAVE, weren’t they doing something with the block chain and bit coin to reward you for browsing?
37:38 – Eric: Yeah I think that’s being run by...
38:03 – David: I still use CHROME b/c I like the extensions. It’s important to know why you are picking a certain browser. When you are talking about development you need to know who your target audience is. What kind of apps do you use?
39:54 – Eric: It’s interesting to see how much traffic the Android Browser gets. You want to switch over to other parts? For my tech software...I use Polymail.io for email. I use THINGS to keep me on-track, I use SLACK, BRAVE BROSWER, iTerm3 and MERT. I use FANTASTICO (calendar), and I use BEAR (for my note taking). What about you?
41:21 – David: I use iTerm3, too. I’m on 3 different Slack channels. I have been using DISCORD. Other tools that I use are SPECTACLE (extension) among others. I try to keep it slim and simple, though. Another one is EasyRez (free download) and you can adjust the screen resolution on your desktop monitors. It’s important to target my audience better. I do like PARALLELS, too.
44:24 – David continues: Screenflow, Apple Motion, and Adobe After Effects CC.
45:04 – Eric: I use 1 PASSWORD and BETA BASE.
46:04 – David: Have you heard of Last Pass?
46:15 – Eric: Oh sure! I have been using though 1 Password and I guess there some loyalty there.
46:54 – David asks Eric a question about 1 Password about pricing.
47:12 – Eric: I want to pay with money than with something else.
47:23 – David: It’s owned by LogMeIn, and they have tons of experience with security.
48:00 – Eric: I am going to put an article here that compares all these different apps so you can see the similarities and differences side-by-side.
48:40 – David: Anything else? Banking passwords?
48:54 – Eric: Nah, I am excited to see where we are. I like Mojave for the desktop but I don’t like it for the constant number of resets that I’ve had to do. I love what I do.
49:34 – David: Yeah, I agree. I haven’t experienced any major setbacks, yet.
49:55 – Picks!
50:03 – Eric: I think this whole episode has been PICKS!
50:15 – Advertisement: Get A Coder Job!
End – Cache Fly!
Links:
Sponsors:
Picks:
Dave
Eric
Panel:
Special Guest: Dan Mayer
In this episode of Ruby Rogues, the panel talks with Bozhidar Batsov who is the VP of Engineering at Toptal, and an Emacs fanatic. The panel and the guest talk about RubCop, Emacs, and Komodo, among other topics! Check out today’s episode for more details.
Show Topics:
0:00 – Sentry.IO – Advertisement!
1:07 – Chuck lists the panelists and the special guest.
1:37 – Chuck: Why are you famous?
1:41 – Guest gives his background.
2:13 – Guest: I am passionate about Emacs.
2:55 – Chuck.
2:58 – Panel: I have on a few projects. Do you know RUFO? It’s a bit more opinionated than RuboCop.
3:25 – Guest: I am familiar with RUFO and their approach is similar to JavaScript called Pretty or something like that.
4:45 – Guest:
4:49 – Panel: Can you tell us what RuboCop is and why is it important?
5:00 – Guest:
There are a few main things that RuboCop is:
1.) Placement for Ruby minor...
2.) Lint tool
3.) Automatic checker for all the best practices outlined in the community
4.) Formatter for Ruby code – you can feed it ugly code and it will spin out beautiful code
7:30 – Panel: What are the origins of the project? Where you interested in the performance and security aspects of it?
7:49 – Guest.
The guest talks about RuboCop in detail.
10:59 – Panel: It’s important to remember that these are just guidelines and they are NOT set in stone. Using single or double quotes. As long as the project is consistent and using decent practices then I am okay with the code. I will disable the...in RuboCop. Today with high-resolution monitors it’s one of those things that are an annoyance to me. It’s just my opinion, though.
12:07 – Guest: Why disable it and not...?
13:36 – Panel: You could use VS code instead of Emacs! I am just kidding.
13:51 – Guest: I hope you are kidding!
13:56 – Chuck: I cannot live without this code...
14:06 – Guest.
14:26 – Panel: I was an early adapter from the beginning and it was hella slow. I tried it from sublime text and I got annoyed so I eventually switched to VS code. Once I got over the brand name, I really like it as my main editor.
15:20 – Panel: Maybe it’s more approachable and it’s easier to dip your toes in.
15:35 – Guest.
16:29 – Panel: I haven’t heard of KOMODO in long time. I remember that was one of the first IDs that I had checked out. I tried that then went to Ruby Mine and then tried Sublime text and then VS.
16:57 – Guest: Komodo was a famous editor.
17:17 – Panel: I am curious on RuboCop that the adaption is driven by teaching idiomatic Ruby to people new to the language?
17:40 – Guest: I don’t think it’s much about the stylistic stuff at this point. I also noticed that the main driver of the group was...
Guest goes into great detail about this topic.
22:44 – Guest (continues): RuboCop offers a bunch of different structure.
24:27 – Guest (continues): We are wondering how to approach the issue of performance. The performance aspect tended to be trickier than what we had expected. The majority of developers when given the choice to either secure or make something convenient - they will choose the latter option.
25:47 – Panel: That’s why they get hit with a high AWS bill.
26:00 – Guest.
26:30 – Panel: The things you have learned with RuboCop, is it changing the direction with MRI or the design of the language at all?
26:40 – Guest: I would hope so, but I don’t have hard evidence to prove this.
If you give people too many options then it could be a waste of time. I don’t care about the nuances.
30:06 – Ad: RubyMine! 30-day trial!
30:38 – Panel: Would you recommend the Rails style guide if you are building a Rails style project? Should we use that as a baseline and then customize it for your team?
30:55 – Guest: The style guide should be good. For a while I was the only editor. Not a lot of the options that are there aren’t my personal opinion, but it’s the general prescription. If you have strong preferences and you have your team agree on those then it’s okay to be modifying it.
At the end of the day it’s better to have consistency within a project. You are doing great!
32:57 – Chuck asks a question.
33:44 – Chuck: Could I modify a rule?
33:53 – Guest: There are varying degrees to the rule.
35:56 – Panel: One of your conference talks you talked about the future of Rails and the future of other Ruby frameworks?
36:18 – Guest: I am worried about the future of Ruby b/c I see people talking about the maturity of the system but there isn’t a clear vision to where we are going. There are some cornerstones for Ruby 3 that he is repeating.
41:05 – Guest (continues): I think we need to commit to the module and the API.
45:42 – Chuck: All of those things make sense to me. Is there any desire for people to fork Ruby or pulling / putting some of this in?
46:00 – Guest.
48:18 – Panel: Transition that to Rails and the future of Rails?
48:27 – Panel: There are big companies that are making changes.
48:51 – Guest.
53:33 – Panel: I think that is a common pattern that most companies move towards.
54:12 – Chuck: We did an episode on ElixirMix with Chris McCord. Check that out!
54:35 – Chuck: Picks!
54:40 – Advertisement – Fresh Books!
End – Cache Fly!
Links:
Sponsors:
Picks:
Dave
Nate
Charles
Bozhidar
Special Guest: Bozhidar Batsov.
Panel:
Special Guest: Dan Mayer
In this episode of Ruby Rogues, the panel talks with Dan Mayer 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 – Sentry.IO – Advertisement!
1:07 – Chuck: Our panel is Dave, David, myself, and our guest is Dan Mayer. 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 do
23: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 – Advertisement – RubyMine
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 Rust, 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 – Advertisement – Fresh Books!
End – Cache Fly!
Links:
Sponsors:
Picks:
David
Dave
Charles
Dan
Special Guest: Dan Mayer.
Panel:
Special Guest: Genadi Samokovarov
In this episode of Ruby Rogues, the panel talks with Genadi Samokovarov who is a software developer and loves using Ruby. Genadi also likes dance music. You can check out his code at GitHub and his mixes on SoundCloud. 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 here. Send Genadi an email or follow his social links.
Show Topics:
0:00 – Sentry.IO – Advertisement!
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 Sinatra...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 – 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 want
28: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 – Advertisement – Fresh Books!
41:31 – Cache Fly!
Links:
Sponsors:
Picks:
David
Dave
Charles
Genadi
Special Guest: Genadi Samokovarov.
Panel:
Special Guest: Jason Swett
In this episode of Ruby Rogues, the panel talks with Jason Swett who is a host of the podcast show, Ruby Testing!Jason also teaches Rails testing at CodeWithJason.com. He currently resides in the Michigan area and works for Ben Franklin Labs. Check-out today’s episode where the panelists and the guest discuss testing topics.
Show Topics:
0:00 – Sentry.IO – Advertisement!
Check out the code: DEVCHAT @ Sentry.io.
1:07 – I am David Kimura and here is the panel! Tell us what is going on?
1:38 – Jason: I started my own podcast, and have been doing that for the past few months. That’s one thing. I started a new site with CodeWithJason.com.
2:04 – You released a course?
2:10 – Jason: Total flop and it doesn’t exist, but I am doing something else.
2:24 – I bet you learned a lot by creating the course?
2:34 – Jason: The endeavor of TEACHING it has helped me a lot.
2:50 – Tell us why we should drink the Koolaid?
3:02 – Jason: What IS testing? Good question. Whether is it is manual testing or automated testing. We might was well automate it.
3:25 – If we are testing our code what does that look like?
3:34 – Jason: Not sure what you mean, but I am doing tests at a fine grain vs. coarser grain.
4:00 – Show of hands who has...?
4:19 – What different tests are there?
4:20 – Jason: Good question. One term that one person uses is different to a different person. Let’s start with unit tests vs. integration tests.
Jason dives into the similarities and differences between these 2 tests (see above).
There are different tests, such as: featured tests, acceptance tests, etc.
5:45 – What tests are THE best?
5:50 – Jason: Good question. The kind of tests you are writing depends on what type of coverage you are going for.
If I had a sign-up page for a user, I would...
7:36 – What anti-patterns are you seeing? What is your narrative in teaching people how to use them?
8:07 – Jason talks first about his background and his interaction with one of his colleagues.
8:58 – Question.
9:00 – Jason continues with his answers from 8:07.
9:32 – Jason: Feel free to chime-in. What have you done?
9:42 – I often ignore it until I feel bad and then I say: wait-a-minute I am a professional. Then I realize I ignored the problem because I was acting cowardly.
10:29 – For me it depends on the test that it is.
One gem that I found is: RSpec RETRY.
11:16 – Jason: The test is flapping because of something is wrong with the database or something else. Since you asked about anti-patterns let’s talk about that!
Rails and Angular are mentioned.
13:10 – Do you find that you back off of your unit testing when you are using integration?
13:22 – Jason: It depends on the context we are talking about.
Jason talks about featured testing, model-level testing, and more.
13:58 – What is your view on using MOCKS or FAKES. What should we be doing there?
14:10 – Jason: Going to the Angular world I understand Mocks better than now. There was a parable that I think is applicable here about the young and the old fish.
16:23 – Jason continues talking about testing things in isolation.
16:36 – Question.
16:39 – I have been looking for an area to specialize in and I wrote an eBook. (Check out here to see the articles and books that Jason has authored.)
Then I was looking around and I wanted to see what people’s issues are with Rails? They have a hard time with testing. I wanted to help them feel competent with it.
18:03 – In your course you have how to choose a framework.
I know Ruby has several options on that front – how do you choose?
18:24 – Jason: There are 2 factors to consider.
Jason tells us what those two factors are.
Jason: Angular, React and Vue.
19:52 – Panelist: I had a conversation with a beginner and we were talking about the different tests. He said the DSL really appealed to him. The surface area of the AI made it approachable for him.
20:27 – Jason: I wished I had figured out DSL out a little better. Understanding the concept of a block. The IT is just a function and you can put parentheses in different areas and...
21:01 – That makes sense. Let’s revisit the Tweet you wrote.
21:35 – Jason: There are certain use cases where it makes sense. Where Gmail was the thing out there. At some point the Internet formed the opinion that...
22:39 – Old saying: Nobody gets fired for using Microsoft and then it was IBM. Nothing wrong with those things if that’s what you are trying to do. Sometimes we make decisions to not be criticized. We try to grab big frameworks and big codes so we are not criticized for.
23:48 – Jason: I think developers have this idea that OLD is OUTDATED. Not so. I think it’s mature, not necessarily outdated. I think it’s a pervasive idea.
24:31 – I think it suffers a bit when all the mind shares get lumped into one thing.
The panelist continues...
24:53 – Jason: I don’t know if I like this analogy.
26:00 – I agree with that sentiment. It’s crazy that the complexity has become so pervasive.
26:18 – I think of SPAs as...
26:37 – Jason: Going back to the Tweet I wrote, I am pulling in JavaScript but I am preferring to sprinkle Java into Rails.
27:02 – Absolutely. I think that’s where we agree on. Late in 2017 we had the guest...
“Use JavaScript sprinkles.”
27:49 – Panelist chimes-in.
28:37 – Jason: That make sense. Use your preexisting...
I am afraid of committing to a single framework. I don’t have anything against JavaScript but I am afraid of using only one thing when something else becomes fashionable.
29:30 – Have you found that Java sparkle approach is easy to test?
29:38 – Jason: I think it’s easier. Client server architecture...
30:10 – Advertisement: Get A Coder Job!
30:41 – Shout-out to the Rails team! What other testing frameworks are there? What if you are not the developer but you are the Quality Assurance (QA) person. They have been given the task of testing on the application.
31:30 – Jason: So someone who is not a developer and they want to test the application. I don’t want to get out of my role of expertise. I did talk to a QA engineer and I asked them: What do you do? All of his tests are manual. He does the same stuff as a Rails developer would do.
32:52 – Panelist talks about pseudo code.
34:07 – Jason: I am curious, Dave, about the non-programmer helping with tests what is the team structure?
34:23 – Dave: You will have one QA per three developers.
34:44 – Jason: If you have a QA person he is integrated within the team – that’s what has been the case for me.
35:02 – Dave: It’s a nice thing to have because we need to crank out some features and we have a good idea what is wrong with the app. We can go in there and see if our application is good, but they are combining different scenarios to do the unit tests and see what they are lacking. They are uncovering different problems that we hadn’t thought of.
36:07 – The organization has to have the right culture for that to work.
36:35 – If it’s a small team then it will help to see what everyone is doing – it’s that engagement level. If the team is too large then it could be a problem.
37:15 – Jason: Engagement between whom?
37:27 – Both.
Panelist goes into detail about different engagement levels throughout the team.
38:10 – Jason: Yeah that’s a tough thing.
38:49 – It’s interesting to see the things that are being created. Testing seems to help that out. We are getting bugs in that area or se didn’t design it well there...
We see that we need some flexibility and getting that input and having a way to solve the problems.
39:32 – Jason: Continuous deployment – let’s segue into this topic.
41:17 – Panelist: Do you have recommendations on how often we should be deploying in that system per day/week?
41:40 – Jason: We would deploy several times a day, which was great. The more the better because the more frequently you are deploying the fewer things will go wrong.
42:21 – More frequently the better and more people involved.
42:45 – Jason continues this conversation.
42:51 – Panelist: Continuous integration – any time you were say to forgo tests or being less rigid?
43:14 – Jason: I don’t test everything. I don’t write tests for things that have little risks.
43:56 – I think it is a good segue into how you write your code. If you write a code that is like spaghetti then it will be a mess. Making things easier to test.
44:48 – Jason: This is fresh in my mind because I am writing an app called Green Field.
46:32 – Uniqueness Validations, is mentioned by Jason.
47:00 – Anything else to add to testing a Rails application?
47:08 – Jason: Let’s talk about 2 things: walking skeleton and small stories.
This book is a great resource for automated testing.
Last point that I want to talk about is small stories: continues deployment and continuous delivery. If you make your stories smaller then you are making your stories crisply defined. Have some bullet points to make it really easy to answer the question. Answer the question: is this story done or not done? Someone should be able to run through the bullet points and answer that question.
50:02 – I am in favor of small stories, too. Makes you feel more productive, too.
50:14 – Work tends to lend itself to these types of stories and running a sprint.
51:22 – You don’t have to carry that burden when you go home. You might have too big of a chunk – it carries too much weight to it.
51:47 – Book the Phoenix Project. Work in progress is a bad thing. That makes sense. You want to have fewer balls in the air.
52:17 – Anything else?
52:22 – Jason: You can find me at: CodewithJason.com also Twitter!
52:45 – Advertisement – Fresh Books!
1:01:50 – Cache Fly!
Links:
Sponsors:
Picks:
David
Nate
Eric
Dave
Jason
Special Guest: Genadi Samokovarov.
Panel:
Special Guest: Sam Aaron
In this episode of Ruby Rogues, the panel talks with Sam Aaron who is the creator of Sonic Pi, 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 new
How 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 Sonic Pi?
6:50 – Guest: Sonic Pi 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 Ruby but also some Erlang in there?
19:15 – Sam: I talked earlier about the three components.
Sam talks in-detail about Ruby and why he also used some Erlang.
22:30 – Sam: Erlang 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 – 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 active community?
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: This whole song is 206 lines of code of the Mario Theme Song.
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 – Advertisement – Fresh Books!
Links:
Sponsors:
Picks:
Eric
Dave
Sam
Special Guest: Sam Aaron.
Panel:
Special Guests: Julia Evans
In 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 Badges
26: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:
Sponsors:
Picks:
Dave
Charles
David
Julia
Special Guest: Julia Evans.
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 support
27: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. But
34: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 person.
Having a good attitude is going to help with the feedback to make your product better.
43:15 – Chuck: Nobody wants to have that confrontation.
43:30 – I have grown to appreciate humanity. When you are asking them about: why did you leave?
I see that they’ve read it 4-5 times but they didn’t hit reply.
Am I doing this? Am I not doing this?
45:11 – Getting the opinions out there can help you if you can find the positive twist to even negative comments.
45:44 – How can this feedback make me a better person, podcaster or better in general? You can find that in the nastiest feedback that you may receive.
46:29 – But on the flipside – if you decide to buy – make the feedback constructive. Honestly
46:56 – I had a similar experience. Geekbot. I just bought it and I love it. They do daily standups on Geekbot. They kept skipping days. But they asked for me to try again, I di and I am glad that I did!
48:49 – Panelist: When you are talking about building your own software and you get that feedback it’s important not to be a person pleaser. If it doesn’t help ALL then it’s something you might NOT wan to build it. I t has to be globally beneficial. Do the right thing. I
50:49 – Chuck: Anything else?
51:01 – To UNSUBSCRIBE make them fill out a long form before you leave. One more kick to the groin.
51:17 – Chuck: Subject Line: Please Piss Me Off.
How can we make this more effective?
51:40 – I send them weekly stats. I solicit through that e-mail.
52:00 – I think the point is that most people who buy software are HEARD and that they are a valuable customer. Their voice does matter. You want to solve their problems in a least expensive way.
52:36 – Chuck: Making it SUPER easy for them.
53:18 – Final thought about building: if someone has to leave your application, to do the task at hand, then your app is missing some core feature(s) that your users are wanting.
54:27 – Picks!
54:32 – Advertisement for Get a Coder Job!
Links:
Sponsors:
Picks:
Dave
Eric
Charles
Panel:
Special Guests: Saverio Miroddi
In this episode of Ruby Rogues, the panel talks to Saverio Miroddi who is an engineer among other things. Saverio has written articles, and a link to two of his articles is found below. The panel and Saverio talk about Ruby, Ruby Motion, Shoes, Hackety Hack, and much more! Check out the episode!
Show Topics:
2:05 – Chuck asks a question.
2:42 – Chuck: What do you recommend for the listeners?
2:49 – Saverio: At the time I recommended an underdog. Now, making a recommendation is kind of hard. It depends on what they need. It’s fascinating in a way, because web development is not straightforward. Through the choice the subject is so wide.
3:58 – Panelist: Building desktop applications the very last thin I think: I should build this in Ruby. It sounds like I am not the only person. Why would people want to build desktop apps in Ruby versus another program?
4:38 – Chuck: I was thinking the same thing.
4:59 – Saverio: Personally, I like consistency. When Ruby came out it’s meant to be very easy. It should be easy to hack a certain tool. It depends on a case basis.
6:15 – Panelist: How does Ruby shine in this respect?
6:19 – Saverio: It’s hard to say. It is a compromise with everything. That’s the case – if it is meant to be simple, keep it simple. When I wrote my app I was looking for consistency. Ruby is far from ideal and it’s compromising the project.
8:02 – Panelist: Tell us how you use it? Tell us your cases.
8:17 – Saverio dives into this topic.
9:05 – Panelist: I hate web applications online – I want it on my desktop. But it’s funny; I am the opposite when I make it. I really like the idea of Ruby being expanded beyond web application.
Panelist continues to talk about what/where/how Ruby is used or not used.
10:30 – Chuck: I like the idea of expanding to other areas, as well. Do you think there is enough momentum to get it to a new place?
11:09 – Saverio answers this question.
Saverio: To be honest, this might just be a niche. It’s being developed at a slow pace. I know a few things use Ruby, and they just want to use a few small tools, and a few frameworks.
12:38 – Panelist talks about Ruby and how it can be good for kids and beginners because of the visual component/feedback.
13:49 – Saverio: I agree.
13:59 – Chuck: I asked earlier, what would you recommend to kids to get started?
14:20 – Saverio answers the question.
16:02 – Panelist: I think I have a compromise, what about a web application that loads like a regular web page, but also has offline functionality? If you go offline it can load and sometimes work. Now you have a native application.
16:47 – Chuck adds in a comment.
16:53 – Advertisement
17:31 – Saverio: That would be complex, right?
17:44 – Chuck: They were headed towards desktop but never got there.
17:55 – Panelist: There is Ruby Motion.
18:41 – Chuck: We are going to have a special guest back to talk about doing Ruby Motion on the Nintendo Switch. I think it will take a lot to compile to get to the new system.
19:07 – What is your experience with building Opal?
19:17 – Saverio: I excluded those, actually.
19:50 – Panelist: Let’s talk about data and storing data?
20:04 – Saverio: Definitely.
Saverio dives into this topic...
20:28 – Chuck: Do you use Active Record?
20:32 – Saverio: No.
21:00 – Saverio: I like simplistic solutions.
21:19 – Chuck: That sounds like it wouldn’t be completely foreign for people who have done web development.
If we are more web active what will throw us off? Just in general. Your visual is different than the web. It’s different between a desktop and a web app.
22:21 – Panelist: If you are building in Ruby it can be locked down to a single thread.
22:37 – Saverio adds his thoughts.
22:59 – Panelist: Any open source projects that are gooey based application?
23:25 – Saverio: I am not aware. There are applications out there that are getting traction, though.
23:50 – Chuck asks Saverio a question.
24:01 – Saverio talks about Ruby
25:12 – Saverio is deciding on whether or not to transition to another language or not.
26:36 – Chuck: Things that are built with Shoes...Hackety Hack?
26:55 – Saverio: It is hard to write in Shoes. It’s fun for the beginner.
27:34 – Chuck: Anything else?
27:41 – Panelist: This has to do with the Gooey, and it’s Native Fire.
29:05 – Chuck chimes in.
29:26 – Panelist continues talking about this topic.
30:48 – Panelist: To make it beyond a toy, there needs to be more community support and more examples. I have been in Ruby for a while, but building applications in React and Electron is not that simple as in Ruby. I hope to see more support in open-source projects, and to take it to the next level. This is a story yet to be told.
31:52 – Panelist: My concern is it always looks like a high school project.
32:15 – Chuck: Yeah, doesn’t look completely polished.
32:19 – Saverio: Yes, when you go to a Ruby talk then...
32:50 – Chuck: Anything else?
33:04 – Saverio: I have nothing else to add.
33:10 – Advertisement
33:47 – Picks!
Links:
Sponsors:
Picks:
Charles
Dave
Eric
Saverio
Special Guest: Saverio Miroddi.
Panel:
Special Guests: Rahul Mahale
In 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 Kubernetes.
Show Topics:
1:25 – Swag.com for t-shirts and mugs, etc. for Ruby Rogues / DevChat.tv.
1:49 – Chuck: Why are you famous?
1:57 – Guest’s background.
4:35 – Chuck: Kubernetes – Anyone play with this?
4:49 – Panelist: Yes. Funny situation, I was working with Heroku. Heroku 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 Amazon EKS, which is the Kubernetes. They don’t have nearly as much good tools, but that’s my experience.
6:48 – Chuck: I haven’t tried Kubernetes.
8:58 – Rahul: I would like to add a few comments. Managing Kubernetes service is not a big deal at the moment, but...
11:19 – Panelist: You wouldn’t recommend people using Kubernetes unless they were well versed? What is that term?
11:40 – Rahul: Not anyone could use the Kubernetes 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 Kubernetes 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.
Kubernetes 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 Kubernetes? 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 – Announcement – Digital Ocean!
27:51 – Chuck: How does someone get started with Kubernetes?
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 Kubernetes 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 Kubernetes 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 Kubernetes 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 Kubernetes – great. What kinds of processes to setup with Kubernetes 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 – Get a Coder Job Course
Links:
Sponsors:
Picks:
Charles
Dave
Eric
Rahul
Special Guest: Rahul Mahale.
Panel:
Special Guests: Jeff Kreeftmeijer
In this episode of Ruby Rogues, the panel talks to Jeff Kreeftmeijer who is a Ruby and Elixir developer at AppSignal. Jeff writes for the AppSignal's 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 & New Relic.
3:40 – AppSignal might be the only support for Elixir.
4:12 – The integration, the ease was so simple and your (Jeff) documentation made it very easy.
4:46 – Comparatively to New Relic, AppSignal 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. AppSignal – 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 Drifting Ruby? 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 AppSignal. 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 Russian doll caching. I didn’t quite make the connection in my head.
11:40 – First, let’s talk about fragment caching.
13:49 – Jeff explains Russian doll caching.
18:44 – Chuck makes comments and asks Jeff a question.
19:43 – Jeff confirms the panelist’s answer.
22:00 – Jeff: Another solution is JavaScript 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 Russian doll caching. Performance can be smoke in mirrors. Application he worked on before, we did tons of caching (query caching, Russian doll caching, and others) it was all about handling the cache key.
25:32 – More comments about caching from another panelist. Cache warming is mentioned, too.
26:46 – How do you utilize cache warming?
27:39 – Chuck asks a question.
27:44 – Question answered.
28:12 – Does something like this exist for Phoenix?
28:28 – Jeff: I don’t think there is something like that for Phoenix.
28:50 – Chuck: When do you want to use one caching over another caching?
29:09 – Jeff: “Depends on a couple of things. N+1 is a feature and that you “should” rely on Russian doll caching, 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.) 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 – N+1 Queries – 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: N+1 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 – Redis is mentioned.
42:04 – Jeff (guest) comments on the panelists’ thoughts.
42:37 – Picks?
42:57 – Advertisement: Chuck’s E-Book Course
43:34 – Picks
Links:
Sponsors:
Picks:
Charles
Dave
Eric
Jeff
Special Guest: Jeff Kreeftmeijer.
Panel:
Special Guests: John Hawthorn
In this episode of Ruby Rogues, the panel talks to John Hawthorn about MJIT. John has been a Ruby programmer for about 9 years and is based in Victoria, B.C. They talk about what MJIT is, the effects you can see from using the MJIT compiler, and why the JIT doesn’t always work with other languages. They also touch on how you can use the JIT in your own code, how he makes his performance better, and more!
Show Topics:
1:36 – John is a Ruby programmer, and has been one for the past 9 years, and he is based out of Victoria, B.C.
5:00 – He had always been curious how a JIT would work and found that it was always too difficult to work with. Since discovering MJIT, he has been able to work with these compilers because he understands how to work with C code.
7:36 – Ruby has a bytecode and it looks a lot like an assembly language, which is approachable to a Rubyist.
8:24 – The core of MJIT is an ERB template which take this bytecode, loops over it, and emits C code.
9:01 – Effects that you can seem from the JIT in your own code is that it uses a really tight math loop, making your code faster.
11:25 – Other languages aren’t suited for compilers like JIT because they are so flexible to begin with. And in some cases, it doesn’t make sense to JIT compile.
13:05 – The compiled code now is not reusable by other workers and works better with one compilation per process.
15:20 – The temp folder gets cleared immediately after its run, but this compiled code is probably going to stay in memory forever.
17:30 – The MJIT doesn’t work as well with Rails because the code can’t get warmed up enough. Some things aren’t friendly to a JIT.
20:24 – If someone wants to play with the JIT, as long as you have any Ruby version manager, install any of the previewed releases of 2.6 and then run with --jit.
21:44 – Online, you can look into following people who have written various Ruby libraries to look at performance. You can look at people like Sam Saffron and Julia Evans.
23:57 –TruffleRuby is a new front-end on top of a mature virtual machine whereas MJIT is a brand new virtual machine on top of a Ruby front-end.
27:57 – The MJIT had no effect on his work, it was just really fun and interesting to look into.
28:29 – To make his performance better, he allocates fewer objects, does less loops, and writes better queries.
29:02 – You want to run a profiler that will give you a better idea of where to look for performance issues, but you really need a proper benchmark to say what is wrong with your performance. A great benchmark you can use is benchmark-ips.
31:59 – The “gotcha” of doing this kind of work is verifying that you’ve actually improved it.
33:41 – Before we have the JIT in production, we are going to be using these techniques to find out if the JIT is helping us.
Links:
Sponsors
Picks:
Charles
Dave
David
Eric
John
Special Guest: John Hawthorn.
Panel:
Special Guests: Luke Francl
In this episode of Ruby Rogues, the panel talks to Luke Francl about his article “Upgrading Rails applications incrementally”. Luke works at GitHub on search and has been there since October 2017. Before working at GitHub, he worked at a search startup that was working with Rails and Elasticsearch. They talk about things that people take for granted with search, the impending takeover of GitHub from Microsoft, and what open source looks like today. They also touch on the process of getting hired at GitHub, his process for upgrading Rails applications, and more!
In particular, we dive pretty deep on:
Links:
Sponsors
Picks:
Dave
Eric
Luke
Special Guest: Luke Francl.
Panel:
Special Guests: Nate Berkopec
In this episode of Ruby Rogues, the panel talks to Nate Berkopec about Ruby Performance. Nate is a freelance Ruby performance consultant and he writes and works on Ruby application performance, specifically Rails applications, which he has been doing for the past 3 or 4 years. They talk about his past experience, what led him to Ruby performance, and why he loves Turbolinks. They also touch on the two benefits to performance work, if Ruby performance on the back-end really matters for the majority of cases, and more!
In particular, we dive pretty deep on:
Links:
Sponsors
Picks:
Charles
Eric
David
Nate
Special Guest: Nate Berkopec.
Panel:
Special Guests: Sihui Huang
In this episode of Ruby Rogues, the panel talks to Sihui Huang about his article "How to Contribute to Ruby." Sihui is currently a back-end engineer at Gusto, which is a startup that works with payroll, benefits, and HR for companies. They talk about her experience in the programming world, why she chose to work with Ruby, and they touch on her article and why she decided to write it. They also touch on the three focuses for Ruby 3, if she thinks Ruby has a long time future, and more!
In particular, we dive pretty deep on:
Links:
Sponsors
Picks:
Eric
Sihui
Special Guest: Sihui Huang.
Panel:
Special Guests: Prathamesh Sonpatki
In this episode of Ruby Rogues, the panel talks to Prathamesh Sonpatki about Rails 5. Prathamesh works for BigBinary, where they publish a lot of blog posts on things like Ruby, speaks at conferences and is the organizer of RubyConf India. They talk about the biggest changes that have occurred from the new Rails 5 release, CISM tests, and the struggle that testing brings. They also touch on different testing approaches, especially in Rails 5, Capybara tests, and more!
In particular, we dive pretty deep on:
Links:
Sponsors
Picks:
Charles
Eric
Dave
Prathamesh
Special Guest: Prathamesh Sonpatki.
Panel:
Special Guests: Jared Norman
In this episode of Ruby Rogues, the panel talks to Jared Norman about understanding your production apps. Jared has been programming since he was about 10 years old and for the past 7 years, he has been doing Ruby. These days, he runs a consultancy company called Super Good Software doing Ruby on Rails stuff and mostly eCommerce. They talk about his article You Can’t Save Everyone: Some Exceptions Should Be Left Alone, when capturing exceptions is the right way to go, developing with good visibility in mind, and more!
In particular, we dive pretty deep on:
Links:
Sponsors
Picks:
Charles
Eric
David
Catherine
Dave
Jared
Special Guest: Jared Norman.
Panel:
Special Guests: Mindaugas Mozūras
In this episode of Ruby Rogues, the panel talks to Mindaugas Mozūras about hiring. Mindaugas is from Lithaunia and has worked at Vinted for the past 6 years, starting as a software developer and is now is the head of engineering there. They talk about why it’s hard to find great developers to hire, the importance of hiring both junior and senior developers, and his blog post A User Guide to Me. They also touch on how you come about writing up job roles, the importance of letting developers think outside of the box, and more!
In particular, we dive pretty deep on:
Links:
Sponsors
Picks:
Charles
Eric
David
Catherine
Mindaugas
Special Guest: Mindaugas Mozūras.
Panel:
Special Guests: Dan Manges
In this episode of Ruby Rogues, the panel talks to Dan Manges about his blog post entitled The Modular Monolith: Rails Architecture. Dan is the CTO of Root, which is a car insurance carrier in Columbus, Ohio. They started the company a few years ago because they felt that the prices people pay for car insurance should be based primarily on diving behavior and not demographics. They talk about how he built the architecture of the app for his company, what a Modular Monolith is, their different gems, and more!
In particular, we dive pretty deep on:
Links:
Sponsors
Picks:
Dave
David
Catherine
Dan
Special Guest: Dan Manges.
Panel:
Special Guests: Eliav Lavi
In this episode of Ruby Rogues, the panel talks to Eliav Lavi about his article How I Built Timeasure. Eliav works for Riskified where he is a back-end developer working with Ruby mostly and recently some Scala. In the past, he studied music but had always been into technology from a young age. They talk about how got to where he is today, what the developer scene is like in Israel, and Timeasure. They talk about what this gem is, why they decided to create it, and more!
In particular, we dive pretty deep on:
Links:
Sponsors
Picks:
David
Dave
Eric
Catherine
Eliav
Special Guest: Eliav Lavi.
Panel:
Special Guests: Vishal Telangre
In this episode of Ruby Rogues, the panelists talk to Vishal Telangre about his blog post entitled Ruby 2.5 prints backtrace and error message in reverse order. Vishal is working remotely for BigBinary where he works with Ruby on Rails, Kuberernetes, and Elm. They talk about the power of blog posts at BigBinary, give suggestions for people wanting to get into blogging, and inspiration for blog posts. They also touch on his blog post, the changes to backtrace in Ruby 2.5, and more!
In particular, we dive pretty deep on:
Links:
Sponsors
Picks:
Dave
Eric
Catherine
Vishal
Special Guest: Vishal Telangre.
Panel:
Special Guests: Daniel P. Clark
In this episode of Ruby Rogues, the panelists talk to Daniel P. Clark about improving Ruby performance with Rust. Daniel has been a hobbyist programmer for over 20 years and started blogging about Ruby and other technical matters about 5 years ago. One of the things he is well known for is his Faster Path gem on GitHub, which has over 700 stars. They talk about his blog article Improving Ruby Performance with Rust, why he chose to use Rust, and the benefits of using a Rust extension in Ruby. They also touch on his faster path gem, the Helix project, and more!
In particular, we dive pretty deep on:
Links:
Sponsors
Picks:
Charles
Dave
David
Eric
Catherine
Daniel
Special Guest: Daniel P. Clark.
Panel:
Special Guests: Victor Shepelev
In this episode of Ruby Rogues, the panelists talk to Victor Shepelev about functional programming in Ruby. Victor is a Ukrainian programmer and poet who has been programming since he was a child. He has been programming with Ruby for the past 12 years and has contributed a lot to the open source community, as well as mentors and participates in discussions about Ruby’s progress. They talk about how to approach functional programming in Ruby, changes Victor hopes to see in Ruby, and more!
In particular, we dive pretty deep on:
Links:
Sponsors
Picks:
Charles
Dave
David
Eric
Catherine
Victor
Special Guest: Victor Shepelev.
Panel:
Special Guests: Paweł Dąbrowski
In this episode of Ruby Rogues, the panelists talk to Paweł Dąbrowski about metaprogramming and DSLs. Paweł is a Ruby developer, is on the iRonin team, and runs a Ruby blog, which he started in January 2018. They talk about his blog, the importance of contributing to the community, and why he chose to create his own version of RSpec. They also touch on how hard it was to get into blog writing as a developer, the use of blog writing as a way to confirm your skills, and much more!
In particular, we dive pretty deep on:
Links:
Sponsors
Picks:
Charles
Dave
David
Eric
Paweł
Special Guest: Paweł Dąbrowski.
Panel:
Special Guests: Nathan Kontny
In this episode of Ruby Rogues, the panelists talk to Nathan Kontny about his video Should I use Ruby on Rails? Nathan has been a Rails developer since about 2005 when he created a startup and has since been making software and starting business. He has just recently been running the CRM Highrise and is now onto more projects elsewhere. They talk about his prior experiences as a software developer, why he chose to use Rails when creating software, and much more!
In particular, we dive pretty deep on:
Links:
Sponsors
Picks:
Charles
Dave
David
Eric
Nathan
Special Guest: Nathan Kontny.
Panel:
Special Guests: Olivier Lacan
In this episode of Ruby Rogues, the panelists talk to Olivier Lacan about his blog post Why Won’t Bundle Update? and related topics. Olivier was originally a designer/web developer who fell into Ruby around 2010 and has been working on Code School, which is sadly in the process of being shut down. They talk about what package managers are, where you would you see them normally in code, dependencies, gems, and much more!
In particular, we dive pretty deep on:
Links:
Sponsors
Picks:
Dave
David
Eric
Catherine
Oliver
Special Guest: Olivier Lacan.
Panel:
Special Guests: Dean Nasseri
In this episode of Ruby Rogues, the panelists talk to Dean Nasseri about Fir. Fir is the friendly interactive Ruby REPL that Dean created when he was inspired by the REPL Fish. Dean is a software engineer at VTS, which is a commercial real estate software platform that uses Ruby on Rails. They talk about why he created Fir, how he approached creating it, how long it took him to build, and much more!
In particular, we dive pretty deep on:
Links:
Picks:
Dave
Eric
Catherine
Dean
Special Guest: Dean Nasseri.
Panel:
Special Guests: Noah Gibbs
In this episode of Ruby Rogues, the panelists talk to Noah Gibbs about measuring Ruby performance with Rails and Discourse. Noah wrote a book called Rebuilding Rails and is currently analyzing Ruby performance for AppFolio. They talk about how he puts benchmarks around Discourse, the 2 distinct audiences that come to Rails, and how Rails is constantly improving. They also touch on his life as a programmer leading up to being a Ruby fellow and much more!
In particular, we dive pretty deep on:
Links:
Picks:
Charles
Dave
David
Catherine
Noah
Special Guest: Noah Gibbs.
Panel:
Special Guests: Luca Guidi
In this episode of Ruby Rogues, the panelists talk to Luca Guidi about Ruby elapsed time. Luca works remotely for DNSimple and is most well known in the Ruby community for his open source projects, such as Hanami. They talk about NTP, time drifts, and the pros and cons to using a monoatomic clock. They also touch on the importance of being exposed to different languages in order to be a well-rounded developer.
In particular, we dive pretty deep on:
Links:
Picks:
Charles
Dave
David
Luca
Special Guest: Luca Guidi.
Panel:
Special Guests: Aslak Hellesøy
In this episode of Ruby Rogues, the panelists talk to Aslak Hellesøy about Cucumber. Aslak has been a software developer since around 1997 and has been in the Ruby community since around 2003. He created Cucumber in 2008, which has been his hobby on the side since its creation. They talk about the difference between TDD and BDD, what Cucumber is, and how it works. They also stress the importance of having conversations in order to facilitate collaboration and trust.
In particular, we dive pretty deep on:
Links:
Picks:
Charles
David
Aslak
Special Guest: Aslak Hellesøy.
Panel:
In this episode of Ruby Rogues, the panel talk about their thoughts, gripe about things they don’t like, and discuss some new ideas. Some of the things they discuss include having a frozen version of your code, node modules, code dependencies, and more. They also touch on the fact that making shortcuts now means that you will have to pay for it later.
In particular, we dive pretty deep on:
Links:
Picks:
Charles
Brian
Eric
David
Dave
Panel:
In this episode of Ruby Rogues, the panel discusses code automation. They talk about how automating things tends to make them more efficient and speed the time up it takes to complete them. In a world where time is precious, it’s important to automate anything you can so that you can save yourself valuable time and money. They also touch on the importance of having a structure and a consensus among the company in order to have the best productivity and the pros and cons of using “sprints”.
In particular, we dive pretty deep on:
Links:
Picks:
Charles
Dave
Panel:
Special Guests: Takashi Kokubun
In this episode of Ruby Rogues, the panel discusses Ruby 3 with Takashi Kokubun. Takashi works for Treasure Data as a layers application engineer and works with template engines such as Haml and Hamlit. They talk about JIT Compilers and the upcoming Ruby 3.0 launch and the efforts that are going in to making this launch run more smoothly. They also touch on the importance of optimizing your code and discuss the 3 by 3 challenge with the upcoming Ruby 3.0 launch.
In particular, we dive pretty deep on:
Links:
Picks:
Eric
Dave
David
Takashi
Special Guest: Takashi Kokubun.
Panel:
In this episode of Ruby Rogues, the panel discusses geospatial programming with Daniel Azuma and Tee Parham. Daniel is a developer at Google and has been doing Ruby for about 14 years. Tee is co-founder and CTO of Neighborland, which is built on Ruby on Rails. Before that, he founded, managed and led technical projects for a small startup for about 8 years. They discuss what geospatial programming is, what RGeo Gem is, and other interesting aspects of geospatial programming.
In particular, we dive pretty deep on:
Links:
Picks:
Charles
Eric
Daniel
Tee
Special Guests: Daniel Azuma and Tee Parham.
Panel:
Special Guests: Jacob Stoebel
In this episode of Ruby Rogues, the panel discusses code reviews with Jacob Stoebel. Jacob is a Rails and JavaScript developer and works for ePublishing where he does mostly front-end programming. He talks about how he believes that code reviews can be both honest and nice, and that they should inspire the programmer to want to go back and make his/her code better, not tear him/her down. He also gives fours steps to the response process for giving positive and helpful code reviews.
In particular, we dive pretty deep on:
Links:
Picks:
Charles
Dave
Eric
David
Jacob
Special Guest: Jacob Stoebel.
Panel:
Special Guests: Catherine Meyers
In this episode of Ruby Rogues, the panel discusses music, musicians, and programmers with Catherine Meyers. Catherine is a software engineer at Mavenlink in San Francisco and is a co-organizer of a meet-up called Women Level Up. Before getting into coding, she was actually an opera singer. They talk a lot about why she decided to change her career and how she came to be a successful coder after being a singer for many years.
In particular, we dive pretty deep on:
Links:
Picks:
Charles
Dave
David
Catherine
Special Guest: Catherine Meyers.
Panel:
Special Guests: Aaron Sumner
In this episode of Ruby Rogues, the panel discusses removing business logic from Rails controllers with Aaron Sumner. Aaron is a long time Ruby developer, using mostly Rails, writes a blog called Everyday Rails, and most people know him from his book, Everyday Rails Testing with RSpec: A practical approach to test-driven development. They discuss service objects, the pros and cons of using them, and they emphasize not trying to change something all at once, but gradually.
In particular, we dive pretty deep on:
Links:
Picks:
Charles
David
Aaron
Special Guest: Aaron Sumner.
Panel:
Charles Max Wood
Dave Kimura
Eric Berry
Special Guests: Justin Gordon and Rob Wise
In 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:
Links:
Picks:
Charles
Dave
Eric
Justin
Rob
Special Guests: Justin Gordon and Rob Wise.
Panel:
Charles Max Wood
Dave Kimura
Brian Hogan
Eric Berry
Special Guests: Greg Kushto
In 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:
Links:
Picks:
Charles
Dave
Brian
Eric
Greg
Special Guest: Greg Kushto.
Panel:
Charles Max Wood
Dave Kimura
David Richards
Special Guests: None
In 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:
Links:
Picks:
Charles
Dave
David
Panel:
Charles Max Wood
Eric Berry
Dave Kimura
David Richards
Special Guests: Sebastian Sogamoso
In 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:
Links:
Picks:
Charles
Eric
Dave
David
Sebastian
Special Guest: Sebastian Sogamoso.
Panel:
Dave Kimura
Eric Berry
David Richards
Special Guest: Nathen Harvey and Nell Shamrell-Harrington
In 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:
Links:
Picks:
David
Eric
Dave
Chuck
Nell
Nathen
Special Guests: Nathen Harvey and Nell Shamrell-Harrington.
Panel:
Dave Kimura
Eric Berry
David Richards
Special Guest: Justin Searls and Josh Greenwood
In 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:
Links:
Picks:
David
Eric
Dave
Justin
Josh
Special Guests: Josh Greenwood and Justin Searls.
Panel:
Charles Max Wood
Dave Kimura
Brian Hogan
Eric Berry
Special Guest: Daniel Azuma
In 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:
Links:
Picks:
Brian
Eric
Dave
Chuck
Daniel
Special Guest: Daniel Azuma.
Panel:
Charles Max Wood
Dave Kimura
David Richards
Special Guest:
Amit Choudary
In 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:
Links:
Picks:
David
Dave
Chuck
Amit
Special Guest: Amit Choudary.
Panel:
Charles Max Wood
Dave Kimura
David Richards
Brian Hogan
Eric Berry
In 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:
Links:
Picks:
Dave
David
Eric
Charles
Brian
Panel:
Charles Max Wood
Dave Kimura
David Richards
Eric Berry
In 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:
Removed “ubygems.rb” file from stdlib. (We can talk about why this file existed & why it has been removed.) * Elixir and writing code fast * Ruby performance (Why do so many people complain about it, is it really a limiting factor for them? Would people be happy if it got 3 times faster? Ruby 3x3 project) * And much much more
Links:
Picks:
Dave
David
Eric
Charles
Jesus
Special Guest: Jesus Castello.
Panel:
Charles Max Wood
Dave Kimura
David Richards
Eric Berry
In 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:
Links:
Picks:
Dave
David
Eric
Charles
Special Guest: David Heinemeier Hansson.
Panel:
Charles Max Wood
Dave Kimura
David Richards
In 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:
Picks:
Dave
David
Charles
Panel:
Charles Max Wood
Dave Kimura
Eric Berry
David Richards
In 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:
Picks:
Eric
Dave
David
Charles
Aaron
Special Guest: Aaron Lasseigne.
Panel:
Dave Kimura
Eric Berry
David Richards
In 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:
Links:
Picks:
Eric
Dave
David
Panel:
Charles Max Wood
Dave Kimura
David Richards
Special Guest:
Trae Robrock
In 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:
Links:
Picks:
Trae
Dave
Charles
David
Special Guest: Trae Robrock.
Panel:
Brian Hogan
Dave Kimura
Eric Berry
Special Guest:
Adam Cuppy
In 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:
Links:
Picks:
Dave
Adam
Eric
Brian
Special Guest: Adam Cuppy.
Panel:
Charles Max Wood
Dave Kimura
Eric Berry
David Richards
Special Guest:
Ben Orenstein
In 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:
Links:
Picks:
David
Dave
Chuck
Eric
Ben
Special Guest: Ben Orenstein.
Panel:
Charles Max Wood
Dave Kimura
Eric Berry
Special Guest:
David Richards
In 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:
Links:
Picks:
David
Dave
Chuck
Eric
Special Guest: David Richards.
Panel:
Charles Max Wood
Dave Kimura
Special Guest:
Hal Fulton
In 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:
Links:
Picks:
Hal
Dave
Chuck
Special Guest: Hal Fulton.
Panel:
Charles Max Wood
Dave Kimura
Special Guest:
Amir Rajan
In 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:
Links:
Picks:
Amir
Dave
Chuck
Special Guest: Amir Rajan.
Panel:
Charles Max Wood
Eric Berry
Special Guest:
Justin Weiss
In 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:
Links:
Picks:
Eric
Justin
Chuck
Special Guest: Justin Weiss.
Panel:
Charles Max Wood
Dave Kimura
Eric Berry
Brian Hogan
Special Guest:
Fabio Akita
The 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:
Links:
• @AkitaOnRails
•@RubyconfBR
•Codeminer42
facebook.com/akitaonrails
Picks:
Eric
•imazing
Dave
•Apple Watch
Chuck
•Just Keep Going…
Brian
•Plug Rails Cookies Sessions Store
Fabio
Special Guest: Fabio Akita.
Panel:
Charles Max Wood
Dave Kimura
Eric Berry
Special Guest:
Devon Estes
The 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:
Links:
Picks:
Eric
Dave
Chuck
Devon
Special Guest: Devon Estes.
Panel:
Charles
Dave
Eric
Special Guest:
Marc-André Cournoyer
Ruby 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:
Links:
Picks:
Eric
Dave
Chuck
Marc
Special Guest: Marc-André Cournoyer.
Panel:
Charles
Dave
Eric
Special Guest:
Marc-André Cournoyer
Ruby 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:
Links:
Picks:
Eric
Dave
Chuck
Marc
Special Guest: Marc-André Cournoyer.
Tweet this Episode Matias Korhonen has been writing Rails apps professionally at Kisko Labs, a Rails-focused software consultancy in Finland, for almost a decade. In his spare time he works on too many side projects (including Piranhas.co), a book price comparison site, and TLS.care (an SSL certificate monitoring service). He also somehow manages to find time to homebrew beer.
The Rogues talk to Matias about securing your Rails applications. Rails comes with a lot of security features built in, but you can still leave yourself open to exploitation if you're not careful. Most of these problems occur in the portion of the app your write as opposed to the parts of the app that Rails handles for you. We go over several tools and techniques for making sure your application, access, and data are all secure.
In particular, we dive pretty deep on:
Links:
Picks: Brian:
Eric:
Dave:
Chuck:
Matias:
Special Guest: Matias Korhonen.
Tweet this Episode Allison is a developer in the Washington DC area. She is a non-profit executive turned developer. She helps organize the RubyConf and RailsConf Scholar Program. She organizes a local meetup call Silver Spring Ruby. She works at Collective Idea.
The Rogues talk to Allison about being a mom in coding and work-life balance. They also talk about transitioning from non-profits to coding.
This episode goes into depth on:
Links:
Picks: Eric:
Allison:
Dave
Special Guest: Allison McMillan.
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 introduction Jamie 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 features You 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 involved Writing 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 Started Every 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? Facebook
Node 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 chatbots Tatsu 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 IRC From 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 dblock
slack-ruby-bot by dblock
eventmachine
[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 * github.com/jwright * twitter.com/jwright * brilliantfantastic.com
This is what we put into the chat room after the Dr. Who reference...
Picks Eric
Dave
Chuck
Jamie
Special Guest: Jamie Wright.
Tweet this Episode RR 325 Date Night with Ruby with Ruberto Paulo In this episode, panelists Dave Kimura, Eric Berry, and Charles Max Wood discuss ongoing learning and keeping your passion for programming alive with Ruberto Paulo.
[01:16] Ruberto Paulo introduction and discussion on the South African and worldwide Ruby scene Rubyist from Cape Town, South Africa. Works for a fintech company in Cape Town. He's an organizer of RubyFuza and Ruby DCamp in South Africa.
The Ruby scene in South Africa is growing as is fintech. His company's platform was build by Platform45 and is now maintained by his employer.
Developers are also finding work in the wider world from the Cape Town area.
Is Cape Town a big Rails area? or is there a big focus on other frameworks? It's a mix, but mostly Rails.
Most of the people who live in Kenya spend 1/3 of their income charging their phones. M-pesa is their alternative to banks because they can't afford to have bank accounts. Every business in Africa has to have some kind of technology tie-in because of this.
A lot of the developers in Ruby are Polyglots. They're people who have experimented with several languages in the past. Ruby is probably the highest paid language in South Africa.
Dave Thomas spoke at RubyHACK conference that Elixir is the future. He's using Elixir for pretty much everything now. Elixir presents a viable option to move from for Rubyists.
Several years ago, Ruby was hot. Now it's mature. Many corporations have invested in Ruby, so they're not going to adopt another stack.
Most frameworks can solve most problems, so people only move when you're in the minority case where you need the capabilities of the new language.
A lot of people stick around because they love the language and the community as well.
What does Ruby give us that we want to take with us into the future?
[19:10] Date Night with Ruby Ruberto is speaking at Ruby Dev Summit about Date Night with Ruby.
More show notes in progress
Special Guest: Ruberto Paulo.
RR 324: Developer Horror Stories
The 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 Story
Around 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’ Story
Charles’ 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] Errors
Errors 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 Soon
Eric 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 Requests
Dave 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] Migration
Dave 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.
Picks Dave:
Eric:
Charles:
RR 323: Queuing and Amazon SQS with Kinsey Ann Durham This 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 Durham
Kinsey 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 SQS
Go 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.
Picks Eric:
Dave:
Charles:
Kinsey:
Links for Kinsey * Twitter * Instagram * GitHub
Special Guest: Kinsey Ann Durham.
RR 322: Finding a Great Job This 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 Jobs
Dave 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 Challenges
People 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] Mentors
It 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 Recruiters
They 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] Networking
Get 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] Resumes
Take 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.
Picks Dave:
Charles
Links * Eventual Millionaire * https://www.railsmentors.org/ * getacoderjob.com
RR 321: Visual Studio Code Ruby Plugin with Penn Lv This 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:
Brian:
Eric:
Charles:
Penn:
Special Guest: Penn Lv.
RR 320: Shrine and File Uploads with Janko Mahronic Jerome 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.
RR 319 Machine Learning with Tyler Renelle This 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.
Machine learning is where the computer programs itself to do something. You give the computer a measurement of how it’s doing based on data and it trains itself and learns how to do the task. It is beginning to get a lot of press and become more popular. This is because it is becoming a lot more capable by way of deep learning.
AI – Artificial Intelligence
Machine learning is a sub field of artificial intelligence. AI is an overarching field of the computer simulating intelligence. Machine learning has become less and less a sub field over time and more a majority of AI. Now we can apply machine learning to vision, speech processing, planning, knowledge representation. This is fast taking over AI. People are beginning to consider the terms artificial intelligence and machine learning synonymous.
Self-driving cars are a type of artificial intelligence. The connection between machine learning and self-driving cars is abstract. A fundamental thing in self-driving cars is machine learning. You program the car as to how to fix its mistakes. Another example is facial recognition. The program starts learning about a person’s face over time so it can make an educated guess as to if the person is who they say they are. Once statistics are added then your face can be off by a hair or a hat. Small variations won’t throw it off.
How do we start solving the problems we want to be solved?
Machine learning has been applied since the 1950s to a broad spectrum of problems. Have to have a little bit of domain knowledge and do some research.
Machine Learning Vs Programming
Machine learning is any sort of fuzzy programming situation. Programming is when you do things specifically or statically.
Why should you care to do machine learning?
People should care because this is the next wave of computing. There is a theory that this will displace jobs. Self-driving cars will displace truck drivers, Uber drivers, and taxis. There are things like logo generators already. Machines are generating music, poetry, and website designs. We shouldn’t be afraid that we should keep an eye towards it.
If a robot or computer program or AI were able to write its own code, at what point would it be able to overwrite or basically nullify the three laws of robotics?
Nick Bostrom wrote the book Superintelligence, which had many big names in technology talking about the dangers of AI. Artificial intelligence has been talked about widely because of the possibility of evil killer robots in the Sci-Fi community. There are people who hold very potential concerns, such as job automation.
Consciousness is a huge topic of debate right now on this topic. Is it an emergent property of the human brain? Is what we have with deep learning enough of a representation to achieve consciousness? It is suggested that AI may or may not achieve consciousness. The question is if it is able to achieve consciousness - will we be able to tell there isn’t a person there?
If people want to dive into this where do they go?
Machine Learning Language
The main language used for machine learning is Python. This is not because of the language itself, but because of the tools built on top of it. The main framework is TensorFlow. Python in TensorFlow drops to C and executes code on the GPU for performing matrix algebra, which is essential for deep learning. You can always use C, C++, Java, and R. Data scientists mostly use R, while researchers use C and C++ so they can custom code their matrix algebra themselves.
Picks
Dave:
Charles:
Tyler:
Special Guest: Tyler Renelle.
RR 318 Metaprogramming with Jordan Hudgens
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!
[00:02:00] – Introduction to Jordan Hudgens
Jordan 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] – Metaprogramming
Metaprogramming 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 metaprogramming
The 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 implications
Jordan 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 patching
That’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 developers
Metaprogramming 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 metaprogramming
Jordan 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] – Testing
Follow 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.
Picks
Jerome Hardaway
Dave Kimura
Brian Hogan
Charles Max Wood
Jordan Hudgens
Special Guest: Jordan Hudgens.
RR 317: Computer Science at University and the Future of Programming with Dave Thomas Charles 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.
RR 316 Learning Rails 5 with Mark Locklear On 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 Locklear
Mark 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.
Picks Dave Kimura
Brian Hogan
Jerome Hardaway
Charles Max Wood
Mark Locklear
Special Guest: Mark Locklear.
Offshoring and Latin American Developers - David Hemmat
For 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:34 David 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 Coding 2:32 BlueCoding.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 Hiring 4:17 David 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:18 Freelancers 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:33 Blue 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.
Rates 9:04 Rates 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 Developers 10:47 Most 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:19 Freelancers 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 Offshore 16:08 Most 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:46 Companies 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 Offshoring 24:28 Some 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 Benefits 24:43 Each 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:14 Freelancers 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 Companies 34:02 What 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:30 It’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:22 For Developers Go 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 Companies BlueCoding 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.
Picks Jason Samsungnite Columbian Leather Flat Over The Top Laptop Bag
Brian New MacBook with Touch bar
Charles My Ruby Story Podcasts
Online Summit Format
Ruby Dev Summit
Ruby Rogues Parlay on Slack
David Micro Conf.
Macbook Air
One Minute Manager
Links to Keep up with David His Medium
BlueCoding.com
Email him
Special Guest: David Hemmat.
RR 314 DynamoDB on Rails with Chandan Jhunjhunwal Today'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 Jhunjhunwal
Chanchan 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 Rails
I 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 scalable
In 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.
Picks David Kimura
Jason Swett
Charles Maxwood
Chandan Jhunjhunwal
Special Guest: Chandan Jhunjhunwal.
How to Handle WTF's Today'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.
Collaborate Ask 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 Open
Jerome: Edibit, Extreme Ownership, New Rules
Brian: Elm
Charles: The Vanishing American Adult, Giftology
Episode Links:
Hacker News
How to Handle WTFs
On 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 Flavors Charles 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 Duck David 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 Brian Brain 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 Understand When 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 Debugging
Brian 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 Lifesavers
Dave 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 - Brian
Brian 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 - David David 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 - Charles
Charles’ 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 Test In 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 Error Brain 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 Environment
If 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 Tools Some 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 Tools Brian 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 Heavy Sumo 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 Wrong Charles mentions that in some cases, especially in cases where something you’re using is dated, resources can be limited to get information on a bug you’re having. Brian suggests that when this happens, getting information out of people is a good place to start. Also, when getting information from people, assume that it’s wrong. People tend to have a pretty poor recollection of what happened. You can sometimes take what they say and compare it to the logs to create tests and logically work out how something has happened. Users will sometimes leave out things like accidentally leaving a field blank, or hitting backspace, or something simple. Extracting information from the users to get relevant information is a skill. Sometimes the best way to get information from a user is to just watch them use the application. Sometimes they will use the application in ways unexpected. Approaching the problem with “Let’s fix this together” helps with getting the client to help.
Getting Access with Production Data David mentions that If there is an issue with the production side of things, pulling data down into your own database and your own separate testing environment can keep it safe while debugging. If you’re able to recreate the issue than most likely it’s an application issue, otherwise it’s something to do with the environment like caching.
Safely Percautions of Having Client Data on Your Computer If you’re pulling data down, you should absolutely have your devices encrypted. There is no reason not to. Also when pulling data down, you can create a mirror of the data dump. There are systems that dump data that will also obfuscates or remove particular information including personal information like emails.
Troubleshooting ActionCable: Step 1 - Cry in a Corner David tells how he was troubleshooting an Actioncable issue and his first step was to cry in a corner for 5 minutes. Afterwards he used Chrome Dev tools to trace back the code’s method where it was getting declared. Sometimes if an application is complicated it can be running many moving parts and be difficult. When debugging something complicated start at the browser level. Check for connection then try pushing a message in the console. If you get it then you’re connecting but not broadcasting. If you have a complicated subscription model for authorizing a channel, it can be even harder, again start with checking to see if it’s connecting.
tail -f | grep ‘exception’
Charles remembers a simple way to watch for issues while debugging. A simple use of tail -f | grep ‘exception’ tails the logs and shows only the exceptions. You can use this along with Put debugging by putting the word in all your puts.
Picks Brian Learningmusic.abelton.com
David RailsPanel
His new 5 foot long 12 plug power strip
Charles Microsoft Build
.Net Rocks Podcast
Ketogenic Diet & Livin’ La Vita Low Carb
Rubydevsummit.com
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.
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.
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 .
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!
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.
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.
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!
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.
On today's episode, Brian Hogan, David Kimura, and Charles Max Wood discussSQL 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.
On today's episode, Brian Hogan, David Kimura, and Charles Max Wood discussweb 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.
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.
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.
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.
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.
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!
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.
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.
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.
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.
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 education
20:00 - Learning how to find a job and have a career
27:20 - The responsibility of code schools on helping you find a job
30:55 - Job searches for the programmer
32:30 - Picking the right bootcamp
35:50 - Placement as a junior dev
45:30 - Finding the time
52:40 - Deciding if bootcamp is right for you
Picks: 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
Build a Ruby Gem 25% off for Ruby Rogues’ listeners!
3:55 - Building gems and the community
8:30 - Brandon’s process for creating gems (for beginners)
14:45 - Testing gems
17:00 - Writing the whole system into a gem vs breaking it up
26:15 - Why build Suckerpunch?
33:50 - What does it take to publish a gem?
35:45 - “Gotchas” to publishing a gem
40:00 - Releasing gems that the community doesn’t need
Picks:
ThinkGeek (Jerome)
Facebook Lookalike Audiences (Charles)
Mastermind groups (Charles)
Think and Grow Rich by Dr. Napoleon Hill (Charles)
Bark app (Brandon)
People socks (Brandon)
The Food Lab by J. Kenji Lopez-Alt (Brandon)
Special Guest: Brandon Hilkert.
00:45 - What deployments have we used?
3:22 - Heroku
5:10 - Dev/prod parity
10:30 - Deployment stories
11:50 - Continuous deployment
15:55 - Working with clients that are anti-testing and writing tests
28:50 - Server setup
34:05 - Nginx and Passenger
39:35 - Handling caching issues and increasing server space
44:25 - Methods for deploying
46:30 - Team size and deployment
49:40 - Monitoring tools
Picks: 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 Rappin
RR 150 with Joe Kutner
Echo 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 audience
8:00 - Challenges with teaching
11:30 - Writing Head First Ruby
12:50 - Doing research
15:20 - Reader feedback
16:05 - Hangups when learning Ruby
20:45 - Searching for error messages
23:20 - Early days of programming
24:20 - Jay’s switch from Pearl to Ruby
30:50 - Building a thorough education with Ruby
39:05 - The rate of Ruby change
48:30 - Different languages and coding standards
Picks: 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 it
6:25 - Working with clients with technical debt
12:20 - Frequently seen projects and clients
14:45 - Upgrading clients from older versions of Rails
22:50 - Why do clients push off upgrading?
28:10 - How do you know when it’s time to upgrade?
34:35 - Finding the right clients
37:50 - Avoiding technical debt
40:30 - Upgrading Rails yourself
Picks: Suture Gem (Ben)
Debride Gem (Ben)
JRuby Truffle Project by Oracle (Josh)
ThinkPads (Josh)
Honeybadger IO (Josh)
“A Rubyist’s Guide to Big-O Notation” blog post (Josh)
Eat That Frog!: 21 Great Ways to Stop Procrastinating and Get More Done in Less Time by Brian Tracey (Brian)
Codefights (Brian)
Basics of Mechanical Engineering by Paul D. Ronney (Jason)
The Demon-haunted World by Carl Sagan (Jason)
Special Guests: Ben Wood and Joshua Wood.
00:40 - Introducing Cameron Dutro
2:15 - What is the Asset Pipeline?
5:35 - Problems and limitations of the Asset Pipeline
8:10 - Cameron’s biggest frustration with the Asset Pipeline
14:45 - Doing it the Rails way, the Angular way, or the React way
20:25 - Keeping your Webpack and Asset Pipeline separate: Working with Javascript and Rails
31:45 - Creating your own preprocessor for putting a file format into the pipeline
36:15 - Other issues with the Asset Pipeline
40:00 - Causes behind problems with the Asset Pipeline
42:05 - Hygiene of packages
43:40 - Incorporating plugins into the pipeline
45:30 - Resources for learning more
Picks: Drawing on the Right Side of the Brain by Betty Edwards (Jason)
Philosophize This! Podcast (Jason)
Typora (Brian)
Facer.io (Brian)
Eventual Millionaire Podcast by Jamie Masters (Charles)
Toggl time tracking software (Charles)
Being nice to each other (Charles)
Ruby Together (Cameron)
Lumosity (Cameron)
Seattle Seahawks (Cameron)
Special Guest: Cameron Dutro .
00:35 - Introducing Sam Joseph
2:15 - All about Agile Ventures
6:25 - Social innovations
9:30 - Common needs of charity organizations
15:15 - Origins and growth of Agile Ventures
19:19 - Website One
22:00 - Goals for the future of Agile Ventures
24:40 - Getting involved
29:00 - Finding motivated team members and using MOOC
32:40 - Connecting with your team and building up confidence
37:40 - Direct Messaging
42:10 - Fear of asking questions on Stack Overflow
52:17 - Scaling Agile Ventures
56:15 - Predictions for the future
Picks:
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 career
9:10 - Sharing your knowledge without being an expert
11:30 - Is Ruby still exciting? Should you learn a new language?
18:50 - Using a different language and returning to Ruby
22:30 - Learning Crystal
24:20 - Building a new project and choosing a technology
32:20 - Retiring from Ruby Conf Brazil
Picks:
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 - Redux
07:40 - Using React on parts of an app and not the whole
11:05 - Jsx, Webpack, and Hot Module Reloading
16:05 - Integrating React with Ruby on Rails
19:55 - Libraries
25:05 - Is React on Rails automatic?
28:30 - Server rendering
30:55 - Gaps between server rendering and page loading
34:00 - Decision trees: Angular or React
35:40 - Why choose React?
38:15 - Choosing a front-end framework
39:55 - Using React and Rails for production-level projects
43:00 - ShakaCode and Coaching
Picks:
The Autobiography of Benjamin Franklin by Benjamin Franklin (Jason)
The Lost Art of Finding Our Way by John Edward Huth (Jason)
Hacking: The Art of Exploitation by Jon Erikson (Jerome)
How to Build a Billion Dollar App by George Berkowski (Jerome)
Ghost in the Wires by Kevin Mitnick (Charles)
School breaks (Charles)
Boy Scouts of America (Charles)
Friends and Guests (Justin)
Play Bigger: How Pirates, Dreamers, and Innovators Create and Dominate Markets
(Justin)
Mast.ly (Justin)
The Paleo Blueprint by Mark Sisson (Justin)
Justin Gordon’s Twitter (Justin)
Dave Asprey’s podcast, Bulletproof Executive Radio (Justin)
The Tim Ferriss Show podcast (Justin)
Dr.Boolean’s Mostly Adequate Guide to Functional Programming (Rob)
Jafar Husain’s tutorials (Rob)
Tesseract - Of Matter (Rob)
Special Guests: Justin Gordon and Rob Wise.
00:25 - Why Ruby is still relevant
06:30 - How we got started with Ruby
08:20 - Why are people saying Ruby is dying?
13:00 - The Ruby community
15:00 - Debating the “waste of time” argument
20:05 - Learning other languages
23:50 - The “pie”
27:05 - Revitalizing Ruby
38:15 - Advice for the worrier
Picks:
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)
00:42 - Introducing Jason Swett
2:20 - Angular or Rails?
4:40 - Real-time data modeling
9:00 - Angular CLI
11:15 - Structuring Angular and Rails apps
16:50 - Should beginners learn Angular or Rails first?
19:50 - Building apps and tying Angular and Rails together
25:00 - Angular on Rails feedback
28:00 - What’s the hardest part of integrating Angular and Rails?
31:00 - Why invest in Angular when it evolves so fast?
33:35 - Why did Jason write his book?
37:50 - How to get the most out of the book
42:40 - Panelist Jerome Hardaway
Picks: Tour of Heroes Tutorial (Jerome)
General Assembly (Jerome)
DreamForce (Jerome)
Adventures in Angular Podcast (Charles and Jason)
Angular Remote Conf videos (Charles)
NgBook (Jason)
How to Win Friends and Influence People by Dale Carnegie (Jason)
The 7 Habits of Highly Successful People by Stephen Covey (Jason)
Special Guest: Jason Swett.
00:30 - Introducing Noel Rappin
1:00 - Paid gateways for apps
6:05 - Why write Take My Money?
8:45 - Getting tripped up on simple arithmetic
11:55 - Troubleshooting gateway system failures
21:45 - Managing administrative roles
25:55 - Reporting
29:00 - Techniques for testing your system
33:25 - Overarching themes in Take My Money
Picks: The Fifth Season and The Obelisk Gate by N.K. Jemisin (Noel)
Flash Forward podcast by Rose Eveleth (Noel)
Police officers (Charles)
Webinar Jam (Charles)
Special Guest: Noel Rappin.
1:00 - Addressing the Ruby Rogues rumors
3:10 - History of the show
6:30 - Why Charles Max Wood does the podcast
10:40 - Listener emails
13:50 - Moving forward with Ruby Rogues
18:30 - Answering questions from the chat
00:45 - Introducing Jerome Hardaway and Vets Who Code
3:40 - All about Vets Who Code
8:00 - Special considerations for the Veteran community
13:10 - Coding and social/life skills
21:45 - Veteran lingo and coding
26:45 - Transitioning into the civilian workplace
30:50 - Vets Who Code gender breakdown
35:20 - Connecting with Vets in the tech world
41:40 - Expanding Vets Who Code
46:25 - Common jobs for Veterans in tech
50:40 - Vets Who Code success stories
55:00 - Supporting Vets Who Code
Picks: Scala Parser Combinators (Jessica)
Boil the Frog (Coraline)
Apple picking (Saron)
Markings notebook (Saron)
RubyConf trailer (Saron)
Jerome’s episode on CodeNewbie (Saron)
Hot sauce recipe: One tablespoon of Cayenne pepper, one tablespoon of ranch dressing, and one tablespoon of sugar (David)
Balanced Rebellion (Charles)
Ruby Remote Conf (Charles)
Tech Inclusion Conference in San Francisco (Jerome)
SprezzaBox (Jerome)
NootroBox and NootroBox Sprint (Jerome)
Special Guest: Jerome Hardaway.
0:45 - Introducing Carina C. Zona
2:10 - Coding consequences
6:00 - Examples of consequences
10:50 - Data quality theories
14:05 - Preventable Mistakes and Algorithmic Transparency
17:30 - Predictive Policing and Biased Data
22:07 - Coder Responsibility
31:35 - Algorithm triggers
37:20 - Fixing a mistake
40:15 - Trusting humans versus trusting machines
44:30 - Considering social consequences
47:30 - Confronting the uncomfortable
50:30 - Fitbit Example
Picks: 99 Bottles by Sandi Metz (David)
Vivaldi Browser (Saron)
Magnetic Sticky Notes (Saron)
Oregon Shakespeare Festival (Sam)
Ruby Remote Conf Recordings (Charles)
Rails Remote Conf (Charles)
Webinars (Charles)
Books by Howard Zinn (Corina)
On Food and Cooking by Harold McGee
Special Guest: Carina C Zona.
00:30 Introducing Andy Hunt * Website * Twitter * The Pragmatic Bookshelf * GROWS Method
5:25 - GROWS Method
13:20 - How GROWS solves Agile’s shortcomings
19:50 - GROWS for executives
22:50 - Marketing
25:30 - GROWS and laying framework for change
29:00 - How empirical is GROWS?
33:35 - How expectations from the Agile Manifesto have changed
36:10 - Prescribing practices that work
40:00 - Getting feedback
42:40 - Human limitations
46:00 - Meaning behind GROWS name
50:05 - Knowing when to scale up
53:00 - Agile Fluency
57:30 - The future of GROWS
Picks: Going camping in your front yard (Jessica)
California Academy of Sciences in San Francisco (Sam)
Exploratorium in San Francisco (Sam)
Shoe Dog by Phil Knight (Saron)
Espresso Pillows (Saron)
“It’s Darkest Before Dawn” DjangoCon 2016 talk by Timothy Allen (Saron)
Ruby Book Club Podcast (Saron)
Investing in yourself (Andy)
Special Guest: Andy Hunt.
1:15 - Introducing Kenzi Connor
4:15 - Senior developer vs Junior developer: Sustainability and hiring
8:25 - Examining the “senior-obsessed field”
10:00 - Importance of sustainability
12:35 - Lottery-ticket thinking
13:35 - Solutions to the junior vs senior dilemma
21:10 - Diversity and productivity
23:50 - Effective management strategies
31:00 - Strategies for going from a high-conformity company to a more diverse company
36:05 - Why junior developers leave your company
Picks: Mandy Moore (Sam)
Seven Wonders of a Once and Future World by Caroline Yoachim (Jessica)
Foreign exchange students (Charles)
Octavia Butler (Kenzi)
Black Girls Code (Kenzi)
Special Guest: Kenzi Connor.
Rails Remote Conference 1:20 - Introducing James Shore
1:40 - Freelancing and Consulting
5:20- Co-opting Agile and the movement away from technology/software
16:20- Evolutionary Design in Agile
24:15 - Evolutionary Design for Beginners
32:30 - Technical Practices and Agile Architecture
39:10 - Engineering on a Team Level
52:10 - Redesigning Team Responsibilities
Picks
Sandi Metz “The Wrong Abstraction” blog post (Sam)
Why Are Computers podcast by Tom Stewart (Sam)
Netstat (Jess)
Wood Badge (Charles)
Remember the Titans (Charles)
Rick Sheridan’s Agile India talk (James)
Liftoff by Diana Larsen and Ainsley Nies (James)
Special Guest: James Shore.
Rails Remote Conference 1:25 Introducing Josh Doody
Fearless Salary Negotiation by Josh Doody
Take his (free!) crash course in getting promotions
2:50 - Making salary negotiations when you’re your own boss
4:22 - Asking an employer to “give where it hurts”
6:20- Minimum Acceptable Salary / B.A.T. N. A.
10:45 - Leaving a new job for a better offer
13:47 - Job happiness versus job salary
15:55 - Contracting
18:55 - Renegotiating and peace of mind
21:00 - Researching the company
28:00 - Answering salary-based interview questions
33:20- Negotiating for a job you really want
35:00 - Common fears to negotiating
42:10 - Countering an offer (in writing)
48:55 - Negotiating with benefits and vacation
51:50 - Scripting a conversation
55:05 - Bantering with an employer
1:03:00 - Salaries higher than market value
1:06:00 - Negotiating with no work experience
Picks: Negotiating Your Salary: How To Make $1000 a Minute by Jack Chapman (Dave)
Jack Chapman’s salary negotiation video series: (Dave)
Part 1 Part 2 Part 3 Part 4 Part 5
Hunter x Hunter (Dave)
Negotiate with Chad (Jessica)
Pokemon Go (Jessica)
Wood Badge (Charles)
Boy Scouts of America (Charles)
Tifie Scout Camp (Charles)
Penn & Teller: Fool Us Madhi Gilbert (Josh)
Seveneves by Neal Stephens (Josh)
Mystery Show podcast, “Case #3 Belt Buckle” (Josh)
Special Guest: Josh Doody.
01:11 - Aurynn Shaw Introduction
01:56 - Contempt Culture
07:32 - “But PHP is objectively bad….”; True Objectivity
10:35 - The History of The Contempt Culture in Tech Spaces
12:40 - Reinventing Tools
15:00 - “Intent is not magic.”
20:09 - Contempt Culture in the Ruby Community Towards PHP
21:56 - Why Contempt Culture Forms
29:08 - DevOps and the Disruption of Culture
32:34 - Open Source vs Free Software
36:33 - Cultural Implications/Ramifications Around Open Source
41:32 - Service Culture
Picks
Special Guest: Aurynn Shaw.
01:42 - Amir Rajan
02:24 - A Dark Room (ADR); Revenue and Downloads
09:16 - Quality, Heart and Soul, and Putting Yourself Into a Product
14:31 - Choosing RubyMotion
17:43 - Objective-C vs Ruby
21:51 - Cross-platform Availability
23:53 - ADR => Watch/TV Capability with RubyMotion
26:17 - The Ecosystem in iOS and RubyMotion
28:11 - Code Structure
29:58 - Testing; UI Automation
31:29 - Open Source and Proprietary
33:15 - Other Components
34:07 - Going on a Sabbatical
40:58 - .NET => Ruby
Picks
Special Guest: Amir Rajan.
Rails Remote Conf 01:14 - Justin Weiss Introduction
02:15 - “Learning Rails Without Getting Overwhelmed”?
02:34 - Problems New Developers Don’t Realize They Have
04:35 - Learning New Things
08:05 - What is a success?
09:02 - What can senior devs do? What shouldn’t they do?
15:43 - Are there still “Architects”?
20:45 - The Existential Crisis of Software Development
22:26 - The Responsibility of the Students
26:08 - How can new developers obtain objective evidence of their blind spots?
33:49 - Early Career Developers Working Together
37:03 - Learning Practices
Picks
Special Guest: Justin Weiss.
All Remote Conferences 02:01 - Lauren Voswinkel Introduction
02:39 - May 1st: International Workers’ Day
06:11 - #talkpay
10:22 - Fair Trade of Value; Companies and Salaries
19:37 - Salary Maximization and Negotiations
22:40 - Executive Salaries
25:58 - Hashtag Effectiveness
29:05 - Implications of Salary Reveals
32:08 - The Labor Management Relations Act of 1947 (Cont’d)
Salary Sharing Between Employees
35:41 - Sharing Salary Information Publicly and Impostor Syndrome
37:38 - Job Elimination
42:40 - Is/has #talkpay been successful?
More Information
Picks
Special Guest: Lauren Voswinkel.
Rails Remote Conf 02:07 - Testing
07:28 - Adding Tests Later; When is the test useful?
14:35 - Testing the Happy Path
16:48 - Writing Tests First
18:53 - Sharing Code
27:34 - Testing Error Messages
29:04 - External vs Mocking/Stubbing
34:11 - Exploratory Tests and Characterization Tests
39:07 - Refactoring
47:22 - Mocking and Stubbing (Cont’d)
Picks
Check out Angular Remote Conf and React Remote Conf 01:55 - Jamis Buck Introduction
02:57 - Mazes
08:01 - Programing can be fun?! Play
11:49 - Historical and Traditional vs Technical Mazes
13:51 - Jamis’ Backstory with Mazes; Algorithms
21:14 - Discovering Algorithms
28:01 - Varying Algorithms
36:38 - Writing a Book
39:16 - Text App for Generating Mazes
Picks
Special Guest: Jamis Buck.
02:39 - Cameron Dutro Introduction
02:39 - Internationalization vs Localization
05:28 - How important is internationalization?
13:54 - Internationalization and Accessibility
Developer Ignorance/Indifference
19:43 - Tools
24:48 - How can small companies internationalize?
26:22 - Crowdsourcing
30:34 - People Have Names
34:54 - Gender
39:35 - Educational Resources
47:14 - Unicode
Picks
Special Guest: Cameron Dutro .
Check out Newbie Remote Conf! 03:09 - Kronda Adair Introduction
03:11 - WordPress
07:59 - Why do developers hate WordPress?
14:53 - Using Tools That Fit Technology Preferences
21:52 - Empathy and Discovery Processes for Clients
31:38 - Conversations with Customers vs Owners/Managers
34:43 - Websites That Work | Indiegogo
36:48 - Kronda’s Origin Story
Picks
Special Guest: Kronda Adair.
02:33 - Frank McSherry Introduction
03:06 - Computation
03:48 - When are more computers needed?
04:28 - Scalability! But at what COST?
08:03 - Data Format and Pipelines
14:06 - Code That Could Grow
20:38 - Languages and Performance
23:14 - “For Loops Unrolled”
28:01 - Scaling
35:42 - Functional vs Procedural Language
37:47 - Dataflow (Timely; Differential)
Picks
Special Guest: Frank McSherry.
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 Navigating
24:42 - Perspectives and Mapping
41:04 - Ruby Central's Opportunity Scholarship Program
Picks
See Also
Special Guest: Nadia Odunayo.
Check out Ruby Remote Conf! 02:39 - Tom Stuart Introduction
03:17 - “Computer Scientist”; Computer Science
04:17 - Static Typing, Type Systems
18:44 - The Direction, Adoption Curve, and Use of Ruby
33:36 - Multicore Growth and Concurrency => What programming language should I learn?
Picks
Special Guest: Tom Stuart.
Check out Ruby Remote Conf! 02:12 - Ra’Shaun “Snuggs” Stovall Introduction
02:29 - Noel Sagaille Introduction
02:56 - The Pomodoro Technique
04:43 - Community and Community Leaders
19:11 - Values
26:02 - Mentorship
Picks
Special Guests: Noel Sagaille and Ra’Shaun “Snuggs” Stovall .
Check out our speaker list and sign up for Ruby Remote Conf! 01:53 - Kerri Miller Introduction
02:12 - Networking Without Networking
04:22 - Social Currency
06:35 - Creating Opportunities to Connect
22:38 - New Programmers as Speakers
24:17 - Connecting After Talks
25:29 - Merging the Speakers and Attendees
30:13 - Users Groups
35:01 - Livestreaming; Pairing Sharing
37:03 - Connecting with People at Specific Companies
47:27 - The Opportunity Scholarship Program
Picks
Special Guest: Kerri Miller.
Want to be a Ruby Rogue? Apply at https://rubyrogues.com/ruby-nuby 01:47 - Reuven Lerner Introduction
03:49 - Training
07:54 - Approaching Teaching
09:33 - Pairing People Up
10:57 - Example: Reuven’s Training Sessions
19:59 - Moving Up The Ladder
24:06 - Company Goals
25:56 - Hostile Learners
28:00 - Breaking Into the Big Company Market
35:03 - Offerings
37:53 - Cultural Differences
Picks
Special Guest: Reuven Lerner.
01:59 - Jay Bobo Introduction
04:20 - Pair Columbus
07:28 - Meeting Formats
11:21 - Organization
14:57 - Attendee Experience Levels
15:56 - Matching People
18:04 - “Three Amigos”
19:33 - Pair Programming and Communication/Chemistry
31:50 - Dealing with Difficulties During Pair Programming
34:50 - Useful Strategies For Pairing Related to Hiring
54:14 - More Episodes on Pair Programming
Picks
Jarvis Desk (Sam)
What Do Women Want At Hackathons? NASA Has A List (Sam)
Dan North - Embracing uncertainty: why you should and why you won’t (Jessica)
Common Ground and Coordination in Joint Activity (Jessica)
Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman (Jay)
Zach Holman: How to Deploy Software (Jay)
Patricio Gonzalez Vivo: The Book of Shaders (Jay)
Black Mamba Hot Sauce by CaJohn's (David)
Special Guest: Jay Bobo of Pair Columbus.
01:37 - Greg Baugues Introduction
02:51 - Twilio
05:27 - Two-factor Authentication
13:42 - Implementing Security; Why Security is Important and Essential
27:26 - Twilio Use Cases
34:16 - IP Messaging
38:02 - TwiML
Burner
42:46 - Using Twilio to Enhance Business
48:50 - Twilio’s Tech Stack
50:19 - Opt-outs and Phone Number Validation
52:45 - Lookup
55:46 - Developer Evangelism
Goodbye, Avdi. We will miss you <3
Avdi's Newsletter
Who wants to be the next Ruby Rogue? Submit your video.
Picks
The CHECKS Pattern Language of Information Integrity (Avdi)
Delegation (Avdi)
CaJohns Ignite Hot Sauce (David)
beach house (Coraline)
CocoRosie (Coraline)
The Misters of Circe (Sam)
DesktopServer (Chuck)
Advanced Custom Fields (Chuck)
Convert Post Types (Chuck)
Gravity Forms (Chuck)
MemberPress (Chuck)
SIGNAL Conference (Greg)
Special Guest: Greg Baugues.
01:29 - Neil Brown Introduction
02:32 - Where do new people get stuck?
07:21 - Targeting Particular Age Groups
13:46 - Becoming Professional Programmers
15:33 - Apprenticing
17:20 - Teaching Theory and Algorithms vs Practical Aspects
20:42 - Value and Negotiating Raises
24:06 - Preparing Students for Business Challenges
25:39 - What is the first thing students should learn?
28:46 - Using Games
30:45 - Using Music
31:48 - Hypotheses Testing
34:08 - Tools
38:23 - "Frame-Based Editing"
40:21 - Beyond Beginners
41: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 Elitism
47:57 - Making Programming Easier to Learn
51:20 - Team Structures in Academia vs Industry
Picks
git-standup (Coraline)
Craft Conference (Jessica)
UtahJS (Chuck)
Zoom H6 (Chuck)
Ian Leslie: The Sugar Conspiracy (Coraline)
The sugar conspiracy (Neil)
Treasure Islands: Tax Havens and the Men Who Stole the World by Nicholas Shaxson (Neil)
Special Guest: Neil Brown.
01:42 - Michael DiBernardo Introduction
02:27 - The Architecture of Open Source Applications Series
08:24 - Demonstrating Concepts in 500 Lines of Code
12:24 - Why Open Source?
14:20 - Lessons Learned
19:05 - Communication Issues
22:41 - Reuse
28:52 - What should people gain from the book?
34:12 - How to Read a Book Like This (Retention)
37:48 - Soft Skills
Picks
Udi Dahan: The Fallacy Of ReUse (David)
Dan Luu: Normalization of deviance in software: how broken practices become standard (David)
A Mind of Its Own: How Your Brain Distorts and Deceives by Cordelia Fine (Avdi)
HolloLens Demo (Chuck)
Build a Raspberry Pi-Powered DIY Amazon Echo (Chuck)
How Buildings Learn: What Happens After They're Built by Stewart Brand (Michael)
How Learning Works: Seven Research-Based Principles for Smart Teaching (Michael)
Writing Excuses (Michael)
Special Guest: Michael DiBernardo.
01:59 - Greg Wilson Introduction
02:37 - What’s Missing?
05:48 - Disconnect Between Computer Scientists and Software Developers
09:09 - How necessary are books?
15:18 - Being Part of a Process vs Starting a Process
17:01 - Software Tools; Spreadsheets
28:45 - Language, Vocabulary, and Theory and The Software Craftsmanship Movement
33:41 - Reinventing the Wheel
36:24 - Crowdsourcing
Picks
Software Tools by Brian W. Kernighan and P. J. Plauger (Greg)
Scratch (Greg)
Techies (Greg)
HTML element standards (Jessica)
Feerless (Coraline)
Félienne Hermans (Avdi)
moonconf (Jessica)
Special Guest: Greg Wilson.
02:25 - Julia Evans Introduction
02:52 - Derrick Reimer Introduction
05:25 - SaaS Apps vs Other Web Development Projects
06:18 - Scaling
08:44 - Gathering Feedback
12:01 - How has underlying technology helped and gotten in the way?
15:18 - Choosing Boring Technology
20:49 - Scaling (Cont’d)
29:07 - Strategies to Keep the Application Manageable
31:41 - What makes technology boring and safe to use? Evaluating Technologies
35:43 - Building Something Useful vs Building Something for Entertainment
40:13 - Prioritization
Picks
writegif (Derrick)
RuboCop (Derrick)
htop (Jessica)
Java Concurrency in Practice (Julia)
HOW TO PRONOUNCE GIF! (David)
Teaching a local Ruby class (Avdi)
Special Guests: Derrick Reimer and Julia Evans.
01:57 - Chris McCord Introduction
02:09 - The Phoenix Framework
02:46 - Ruby vs Elixir
12:12 - Phoenix as a Framework; Similarity to Rails
15:38 - ecto
16:45 - Performance
18:06 - Generating a Phoenix Project
20:44 - Getting Started with Phoenix; Creating and Maintaining
25:29 - Guidance and Decision Making
30:22 - Phoenix and JavaScript; Build Tools
37:22 - Phoenix and Elm
38:45 - Maintainability
41:52 - Hosting Phoenix
42:48 - Object-Oriented vs Functional
50:29 - Debugging; Tooling
01:01:08 - Phoenix Presence
Picks
Radical Candor — The Surprising Secret to Being a Good Boss | First Round Review (Jessica)
Flex ('Mancer) by Ferrett Steinmetz (Jessica)
The Teaching Company: How to Listen to and Understand Great Music (Jessica)
Programming Phoenix: Productive |> Reliable |> Fast by Chris McCord, Bruce Tate, and José Valim (Chris)
Jose Valim: Phoenix a web framework for the new web @ Lambda Days 2016 (Chris)
The 4-Hour Workweek: Escape 9-5, Live Anywhere, and Join the New Rich by Timothy Ferriss (Avdi)
Efficient State-based CRDTs by Delta-Mutation (Chris)
Special Guest: Chris McCord.
02:07 - Pete Hodgson Introduction
03:13 - Feature Toggles, Flags, Bits, Etc.
06:17 - Merge Hell
08:10 - Branches
08:59 - Why not constantly rebase?
10:48 - Why use feature toggles?
12:29 - Making Code Configurable
16:37 - Approaching Feature Toggles
20:04 - A/B Testing
25:11 - Approaching Feature Toggles (Cont’d)
34:37 - Implications for Testing
36:12 - Toggle Interaction; Nesting of Features
37:28 - Introducing Features Toggles to Teams
40:43 - Managing Code Reviews with No Feature Branches
Picks
Cryptic Ruby Global Variables and Their Meanings (Coraline)
RailsBridge Installfest (Coraline)
Concourse (Pete)
Architectural Decision Records (Pete)
Pete Hodgson: The Ultimate Traveler's Coffee Kit (Pete)
Deschutes Red Chair NWPA (Pete)
Special Guest: Pete Hodgson .
02:04 - Mindaugas Mozūras Introduction
02:36 - Automating Code Reviews
03: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 rubocop
08:26 - Workflow
10:14 - Runners
11:42 - Feedback
13:21 - Use Cases for Pronto
14:28 - How has pronto changed your codebase?
15:34 - Feelings and Code Reviews; Agreeing on Standards as a Team
17:38 - Return Values
19:43 - Reviewing Pull Requests and Code Review Ethics
25:56 - Feature Flags
27:21 - Managing Open Source Projects and Communities
30:37 - What’s next for pronto?
Picks
Manic Panic Hair Dye (Jessica)
Kenneth Reitz: MentalHealthError: an exception occurred. (Jessica)
Frinkiac (Coraline)
Erik Trautman: Why Learning to Code is So Damn Hard (Coraline)
AppSumo (Chuck)
AddThis (Chuck)
CircleCI (Chuck)
Freelance Remote Conf (Chuck)
Ruby Remote Conf (Chuck)
RescueTime (Mindaugas)
Dan McKinley: Choose Boring Technology (Mindaugas)
Brandon Sanderson (Mindaugas)
Special Guest: Mindaugas Mozūras.
02:00 - Gilad Bracha Introduction
09:17 - Programming Language Evolution and Design
10:47 - Capabilities and Language Features
12:46 - Actors
16:41 - Live Programming
19:07 - Smalltalk
29:01 - Designing a Language
38:59 - Complexity
42:41 - Newspeak (Con’t)
45:58 - Smalltalk or Newspeak?
48:13 - How are programming languages like shrubberies
Picks
Stroopwafels (Chuck)
Staked: The Iron Druid Chronicles by Kevin Hearne (Chuck)
Calamity (The Reckoners) by Brandon Sanderson (Chuck)
Katrina Owen: Here be Dragons (Jessica)
The Slow Party Parrot Emoji (Jessica)
Umberto Eco (Gilad)
Special Guest: Gilad Bracha.
02: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 Security
25:13 - Notifications and Alerts
31:24 - Fixing/Not Fixing Things; Feedback
42: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 Problems
58:08 - Having Routines and Setting Aside Time
Picks
octohatrack (Coraline)
Einstein's Relativity and the Quantum Revolution: Modern Physics for Non-Scientists (Avdi)
Real-World Relativity: The GPS Navigation System (Jessica)
Katrina Owen: Here Be Dragons (Jessica)
random tweet (Dan)
Profiling a warehouse-scale computer (Dan)
Special Guest: Dan Luu.
01:49 - Erik Michaels-Ober Introduction
02:07 - The Crystal Programming Language and Statically Typed Programming Languages
06:54 - Type Inference
15:06 - Crystal vs Rust or Go
20:10 - Linting
20:44 - Type Annotations and Perimeters
22:53 - The History of Crystal and its Development as a Language
24:41 - Annotation and Return Value
25:35 - Type Inferencing (Cont’d)
28:24 - Crystal REPL (ICR)
32:15 - Getting Involved with Crystal and the Development of the Language
40:08 - Threading and Concurrency
44:28 - Crystalshards
49:30 - Use Cases and Benchmarks
01:03:15 - Compile Errors
More on Crystal
Picks
Easy Bash Prompt Generator (Jessica)
Logitech Wireless Headset Dual H820e Double-Ear Stereo Business Headset (David)
Ruby Rogues Episode #127: Erik Michaels-Ober (Erik)
fish shell (Erik)
Rails Girls Summer of Code (Erik)
RescueTime (Avdi)
The 7 Habits of Highly Effective People: Powerful Lessons in Personal Change by Stephen R. Covey (Avdi)
Whiplash White IPA (Avdi)
Special Guest: Erik Michaels-Ober.
02:02 - Ray Hightower Introduction
03:22 - Parallella
05:39 - Web Developers and The Hardware World
12:38 - Does a hardware background inform software?
18:42 - Learning and Playing
22:22 - Concurrency and Parallelism
32:48 - Getting Started with Parallella
41:02 - Use Cases
42:38 - IoT (Internet of Things)
Picks
Refactoring Ruby with Monads (Coraline)
Ruby Rogues Episode #120: Book Club: Understanding Computation with Tom Stuart (Chuck)
Learning to play the piano (Jessica)
Mogo Portable Seat (Chuck)
Rob Pike: Concurrency Is Not Parallelism (Ray)
Designing and Building Parallel Programs by Ian Foster (Ray)
Special Guest: Ray Hightower.
02:00 - Introduction
02:23 - Clearwater
03:51 - How an App is Typically Structured
05:39 - Persistence and Wiring Up to the Backend
06:49 - Why Clearwater Was Created
08:26 - How does it compare to prevalent JavaScript frameworks?
11:23 - What problem is Clearwater aiming to solve?
14:30 - Debugging
16:39 - Use Cases
20:33 - The Future of Clearwater
21:59 - Maintaining Clearwater
24:39 - What is success?
25:23 - Using Clearwater with a System Like Volt
Picks
Contributor Covenant (Coraline)
Kaleidoscope (Coraline)
LEGO Ideas - Lovelace & Babbage (Coraline)
Freelance Remote Conf (Chuck)
Ruby Remote Conf (Chuck)
RushMyPassport (Chuck)
Primula Cold Brew Glass Carafe Iced Coffee Maker (Jamie)
JRuby (Jamie)
Special Guest: Jamie Gaskins.
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.
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.
Special Guest: Ara T. Howard.
02:36 - Software Development and Reality Construction by Christiane Floyd
05:42 - Peter Naur: Programming as Theory Building
07:55 - The Art of Empathy: A Complete Guide to Life's Most Essential Skill by Karla McLaren
13:14 - Programming Elixir: Functional |> Concurrent |> Pragmatic |> Fun by Dave Thomas
14:32 - ng-book 2
16:09 - Paper Reading Group
19:58 - Mindset: The New Psychology of Success by Carol Dweck
20:29 - Cracking the Coding Interview, 6th Edition: 189 Programming Questions and Solutions by Gayle Laakmann McDowell
22:01 - Ruby Rogues Book Club Books Episodes
22:43 - Books to Learn When You’re Learning to Become a Software Developer
33:07 - Technical Programming Books
41:17 - Pramming and Business Books
Picks
Mark Manson: The Most Important Question of Your Life (Jessica)
Dan Luu: Normalization of Deviance in Software: How Completely Messed Up Practices Become Normal (Coraline)
The Noun Project (Avdi)
Lies My Teacher Told Me: Everything Your American History Textbook Got Wrong by James W. Loewen (Avdi)
CES (Chuck)
Bill Buxton: Avoiding the Big Crash (Jessica)
02:34 - Mike Gehard Introduction
03:23 - Monoliths
04:18 - Microservices
09:47 - Migrating a Monolith to Microservices Via an Evolutionary Path
15:21 - The Steps Along the Continuum
19:25 - Bounded Context
21:52 - Evolution
30:40 - Dependency on the Database
35:15 - Testing
51:16 - Deployment
52:47 - Security
55:15 - Advice for those getting started
01:04:09 - Fault Tolerance
Picks
LOWA Boots (Avdi)
Pearl’s Peril (David)
He Never Died (David)
httplog (Coraline)
Toxic Workers by Michael Housman and Dylan Minor (Coraline)
The Unbeatable Squirrel Girl Vol. 1 by Ryan North (Jessica)
Hamilton (Original Broadway Cast Recording) (Jessica)
MyFitnessPal (Chuck)
Run 10k (Chuck)
Pebble Time Steel (Chuck)
Aftershokz Bluez 2 (Chuck)
FLUIDSTANCE (Mike)
The Elm Programming Language (Mike)
Kotlin (Mike)
Special Guest: Mike Gehard.
Check 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” Developers
12:45 - Mentors: What to they epitomize?
14:37 - How do newbies find/identify mentors?
17:45 - When Becoming Great Starts to Matter
27:51 - How People “Arrive”; Necessary Skillsets
30:51 - Bloc.io
36:44 - As a mentor, where do you draw the line?
40:57 - As an educator: How important is it to do hands-on work of your own?
Picks
Rat-a-Tat Cat (Jessica)
Sorry Not Sorry IPA (Jessica)
Amazon Fire Kids Edition (Avdi)
The Now Habit: A Strategic Program for Overcoming Procrastination and Enjoying Guilt-Free by Neil Fiore (Avdi)
Intercom Central® 246 - Four Channels HOME Power-line Intercom System (Chuck)
Fathead (Chuck)
spitfire (Phil)
Bloc's Software Engineering Track (SET Program) (Phil)
Kyle Cease (Phil)
Phil’s coworker’s Ariel's man crush on Avdi (Phil)
Carol Dweck: The Power of Believing That You Can Improve (Phil)
Wile Kratts (Children's Science Show) (Phil)
MindSet by Carol Dweck (Chuck)
Special Guest: Phil Spitler.
02:05 - Marcus Blankenship Introduction
02:52 - Pain and Difficulties of Moving From Programming to Management
10:50 - Image and Identity (Cont’d)
19:16 - Management; Making the Move to Management
23:37 - How do you know if you have a bad manager?
27:13 - Feedback; Tone of Communication
33:54 - What should you do when you get promoted to a management position?
48:25 - How do you know you are doing a good job?
51:06 - What if you don’t want to move into a management role?
Picks
The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers by Ben Horowitz (Jessica)
The Narrow Road to the Deep North by Richard Flanagan (Jessica)
Star Wars: The Force Awakens (Chuck)
JS Remote Conf (Chuck)
Ruby Remote Conf (Chuck)
Freelance Remote Conf (Chuck)
The War of Art: Break Through the Blocks and Win Your Inner Creative Battles by Steven Pressfield (Marcus)
Predicting the Unpredictable: Pragmatic Approaches to Estimating Project Schedule or Cost by Johanna Rothman (Marcus)
Special Guest: Marcus Blankenship.
This 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.
We, the Ruby Rogues panelists (And, Mandy!), wish you a very happy holiday season.
Special Guest: Peter Cooper.
Check out JS Remote Conf and submit a Ruby Remote Conf CFP!
02:26 - Refactoring (Definition) and Where People Fail
03:55 - Tests and Refactoring
10:59 - Managing Scope
11:42 - Why We Refactor; The Value of Refactoring
17:13 - Refactoring Tools
20:40 - When Refactoring Gets Put Off; Establishing a Code Culture
26:23 - Refactoring Strategies
37:38 - Performance Tradeoffs
41:42 - Generative Testing
50:33 - Measurement
53:08 - Examples and Resources
Picks
Longmire (Avdi)
Clash of Clans (Chuck)
Star Wars Commander (Chuck)
Cleaning your office (Chuck)
Hsing-Hui Hsu: Time flies like an arrow; Fruit flies like a banana: Parsers for Great Good @ RubyConf 2015 (Coraline)
Betsy Haibel: s/regex/DSLs/: What Regex Teaches Us About DSL Design @ RubyConf 2015 (Coraline)
Velocity 2016 Call for speakers (Saron)
RailsConf 2016 (Saron)
Check out JS Remote Conf and All Remote Confs!
02:32 - Brad Urani Introduction
04:01 - Immutable/Persistent Data Structures; Advantages
07:30 - Tools for Debugging
08:23 - Why do Rubyists care about things like Elm?
09:39 - Persistent Data Structure Use Cases; Functional Programming
12:07 - Testability
13:51 - Where does “functional play a role in a typical CRUD app?
Active Record,
22:49 - Coworker Receptiveness of Ruby + JavaScript Style of Programming
26:41 - Service-oriented Architecture (SOA) vs Monolithic Applications
30:21 - Monoliths as a Necessary Stage in the Development of a Mature Application
33:23 - The Repository Pattern; Terminology & Naming
37:40 - Structured Query Language (SQL)
Picks
Dan Carlin's Hardcore History (Coraline)
Stuff You Missed in History Class (Coraline)
Buffer (Avdi)
New Belgium Brewing Accumulation White IPA (Avdi)
Saramonic SmartMixer Professional Recording Stereo Microphone Rig (Chuck)
LaunchCode (Brad)
Turing's Cathedral: The Origins of the Digital Universe by George Dyson (Coraline)
VAT19 (Brad)
Special Guest: Brad Urani.
02:10 - Brian Underwood Introduction
02:55 - Neo4j
04:31 - Graph Databases vs Traditional Databases
06:02 - Relations Have Directions
06:58 - Modeling a Domain as a Graph; How it Works
13:25 - Built-in Query Processor
15:04 - Neo4j.rb => ORM; OGM
18:06 - Declarative Schema
21:09 - The Ruby Client vs The Java Client
25:48 - Use Cases
35:53 - Who is using Neo4j?
38:42 - Challenges as an Open Source Maintainer
39:44 - Funding Neo4j
41:00 - Working Abroad
42:16 - Getting Started with Neo4j
Picks
Elle Luna: The Crossroads of Should and Must (Jessica)
Lynda Tutorials (Avdi)
How to Win Friends & Influence People by Dale Carnegie (Avdi)
Marked 2 (Coraline)
Fund Club (Coraline)
RubyTapas #334: Rspec Compound Matchers (Brian)
Pyrosomes (Brian)
Americapox: The Missing Plague (Brian)
Special Guest: Brian Underwood .
Check out JS Remote Conf!
02:07 - Rob Miller Introduction
03:11 - Why does text processing matter?
07:32 - One-off Data Processing, Core Competency
10:36 - Processing Less-structured, Unstructured Data
12:45 - The Command Line
29:15 - Abstractions and Refactoring
35:12 - Munging: Tools and Practices
40:57 - Text Processing for Textual Visual Things
42:57 - Parallelization
45:45 - Fanning Data
Picks
Text Processing with Ruby: Extracting Value from the Data That Surrounds You with Rob Miller (Avdi)
Data Is Plural by Jeremy Singer-Vine (Avdi)
RubyConf 2015 Videos (Avdi)
Papers We Love (Jessica)
transproc (David)
Does your data fit in RAM? (David)
advisor (David)
Swarm Simulator (Chuck)
15 Minute Podcast Listener chat with Charles Wood (Chuck)
Toastmasters (Chuck)
All Remote Conferences (Chuck)
transproc (Rob)
Sequel: The Database Toolkit for Ruby (Rob)
Priceless: The Myth of Fair Value (and How to Take Advantage of It) by William Poundstone (Rob)
Special Guest: Rob Miller.
02:28 - Jerod Santo Introduction
02:44 - Adam Stacoviak Introduction
02:55 - The Changelog and Beyond Code (Background)
13:50 - The Corporatization of Open Source
16:00 - Sharing Stories of Fascinating People and Choosing Conferences
21:21 - Differences Between Communities
24:54 - Where are The Changelog and Beyond Code’s future plans?
31:57 - Interview Wishlist
35:43 - Origin Stories
Picks
Personality Insights (Coraline)
The Art of Empathy: A Complete Guide to Life's Most Essential Skill by Karla McLaren (Coraline)
FamilySearch (Chuck)
Snow (Chuck)
DISTRICT Roasters (Adam)
The Balvenie (Adam)
Lismore Scotch (Adam)
The Elixir Fountain (Jerod)
Robot or Not? (Jerod)
Song Exploder (Jerod)
Special Guests: Adam Stacoviak and Jerod Santo.
02:36 - Responsibility and Communication
12:10 - Onboarding Experience for Remote Employees
15:55 - Measuring New Employee Metrics
17:41 - Onboarding Onto a Team vs Onboarding Onto a Project
20:51 - What it Means to be a Senior Developer
29:20 - First Impressions and Team Member Categories
33:26 - How do you decide what you spend time learning?
40:57 - Code Reading
Picks
Private Internet Access (Avdi)
Darkest Dungeon (Avdi)
imprint (Coraline)
The surprising truth about which personality traits do and don't correlate with computer programming skills (Coraline)
TALON Bluetooth Wireless Headphones (Jessica)
The Penderwicks: A Summer Tale of Four Sisters, Two Rabbits, and a Very Interesting Boy by Jeanne Birdsall (Jessica)
Reading to your kids (Chuck)
LinkedIn (Chuck)
RubyTapas (Chuck)
Elixir Sips (Chuck)
Avdi's Newsletter (Avdi)
02:20 - Eric Normand Introduction
03:31 - Old vs Young Programmers
05:38 - Teaching Fundamentals
11:02 - Teaching Backgrounds
12:13 - Why is so hard to be a good teacher?
15:54 - Teacher Feedback
19:46 - Asking Questions
25:56 - Community Education
28:20 - Order of Operation
29:36 - Recognizing Students Understanding of Fundamentals
31:25 - Should there be prerequisites?
34:30 - How to Assess Where People Are
35:43 - Teaching the Teacher
39:10 - Bootcamps
45:52 - After Bootcamps
Mentoring
52:11 - Skill vs Knowledge
More From Eric
Picks
Inoreader (Avdi)
Windows 10 (Avdi)
Sandi Metz's Courses (Avdi)
Avdi Grimm: I have a newsletter. You could subscribe, maybe. (Avdi)
Ian Steadman: Sex isn’t chromosomes: the story of a century of misconceptions about X & Y (Coraline)
Parable of the Sower by Octavia E. Butler (Coraline)
Wunderlist (Jessica)
The Partially Examined Life (Jessica)
Together Tech (Chuck)
Being Intentional (Chuck)
Highrise (Chuck)
Eventual Millionaire with Rory Vaden (Chuck)
Ruby Rogues (Eric)
Yoshiki Ohshima's Youtube Channel (Eric)
Mindstorms: Children, Computers, And Powerful Ideas by Seymour A. Papert (Eric)
Special Guest: Eric Normand.
Go check out Rails Remote Conf!
02:30 - Lee Byron Introduction
02:46 - GraphQL
04:16 - GraphQL vs REST
09:43 - Endpoints
13:33 - How the Stack Works
19:35 - GraphQL on the Front and Back Ends
36:14 - Calculating Tradeoffs
43:38 - Structuring
46:17 - Building the Ecosystem
48:16 - Use with Other Frameworks
49:50 - GraphQL vs Falcor
52:20 - How would you have made GraphQL differently?
54:06 - React Native
56:29 - REST => GraphQL
57:36 - Types
Picks
San Francisco (Jessica)
Dolores Park (Jessica)
Greg Heo: Outlining Your Conference Talk Pixar-style (Coraline)
Walnut (Coraline)
Tandy Leather (David)
Ian Atkinson on YouTube (David)
Bruce Cheaney on YouTube (David)
Springfield Leather (David)
Tandy Leather Outlet (David)
The Ionic Framework (Chuck)
CharlesMaxWood.com (Chuck)
Rails Remote Conf (Chuck)
All Remote Confs (Chuck)
JS Remote Conf (Chuck)
Flow (Lee)
The Firesteel: A Novel by Ash Huang (Lee)
Special Guest: Lee Byron.
Check 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”
13:27 - Transmitting Cultural Values
16:01 - What Companies Can Do
22:35 - What do you look for in a person as a hiring company?
24:46 - Setting Expectations Around Pairing Sessions
27:45 - Whisper Networks
34:08 - Performance Review
42:15 - “I will help you find a better fit.”
44:40 - Communication Culture
50:43 - Empathy
Picks
troll-repellant (Coraline)
Avdi Grimm: An alternative to puts in Ruby (Coraline)
Alan C. Kay: The Early History of Smalltalk (Avdi)
RubyTapas (Avdi)
Rails Remote Conf (Chuck)
Loot Crate (Chuck)
Prints and Visual Communication (Sarah)
Artful Making: What Managers Need to Know About How Artists Work by Robert Austin (Sarah)
Special Guest: Sarah Mei.
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 Comparisons
08:23 - “Dumb Code” and Developer Expectations
10:48 - Code Coverage and Regular Expressions
12:49 - Risk Impact/Probability Chart, Risk - Reward Matrix
24:01 - Collaboration, Communication => Constraint
30:36 - Bringing It In: Process
38:48 - Why would you want to switch databases and when is it worth it?
46:06 - Success Cases
Picks
OS4W: Open Source for Women (Coraline)
Contributor Covenant (Coraline)
Camille Fournier: Hopelessness and Confidence in Distributed Systems Design (Jessica)
Abby Bobé: From Protesting to Programming: Becoming a Tech Activist (Jessica)
Rails Remote Conf (Chuck)
TV Fool (Chuck)
02:00 - Luca Guidi Introduction
02:35 - The Lotus Framework
03:56 - Working Full-time on Open Source
04:55 - Flat MVC
06:26 - Maintainability
07:42 - Entities and Repositories
10:42 - Controllers, Views, Conventions, and Templates (Structure)
16:41 - Helpers
17:56 - The Controller Layer
20:12 - Validations
23:26 - Testing
29:23 - The API
32:37 - Contributing to Lotus
34:50 - Using Fewer Gems
39:09 - Lessons Learning Building Lotus
41:42 - Philosophy
42:56 - Upcoming Features
Picks
Threes (Jessica)
15 Minute Podcast Listener chat with Charles Wood (Chuck)
Rails Remote Conf (Chuck)
Pebble Time (Chuck)
micro.rb (Luca)
Duy Huynh (Luca)
Special Guest: Luca Guidi.
Check out Rails Remote Conf! Submit a CFP!
01:53 - Daniel Kehoe Introduction
02:07 - Digital Nomad Lifestyle
08:45 - RailsApps & Rails Tutorials
22:42 - rails-composer for Beginner Programmers
Remember to go check out Daniel's Kickstarter Project: Rails Composer with Rails Tutorials!
Picks
remote | ok (Saron)
Rails Remote Conf (Chuck)
weworkremotely.com (Chuck)
Slack (Chuck)
Screenhero (Chuck)
Pinegrow Web Editor (Daniel)
Nomad List (Daniel)
Low Yat Plaza (Daniel)
Special Guest: Daniel Kehoe.
02:03 - Laurent Bossavit
03:11 - The Leprechauns of Software Engineering by Laurent Bossavit
04:52 - The 10x Programmer
13:07 - The Custom Defects Curve
15:33 - Leprechauns and Local Truths (Does Needing to Prove Others Wrong = Fear?)
22:53 - The Feedback Cycles
25:09 - Agile, Waterfall, and The Software Crisis
32:30 - Estimations, Calibration and Assessments
38:16 - Starting Points/Research Skills for Identifying Leprechauns
43:14 - The Value of Leprechauns
46:46 - “Most of our job is learning.”
50:44 - The Definition of “Insanity” => Experimentation
Picks
The Leprechauns of Software Engineering by Laurent Bossavit (Avdi)
The Crystal Programming Language (Avdi)
Zojirushi (Avdi)
The Elm Programming Language (Laurent)
Smarter Every Day 133: The Backwards Brain Bicycle (Laurent)
Station Eleven by Emily St. John Mandel (Laurent)
How to Measure Anything: Finding the Value of Intangibles in Business by Douglas W. Hubbard (Jessica)
Special Guest: Laurent Bossavit.
02:18 - Ben Browning Introduction
02:46 - TorqueBox
04:05 - Use Cases and Benchmarks
06:32 - The Genesis of TorqueBox
07:49 - JBoss
09:15 - The Name “TorqueBox”
10:12 - Adoption
12:05 - Documentation
13:18 - When should/could you use TorqueBox?
17:25 - Monolith vs Microservice
21:36 - JAR Files and WAR Files
25:31 - Server Setup & Deployment Process
27:16 - Packaging Static Assets in JAR and WAR Files
28:27 - Contribution and Community Involvement
32:55 - Startup Cost
35:53 - Getting Started with TorqueBox
37:33 - Immutant
40:17 - The Rack Spec and TorqueBox
42:11 - Useful Features
44:26 - Building Useful Features
45:53 - Growth
Picks
[Khan Academy] Pixar in a Box: Introduction to Animation Curves (Saron)
Tony Stark in Salt and Pepper (Saron)
ElixirConf (Jessica)
Nick Shrock: GraphQL Introduction (Jessica)
Troll - Shane Koyczan (Coraline)
funtools (Coraline)
Ruby Remote Conf Talks (Chuck)
Angular Remote Conf (Chuck)
Bob McWhirter: qcon-keynote (Ben)
Coders For Sanders (Ben)
Extras
Special Guest: Ben Browning.
02:05 - André Arko Introduction + Bundler
04:28 - Ruby Together
10:52 - Ruby Central
14:23 - Ruby Together Timeline
16:01 - Open Source People Depend on vs Open Source as a Hobby
17:03 - Corporate Member Rights / The Structure of Ruby Together
20:19 - How the Board Makes Decisions
23:00 - Membership Numbers
24:03 - How Voting Works
26:58 - How much work is involved in maintaining these projects?
30:08 - How is work doled out?
33:41 - Future Plans and Community Impact
40:28 - Getting People Involved
43:34 - Lessons Learned
45:23 - Code of Conducts / Community Values
Picks
Boundaries: A talk by Gary Bernhardt from SCNA 2012 (André)
The Protomen (André)
Bubblesort Zines (André)
Don't Make Me Think: A Common Sense Approach to Web Usability by Steve Krug (Saron)
F.lux (Saron)
Hue (Saron)
Madison Ruby Day 1 (Coraline)
Madison Ruby Day 2 (Coraline)
Survive Escape From Atlantis 30th Anniversary Edition (Coraline)
Angular Remote Conf (Chuck)
React Rally (Chuck)
Alcatraz Books by Brandon Sanderson (Chuck)
Special Guest: André Arko.
02:35 - Yorick Peterse Introduction
03:07 - oga
06:38 - Fixing vs Writing an Alternative Feature
14:01 - Doing a Document Instead of a Programming Language
16:01 - Modifying XML Documents
17:19 - Inputting in Memory
19:09 - Extending oga with C
22:44 - Parsing
25:16 - Resources
28:57 - Lessons Learned Building oga
30:14 - Writing Parsers in Other Languages
31:19 - Getting Started
34:19 - Making oga and Using oga at Work
35:42 - Did it make a better API?
37:23 - The Community and Contribution
Picks
AirPair (Chuck)
CAL(1) Shell Command (Jessica)
fish shell (Yorick)
asciinema (Yorick)
Special Guest: Yorick Peterse.
Don’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 Developers
05:49 - Making Decisions
06:46 - “Syntax”
07:40 - Adding or
09:36 - The Attributes API
12:57 - Serialization & Deserialization
21:26 - Feature Proposal & Policies
22:46 - preload, eager_load, includes
23:59 - prepend
25:29 - Deconstructing/Constructing APIs
28:27 - bound_attributes()
29:58 - Trying Ideas and Going About Development in Rails
32:01 - Legacy Code
33:43 - The Migration Path From Rails 4 => 5
34:59 - Other Changes Outside Active Record
39:19 - Performance
41:09 - Trying Rails
43:05 - Tests
43:52 - Are the guides and documentation up-to-date?
Extras
Picks
Maria Matveeva: Design sprints: what are they for? (Saron)
LoneStarRuby (Saron)
Support CodeNewbie! (Saron)
Mockaroo (Coraline)
Jim Kazanjian (Coraline)
Mastermind Groups (Chuck)
Planning (Chuck)
The Rust Programming Language (Sean)
Special Guest: Sean Griffin.
Check out Angular Remote Conf and RailsClips!
03:15 - Mike Perham Introduction
03:43 - Sidekiq Overview
05:18 - Job Runners vs Queuing Systems, Background Jobs
08:47 - Performance
09:49 - celluloid vs Ruby Threads
11:47 - The GIL (Global Interpreter Lock)
12:49 - Passing Data
14:01 - Performance Boost From Using JRuby?
15:48 - The Actor Model
20:39 - Sidekiq Roadmap
21:44 - Sidekiq Enterprise
27:58 - Sidekiq vs Resque
29:50 - Adding Features to Sidekiq
30:28 - “Unique Job”
31:17 - Idempotency
33:12 - Mixing In Other Data Stores
38:42 - Encoding
40:04 - Format
40:36 - The Active Job Adapter
41:23 - Making Open Source Viable and Sustainable
44:04 - Launching An Open Source Project
Picks
Mike Hoye: Citation Needed (David)
Code Master (Coraline)
Robot Turtles (Coraline)
Zalando STUPS (Jessica)
Elevator Saga (Chuck)
Developer On Fire: Episode 017 - Charles Max Wood - Get Involved and Try New Things (Chuck)
Model View Culture (Mike)
Plasso (Mike)
James Mickens: Not Even Close: The State of Computer Security (with slides) from NDC Conferences (Mike)
Special Guest: Mike Perham.
Check out RailsClips and Angular Remote Conf!
02:46 - Leon Gersing Introduction
03:24 - “Augmenting Your Reality”
07:06 - Emotional Goals and Quantifying Happiness
13:49 - Quantification
15:32 - Reacting to Data
17:49 - Recognizing Patterns and Trends
21:58 - FOMO (Fear Of Missing Out)
26:20 - The Software Development Mindset
31:55 - The Ruby Community, Whimsy, and Creating Realities
40:41 - Leon’s Role at Dev Bootcamp
42:16 - Wisdom; Not Authority
44:14 - Recommended Reading
Picks
Dollywood's Splash Country Water Adventures Park (Avdi)
Normality (Avdi)
Jessica Kerr: Meritocracy @ PolyConf 2015 (Jessica)
Periscope (Chuck)
The Eventual Millionaire Podcast (Chuck)
Entreprogrammers Retreat 2015 (Chuck)
Quiet: The Power of Introverts in a World That Can't Stop Talking by Susan Cain (Leon)
Play: How it Shapes the Brain, Opens the Imagination, and Invigorates the Soul by Stuart Brown (Leon)
Shel Silverstein - Freakin At The Freakers Ball (Leon)
The Circle by Dave Eggers (Leon)
Special Guest: Leon Gersing.
02:40 - Justin Collins Introduction
03:40 - Brakeman & Static Analysis
04:02 - Common Security Vulnerabilities (and Definitions)
08:57 - The Inspiration for Brakeman
09:47 - Getting Brakeman Working (Process)
10:41 - Learning About Security
13:01 - Security and The Rails Core Team
15:19 - Should Brakeman be integrated into Rails?
16:29 - Running Brakeman On Your CI Machine
17:43 - Are there specific types of vulnerabilities that are hard to find with static analysis?
19:18 - Rails Engines
20:56 - When building an app, is security something you should focus on from the get-go?
25:32 - Code Schools Teaching Security
26:17 - Translating Lessons Learned Into Brakeman
27:24 - Handling Security and Data Breaches
32:28 - Crowdsourcing Security (Security in Open Source)
34:54 - The Technical Side of Brakeman and Static Analysis Tools
37:34 - Data Tracing, Limited Data Flow Analysis
40:52 - Future Brakeman Features
43:29 - Supporting and Contributing to Brakeman
48:23 - PhDs
Picks
"Why didn't you [just]..." and "Did you consider..." Parley Thread (Avdi)
Object Thinking (Developer Reference) by David West (Avdi)
Web Design - The First 100 Years (Avdi)
Brighton Ruby Conference (Avdi)
Email (Avdi)
The Twitter Mute Button (Avdi)
git - the simple guide (Saron)
I Love My Campus (Saron)
LoneStarRuby (Saron)
React Rally (Jessica)
Livecoding.tv (Jessica)
Remembering the Apollo 11 Moon Landing With the Woman Who Made It Happen (Coraline)
Showgoers (Coraline)
AngularJS Kurs (Chuck)
Hire Thom Parkin! (Chuck)
RethinkDB (Justin)
Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age by Michael A. Hiltzik (Justin)
The Search for General Tso (Justin)
Special Guest: Justin Collins.
Check out RailsClips!
02:44 - Alex Wood Introduction
03:09 - Trevor Rowe Introduction
03:26 - What is offered by Amazon Web Services (AWS)?
06:48 - Setup and Taking Incremental Steps (The Cloud as a Paradigm)
12:19 - CloudFormation
15:19 - Data-Centric Services (Monitoring, Traceability, Visibility)
23:48 - When to Use What (Getting Started)
26:07 - Making Apps Run Better, General Optimizations
33:43 - Implementing AWS
37:15 - Security
47:51 - Maintaining and Continually Improving Within Teams (Scalability)
56:33 - AWS Resources
Picks
Interview with Laurent Bossavit of the 10X Programmer and other Myths in Software Engineering (Jessica)
Paracord (Chuck)
Alex's RailsConf 2015 Workshop (Alex)
Stranger in a Strange Land by Robert A. Heinlein (Alex)
Kalzumeus Podcast (Alex)
Gitter (Trevor)
AWS Ruby Development Blog (Trevor)
Special Guests: Alex Wood and Trevor Rowe.
RailsClips is officially launched!
03:11 - Michael Nygard Introduction
04:36 - Release It!: Design and Deploy Production-Ready Software by Michael T. Nygard
07:15 - Upfront Architecture
14:29 - Architecture Without an End State (Definition)
18:42 - Beware Grandiosity
22:45 - Context
23:52 - Holding Teams to Standards
26:27 - Architecture Between Groups
29:16 - “It’s not my job” (Developer Responsibility)
31:45 - Design Artifacts
37:55 - Staying Humble
39:43 - Distributing Economic Decision Making
45:51 - Tools and Technologies That Are Helping
48:45 - Future Book Plans?
Picks
Michael Nygard: Architecture Without an End State (Avdi)
Daily Tech Video (Avdi)
October CincyRb - Jim Weirich on Decoupling from Rails (Avdi)
Rachel Shadoan: Why Algorithm Transparency is Vital to the Future of Thinking (Avdi)
Avdi Grimm: A review of news summary services (Avdi)
Systems Thinking, Third Edition: Managing Chaos and Complexity: A Platform for Designing Business Architecture by Jamshid Gharajedaghi (Jessica)
William Byrd: The Promise of Relational Programming @ PolyConf 15 (Jessica)
Again (Coraline)
Seveneves: A Novel by Neal Stephenson (Coraline)
remoteconfs.com (Chuck)
God (Chuck)
Jesus Christ (Chuck)
The Church of Jesus Christ of Latter-day Saints (Chuck)
Cory Doctorow: The Internet of Things That Do What You Tell Them (Michael)
The TCP/IP Guide: A Comprehensive, Illustrated Internet Protocols Reference by Charles M. Kozierok (Michael)
services-engineering (Michael)
Special Guest: Michael Nygard.
03:42 - Derek Prior Introduction
04:01 - Code Reviews
05:14 - What happens when you don’t do code reviews?
06:30 - Not Emphasizing Code Quality, Setting Code Review Up for Failure
10:43 - Code Reviewing Yourself: Answering Your Own Questions
12:03 - The Evolution of Code Review (Code Review as an Asynchronous Process)
14:51 - Small Changes, “Pull Request Bombs”
23:49 - Making Code Review a Supportive Process
30:32 - What qualities should reviewees have?
34:27 - Getting Code Reviews Introduced Into Company Culture
38:30 - Making Sure Code Reviews Get Done
40:47 - Tagging Specific Team Members
44:39 - Other Handy Code Review Tools
47:49 - Code Review Feedback Resources for Solo Programmers
Picks
Code Newbie Podcast: Sandi Metz Part I (Saron)
Code Newbie Podcast: Sandi Metz Part II (Saron)
If Google Were A Guy (Saron)
LEGO Ideas - Lovelace & Babbage (Coraline)
CoverMyMeds is offering Ruby on Rails training for experienced developers (David)
CoverMyMeds Billboard 1 (David)
CoverMyMeds Billboard 2 (David)
The Bike Shed Podcast (Derek)
The Ember RFC Process (Derek)
tota11y (Derek)
Eileen Uchitelle: How to Performance @ GoRuCo 2015 (Derek)
Olympus SP-100EE (Avdi)
Special Guest: Derek Prior.
02:41 - Sam Aaron Introduction and Background
10:53 - Sonic Pi Defined
13:10 - Live Performance Aspect
23:58 - The Learning Curve
28:06 - Teaching Kids to Program Through Music
34:07 - Sonic Pi in the Classroom
36:22 - Threading
41:18 - Choosing Ruby Over Clojure for Sonic Pi
44:13 - Sonic Pi Roadmap: What’s Next?
49:22 - Contribute to the sonic-pi Repo!
50:43 - Heritage?
53:53 - Experimenting with Music, The Evolution of Dance Music
56:19 - Types of Sounds
Picks
Cate Huston: 5 Strategies For Making Progress on Side Projects (Coraline)
TIS-100 (Coraline)
Building Microservices by Sam Newman (David)
Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin (David)
Ben Eggett: Writing Music with Ruby: A Subtle Introduction to Music Theory @ MountainWest RubyConf 2015 (Chuck)
Elixir (Chuck)
Programming Elixir: Functional |> Concurrent |> Pragmatic |> Fun by Dave Thomas (Chuck)
Wabi-Sabi for Artists, Designers, Poets & Philosophers by Leonard Koren (Sam)
The Joy of Clojure by Michael Fogus (Sam)
Raspberry Pi (Sam)
Special Guest: Sam Aaron.
02: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.?
16:09 - Error Messages
18:20 - Tradeoffs in a Polyglot Architecture (Negatives)
34:35 - Learning Programming
41:24 - Mixing Languages
02:25 - Daniel Jacobson Introduction
02:46 - How Netflix Looks at Programming and Development Team
05:03 - Maintaining a Consistent Culture
06:37 - Onboarding Process
08:15 - Engineering spirals: 10 philosophies to facilitate innovation
15:04 - Making Space for Innovation
23:12 - APIs
29:32 - Solving Real Problems, The Groovy Layer
31:34 - hystrix and Patterns for Making Systems Resilient
39:14 - RxJava
41:17 - The Dynamic of Senior Engineers
Screening Process
44:02 - Conway's Law
47:44 - Best and Most Challenging Parts About Working for Netflix
Picks
Fund Club (Coraline)
The Codeless Code (Avdi)
Trotro (Avdi)
Serial Podcast (Chuck)
Happy Father’s Day! (Chuck)
RailsClips (Chuck)
StartUp (Daniel)
Reply All (Daniel)
Mystery Show (Daniel)
Chris Messina: Seeking Genius in Negative Space (Daniel)
Chris Messina: Full Stack Employee (Daniel)
Netflix Techblog (Daniel)
Netflix GitHub (Daniel)
Special Guest: Daniel Jacobson.
Get 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 Introduction
03:42 - Elm
04:18 - Elm vs JavaScript
06:52 - Reactivity
07:28 - Functional Principles
09:42 - “Side Effects” (Reactivity Cont’d)
24:19 - Syntax and Semantics
30:45 - Testing
34:49 - Debugging
42:12 - Next Release?
46:00 - Use Cases/Getting Started Resources
48:45 - Why should Ruby devs care about Elm?
Picks
The Expanse (Avdi)
Git LFS (Jessica)
The City & The City by China Miéville (Jessica)
Patterns (Coraline)
Ruby Remote Conf (Chuck)
Find a change of pace (Chuck)
Listen to other people’s views (Chuck)
Richard Feldman: Functional Frontend Frontier (Richard)
EconTalk (Evan)
elm-architecture-tutorial (Evan)
Special Guests: Evan Czaplicki and Richard Feldman.
02:48 - Jim Gay Introduction
03:43 - Object Design
04:39 - DCI (Data, Context, Interaction)
07:20 - What Painpoint DCI Aims to Solve
09:31 - Designing From DCI From the Start (Process)
11:42 - Object Composition
13:56 - Definitions: Forwarding, Delegation, Consultation, and Inheritance
18:37 - DCI and Service Objects
24:36 - Roles and Object Factoring
28:49 - One Context in a Single File
30:17 - Coupling and Cohesion
31:37 - Typeclasses
33:09 - DCI Criticism
36:51 - The Current State of DCI (Skepticism & Criticism?)
38:56 - Preventing Reuse
41:18 - When should you not use DCI?
43:45 - Transition: Using/Undoing DCI (Experimentation)
45:04 - Resources
More DCI Blog Posts by Jim
Picks
Richard Hamming: You and Your Research (Jessica)
Martin Fowler: Yagni (Coraline)
Ruby Monday (Saron)
JunkFill (Saron)
Wappalyzer (Saron)
WhatFont (Saron)
Julian Feliciano: What Is Source Control? (Saron)
Bodum Santos Stovetop Glass Vacuum 34-Ounce Coffee Maker (Avdi)
The Master and His Emissary: The Divided Brain and the Making of the Western World by Iain McGilchrist (Jim)
request_store_rails (Jim)
littleBits (Jim)
Special Guest: Jim Gay.
Sign up for Ruby Remote Conf!!
02:49 - Jeremy Evans Introduction
03:58 - Roda and Routing Trees
08:56 - Roda vs Padrino, Sinatra
10:03 - Nested Routing
11:09 - Snipping Routing Trees?
13:19 - Dispatching from One Rack Application to Another
13:54 - Rails Integration
14:33 - Performance and Benchmarking
17:29 - Streaming
19:26 - Support Decisions (Roadmapping)
22:05 - Plugin Architecture
28:00 - Security
30:17 - Apps That Work Well with Roda and Using Roda
33:16 - Application Freezing
36:12 - Jeremy’s Typical Stack/Workflow
37:30 - When Should You Not Use Roda?
38:39 - Roda Timeline and Roadmap
40:01 - Jeremy’s Work/Life Balance
43:46 - Open Source
49:03 - Application Optimization
57:00 - Routing Approaches
Picks
Self: The Movie; (Avdi)
Self and Self: Whys and Wherefores (Avdi)
April Fools Video Prank in Math Class (Saron)
A pattern language for microservices (Coraline)
Wytches (Coraline)
Garmin Vivosmart (David)
"REDNECK AVENGERS: TULSA NIGHTS" — A Bad Lip Reading of Marvel's The Avengers (David)
CodeNewbie Episode #37: From Skates To Code with Aimee Knight (Chuck)
This Is Your Life Podcast (Chuck)
Cleaning off your desk (Chuck)
Ys (Jeremy)
minjs (Jeremy)
Camp (2013) (Jeremy)
Special Guest: Jeremy Evans.
02:32 - Julian Cheal Introduction
02:49 - Julian’s Background with Robots and Drones
03:32 - NodeCopter Events
04:31 - Traveling with Robots
05:35 - Julian’s Collection and Projects
07:46 - Giving Demos
09:12 - What Makes Robots?
10:21 - Where is IoT (Internet of Things) Heading?
13:11 - Programming Languages
14:15 - Tools and Protocols
17:31 - Programming Challenges Around Hardware Hacking
18:49 - Barrier to Entry
20:41 - Getting Kids Started
22:09 - Wearables
23:18 - LEGO Robotics
25:01 - Issues with Hardware Hacking
28:22 - Rubyists and Hardware
29:45 - Interfacing with Humans
33:27 - [Kickstarter] CHIP - The World's First Nine Dollar Computer
34:01 - Connectivity
36:55 - More Interesting Projects
Picks
Jacob Kaplan-Moss Keynote @ Pycon 2015 (Jessica)
Kobo Aura H20 (Avdi)
Liz Abinante: Unicorns Are People, Too (Re-Thinking Soft and Hard Skills) @ Madison+ Ruby 2014 (Coraline)
littleBits (Julian)
Jewelbots (Julian)
Ruby Rogues Episode #156: Hardware Hacking with Julia Grace (Julian)
The End of Mr. Y by Scarlett Thomas (Julian)
Special Guest: Julian Cheal.
Check out and sign up for Ruby Remote Conf!
02:45 - Francesco Cesarini Introduction
03:08 - Erlang Programming Language
08:23 - Francesco and Erlang
10:49 - Building a Company Around a Language (Erlang Solutions)
16:00 - The Erlang Programming Language
24:25 - Error Handling Semantics
30:23 - Getting Started with Erlang
34:23 - Elixir
35:28 - Erlang and Polyglot Architecture
37:01 - WombatOAM
38:57 - Erlang Pros and Cons
40:44 - TDD (Test-Driven Development)
46:10 - Languages/Technologies on the Horizon (for Francesco)
48:21 - The Erlang Community
50:24 - Writing Apps with Erlang / IoT?
Picks
Avdi Grimm: A Personal Programming Language Roadmap (Avdi)
Pharo (Avdi)
Avdi Grimm: In Which I Make You Hate Ruby in 7 Minutes (Avdi)
Babel-17 / Empire Star by Samuel R. Delany (Coraline)
Orson Welles (Coraline)
John Hughes: QuickCheck Evolution @ CodeMesh 2014 (Jessica)
Vehicles: Experiments in Synthetic Psychology by Valentino Braitenberg (Jessica)
Zero to One: Notes On Startups, or How to Build the Future by Peter Thiel (Francesco)
CodeNewbie Podcast (Chuck)
Ask Me Another (Chuck)
Startups For the Rest of Us (Chuck)
Special Guest: Francesco Cesarini.
02:30 - Noah Gibbs Introduction
03:03 - Structure
03:44 - Guiding People Through the Magic
06:55 - The Origins of Rebuilding Rails by Noah Gibbs
07:55 - The Practice of Code Reading
09:19 - Getting Started Rebuilding Rails
15:09 - Use Case for Rebuilding Rails
19:49 - View Model Objects (Presenter Objects?)
24:25 - What Do Rails Devs Take For Granted?
27:59 - Rails = “Weird” ??
32:48 - Rails Expectations
37:56 - Constraints: Making Framework Decisions
44:19 - Big Data
Picks
simplehuman Garbage Cans (Avdi)
Etsy CTO On Its Conservatively Crafty Tech Philosophy (Saron)
Death Of A Programmer. Life Of A Farmer. (Saron)
Mary Poppendieck's Keynote (Jessica)
Ruby Remote Conf (Chuck)
Rails Camp USA West Coast (Chuck)
Traction: Get a Grip on Your Business by Gino Wickman (Chuck)
Rails Camps (Coraline)
The Codeless Code (Noah)
Ruby Under a Microscope: An Illustrated Guide to Ruby Internals by Pat Shaughnessy (Noah)
The Rails 4 Way by Obie Fernandez (Noah)
Special Guest: Noah Gibbs.
02:53 - Nick Sutterer Introduction
03:31 - Trailblazer
07:28 - Validations
08:47 - Decoupling
09:45 - Namespace Reuse
11:50 - Process Method => Procedural Code
12:54 - Inheritance
13:57 - Contracts
14:57 - How is Using Trailblazer Different?
18:17 - What Would DHH Think?
19:32 - Trailblazer as an Extra Layer
27:20 - Testing
28:35 - When Should You NOT Use Trailblazer?
29:53 - Moving to Trailblazer
36:03 - Rails 5 and Trailblazer
37:22 - Maintainers
38:44 - APIs
Deserialization
41:04 - Parts of Trailblazer
44:16 - Generators
Picks
A Gentleman’s Guide To Street Harassment (Saron)
Tor and HTTPS (Saron)
How it feels to watch a user test your product for the first time (Saron)
Humane Development (Coraline)
The Left Hand of Darkness (Coraline)
Star Wars: Episode VII - The Force Awakens (Chuck)
WorkFlowy (Chuck)
Ruby Rogues Episode #204: Limerence with Dave Thomas (Chuck)
JS Remote Conf Talks (Chuck)
Trailblazer: A New Architecture For Rails by Nick Sutterer (Nick)
Cinco Face Time Party Snoozer (Nick)
Special Guest: Nick Sutterer.
02:25 - Piotr Solnica Introduction
Ruby Object Mapper (ROM)
virtus
03:04 - Piotr Solnica: 8 Things I Learned During 8 Years of Ruby and Rails
03:45 - Test-Driven Development
06:17 - Building a Stack
09:56 - (TDD) Test-Driven Development Cont’d
15:36 - Immutability (Immutable Objects)
28:49 - No Rules, Just Guidelines
38:39 - Class Interfaces: “Class interfaces are a smell”
49:30 - “Convenience has a big price”
55:06 - Mutation Testing
01:00:51 - “Ideas behind ORM are a fallacy”
01:10:42 - Piotr Solnica: Introducing Transproc - Functional Data Transformations for Ruby
Picks
SweetWater Road Trip (Avdi)
BOSTITCH: Black Magnetic Push Style Staple Remover (Avdi)
Planet Mercenary Schlock Mercenary RPG (David)
Anker® 2.4G Wireless Vertical Ergonomic Optical Mouse (David)
Anker® Ergonomic Optical USB Wired Vertical Mouse (David)
asciinema (Piotr)
Special Guest: Piotr Solnica.
02:37 - Dave Thomas Introduction
04:17 - How Dave Got Started in Programming
06:34 - Tools and Constraints
19:29 - Limerence
28:54 - Ruby = Happiness: Does it Hurt?
31:00 - Tools and Falling in Love with Tools
35:08 - When Do You Learn? When Do You Train? (Not Falling Behind)
38:01 - Choosing Similar Tools and Technologies vs Choosing Different Tools and Technologies
43:36 - Relationships and Identities
46:08 - Looking Forward vs Looking Back (Knowing Your History)
01:01:48 - Is the rampant use of social media hindering the learning of big ideas?
01:08:15 - How You Learn a Language / Decide You Like a Language
Picks
Slack (Dave)
Why Does E=mc2? (And Why Should We Care?) by Brian Cox and Jeff Forshaw (Dave)
Philly Emerging Tech Conference (Dave)
Special Guest: Dave Thomas.
02:29 - Sean Fioritto Introduction
02:52 - Design and Sketching with CSS Background & Overview
06:34 - Developer <> Designer Communication
12:23 - Using CSS Over Photoshop, Alternative Programs, and Frameworks
15:29 - Grid Systems and Resets (Frontend Tools)
17:27 - Prototyping (Workflow)
23:14 - Documentation
26:14 - Adopting New Practices (Progressive Enhancement)
45:33 - The Modern Web Moving Forward
47:30 - Keep Up with Scott
Picks
NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence by Pramod J. Sadalage and Martin Fowler (David)
RoT.js (David)
The Spatials (David)
The User is Drunk (Saron)
Drunk Kitchen (Saron)
The Reckoners Series by Brandon Sanderson (Chuck)
Bootstrapping Design: Roll Your Own Design by Jarrod Drysdale (Sean)
The Ruby DSL Handbook by Jim Gay (Sean)
Ryan Castillo: 7 Recurring Recipes for Consultancies (Sean)
ExpeditedSSL (Sean)
The Life-Changing Magic of Tidying Up: The Japanese Art of Decluttering and Organizing Marie Kondo (Sean)
Special Guest: Sean Fioritto.
Support our Teespring campaign! Get your Ruby Rogues unisex t-shirts, hoodies, ladies’-sized, and long-sleeve tees!
03:19 - Jake Day Williams Introduction
03:48 - What Do New People Struggle With?
04:59 - Teaching While Learning and Video Tutorials vs In-Person Training
16:59 - Responsibility
23:05 - Feedback
26:22 - Leveling Up and Monetizing Content
33:26 - Impostor Syndrome and The Dunning–Kruger Effect
37:42 - Is the Ruby Community Beginner-Friendly?
42:50 - Content Production: Is it a barrier to entry?
Picks
Survivorship Bias (Saron)
Laurent Bossavit: 10X Programmer and other Myths in Software Engineering (Jessica)
Rachel Nabors: The Hating Game (Coraline)
How to Poo on a Date: The Lovers' Guide to Toilet Etiquette by Mats (David)
How to Poo at Work by Mats (David)
How to Poo on Holiday by Mats (David)
Steelheart (The Reckoners) by Brandon Sanderson (Chuck)
Gitter (Chuck)
The Entreprogrammers Podcast (Jake)
Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software by Scott Rosenberg (Jake)
Laura Sydell: The Forgotten Female Programmers Who Created Modern Tech (Jake)
Special Guest: Jake Day Williams.
Thank you RailsClips Kickstarter Backers!
02:27 - Andrea Magnorsky Introduction
02:56 - “What Game Developers Know That Business Devs Can Benefit From”
08:28 - Curiosity and Motivation
09:10 - Is game development more approachable than in the past?
10:12 - Learning New Skills and Coding Practices to Write Games
15:45 - Performance and Iterations
20:45 - Making Games Inviting
23:11 - Techniques to Cope with State
24:16 - Releasing and Deadlines (Business Issues Between Developers and Management)
28:30 - Testing
30:45 - Writing Aspects of Games (Stories, Artwork, etc.)
32:22 - Why F#?
38:44 - Pair Programming or Agile Techniques in Game Dev?
42:22 - Teaching Game Development (Game Jams)
44:39 - Onikira: Demon Killer
Picks
Carina C. Zona: Schemas for the Real World (Avdi)
Maryville, Tennessee (Avdi)
Monodraw (Jessica)
Elizabeth Naramore: Uncomfortable (Jessica)
ambient_spec (Coraline)
Cosmic Encounter (Coraline)
Ready Player One by Ernest Cline (Chuck)
Mastery by Robert Greene (Chuck)
Dixit (Andrea)
Michael Bernstein: Know Your Types (Andrea)
Philip Potter: Generative testing with clojure.test.check (Andrea)
Special Guest: Andrea Magnorsky.
03:08 - What’s Up with Aaron Patterson?
16:45 - What’s Up with James Edward Gray?
30:16 - What’s Up with Katrina Owen?
41:55 - What’s Up with Saron Yitbarek?
47:31 - A Look Back at the Past 100 Ruby Rogues Episodes and Conference Memories
53:55 - HI AARON’S MOM! THANKS FOR MAKING AARON PUNNY! (Editor’s Note: Aaron didn’t tell you how far into the call it was, but I did. <3 Mandy)
55:50 - A Look Back at the Past 100 Ruby Rogues Episodes and Conference Memories (Cont’d)
58:32 - Legacy Rogues: What Changed You and Improved You the Most by Being a Panelist on Ruby Rogues?
01:02:29 - The Panelists <3 Picks
01:10:10 - New Rogues’ and Chuck’s Thoughts on the Show
Picks
The Speed of Dark (Ballantine Reader's Circle) by Elizabeth Moon (Katrina)
The Curious Incident of the Dog in the Night-Time by Mark Haddon (Katrina)
Atreus Keyboard Kit (Aaron)
Be My Eyes (Saron)
March is for Makers (Saron)
Hire Saron! (Saron)
[Indiegogo] Con Man (James)
Alex + Ada (James)
02:08 - Noah Gibbs Introduction
02:38 - Rebuilding Rails: Understand Rails by Building a Ruby Web Framework by Noah Gibbs
03:06 - Sinatra
03:47 - Rack
07:32 - Deploying Apps
12:22 - Support, Operations, and Monitoring
20:36 - Social Differences Between Communities: Ruby vs Python
27:18 - Deployment Tools Targeting Polyglot Architectures
28:39 - Ease of Deployment
32:26 - The Success of a Language = The Deployment Story
33:51 - Feedback Cycle
34:57 - Reproducibility
35:44 - Docker and Configuration Management Tools
44:06 - Deployment Problems
46:45 - Ruby Mad Science
Picks
TuneMyGC (Coraline)
Bear Metal: Rails Garbage Collection: Tuning Approaches (Coraline)
Rbkit (Coraline)
Get out and jump in a mud puddle! (Jessica)
Release It!: Design and Deploy Production-Ready Software by Michael T. Nygard (Noah)
Ruby DSL Handbook by Jim Gay (Noah)
Special Guest: Noah Gibbs.
02:32 - Mark Bates Introduction
03:14 - Scott Feinberg Introduction
03:46 - Community Values
05:32 - Ruby Community Standards and Values
07:33 - User Groups
10:18 - Polyglot Conferences
13:07 - Including and Getting Newbies Involved in Conference and Community Culture
20:41 - Diversity and Codes of Conduct
23:08 - AlterConf
24:22 - PyCon
25:31 - HappinessConf
28:30 - Developer Happiness and Invoking Community Values Within Corporate Company Culture
38:03 - Agile Software Development and Productivity
40:41 - “The Ruby Diaspora”
47:47 - Acceptance
50:55 - Mentoring
Picks
Love Letter (Coraline)
RescueTime (Coraline)
Hacking Happy by Dusty Phillips (Jessica)
Happiness Conf Coupon Code (Scott)
HappinessConf Speakers Page (Scott)
The Flight Deal (Scott)
iStat Menus (Scott)
HappinessConf (Mark)
The Go Programming Language (Mark)
Use the Coupon Code: ROGUES to get your first month free: MetaCasts.tv: HD Screencasts for GO Enthusiasts (Mark)
Special Guests: Mark Bates and Scott Feinberg.
Check out RailsClips on Kickstarter!!
02:23 - Justin Searls Introduction
03:02 - Justin Searls: The Social Coding Contract
04:58 - Transitive Dependences and Understanding Technical Debt
15:21 - Learning Outside Work Hours
21:21 - Understanding Transitive Dependencies (Cont’d)
23:00 - Use Someone Else’s Framework or Write Your Own?
31:25 - When Does it Hurt to Use Tools You Don’t Completely Understand?
34:14 - Leaving Code Behind
36:26 - Be a Responsible Open Source User
47:22 - Reacting to Change
54:16 - Just Blog It!
Picks
Royalty Free Music by Kevin MacLeod (David)
Rebif (David)
Ruby Rogues Episode #188: Community Building with Pieter Hintjens (Jessica)
Commercial Users of Functional Programming 2015: Call for Presentations (Jessica)
James Clear: Forget About Setting Goals. Focus on This Instead. (Jessica)
Screw motivation, what you need is discipline. (Jessica)
A Wizard of Earthsea by Ursula K. Le Guin (Chuck)
Conform: Exposing the Truth About Common Core and Public Education by Glenn Beck (Chuck)
Sony NEX-5T Compact Interchangeable Lens Digital Camera (Justin)
Justin’s Talk at RailsConf 2015: Boring Code (Sometimes a Controller is Just a Controller) (Justin)
Alpine iLX-007 7-Inch In-Dash Receiver with Apple CarPlay (Justin)
Special Guest: Justin Searls.
Check out RailsClips on Kickstarter!!
02:45 - Ashton Kemerling Introduction
03:00 - Ruby and Clojure
14:50 - Difficulty
23:13 - Generative Testing and Documentation
26:38 - Are Generative Tests Disposable?
29:09 - When Do You Start Generative Testing?
31:43 - Setup & Barriers to Entry
40:38 - Why Does Generative Testing Have a Bad Reputation?
42:49 - Getting Past ^^
44:17 - Verifying Things Are Fixed
46:57 - Maintaining These Tests
51:12 - Human Actions, Generative Testing, and Architecture
01:02:10 - Resources
Picks
Joseph Wilk: Programming as Performance (Coraline)
Linda Liukas: Principles of Play (Coraline)
Hello Ruby (Coraline)
QuickCheck CI (Jessica)
CodeMesh 2014 - John Hughes - QuickCheck Evolution (Jessica)
GeeCON 2012: Kevlin Henney - It Is Possible to Do Object-Oriented Programming in Java (Avdi)
FUJITSU Image Scanner ScanSnap iX500 (Avdi)
FFmpeg (Chuck)
YouTube (Chuck)
Developer’s Box Club (Chuck)
Ruby Remote Conf (Chuck)
RailsCasts on Kickstarter (Chuck)
Datomic (Ashton)
Special Guest: Ashton Kemerling.
02:25 - Neal Ford Introduction
02:20 - The Thoughtworks Technology Radar
06:28 - Quadrants
07:01 - Categories (Rings)
09:23 - Adopting New Technologies
14:42 - Providing Familiarity Resources
15:24 - Radars as Resources and Lifecycle Assessment Tools
18:36 - Themes
22:17 - Making Decisions
27:40 - Jamming Radars
31:53 - Hireability?
36:54 - Financial Portfolios and Planning Your Career
42:03 - Software Architecture & Engineering Practices
43:57 - Functional Programming
44:16 - Estimation
46:03 - Creating Your Own Radar
Picks
All Watched Over by Machines of Loving Grace (Avdi)
The Project Euler Sprint (Coraline)
Gloom (Coraline)
The Bad Plus: Inevitable Western (Jessica)
tmate (Jessica)
Screenhero (Chuck)
Slack (Chuck)
DevOps Bookmarks (Neal)
Elvis has left the ivory tower by Neal Ford (Neal)
Culture Series (Neal)
Special Guest: Neal Ford.
The Rogues talk to ThoughtWorks' Sudhindra R. Rao about JRuby. Special Guest: Sudhindra R. Rao.
The Rogues interview Mitchell Hashimoto, the creator of Vagrant. Special Guest: Mitchell Hashimoto.
Kerri Miller and Coraline head the conversation with the rest of the Rogues about The Developer Happiness Team. Special Guest: Kerri Miller.
2:55 - Introducing Joseph Mastey and Jill Lynch
3:20 - The origins of Enova’s apprenticeship program
6:20 - Creating and teaching the curriculum
11:05 - Realities of implementing an apprenticeship program
15:30 - Jill’s experience
21:10 - Feedback processes
22:50 - Advice for setting up an apprenticeship program
24:20 - Ideal candidates and mentors
28:05 - Apprenticeship and new hire diversity
28:45 - Experimenting with bias, communication, and engagement
33:20 - Do trainees take too much time away from regular employees?
37:05 - Teaching the codebase
39:50 - Firing apprentices
42:05 - Advantages of working at a lucrative company
45:45 - Learning outside the program
47:40 - Breaking into the industry
58:10 - Who decides the circle?
Picks: Ruby Tapas (Avdi)
Nozbe (Avdi)
Postach.io (Avdi)
Neo4j (Caroline)
Thinking in Systems by Donella H. Meadows (Caroline)
DeskTime (Charles)
“Codes of Conduct 101 + FAQ” post by Ashe Dryden (Joe)
The Book With No Pictures by B.J. Novak (Joe)
Practical Object-Oriented Design by Sandi Metz (Jill)
Edx CS50 Class (Jill)
Special Guests: Jill Lynch and Joseph Mastey.
The Rogues talk to Craig McKeachie about choosing a JavaScript MVC framework. Special Guest: Craig McKeachie.
Jessica and Charles talk about community building with ZeroMQ's Pieter Hintjens. Special Guest: Pieter Hintjens.
The Rogues talk about how to market yourself as a software developer. Special Guest: John Sonmez.
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.
The Rogues talk about Noel Rappin's book, Rails 4 Test Prescriptions and TDD. Special Guest: Noel Rappin.
The Rogues talk SCIENCE! with Greg Wilson and Andreas Stefik. Special Guests: Andreas Stefik and Greg Wilson.
The Rogues discuss the consequences of technology with Ben Hammersley. Special Guest: Ben Hammersley.
The Rogues discuss keeping libraries and utilities small and simple with Michel Martens. Special Guest: Michel Martens.
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.
The Rogues talk accountability and diversity with Meagan Waller. Special Guest: Meagan Waller.
The Rogues introduce new Rogue, Jessica Kerr, and talk with Martin Fowler in another book club episode: Refactoring Ruby. Special Guest: Martin Fowler.
The Rogues talk to Pete Hodgson about using Rails as an SOA client. Special Guest: Pete Hodgson .
The Rogues talk to Heat Seek NYC co-founder William Jeffries. Special Guest: William Jeffries.
The Rogues talk with Eileen Uchitelle about ActiveRecord and big data. Special Guest: Eileen Uchitelle.
The Rogues talk about continuous deployment with Badri Janakiraman and Florian Motlik. Special Guests: Badri Janakiraman and Florian Motlik.
The Rogues discuss Padrino with Dario Cravero, Nathan Esquenazi, and Arthur Chiu. Special Guests: Arthur Chiu, Dario Cravero, and Nathan Esquenazi.
The Rogues discuss version managers with Michal Papis, Mislav Maronić and Postmodern Mod III. Special Guests: Michal Papis, Mislav Maronić , and Postmodern Mod III.
The Rogues talk to Craig Muth about the Xiki command line tool. Special Guest: Craig Muth.
The Rogues talk systems programming tricks and hacks with Julia Evans. Special Guest: Julia Evans.
The Rogues talk to Dave Thomas about keeping up and staying sharp in programming. Special Guest: Dave Thomas.
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.
The Rogues discuss scaling Rails on Twitpic.com with Steve Corona. Special Guest: Steve Corona.
The Rogues talk to Sam Livingston-Gray and Glenn Vanderburg about conceptualizing code. Special Guests: Glenn Vanderburg and Sam Livingston-Gray.
The panelists discuss education hacks with Saron Yitbarek. Special Guest: Saron Yitbarek.
The Rogues talk confessions about what they do when coding that they shouldn't and things that they should be doing but don't.
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.
The Rogues talk to guest, Julia Grace, about hardware hacking. Special Guest: Julia Grace.
The Rogues have a friendly discussion about why Ruby sucks and what the language could do to improve.
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.
The Rogues talk to Amy Palamountain about her talk, "Cloud Confusions: Ten Traumas in Ten Minutes." Special Guest: Amy Palamountain.
The Rogues talk to Michele Titolo about how to go about building APIs that don't suck. Special Guest: Michele Titolo.
The Rogues discuss Pat Shaughnessy's book, Ruby Under a Microscope. Special Guest: Pat Shaughnessy.
The Rogues talk to Tinco Andringa and Hongli Lai about Passenger Enterprise. Special Guests: Hongli Lai and Tinco Andringa.
The Rogues talk to Greg Baugues about Depression and Mental Illness. Special Guest: Greg Baugues.
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.
The Rogues talk to Sean Cribbs and Bryce Kerley of Riak. Special Guests: Bryce Kerley and Sean Cribbs.
The RubyRep brings you a collection of sound clips from the Rogues Retreat in Austin, Texas this past July.
The Rogues Discuss their latest book club book: Functional Programming for the Object-Oriented Programmer with Brian Marick. Special Guest: Brian Marick.
The Rogues discuss Consulting and Product work with Steve Proctor. Special Guest: Steven Proctor.
The Rogues talk to Ilya Grigorik of Google about the ins and outs of HTTP 2.0. Special Guest: Ilya Grigorik.
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.
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.
2:05- Are you born with talent?
5:45 - Valuing effort, not ability
9:20 - Getting into the discomfort zone
13:30 - Do you need talent to become great?
24:15 - 10,000 hours research
26:50 - Practice theories
30:00 - Practice by writing small methods
35:35 - Developing intuition in programming
41:00 - How to start learning something new (and determine what to learn)
49:30 - Making mistakes
53:00 - Strategies for learning by reading
72:00 - Memorization
77:20 - “If you want to learn something, give a talk on it”
Picks: Mastery by Robert Greene (Katrina)
The Five Elements of Effective Thinking by Edward D. Burger and Michael Starbird (Katrina)
So Good They Can’t Ignore You by Cal Newport (Katrina)
“The First 20 Hours- How To Learn Anything” TEDx Talk by Josh Kaufman (Katrina)
“The Making of an Expert” by Ericsson (Katrina)
Photoreading Personal Learning Course by Paul Scheele (David)
How to be Twice as Smart by Scott Witt (David)
Make the Most of Your Mind by Tony Buzan (David)
Mind Hacks by Tom Stafford and Matt Webb (James)
Cavalier King Charles Spaniels (James)
Jam Plus Bluetooth Speaker (Charles)
Lifehacker standing desk (Charles)
Vegasaur (Avdi)
HelloSign and HelloFax (Avdi)
LastPass (Avdi)
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 .
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.
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.
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.
A discussion about David Brady's "Loyalty and Layoffs" blog posts. The rest of the Rogues weigh in with their opinions.
Charlie Nutter joins the Ruby Rogues to talk about the intricacies, power, and uses for JRuby. Special Guest: Charlie Nutter.
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.
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.
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.
The Rogues discuss "Understanding Computation" with author Tom Stuart Special Guest: Tom Stuart.
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.
The Ruby Rogues talk about their upcoming book Ruby Best Practice Patterns and what Best Practice Patterns mean.
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.
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.
The Rogues talk about object oriented programming with Jessica Kerr. Special Guest: Jessica Kerr.
In this episode, the Rogues talk about DevOps with Nathen Harvey of Chef. Special Guest: Nathen Harvey.
In this book club episode, the Rogues talk to Elisabeth Hendrickson about her book, Explore It! Special Guest: Elisabeth Hendrickson.
The Rogues talk about "imposter syndrome" with Tim Chevalier. Special Guest: Tim Chevalier.
The Rogues talk to Jeff Atwood about the Discourse project. Special Guest: Jeff Atwood.
The panelists talk about regular expressions with Nell Shamrell. Special Guest: Nell Shamrell-Harrington.
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 .
The Rogues celebrate their 100th episode by bringing back former Rogues and their faithful assistant, Mandy Moore, aka @therubyrep.
In this Book Club episode, the Rogues talk to Martin Fowler about his book: Patterns of Enterprise Architecture. Special Guest: Martin Fowler.
The Rogues discuss security exploits with Patrick McKenzie. Special Guest: Patrick McKenzie.
The Rogues talk about the Ruby design process with Brian Shirai. Special Guest: Brian Shirai.
In this episode, the four people who won the Ruby Nuby contest, chat about all things Ruby and Rails.
The Rogues discuss concurrency and Celluloid with Tony Arcieri. Special Guest: Tony Arcieri.
1:35 - Introducing Sandi Metz
6:15 - The book writing process and the speech writing process
17:30 - Flow of POODR
21:35 - Why design is for everyone
24:20 - The fear of writing a book: Am I really an expert?
27:00 - Breaking the rules
34:00 - Cheat sheets, screencasts, and diagrams for POODR
42:00 - Topics beyond POODR
45:20 - Why Sandi loves Rails
51:05 - How long will Rails last?
55:30 - When should you begin introducing design?
1:01:00 - Working with an Inheritance interface
1:06:30 - Rules for testing
1:14:45 - Well-tested objects without well-tested interactions
1:18:45 - Sandi’s rules for coding and breaking them
1:26:15 - Having too many small objects versus having too big objects
Picks: “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.
The Rogues talk to Code Climate's Bryan Helmkamp about decomposing fat models. Special Guest: Bryan Helmkamp.
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!
The Rogues talk with former Rogue, Aaron Patterson about Rails 4. Special Guest: Aaron Patterson.
The Rogues talk about practical metaprogramming with Steven Harms. Special Guest: Steven Harms.
The Rogues talk to Matt Wynne and Keven Rutherford about hexagonal Rails. Special Guests: Kevin Rutherford and Matt Wynne.
The Rogues talk about Open Source Licenses. Special Guests: Chris Wilson and Jeremy Hinegardner.
That Rogues discuss what does and doesn't make a good starter project for a newbie in Ruby.
The Rogues talk to Katrina Owen about therapeutic refactoring. Special Guest: Katrina Owen.
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.
The Rogues talk to Gary Bernhardt about his testing style. Special Guest: Gary Bernhardt.
The Rogues talk about functional vs. object oriented programming with Michael Feathers. Special Guest: Michael Feathers.
The Rogues talk domain driven design (DDD) with David Laribee. Special Guest: David Laribee.
In this Book Club episode, the Rogues discuss Jesse Storimer's book, Working with Unix Processes. Special Guest: Jesse Storimer.
The Rogues talk to Evan Phoenix and Chad Fowler about Ruby Central. Special Guests: Chad Fowler and Evan Phoenix.
The panelists discuss RubyMotion with Laurent Sansonetti. Special Guest: Laurent Sansonetti.
The Rogues discuss Square with Jack Danger Canty and Zach Brock. Special Guests: Jack Danger Canty and Zach Brock.
The Ruby Rogues were invited to speak at RailsConf 2012 in Austin, Texas. This is the keynote recorded that morning.
The Rogues talk about the Hungry Academy with Jeff Casimir. Special Guest: Jeff Casimir.
The Rogues discuss crafting Rails applications with Joseé Valim. Special Guest: José Valim.
In this episode, the Rogues talk to André Arko about Bundler. Special Guest: André Arko.
The Rogues talk to Marty Haught about choosing the right career path. Special Guest: Marty Haught.
In this book club episode, the Rogues talk to Conrad Barski about his book, Land of Lisp. Special Guest: Conrad Barski.
In this episode, the Rogues talk to Peter Cooper about producing content. Special Guest: Peter Cooper.
The Rogues talk code metrics with Bryan Helmkamp of Code Climate. Special Guest: Bryan Helmkamp.
The Rogues talk about text editors and IDEs with Gary Bernhardt. Special Guest: Gary Bernhardt.
The Rogues talk about web programming and updating frameworks with Yehuda Katz. Special Guest: Yehuda Katz.
In this book club episode, the Rogues talk to Russ Olsen about his book, Eloquent Ruby. Special Guest: Russ Olsen.
The Rogues talk to Noel Rappin about software craftsmanship. Special Guest: Noel Rappin.
This episode was recorded at the Ruby Midwest Conference. Special Guest: Dave Copeland.
The Rogues have a follow-up conversation about Kent Beck's Smalltalk Best Practice Patterns book.
In this Book Club episode, the Rogues talk to Kent Beck about his book, Smalltalk Best Practice Patterns. Special Guest: Kent Beck.
The Rogues talk about Object Oriented Programming in Rails with Jim Weirich. Special Guest: Jim Weirich.
The Rogues have their first Book Club episode and discuss Exceptional Ruby by and with Avdi Grimm.
The Rogues discuss things that are currently wrong with the Ruby programming language. Special Guest: Brian Shirai.
This episode was recorded live at Lone Star Ruby Conference by Opus Video Productions. Special Guests: Glenn Vanderburg and Obie Fernandez.
This week the rogues discuss the importance of conferences and user groups to the Ruby community.
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.