

Ruby Rogues
Charles M Wood
Our original panel podcast, Ruby Rogues is a weekly discussion around Ruby, Rails, software development, and the community around Ruby.Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
Episodes
Mentioned books

Sep 25, 2018 • 39min
RR 381: “Ruby GUI Development” with Saverio Miroddi
Panel: Charles Max WoodDave KimuraEric Berry 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 Ruby25: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:Get a Coder Job CourseRubyShoesSaverio Miroddi’s GitHubSaverio Miroddi’s article, “Using scripts in any language for...”Saverio Miroddi’s article, “An overview of Desktop Ruby GUI Development in 2018”RhoMobileRuby MotionRuby GemsHackety HackNPM – NativefierSponsors:SentryDigital OceanGet a Coder Job CoursePicks:CharlesBooks – I have been devouring stuff on Audible. Personal growth tape – The Queen’s Poisoner by WheelerA View from the Top by Zig ZiglarCode BadgesDaveCommand strips – 3MNPM – NativefierEric2 courses, plus a 3rd! How to write an open sourceHow to Contribute to an Open Source Project on GitHubThe beginners guide to ReactFree courses on EggheadSaverioMovie: The FounderSpecial Guest: Saverio Miroddi. 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.

Sep 18, 2018 • 1h 1min
RR 380: "Deploying Ruby on Rails application using HAProxy Ingress with unicorn/puma and websockets" with Rahul Mahale
Panel: - Charles Max Wood- Dave Kimura- Eric Berry Special Guests: Rahul MahaleIn this episode of Ruby Rogues, the panel talks to Rahul Mahale. Rahul is a Senior DevOps Engineer at BigBinary in India. He has also worked with SecureDB Inc., Tiny Owl, Winjit Technologies among others. In addition, he attended the University of Pune. The panel and the guest talk about https://kubernetes.io.Show Topics:1:25 – https://www.teepublic.com/t-shirt/3074500-ruby-rogues?store_id=172938 1:49 – Chuck: Why are you famous?1:57 – Guest’s background.4:35 – Chuck: https://kubernetes.io – Anyone play with this?4:49 – Panelist: Yes. Funny situation, I was working with https://www.heroku.com/languages. https://www.heroku.com/languages is very costly, but great.The story continues...6:13 – Panelist: I was so overwhelmed with how difficult it was to launch a simple website. Now, that being said we were using the https://aws.amazon.com/eks/, which is the https://kubernetes.io. They don’t have nearly as much good tools, but that’s my experience.6:48 – Chuck: I haven’t tried https://kubernetes.io.8:58 – Rahul: I would like to add a few comments. Managing https://kubernetes.io service is not a big deal at the moment, but...11:19 – Panelist: You wouldn’t recommend people using https://kubernetes.io unless they were well versed? What is that term?11:40 – Rahul: Not anyone could use the https://kubernetes.io cluster. Let’s offer that complexity to another company that can handle and mange it.13:02 – The guest continues this conversation.14:02 – Panelist: I didn’t know that https://kubernetes.io needed different nodes.14:28 – Rahul continues this topic.15:05 – What hardware requirements do they need?15:19 – Rahul: Yes, they do need a good system. Good amount of memory. Good network space.15:45 – Panelist asks Rahul a question. 16:30 – Rahul: Let’s answer this into two parts. https://kubernetes.io topic is being discussed in detail. 18:41 – Chuck adds comments and asks a question.18:58 – Rahul talks about companies and programs. Check out this timestamp to hear his thoughts.20:42 – Another company is mentioned added to this conversation.21:55 – Additional companies mentioned: Google, Microsoft, IBM, etc. (Rahul)22:14 – Chuck: It’s interesting how much community plays a role into success stories. Whether or not it’s best technologies it comes down to where there are enough people to help me if I don’t know what to do.22:43 – Rahul: People, even enterprises, are there.23:15 – Chuck: At what point (let’s say I docked my app) should they be looking at https://kubernetes.io? Are you waiting on traffic? How do you make that call?23:56 – Rahul answers the questions.26:29 – Rahul: If your application is...27:13 – https://www.digitalocean.com/ 27:51 – Chuck: How does someone get started with https://kubernetes.io?27:53 – Rahul answers the question.30:00 – Chuck: It sounds like you have an amateur setup – Dave?30:21 – Dave: I think the problem is that there is not a https://kubernetes.io for dummies blog post. There has always been some sort of “gottcha!” As much as these documents say that there are solutions here and there, but you will see that there are networking issues. Once you get that up and running, then there are more issues at hand. The other strange thing is that once everything seems to be working okay, and then I started getting connectivity issues. It’s definitely not an afternoon project. It takes researching and googling. At the end, it takes a direction at large that the community is investing into.32:58 – Chuck makes additional comments.33:21 – Dave adds more comments. Sorry bad joke – Dave.33:40 – Topic – Virtualization.34:32 – Having Swamp is a good idea.34:44 – Rahul adds his comments.36:54 – Panelist talks about virtualization and scaling.37:45 – Rahul adds in comments about the ecosystems.38:21 – Panelist talks about server-less functions. 39:11 – Rahul: Not every application can...40:32 – Panelist: I guess the whole downside to...41:07 – Rahul talks about this.43:03 – Chuck to Eric: Any problems with https://kubernetes.io for you?43:05 – Eric: Yes – just spelling it! For me it feels like you are in a jet with all of these different buttons. There are 2 different types of developers. I am of DevOps-minded. That’s why we are getting solutions, and tools like Heroku to help. When I listen to this conversation, I feel quiet only because you guys are talking about spiders and I’m afraid of spiders.44:44 – Dave to Eric: Having information and knowledge about https://kubernetes.io will help you as a developer. Having some awareness can really help you as a developer.45:43 – Chuck: There are all these options to know about it – they way he is talking about it sounds like it’s the person on the jet. Don’t touch the red button and don’t’ cut the wrong wire! It feels like with software – it’s a beautiful thing – you erase it and reinstall it!46:50 – Dave: What? What are all of these crazy words?! What does this exactly mean? The visibility is definitely not there for someone who is just tinkering with it.47:16 – Rahul: It’s not for someone who is tinkering with it. Definitely.50:02 – Chuck: We have been talking about benefits of https://kubernetes.io – great. What kinds of processes to setup with https://kubernetes.io to make your life easier?50:40 Rahul answers the question.53:54 – Rahul’s Social Media Accounts – check them out under LINKS.54:29 – https://devchat.tv/get-a-coder-job/ Links:- https://www.teepublic.com/t-shirt/3074500-ruby-rogues?store_id=172938- https://devchat.tv/get-a-coder-job/- https://www.ruby-lang.org/en/- https://www.javascript.com- http://www.phoenixsoftware.com/ode.htm- https://www.heroku.com/languages- https://aws.amazon.com/eks/- https://kubernetes.io- https://cloud.google.com/kubernetes-engine/- https://kubernetes.io/docs/setup/minikube/- https://azure.microsoft.com/en-us/services/kubernetes-service/- https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/- https://github.com/kubernetes-incubator/kubespray- https://www.docker.com/products/docker-enterprise- https://rancher.com- https://www.katacoda.com/courses/kubernetesby Ben Hall- https://allthingsdevops.bigbinary.com- http://nanobox.com- https://cloud66.com- https://www.chef.io- https://puppet.com- https://www.ansible.com- https://www.saltstack.com- https://www.orangecomputers.com/node/- https://slashrahul.in-Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.

