Ruby Rogues

Charles M Wood
undefined
Apr 30, 2019 • 1h 3min

RR 410: Kubernetes with Kurtis Rainbolt-Greene

SponsorsSentry use code “devchat” for 2 months free Triplebyte $1000 signing bonus RedisgreenCacheflyPanelAndrew MasonNate HopkinsEric BerryDavid KumiraJoined by Special Guest: Kurtis Rainbolt-GreeneEpisode SummaryKurtis 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.LinksSinatraVCRAPIpod/containerLoki by GrafanaStateless servicesNamespacesChefPuppet DockerfilesHeroku PG BouncerHephy WorkflowGitlab Auto DevOpsHelmUbuntuMicroK8sAzureCloud66Config mapsIngressPrometheusCD/CIHashi Follow DevChat on Facebook and Twitter PicksNate Hopkins:HerokuHow To Be Like Walt book  Real Genius film Andrew Mason:Peacock VSCode extensionDrifting Ruby ep. 181- Intro to KubernetesDavid Kimura:Microk8s.io and ‘Microk8s.reset’ command Kubernetes Slack channelKurtis Rainbolt-Greene:Satisfactory gameKubernetes on Rails video seriesSpecial Guest: Kurtis Rainbolt-Greene. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
undefined
Apr 17, 2019 • 50min

RR 409: Turning Fat Models Into Skinny POROs with Jason Swett

SponsorsSentry use code “devchat” for 2 months freeTriplebyte $1000 signing bonusRedisgreenPanelCharles Max WoodDave KimuraSpecial Guest: Jason SwettEpisode SummaryJason 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.LinksPOROs- Plain Old Ruby ObjectsModelActive record modelsNamespaceService objectsValue objectsCSSForm objectTokensInitializerSingleton objectPicksDave Kimura:ReekKubernetesCharles Max Wood:Cloud66PodwrenchPodcasting boothNew podcasts coming to DevChat-- if you want to revive a podcast that has stopped airing, contact Charles Max WoodProgramming Podcasters Slack chatJason Swett:Practical Object Oriented Design in RubyRuby Testing PodcastCodewithjason.comSpecial Guest: Jason Swett. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
undefined
Apr 16, 2019 • 54min

RR 408: Zeitwerk with Xavier Noria

SponsorsTriplebyte $1000 signing bonusSentry use the code “devchat” for $100 creditRedisGreenPanelDavid KimuraEric BerryAndrew MasonJoined by special guest: Xavier NoriaEpisode SummaryThis 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.LinksZeitwerkKubernetesAPIHTMLConst-missing callbackNestingAncestorsModule outloadingBootsnapBootstrapAbsolute pathPicksDavid Kimura:Nerf GunsEric Barry:Octotree Chrome extensionXavier Noria:Time TrapSpecial Guest: Xavier Noria. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
undefined
Apr 9, 2019 • 51min

RR 407: Functional Programming in Ruby using Dry Gems with Igor Morozov

SponsorsSentry use the code “devchat” for 2 months free on Sentry small plan Triplebyte offers a $1000 signing bonus StovePipe StudiosCacheflyPanelCharles Max WoodAndrew MasonNate HopkinsDave KimuraEric BerryJoined by Special Guest: Igor MorozovSummaryThe 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.LinksElegant Objects by Yegor Bugayenkohttps://dry-rb.org/gems/dry-types/https://www.dreamsongs.com/Files/ObjectsHaveFailed.pdfhttps://www.morozov.is/2018/05/27/do-notation-ruby.html#https://github.com/hopsoft/ellingtonhttps://github.com/davydovantonhttps://crystal-lang.orgwww.morozov.ishttps://www.facebook.com/RubyRogueshttps://twitter.com/rubyroguesPicksDave KimuraNavePoint 42U Professional 4-Post IT Open Frame Server Network Relay Rack 1000mm Casters BlackSamsung 860 EVO 1TB 2.5 Inch SATA III Internal SSD (MZ-76E1T0B/AM)Nate Hopkinshttps://scoutapp.comhttps://redislabs.comhttps://github.com/renderedtext/render_asyncAndrew Masonhttps://luckyframework.org/Charles Max Woodhttps://codesync.global/conferences/code-beam-sf-2019/Fisherman's Wharf, San Francisco, CAhttps://podfestexpo.com/   Igor MorozovLifelong Kindergarten: Cultivating Creativity through Projects, Passion, Peers, and Play (The MIT Press) by Mitchel Resnick Special Guest: Igor Morozov. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
undefined
Apr 2, 2019 • 1h 8min

