Our original panel podcast, Ruby Rogues is a weekly discussion around Ruby, Rails, software development, and the community around Ruby.
Similar Podcasts
![Flutter 101 Podcast](/images/channels/98/thumb.webp)
Flutter 101 Podcast
Weekly podcast focusing on software development with Flutter and Dart. Hosted by Vince Varga.
![Views on Vue](/images/channels/591/thumb.webp)
Views on Vue
Vue is a growing front-end framework for web developments. Hear experts cover technologies and movements within the Vue community by talking to members of the open source and development community.
![React Round Up](/images/channels/589/thumb.webp)
React Round Up
Stay current on the latest innovations and technologies in the React community by listening to our panel of React and Web Development Experts.
RR 402: Ruby 2.6.0 Bugs, Kafka, and Karafka with Maciej Mensfeld
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 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.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 PicksEric 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 contribution Dave Kimura: Gatorade powder - to mix with Amoxicillin for better taste Elgato Cam Link 4k (reason for the excellent video setup!) Charles Max Wood: Disney Heroes : Battle Mode Kingdoms of Heckfire Special Guest: Maciej Mensfeld.
RR 401: Environment Variables & Ruby with Jesus Castello
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 CastelloEpisode SummaryIn 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: Nobilechairs Epic Satechi Clamp Hub Andrew Mason:EugeneMayer/ docker-syncJesus Castello: Brakeman 4.4.0 Released acts_as_list GitHub awesome-print/awesome_print GitHub Ruby Deep Dive Eric Berry: CODEFUND Jobs Charles Wood: Canon EOS M6 (Black) EF-M 15-45mm f/3.5-6.3 IS STM Lens Kit Rode VideoMic GO Lightweight On-Camera Microphone with Integrated Rycote Shockmount Skyward by Brandon Sanderson Special Guest: Jesus Castello.
RR 400: Celebrating a Milestone - Ruby Rogues 400th Episode
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 PicksAndrew Kubernetes Failure Stories Release Notes Dave Netgear Orbi Wi-Fi system org Eric Rollbar A21 foundation Charles Operation Underground Railroad Villainous Board Game
RR 399: Jets Ruby Serverless Framework with Tung Nguyen
Sponsors Sentry use the code "devchat" for $100 creditPanel Andrew Mason Eric Berry Dave Kimura Charles Max Wood Nate Hopkins Special Guest: Tung NguyenEpisode SummaryIn 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 PicksNate Hopkins:Influence: The Psychology of PersuasionEric Berry: https://asyncy.com/ https://scoutapp.com Light Therapy Lamp Andrew Mason:H68G DroneDave Kimura: Microsoft Sculpt Ergonomic Keyboard for Business (5KV-00001) Inversion Table Charles Max Wood: The 1-Page Marketing Plan bu Allan Dib Cholesterol Clarity by Jimmy Moore The Keto Reset Diet by Mark Sisson Deseret Book Company Tung Nguyen:Profit First by Mike MichalowiczSpecial Guest: Tung Nguyen.
RR 398: Productivity with Mani Vaya
Get Mani's 10x Productivity Book Summaries Freedom App use the code “MANI” for 50% off life-time 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 VayaEpisode SummaryIn 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 PicksDavid:The Pragmatic Programmer by Andrew Hunt and David ThomasNate:Paul Graham - Maker's Schedule, Manager's ScheduleDave: Standing Desk from Micro CenterCharles: Standing Desk Floor MatAndrew: Make Your Own Bed - by William H. McRavenEric: Little Ways to Keep Calm and Carry On by Mark A. Reinecke PhD The Proven Power of Being Kind to Yourself by Dr. Kristin Neff Charles: Purple Seat Cushion Pomodoro Timer Mani: Do not disturb button at the bottom of your iPhone Special Guest: Mani Vaya.
RR 397: Oracle with Karthik Gaekwad
Sponsors Sentry use the code "devchat" for $100 credit TripleByte Special Guest: Karthik Gaekwad.
RR 396: GraphQL at Product Hunt with Radoslav Stankov
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 listeners47: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! PicksDave Swing Cars - for kids Dewalt USB charger Nate Multipliers - How the Best Leaders Make Everyone Smarter Jimmy Buffet songs - A Pirate looks at Forty, Come Monday CharlesFor listeners - Tag devchat episodes on tv or github.com/cmaxw/devchat-eleventy.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.“How to Get a Job” - Book in progress.Radoslav Marc-Andre GraphQL Schema Design at GraphQL summit The Phoenix Project Special Guest: Radoslav Stankov.
RR 395: Ruby in the Forbidden Land with Nathan Ruehs
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! PicksDave Safety glasses while working on wood projects. Die Hard movie Charles George Marathon in October 2019 Hire a running coach – on Mckirdy Clarity Nathan Real Maple Syrup Ubiquiti Special Guest: Nathan Ruehs.
RR 394: Cables, Concurrency, and Ruby 3x3 with Vladimir Dem
Panel: Eric Berry Dave Kimura Nate Hopkins Charles Max Wood 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: Get a Coder Job Course The DevRev Podcast Show Angular DevChat TV Ruby Elixir Ruby on Rails Angular Cypress Vue React Faye-Websocket-Ruby Anycable EMx 020 Episode Entreprogrammers: Episode 248 Socketry The Rails Doctrine Walmart: Invisible Glass Bose Wireless Headphones Netflix: Newsies / Broadway musical KanbanFlow Advent of Code Heroku Deployment Guest’s Twitter Guest’s Dev.to Guest’s GitHub Sponsors: Sentry CacheFly Fresh Books Picks:DaveInvisible GlassEric Bose Quiet Comfort Headphones Nate The Rails Doctrine Newsies Charles Kanban Flow EntreProgrammers The pomodoro technique masterhunt.com/devchat Vlad Advent of Code Any Cable Special Guest: Vladimir Dementyev.
RR 393: Speculation on Frameworks with the Panelists
Panel: Eric Berry Dave Kimura David Richards Charles Max Wood In this episode of Ruby Rogues, the panelists talk amongst themselves on today’s topic, which is “speculation on frameworks.” They consider where the tech community currently is right now, and where it’s heading towards the future. They bring-up topics such as: Rails, Ruby, Angular, Agile, and much more. Check it out!Show Topics:0:00 – Advertisement: Sentry.io 1:47 – Chuck: Check out the DevRev2:08 – Panel: A topic about “speculation” would be great today. What are we seeing in the community: what we like/don’t like, and what would you want to change?He talks about action text, JavaScript framework, and more. 3:41 – Chuck: Service-side rendering is what we talked about in the past. Divya does this with service–side rendering. For content sites that approach makes a lot of sense. I have playing around with this for the past week or so. I was taking it to rendering it to text.4:39 – Panel: Yeah, that’s the way to go.5:29 – Chuck: You are talking about a fully side UI.5:45 – Panel: I thought it was just my age so I am glad we are talking about this. The hip kids want to make these beautiful frontend sites. I want to keep it simple and then justify more later. I guess I would never be as hip but as long as my stuff gets out there – that’s all that matters to me.6:28 – Panel: Yeah don’t get me wrong...nobody will want to develop your product if it was built 30 years ago. If it is a startup you want it to look good with a nice UI. Nobody will purchase if it looks outdated. How much maintenance do I want to invest into this? Why add another component into that if you cannot maintain it.7:56 – Chuck: Yeah I have come into this issue while building the Podcast Service that I am creating.8:25 – Panel: These are good frameworks and they feel great. I don’t realize the complexity that I am taking on sometimes. I have a lot of complexity on my hands: did I need it?9:02 – Chuck: Sometimes my problem is that I am trying to pull it in after-the-fact. Like the forms to animate or this and that have to slide in. I want a natural feel to the UX. I looked at React and then I didn’t go that way. I have been podcasting about Angular for 4 years, but it was a no-go for my project. For my solution – it makes sense to just get it going and get it rolling.10:45 – Panel: When we do use Action Vue we are prone to get lazy. What I mean by that is making database calls.12:01 – Panel: You can think: Inside-Out! That creates an identity around the project. If I can think of that before going in, then everyone knows what we are doing and what their role is. It’s really obvious. Simple things grow into bigger things. I am a fan of service-side objects. It’s a daily work process. That feels good to me and it’s programmatic for me.13:24 – Chuck: You aren’t saying: I don’t want or I don’t need ... what you are saying is: I will get this tool when I need it.13:45 – Panel: You can say: “Hey this is what we are going to do and WHY we are going to do it.” It’s nice to come back to old projects and to see that it’s still solid. It’s nice to see that and people own that software and didn’t have to keep updating.15:06 – Chuck: It reminds me of the Agile development stuff. The approach between Angular and React and Vue are fairly different. They are reasonably different. There will be tradeoffs between which one to use. When you are making that decision then you can make the appropriate decision on that.16:10 – Panel: I remember in the prior years when the Rails community grew their own people and you were a RAILS person; now it’s you’re a WEB person. 17:43 – Panel: In a lot of cases it’s good to see what’s out there and to see what’s new; especially early on if they end up being ahead of their time. Then you are an early pioneer in that area. There’s nothing wrong with that, but when you are introducing new things into your core you are running into unforeseeable risks. I am not an early adapter of React, but I know enough of the pros and cons of the framework.19:48 – Panel: I like that. Maybe I “should” adapt that framework and maybe I am not the right person to do so.21:06 – Chuck: Dave brought us to a new topic and that’s: being an early adapter. Some people want a name, some people want to invent stuff and so many more reasons “why.” I don’t want to “poo poo” the idea but you need to know WHY.21:48 – Panel: The cost of developers is A LOT. I just think if I was building a house and I had that expense then I better get a really nice house out of it. I want to do a good job and that’s important. On the business – side they have to rely on us and decisions that are in the best interest for everyone.22:50 – 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: Get a Coder Job Course The DevRev Podcast Show Angular DevChat TV Ruby Elixir Ruby on Rails Angular Cypress Vue React Jest.io Mocha.js Book: Desert Cabal Habits for Hackers Home Depot: DeWalt Harbor Freight 11ty Masterminds Webinar Sponsors: Sentry CacheFly Fresh Books Picks:Dave Dewalt Drill Dust Collector David Habits for Hackers Desert Cabal (for funnies) Charles Mastermind Hunter 11ty.io
RR 392: Crystal and Lucky with Paul Smith & Andrew Mason
Panel: Eric Berry Charles Max Wood Nate Hopkins Special Guest: Paul Smith and Andrew MasonIn 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: Get a Coder Job Course The DevRev Podcast Show DevChat TV Ruby Elixir Ruby on Rails Angular Cypress Vue React Jest.io Mocha.js Webpacker-Cli Amber Lucky The Lucky Philosophy The Bike Shed Thoughtbot CodeFund Lucky: Ruby on Rails to Lucky on Crystal... “Crystal is not Ruby Part 1” GitHub: Bamboo Ex_Machina Dialyxir Crystal Mastery Samsung T5 Carbon Copy Cloner iMazing Awesome-Lucky Paul Smith GitHub Sponsors: Sentry CacheFly Fresh Books Picks:Nate Samsung SSD Carbon Copy Cloner Application EriciMazing HEIC ConverterCharlesMastodonAndrew Upcase by Thoughtbot Awesome Lucky Paul Tailwind CSS Phoenix Live HTML Chris McCord Elixir Mix Episodes with Chris McCord Special Guests: Andrew Mason and Paul Smith.
RR 391: Frontend Testing Like a Rubyist with Josh Justice
Panel: Dave Kimura Charles Max Wood Nate Hopkins 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: Get a Coder Job Course Ruby Ruby on Rails Angular Cypress Vue React VUE CLI 3 Jest.io Mocha.js GitHub: Istanbul The RSpec Book RR 068 Episode Ember CLI GitHub: Factory_Bot GitHub: VCR Big Nerd Ranch Big Nerd Ranch: Josh Justice / Team Manager The Bike Shed Keynote: Tom Dale @ EmberFest 2018 JSJ 291 Episode Serverless Article: Test-Induced Design Damage Video: Is TDD Dead? Music: Sub Conscious – Electronic / 2004 Music: Interloper / 2015 Disney Heroes: Battle Mode Google Play: Disney Heroes / Battle Mode Book Authoring Playlist Tom Dale’s Twitter Corey Haines’ Twitter Coding It Wrong Josh’s Twitter Josh’s GitHub Josh’s LinkedIn Josh’s Vimeo Video Sponsors: Sentry CacheFly Fresh Books Picks:Nate Phutureprimitive - Sub Conscious Carbon Based Lifeforms - Interloper Dave Dust collections system in Wood Shop Doctor Who - Theme Music Charles Authoring music Disney Hero Battles Josh Effecting Testing with RSpec 3 Growing Object-Oriented Software, Guided by Test XUnit Test Patterns Spectacle App Alfred App Special Guest: Josh Justice.
RR 390: Creating a Heroku-Like Deployment Solution with Docker with Pedro Cavalheiro
Panel: Dave Kimura Eric Berry Charles Max Wood Nate Hopkins 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: Get a Coder Job Course Ruby Ruby on Rails Angular React React Native Docker Kubernetes Heroku Beanstalk CodeFund Amazon S3 GitHub: Kubernetes IMDB – Pedro C. FB: RR – DevChat TV RR 382 Episode Pedro’s blog article: “Creating a Heroku-Like Deployment Solution with Docker” Comic of Code Compiling GitHub: Dokku/Dokku Digital Ocean: Dokku Digital Ocean: Cloud Hosting App Developers Love Pedro’s Website Pedro’s Twitter Pedro’s Crunchbase Pedro’s GitHub Sponsors: Sentry CacheFly Fresh Books Picks:Dave Legos Rubix’s Cube Eric Digital Ocean @samantha_tse @jna_sh @Zaltsman NateAlone - History Channel Charles MF CEO - Podcast Extreme Ownership - Book Drip TheDevRev.com Pedro Di.FM Shortcut Foo Special Guest: Pedro Cavalheiro.
RR 389: Developer Environment with the Panelists
Panel: David Kimura Eric Berry 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: Get a Coder Job Course Ruby Rust Ruby Motion Ruby on Rails Angular React React Native Komodo Bestand Duet Atom.io EasyRez Polymail.io Docker Adobe After Effects CC LogMeIn Brave 1 Password iTerm3 VS CODE iPad Pro Last Pass GoDrive Mojave EMAX Back Blaze Discord Sublime Text AWS Cloud9 StatCounter GitHub: Mert Bear App Process.st Pi-Hole Sponsors: Sentry Cache Fly Fresh Books Picks:Dave ProxMox Pi-Hole EricOpen Source Funders
RR 388: RuboCop and Code Linting with Bozhidar Batsov
Panel: Dave Kimura Charles (Chuck) Max Wood Nate Hopkins 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 tool3.) Automatic checker for all the best practices outlined in the community4.) Formatter for Ruby code – you can feed it ugly code and it will spin out beautiful code7: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: Get a Coder Job Course Ruby Rust Ruby Motion Ruby on Rails Angular Komodo Emacs RuboCop RuboCop – GitHub Stimulus reflex Messages: Share Screens Smittybilt Visual Studio Code: Introducing Visual Studio Live Share VRBO Bozhidar’s GitHub Bozhidar’s Twitter Bozhidar’s Patreon Bozhidar’s Open Collective Past EMx Episode 020 with Chris McCord! Sponsors: Sentry RubyMine Cache Fly Fresh Books Picks:Dave Tire Plugs VS Live Share NateShare Screen using Messages on MacCharles VRBO Find opportunities for R&R Rocket League Bozhidar Documentation for Markdown users Bear App Special Guest: Bozhidar Batsov.