Sep 11, 2018 • 54min
RR 379: "Caching in Rails" with Jeff Kreeftmeijer
Panel: - Charles Max Wood- Dave Kimura- Eric Berry Special Guests: https://jeffkreeftmeijer.com In this episode of Ruby Rogues, the panel talks to https://jeffkreeftmeijer.com who is a Ruby and Elixir developer at https://appsignal.com. Jeff writes for the https://appsignal.com newsletter and has a blog. Check out today’s episode where the panel talks about AppSignal, Russian doll caching, Drifting Ruby, JavaScript Sprinkles, cache warming, N+1 plus other topics.Show Topics:2:47 – Code Fund & https://newrelic.com/?gclid=EAIaIQobChMIpbDg_MSz3QIVAhtpCh2qpgebEAAYASAAEgJnivD_BwE&utm_campaign=googlebrand+JM+ABM+Q1FY19+acq+NORAM&utm_medium=PS&utm_source=Google 3:40 – https://appsignal.com might be the only support for https://elixir-lang.org.4:12 – The integration, the ease was so simple and your (Jeff) documentation made it very easy.4:46 – Comparatively to New Relic, https://appsignal.com is cheaper, isn’t it?4:59 – We don’t charge for host, we charge per request. That’s where to difference in price comes from. You get a number of requests in your plan. https://appsignal.com – you pay for what you use.5:50 – Chuck has used New Relic in the past, but only pay for the month that he needs.6:07 – Panelist talks with Josh Adams and relays the conversation to the panel and the guest.6:48 – Eric to Dave: Do you run into this with https://www.driftingruby.com? Where people just pay for what they need and cancel afterwards.7:41 – Dave: Yes, I do come across this. There isn’t much you can do about it. People will do what they need to do.8:24 – Jeff: We don’t have a lot of this problem with https://appsignal.com. By the way, I have never done that before – you are all horrible! ☺9:02 – Chuck: Let’s dive into is what is your approach to performance on Rails?9:24 – We started the vlog series to help them with that. Sometimes you run into limits of what Ruby can do, and stuff like caching can help. It’s never really a single issue. That’s one of our challenges as a company to hook into everything (integration). We do support, per communication, to help with tech issues, but usually it’s set-up related. Everybody’s problems are different because everyone’s set-up is different.11:02 – Chuck: Most of these posts are about caching and other topics. I’m going to go to something that I misunderstood for a while and that is https://blog.appsignal.com/2018/04/03/russian-doll-caching-in-rails.html I didn’t quite make the connection in my head.11:40 – First, let’s talk about fragment caching.13:49 – Jeff explains https://blog.appsignal.com/2018/04/03/russian-doll-caching-in-rails.html 18:44 – Chuck makes comments and asks Jeff a question.19:43 – Jeff confirms the panelist’s answer.22:00 – Jeff: Another solution is https://github.com/avand/sprinkles 22:27 – Digital Ocean’s Advertisement.23:12 – Question from Chuck to Jeff.23:38 – Chuck talks about what he will discuss at the Summit conference in October.23:55 – Panelist has had experience with https://blog.appsignal.com/2018/04/03/russian-doll-caching-in-rails.html. Performance can be smoke in mirrors. Application he worked on before, we did tons of caching (query caching, https://blog.appsignal.com/2018/04/03/russian-doll-caching-in-rails.html, and others) it was all about handling the cache key.25:32 – More comments about caching from another panelist. https://www.section.io/blog/what-is-cache-warming/ is mentioned, too.26:46 – How do you utilize https://www.section.io/blog/what-is-cache-warming/?27:39 – Chuck asks a question.27:44 – Question answered.28:12 – Does something like this exist for http://www.phoenixsoftware.com/ode.htm?28:28 – Jeff: I don’t think there is something like that for http://www.phoenixsoftware.com/ode.htm.28:50 – Chuck: When do you want to use one caching over another caching?29:09 – Jeff: “Depends on a couple of things. https://blog.appsignal.com/2018/04/24/active-record-performance-the-n+1-queries-antipattern.html is a feature and that you “should” rely on https://blog.appsignal.com/2018/04/03/russian-doll-caching-in-rails.html, and generally that is not an accepted thing. You could do that, but that is applied to a specific thing. What do you guys think?”30:31 – Panelist: Rendering partials is an expensive endeavor.31:38 – This topic continues between panelists and Jeff.32:25 – Jeff: Fragment caching is a good fit for that.32:56 – Question: You have a blog, one of your posts that you talk about you discuss open source projects maintainable. Talk to me how that led you to write it?33:32 – Jeff: Three things you should not do, based on mistakes that I made in the past.1.) https://github.com/jeffkreeftmeijer/navvy – had adapters for everything.2.) Dropping support for older visions of your dependencies.3.) Hand over projects if you can’t help anymore.This whole article is based on me messing up.35:07 – Chuck makes some comments.35:27 – Panelist: Ran into a problem the other day, there is a dependency that hasn’t been updated in over a year. They are waiting to solve all issues. I submitted an issue to be resolved.37:02 – https://blog.appsignal.com/2018/04/24/active-record-performance-the-n+1-queries-antipattern.html – is it a bug or a feature?37:12 – If you do nothing with it then it is a bug.37:21 – Chuck: to me a bug is an issue. It’s not a bug it’s inefficiency unless you turn it into something else.37:42 – Jeff: https://blog.appsignal.com/2018/04/24/active-record-performance-the-n+1-queries-antipattern.html is an undesirable feature? It’s not necessarily a bug. You need a very reliable caching layer.38:25 – Chuck: What is a very reliable caching layer?38:38 – Jeff answers the question.40:50 – https://redis.io is mentioned.42:04 – Jeff (guest) comments on the panelists’ thoughts.42:37 – Picks?42:57 – https://devchat.tv/get-a-coder-job/ 43:34 – PicksLinks:- https://devchat.tv/get-a-coder-job/- https://www.ruby-lang.org/en/- https://www.javascript.com- http://www.phoenixsoftware.com/ode.htm- https://appsignal.com- https://blog.appsignal.com/2018/04/03/russian-doll-caching-in-rails.html- https://github.com/avand/sprinkles- https://www.section.io/blog/what-is-cache-warming/- https://blog.appsignal.com/2018/04/24/active-record-performance-the-n+1-queries-antipattern.html- https://redis.io- https://blog.appsignal.com/2018/03/20/fragment-caching-in-rails.html- https://github.com/thekompanee/fuubar- https://github.com/jeffkreeftmeijer/navvy- http://asciidoc.org- https://asciidoctor.org- https://meetme.so/ElixirMix- https://newrelic.com/?gclid=EAIaIQobChMIpbDg_MSz3QIVAhtpCh2qpgebEAAYASAAEgJnivD_BwE&utm_campaign=googlebrand+JM+ABM+Q1FY19+acq+NORAM&utm_medium=PS&utm_source=Google- https://elixir-lang.org-Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.