RR 406: How Hard is Ruby on Rails to Learn?

SponsorsSentry use the code “devchat” for 2 months free on Sentry small plan Triplebyte offers a $1000 signing bonus RedisGreenCacheflyPanelCharles Max WoodNate HopkinsDavid RichardsDave KimuraSummaryCharles 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?LinksPragmatic Thinking and Learning: Refactor Your Wetware by Andy Hunthttps://thinkster.io/https://www.railstutorial.org/http://learn-rails.com/learn-ruby-on-rails.htmlhttps://www.facebook.com/RubyRogueshttps://twitter.com/rubyroguesPicksNate Hopkinshttps://pragprog.com/book/rails5/agile-web-development-with-rails-5Company of One: Why Staying Small Is the Next Big Thing for Business by Paul Jarvis David RichardsA Philosophy of Software Design 1st Edition by John OusterhoutHow to Take Smart Notes: One Simple Technique to Boost Writing, Learning and Thinking – for Students, Academics and Nonfiction Book Writers 1st Edition by Sönke AhrensCharles Max Woodhttps://www.jamesfend.com/learned-ruby-rails-12-weeks-launch-freelancifyInfluence: The Psychology of Persuasion, Revised Edition by Robert B. CialdiniThat’s Influence by Robert B. CialdiniDave Kimurahttps://www.apple.com/shop/product/MJ2R2LL/A/magic-trackpad-2-silverhttps://products.office.com/en-us/microsoft-whiteboard/digital-whiteboard-appAdvertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
undefined
Mar 26, 2019 • 1h 7min

RR 405: Rubymotion with Lori Olson

SponsorsSentry use the code “devchat” for 2 months free on Sentry small plan Triplebyte offers a $1000 signing bonus CacheflyPanelNate HopkinsDave KimuraAndrew MasonCharles Max WoodJoined by Special Guest: Lori OlsonSummaryLori 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. Linkshttps://wndxschool.easywebinar.live/registrationhttp://www.rubymotion.com/news/2019/03/01/the-sleeping-dragon-has-awoken.htmlhttps://github.com/infinitered/redpotionhttp://rubymotionquery.comhttps://wndx.school/p/rubymotion-jumpstarthttps://github.com/rubymotion/BubbleWraphttps://rubymotionweekly.comhttps://www.reddit.com/r/ruby/comments/aovm41/a_renaissance_for_ruby_rubymotion_will_be/http://macruby.org/https://github.com/amirrajan/rubymotion-templateshttps://github.com/infinitered/bluepotionhttps://itunes.apple.com/ca/app/wimby/id1147353955?mt=8https://wimby.cahttps://wndx.school/p/6-pack-appshttps://coredatainmotion.com/https://motioneers.herokuapp.comhttps://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/amirrajanhttps://kotlinlang.org/https://devchat.tv/iphreaks/172-ips-kotlin-vs-swift-with-andrew-rahn/Picks Nate Hopkinshttps://www.focusatwill.comhttps://en.wikipedia.org/wiki/PsychDave Kimurahttps://nucleoapp.com/https://calendly.comAndrew Masonhttps://www.codewithjason.com/rails-testing-book/https://twitter.com/josh_cheekCharles Max Woodwww.vrbo.comwww.audible.comLori Olsonhttps://alteregoeffect.comhttps://www.jetbrains.com/ruby/Special Guest: Lori Olson. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
undefined
Mar 21, 2019 • 45min

RR 397: Oracle with Karthik Gaekwad