Sep 4, 2018 • 44min
RR 378: Ruby performance: MJIT with John Hawthorn
Panel: Charles Max WoodDavid RichardsDave KimuraEric Berry Special Guests: John HawthornIn 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:Get a Coder Job CourseRubyMJITPlaying with ruby's new JIT: MJIT by John HawthornRailsBootsnapSam SaffronJulia EvansTruffleRubybenchmark-ips@jhawthornjohnhawthorn.comJohn’s GitHub SponsorsSentryDigital OceanGet a Coder Job CoursePicks:CharlesIron Druid Chronicles by Kevin HearneZoomNotionEric BegayDaveSony WH-1000XM2Ryobi Bench SanderDavidStephen Fry in AmericaEricRemote for SlidesZoomJohnJulia Evans Blog PostsCelesteSpecial Guest: John Hawthorn. 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.

Aug 28, 2018 • 53min
RR 377: Upgrading a Rails application incrementally with Luke Francl
Panel: Dave KimuraEric Berry Special Guests: Luke FranclIn 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:Luke introWorking with Rails and ElasticsearchWhy he decided to come to GitHubSurreal working at GitHubWhat are some of the things that people take for granted with search?What people expect from searchWordpressGitHub has been very focused on the Microsoft deal recentlyCode SponsorGitHub/Microsoft owns open sourceOpen source todayKubernetesThe GitHub officeWhat was the process like of getting hired at GitHub?Build a Query Parser blog postUsing his search experienceRails incremental upgradesHis process of upgrading Rails applicationsUpgrading a Rails application incrementallyShort vs long upgrading processRails is fairly compatible between versionsAnd much, much more!Links:RailsElasticsearchGitHubWordpressCode SponsorKubernetesBuild a Query ParserUpgrading a Rails application incrementallyluke.francl.org@lofLuke’s BlogLuke’s GitHubSponsorsSentryDigital OceanGet a Coder Job CoursePicks:DaveScreenflowLED LightbulbsEricNavicat EssentialsLukeDesigning Data-Intensive Applications by Martin KleppmannSpecial Guest: Luke Francl. 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.

Aug 21, 2018 • 1h 7min
RR 376: "Ruby Performance" with Nate Berkopec
Panel: Charles Max WoodEric BerryDavid Richards Special Guests: Nate BerkopecIn 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:Nate introRuby and RailsWas on Shark TankWhat led you into Ruby performance?Always enjoyed the easily quantified parts of developmentPerformance work is very cut and dryWhy do you love Turbolinks?100ms to Glass with Rails and Turbolinks – Turbolinks articleThe beauty of TurbolinksThe Complete Guide to Rails PerformanceThe two benefits to performance workMaking things scalable and back-endEnd-user experienceCompiling JavaScriptDoes Ruby performance on the back-end really matter for the majority of cases?Making the experience feel fasterSearchAdmin actionsWhat would you do when you have a N+1 query problem?Finding a N+1 and fixing it on the back-endHow he fixes an N+1Bullet gemAnd much, much more!Links:RubyRailsTurbolinks100ms to Glass with Rails and Turbolinks – Turbolinks articleThe Complete Guide to Rails PerformanceJavaScriptBullet@nateberkopecnateberkopec.comNate’s GitHubSpeedshopSponsorsSentryDigital OceanFreshBooksPicks:CharlesGolf ClubsGet a Coder Job eBookGet a Coder Job Video CourseEricSurviving the Framework Hype Cycle by Brandon Hays - talkTaylorMade M1 DriverDavidEvery Chapter of Thinking Fast, and Slow in 7 Minutes by Conor DeweyPoem a dayNatejemallocQueer EyeKerbal Space Programkrpc for RubySpecial Guest: Nate Berkopec. 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.