SponsorsSentry use the code "devchat" for $100 creditTripleByteCacheFly Panel David KamiraEric BerryAndrew Mason 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:Go to cloud.oracle.comClick the green “Try For Free” button to create your accountGo into the Oracle Cloud Console and start exploringPeople who sign up get $300 in free credits  Links: KubernetesOracle Cloud NativeCapistranoChefPuppetHirokuOracle FunctionsCNCF (Cloud Native Computing Foundation) Picks Andrew:Archipelago Eric:Desk Mini FridgeAsynci (in beta) David:Presonus Studio channel amplifier Karthik:Visual Studio CodeCloudnative.oracle.comKarthik’s team blogSpecial Guest: Karthik Gaekwad. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
undefined
Mar 19, 2019 • 50min

RR 404: Ruby Bindings & Extensions With FFI with Sean Handley

SponsorsSentry use the code “devchat” for 2 months free on Sentry small planTriplebyte offers a $1000 signing bonusCacheflyPanelAndrew MasonEric BerryDave KimuraJoined by Special Guest: Sean HandleySummarySean 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.Linkshttps://github.com/uber/h3https://nokogiri.org/Behind the Curvehttps://github.com/seanhandleyhttps://twitter.com/code_seanhttps://medium.com/@sean.handleyhttps://medium.com/stuart-engineeringhttps://www.facebook.com/RubyRogueshttps://twitter.com/rubyroguesPicksAndrew Masonhttp://strftimer.com/Sean Handleyhttps://vasyop.github.io/miniC-hosting/Dave Kimurahttps://www.foragoodstrftime.com/https://microk8s.io/Special Guest: Sean Handley. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
undefined
Mar 12, 2019 • 55min

RR 403: Rails Needs Active Deployment with Stefan Wintermeyer

SponsorsSentry use the code “devchat” for 2 months free on Sentry small planTriplebyte offers a $1000 signing bonusCacheflyPanel:Eric BerryDave KimuraAndrew MasonJoined by Special Guest: Stefan WintermeyerEpisode summaryStefan 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.Linkshttps://phusionpassenger.com/library/deploy/apache/deploy/ruby/https://nanobox.iohttps://cloud66.comhttps://www.hatchbox.iohttps://github.com/tongueroo/jackhttps://www.wintermeyer-consulting.dehttps://twitter.com/wintermeyerwww.facebook.com/RubyRogueswww.twitter.com/rubyroguesPicksEric Berry:https://www.intercom.com/Dave Kimura:https://probot.github.io/Andrew Mason:http://jack-eb.comSpecial Guest: Stefan Wintermeyer. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
undefined
Mar 5, 2019 • 60min

RR 402: Ruby 2.6.0 Bugs, Kafka, and Karafka with Maciej Mensfeld

SponsorsSentry use the code “devchat” for $100 creditTriplebyteCacheFlyPanelAndrew MasonEric BerryDave KimuraCharles Max WoodJoined by special guest: Maciej MensfeldEpisode SummaryIn 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.LinksKarafka frameworkRuby KafkaDeliveryBoyRacecarWaterDropDry LibrariesApache KafkaBug – Socket connect timeout exceeds timeout valueBug – ‘Numeric#zero?’  is much slower than ‘== 0’Mutant libraryMaciej’s blogMaciej’s GitHubRubyKaigiPicksEric Berry:Dave Kimura’s beautiful video setupAndrew Mason:Mac keyboard shortcut for nice screenshots: ⌘⌃ ⇧4 + space-bar and click on open window.Contributors’ names listed in the Readme file of the open source project – Andrew’s contributionDave Kimura:Gatorade powder - to mix with Amoxicillin for better tasteElgato Cam Link 4k (reason for the excellent video setup!)Charles Max Wood:Disney Heroes : Battle ModeKingdoms of HeckfireSpecial Guest: Maciej Mensfeld. Advertising Inquiries: https://redcircle.com/brandsPrivacy & Opt-Out: https://redcircle.com/privacyBecome a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app