Aug 14, 2018 • 58min
RR 375: "How to Contribute to Ruby" with Sihui Huang
Panel: Eric Berry Special Guests: Sihui HuangIn 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:Sihui introBack-end engineer at GustoWorking with Rails and RubyHow old is the app?How long have you been programming in Ruby?Why Ruby?Working with Ruby is like talking to a friend"How to Contribute to Ruby"What is your experience with Mats?Try to keep decision making as open as possibleThe three focuses for Ruby 3How Ruby is trying to achieve concurrencyRoom for improvementDo you see Ruby having a long time future?Ruby is not going anywhereThe philosophy of having a small teamThe assumption that you need a big team to have a big companyToolingMany core contributors don’t use Ruby themselvesEnjoying the languageType checkingWhat benefits come from type checking?Compilers to detect errorsAnd much, much more!Links:"How to Contribute to Ruby"GustoRailsRuby@sihui_iosihui.ioSihui’s GitHubSponsorsSentryDigital OceanFreshBooksPicks:EricGitcoin Ruby Developer CommunityCross StitchingSihuiHuman Behavior BiologyMini Habit Mastery on UdemySpecial Guest: Sihui Huang. 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.

Aug 7, 2018 • 51min
RR 374: Ruby 2.5 Enumerable Predicates Accept Pattern Argument WITH Prathamesh Sonpatki
Panel: Charles Max WoodDavid RichardsEric BerryDave Kimura Special Guests: Prathamesh SonpatkiIn 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:Prathamesh introWhat have you been doing with Rails 5?What have you been digging into with testing and features within Rails 5?Major changes with testing scenariosMore focus on end-to-end testingOld issues fixedUnit testing in RailsRefactoring on database cleaningCISM testsCypressExploring with Cypress and issues with itcapybara-webkitHating testingMike Moore talk referenceTesting across the board integrationUsing JavaScript in the front-endEnd-to-end testing makes more sense in some situationsWhat’s your testing approach for Rails 5 applications?Functional load testsCapybara level testsService object testsAnd much, much more!Links:BigBinaryRubyRubyConf IndiaRailsCypresscapybara-webkitPrathamesh’s GitHub@_cha1tanya@BigBinarySponsorsSentryDigital OceanFreshBooksPicks:CharlesWriting code for funNotion.soChuck@DevChat.tvEricthehotline.org1 (800) 799-SAFE (7233)DaveBoundaries with Kids by Henry CloudRhinoRampsPrathameshRubyConf IndiaSign up to speak at RubyConf IndiaRuby 2.6 BlogsSpecial Guest: Prathamesh Sonpatki. 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.

Jul 31, 2018 • 52min
RR 373: Super Good Software/Stembolt Technologies - Understanding Your Production Apps with Jared Norman
Panel: Charles Max WoodDavid RichardsEric BerryCatherine MeyersDave Kimura Special Guests: Jared NormanIn 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:Jared introFounder of Super Good SoftwareArticle - You Can’t Save Everyone: Some Exceptions Should Be Left AloneSolidus and SpreeRescue_from ExceptionInjecting special error reportingDon’t necessarily want to rescue all exceptionsInjecting an error reporting toolTrying to think of a good reason to rescue_from exceptionLoss of visibilityExceptional Ruby by Avdi GrimmRuby Rogues Episode 19When is capturing exceptions the right way to go?Using an exception when something is legitimately brokenproject-honeypotWhen exceptions are in a state that you don’t expectHaving enough information to attack problems when they ariseDig method for hashesElegance of Ruby that allows you to not work as hardDeveloping code for better exception handlingDeveloping with visibility in mindAnd much, much more!Links:RubySuper Good SoftwareRuby on RailsSolidusSpreeYou Can’t Save Everyone: Some Exceptions Should Be Left AloneExceptional Ruby by Avdi GrimmRuby Rogues Episode 19project-honeypotJared’s GitHub@SuperGoodJared@SuperGoodSoftSponsorsSentryDigital OceanFreshBooksPicks:CharlesHome Depot tool rentalPodcast MovementFramework SummitChuck@devchat.tvEric'Resting bitch face' is real, scientists say – CNN articleDavidBasin and Range by John McPheeCatherineScott’s Cheap FlightsDaveConfiguring a Sentry Server on Ubuntu 16.04 by DaveRe-engageJaredLiving ComputersfzffzySpecial Guest: Jared Norman. 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.

Jul 24, 2018 • 1h 6min
RR 372: Hiring with Mindaugas Mozūras
Panel: Charles Max WoodDavid RichardsEric BerryCatherine Meyers Special Guests: Mindaugas MozūrasIn 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:Mindaugas introIs it different to hire in Lithuania?It’s not easy to find great developersWhy is it so hard to find good developers?Are there programming boot-camps in Lithuania?Having the resources to train new developersHiring a balance between junior and senior developersJunior developers VS senior developersFear of hiring junior developersA USER GUIDE TO ME blog postWhy did you write this?How to RandsCommunicationHow do you write up job roles?Figuring out what you needHow they write up job ads differently at VintedWeekly one-on-ones and quarterly reviewsAllowing people to be who they are and fit openly into the companyNot forcing people to fit inside a certain “box”And much, much more!Links:VintedA USER GUIDE TO ME blog postHow to RandsMindaugas GitHubvinted.com/jobs@mmozurasCodingFearlessly.comSponsorsSentryDigital OceanFreshBooksPicks:CharlesSit down and write codeTake a minute for yourselfErichackajob.coThe Subtle Art of Not Giving a F*ck by Mark MansonDavidStudying to the HILT: Why Learning Should Look More Like Exercise by Jay LynchOutdoorsCatherineReset by Ellen PaoWomen Level UpMindaugasScaling Teams by Alexander Grossevim-anywhereSpecial Guest: Mindaugas Mozūras. 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.


