POPULARITY
Panel: Charles Max Wood Guest: Trae Robrock This week on My Ruby Story, Charles talks to Trae Robrock. Trae founded and is currently the CTO of Green Bits which builds POS software for the legal cannabis industry. They have been in business for about 4 years now and are growing as the cannabis industry does. He first got into programming started when he was growing up and was always around computers. He started off writing clients for mIRC where he would write chat bots and code. He got into Ruby when he found that Twitter was written in Rails and noticed that he should probably learn about it so he could get a job after college. Now, he’s focusing on Green Bits and growing his team so that he can make it a successful business. In particular, we dive pretty deep on: Trae intro How did you first get into programming? Grew up around computers mIRC Chat client How did you get into web development and Ruby? Web development was the only free version of programming available HTML and PHP Got into Ruby in college CakePHP Ruby on Rails Job at Outright CakePHP vs Rails What have you done with Ruby that you are proud of? Building DSLs Making code more accessible to people Automation in coding DSL use case What are you working on now Tries to get into the code What resources have you found that help you? Relationship management How do you learn how to hire the right people? A lot of trial and error Philosophy of hire quickly and fire quickly And much, much more! Links: Ruby Green Bits mIRC PHP CakePHP Ruby on Rails Outright @TRobrock Trae’s YouTube Channel Trae’s Instagram Picks: Charles Hunting Hitler Podcast Blog React Dev Summit Ruby Dev Summit Have well-reasoned and calm conversations Ready Player One by Ernest Cline Trae Interactor Gem Crush It! by Gary Vaynerchuk Trae’s YouTube Channel
Panel: Charles Max Wood Guest: Trae Robrock This week on My Ruby Story, Charles talks to Trae Robrock. Trae founded and is currently the CTO of Green Bits which builds POS software for the legal cannabis industry. They have been in business for about 4 years now and are growing as the cannabis industry does. He first got into programming started when he was growing up and was always around computers. He started off writing clients for mIRC where he would write chat bots and code. He got into Ruby when he found that Twitter was written in Rails and noticed that he should probably learn about it so he could get a job after college. Now, he’s focusing on Green Bits and growing his team so that he can make it a successful business. In particular, we dive pretty deep on: Trae intro How did you first get into programming? Grew up around computers mIRC Chat client How did you get into web development and Ruby? Web development was the only free version of programming available HTML and PHP Got into Ruby in college CakePHP Ruby on Rails Job at Outright CakePHP vs Rails What have you done with Ruby that you are proud of? Building DSLs Making code more accessible to people Automation in coding DSL use case What are you working on now Tries to get into the code What resources have you found that help you? Relationship management How do you learn how to hire the right people? A lot of trial and error Philosophy of hire quickly and fire quickly And much, much more! Links: Ruby Green Bits mIRC PHP CakePHP Ruby on Rails Outright @TRobrock Trae’s YouTube Channel Trae’s Instagram Picks: Charles Hunting Hitler Podcast Blog React Dev Summit Ruby Dev Summit Have well-reasoned and calm conversations Ready Player One by Ernest Cline Trae Interactor Gem Crush It! by Gary Vaynerchuk Trae’s YouTube Channel
Panel: Charles Max Wood Guest: Trae Robrock This week on My Ruby Story, Charles talks to Trae Robrock. Trae founded and is currently the CTO of Green Bits which builds POS software for the legal cannabis industry. They have been in business for about 4 years now and are growing as the cannabis industry does. He first got into programming started when he was growing up and was always around computers. He started off writing clients for mIRC where he would write chat bots and code. He got into Ruby when he found that Twitter was written in Rails and noticed that he should probably learn about it so he could get a job after college. Now, he’s focusing on Green Bits and growing his team so that he can make it a successful business. In particular, we dive pretty deep on: Trae intro How did you first get into programming? Grew up around computers mIRC Chat client How did you get into web development and Ruby? Web development was the only free version of programming available HTML and PHP Got into Ruby in college CakePHP Ruby on Rails Job at Outright CakePHP vs Rails What have you done with Ruby that you are proud of? Building DSLs Making code more accessible to people Automation in coding DSL use case What are you working on now Tries to get into the code What resources have you found that help you? Relationship management How do you learn how to hire the right people? A lot of trial and error Philosophy of hire quickly and fire quickly And much, much more! Links: Ruby Green Bits mIRC PHP CakePHP Ruby on Rails Outright @TRobrock Trae’s YouTube Channel Trae’s Instagram Picks: Charles Hunting Hitler Podcast Blog React Dev Summit Ruby Dev Summit Have well-reasoned and calm conversations Ready Player One by Ernest Cline Trae Interactor Gem Crush It! by Gary Vaynerchuk Trae’s YouTube Channel
Panel: Charles Max Wood Guest: Derek Prior This week on My Ruby Story, Charles talks to Derek Prior. Derek speaks at conferences more often and is now a development director at Thought Bot. He first got into programming when was 7 or 8 when he got an Apple IIGS for Christmas and he started messing around with writing basic code. This really got him interested in how video games and systems worked behind the scenes and led to his interest in programming. In high school, he took programming classes and found he was actually good at it and decided to pursue programming in college. Once he was hired at Thought Bot, his developing skills really took off and he has been there for almost five years now. In particular, we dive pretty deep on: Derek intro Being a good developer doesn’t mean you’re a good developer manager How did you first get into programming? Apple IIGS as first computer Prodigy and AOL Visual Basic Basic and Pascal How did you get into being a full-time developer? IBM and Microsoft internships in college Learned Java in college How did you find Ruby? Ruby on Rails How he found Thought Bot Development skills took off at Thought Bot Likes to stay at a job for a long time How do you evaluate companies to see if you want to work there? How do you create the right environment at work? The importance of empowering employees Use company values to decide upon tough decisions And much, much more! Links: Ruby Thought Bot Visual Basic Pascal Java Rails @DerekPrior Derek’s GitHub Picks: Charles Ruby Dev Summit Ruby Hack Derek Base.cs podcast Lucky Framework The Weekend Woodworker
Panel: Charles Max Wood Guest: Derek Prior This week on My Ruby Story, Charles talks to Derek Prior. Derek speaks at conferences more often and is now a development director at Thought Bot. He first got into programming when was 7 or 8 when he got an Apple IIGS for Christmas and he started messing around with writing basic code. This really got him interested in how video games and systems worked behind the scenes and led to his interest in programming. In high school, he took programming classes and found he was actually good at it and decided to pursue programming in college. Once he was hired at Thought Bot, his developing skills really took off and he has been there for almost five years now. In particular, we dive pretty deep on: Derek intro Being a good developer doesn’t mean you’re a good developer manager How did you first get into programming? Apple IIGS as first computer Prodigy and AOL Visual Basic Basic and Pascal How did you get into being a full-time developer? IBM and Microsoft internships in college Learned Java in college How did you find Ruby? Ruby on Rails How he found Thought Bot Development skills took off at Thought Bot Likes to stay at a job for a long time How do you evaluate companies to see if you want to work there? How do you create the right environment at work? The importance of empowering employees Use company values to decide upon tough decisions And much, much more! Links: Ruby Thought Bot Visual Basic Pascal Java Rails @DerekPrior Derek’s GitHub Picks: Charles Ruby Dev Summit Ruby Hack Derek Base.cs podcast Lucky Framework The Weekend Woodworker
Panel: Charles Max Wood Guest: Derek Prior This week on My Ruby Story, Charles talks to Derek Prior. Derek speaks at conferences more often and is now a development director at Thought Bot. He first got into programming when was 7 or 8 when he got an Apple IIGS for Christmas and he started messing around with writing basic code. This really got him interested in how video games and systems worked behind the scenes and led to his interest in programming. In high school, he took programming classes and found he was actually good at it and decided to pursue programming in college. Once he was hired at Thought Bot, his developing skills really took off and he has been there for almost five years now. In particular, we dive pretty deep on: Derek intro Being a good developer doesn’t mean you’re a good developer manager How did you first get into programming? Apple IIGS as first computer Prodigy and AOL Visual Basic Basic and Pascal How did you get into being a full-time developer? IBM and Microsoft internships in college Learned Java in college How did you find Ruby? Ruby on Rails How he found Thought Bot Development skills took off at Thought Bot Likes to stay at a job for a long time How do you evaluate companies to see if you want to work there? How do you create the right environment at work? The importance of empowering employees Use company values to decide upon tough decisions And much, much more! Links: Ruby Thought Bot Visual Basic Pascal Java Rails @DerekPrior Derek’s GitHub Picks: Charles Ruby Dev Summit Ruby Hack Derek Base.cs podcast Lucky Framework The Weekend Woodworker
Panel: Brian Hogan Dave Kimura Eric Berry Special Guest: Adam Cuppy In this episode, the Ruby Rogues speaks with Adam Cuppy. Adam is the co-founder of Zeal. Zeal is a software consultancy that specializes in Rails, React, and Elixir. In his earlier experience, he was a professional actor. Adam talks about his journey from actor to a developer, and his self-taught experience as he dived into coding for a creative company and learned about marketing. Adam is on Ruby Rouges to talks about his current talk on Rapidly Mapping API Schemas in Ruby. Adam recently presented this topic to the annual Ruby Dev Summit. In particular, we dive pretty deep on: Transition to Developer Web applications Creative and Artistry Rapidly Mapping API Schemas in Ruby Is this similar to Zappier? Meta Programming Hash Client Object Calling Data Being self taught and becoming aware of patterns Design patterns PHP framework and intro to Rails NVC Inspiration to build Communication among the team is the first code you write What if Shakespeare wrote Ruby? Write and tell a new story Failure is not that common - Break stuff. and much much more. Links: Zeal @adamcuppy github.com/acuppy Picks: Dave Drifting Ruby Podcast Adam The Daily Stoic Profit First Interestings Podcast Eric Bottega Brian officehours.io
Panel: Brian Hogan Dave Kimura Eric Berry Special Guest: Adam Cuppy In this episode, the Ruby Rogues speaks with Adam Cuppy. Adam is the co-founder of Zeal. Zeal is a software consultancy that specializes in Rails, React, and Elixir. In his earlier experience, he was a professional actor. Adam talks about his journey from actor to a developer, and his self-taught experience as he dived into coding for a creative company and learned about marketing. Adam is on Ruby Rouges to talks about his current talk on Rapidly Mapping API Schemas in Ruby. Adam recently presented this topic to the annual Ruby Dev Summit. In particular, we dive pretty deep on: Transition to Developer Web applications Creative and Artistry Rapidly Mapping API Schemas in Ruby Is this similar to Zappier? Meta Programming Hash Client Object Calling Data Being self taught and becoming aware of patterns Design patterns PHP framework and intro to Rails NVC Inspiration to build Communication among the team is the first code you write What if Shakespeare wrote Ruby? Write and tell a new story Failure is not that common - Break stuff. and much much more. Links: Zeal @adamcuppy github.com/acuppy Picks: Dave Drifting Ruby Podcast Adam The Daily Stoic Profit First Interestings Podcast Eric Bottega Brian officehours.io
Panel: Brian Hogan Dave Kimura Eric Berry Special Guest: Adam Cuppy In this episode, the Ruby Rogues speaks with Adam Cuppy. Adam is the co-founder of Zeal. Zeal is a software consultancy that specializes in Rails, React, and Elixir. In his earlier experience, he was a professional actor. Adam talks about his journey from actor to a developer, and his self-taught experience as he dived into coding for a creative company and learned about marketing. Adam is on Ruby Rouges to talks about his current talk on Rapidly Mapping API Schemas in Ruby. Adam recently presented this topic to the annual Ruby Dev Summit. In particular, we dive pretty deep on: Transition to Developer Web applications Creative and Artistry Rapidly Mapping API Schemas in Ruby Is this similar to Zappier? Meta Programming Hash Client Object Calling Data Being self taught and becoming aware of patterns Design patterns PHP framework and intro to Rails NVC Inspiration to build Communication among the team is the first code you write What if Shakespeare wrote Ruby? Write and tell a new story Failure is not that common - Break stuff. and much much more. Links: Zeal @adamcuppy github.com/acuppy Picks: Dave Drifting Ruby Podcast Adam The Daily Stoic Profit First Interestings Podcast Eric Bottega Brian officehours.io
Panel: Charles Max Wood Dave Kimura Special Guest: Hal Fulton In this episode, the Ruby Rouges speak with Hal Fulton. Hal is one of the first few people to learn the Ruby language in the beginning from the Japanese. Hal describes the history Ruby and his journey to before an author of the book The Ruby Way. This book was one of the few foundational elements Ruby developers of today. Hal has recently presented at the Ruby Dev Summit, on Is Elixir the new Ruby? The panel asks questions about, how or if, Elixir is possibly out there to replace Ruby. Hal talks about the pros and con of Ruby in today’s world fo development. Also, the practicality of Elixir and how it fits into our world today. In particular, we dive pretty deep on: Hal talks about the history of Ruby Ruby does not handle multiple processors The Free Lunch is Over - Moore’s Law The future is in multiple core and or processors OOP or FP Immutability Rail helped Ruby in the uptake Speed and Threads of Elixir Phoenix Erline, Raya - Elixir Elixer is easier on the eyes as far as syntax Tools you are using can wear you down What is Elixir missing? Time and Date issues and much much more. Links: The Ruby Way http://therubyway.io https://github.com/hal9000 @hal9000 Picks: Hal The Secret History - Books The Shadow of the Wind - Book The Mars Society - Organization The Long Now Foundation - Organization Gesture App for iPad Dave Interact JS Chuck Getting back into Coding egghead.io devchat.tv/15minutes
Panel: Charles Max Wood Dave Kimura Special Guest: Hal Fulton In this episode, the Ruby Rouges speak with Hal Fulton. Hal is one of the first few people to learn the Ruby language in the beginning from the Japanese. Hal describes the history Ruby and his journey to before an author of the book The Ruby Way. This book was one of the few foundational elements Ruby developers of today. Hal has recently presented at the Ruby Dev Summit, on Is Elixir the new Ruby? The panel asks questions about, how or if, Elixir is possibly out there to replace Ruby. Hal talks about the pros and con of Ruby in today’s world fo development. Also, the practicality of Elixir and how it fits into our world today. In particular, we dive pretty deep on: Hal talks about the history of Ruby Ruby does not handle multiple processors The Free Lunch is Over - Moore’s Law The future is in multiple core and or processors OOP or FP Immutability Rail helped Ruby in the uptake Speed and Threads of Elixir Phoenix Erline, Raya - Elixir Elixer is easier on the eyes as far as syntax Tools you are using can wear you down What is Elixir missing? Time and Date issues and much much more. Links: The Ruby Way http://therubyway.io https://github.com/hal9000 @hal9000 Picks: Hal The Secret History - Books The Shadow of the Wind - Book The Mars Society - Organization The Long Now Foundation - Organization Gesture App for iPad Dave Interact JS Chuck Getting back into Coding egghead.io devchat.tv/15minutes
Panel: Charles Max Wood Dave Kimura Special Guest: Hal Fulton In this episode, the Ruby Rouges speak with Hal Fulton. Hal is one of the first few people to learn the Ruby language in the beginning from the Japanese. Hal describes the history Ruby and his journey to before an author of the book The Ruby Way. This book was one of the few foundational elements Ruby developers of today. Hal has recently presented at the Ruby Dev Summit, on Is Elixir the new Ruby? The panel asks questions about, how or if, Elixir is possibly out there to replace Ruby. Hal talks about the pros and con of Ruby in today’s world fo development. Also, the practicality of Elixir and how it fits into our world today. In particular, we dive pretty deep on: Hal talks about the history of Ruby Ruby does not handle multiple processors The Free Lunch is Over - Moore’s Law The future is in multiple core and or processors OOP or FP Immutability Rail helped Ruby in the uptake Speed and Threads of Elixir Phoenix Erline, Raya - Elixir Elixer is easier on the eyes as far as syntax Tools you are using can wear you down What is Elixir missing? Time and Date issues and much much more. Links: The Ruby Way http://therubyway.io https://github.com/hal9000 @hal9000 Picks: Hal The Secret History - Books The Shadow of the Wind - Book The Mars Society - Organization The Long Now Foundation - Organization Gesture App for iPad Dave Interact JS Chuck Getting back into Coding egghead.io devchat.tv/15minutes
Panel: Charles Max Wood Dave Kimura Special Guest: Amir Rajan In this episode, the Ruby Rouges speak with Amir Rajan. Amir is a game developer and is the most successful Ruby game developer. Amir is also the owner/CEO of RubyMotion. RubyMotion allows you to write Ruby for the Mac platform. Amir will be speaking at Ruby Dev Summit this fall. Amir talks about being apart of not web part of Ruby and the innovation including mobile. The panel discusses building application for mobile in Ruby Motion and the OS platform. The panel also discusses the easy of building with RubyMotion and how the language has come along way since Mac Ruby and others. Also, how to get started and all installations required to build with RubyMotion. In particular, we dive pretty deep on: Ruby - not on the web Mobile Ruby Google and Android don’t provide the same thing for app building. Mac Ruby Language Translation compiler LLVM bit code - Low-level virtual machine How RubyMotion works with LLVM Complier backends LLVM Kaleidoscope Understand one level below Ruby Ruby Source code Learning RubyMotion - Red Potion, AF Motion, Bubble Wrap Masonry Understanding Apple’s documentation Ruby Motion does Android Why pick RubyMotion? and much much more. Links: We are the designated survivors/digging into Ruby: Heredoc pull request LLVM Kaleidoscope RubyMotion Twich - Game Development with Ruby Amir Rajan @amirranjan Picks: Amir Nier: Automata Idle Thumbs Podcast Literate Gamer Podcast (favorite show) Dave Rerun Chuck Ruby Gems FriendlyID Ice_Cube Recurring_Select
Panel: Charles Max Wood Dave Kimura Special Guest: Amir Rajan In this episode, the Ruby Rouges speak with Amir Rajan. Amir is a game developer and is the most successful Ruby game developer. Amir is also the owner/CEO of RubyMotion. RubyMotion allows you to write Ruby for the Mac platform. Amir will be speaking at Ruby Dev Summit this fall. Amir talks about being apart of not web part of Ruby and the innovation including mobile. The panel discusses building application for mobile in Ruby Motion and the OS platform. The panel also discusses the easy of building with RubyMotion and how the language has come along way since Mac Ruby and others. Also, how to get started and all installations required to build with RubyMotion. In particular, we dive pretty deep on: Ruby - not on the web Mobile Ruby Google and Android don’t provide the same thing for app building. Mac Ruby Language Translation compiler LLVM bit code - Low-level virtual machine How RubyMotion works with LLVM Complier backends LLVM Kaleidoscope Understand one level below Ruby Ruby Source code Learning RubyMotion - Red Potion, AF Motion, Bubble Wrap Masonry Understanding Apple’s documentation Ruby Motion does Android Why pick RubyMotion? and much much more. Links: We are the designated survivors/digging into Ruby: Heredoc pull request LLVM Kaleidoscope RubyMotion Twich - Game Development with Ruby Amir Rajan @amirranjan Picks: Amir Nier: Automata Idle Thumbs Podcast Literate Gamer Podcast (favorite show) Dave Rerun Chuck Ruby Gems FriendlyID Ice_Cube Recurring_Select
Panel: Charles Max Wood Dave Kimura Special Guest: Amir Rajan In this episode, the Ruby Rouges speak with Amir Rajan. Amir is a game developer and is the most successful Ruby game developer. Amir is also the owner/CEO of RubyMotion. RubyMotion allows you to write Ruby for the Mac platform. Amir will be speaking at Ruby Dev Summit this fall. Amir talks about being apart of not web part of Ruby and the innovation including mobile. The panel discusses building application for mobile in Ruby Motion and the OS platform. The panel also discusses the easy of building with RubyMotion and how the language has come along way since Mac Ruby and others. Also, how to get started and all installations required to build with RubyMotion. In particular, we dive pretty deep on: Ruby - not on the web Mobile Ruby Google and Android don’t provide the same thing for app building. Mac Ruby Language Translation compiler LLVM bit code - Low-level virtual machine How RubyMotion works with LLVM Complier backends LLVM Kaleidoscope Understand one level below Ruby Ruby Source code Learning RubyMotion - Red Potion, AF Motion, Bubble Wrap Masonry Understanding Apple’s documentation Ruby Motion does Android Why pick RubyMotion? and much much more. Links: We are the designated survivors/digging into Ruby: Heredoc pull request LLVM Kaleidoscope RubyMotion Twich - Game Development with Ruby Amir Rajan @amirranjan Picks: Amir Nier: Automata Idle Thumbs Podcast Literate Gamer Podcast (favorite show) Dave Rerun Chuck Ruby Gems FriendlyID Ice_Cube Recurring_Select
0:15 We’re live! Let take our shirts up and talk about X. John talks about his recent shit storm rant on YouTube. John mention some had told him about starting a Twich channel. John says he likes doing the live videos and he gets great audience interaction with live video. 5:00 John talks about doing a live show called “Let Take Our Shirts Off and Talk About…” The Ted talks about Simple Programmer. 6:30 Josh mentions catching up on sleep after a trip to Wisconsin, for a Perry Marshall Round Table meeting. Josh talks about the ins and outs of building the membership program for their products. Josh talks about the direction their product or programs are about, after analyzing the marketing and platform. 11:45 Josh talk about defining what this membership off is about before launching it. John and Josh talk about how this would be a different kind of launch. 15:50 Chuck mentions that Thrive Cart is still in beta and only by invitation. Josh talk about the 900 amazon bill and bring that bill down. John talks about the membership course and products. Josh talks about setting up some email redirects. 19:00 John talks about recording 40 chapters of his audiobook, and 20 chapters to go. John talks about the crude language and titles of his YouTube videos, and how they don’t something serve the buttoned-up business corporations. 22:00 Chuck talks about the numbers of attendees of the Ruby Dev Summit and Angular Dev Summit. But some were paid passes and free passes to the conferences. 25:00 Chuck talks about some of the topics like machine learning and how nothing has really changed in Ruby, but on other platforms have constant change 27:00 John talks about finding an audience with those who were unpaid attendees to the recent conferences. Chuck talks about updating the websites and sites for the conferences. 31:00 Josh says that these different elements of the conferences help build Chuck’s podcast empire. The EntreProgrammers suggest the many ideas to help Chuck with making a profit on the conference tickets. Chuck talks about the pricing model for the conferences. 42:00 The EntreProgrammers talks about the various ways to make money from conferences paid or fee. John lists off several ways to create revenue streams from these annual conferences. 45:00 Chuck talks about the speakers doing talks for free and ways compensate them. John talks about the doing affiliate links and paying a percentage of the ticket sales. 55:00 Chuck talks about setting up the conferences as a kind of lead magnet for emails or product sales. Josh talks about talks with a person whose was not ready to become an e-commerce store. John says e-commerce is very different. 1:00:00 Chuck says that everyone he has talked to says he needs to get the sponsorship stuff down. John again talks about spinning up more podcasts and podcast audience. More podcasts views, listeners, downloads, equals more money for sponsorships. Thoughts for the Week Chuck - Take a break when you need one. John - Show up consistently to not fear failure Josh - Getting away, getting clear
Panel: Charles Max Wood Eric Berry Special Guest: Justin Weiss In this episode, the Ruby Rouges speak with Justin Weiss. Justin is a software developer for aha.io, blogs at justinweiss.com, and is also the book author of Practicing Rails: Learn Rails without being overwhelmed. Justin gives a preview of his presentation at Ruby Dev Summit , which is about exploring connections between your apps and the web. Ruby Rogues and Justin dive deep into questions about testing apps with an array of tools to see how that information is relevant in exploring connectivity and working parts of apps. In particular, we dive pretty deep on: Apps becoming of the web instead of running on the web Breaking into the connection between your apps or native client and your mode APIs Micro Services Finding the pain points Where to start to begin open visibility Deploy and looking at logs - Gems and Libraries. Tooling - API requests manually - Postman app , PAW Automation or one-off tools When something breaks, what kind of information is relevant Figuring out what part of the apps are working well and reproducing problems Error Logs Sandi Metz Principle Authentication and Authorization Characterizing and much much more. Links: Aha.io Justin Weiss Practicing Rails: Learn Rails without being overwhelmed justinweiss.com Postman app PAW Advance Rest Client Charles proxy @JustinWeiss Picks: Eric Pry - Rails, Remote, Stack Explore, Doc, Nav CodeSponsor.io Justin Books - The 3 Book Problem Chuck Ruby Dev Summit Angular Bundle ThriveCart.com Chuck@DevChat.tv
Panel: Charles Max Wood Eric Berry Special Guest: Justin Weiss In this episode, the Ruby Rouges speak with Justin Weiss. Justin is a software developer for aha.io, blogs at justinweiss.com, and is also the book author of Practicing Rails: Learn Rails without being overwhelmed. Justin gives a preview of his presentation at Ruby Dev Summit , which is about exploring connections between your apps and the web. Ruby Rogues and Justin dive deep into questions about testing apps with an array of tools to see how that information is relevant in exploring connectivity and working parts of apps. In particular, we dive pretty deep on: Apps becoming of the web instead of running on the web Breaking into the connection between your apps or native client and your mode APIs Micro Services Finding the pain points Where to start to begin open visibility Deploy and looking at logs - Gems and Libraries. Tooling - API requests manually - Postman app , PAW Automation or one-off tools When something breaks, what kind of information is relevant Figuring out what part of the apps are working well and reproducing problems Error Logs Sandi Metz Principle Authentication and Authorization Characterizing and much much more. Links: Aha.io Justin Weiss Practicing Rails: Learn Rails without being overwhelmed justinweiss.com Postman app PAW Advance Rest Client Charles proxy @JustinWeiss Picks: Eric Pry - Rails, Remote, Stack Explore, Doc, Nav CodeSponsor.io Justin Books - The 3 Book Problem Chuck Ruby Dev Summit Angular Bundle ThriveCart.com Chuck@DevChat.tv
Panel: Charles Max Wood Eric Berry Special Guest: Justin Weiss In this episode, the Ruby Rouges speak with Justin Weiss. Justin is a software developer for aha.io, blogs at justinweiss.com, and is also the book author of Practicing Rails: Learn Rails without being overwhelmed. Justin gives a preview of his presentation at Ruby Dev Summit , which is about exploring connections between your apps and the web. Ruby Rogues and Justin dive deep into questions about testing apps with an array of tools to see how that information is relevant in exploring connectivity and working parts of apps. In particular, we dive pretty deep on: Apps becoming of the web instead of running on the web Breaking into the connection between your apps or native client and your mode APIs Micro Services Finding the pain points Where to start to begin open visibility Deploy and looking at logs - Gems and Libraries. Tooling - API requests manually - Postman app , PAW Automation or one-off tools When something breaks, what kind of information is relevant Figuring out what part of the apps are working well and reproducing problems Error Logs Sandi Metz Principle Authentication and Authorization Characterizing and much much more. Links: Aha.io Justin Weiss Practicing Rails: Learn Rails without being overwhelmed justinweiss.com Postman app PAW Advance Rest Client Charles proxy @JustinWeiss Picks: Eric Pry - Rails, Remote, Stack Explore, Doc, Nav CodeSponsor.io Justin Books - The 3 Book Problem Chuck Ruby Dev Summit Angular Bundle ThriveCart.com Chuck@DevChat.tv
Panel: Charles Max Wood Dave Kimura Eric Berry Brian Hogan Special Guest: Fabio Akita The Ruby Rouges speak with Fabio Akita, a return guess. Fabio is a blogger at AkitaOnRails.com and is an organizer and speaker at Ruby Dev. Conf. Brazil. Fabio mentions have minor open source projects. Fabio talks revolve around “How do you as a Ruby Developer, dive into new languages,” such as Crystal and Elixir. Fabio will be speaking on the upcoming Ruby Dev Summit. In particular, we dive pretty deep on: Should we just all just go to Elixir? Problems with choosing and staying with one language? Ruby is a ZPE language or 0.8 languages. Ruby on Rail was never a full solution. Elixir is not a difficult language, object-oriented, and functional. Elixir is linked an operating system. What drove you to Elixir? When new languages come up to replace something you already have… Crystal is a getting a stable API in a few months. LLVM - Low-Level Virtual Machine, or compiler framework Copy and pasting your Ruby code into the Crystal compiler Dropbox client running on python Using Rabbit MQ and much more. Links: • @AkitaOnRails •@RubyconfBR •Codeminer42 facebook.com/akitaonrails Picks: Eric •imazing Dave •Apple Watch Chuck •Just Keep Going… Brian •Plug Rails Cookies Sessions Store Dry Fabio Kamel Discord
Panel: Charles Max Wood Dave Kimura Eric Berry Brian Hogan Special Guest: Fabio Akita The Ruby Rouges speak with Fabio Akita, a return guess. Fabio is a blogger at AkitaOnRails.com and is an organizer and speaker at Ruby Dev. Conf. Brazil. Fabio mentions have minor open source projects. Fabio talks revolve around “How do you as a Ruby Developer, dive into new languages,” such as Crystal and Elixir. Fabio will be speaking on the upcoming Ruby Dev Summit. In particular, we dive pretty deep on: Should we just all just go to Elixir? Problems with choosing and staying with one language? Ruby is a ZPE language or 0.8 languages. Ruby on Rail was never a full solution. Elixir is not a difficult language, object-oriented, and functional. Elixir is linked an operating system. What drove you to Elixir? When new languages come up to replace something you already have… Crystal is a getting a stable API in a few months. LLVM - Low-Level Virtual Machine, or compiler framework Copy and pasting your Ruby code into the Crystal compiler Dropbox client running on python Using Rabbit MQ and much more. Links: • @AkitaOnRails •@RubyconfBR •Codeminer42 facebook.com/akitaonrails Picks: Eric •imazing Dave •Apple Watch Chuck •Just Keep Going… Brian •Plug Rails Cookies Sessions Store Dry Fabio Kamel Discord
Panel: Charles Max Wood Dave Kimura Eric Berry Brian Hogan Special Guest: Fabio Akita The Ruby Rouges speak with Fabio Akita, a return guess. Fabio is a blogger at AkitaOnRails.com and is an organizer and speaker at Ruby Dev. Conf. Brazil. Fabio mentions have minor open source projects. Fabio talks revolve around “How do you as a Ruby Developer, dive into new languages,” such as Crystal and Elixir. Fabio will be speaking on the upcoming Ruby Dev Summit. In particular, we dive pretty deep on: Should we just all just go to Elixir? Problems with choosing and staying with one language? Ruby is a ZPE language or 0.8 languages. Ruby on Rail was never a full solution. Elixir is not a difficult language, object-oriented, and functional. Elixir is linked an operating system. What drove you to Elixir? When new languages come up to replace something you already have… Crystal is a getting a stable API in a few months. LLVM - Low-Level Virtual Machine, or compiler framework Copy and pasting your Ruby code into the Crystal compiler Dropbox client running on python Using Rabbit MQ and much more. Links: • @AkitaOnRails •@RubyconfBR •Codeminer42 facebook.com/akitaonrails Picks: Eric •imazing Dave •Apple Watch Chuck •Just Keep Going… Brian •Plug Rails Cookies Sessions Store Dry Fabio Kamel Discord
[ Dinle ]Ruby Türkiye Buluşmaları23 Eylül Buluşması13 Ekim Ankara Buluşması18 Ekim İstanbul #3 BuluşmasıRuby Türkiye Youtube KanalıCould we drop Symbols from Ruby?Ruby Dev SummitModule Builder PatternHanami released v1.1.0.beta3Introducing to SurrealistAccess Ruby Hash Values with Fallbacks for Missing DataRuby Arrays in some wordsRuby 2.4 has optimized enumerable min max methodsWhat Did I Learn After Going Eighteen Months Without RailsRöportaj: Leyla KapiHurriyet Ruby Wrapper - Yiğit ÖzkavcıHurriyet Ruby CLI - Ender Ahmet Yurt
This week on My Ruby Story, Charles speaks with Adam Cuppy. Adam is the co-founder at Zeal, a software consultancy that specializes in web and mobile applications. Adam describes his journey as an actor in theater and fine arts, then made his way into tech. Adam has been working and contributing to the Ruby community for at least the last decade. In this episode, we learn more about how Adam got into programming. Adam talks about having to learn JavaScript and HTML to build a contact page, this was Adam's the initial spark into programming. Adam talks about how he got into Ruby and the swiftness in building amazing programs and tools. Adam talks about his contributions, favorite things to do in Ruby, and what is coming up next. In particular, we dive pretty deep on: Adam journey from the theater arts, marketing, creative director, website design, PHP, Rails, etc. What qualifications do you need to be a programmer? Building something amazing in a short amount of time. Growing and deep contribution to the Ruby community Speaking at conferences, teaching and sharing ideas. Getting board without a purpose Technical and product vision, while including everyone to serve a deeper purpose Speaking contributions at conferences. and much more! Links: @AdamCuppy Git Hub - acuppy What if Shakespeare wrote Ruby? RubyDevSummit.com Ego Is The Enemy Secrets of the Millionaire Mind Miracle Morning The Obstacle Is the Way Picks: Adam Ruby Dev Summit and Conferences Charles Ketogenic Diet - Sugar free cheese cake Fat Head movie Keto Charity 2 Keto Dudes
This week on My Ruby Story, Charles speaks with Adam Cuppy. Adam is the co-founder at Zeal, a software consultancy that specializes in web and mobile applications. Adam describes his journey as an actor in theater and fine arts, then made his way into tech. Adam has been working and contributing to the Ruby community for at least the last decade. In this episode, we learn more about how Adam got into programming. Adam talks about having to learn JavaScript and HTML to build a contact page, this was Adam's the initial spark into programming. Adam talks about how he got into Ruby and the swiftness in building amazing programs and tools. Adam talks about his contributions, favorite things to do in Ruby, and what is coming up next. In particular, we dive pretty deep on: Adam journey from the theater arts, marketing, creative director, website design, PHP, Rails, etc. What qualifications do you need to be a programmer? Building something amazing in a short amount of time. Growing and deep contribution to the Ruby community Speaking at conferences, teaching and sharing ideas. Getting board without a purpose Technical and product vision, while including everyone to serve a deeper purpose Speaking contributions at conferences. and much more! Links: @AdamCuppy Git Hub - acuppy What if Shakespeare wrote Ruby? RubyDevSummit.com Ego Is The Enemy Secrets of the Millionaire Mind Miracle Morning The Obstacle Is the Way Picks: Adam Ruby Dev Summit and Conferences Charles Ketogenic Diet - Sugar free cheese cake Fat Head movie Keto Charity 2 Keto Dudes
This week on My Ruby Story, Charles speaks with Adam Cuppy. Adam is the co-founder at Zeal, a software consultancy that specializes in web and mobile applications. Adam describes his journey as an actor in theater and fine arts, then made his way into tech. Adam has been working and contributing to the Ruby community for at least the last decade. In this episode, we learn more about how Adam got into programming. Adam talks about having to learn JavaScript and HTML to build a contact page, this was Adam's the initial spark into programming. Adam talks about how he got into Ruby and the swiftness in building amazing programs and tools. Adam talks about his contributions, favorite things to do in Ruby, and what is coming up next. In particular, we dive pretty deep on: Adam journey from the theater arts, marketing, creative director, website design, PHP, Rails, etc. What qualifications do you need to be a programmer? Building something amazing in a short amount of time. Growing and deep contribution to the Ruby community Speaking at conferences, teaching and sharing ideas. Getting board without a purpose Technical and product vision, while including everyone to serve a deeper purpose Speaking contributions at conferences. and much more! Links: @AdamCuppy Git Hub - acuppy What if Shakespeare wrote Ruby? RubyDevSummit.com Ego Is The Enemy Secrets of the Millionaire Mind Miracle Morning The Obstacle Is the Way Picks: Adam Ruby Dev Summit and Conferences Charles Ketogenic Diet - Sugar free cheese cake Fat Head movie Keto Charity 2 Keto Dudes
Panel: Charles Max Wood Dave Kimura Eric Berry Special Guest: Devon Estes The Ruby Rouges speak with Devon Estes, a return guess and Ruby developer who currently lives in Berlin, Germany. The topic of discussion is about Function vs. Methods, and talk about blocks and its functions. Also, some further digging into the behaviors of functions and designs. Devon explains that this topic will be of discussion at Ruby Dev Conf. Devon dives into the object orientation and the interactions between functions, editing or changing functions. The Ruby Rogues ask questions about, service functions, subsections of applications, application logic, and understanding the parts. In particular, we dive pretty deep on: Functions vs. Methods Blocks When do you want to go for a function? Editing Functions. Service Objects solving problems Methods and Function or classes? Placing functions in apps 30,000 lines Single responsibly principle Different classes of users Example or great uses of functions Keeping thing for being hard to manage among users Value Objects and phone numbers, and functional methods. Object orientation and functional programming Merging Elixer and Ruby? and much much more. Links: DryRB Education Super Highway @devonestes devonestes.com devonestes.com/fir Picks: Eric Pipe Envy Super Free Cheese Cake - Keto friendly Dave Amazon Free Time Chuck Ruby Dev Summit 2ketodudes Keto Clarity Devon Nav to Tetris Season 4 Bojack Horseman Zoos
Panel: Charles Max Wood Dave Kimura Eric Berry Special Guest: Devon Estes The Ruby Rouges speak with Devon Estes, a return guess and Ruby developer who currently lives in Berlin, Germany. The topic of discussion is about Function vs. Methods, and talk about blocks and its functions. Also, some further digging into the behaviors of functions and designs. Devon explains that this topic will be of discussion at Ruby Dev Conf. Devon dives into the object orientation and the interactions between functions, editing or changing functions. The Ruby Rogues ask questions about, service functions, subsections of applications, application logic, and understanding the parts. In particular, we dive pretty deep on: Functions vs. Methods Blocks When do you want to go for a function? Editing Functions. Service Objects solving problems Methods and Function or classes? Placing functions in apps 30,000 lines Single responsibly principle Different classes of users Example or great uses of functions Keeping thing for being hard to manage among users Value Objects and phone numbers, and functional methods. Object orientation and functional programming Merging Elixer and Ruby? and much much more. Links: DryRB Education Super Highway @devonestes devonestes.com devonestes.com/fir Picks: Eric Pipe Envy Super Free Cheese Cake - Keto friendly Dave Amazon Free Time Chuck Ruby Dev Summit 2ketodudes Keto Clarity Devon Nav to Tetris Season 4 Bojack Horseman Zoos
Panel: Charles Max Wood Dave Kimura Eric Berry Special Guest: Devon Estes The Ruby Rouges speak with Devon Estes, a return guess and Ruby developer who currently lives in Berlin, Germany. The topic of discussion is about Function vs. Methods, and talk about blocks and its functions. Also, some further digging into the behaviors of functions and designs. Devon explains that this topic will be of discussion at Ruby Dev Conf. Devon dives into the object orientation and the interactions between functions, editing or changing functions. The Ruby Rogues ask questions about, service functions, subsections of applications, application logic, and understanding the parts. In particular, we dive pretty deep on: Functions vs. Methods Blocks When do you want to go for a function? Editing Functions. Service Objects solving problems Methods and Function or classes? Placing functions in apps 30,000 lines Single responsibly principle Different classes of users Example or great uses of functions Keeping thing for being hard to manage among users Value Objects and phone numbers, and functional methods. Object orientation and functional programming Merging Elixer and Ruby? and much much more. Links: DryRB Education Super Highway @devonestes devonestes.com devonestes.com/fir Picks: Eric Pipe Envy Super Free Cheese Cake - Keto friendly Dave Amazon Free Time Chuck Ruby Dev Summit 2ketodudes Keto Clarity Devon Nav to Tetris Season 4 Bojack Horseman Zoos
This week on My Ruby Story, Charles speaks with Allison McMillan. Allison is a software developer at Collective Idea, a software consulting company that solves real-world software problems. Allison is very excited about working on a number of projects and learning new things in the development world. Allison was a recent guest on Ruby Rogues and will be a speaker at Ruby Dev Summit coming up on October 16-21, 2017. In this episode we learn more about Allison’s journey as a startup founder, to make a career change to a developer, all while and making a name in the dev community and gaining a dev job. Allison talks about her involvement and contributions to the Ruby community. In particular, we dive pretty deep on: Allison got into programming working as a non-profit executive and dealing with change in the organization. Getting in involve in the DC Tech Community Joining the Rails Girls Workshop Got her first job by attending the Ruby Conf. at the Scholar Guide Program Working Remotely as a junior developer Doing light talks at Ruby Conf. to gain authority Allison mentions doing conference speaking and organizing as apart of contributing to the Ruby community Allison’s favorite thing to speak about at conferences involves writing interactive workshops. Links: DC Tech Community Rails Girls http://rubyconf.org/scholarships Blog site - DayDreams In Ruby @allie_p Ruby Dev Summit - Free Picks: Allison Hello Ruby by Linda Liukas Baking - SmittenKitchen Charles GitLab Server MatterMost
This week on My Ruby Story, Charles speaks with Allison McMillan. Allison is a software developer at Collective Idea, a software consulting company that solves real-world software problems. Allison is very excited about working on a number of projects and learning new things in the development world. Allison was a recent guest on Ruby Rogues and will be a speaker at Ruby Dev Summit coming up on October 16-21, 2017. In this episode we learn more about Allison’s journey as a startup founder, to make a career change to a developer, all while and making a name in the dev community and gaining a dev job. Allison talks about her involvement and contributions to the Ruby community. In particular, we dive pretty deep on: Allison got into programming working as a non-profit executive and dealing with change in the organization. Getting in involve in the DC Tech Community Joining the Rails Girls Workshop Got her first job by attending the Ruby Conf. at the Scholar Guide Program Working Remotely as a junior developer Doing light talks at Ruby Conf. to gain authority Allison mentions doing conference speaking and organizing as apart of contributing to the Ruby community Allison’s favorite thing to speak about at conferences involves writing interactive workshops. Links: DC Tech Community Rails Girls http://rubyconf.org/scholarships Blog site - DayDreams In Ruby @allie_p Ruby Dev Summit - Free Picks: Allison Hello Ruby by Linda Liukas Baking - SmittenKitchen Charles GitLab Server MatterMost
This week on My Ruby Story, Charles speaks with Allison McMillan. Allison is a software developer at Collective Idea, a software consulting company that solves real-world software problems. Allison is very excited about working on a number of projects and learning new things in the development world. Allison was a recent guest on Ruby Rogues and will be a speaker at Ruby Dev Summit coming up on October 16-21, 2017. In this episode we learn more about Allison’s journey as a startup founder, to make a career change to a developer, all while and making a name in the dev community and gaining a dev job. Allison talks about her involvement and contributions to the Ruby community. In particular, we dive pretty deep on: Allison got into programming working as a non-profit executive and dealing with change in the organization. Getting in involve in the DC Tech Community Joining the Rails Girls Workshop Got her first job by attending the Ruby Conf. at the Scholar Guide Program Working Remotely as a junior developer Doing light talks at Ruby Conf. to gain authority Allison mentions doing conference speaking and organizing as apart of contributing to the Ruby community Allison’s favorite thing to speak about at conferences involves writing interactive workshops. Links: DC Tech Community Rails Girls http://rubyconf.org/scholarships Blog site - DayDreams In Ruby @allie_p Ruby Dev Summit - Free Picks: Allison Hello Ruby by Linda Liukas Baking - SmittenKitchen Charles GitLab Server MatterMost
Panel: Charles Dave Eric Special Guest: Marc-André Cournoyer Ruby Rouges speaks with Marc-André Cournoyer, whose most notable works were the Thin Web Server, Tiny RB Ruby implementation, and a book called “Create your own Programming Language,” response for the creation of Coffee Script. Also he has done some with with Rack 2 and create some of the initial Rack Adapters. The discussion covered in this episode are about learning machine learning. How do you learn it in Ruby? The basics of machine learning and the best practices to become more competent in machine learning. Also some diving into hardware, training, for getting the job done. In particular, we dive pretty deep on: How to Learn Machine Learning? Important hardware components: GPU, RAM, etc. Training Algorithms that are doing once impossible things Building a machine learning system for different kind of tasks or applications Decide on a side project and completing a side project Links: Marc-André Cournoyer The Great Code Club CoreLogic twitter.com/macournoyer Thin Web Server TinyRB Create your own Programming Language http://refactormycode.com http://talkerapp.com CodedInc Picks: Eric Code Sponsors Dave MX Master 2S Uninterruptible power supply Chuck Ruby Dev Summit Home Depot Mini-Excavators Data Skeptic Podcast Marc Rebuilding a Ruby Web Server from Scratch Arxiv-Sanity
Panel: Charles Dave Eric Special Guest: Marc-André Cournoyer Ruby Rogues speaks with Marc-André Cournoyer, whose most notable works were the Thin Web Server, Tiny RB Ruby implementation, and a book called “Create your own Programming Language,” responsible for the creation of Coffee Script. Also, he has done some with Rack 2 and creates some of the initial Rack Adapters. The discussion covered in this episode are about learning machine learning. How do you learn it in Ruby? The basics of machine learning and the best practices to become more competent in machine learning. Also some diving into hardware, training, for getting the job done. In particular, we dive pretty deep on: How to Learn Machine Learning? Important hardware components: GPU, RAM, etc. Training Algorithms that are doing once impossible things Building a machine learning system for different kind of tasks or applications Decide on a side project and completing a side project Links: Marc-André Cournoyer The Great Code Club CoreLogic twitter.com/macournoyer Thin Web Server TinyRB Create your own Programming Language http://refactormycode.com http://talkerapp.com CodedInc Picks: Eric Code Sponsors Dave MX Master 2S Uninterruptible power supply Chuck Ruby Dev Summit Home Depot Mini-Excavators Data Skeptic Podcast Marc Rebuilding a Ruby Web Server from Scratch Arxiv-Sanity
Panel: Charles Dave Eric Special Guest: Marc-André Cournoyer Ruby Rogues speaks with Marc-André Cournoyer, whose most notable works were the Thin Web Server, Tiny RB Ruby implementation, and a book called “Create your own Programming Language,” responsible for the creation of Coffee Script. Also, he has done some with Rack 2 and creates some of the initial Rack Adapters. The discussion covered in this episode are about learning machine learning. How do you learn it in Ruby? The basics of machine learning and the best practices to become more competent in machine learning. Also some diving into hardware, training, for getting the job done. In particular, we dive pretty deep on: How to Learn Machine Learning? Important hardware components: GPU, RAM, etc. Training Algorithms that are doing once impossible things Building a machine learning system for different kind of tasks or applications Decide on a side project and completing a side project Links: Marc-André Cournoyer The Great Code Club CoreLogic twitter.com/macournoyer Thin Web Server TinyRB Create your own Programming Language http://refactormycode.com http://talkerapp.com CodedInc Picks: Eric Code Sponsors Dave MX Master 2S Uninterruptible power supply Chuck Ruby Dev Summit Home Depot Mini-Excavators Data Skeptic Podcast Marc Rebuilding a Ruby Web Server from Scratch Arxiv-Sanity
Panel: Charles Dave Eric Special Guest: Marc-André Cournoyer Ruby Rouges speaks with Marc-André Cournoyer, whose most notable works were the Thin Web Server, Tiny RB Ruby implementation, and a book called “Create your own Programming Language,” response for the creation of Coffee Script. Also he has done some with with Rack 2 and create some of the initial Rack Adapters. The discussion covered in this episode are about learning machine learning. How do you learn it in Ruby? The basics of machine learning and the best practices to become more competent in machine learning. Also some diving into hardware, training, for getting the job done. In particular, we dive pretty deep on: How to Learn Machine Learning? Important hardware components: GPU, RAM, etc. Training Algorithms that are doing once impossible things Building a machine learning system for different kind of tasks or applications Decide on a side project and completing a side project Links: Marc-André Cournoyer The Great Code Club CoreLogic twitter.com/macournoyer Thin Web Server TinyRB Create your own Programming Language http://refactormycode.com http://talkerapp.com CodedInc Picks: Eric Code Sponsors Dave MX Master 2S Uninterruptible power supply Chuck Ruby Dev Summit Home Depot Mini-Excavators Data Skeptic Podcast Marc Rebuilding a Ruby Web Server from Scratch Arxiv-Sanity
Panel: Charles Dave Eric Special Guest: Marc-André Cournoyer Ruby Rouges speaks with Marc-André Cournoyer, whose most notable works were the Thin Web Server, Tiny RB Ruby implementation, and a book called “Create your own Programming Language,” response for the creation of Coffee Script. Also he has done some with with Rack 2 and create some of the initial Rack Adapters. The discussion covered in this episode are about learning machine learning. How do you learn it in Ruby? The basics of machine learning and the best practices to become more competent in machine learning. Also some diving into hardware, training, for getting the job done. In particular, we dive pretty deep on: How to Learn Machine Learning? Important hardware components: GPU, RAM, etc. Training Algorithms that are doing once impossible things Building a machine learning system for different kind of tasks or applications Decide on a side project and completing a side project Links: Marc-André Cournoyer The Great Code Club CoreLogic twitter.com/macournoyer Thin Web Server TinyRB Create your own Programming Language http://refactormycode.com http://talkerapp.com CodedInc Picks: Eric Code Sponsors Dave MX Master 2S Uninterruptible power supply Chuck Ruby Dev Summit Home Depot Mini-Excavators Data Skeptic Podcast Marc Rebuilding a Ruby Web Server from Scratch Arxiv-Sanity
Panel: Charles Dave Eric Special Guest: Marc-André Cournoyer Ruby Rogues speaks with Marc-André Cournoyer, whose most notable works were the Thin Web Server, Tiny RB Ruby implementation, and a book called “Create your own Programming Language,” responsible for the creation of Coffee Script. Also, he has done some with Rack 2 and creates some of the initial Rack Adapters. The discussion covered in this episode are about learning machine learning. How do you learn it in Ruby? The basics of machine learning and the best practices to become more competent in machine learning. Also some diving into hardware, training, for getting the job done. In particular, we dive pretty deep on: How to Learn Machine Learning? Important hardware components: GPU, RAM, etc. Training Algorithms that are doing once impossible things Building a machine learning system for different kind of tasks or applications Decide on a side project and completing a side project Links: Marc-André Cournoyer The Great Code Club CoreLogic twitter.com/macournoyer Thin Web Server TinyRB Create your own Programming Language http://refactormycode.com http://talkerapp.com CodedInc Picks: Eric Code Sponsors Dave MX Master 2S Uninterruptible power supply Chuck Ruby Dev Summit Home Depot Mini-Excavators Data Skeptic Podcast Marc Rebuilding a Ruby Web Server from Scratch Arxiv-Sanity
Tweet this Episode Jason Swett is a former Ruby Rogues panelist and the author of Angular on Rails. He's also a contractor and corporate trainer. Jason and Chuck dive into Jason's story getting into programming, Ruby, and talk about his current and past ventures in entrepreneurship. We also talk about writing courses and ebooks and blog posts. Links: Pascal Geocities Angelfire Perl Symfony framework PHP CodeIgniter Drupal Laravel Lisp Clojure Python Django Ruby Rails Amir Rajan's My Ruby Story Angular on Rails Basecamp Microconf JasonSwett.net Amazon AWS Indie Hackers Post Justin Gordon Justin Gordon's episode on Ruby Rogues Phoenix Elixir React Vue Webpacker Prototype.js JQuery Todd Motto Green Bits Email Jason @jasonswett Picks Jason: Amazon Web Services in Action awsrails.com Chuck Gitlab Mattermost The Daily Lasagna Entreprogrammers Ruby Dev Summit
Tweet this Episode Jason Swett is a former Ruby Rogues panelist and the author of Angular on Rails. He's also a contractor and corporate trainer. Jason and Chuck dive into Jason's story getting into programming, Ruby, and talk about his current and past ventures in entrepreneurship. We also talk about writing courses and ebooks and blog posts. Links: Pascal Geocities Angelfire Perl Symfony framework PHP CodeIgniter Drupal Laravel Lisp Clojure Python Django Ruby Rails Amir Rajan's My Ruby Story Angular on Rails Basecamp Microconf JasonSwett.net Amazon AWS Indie Hackers Post Justin Gordon Justin Gordon's episode on Ruby Rogues Phoenix Elixir React Vue Webpacker Prototype.js JQuery Todd Motto Green Bits Email Jason @jasonswett Picks Jason: Amazon Web Services in Action awsrails.com Chuck Gitlab Mattermost The Daily Lasagna Entreprogrammers Ruby Dev Summit
Tweet this Episode Jason Swett is a former Ruby Rogues panelist and the author of Angular on Rails. He's also a contractor and corporate trainer. Jason and Chuck dive into Jason's story getting into programming, Ruby, and talk about his current and past ventures in entrepreneurship. We also talk about writing courses and ebooks and blog posts. Links: Pascal Geocities Angelfire Perl Symfony framework PHP CodeIgniter Drupal Laravel Lisp Clojure Python Django Ruby Rails Amir Rajan's My Ruby Story Angular on Rails Basecamp Microconf JasonSwett.net Amazon AWS Indie Hackers Post Justin Gordon Justin Gordon's episode on Ruby Rogues Phoenix Elixir React Vue Webpacker Prototype.js JQuery Todd Motto Green Bits Email Jason @jasonswett Picks Jason: Amazon Web Services in Action awsrails.com Chuck Gitlab Mattermost The Daily Lasagna Entreprogrammers Ruby Dev Summit
Tweet this Episode MRS 020: Ruberto Paulo Today’s episode is a My Ruby Story with Ruberto Paulo. He is going to be speaking in the Ruby Dev Summit in October. Listen to learn more about Rub! [01:10] – Introduction to Ruberto Paulo Rob is a programmer in Cape Town, South Africa. He’s been programming in Ruby for the last 6 years. He has also been quite in different areas of business from sales, manufacturing, to teaching. He has also spoken on one of the Ruby conferences in South Africa this year. And he’s going to be speaking in Ruby Dev Summit in October. At one stage, programming for Rob was quite a painful experience. You can get stuck in doing normal projects, eventually, you’d lose the light that you found. The talk is about Date Night with Ruby. That’s the title of the talk. It’s really about what can we do to re-ignite that fire with Ruby? We’re going to take a look at the language as if it’s a person. [05:15] – How did you get into programming? Rob’s dad had a laptop that was running MS-DOS. At the time, it was navigating using a keyboard. There was no mouse. Eventually, he was teaching the whole family how to use it. His uncle also had an old Intel 80486. He set up every component and reconnected them. Eventually, the box started working. He always had this fascination with technology. During high school, Rob used the language Delphi. He also learned Excel and Word. A couple of his friends, would spend their weekends in his friend’s garage and hack out programs. The final project for their final year, they have to bring in a project and then explain to the class its value. He and his friends used to go to internet cafes and play computer games. So, they ended up doing writing software and tutorials for these internet cafes. After 6 months of hacking up this project, the internet café used their software. Those applications became 16,000 lines long because they didn’t have the good practice that we have today. Rob also started teaching. When he was teaching one night, a friend came up and said, “Hey, have you heard about Ruby?” That’s his journey into Ruby actually started. He said that they're looking for a couple brand new developers and if you can write two programs just to test and give them back to him on Monday, they'll see if they have a position for him. He went home and typed into Google: “How to Learn Ruby”. He found a book and read it. He did the 2 tests. The first test was the Animal Test. It was more around design. How do you create new animals if you want to do different things? It’s about inheritance. How could you give abilities to the other objects? The second one was a technical question about the relation, how to sort this array. He passed these tests and started the next Friday. That was probably around late 2010. [15:45] – What is it about Ruby? Rub thinks that you can make Ruby as complicated or as easy. In the most recent Ruby Weekly, there was somebody that rewrote portions of Ruby so that it can look like JavaScript. You can mold it to whatever you want. Write it as close as a natural language as you can because you’re going to be looking at a language a lot more than you’re going to be writing it. If you can pick up what’s going on in this step, that’s going to be a big leap forward. So, the big part of it is that Ruby is very natural. It reads like English. You can pick up what it’s going to be doing. Picks Ruberto Paulo Magic: The Gathering RubyDCamp Blog: Spaceship Science Twitter: @legend_rob Charles Max Wood Vue.js
Tweet this Episode MRS 020: Ruberto Paulo Today’s episode is a My Ruby Story with Ruberto Paulo. He is going to be speaking in the Ruby Dev Summit in October. Listen to learn more about Rub! [01:10] – Introduction to Ruberto Paulo Rob is a programmer in Cape Town, South Africa. He’s been programming in Ruby for the last 6 years. He has also been quite in different areas of business from sales, manufacturing, to teaching. He has also spoken on one of the Ruby conferences in South Africa this year. And he’s going to be speaking in Ruby Dev Summit in October. At one stage, programming for Rob was quite a painful experience. You can get stuck in doing normal projects, eventually, you’d lose the light that you found. The talk is about Date Night with Ruby. That’s the title of the talk. It’s really about what can we do to re-ignite that fire with Ruby? We’re going to take a look at the language as if it’s a person. [05:15] – How did you get into programming? Rob’s dad had a laptop that was running MS-DOS. At the time, it was navigating using a keyboard. There was no mouse. Eventually, he was teaching the whole family how to use it. His uncle also had an old Intel 80486. He set up every component and reconnected them. Eventually, the box started working. He always had this fascination with technology. During high school, Rob used the language Delphi. He also learned Excel and Word. A couple of his friends, would spend their weekends in his friend’s garage and hack out programs. The final project for their final year, they have to bring in a project and then explain to the class its value. He and his friends used to go to internet cafes and play computer games. So, they ended up doing writing software and tutorials for these internet cafes. After 6 months of hacking up this project, the internet café used their software. Those applications became 16,000 lines long because they didn’t have the good practice that we have today. Rob also started teaching. When he was teaching one night, a friend came up and said, “Hey, have you heard about Ruby?” That’s his journey into Ruby actually started. He said that they're looking for a couple brand new developers and if you can write two programs just to test and give them back to him on Monday, they'll see if they have a position for him. He went home and typed into Google: “How to Learn Ruby”. He found a book and read it. He did the 2 tests. The first test was the Animal Test. It was more around design. How do you create new animals if you want to do different things? It’s about inheritance. How could you give abilities to the other objects? The second one was a technical question about the relation, how to sort this array. He passed these tests and started the next Friday. That was probably around late 2010. [15:45] – What is it about Ruby? Rub thinks that you can make Ruby as complicated or as easy. In the most recent Ruby Weekly, there was somebody that rewrote portions of Ruby so that it can look like JavaScript. You can mold it to whatever you want. Write it as close as a natural language as you can because you’re going to be looking at a language a lot more than you’re going to be writing it. If you can pick up what’s going on in this step, that’s going to be a big leap forward. So, the big part of it is that Ruby is very natural. It reads like English. You can pick up what it’s going to be doing. Picks Ruberto Paulo Magic: The Gathering RubyDCamp Blog: Spaceship Science Twitter: @legend_rob Charles Max Wood Vue.js
Tweet this Episode MRS 020: Ruberto Paulo Today’s episode is a My Ruby Story with Ruberto Paulo. He is going to be speaking in the Ruby Dev Summit in October. Listen to learn more about Rub! [01:10] – Introduction to Ruberto Paulo Rob is a programmer in Cape Town, South Africa. He’s been programming in Ruby for the last 6 years. He has also been quite in different areas of business from sales, manufacturing, to teaching. He has also spoken on one of the Ruby conferences in South Africa this year. And he’s going to be speaking in Ruby Dev Summit in October. At one stage, programming for Rob was quite a painful experience. You can get stuck in doing normal projects, eventually, you’d lose the light that you found. The talk is about Date Night with Ruby. That’s the title of the talk. It’s really about what can we do to re-ignite that fire with Ruby? We’re going to take a look at the language as if it’s a person. [05:15] – How did you get into programming? Rob’s dad had a laptop that was running MS-DOS. At the time, it was navigating using a keyboard. There was no mouse. Eventually, he was teaching the whole family how to use it. His uncle also had an old Intel 80486. He set up every component and reconnected them. Eventually, the box started working. He always had this fascination with technology. During high school, Rob used the language Delphi. He also learned Excel and Word. A couple of his friends, would spend their weekends in his friend’s garage and hack out programs. The final project for their final year, they have to bring in a project and then explain to the class its value. He and his friends used to go to internet cafes and play computer games. So, they ended up doing writing software and tutorials for these internet cafes. After 6 months of hacking up this project, the internet café used their software. Those applications became 16,000 lines long because they didn’t have the good practice that we have today. Rob also started teaching. When he was teaching one night, a friend came up and said, “Hey, have you heard about Ruby?” That’s his journey into Ruby actually started. He said that they're looking for a couple brand new developers and if you can write two programs just to test and give them back to him on Monday, they'll see if they have a position for him. He went home and typed into Google: “How to Learn Ruby”. He found a book and read it. He did the 2 tests. The first test was the Animal Test. It was more around design. How do you create new animals if you want to do different things? It’s about inheritance. How could you give abilities to the other objects? The second one was a technical question about the relation, how to sort this array. He passed these tests and started the next Friday. That was probably around late 2010. [15:45] – What is it about Ruby? Rub thinks that you can make Ruby as complicated or as easy. In the most recent Ruby Weekly, there was somebody that rewrote portions of Ruby so that it can look like JavaScript. You can mold it to whatever you want. Write it as close as a natural language as you can because you’re going to be looking at a language a lot more than you’re going to be writing it. If you can pick up what’s going on in this step, that’s going to be a big leap forward. So, the big part of it is that Ruby is very natural. It reads like English. You can pick up what it’s going to be doing. Picks Ruberto Paulo Magic: The Gathering RubyDCamp Blog: Spaceship Science Twitter: @legend_rob Charles Max Wood Vue.js
Tweet this Episode Allison is a developer in the Washington DC area. She is a non-profit executive turned developer. She helps organize the RubyConf and RailsConf Scholar Program. She organizes a local meetup call Silver Spring Ruby. She works at Collective Idea. The Rogues talk to Allison about being a mom in coding and work-life balance. They also talk about transitioning from non-profits to coding. This episode goes into depth on: Prioritizing your family and still having a great career Goal setting, focus, and growth Team collaboration Contributing to open source and much, much more... Links: Delayed Job Allison's Blog Baby Driven Development talk Rails Girls Ruby Dev Summit RSpec Minitest RailsCasts Interactor Gem Leah Silber from Tilde tweet Tilde article on Baby at Work Mother Coders RailsBridge Allison on Twitter Picks: Eric: Gallup Strengths Test Metabase Allison: Sticky Note Game by TableXI WriteSpeakCode Ruby Jewel Crystal DISC Assessment Dave Rails Guides
Tweet this Episode Allison is a developer in the Washington DC area. She is a non-profit executive turned developer. She helps organize the RubyConf and RailsConf Scholar Program. She organizes a local meetup call Silver Spring Ruby. She works at Collective Idea. The Rogues talk to Allison about being a mom in coding and work-life balance. They also talk about transitioning from non-profits to coding. This episode goes into depth on: Prioritizing your family and still having a great career Goal setting, focus, and growth Team collaboration Contributing to open source and much, much more... Links: Delayed Job Allison's Blog Baby Driven Development talk Rails Girls Ruby Dev Summit RSpec Minitest RailsCasts Interactor Gem Leah Silber from Tilde tweet Tilde article on Baby at Work Mother Coders RailsBridge Allison on Twitter Picks: Eric: Gallup Strengths Test Metabase Allison: Sticky Note Game by TableXI WriteSpeakCode Ruby Jewel Crystal DISC Assessment Dave Rails Guides
Tweet this Episode Allison is a developer in the Washington DC area. She is a non-profit executive turned developer. She helps organize the RubyConf and RailsConf Scholar Program. She organizes a local meetup call Silver Spring Ruby. She works at Collective Idea. The Rogues talk to Allison about being a mom in coding and work-life balance. They also talk about transitioning from non-profits to coding. This episode goes into depth on: Prioritizing your family and still having a great career Goal setting, focus, and growth Team collaboration Contributing to open source and much, much more... Links: Delayed Job Allison's Blog Baby Driven Development talk Rails Girls Ruby Dev Summit RSpec Minitest RailsCasts Interactor Gem Leah Silber from Tilde tweet Tilde article on Baby at Work Mother Coders RailsBridge Allison on Twitter Picks: Eric: Gallup Strengths Test Metabase Allison: Sticky Note Game by TableXI WriteSpeakCode Ruby Jewel Crystal DISC Assessment Dave Rails Guides
MRS 019: Eric Berry Today's episode of My Ruby Story is an interview with Eric Berry, who is our newest panelist on Ruby Rogues. [01:10] Introduction to Eric Eric is one of Chuck's friends from early in his programming career. Eric is @coderberry on Twitter. He's been a Ruby developer for about 9 years and doing software for about 19 years. [02:15] How Eric got into programming He was hired to do HTML for a company called vLender. Eric worked in Photoshop 2 (pre-layers). He, then, went on an LDS mission and while on his mission, he built a system to track the cars and assets for the mission. Then, his brother moved out to Switzerland to join an eCommerce company. Eric bought a PHP book, read it, got a passport, and started showing up at his work. Eventually they hired him. They started shifting over to Java. They coded Java with VIM. While in Switzerland, Eric and his brother had created an app that allowed them to share photos with family back home. His brother raised funds and they moved to England to build up the photo sharing app. They eventually sold shareaphoto.com to HP. Eric jokes that this was his "college." 9/11 hit and Eric's brother moved back to the states. Eric stayed for another 2 years, then moved to Las Vegas. He was a residential appraiser for about 4 years. While there, he built some software to help the company. Eric took a pay cut from $180,000 to $65,000 per year to go back to software. He and his wife eventually moved back to Utah and got a job working for AtTask (now Workfront) [10:43] Eric finds Ruby Eric and one of his co-workers went out and created projects with Django and Rails. They both loved Rails. Eric was using Rails at AtTask in the marketing department and spent a ton of time figuring out how to deploy Rails with mongrel. Eric has also worked for Omniture (acquired by Adobe), Instructure, and One-on-One Marketing. [14:12] Teach Me to Code screencasts and Chuck's story Initially, Eric created Teach Me to Code as an homage to Ryan Bates from RailsCasts. Eric left his mistakes and fumbling in. He got feedback from people that liked that it showed how to debug and figure out issues. Chuck came in to create content for Teach Me to Code. Eric's company and focus moved to Groovy on Grails which prompted him to hand the series off to Chuck. Eric mentions Chuck's tenacity. Teach Me to Code is a large part of Chuck's journey into podcasting. [19:11] Codesponsor Eric has been building other people's businesses for about 20 years. He's done all kinds of projects at all levels. He doesn't want to continue on a path where he doesn't participate in the end result of the project. Eric tried out AdWords. It'll pay off in 2-5 years, but he has not passion for it. Eric loves programming and developers and wanted to do something that served them. Open Source is starting to have problems with sustainability. People are building their businesses on top of software that's maintained by 1-2 developers. These folks have a day job and aren't paid to write their open source software. The get a bunch of requests for help and that workload doesn't go away. Then they get burned out. Then you have the "no longer maintained" notices on projects that you're using. Codesponsor solves this problem by bringing marketing into the picture to put some money into the developers' pockets and gives them some validation for what they did. Eric talks about a pay me button that Kent C. Dodds put on some of his repos. He didn't get any contributions. The problem with corporate sponsors is that the developer feels obligated to provide unpaid support when their sponsor has a problem. OpenCollective explained. Their biggest problem is money is not coming in. Open Design Collective CodeSponsor allows companies that want to get in front of developers to put non-obtrusive, subtle text ads in the README's and websites of the projects without creating the issues that come with direct sponsorship. Mention of ReadTheDocs.org [37:02] Eric's current work situation and Nate Hopkins Eric talks about Nate Hopkins and Chuck mentions that Nate Hopkins was his first mentor as a professional developer. Eric shares a funny story about Chuck and Nate working together. Picks Eric Carbonads.com Timber.io Rework podcast by Basecamp React Table Chuck Ruby Dev Summit React Podcast Plans - TBA Elixir Podcast Plans - TBA Dave Thomas' Elixir Course
MRS 019: Eric Berry Today's episode of My Ruby Story is an interview with Eric Berry, who is our newest panelist on Ruby Rogues. [01:10] Introduction to Eric Eric is one of Chuck's friends from early in his programming career. Eric is @coderberry on Twitter. He's been a Ruby developer for about 9 years and doing software for about 19 years. [02:15] How Eric got into programming He was hired to do HTML for a company called vLender. Eric worked in Photoshop 2 (pre-layers). He, then, went on an LDS mission and while on his mission, he built a system to track the cars and assets for the mission. Then, his brother moved out to Switzerland to join an eCommerce company. Eric bought a PHP book, read it, got a passport, and started showing up at his work. Eventually they hired him. They started shifting over to Java. They coded Java with VIM. While in Switzerland, Eric and his brother had created an app that allowed them to share photos with family back home. His brother raised funds and they moved to England to build up the photo sharing app. They eventually sold shareaphoto.com to HP. Eric jokes that this was his "college." 9/11 hit and Eric's brother moved back to the states. Eric stayed for another 2 years, then moved to Las Vegas. He was a residential appraiser for about 4 years. While there, he built some software to help the company. Eric took a pay cut from $180,000 to $65,000 per year to go back to software. He and his wife eventually moved back to Utah and got a job working for AtTask (now Workfront) [10:43] Eric finds Ruby Eric and one of his co-workers went out and created projects with Django and Rails. They both loved Rails. Eric was using Rails at AtTask in the marketing department and spent a ton of time figuring out how to deploy Rails with mongrel. Eric has also worked for Omniture (acquired by Adobe), Instructure, and One-on-One Marketing. [14:12] Teach Me to Code screencasts and Chuck's story Initially, Eric created Teach Me to Code as an homage to Ryan Bates from RailsCasts. Eric left his mistakes and fumbling in. He got feedback from people that liked that it showed how to debug and figure out issues. Chuck came in to create content for Teach Me to Code. Eric's company and focus moved to Groovy on Grails which prompted him to hand the series off to Chuck. Eric mentions Chuck's tenacity. Teach Me to Code is a large part of Chuck's journey into podcasting. [19:11] Codesponsor Eric has been building other people's businesses for about 20 years. He's done all kinds of projects at all levels. He doesn't want to continue on a path where he doesn't participate in the end result of the project. Eric tried out AdWords. It'll pay off in 2-5 years, but he has not passion for it. Eric loves programming and developers and wanted to do something that served them. Open Source is starting to have problems with sustainability. People are building their businesses on top of software that's maintained by 1-2 developers. These folks have a day job and aren't paid to write their open source software. The get a bunch of requests for help and that workload doesn't go away. Then they get burned out. Then you have the "no longer maintained" notices on projects that you're using. Codesponsor solves this problem by bringing marketing into the picture to put some money into the developers' pockets and gives them some validation for what they did. Eric talks about a pay me button that Kent C. Dodds put on some of his repos. He didn't get any contributions. The problem with corporate sponsors is that the developer feels obligated to provide unpaid support when their sponsor has a problem. OpenCollective explained. Their biggest problem is money is not coming in. Open Design Collective CodeSponsor allows companies that want to get in front of developers to put non-obtrusive, subtle text ads in the README's and websites of the projects without creating the issues that come with direct sponsorship. Mention of ReadTheDocs.org [37:02] Eric's current work situation and Nate Hopkins Eric talks about Nate Hopkins and Chuck mentions that Nate Hopkins was his first mentor as a professional developer. Eric shares a funny story about Chuck and Nate working together. Picks Eric Carbonads.com Timber.io Rework podcast by Basecamp React Table Chuck Ruby Dev Summit React Podcast Plans - TBA Elixir Podcast Plans - TBA Dave Thomas' Elixir Course
MRS 019: Eric Berry Today's episode of My Ruby Story is an interview with Eric Berry, who is our newest panelist on Ruby Rogues. [01:10] Introduction to Eric Eric is one of Chuck's friends from early in his programming career. Eric is @coderberry on Twitter. He's been a Ruby developer for about 9 years and doing software for about 19 years. [02:15] How Eric got into programming He was hired to do HTML for a company called vLender. Eric worked in Photoshop 2 (pre-layers). He, then, went on an LDS mission and while on his mission, he built a system to track the cars and assets for the mission. Then, his brother moved out to Switzerland to join an eCommerce company. Eric bought a PHP book, read it, got a passport, and started showing up at his work. Eventually they hired him. They started shifting over to Java. They coded Java with VIM. While in Switzerland, Eric and his brother had created an app that allowed them to share photos with family back home. His brother raised funds and they moved to England to build up the photo sharing app. They eventually sold shareaphoto.com to HP. Eric jokes that this was his "college." 9/11 hit and Eric's brother moved back to the states. Eric stayed for another 2 years, then moved to Las Vegas. He was a residential appraiser for about 4 years. While there, he built some software to help the company. Eric took a pay cut from $180,000 to $65,000 per year to go back to software. He and his wife eventually moved back to Utah and got a job working for AtTask (now Workfront) [10:43] Eric finds Ruby Eric and one of his co-workers went out and created projects with Django and Rails. They both loved Rails. Eric was using Rails at AtTask in the marketing department and spent a ton of time figuring out how to deploy Rails with mongrel. Eric has also worked for Omniture (acquired by Adobe), Instructure, and One-on-One Marketing. [14:12] Teach Me to Code screencasts and Chuck's story Initially, Eric created Teach Me to Code as an homage to Ryan Bates from RailsCasts. Eric left his mistakes and fumbling in. He got feedback from people that liked that it showed how to debug and figure out issues. Chuck came in to create content for Teach Me to Code. Eric's company and focus moved to Groovy on Grails which prompted him to hand the series off to Chuck. Eric mentions Chuck's tenacity. Teach Me to Code is a large part of Chuck's journey into podcasting. [19:11] Codesponsor Eric has been building other people's businesses for about 20 years. He's done all kinds of projects at all levels. He doesn't want to continue on a path where he doesn't participate in the end result of the project. Eric tried out AdWords. It'll pay off in 2-5 years, but he has not passion for it. Eric loves programming and developers and wanted to do something that served them. Open Source is starting to have problems with sustainability. People are building their businesses on top of software that's maintained by 1-2 developers. These folks have a day job and aren't paid to write their open source software. The get a bunch of requests for help and that workload doesn't go away. Then they get burned out. Then you have the "no longer maintained" notices on projects that you're using. Codesponsor solves this problem by bringing marketing into the picture to put some money into the developers' pockets and gives them some validation for what they did. Eric talks about a pay me button that Kent C. Dodds put on some of his repos. He didn't get any contributions. The problem with corporate sponsors is that the developer feels obligated to provide unpaid support when their sponsor has a problem. OpenCollective explained. Their biggest problem is money is not coming in. Open Design Collective CodeSponsor allows companies that want to get in front of developers to put non-obtrusive, subtle text ads in the README's and websites of the projects without creating the issues that come with direct sponsorship. Mention of ReadTheDocs.org [37:02] Eric's current work situation and Nate Hopkins Eric talks about Nate Hopkins and Chuck mentions that Nate Hopkins was his first mentor as a professional developer. Eric shares a funny story about Chuck and Nate working together. Picks Eric Carbonads.com Timber.io Rework podcast by Basecamp React Table Chuck Ruby Dev Summit React Podcast Plans - TBA Elixir Podcast Plans - TBA Dave Thomas' Elixir Course
In this episode of the Ruby Rogues podcast Dave Kimura, Eric Berry, and Charles Max Wood discuss chatbots with Jamie Wright. Jamie will be speaking at Ruby Dev Summit in October. [01:25] Jamie Wright introduction Jamie is a professional nerd and independent contractor. He's been coding for 20 years mostly in Ruby. He's starting to get into Elixir. One of his first projects was a text adventure game, which got him started with conversational UI's. He saw Hubot on Campfire. He started tweaking that. He made a timetracking bot that used Freshbooks and Harvest. Then Slack came out and he created Tatsu. [05:00] Tatsu features You can schedule it and it'll ask automated questions. He's working on having it integrate with github, Harvest, Google Calendar, etc. If there's a blocker, you should be able to create private conversations with the people who are blocked and add that to the standup. When you sign up it adds a video link into your slack. Eric thinks this is pretty clever. In Slack, the default action people should take when a bot is installed should be to DM the person who installed it. [08:50] What it takes to write a bot and the challenges involved Writing bots is "fun as hell." Chatbots suck. We have the opportunity to improve an entire piece of the industry. Many bots are command based bots. You say something and it responds. Conversational UI's are really hard because they don't have any context or shared understanding of the world. [12:18] Chatbot libraries - Getting Started Every large company is working on one. There are also lots of natural language processing services that you can use as well. Before you start, you need to know your use case. Where will your users be? What services do you want to provide? At work? Probably slack. Among friends? Facebook Node has botkit. It's the most popular chatbot platform in the world. Start with botkit, use the examples, then come back to Ruby. Dave brings up building a chatbot for Slack that connected to VersionOne. Data retrieval bots are another great place to start. From there, you start answering the question of where things go. [18:51] The panel's experience with chatbots Tatsu has been around for about 2 years and has existed pre-Slack. Eric uses a Slackbot to get information about users who cancel or decline messages. Chuck has done automatic posting to Slack with Zapier. Chuck also mentions serverless with AWS Lambda. Chatbots are a lot like webapps. They're text in, text out and process things in very similar ways. Dave also brings up SMS bots as well with Twilio. Jamie has thought about creating a web based standup bot for when Slack is down. Slack is a single point of failure for your bot if that's where it lives. Slack gives you a lot of UI elements that you don't get in SMS. [24:51] Do you wish that Slack were more like IRC From an end-user perspective, no. But Jamie does wish they'd revisit threading replies and separating conversations in the same channel. It only took a handful of developers to build Slack. [27:20] What gems do you use in Ruby? slack-ruby-client by dblock slack-ruby-bot by dblock eventmachine [29:30] Does Slack push to an endpoint? or do you poll Slack? You can call an api endpoint on Slack that gives you a websocket endpoint. The events API sends webhook events to your server. It's easier to program against, but it can be slower. It may also be restricted on certain API's [30:55] Github Fantasy League Based on a Peepcode video with Aaron Patterson. You got a score based on your activity in Github. Jamie recorded videos for a talk at Codemash. It never actually became a thing, but it was a fun idea. Jamie got into Ruby by going to a Ruby Koans talk by Jim Weirich. Jamie's links github.com/jwright twitter.com/jwright brilliantfantastic.com This is what we put into the chat room after the Dr. Who reference... Picks Eric Rollbar Dave Mattermost Chuck Zoho CRM Jamie Digit
In this episode of the Ruby Rogues podcast Dave Kimura, Eric Berry, and Charles Max Wood discuss chatbots with Jamie Wright. Jamie will be speaking at Ruby Dev Summit in October. [01:25] Jamie Wright introduction Jamie is a professional nerd and independent contractor. He's been coding for 20 years mostly in Ruby. He's starting to get into Elixir. One of his first projects was a text adventure game, which got him started with conversational UI's. He saw Hubot on Campfire. He started tweaking that. He made a timetracking bot that used Freshbooks and Harvest. Then Slack came out and he created Tatsu. [05:00] Tatsu features You can schedule it and it'll ask automated questions. He's working on having it integrate with github, Harvest, Google Calendar, etc. If there's a blocker, you should be able to create private conversations with the people who are blocked and add that to the standup. When you sign up it adds a video link into your slack. Eric thinks this is pretty clever. In Slack, the default action people should take when a bot is installed should be to DM the person who installed it. [08:50] What it takes to write a bot and the challenges involved Writing bots is "fun as hell." Chatbots suck. We have the opportunity to improve an entire piece of the industry. Many bots are command based bots. You say something and it responds. Conversational UI's are really hard because they don't have any context or shared understanding of the world. [12:18] Chatbot libraries - Getting Started Every large company is working on one. There are also lots of natural language processing services that you can use as well. Before you start, you need to know your use case. Where will your users be? What services do you want to provide? At work? Probably slack. Among friends? Facebook Node has botkit. It's the most popular chatbot platform in the world. Start with botkit, use the examples, then come back to Ruby. Dave brings up building a chatbot for Slack that connected to VersionOne. Data retrieval bots are another great place to start. From there, you start answering the question of where things go. [18:51] The panel's experience with chatbots Tatsu has been around for about 2 years and has existed pre-Slack. Eric uses a Slackbot to get information about users who cancel or decline messages. Chuck has done automatic posting to Slack with Zapier. Chuck also mentions serverless with AWS Lambda. Chatbots are a lot like webapps. They're text in, text out and process things in very similar ways. Dave also brings up SMS bots as well with Twilio. Jamie has thought about creating a web based standup bot for when Slack is down. Slack is a single point of failure for your bot if that's where it lives. Slack gives you a lot of UI elements that you don't get in SMS. [24:51] Do you wish that Slack were more like IRC From an end-user perspective, no. But Jamie does wish they'd revisit threading replies and separating conversations in the same channel. It only took a handful of developers to build Slack. [27:20] What gems do you use in Ruby? slack-ruby-client by dblock slack-ruby-bot by dblock eventmachine [29:30] Does Slack push to an endpoint? or do you poll Slack? You can call an api endpoint on Slack that gives you a websocket endpoint. The events API sends webhook events to your server. It's easier to program against, but it can be slower. It may also be restricted on certain API's [30:55] Github Fantasy League Based on a Peepcode video with Aaron Patterson. You got a score based on your activity in Github. Jamie recorded videos for a talk at Codemash. It never actually became a thing, but it was a fun idea. Jamie got into Ruby by going to a Ruby Koans talk by Jim Weirich. Jamie's links github.com/jwright twitter.com/jwright brilliantfantastic.com This is what we put into the chat room after the Dr. Who reference... Picks Eric Rollbar Dave Mattermost Chuck Zoho CRM Jamie Digit
In this episode of the Ruby Rogues podcast Dave Kimura, Eric Berry, and Charles Max Wood discuss chatbots with Jamie Wright. Jamie will be speaking at Ruby Dev Summit in October. [01:25] Jamie Wright introduction Jamie is a professional nerd and independent contractor. He's been coding for 20 years mostly in Ruby. He's starting to get into Elixir. One of his first projects was a text adventure game, which got him started with conversational UI's. He saw Hubot on Campfire. He started tweaking that. He made a timetracking bot that used Freshbooks and Harvest. Then Slack came out and he created Tatsu. [05:00] Tatsu features You can schedule it and it'll ask automated questions. He's working on having it integrate with github, Harvest, Google Calendar, etc. If there's a blocker, you should be able to create private conversations with the people who are blocked and add that to the standup. When you sign up it adds a video link into your slack. Eric thinks this is pretty clever. In Slack, the default action people should take when a bot is installed should be to DM the person who installed it. [08:50] What it takes to write a bot and the challenges involved Writing bots is "fun as hell." Chatbots suck. We have the opportunity to improve an entire piece of the industry. Many bots are command based bots. You say something and it responds. Conversational UI's are really hard because they don't have any context or shared understanding of the world. [12:18] Chatbot libraries - Getting Started Every large company is working on one. There are also lots of natural language processing services that you can use as well. Before you start, you need to know your use case. Where will your users be? What services do you want to provide? At work? Probably slack. Among friends? Facebook Node has botkit. It's the most popular chatbot platform in the world. Start with botkit, use the examples, then come back to Ruby. Dave brings up building a chatbot for Slack that connected to VersionOne. Data retrieval bots are another great place to start. From there, you start answering the question of where things go. [18:51] The panel's experience with chatbots Tatsu has been around for about 2 years and has existed pre-Slack. Eric uses a Slackbot to get information about users who cancel or decline messages. Chuck has done automatic posting to Slack with Zapier. Chuck also mentions serverless with AWS Lambda. Chatbots are a lot like webapps. They're text in, text out and process things in very similar ways. Dave also brings up SMS bots as well with Twilio. Jamie has thought about creating a web based standup bot for when Slack is down. Slack is a single point of failure for your bot if that's where it lives. Slack gives you a lot of UI elements that you don't get in SMS. [24:51] Do you wish that Slack were more like IRC From an end-user perspective, no. But Jamie does wish they'd revisit threading replies and separating conversations in the same channel. It only took a handful of developers to build Slack. [27:20] What gems do you use in Ruby? slack-ruby-client by dblock slack-ruby-bot by dblock eventmachine [29:30] Does Slack push to an endpoint? or do you poll Slack? You can call an api endpoint on Slack that gives you a websocket endpoint. The events API sends webhook events to your server. It's easier to program against, but it can be slower. It may also be restricted on certain API's [30:55] Github Fantasy League Based on a Peepcode video with Aaron Patterson. You got a score based on your activity in Github. Jamie recorded videos for a talk at Codemash. It never actually became a thing, but it was a fun idea. Jamie got into Ruby by going to a Ruby Koans talk by Jim Weirich. Jamie's links github.com/jwright twitter.com/jwright brilliantfantastic.com This is what we put into the chat room after the Dr. Who reference... Picks Eric Rollbar Dave Mattermost Chuck Zoho CRM Jamie Digit
MRS 018: Kinsey Ann Durham Today's episode is a My Ruby Story with Kinsey Ann Durham. She is one of the speakers for the Ruby Dev Summit. Listen to learn more about Kinsey! [01:15] – Introduction to Kinsey Ann Durham Kinsey was on episode 180 of the Ruby Rogues podcast. They talked about Barriers to New Developers. It’s been 3 years. She is also one of the speakers for the Ruby Dev Summit, which is coming up in October. [02:55] – How did you get into programming? RailsBridge workshop Kinsey got into programming, not through the traditional Computer Science route or boot camp / code school route. She actually did a RailsBridge workshop 4 or 5 years ago in Denver. RailsBridge is part of the larger organization called Bridge Foundry. It’s a weekend workshop where you have mentors and teachers who teach you how to build an app in whatever language or framework from scratch. Food is provided. It’s mainly for women but men are welcome as well as long as you accompany a female. Brother Kinsey’s step brother, Sean Griffin, is really big in the Rails community and Rasp community. She saw him and what he was doing. Networking and building relationships Kinsey was lucky enough to meet Desi McAdam at the RailsBridge event. Eventually, she was able to get a job as an apprentice in Denver that had just opened and where Desi was the managing director. Kinsey did a lot of self-taught work using books. There are online tutorials, mentorship, and networking with people. She thinks it’s relevant for developers who are new in the industry given how saturated the market is. It’s important to network and build relationships, and not just applying blindly to Java applications that you see online. [06:20] – What do you recommend to people? Luckily, there are tons of online resources where you can learn and get the basics. Kinsey thinks that it’s a lot harder nowadays to do that because you will be competing for head to head with students who are coming out of these schools, or do have Computer Science backgrounds. But she also thinks that it’s doable to be self-taught as long as you are willing to put in the time. And then, not only use the free online resources but also find a mentor that is willing to work with you and guide you because there are times where you’ll hit a bug or problem or even when getting Rails setup on your machine. Sometimes, Stack Overflow and those online resources aren’t enough. [08:20] – How did Ruby shaped your experience coming in as a new programmer? Kinsey started going to conferences right away and she fell in love with the community. Back then, there were a lot of stories going around in the industry on how hard it is for females, etc. But she found that the Ruby community was welcoming and receptive. [10:00] – Sexism Kinsey had experiences and has seen it firsthand. She thinks that it is still an issue but she also thinks that it’s getting better. She thinks that the programming communities are becoming more and more diverse with the influx of people coming out of code schools. They have different backgrounds. They also have stereotypical developers. Picks Kinsey Ann Durham RubyConf Organization: Bridge Foundry Twitter: @KinseyAnnDurham Website: kinseyanndurham.com Charles Max Woods RubyRogues Parley RubyConf RailsConf
MRS 018: Kinsey Ann Durham Today's episode is a My Ruby Story with Kinsey Ann Durham. She is one of the speakers for the Ruby Dev Summit. Listen to learn more about Kinsey! [01:15] – Introduction to Kinsey Ann Durham Kinsey was on episode 180 of the Ruby Rogues podcast. They talked about Barriers to New Developers. It’s been 3 years. She is also one of the speakers for the Ruby Dev Summit, which is coming up in October. [02:55] – How did you get into programming? RailsBridge workshop Kinsey got into programming, not through the traditional Computer Science route or boot camp / code school route. She actually did a RailsBridge workshop 4 or 5 years ago in Denver. RailsBridge is part of the larger organization called Bridge Foundry. It’s a weekend workshop where you have mentors and teachers who teach you how to build an app in whatever language or framework from scratch. Food is provided. It’s mainly for women but men are welcome as well as long as you accompany a female. Brother Kinsey’s step brother, Sean Griffin, is really big in the Rails community and Rasp community. She saw him and what he was doing. Networking and building relationships Kinsey was lucky enough to meet Desi McAdam at the RailsBridge event. Eventually, she was able to get a job as an apprentice in Denver that had just opened and where Desi was the managing director. Kinsey did a lot of self-taught work using books. There are online tutorials, mentorship, and networking with people. She thinks it’s relevant for developers who are new in the industry given how saturated the market is. It’s important to network and build relationships, and not just applying blindly to Java applications that you see online. [06:20] – What do you recommend to people? Luckily, there are tons of online resources where you can learn and get the basics. Kinsey thinks that it’s a lot harder nowadays to do that because you will be competing for head to head with students who are coming out of these schools, or do have Computer Science backgrounds. But she also thinks that it’s doable to be self-taught as long as you are willing to put in the time. And then, not only use the free online resources but also find a mentor that is willing to work with you and guide you because there are times where you’ll hit a bug or problem or even when getting Rails setup on your machine. Sometimes, Stack Overflow and those online resources aren’t enough. [08:20] – How did Ruby shaped your experience coming in as a new programmer? Kinsey started going to conferences right away and she fell in love with the community. Back then, there were a lot of stories going around in the industry on how hard it is for females, etc. But she found that the Ruby community was welcoming and receptive. [10:00] – Sexism Kinsey had experiences and has seen it firsthand. She thinks that it is still an issue but she also thinks that it’s getting better. She thinks that the programming communities are becoming more and more diverse with the influx of people coming out of code schools. They have different backgrounds. They also have stereotypical developers. Picks Kinsey Ann Durham RubyConf Organization: Bridge Foundry Twitter: @KinseyAnnDurham Website: kinseyanndurham.com Charles Max Woods RubyRogues Parley RubyConf RailsConf
MRS 018: Kinsey Ann Durham Today's episode is a My Ruby Story with Kinsey Ann Durham. She is one of the speakers for the Ruby Dev Summit. Listen to learn more about Kinsey! [01:15] – Introduction to Kinsey Ann Durham Kinsey was on episode 180 of the Ruby Rogues podcast. They talked about Barriers to New Developers. It’s been 3 years. She is also one of the speakers for the Ruby Dev Summit, which is coming up in October. [02:55] – How did you get into programming? RailsBridge workshop Kinsey got into programming, not through the traditional Computer Science route or boot camp / code school route. She actually did a RailsBridge workshop 4 or 5 years ago in Denver. RailsBridge is part of the larger organization called Bridge Foundry. It’s a weekend workshop where you have mentors and teachers who teach you how to build an app in whatever language or framework from scratch. Food is provided. It’s mainly for women but men are welcome as well as long as you accompany a female. Brother Kinsey’s step brother, Sean Griffin, is really big in the Rails community and Rasp community. She saw him and what he was doing. Networking and building relationships Kinsey was lucky enough to meet Desi McAdam at the RailsBridge event. Eventually, she was able to get a job as an apprentice in Denver that had just opened and where Desi was the managing director. Kinsey did a lot of self-taught work using books. There are online tutorials, mentorship, and networking with people. She thinks it’s relevant for developers who are new in the industry given how saturated the market is. It’s important to network and build relationships, and not just applying blindly to Java applications that you see online. [06:20] – What do you recommend to people? Luckily, there are tons of online resources where you can learn and get the basics. Kinsey thinks that it’s a lot harder nowadays to do that because you will be competing for head to head with students who are coming out of these schools, or do have Computer Science backgrounds. But she also thinks that it’s doable to be self-taught as long as you are willing to put in the time. And then, not only use the free online resources but also find a mentor that is willing to work with you and guide you because there are times where you’ll hit a bug or problem or even when getting Rails setup on your machine. Sometimes, Stack Overflow and those online resources aren’t enough. [08:20] – How did Ruby shaped your experience coming in as a new programmer? Kinsey started going to conferences right away and she fell in love with the community. Back then, there were a lot of stories going around in the industry on how hard it is for females, etc. But she found that the Ruby community was welcoming and receptive. [10:00] – Sexism Kinsey had experiences and has seen it firsthand. She thinks that it is still an issue but she also thinks that it’s getting better. She thinks that the programming communities are becoming more and more diverse with the influx of people coming out of code schools. They have different backgrounds. They also have stereotypical developers. Picks Kinsey Ann Durham RubyConf Organization: Bridge Foundry Twitter: @KinseyAnnDurham Website: kinseyanndurham.com Charles Max Woods RubyRogues Parley RubyConf RailsConf
Tweet this Episode RR 325 Date Night with Ruby with Ruberto Paulo In this episode, panelists Dave Kimura, Eric Berry, and Charles Max Wood discuss ongoing learning and keeping your passion for programming alive with Ruberto Paulo. [01:16] Ruberto Paulo introduction and discussion on the South African and worldwide Ruby scene Rubyist from Cape Town, South Africa. Works for a fintech company in Cape Town. He's an organizer of RubyFuza and Ruby DCamp in South Africa. The Ruby scene in South Africa is growing as is fintech. His company's platform was build by Platform45 and is now maintained by his employer. Developers are also finding work in the wider world from the Cape Town area. Is Cape Town a big Rails area? or is there a big focus on other frameworks? It's a mix, but mostly Rails. Most of the people who live in Kenya spend 1/3 of their income charging their phones. M-pesa is their alternative to banks because they can't afford to have bank accounts. Every business in Africa has to have some kind of technology tie-in because of this. A lot of the developers in Ruby are Polyglots. They're people who have experimented with several languages in the past. Ruby is probably the highest paid language in South Africa. Dave Thomas spoke at RubyHACK conference that Elixir is the future. He's using Elixir for pretty much everything now. Elixir presents a viable option to move from for Rubyists. Several years ago, Ruby was hot. Now it's mature. Many corporations have invested in Ruby, so they're not going to adopt another stack. Most frameworks can solve most problems, so people only move when you're in the minority case where you need the capabilities of the new language. A lot of people stick around because they love the language and the community as well. What does Ruby give us that we want to take with us into the future? [19:10] Date Night with Ruby Ruberto is speaking at Ruby Dev Summit about Date Night with Ruby. More show notes in progress
Tweet this Episode RR 325 Date Night with Ruby with Ruberto Paulo In this episode, panelists Dave Kimura, Eric Berry, and Charles Max Wood discuss ongoing learning and keeping your passion for programming alive with Ruberto Paulo. [01:16] Ruberto Paulo introduction and discussion on the South African and worldwide Ruby scene Rubyist from Cape Town, South Africa. Works for a fintech company in Cape Town. He's an organizer of RubyFuza and Ruby DCamp in South Africa. The Ruby scene in South Africa is growing as is fintech. His company's platform was build by Platform45 and is now maintained by his employer. Developers are also finding work in the wider world from the Cape Town area. Is Cape Town a big Rails area? or is there a big focus on other frameworks? It's a mix, but mostly Rails. Most of the people who live in Kenya spend 1/3 of their income charging their phones. M-pesa is their alternative to banks because they can't afford to have bank accounts. Every business in Africa has to have some kind of technology tie-in because of this. A lot of the developers in Ruby are Polyglots. They're people who have experimented with several languages in the past. Ruby is probably the highest paid language in South Africa. Dave Thomas spoke at RubyHACK conference that Elixir is the future. He's using Elixir for pretty much everything now. Elixir presents a viable option to move from for Rubyists. Several years ago, Ruby was hot. Now it's mature. Many corporations have invested in Ruby, so they're not going to adopt another stack. Most frameworks can solve most problems, so people only move when you're in the minority case where you need the capabilities of the new language. A lot of people stick around because they love the language and the community as well. What does Ruby give us that we want to take with us into the future? [19:10] Date Night with Ruby Ruberto is speaking at Ruby Dev Summit about Date Night with Ruby. More show notes in progress
Tweet this Episode RR 325 Date Night with Ruby with Ruberto Paulo In this episode, panelists Dave Kimura, Eric Berry, and Charles Max Wood discuss ongoing learning and keeping your passion for programming alive with Ruberto Paulo. [01:16] Ruberto Paulo introduction and discussion on the South African and worldwide Ruby scene Rubyist from Cape Town, South Africa. Works for a fintech company in Cape Town. He's an organizer of RubyFuza and Ruby DCamp in South Africa. The Ruby scene in South Africa is growing as is fintech. His company's platform was build by Platform45 and is now maintained by his employer. Developers are also finding work in the wider world from the Cape Town area. Is Cape Town a big Rails area? or is there a big focus on other frameworks? It's a mix, but mostly Rails. Most of the people who live in Kenya spend 1/3 of their income charging their phones. M-pesa is their alternative to banks because they can't afford to have bank accounts. Every business in Africa has to have some kind of technology tie-in because of this. A lot of the developers in Ruby are Polyglots. They're people who have experimented with several languages in the past. Ruby is probably the highest paid language in South Africa. Dave Thomas spoke at RubyHACK conference that Elixir is the future. He's using Elixir for pretty much everything now. Elixir presents a viable option to move from for Rubyists. Several years ago, Ruby was hot. Now it's mature. Many corporations have invested in Ruby, so they're not going to adopt another stack. Most frameworks can solve most problems, so people only move when you're in the minority case where you need the capabilities of the new language. A lot of people stick around because they love the language and the community as well. What does Ruby give us that we want to take with us into the future? [19:10] Date Night with Ruby Ruberto is speaking at Ruby Dev Summit about Date Night with Ruby. More show notes in progress
MRS 017: Hal Fulton Today's episode is a My Ruby Story with Hal Fulton. Hal talked about his contributions to the Ruby community. He is the author of The Ruby Way. Listen to learn more about Hal! [01:20] – Introduction to Hal Fulton Hal is the author of the Ruby Way, which was one of the books that Charles picked up when he started programming in Ruby. It’s still being published and still up to date. Hal still loves computers and programming but he admitted that he can’t keep up with it anymore. [03:50] – How did you get into programming? Hal didn’t really have the opportunity to get into programming at a young age. So, the first chance he had was when he just turned 17, he went to a summer program, which was a 6-week program at a college. It was dealing with Genetics and Population Genetics. He had lab work and learned some mathematical models. He also learned BASIC and a couple of primitive microcomputers with different versions of BASIC. His first BASIC programs were the hello world and followed by Population Genetics. [06:20] – How did you get into Ruby? Hal went to college and majored in Physics. But he was taking Computer Science courses along the way. He dropped Thermodynamics and made a C in Differential Equations. Then, he had to change his degree. He always wanted to major in Physics but he thought that Computer Science is easier and more fun. For him, it will be 10 times easier to find a job and it will be 10 times easier to make money. Hal worked for a community college for a while. Then, he went to IBM in Houston for a series of contracts. He ended up 7 contracts at IBM, making some 6 months to 2 years. He knew more about their internal processes and procedures. One of the last contracts he ever had in IBM was in October 1999. Someone at IBM told him that he should know Ruby and pointed him to the website. According to Hal, he was busy learning Ruby. He didn’t know Ruby yet but he knew that he can write. Picks Hal Fulton Ruby Comms Novel: Secret History by Donna Tartt Novel: The Shadow of the Wind by Carlos Ruiz Zafon TV Series: The Man in the High Castle Musical: Hamilton Charles Max Woods Book: The Ruby Way by Hal Fulton Editor: Obie Fernandez of The Ruby Way Ruby Dev Summit
MRS 017: Hal Fulton Today's episode is a My Ruby Story with Hal Fulton. Hal talked about his contributions to the Ruby community. He is the author of The Ruby Way. Listen to learn more about Hal! [01:20] – Introduction to Hal Fulton Hal is the author of the Ruby Way, which was one of the books that Charles picked up when he started programming in Ruby. It’s still being published and still up to date. Hal still loves computers and programming but he admitted that he can’t keep up with it anymore. [03:50] – How did you get into programming? Hal didn’t really have the opportunity to get into programming at a young age. So, the first chance he had was when he just turned 17, he went to a summer program, which was a 6-week program at a college. It was dealing with Genetics and Population Genetics. He had lab work and learned some mathematical models. He also learned BASIC and a couple of primitive microcomputers with different versions of BASIC. His first BASIC programs were the hello world and followed by Population Genetics. [06:20] – How did you get into Ruby? Hal went to college and majored in Physics. But he was taking Computer Science courses along the way. He dropped Thermodynamics and made a C in Differential Equations. Then, he had to change his degree. He always wanted to major in Physics but he thought that Computer Science is easier and more fun. For him, it will be 10 times easier to find a job and it will be 10 times easier to make money. Hal worked for a community college for a while. Then, he went to IBM in Houston for a series of contracts. He ended up 7 contracts at IBM, making some 6 months to 2 years. He knew more about their internal processes and procedures. One of the last contracts he ever had in IBM was in October 1999. Someone at IBM told him that he should know Ruby and pointed him to the website. According to Hal, he was busy learning Ruby. He didn’t know Ruby yet but he knew that he can write. Picks Hal Fulton Ruby Comms Novel: Secret History by Donna Tartt Novel: The Shadow of the Wind by Carlos Ruiz Zafon TV Series: The Man in the High Castle Musical: Hamilton Charles Max Woods Book: The Ruby Way by Hal Fulton Editor: Obie Fernandez of The Ruby Way Ruby Dev Summit
MRS 017: Hal Fulton Today's episode is a My Ruby Story with Hal Fulton. Hal talked about his contributions to the Ruby community. He is the author of The Ruby Way. Listen to learn more about Hal! [01:20] – Introduction to Hal Fulton Hal is the author of the Ruby Way, which was one of the books that Charles picked up when he started programming in Ruby. It’s still being published and still up to date. Hal still loves computers and programming but he admitted that he can’t keep up with it anymore. [03:50] – How did you get into programming? Hal didn’t really have the opportunity to get into programming at a young age. So, the first chance he had was when he just turned 17, he went to a summer program, which was a 6-week program at a college. It was dealing with Genetics and Population Genetics. He had lab work and learned some mathematical models. He also learned BASIC and a couple of primitive microcomputers with different versions of BASIC. His first BASIC programs were the hello world and followed by Population Genetics. [06:20] – How did you get into Ruby? Hal went to college and majored in Physics. But he was taking Computer Science courses along the way. He dropped Thermodynamics and made a C in Differential Equations. Then, he had to change his degree. He always wanted to major in Physics but he thought that Computer Science is easier and more fun. For him, it will be 10 times easier to find a job and it will be 10 times easier to make money. Hal worked for a community college for a while. Then, he went to IBM in Houston for a series of contracts. He ended up 7 contracts at IBM, making some 6 months to 2 years. He knew more about their internal processes and procedures. One of the last contracts he ever had in IBM was in October 1999. Someone at IBM told him that he should know Ruby and pointed him to the website. According to Hal, he was busy learning Ruby. He didn’t know Ruby yet but he knew that he can write. Picks Hal Fulton Ruby Comms Novel: Secret History by Donna Tartt Novel: The Shadow of the Wind by Carlos Ruiz Zafon TV Series: The Man in the High Castle Musical: Hamilton Charles Max Woods Book: The Ruby Way by Hal Fulton Editor: Obie Fernandez of The Ruby Way Ruby Dev Summit
RR 324: Developer Horror Stories The panel for this episode of Ruby Rogues is Dave Kimura, Eric Berry, and Charles Max Well. They are telling developer horror stories this week. Tune in to listen to their stories! [00:01:40] Eric’s Story Eric tells a story that happened today. He was working on a report on live data at work. While doing this, he sent texts to hundreds of people that shouldn’t be getting them. The moral of the story is that everyone makes mistakes, even seasoned developers. [00:02:58] How could that have been avoided? Eric has a fail-safe that has to override with an environment variable so that it won’t truncate the tables. Once that happens, no messages will be sent. He works at a company, which is a B to C texting platform that allows customer retention through mass, etc. He commented out stuff, not realizing that it would start sending messages. He needed live data to generate reports so he did not truncate the data. His advice is not to comment out code until you know why you are doing so. Dave says that same thing can also happen with an email service. Instead of commenting out code, make sure they are set up to a mail server or mail dev to where it actually never sends out to the real world but stays in a send box environment. Amazon SES has a way to do this where things stay internally. [00:05:10] Dave’s Story Around seven years ago Dave needed to store some images. He did not want to use a storage on the local computer because he would have multiple web servers and he did not want to use external storage because he was “lazy.” So he stored the images in the database. It worked for years until one day he saw that the table was 30 GB, which was much larger than it should have been. He had to extract and rewrite because any test to undo it would be substantial. It would be a long running process because 30 GB is a lot of data. In hindsight, Dave’s advice is that you don’t have to prematurely optimize but you also don’t have to make bad decisions. Do not store globs of binary data in your database. If it can be stored as a jpeg, do that. [00:08:04] Charles’ Story Charles’ story focuses on time zones. He was working on test first development. He wrote tests for a feature and his coworker checked them. The database was running in UTC and doing checks in Mountain Time, so the checks would fail from 6pm until midnight. The CI server would show that tests were not passing for a chunk of the day. It was a simple fix. He learned that you can write a test that passes but may be overlooking something simple that may change when in a different place or a different time. [00:11:05] Errors Errors are hard to track down. The hardest ones to find are the ones that only happen occasionally. The worst ones are those that are critical errors that only happen occasionally. Because they only happen sometimes, it is hard to know how to fix them. [00:19:13] Using a Technology Too Soon Eric used a technology too soon, which was Rails. Nobody could take over once he left the company. He had to go back to the company and rebuild it in PHP so that others could use it. The lesson from this mistake is that when you chose a technology you have to choose one that supports the buzz factor. Everyone has a responsibility to the people they are working for to add value. If you leave them with a maintenance nightmare you are not helping, you are hurting. Make sure you are locking things down. [00:22:35] Gems and Poll Requests Dave watches Gems to see what and how often they are updating. He checks to see if his poll request was accepted and reverts back to the original gem. He calls it “free maintenance from other people.” He doesn’t think you should deviate from it too much. An option is to use a proxy as well. [00:27:41] Have you ever had to make patches in your Rails app knowing that those patches were coming in a future release? Eric has had to in the past. His mentor had to patch Rails, apply it, but every time it ran it said, “if you upgrade rails, upgrade me.” It was a reminder to make sure everyone stays in sync. [00:29:30] Migration Dave and Charles have both had problems with migration. Take snapshots of database before you use migrations. The moral of story is if you’re going to migrate data, make sure you back up your database before you change the data. And don’t do data modifications in your migrations. Also set up a replica of your database. There is no excuse except for laziness or inexperience. [00:32:10] Materialized views. Eric used to work for social media company that had a lot of data coming in from various forms of social media. Helped build sub products that handled intake of data. Decided to use materialized views. It is a view that self updates as data changes in the database. In other words, it creates a fake table and can simplify the application side of things. It got a little messy and they had no idea what was updating things when. Because of this, they had to convert the materialized views to stored procedures. The materialized views killed the database because it triggered things when it shouldn’t be. [00:37:23] Caching Caching is a big problem with development. There are complex cache keys built around different queries and combinations of objects. There is a value with using caches but there is a caution with not using caches too early. A lot of problems have resulted from caching wrong results. The moral is to measure and make sure that you are working on the right problems. Sometimes premature optimization does not matter. Sometimes caching is just not needed and messes programs up rather than helping them. [00:40:34] How do you populate data with unrealistic data? It depends on how big the application is, but larger ones generate ten to twenty thousand records. For these, Dave uses Active Record Import. He used the Faker Gem to create fakes names. Without using Active Record Import it would take ten to fifteen minutes to 50,000 but instead it took two minutes with using it, saving a lot of time. Picks Dave: Gem in a box Active Record Import Eric: udemy – Stephen Grider Code Sponsor Charles: Audible Meditation app Find something that helps you re-center Ruby Dev Summit
RR 324: Developer Horror Stories The panel for this episode of Ruby Rogues is Dave Kimura, Eric Berry, and Charles Max Well. They are telling developer horror stories this week. Tune in to listen to their stories! [00:01:40] Eric’s Story Eric tells a story that happened today. He was working on a report on live data at work. While doing this, he sent texts to hundreds of people that shouldn’t be getting them. The moral of the story is that everyone makes mistakes, even seasoned developers. [00:02:58] How could that have been avoided? Eric has a fail-safe that has to override with an environment variable so that it won’t truncate the tables. Once that happens, no messages will be sent. He works at a company, which is a B to C texting platform that allows customer retention through mass, etc. He commented out stuff, not realizing that it would start sending messages. He needed live data to generate reports so he did not truncate the data. His advice is not to comment out code until you know why you are doing so. Dave says that same thing can also happen with an email service. Instead of commenting out code, make sure they are set up to a mail server or mail dev to where it actually never sends out to the real world but stays in a send box environment. Amazon SES has a way to do this where things stay internally. [00:05:10] Dave’s Story Around seven years ago Dave needed to store some images. He did not want to use a storage on the local computer because he would have multiple web servers and he did not want to use external storage because he was “lazy.” So he stored the images in the database. It worked for years until one day he saw that the table was 30 GB, which was much larger than it should have been. He had to extract and rewrite because any test to undo it would be substantial. It would be a long running process because 30 GB is a lot of data. In hindsight, Dave’s advice is that you don’t have to prematurely optimize but you also don’t have to make bad decisions. Do not store globs of binary data in your database. If it can be stored as a jpeg, do that. [00:08:04] Charles’ Story Charles’ story focuses on time zones. He was working on test first development. He wrote tests for a feature and his coworker checked them. The database was running in UTC and doing checks in Mountain Time, so the checks would fail from 6pm until midnight. The CI server would show that tests were not passing for a chunk of the day. It was a simple fix. He learned that you can write a test that passes but may be overlooking something simple that may change when in a different place or a different time. [00:11:05] Errors Errors are hard to track down. The hardest ones to find are the ones that only happen occasionally. The worst ones are those that are critical errors that only happen occasionally. Because they only happen sometimes, it is hard to know how to fix them. [00:19:13] Using a Technology Too Soon Eric used a technology too soon, which was Rails. Nobody could take over once he left the company. He had to go back to the company and rebuild it in PHP so that others could use it. The lesson from this mistake is that when you chose a technology you have to choose one that supports the buzz factor. Everyone has a responsibility to the people they are working for to add value. If you leave them with a maintenance nightmare you are not helping, you are hurting. Make sure you are locking things down. [00:22:35] Gems and Poll Requests Dave watches Gems to see what and how often they are updating. He checks to see if his poll request was accepted and reverts back to the original gem. He calls it “free maintenance from other people.” He doesn’t think you should deviate from it too much. An option is to use a proxy as well. [00:27:41] Have you ever had to make patches in your Rails app knowing that those patches were coming in a future release? Eric has had to in the past. His mentor had to patch Rails, apply it, but every time it ran it said, “if you upgrade rails, upgrade me.” It was a reminder to make sure everyone stays in sync. [00:29:30] Migration Dave and Charles have both had problems with migration. Take snapshots of database before you use migrations. The moral of story is if you’re going to migrate data, make sure you back up your database before you change the data. And don’t do data modifications in your migrations. Also set up a replica of your database. There is no excuse except for laziness or inexperience. [00:32:10] Materialized views. Eric used to work for social media company that had a lot of data coming in from various forms of social media. Helped build sub products that handled intake of data. Decided to use materialized views. It is a view that self updates as data changes in the database. In other words, it creates a fake table and can simplify the application side of things. It got a little messy and they had no idea what was updating things when. Because of this, they had to convert the materialized views to stored procedures. The materialized views killed the database because it triggered things when it shouldn’t be. [00:37:23] Caching Caching is a big problem with development. There are complex cache keys built around different queries and combinations of objects. There is a value with using caches but there is a caution with not using caches too early. A lot of problems have resulted from caching wrong results. The moral is to measure and make sure that you are working on the right problems. Sometimes premature optimization does not matter. Sometimes caching is just not needed and messes programs up rather than helping them. [00:40:34] How do you populate data with unrealistic data? It depends on how big the application is, but larger ones generate ten to twenty thousand records. For these, Dave uses Active Record Import. He used the Faker Gem to create fakes names. Without using Active Record Import it would take ten to fifteen minutes to 50,000 but instead it took two minutes with using it, saving a lot of time. Picks Dave: Gem in a box Active Record Import Eric: udemy – Stephen Grider Code Sponsor Charles: Audible Meditation app Find something that helps you re-center Ruby Dev Summit
RR 324: Developer Horror Stories The panel for this episode of Ruby Rogues is Dave Kimura, Eric Berry, and Charles Max Well. They are telling developer horror stories this week. Tune in to listen to their stories! [00:01:40] Eric’s Story Eric tells a story that happened today. He was working on a report on live data at work. While doing this, he sent texts to hundreds of people that shouldn’t be getting them. The moral of the story is that everyone makes mistakes, even seasoned developers. [00:02:58] How could that have been avoided? Eric has a fail-safe that has to override with an environment variable so that it won’t truncate the tables. Once that happens, no messages will be sent. He works at a company, which is a B to C texting platform that allows customer retention through mass, etc. He commented out stuff, not realizing that it would start sending messages. He needed live data to generate reports so he did not truncate the data. His advice is not to comment out code until you know why you are doing so. Dave says that same thing can also happen with an email service. Instead of commenting out code, make sure they are set up to a mail server or mail dev to where it actually never sends out to the real world but stays in a send box environment. Amazon SES has a way to do this where things stay internally. [00:05:10] Dave’s Story Around seven years ago Dave needed to store some images. He did not want to use a storage on the local computer because he would have multiple web servers and he did not want to use external storage because he was “lazy.” So he stored the images in the database. It worked for years until one day he saw that the table was 30 GB, which was much larger than it should have been. He had to extract and rewrite because any test to undo it would be substantial. It would be a long running process because 30 GB is a lot of data. In hindsight, Dave’s advice is that you don’t have to prematurely optimize but you also don’t have to make bad decisions. Do not store globs of binary data in your database. If it can be stored as a jpeg, do that. [00:08:04] Charles’ Story Charles’ story focuses on time zones. He was working on test first development. He wrote tests for a feature and his coworker checked them. The database was running in UTC and doing checks in Mountain Time, so the checks would fail from 6pm until midnight. The CI server would show that tests were not passing for a chunk of the day. It was a simple fix. He learned that you can write a test that passes but may be overlooking something simple that may change when in a different place or a different time. [00:11:05] Errors Errors are hard to track down. The hardest ones to find are the ones that only happen occasionally. The worst ones are those that are critical errors that only happen occasionally. Because they only happen sometimes, it is hard to know how to fix them. [00:19:13] Using a Technology Too Soon Eric used a technology too soon, which was Rails. Nobody could take over once he left the company. He had to go back to the company and rebuild it in PHP so that others could use it. The lesson from this mistake is that when you chose a technology you have to choose one that supports the buzz factor. Everyone has a responsibility to the people they are working for to add value. If you leave them with a maintenance nightmare you are not helping, you are hurting. Make sure you are locking things down. [00:22:35] Gems and Poll Requests Dave watches Gems to see what and how often they are updating. He checks to see if his poll request was accepted and reverts back to the original gem. He calls it “free maintenance from other people.” He doesn’t think you should deviate from it too much. An option is to use a proxy as well. [00:27:41] Have you ever had to make patches in your Rails app knowing that those patches were coming in a future release? Eric has had to in the past. His mentor had to patch Rails, apply it, but every time it ran it said, “if you upgrade rails, upgrade me.” It was a reminder to make sure everyone stays in sync. [00:29:30] Migration Dave and Charles have both had problems with migration. Take snapshots of database before you use migrations. The moral of story is if you’re going to migrate data, make sure you back up your database before you change the data. And don’t do data modifications in your migrations. Also set up a replica of your database. There is no excuse except for laziness or inexperience. [00:32:10] Materialized views. Eric used to work for social media company that had a lot of data coming in from various forms of social media. Helped build sub products that handled intake of data. Decided to use materialized views. It is a view that self updates as data changes in the database. In other words, it creates a fake table and can simplify the application side of things. It got a little messy and they had no idea what was updating things when. Because of this, they had to convert the materialized views to stored procedures. The materialized views killed the database because it triggered things when it shouldn’t be. [00:37:23] Caching Caching is a big problem with development. There are complex cache keys built around different queries and combinations of objects. There is a value with using caches but there is a caution with not using caches too early. A lot of problems have resulted from caching wrong results. The moral is to measure and make sure that you are working on the right problems. Sometimes premature optimization does not matter. Sometimes caching is just not needed and messes programs up rather than helping them. [00:40:34] How do you populate data with unrealistic data? It depends on how big the application is, but larger ones generate ten to twenty thousand records. For these, Dave uses Active Record Import. He used the Faker Gem to create fakes names. Without using Active Record Import it would take ten to fifteen minutes to 50,000 but instead it took two minutes with using it, saving a lot of time. Picks Dave: Gem in a box Active Record Import Eric: udemy – Stephen Grider Code Sponsor Charles: Audible Meditation app Find something that helps you re-center Ruby Dev Summit
MRS 016 Marc-Andre Cournoyer Today's episode is a My Ruby Story with Marc-Andre Cournoyer. He was the creator of the Thin web server and he will be speaking at the Ruby Dev Summit. On this episode, Marc talked about how he got into programming and Ruby. Listen to learn more about Marc! [01:05] – Introduction to Marc Marc is the creator of the Thin web server, one of the most popular Ruby server. He also had some minor contributions to Ruby. One of them is called Tinyrb, which is a small Ruby VM. Then, he wrote a book about creating your own programming language. He will be speaking at Ruby Dev Summit. [02:45] – How did you get into programming? Marc’s first experience with a computer was when he’s around 8 or 9 years old. It was on the early 1990s. His parents won a Commodore 64 at the grocery store. He got bored really fast with the games so he looked at other things. One of them is the Commodore Basic. You could not save on a Commodore 64 if you didn’t add the tape recorder so he would have to start again each time. He also went to a library and got some books about Commodore 64 programming. Eventually, he started creating his own simple programs. A few years later, Marc got a Pentium 2. It was around 1995. He saved money and bought himself Microsoft Visual Basic 4. It has the UI with the drags and drops where you drop buttons and timers on a page. You would double click the buttons and you would open a window where you can put your code. He had about hundred projects on that machine. [05:35] – How old were you when you got into VB? Marc was 14 or 15 years old when he got into VB. [06:05] – How did you get into Ruby? After that, it has become Marc’s career choice to become a programmer. He went to university. After that, he got his first job in 2002 doing Visual Basic 4 application that runs inside Microsoft Office suite. He also did a little bit of Java and .NET. He didn’t enjoy programming, he started losing my passion, and he stopped doing projects on the side. But he still kept on reading some books about programming. One of them is a book by Joel Spolsky, The Best Software Writing. It was published in 2005. The last chapter is an extract of Why’s (Poignant) Guide to Ruby, which was an introductory book about Ruby. Marc liked the syntax so he started practicing Ruby more. He started doing side projects again because it was fun programming Ruby. And then, he discovered Rails about a year later. Because of that, he created many other projects and got a job at a startup in Montreal. Picks Marc-Andre Cournoyer Cooperpress Framework: Torch Charles Max Wood Eventual Millionaire Coursera course on Machine Learning by Andrew Ng Ruby Dev Summit
MRS 016 Marc-Andre Cournoyer Today's episode is a My Ruby Story with Marc-Andre Cournoyer. He was the creator of the Thin web server and he will be speaking at the Ruby Dev Summit. On this episode, Marc talked about how he got into programming and Ruby. Listen to learn more about Marc! [01:05] – Introduction to Marc Marc is the creator of the Thin web server, one of the most popular Ruby server. He also had some minor contributions to Ruby. One of them is called Tinyrb, which is a small Ruby VM. Then, he wrote a book about creating your own programming language. He will be speaking at Ruby Dev Summit. [02:45] – How did you get into programming? Marc’s first experience with a computer was when he’s around 8 or 9 years old. It was on the early 1990s. His parents won a Commodore 64 at the grocery store. He got bored really fast with the games so he looked at other things. One of them is the Commodore Basic. You could not save on a Commodore 64 if you didn’t add the tape recorder so he would have to start again each time. He also went to a library and got some books about Commodore 64 programming. Eventually, he started creating his own simple programs. A few years later, Marc got a Pentium 2. It was around 1995. He saved money and bought himself Microsoft Visual Basic 4. It has the UI with the drags and drops where you drop buttons and timers on a page. You would double click the buttons and you would open a window where you can put your code. He had about hundred projects on that machine. [05:35] – How old were you when you got into VB? Marc was 14 or 15 years old when he got into VB. [06:05] – How did you get into Ruby? After that, it has become Marc’s career choice to become a programmer. He went to university. After that, he got his first job in 2002 doing Visual Basic 4 application that runs inside Microsoft Office suite. He also did a little bit of Java and .NET. He didn’t enjoy programming, he started losing my passion, and he stopped doing projects on the side. But he still kept on reading some books about programming. One of them is a book by Joel Spolsky, The Best Software Writing. It was published in 2005. The last chapter is an extract of Why’s (Poignant) Guide to Ruby, which was an introductory book about Ruby. Marc liked the syntax so he started practicing Ruby more. He started doing side projects again because it was fun programming Ruby. And then, he discovered Rails about a year later. Because of that, he created many other projects and got a job at a startup in Montreal. Picks Marc-Andre Cournoyer Cooperpress Framework: Torch Charles Max Wood Eventual Millionaire Coursera course on Machine Learning by Andrew Ng Ruby Dev Summit
MRS 016 Marc-Andre Cournoyer Today's episode is a My Ruby Story with Marc-Andre Cournoyer. He was the creator of the Thin web server and he will be speaking at the Ruby Dev Summit. On this episode, Marc talked about how he got into programming and Ruby. Listen to learn more about Marc! [01:05] – Introduction to Marc Marc is the creator of the Thin web server, one of the most popular Ruby server. He also had some minor contributions to Ruby. One of them is called Tinyrb, which is a small Ruby VM. Then, he wrote a book about creating your own programming language. He will be speaking at Ruby Dev Summit. [02:45] – How did you get into programming? Marc’s first experience with a computer was when he’s around 8 or 9 years old. It was on the early 1990s. His parents won a Commodore 64 at the grocery store. He got bored really fast with the games so he looked at other things. One of them is the Commodore Basic. You could not save on a Commodore 64 if you didn’t add the tape recorder so he would have to start again each time. He also went to a library and got some books about Commodore 64 programming. Eventually, he started creating his own simple programs. A few years later, Marc got a Pentium 2. It was around 1995. He saved money and bought himself Microsoft Visual Basic 4. It has the UI with the drags and drops where you drop buttons and timers on a page. You would double click the buttons and you would open a window where you can put your code. He had about hundred projects on that machine. [05:35] – How old were you when you got into VB? Marc was 14 or 15 years old when he got into VB. [06:05] – How did you get into Ruby? After that, it has become Marc’s career choice to become a programmer. He went to university. After that, he got his first job in 2002 doing Visual Basic 4 application that runs inside Microsoft Office suite. He also did a little bit of Java and .NET. He didn’t enjoy programming, he started losing my passion, and he stopped doing projects on the side. But he still kept on reading some books about programming. One of them is a book by Joel Spolsky, The Best Software Writing. It was published in 2005. The last chapter is an extract of Why’s (Poignant) Guide to Ruby, which was an introductory book about Ruby. Marc liked the syntax so he started practicing Ruby more. He started doing side projects again because it was fun programming Ruby. And then, he discovered Rails about a year later. Because of that, he created many other projects and got a job at a startup in Montreal. Picks Marc-Andre Cournoyer Cooperpress Framework: Torch Charles Max Wood Eventual Millionaire Coursera course on Machine Learning by Andrew Ng Ruby Dev Summit
RR 323: Queuing and Amazon SQS with Kinsey Ann Durham This episode of Ruby Rogues features panelists Charles Max Wood, Dave Kimura, and Eric Berry. Special guest Kinsey Ann Durham joins to talk about queuing and Amazon SQS. Tune in to learn more! [00:01:19] Kinsey Ann Durham Kinsey writes code for a company called Go Spot Check. She is always a lead mentor in a San Francisco based company called Bloc. [00:02:50] Background on Amazon SQS Go Spot Check is using Amazon SQS on a smaller scale. Kinsey thinks it is sasy to use. She recommends using something like Amazon SQS or even RabbitMQ. It has provided the company with the ability to explore different architecture patterns and tools. [00:04:50] Can you talk a little about your company and what led to using Amazon SQS? Go Spot Check is a start up in Denver. They focus on recording and data collection for big companies that need to know what is happening in retail, grocery stores, and bars. The focus is on alcohol and retail brands. The company analyzes the data collected that previously held no insight. Go Spot Check is currently moving into a computer vision aspect. Kinsey works off a separate service off of main aspect of Go Spot Check. [00:06:46] What does your stack look like? Is it built off Ruby? Yes, it is a Rails API only. The computer vision is done in Python. [00:08:45] Are you feeding the images through the queue? How does the queuing fit in? Started using Amazon SQS because they wanted to have a more decoupled way of developing. This allowed them to decide the contract between the two services and decide what they wanted it to look like up front. Kinsey describes that it is easy to create fake messages for testing with Amazon SQS. Image data is sent back and forth through the queue. The company does a lot of planograms. Information is taken from that data and posted onto a queue from the machine learning side of things. On the Rail side of things, the data can be picked up in API and sent back to the main app. [00:10:50] Does it accept binary data in the queue? It does not send actual images. All comparison data that has been processed is sent from the machine learning aspect side of things. An article has been published that shows that people do send images in the queue. [00:11:35] Do you use SQS in parallel with SNS (Simple Notification Service)? Kinsey says that they haven’t used SNS. This is because there hasn’t been a need. They are using it to post messages to communicate between different services. [00:12:40] What point would you need to consider a SQS over a Sidekick? Kinsey didn’t look into using Sidekick; she was excited to use SQS. She wanted to try it out and see if it was easy to use. Thought it would be more complex than it has been. She enjoys the free features of Amazon such as message visibility and timeout, which is handled by them. It can be customized and two different queues can be used. [00:16:15] How do you write the workers for an SQS queue? Kinsey has a plain Ruby object in the API that she can reuse with any queue. There are three queues in the company. [00:19:45] Are there any other uses for queues and SQS? Kinsey hasn’t come across any personally but she is sure there are some. [00:23:40] What if you’re someone who is new? Where would you recommend they get started? Suggest getting started with SQS Amazon, SQS documentation. Can get up to speed quickly. Amazon SQS is easy to get up and running. Kinsey is tailoring her Ruby Dev Summit talk to people who are new. [00:30:35] How do you go about mentoring? Kinsey loves mentoring. Developers have side projects or freelance work, but Kinsey likes to mentor because she feels like she makes a difference while continuing to learn. An important part of mentorship is giving support. This support level to students’ means not only offering students help with technical skills. Her goal is to build a well-rounded developer: someone who will be a great team member and people will want to work with in the future. This involves helping students build soft skills such as networking, interviewing skills, and helping them build confidence. [00:33:52] How would people get involved with mentorship? Kinsey is involved with an organization called Bloc - they are always hiring mentors. She shares that people can always get involved in their local community. Schools are looking for mentors. People at local meet ups and Rails Bridge are also both good ways to volunteer. Kinsey learned through mentors - she didn’t go to school to learn code. Mentors changed her life and are important to her, which is why she now mentors. [00:36:30] Advice For Women Kinsey’s advice for women who want to work in the technology world is to go for it. She urges women to get as many people and resources on their side as possible, including great developers who are willing to mentor. She emphasizes the importance of confidence and says to be ready for comments on gender. She believes that - while there are definitely still diversity issues with socioeconomic background, sexual orientation, race, gender, etc. it is getting better – women are more welcome in the technology field than they have previously been. There are technology organizations that are doing well and have no problems with welcoming women into the workplace. People in the field need to be open to having discussions about gender inequality. Open dialogue with team members is the key to solving problems. Some people have grown up not realizing the way they think is wrong. They don’t connect that what they say or think is offensive because it is all they know; it is unconscious to them. This is the type of person that is hard to change. Picks Eric: Open Collective Open Collective – Women Who Work Dave: Health insurance Charles: Profit First Secrets of the Millionaire Mind Kinsey: Guide program applications for mentors at RubyConf Release It Links for Kinsey Twitter Instagram GitHub
RR 323: Queuing and Amazon SQS with Kinsey Ann Durham This episode of Ruby Rogues features panelists Charles Max Wood, Dave Kimura, and Eric Berry. Special guest Kinsey Ann Durham joins to talk about queuing and Amazon SQS. Tune in to learn more! [00:01:19] Kinsey Ann Durham Kinsey writes code for a company called Go Spot Check. She is always a lead mentor in a San Francisco based company called Bloc. [00:02:50] Background on Amazon SQS Go Spot Check is using Amazon SQS on a smaller scale. Kinsey thinks it is sasy to use. She recommends using something like Amazon SQS or even RabbitMQ. It has provided the company with the ability to explore different architecture patterns and tools. [00:04:50] Can you talk a little about your company and what led to using Amazon SQS? Go Spot Check is a start up in Denver. They focus on recording and data collection for big companies that need to know what is happening in retail, grocery stores, and bars. The focus is on alcohol and retail brands. The company analyzes the data collected that previously held no insight. Go Spot Check is currently moving into a computer vision aspect. Kinsey works off a separate service off of main aspect of Go Spot Check. [00:06:46] What does your stack look like? Is it built off Ruby? Yes, it is a Rails API only. The computer vision is done in Python. [00:08:45] Are you feeding the images through the queue? How does the queuing fit in? Started using Amazon SQS because they wanted to have a more decoupled way of developing. This allowed them to decide the contract between the two services and decide what they wanted it to look like up front. Kinsey describes that it is easy to create fake messages for testing with Amazon SQS. Image data is sent back and forth through the queue. The company does a lot of planograms. Information is taken from that data and posted onto a queue from the machine learning side of things. On the Rail side of things, the data can be picked up in API and sent back to the main app. [00:10:50] Does it accept binary data in the queue? It does not send actual images. All comparison data that has been processed is sent from the machine learning aspect side of things. An article has been published that shows that people do send images in the queue. [00:11:35] Do you use SQS in parallel with SNS (Simple Notification Service)? Kinsey says that they haven’t used SNS. This is because there hasn’t been a need. They are using it to post messages to communicate between different services. [00:12:40] What point would you need to consider a SQS over a Sidekick? Kinsey didn’t look into using Sidekick; she was excited to use SQS. She wanted to try it out and see if it was easy to use. Thought it would be more complex than it has been. She enjoys the free features of Amazon such as message visibility and timeout, which is handled by them. It can be customized and two different queues can be used. [00:16:15] How do you write the workers for an SQS queue? Kinsey has a plain Ruby object in the API that she can reuse with any queue. There are three queues in the company. [00:19:45] Are there any other uses for queues and SQS? Kinsey hasn’t come across any personally but she is sure there are some. [00:23:40] What if you’re someone who is new? Where would you recommend they get started? Suggest getting started with SQS Amazon, SQS documentation. Can get up to speed quickly. Amazon SQS is easy to get up and running. Kinsey is tailoring her Ruby Dev Summit talk to people who are new. [00:30:35] How do you go about mentoring? Kinsey loves mentoring. Developers have side projects or freelance work, but Kinsey likes to mentor because she feels like she makes a difference while continuing to learn. An important part of mentorship is giving support. This support level to students’ means not only offering students help with technical skills. Her goal is to build a well-rounded developer: someone who will be a great team member and people will want to work with in the future. This involves helping students build soft skills such as networking, interviewing skills, and helping them build confidence. [00:33:52] How would people get involved with mentorship? Kinsey is involved with an organization called Bloc - they are always hiring mentors. She shares that people can always get involved in their local community. Schools are looking for mentors. People at local meet ups and Rails Bridge are also both good ways to volunteer. Kinsey learned through mentors - she didn’t go to school to learn code. Mentors changed her life and are important to her, which is why she now mentors. [00:36:30] Advice For Women Kinsey’s advice for women who want to work in the technology world is to go for it. She urges women to get as many people and resources on their side as possible, including great developers who are willing to mentor. She emphasizes the importance of confidence and says to be ready for comments on gender. She believes that - while there are definitely still diversity issues with socioeconomic background, sexual orientation, race, gender, etc. it is getting better – women are more welcome in the technology field than they have previously been. There are technology organizations that are doing well and have no problems with welcoming women into the workplace. People in the field need to be open to having discussions about gender inequality. Open dialogue with team members is the key to solving problems. Some people have grown up not realizing the way they think is wrong. They don’t connect that what they say or think is offensive because it is all they know; it is unconscious to them. This is the type of person that is hard to change. Picks Eric: Open Collective Open Collective – Women Who Work Dave: Health insurance Charles: Profit First Secrets of the Millionaire Mind Kinsey: Guide program applications for mentors at RubyConf Release It Links for Kinsey Twitter Instagram GitHub
RR 323: Queuing and Amazon SQS with Kinsey Ann Durham This episode of Ruby Rogues features panelists Charles Max Wood, Dave Kimura, and Eric Berry. Special guest Kinsey Ann Durham joins to talk about queuing and Amazon SQS. Tune in to learn more! [00:01:19] Kinsey Ann Durham Kinsey writes code for a company called Go Spot Check. She is always a lead mentor in a San Francisco based company called Bloc. [00:02:50] Background on Amazon SQS Go Spot Check is using Amazon SQS on a smaller scale. Kinsey thinks it is sasy to use. She recommends using something like Amazon SQS or even RabbitMQ. It has provided the company with the ability to explore different architecture patterns and tools. [00:04:50] Can you talk a little about your company and what led to using Amazon SQS? Go Spot Check is a start up in Denver. They focus on recording and data collection for big companies that need to know what is happening in retail, grocery stores, and bars. The focus is on alcohol and retail brands. The company analyzes the data collected that previously held no insight. Go Spot Check is currently moving into a computer vision aspect. Kinsey works off a separate service off of main aspect of Go Spot Check. [00:06:46] What does your stack look like? Is it built off Ruby? Yes, it is a Rails API only. The computer vision is done in Python. [00:08:45] Are you feeding the images through the queue? How does the queuing fit in? Started using Amazon SQS because they wanted to have a more decoupled way of developing. This allowed them to decide the contract between the two services and decide what they wanted it to look like up front. Kinsey describes that it is easy to create fake messages for testing with Amazon SQS. Image data is sent back and forth through the queue. The company does a lot of planograms. Information is taken from that data and posted onto a queue from the machine learning side of things. On the Rail side of things, the data can be picked up in API and sent back to the main app. [00:10:50] Does it accept binary data in the queue? It does not send actual images. All comparison data that has been processed is sent from the machine learning aspect side of things. An article has been published that shows that people do send images in the queue. [00:11:35] Do you use SQS in parallel with SNS (Simple Notification Service)? Kinsey says that they haven’t used SNS. This is because there hasn’t been a need. They are using it to post messages to communicate between different services. [00:12:40] What point would you need to consider a SQS over a Sidekick? Kinsey didn’t look into using Sidekick; she was excited to use SQS. She wanted to try it out and see if it was easy to use. Thought it would be more complex than it has been. She enjoys the free features of Amazon such as message visibility and timeout, which is handled by them. It can be customized and two different queues can be used. [00:16:15] How do you write the workers for an SQS queue? Kinsey has a plain Ruby object in the API that she can reuse with any queue. There are three queues in the company. [00:19:45] Are there any other uses for queues and SQS? Kinsey hasn’t come across any personally but she is sure there are some. [00:23:40] What if you’re someone who is new? Where would you recommend they get started? Suggest getting started with SQS Amazon, SQS documentation. Can get up to speed quickly. Amazon SQS is easy to get up and running. Kinsey is tailoring her Ruby Dev Summit talk to people who are new. [00:30:35] How do you go about mentoring? Kinsey loves mentoring. Developers have side projects or freelance work, but Kinsey likes to mentor because she feels like she makes a difference while continuing to learn. An important part of mentorship is giving support. This support level to students’ means not only offering students help with technical skills. Her goal is to build a well-rounded developer: someone who will be a great team member and people will want to work with in the future. This involves helping students build soft skills such as networking, interviewing skills, and helping them build confidence. [00:33:52] How would people get involved with mentorship? Kinsey is involved with an organization called Bloc - they are always hiring mentors. She shares that people can always get involved in their local community. Schools are looking for mentors. People at local meet ups and Rails Bridge are also both good ways to volunteer. Kinsey learned through mentors - she didn’t go to school to learn code. Mentors changed her life and are important to her, which is why she now mentors. [00:36:30] Advice For Women Kinsey’s advice for women who want to work in the technology world is to go for it. She urges women to get as many people and resources on their side as possible, including great developers who are willing to mentor. She emphasizes the importance of confidence and says to be ready for comments on gender. She believes that - while there are definitely still diversity issues with socioeconomic background, sexual orientation, race, gender, etc. it is getting better – women are more welcome in the technology field than they have previously been. There are technology organizations that are doing well and have no problems with welcoming women into the workplace. People in the field need to be open to having discussions about gender inequality. Open dialogue with team members is the key to solving problems. Some people have grown up not realizing the way they think is wrong. They don’t connect that what they say or think is offensive because it is all they know; it is unconscious to them. This is the type of person that is hard to change. Picks Eric: Open Collective Open Collective – Women Who Work Dave: Health insurance Charles: Profit First Secrets of the Millionaire Mind Kinsey: Guide program applications for mentors at RubyConf Release It Links for Kinsey Twitter Instagram GitHub
RR 319 Machine Learning with Tyler Renelle This episode of the Ruby Rogues Panel features panelists Charles Max Wood and Dave Kimura. Tyler Renelle, who stops by to talk about machine learning, joins them as a guest. Tyler is the first guest to talk on Adventures in Angular, JavaScript Jabber, and Ruby Rogues. Tune in to find out more about Tyler and machine learning! What is machine learning? Machine learning is a different concept than programmers are used to. There are three phases in computing technology. First phase – building computers in the first place but it was hard coded onto the physical computing machinery Second phase – programmable computers. Where you can reprogram your computer to do anything. This is the phase where programmers fall. Third phase – machine learning falls under this phase. Machine learning is where the computer programs itself to do something. You give the computer a measurement of how it’s doing based on data and it trains itself and learns how to do the task. It is beginning to get a lot of press and become more popular. This is because it is becoming a lot more capable by way of deep learning. AI – Artificial Intelligence Machine learning is a sub field of artificial intelligence. AI is an overarching field of the computer simulating intelligence. Machine learning has become less and less a sub field over time and more a majority of AI. Now we can apply machine learning to vision, speech processing, planning, knowledge representation. This is fast taking over AI. People are beginning to consider the terms artificial intelligence and machine learning synonymous. Self-driving cars are a type of artificial intelligence. The connection between machine learning and self-driving cars is abstract. A fundamental thing in self-driving cars is machine learning. You program the car as to how to fix its mistakes. Another example is facial recognition. The program starts learning about a person’s face over time so it can make an educated guess as to if the person is who they say they are. Once statistics are added then your face can be off by a hair or a hat. Small variations won’t throw it off. How do we start solving the problems we want to be solved? Machine learning has been applied since the 1950s to a broad spectrum of problems. Have to have a little bit of domain knowledge and do some research. Machine Learning Vs Programming Machine learning is any sort of fuzzy programming situation. Programming is when you do things specifically or statically. Why should you care to do machine learning? People should care because this is the next wave of computing. There is a theory that this will displace jobs. Self-driving cars will displace truck drivers, Uber drivers, and taxis. There are things like logo generators already. Machines are generating music, poetry, and website designs. We shouldn’t be afraid that we should keep an eye towards it. If a robot or computer program or AI were able to write its own code, at what point would it be able to overwrite or basically nullify the three laws of robotics? Nick Bostrom wrote the book Superintelligence, which had many big names in technology talking about the dangers of AI. Artificial intelligence has been talked about widely because of the possibility of evil killer robots in the Sci-Fi community. There are people who hold very potential concerns, such as job automation. Consciousness is a huge topic of debate right now on this topic. Is it an emergent property of the human brain? Is what we have with deep learning enough of a representation to achieve consciousness? It is suggested that AI may or may not achieve consciousness. The question is if it is able to achieve consciousness - will we be able to tell there isn’t a person there? If people want to dive into this where do they go? Machine Learning Guide Podcast: http://ocdevel.com/podcasts/machine-learning The Master Algorithm. https://www.amazon.com/Master-Algorithm-Ultimate-Learning-Machine/dp/0465065708 Andrew Ng course: coursera.org/machine/learning Machine Learning Language The main language used for machine learning is Python. This is not because of the language itself, but because of the tools built on top of it. The main framework is TensorFlow. Python in TensorFlow drops to C and executes code on the GPU for performing matrix algebra, which is essential for deep learning. You can always use C, C++, Java, and R. Data scientists mostly use R, while researchers use C and C++ so they can custom code their matrix algebra themselves. Picks Dave: 20-gallon Husky oil free air compressor: http://www.homedepot.com/p/Husky-20-Gal-Vertical-Oil-Free-Electric-Air-Compressor-0332013/207040335 Charles: Twitter T gem: https://rubygems.org/gems/t/versions/2.10.0> Ruby Dev Summit: www.rubydevsummit.com Rake: https://www.sitepoint.com/rake-automate-things/ Tyler: Machine Learning Guide Podcast: http://ocdevel.com/podcasts/machine-learning Philosophy of Mind: Brains, Consciousness, and Thinking Machines (The Great Courses): https://www.amazon.com/Great-Courses-Philosophy-Mind/dp/1598034243
RR 319 Machine Learning with Tyler Renelle This episode of the Ruby Rogues Panel features panelists Charles Max Wood and Dave Kimura. Tyler Renelle, who stops by to talk about machine learning, joins them as a guest. Tyler is the first guest to talk on Adventures in Angular, JavaScript Jabber, and Ruby Rogues. Tune in to find out more about Tyler and machine learning! What is machine learning? Machine learning is a different concept than programmers are used to. There are three phases in computing technology. First phase – building computers in the first place but it was hard coded onto the physical computing machinery Second phase – programmable computers. Where you can reprogram your computer to do anything. This is the phase where programmers fall. Third phase – machine learning falls under this phase. Machine learning is where the computer programs itself to do something. You give the computer a measurement of how it’s doing based on data and it trains itself and learns how to do the task. It is beginning to get a lot of press and become more popular. This is because it is becoming a lot more capable by way of deep learning. AI – Artificial Intelligence Machine learning is a sub field of artificial intelligence. AI is an overarching field of the computer simulating intelligence. Machine learning has become less and less a sub field over time and more a majority of AI. Now we can apply machine learning to vision, speech processing, planning, knowledge representation. This is fast taking over AI. People are beginning to consider the terms artificial intelligence and machine learning synonymous. Self-driving cars are a type of artificial intelligence. The connection between machine learning and self-driving cars is abstract. A fundamental thing in self-driving cars is machine learning. You program the car as to how to fix its mistakes. Another example is facial recognition. The program starts learning about a person’s face over time so it can make an educated guess as to if the person is who they say they are. Once statistics are added then your face can be off by a hair or a hat. Small variations won’t throw it off. How do we start solving the problems we want to be solved? Machine learning has been applied since the 1950s to a broad spectrum of problems. Have to have a little bit of domain knowledge and do some research. Machine Learning Vs Programming Machine learning is any sort of fuzzy programming situation. Programming is when you do things specifically or statically. Why should you care to do machine learning? People should care because this is the next wave of computing. There is a theory that this will displace jobs. Self-driving cars will displace truck drivers, Uber drivers, and taxis. There are things like logo generators already. Machines are generating music, poetry, and website designs. We shouldn’t be afraid that we should keep an eye towards it. If a robot or computer program or AI were able to write its own code, at what point would it be able to overwrite or basically nullify the three laws of robotics? Nick Bostrom wrote the book Superintelligence, which had many big names in technology talking about the dangers of AI. Artificial intelligence has been talked about widely because of the possibility of evil killer robots in the Sci-Fi community. There are people who hold very potential concerns, such as job automation. Consciousness is a huge topic of debate right now on this topic. Is it an emergent property of the human brain? Is what we have with deep learning enough of a representation to achieve consciousness? It is suggested that AI may or may not achieve consciousness. The question is if it is able to achieve consciousness - will we be able to tell there isn’t a person there? If people want to dive into this where do they go? Machine Learning Guide Podcast: http://ocdevel.com/podcasts/machine-learning The Master Algorithm. https://www.amazon.com/Master-Algorithm-Ultimate-Learning-Machine/dp/0465065708 Andrew Ng course: coursera.org/machine/learning Machine Learning Language The main language used for machine learning is Python. This is not because of the language itself, but because of the tools built on top of it. The main framework is TensorFlow. Python in TensorFlow drops to C and executes code on the GPU for performing matrix algebra, which is essential for deep learning. You can always use C, C++, Java, and R. Data scientists mostly use R, while researchers use C and C++ so they can custom code their matrix algebra themselves. Picks Dave: 20-gallon Husky oil free air compressor: http://www.homedepot.com/p/Husky-20-Gal-Vertical-Oil-Free-Electric-Air-Compressor-0332013/207040335 Charles: Twitter T gem: https://rubygems.org/gems/t/versions/2.10.0> Ruby Dev Summit: www.rubydevsummit.com Rake: https://www.sitepoint.com/rake-automate-things/ Tyler: Machine Learning Guide Podcast: http://ocdevel.com/podcasts/machine-learning Philosophy of Mind: Brains, Consciousness, and Thinking Machines (The Great Courses): https://www.amazon.com/Great-Courses-Philosophy-Mind/dp/1598034243
RR 319 Machine Learning with Tyler Renelle This episode of the Ruby Rogues Panel features panelists Charles Max Wood and Dave Kimura. Tyler Renelle, who stops by to talk about machine learning, joins them as a guest. Tyler is the first guest to talk on Adventures in Angular, JavaScript Jabber, and Ruby Rogues. Tune in to find out more about Tyler and machine learning! What is machine learning? Machine learning is a different concept than programmers are used to. There are three phases in computing technology. First phase – building computers in the first place but it was hard coded onto the physical computing machinery Second phase – programmable computers. Where you can reprogram your computer to do anything. This is the phase where programmers fall. Third phase – machine learning falls under this phase. Machine learning is where the computer programs itself to do something. You give the computer a measurement of how it’s doing based on data and it trains itself and learns how to do the task. It is beginning to get a lot of press and become more popular. This is because it is becoming a lot more capable by way of deep learning. AI – Artificial Intelligence Machine learning is a sub field of artificial intelligence. AI is an overarching field of the computer simulating intelligence. Machine learning has become less and less a sub field over time and more a majority of AI. Now we can apply machine learning to vision, speech processing, planning, knowledge representation. This is fast taking over AI. People are beginning to consider the terms artificial intelligence and machine learning synonymous. Self-driving cars are a type of artificial intelligence. The connection between machine learning and self-driving cars is abstract. A fundamental thing in self-driving cars is machine learning. You program the car as to how to fix its mistakes. Another example is facial recognition. The program starts learning about a person’s face over time so it can make an educated guess as to if the person is who they say they are. Once statistics are added then your face can be off by a hair or a hat. Small variations won’t throw it off. How do we start solving the problems we want to be solved? Machine learning has been applied since the 1950s to a broad spectrum of problems. Have to have a little bit of domain knowledge and do some research. Machine Learning Vs Programming Machine learning is any sort of fuzzy programming situation. Programming is when you do things specifically or statically. Why should you care to do machine learning? People should care because this is the next wave of computing. There is a theory that this will displace jobs. Self-driving cars will displace truck drivers, Uber drivers, and taxis. There are things like logo generators already. Machines are generating music, poetry, and website designs. We shouldn’t be afraid that we should keep an eye towards it. If a robot or computer program or AI were able to write its own code, at what point would it be able to overwrite or basically nullify the three laws of robotics? Nick Bostrom wrote the book Superintelligence, which had many big names in technology talking about the dangers of AI. Artificial intelligence has been talked about widely because of the possibility of evil killer robots in the Sci-Fi community. There are people who hold very potential concerns, such as job automation. Consciousness is a huge topic of debate right now on this topic. Is it an emergent property of the human brain? Is what we have with deep learning enough of a representation to achieve consciousness? It is suggested that AI may or may not achieve consciousness. The question is if it is able to achieve consciousness - will we be able to tell there isn’t a person there? If people want to dive into this where do they go? Machine Learning Guide Podcast: http://ocdevel.com/podcasts/machine-learning The Master Algorithm. https://www.amazon.com/Master-Algorithm-Ultimate-Learning-Machine/dp/0465065708 Andrew Ng course: coursera.org/machine/learning Machine Learning Language The main language used for machine learning is Python. This is not because of the language itself, but because of the tools built on top of it. The main framework is TensorFlow. Python in TensorFlow drops to C and executes code on the GPU for performing matrix algebra, which is essential for deep learning. You can always use C, C++, Java, and R. Data scientists mostly use R, while researchers use C and C++ so they can custom code their matrix algebra themselves. Picks Dave: 20-gallon Husky oil free air compressor: http://www.homedepot.com/p/Husky-20-Gal-Vertical-Oil-Free-Electric-Air-Compressor-0332013/207040335 Charles: Twitter T gem: https://rubygems.org/gems/t/versions/2.10.0> Ruby Dev Summit: www.rubydevsummit.com Rake: https://www.sitepoint.com/rake-automate-things/ Tyler: Machine Learning Guide Podcast: http://ocdevel.com/podcasts/machine-learning Philosophy of Mind: Brains, Consciousness, and Thinking Machines (The Great Courses): https://www.amazon.com/Great-Courses-Philosophy-Mind/dp/1598034243
MRS O11 Greg Baugues This episode of My Ruby Story features Greg Baugues. Greg has been on two previous episodes, episode 142 where he discussed mental illness, and episode 258 where he discussed Twilio. Greg has been at Twilio for three and a half years. He worked on the developer/evangelism team for three years. A couple of months ago he became the lead developer of the community team. He lived in Chicago for eleven years, where he first started using Ruby. He moved to Brooklyn, New York a year ago. How did you get into programming? When he was five or six his parents owned a TRS-80 when he was five or six. It had a cassette drive and when turned on it booted into basic. He wrote programs in basic on this computer and it was an instant gratification to him. On a back cover of a magazine, he read there would be a code printed in basic that he would copy line by line. Later, his family bought a PC that had MS-DOS with QBasic, and his friends introduced him to Pascal, C, and C++. When he graduated high school he started PHP and got into web stuff. How did you get from PHP and web stuff to Ruby? In 1999 Greg used PHP to start a dot-com company with which they sold eight months later for all equity. He jokes that he “started and sold a company and all I got was a polo shirt out of it.” This reinforced that he always wanted to work in programming but that he would never be happy just programming. He wanted to be involved working on the people side of things, too. He got a job at a consulting agency at Table XI where he was a sales guy. He claims that he wasn’t good at sales, so stopped programming for one and a half to two years in order to become better. Then he traveled with his wife in Europe for a while. This showed him that he spent his free time programming. After this he picked up Ruby for the first time. Ruby was his first language of choice because Table XI and most of Chicago was using Ruby at the time. He also fell in love with it. What was it about Ruby that you thought was cool? Greg finds Ruby beautiful and expressive. He believes that it makes more sense than for loop and believes that you can explain it to someone who’s never done coding before and it makes sense to them. Writing Ruby is the closest you can come to writing pseudo code that actually runs. Ruby doesn’t look much different from pseudo code. He thinks it is a joy to write in Ruby. What contributions do you feel like you’ve made to the Ruby community? Greg believes that his biggest contribution would be in the vein of mental health. He has Bipolar Disorder and was on a Ruby Rogues podcast where he spoke about it. Because of his disorder, he failed out of college, had trouble with relationships, getting out of bed, paying bills, and a lot of guilt. He finally got treatment in 2007 where medication slowly helped. Four years ago he had a coworker who overdosed that had been showing symptoms of the same disorder. The next day instead of doing a lightening talk he had scheduled about fantasy football, he gave a talk about mental illness and started giving talks about mental illnesses everywhere in the Ruby community. Charles tells Greg that he heard someone speak about him and said he’d decided to go get help and have a relationship with his family again. He said that Greg’s episode of the podcast had helped him, and others have emailed him about it too. He explains that changing the way someone lives is just as important as writing source code. Greg says that he has learned that we are not alone in this community. There is a value of sharing your story and being vulnerable. It is easy to underestimate the compassion and empathy people have in the Ruby community. What are you working on now? Greg just had a conference called Signal for Twilio two weeks ago. There were 2,000 developers and 100 speakers at the conference. He was part of the team that organized speakers. Two months ago he started a leadership role with the developer community team for the first time. He’s trying to learn how to be in a management role for the first time. There were a million developers that signed up for Twilio so he is trying to figure out how to organize a community of developers instead of just having customers. Picks Greg: Phil Nash: https://philna.sh/ The Manager’s Path by Camille Fournier: http://shop.oreilly.com/product/0636920056843.do The Tim Ferriss Podcast with Jamie Foxx: https://www.youtube.com/watch?v=YGnnEfmP8K4 The Ezra Klein Show: https://www.vox.com/ezra-klein-show-podcast Charles: Ruby Dev Summit: https://rubydevsummit.com/ Links: Email: gb@twilio.com Twilio Voices: https://www.twilio.com/docs/api/twiml/say Twitter: https://twitter.com/greggyb
MRS O11 Greg Baugues This episode of My Ruby Story features Greg Baugues. Greg has been on two previous episodes, episode 142 where he discussed mental illness, and episode 258 where he discussed Twilio. Greg has been at Twilio for three and a half years. He worked on the developer/evangelism team for three years. A couple of months ago he became the lead developer of the community team. He lived in Chicago for eleven years, where he first started using Ruby. He moved to Brooklyn, New York a year ago. How did you get into programming? When he was five or six his parents owned a TRS-80 when he was five or six. It had a cassette drive and when turned on it booted into basic. He wrote programs in basic on this computer and it was an instant gratification to him. On a back cover of a magazine, he read there would be a code printed in basic that he would copy line by line. Later, his family bought a PC that had MS-DOS with QBasic, and his friends introduced him to Pascal, C, and C++. When he graduated high school he started PHP and got into web stuff. How did you get from PHP and web stuff to Ruby? In 1999 Greg used PHP to start a dot-com company with which they sold eight months later for all equity. He jokes that he “started and sold a company and all I got was a polo shirt out of it.” This reinforced that he always wanted to work in programming but that he would never be happy just programming. He wanted to be involved working on the people side of things, too. He got a job at a consulting agency at Table XI where he was a sales guy. He claims that he wasn’t good at sales, so stopped programming for one and a half to two years in order to become better. Then he traveled with his wife in Europe for a while. This showed him that he spent his free time programming. After this he picked up Ruby for the first time. Ruby was his first language of choice because Table XI and most of Chicago was using Ruby at the time. He also fell in love with it. What was it about Ruby that you thought was cool? Greg finds Ruby beautiful and expressive. He believes that it makes more sense than for loop and believes that you can explain it to someone who’s never done coding before and it makes sense to them. Writing Ruby is the closest you can come to writing pseudo code that actually runs. Ruby doesn’t look much different from pseudo code. He thinks it is a joy to write in Ruby. What contributions do you feel like you’ve made to the Ruby community? Greg believes that his biggest contribution would be in the vein of mental health. He has Bipolar Disorder and was on a Ruby Rogues podcast where he spoke about it. Because of his disorder, he failed out of college, had trouble with relationships, getting out of bed, paying bills, and a lot of guilt. He finally got treatment in 2007 where medication slowly helped. Four years ago he had a coworker who overdosed that had been showing symptoms of the same disorder. The next day instead of doing a lightening talk he had scheduled about fantasy football, he gave a talk about mental illness and started giving talks about mental illnesses everywhere in the Ruby community. Charles tells Greg that he heard someone speak about him and said he’d decided to go get help and have a relationship with his family again. He said that Greg’s episode of the podcast had helped him, and others have emailed him about it too. He explains that changing the way someone lives is just as important as writing source code. Greg says that he has learned that we are not alone in this community. There is a value of sharing your story and being vulnerable. It is easy to underestimate the compassion and empathy people have in the Ruby community. What are you working on now? Greg just had a conference called Signal for Twilio two weeks ago. There were 2,000 developers and 100 speakers at the conference. He was part of the team that organized speakers. Two months ago he started a leadership role with the developer community team for the first time. He’s trying to learn how to be in a management role for the first time. There were a million developers that signed up for Twilio so he is trying to figure out how to organize a community of developers instead of just having customers. Picks Greg: Phil Nash: https://philna.sh/ The Manager’s Path by Camille Fournier: http://shop.oreilly.com/product/0636920056843.do The Tim Ferriss Podcast with Jamie Foxx: https://www.youtube.com/watch?v=YGnnEfmP8K4 The Ezra Klein Show: https://www.vox.com/ezra-klein-show-podcast Charles: Ruby Dev Summit: https://rubydevsummit.com/ Links: Email: gb@twilio.com Twilio Voices: https://www.twilio.com/docs/api/twiml/say Twitter: https://twitter.com/greggyb
MRS O11 Greg Baugues This episode of My Ruby Story features Greg Baugues. Greg has been on two previous episodes, episode 142 where he discussed mental illness, and episode 258 where he discussed Twilio. Greg has been at Twilio for three and a half years. He worked on the developer/evangelism team for three years. A couple of months ago he became the lead developer of the community team. He lived in Chicago for eleven years, where he first started using Ruby. He moved to Brooklyn, New York a year ago. How did you get into programming? When he was five or six his parents owned a TRS-80 when he was five or six. It had a cassette drive and when turned on it booted into basic. He wrote programs in basic on this computer and it was an instant gratification to him. On a back cover of a magazine, he read there would be a code printed in basic that he would copy line by line. Later, his family bought a PC that had MS-DOS with QBasic, and his friends introduced him to Pascal, C, and C++. When he graduated high school he started PHP and got into web stuff. How did you get from PHP and web stuff to Ruby? In 1999 Greg used PHP to start a dot-com company with which they sold eight months later for all equity. He jokes that he “started and sold a company and all I got was a polo shirt out of it.” This reinforced that he always wanted to work in programming but that he would never be happy just programming. He wanted to be involved working on the people side of things, too. He got a job at a consulting agency at Table XI where he was a sales guy. He claims that he wasn’t good at sales, so stopped programming for one and a half to two years in order to become better. Then he traveled with his wife in Europe for a while. This showed him that he spent his free time programming. After this he picked up Ruby for the first time. Ruby was his first language of choice because Table XI and most of Chicago was using Ruby at the time. He also fell in love with it. What was it about Ruby that you thought was cool? Greg finds Ruby beautiful and expressive. He believes that it makes more sense than for loop and believes that you can explain it to someone who’s never done coding before and it makes sense to them. Writing Ruby is the closest you can come to writing pseudo code that actually runs. Ruby doesn’t look much different from pseudo code. He thinks it is a joy to write in Ruby. What contributions do you feel like you’ve made to the Ruby community? Greg believes that his biggest contribution would be in the vein of mental health. He has Bipolar Disorder and was on a Ruby Rogues podcast where he spoke about it. Because of his disorder, he failed out of college, had trouble with relationships, getting out of bed, paying bills, and a lot of guilt. He finally got treatment in 2007 where medication slowly helped. Four years ago he had a coworker who overdosed that had been showing symptoms of the same disorder. The next day instead of doing a lightening talk he had scheduled about fantasy football, he gave a talk about mental illness and started giving talks about mental illnesses everywhere in the Ruby community. Charles tells Greg that he heard someone speak about him and said he’d decided to go get help and have a relationship with his family again. He said that Greg’s episode of the podcast had helped him, and others have emailed him about it too. He explains that changing the way someone lives is just as important as writing source code. Greg says that he has learned that we are not alone in this community. There is a value of sharing your story and being vulnerable. It is easy to underestimate the compassion and empathy people have in the Ruby community. What are you working on now? Greg just had a conference called Signal for Twilio two weeks ago. There were 2,000 developers and 100 speakers at the conference. He was part of the team that organized speakers. Two months ago he started a leadership role with the developer community team for the first time. He’s trying to learn how to be in a management role for the first time. There were a million developers that signed up for Twilio so he is trying to figure out how to organize a community of developers instead of just having customers. Picks Greg: Phil Nash: https://philna.sh/ The Manager’s Path by Camille Fournier: http://shop.oreilly.com/product/0636920056843.do The Tim Ferriss Podcast with Jamie Foxx: https://www.youtube.com/watch?v=YGnnEfmP8K4 The Ezra Klein Show: https://www.vox.com/ezra-klein-show-podcast Charles: Ruby Dev Summit: https://rubydevsummit.com/ Links: Email: gb@twilio.com Twilio Voices: https://www.twilio.com/docs/api/twiml/say Twitter: https://twitter.com/greggyb
RR 318 Metaprogramming with Jordan Hudgens Today's Ruby Rogues podcast features Metaprogramming with Jordan Hudgens. We have panelists Jerome Hardaway, Brian Hogan, Dave Kimura and Charles Max Wood. Tune in and learn more about metaprogramming! [00:02:00] – Introduction to Jordan Hudgens Jordan is the Lead Instructor at Bottega. Bottega has locations in Salt Lake City, Utah and in Phoenix, Arizona. They’re a full-stack development code school. [00:02:55] – Metaprogramming Metaprogramming was one of those scary concepts. At the code school, when the students learn about metaprogramming and how it works, you can tell that it’s definitely a pretty exciting thing. Its formal definition is it’s a code that writes code. It can dynamically, at run-time, render other methods available to the program. [00:04:10] – Use cases for metaprogramming The best use case that Jordan has ever seen is implemented in Rails and that’s code that can run database queries such as User.find_by_email. By passing the email, it will go and find the user with that particular email. Now, there is no method in active record or in the user model that is called find_by_email. That’s something that is created at run-time. Another one is something that Jordan has implemented and that’s a phone parser gem. It essentially parses and validates a phone number. It also has a country code lookup. With all the countries in the world, that would be very time-consuming. But within 8 lines of code, it could do what a hundred lines could do without metaprogramming. [00:06:50] – Performance implications Jordan never had performance issues because the generation of methods is not something that’s incredibly memory intensive. You might run into that but it would be a poor choice to do in terms of readability. In Brian’s experience, it comes down to the type of metaprogramming you do. If you have a bunch of logic somewhere and method_missing, that’s going to be a performance bottleneck. And if you’re generating a bunch of methods when the application starts up, it might increase the start-up time of the application. But after that, the performance of the application seems to not have any fluctuation at all. There are 2 main types Jordan works with. First is method_missing. Method_missing could have a little bit of performance hit because of how Ruby works. The system is going to look at every single method. The second type is define_method. In define_method, you’re really just creating a large dynamic set of methods at runtime. When you start up the Rails server, it’s going to build all those methods but it’s not going to be when you’re calling it. Whereas in method_missing, it has a different type of lookup process. [00:11:55] – Method collisions on monkey patching That’s one of the reasons why monkey patching can have a bad reputation. You don’t know who else may be overriding those set of methods or opening up that class. Jordan’s personal approach is trying to separate things out as much as humanly possible. If there’s something that can be done in the lib directory, you can place that functionality inside of a separate module. And if you’re creating a gem, you have to be sensitive to other gems in that space or even the Rails core. [00:17:25] – How to be good citizens to other developers Metaprogramming has a lot of potentials to do great things but it also has a potential to cause a number of problems in the application. For Jordan’s students, what he usually does is walk them through some examples of metaprogramming where it can be done poorly. But then, he will follow it up with showing exactly when this is done right. He shows examples of poorly written classes that have dozen nearly identical methods. And then, he also shows how they could take all those methods, put the names in an array, and show how to leverage things like define_method to generate them. He also shows them how doing monkey patching can cause issues, how they can actually open up the string class and change one of the basic functionalities. Show that when they override that, that affects the entire rest of the application. [00:24:45] – Worst examples of metaprogramming Jordan ran into this hive of metaprogramming. When he opened up one of its classes, he had no idea what that class did. It was method_missing all over the place. Usually, there are 4 or 5 lines of code inside of that. It’s relatively straightforward and makes logical sense when you read it. This was nothing like that. They had multiple conditionals inside of the method_missing. One other hard thing about it is it does not have any test whatsoever. You need some test to make sure you’re capturing that functionality and to check if changes broke anything. You can’t also decipher what the inputs and outputs are. [00:28:35] – Testing Follow as much as real world examples. For example, in the phone parser gem, you can see some tests in there for that. You can also pass in the input that you plan to give. See if that matches the output. Jordan tells his students that respond_to_missing is as important to putting method_missing in there [00:35:25] – Resources to get started Paolo Perrotta’s book Metaprogramming Ruby is one of the standards for metaprogramming in Ruby. He also gave some fantastic examples. He created a story about a new developer who goes into a company and learns how to implement metaprogramming from senior devs. It’s very entertaining and it also covers all the different aspects to think of metaprogramming, when to use it and when it could be a very bad idea to use it. Picks Jerome Hardaway Don’t Know Metaprogramming in Ruby? By Gavin Morrice Dave Kimura Sherlock TV Series on BBC Brian Hogan iOS application: Workflow Overwatch Charles Max Wood Ruby Dev Summit Angular Dev Summit Focuster Jordan Hudgens Petergate Comprehensive Ruby Programming by Jordan Hudgens Twitter @jordanhudgens Instagram @jordanhudgens Blog crondose.com
RR 318 Metaprogramming with Jordan Hudgens Today's Ruby Rogues podcast features Metaprogramming with Jordan Hudgens. We have panelists Jerome Hardaway, Brian Hogan, Dave Kimura and Charles Max Wood. Tune in and learn more about metaprogramming! [00:02:00] – Introduction to Jordan Hudgens Jordan is the Lead Instructor at Bottega. Bottega has locations in Salt Lake City, Utah and in Phoenix, Arizona. They’re a full-stack development code school. [00:02:55] – Metaprogramming Metaprogramming was one of those scary concepts. At the code school, when the students learn about metaprogramming and how it works, you can tell that it’s definitely a pretty exciting thing. Its formal definition is it’s a code that writes code. It can dynamically, at run-time, render other methods available to the program. [00:04:10] – Use cases for metaprogramming The best use case that Jordan has ever seen is implemented in Rails and that’s code that can run database queries such as User.find_by_email. By passing the email, it will go and find the user with that particular email. Now, there is no method in active record or in the user model that is called find_by_email. That’s something that is created at run-time. Another one is something that Jordan has implemented and that’s a phone parser gem. It essentially parses and validates a phone number. It also has a country code lookup. With all the countries in the world, that would be very time-consuming. But within 8 lines of code, it could do what a hundred lines could do without metaprogramming. [00:06:50] – Performance implications Jordan never had performance issues because the generation of methods is not something that’s incredibly memory intensive. You might run into that but it would be a poor choice to do in terms of readability. In Brian’s experience, it comes down to the type of metaprogramming you do. If you have a bunch of logic somewhere and method_missing, that’s going to be a performance bottleneck. And if you’re generating a bunch of methods when the application starts up, it might increase the start-up time of the application. But after that, the performance of the application seems to not have any fluctuation at all. There are 2 main types Jordan works with. First is method_missing. Method_missing could have a little bit of performance hit because of how Ruby works. The system is going to look at every single method. The second type is define_method. In define_method, you’re really just creating a large dynamic set of methods at runtime. When you start up the Rails server, it’s going to build all those methods but it’s not going to be when you’re calling it. Whereas in method_missing, it has a different type of lookup process. [00:11:55] – Method collisions on monkey patching That’s one of the reasons why monkey patching can have a bad reputation. You don’t know who else may be overriding those set of methods or opening up that class. Jordan’s personal approach is trying to separate things out as much as humanly possible. If there’s something that can be done in the lib directory, you can place that functionality inside of a separate module. And if you’re creating a gem, you have to be sensitive to other gems in that space or even the Rails core. [00:17:25] – How to be good citizens to other developers Metaprogramming has a lot of potentials to do great things but it also has a potential to cause a number of problems in the application. For Jordan’s students, what he usually does is walk them through some examples of metaprogramming where it can be done poorly. But then, he will follow it up with showing exactly when this is done right. He shows examples of poorly written classes that have dozen nearly identical methods. And then, he also shows how they could take all those methods, put the names in an array, and show how to leverage things like define_method to generate them. He also shows them how doing monkey patching can cause issues, how they can actually open up the string class and change one of the basic functionalities. Show that when they override that, that affects the entire rest of the application. [00:24:45] – Worst examples of metaprogramming Jordan ran into this hive of metaprogramming. When he opened up one of its classes, he had no idea what that class did. It was method_missing all over the place. Usually, there are 4 or 5 lines of code inside of that. It’s relatively straightforward and makes logical sense when you read it. This was nothing like that. They had multiple conditionals inside of the method_missing. One other hard thing about it is it does not have any test whatsoever. You need some test to make sure you’re capturing that functionality and to check if changes broke anything. You can’t also decipher what the inputs and outputs are. [00:28:35] – Testing Follow as much as real world examples. For example, in the phone parser gem, you can see some tests in there for that. You can also pass in the input that you plan to give. See if that matches the output. Jordan tells his students that respond_to_missing is as important to putting method_missing in there [00:35:25] – Resources to get started Paolo Perrotta’s book Metaprogramming Ruby is one of the standards for metaprogramming in Ruby. He also gave some fantastic examples. He created a story about a new developer who goes into a company and learns how to implement metaprogramming from senior devs. It’s very entertaining and it also covers all the different aspects to think of metaprogramming, when to use it and when it could be a very bad idea to use it. Picks Jerome Hardaway Don’t Know Metaprogramming in Ruby? By Gavin Morrice Dave Kimura Sherlock TV Series on BBC Brian Hogan iOS application: Workflow Overwatch Charles Max Wood Ruby Dev Summit Angular Dev Summit Focuster Jordan Hudgens Petergate Comprehensive Ruby Programming by Jordan Hudgens Twitter @jordanhudgens Instagram @jordanhudgens Blog crondose.com
RR 318 Metaprogramming with Jordan Hudgens Today's Ruby Rogues podcast features Metaprogramming with Jordan Hudgens. We have panelists Jerome Hardaway, Brian Hogan, Dave Kimura and Charles Max Wood. Tune in and learn more about metaprogramming! [00:02:00] – Introduction to Jordan Hudgens Jordan is the Lead Instructor at Bottega. Bottega has locations in Salt Lake City, Utah and in Phoenix, Arizona. They’re a full-stack development code school. [00:02:55] – Metaprogramming Metaprogramming was one of those scary concepts. At the code school, when the students learn about metaprogramming and how it works, you can tell that it’s definitely a pretty exciting thing. Its formal definition is it’s a code that writes code. It can dynamically, at run-time, render other methods available to the program. [00:04:10] – Use cases for metaprogramming The best use case that Jordan has ever seen is implemented in Rails and that’s code that can run database queries such as User.find_by_email. By passing the email, it will go and find the user with that particular email. Now, there is no method in active record or in the user model that is called find_by_email. That’s something that is created at run-time. Another one is something that Jordan has implemented and that’s a phone parser gem. It essentially parses and validates a phone number. It also has a country code lookup. With all the countries in the world, that would be very time-consuming. But within 8 lines of code, it could do what a hundred lines could do without metaprogramming. [00:06:50] – Performance implications Jordan never had performance issues because the generation of methods is not something that’s incredibly memory intensive. You might run into that but it would be a poor choice to do in terms of readability. In Brian’s experience, it comes down to the type of metaprogramming you do. If you have a bunch of logic somewhere and method_missing, that’s going to be a performance bottleneck. And if you’re generating a bunch of methods when the application starts up, it might increase the start-up time of the application. But after that, the performance of the application seems to not have any fluctuation at all. There are 2 main types Jordan works with. First is method_missing. Method_missing could have a little bit of performance hit because of how Ruby works. The system is going to look at every single method. The second type is define_method. In define_method, you’re really just creating a large dynamic set of methods at runtime. When you start up the Rails server, it’s going to build all those methods but it’s not going to be when you’re calling it. Whereas in method_missing, it has a different type of lookup process. [00:11:55] – Method collisions on monkey patching That’s one of the reasons why monkey patching can have a bad reputation. You don’t know who else may be overriding those set of methods or opening up that class. Jordan’s personal approach is trying to separate things out as much as humanly possible. If there’s something that can be done in the lib directory, you can place that functionality inside of a separate module. And if you’re creating a gem, you have to be sensitive to other gems in that space or even the Rails core. [00:17:25] – How to be good citizens to other developers Metaprogramming has a lot of potentials to do great things but it also has a potential to cause a number of problems in the application. For Jordan’s students, what he usually does is walk them through some examples of metaprogramming where it can be done poorly. But then, he will follow it up with showing exactly when this is done right. He shows examples of poorly written classes that have dozen nearly identical methods. And then, he also shows how they could take all those methods, put the names in an array, and show how to leverage things like define_method to generate them. He also shows them how doing monkey patching can cause issues, how they can actually open up the string class and change one of the basic functionalities. Show that when they override that, that affects the entire rest of the application. [00:24:45] – Worst examples of metaprogramming Jordan ran into this hive of metaprogramming. When he opened up one of its classes, he had no idea what that class did. It was method_missing all over the place. Usually, there are 4 or 5 lines of code inside of that. It’s relatively straightforward and makes logical sense when you read it. This was nothing like that. They had multiple conditionals inside of the method_missing. One other hard thing about it is it does not have any test whatsoever. You need some test to make sure you’re capturing that functionality and to check if changes broke anything. You can’t also decipher what the inputs and outputs are. [00:28:35] – Testing Follow as much as real world examples. For example, in the phone parser gem, you can see some tests in there for that. You can also pass in the input that you plan to give. See if that matches the output. Jordan tells his students that respond_to_missing is as important to putting method_missing in there [00:35:25] – Resources to get started Paolo Perrotta’s book Metaprogramming Ruby is one of the standards for metaprogramming in Ruby. He also gave some fantastic examples. He created a story about a new developer who goes into a company and learns how to implement metaprogramming from senior devs. It’s very entertaining and it also covers all the different aspects to think of metaprogramming, when to use it and when it could be a very bad idea to use it. Picks Jerome Hardaway Don’t Know Metaprogramming in Ruby? By Gavin Morrice Dave Kimura Sherlock TV Series on BBC Brian Hogan iOS application: Workflow Overwatch Charles Max Wood Ruby Dev Summit Angular Dev Summit Focuster Jordan Hudgens Petergate Comprehensive Ruby Programming by Jordan Hudgens Twitter @jordanhudgens Instagram @jordanhudgens Blog crondose.com
My JS Story Cory House On this Episode we have another JS Story, and this time it’s with Cory House, a Pluralsight author, software architect for Cox Automotive, and a consultant with a focus on React. Listen to Charles Max Wood and Cory discuss a bit about how Cory got into programming, how learning how to learn is vital to being a talented developer, as well as using documentation as your development environment to ensure your code’s documentation doesn’t fall behind. This and more right here. Stay tuned. How did you get into programming? Cory starts his story as a business major in college but had interest in computers. He spent time around various computers and machines, giving him experience in various operating systems and platforms. On any given day he would be using any of three different operating systems. His interest in computers inspired him to double major. He started learning Cobalt and Visual Basic and C++. He talks about being interested in web development, including Flash. He specialized in Flash throughout college, as well as early on in his software development career. He also talks a bit about that the open web seems to innovate in a way that keeps it relevant. He talks about using Flash to make websites with entering screens and animations and now that is obsolete. Charles mentions that it’s interesting that his main interest was business and computers became something he was interested in later on and that you don’t have to be someone who started young to be proficient. Cory talks about being driven to catch up, being around people who knew things off the top of their head while he was still asking questions and looking things up. Learning How to Learn Out of college Cory found that he had a degree, but what he had really learned was how to learn. He never used Cobalt, C ++, or visual basic after school. Learning how to learn combined with being able to create a focus on a specific technology are vital. Charles adds that he would hear often that it took being a natural in programming to get it, and that maybe being a natural was really just being someone who has learned how to learn and to focus. Getting Good With Your Craft Cory mentions that working with someone who head and shoulders ahead of everyone else. They were working in Unix and seemed to know every single Unix command and flag. He found it inspiring to see someone take the craft so seriously and to learn a specific technologies tool with so much dedication. Some technologies will be so important that they will be key technologies that will still be useful many years later. Cory suggests that one of those tools seem to be JavaScript. JavaScript is almost mandatory in frontend web development. Additionally, JavaScript is reaching into other new technology types including IoT and VR and other places, constantly expanding. How did you get into JavaScript? Cory talks about how it really all got started when Steve Jobs killed Flash. He opened his mind to other technologies and started working with JavaScript. Remembering learning jQuery, he found himself really enjoying it. He started building online business applications. Browser inconsistencies were a huge issue, making it so that you’d have to check your work on each browser to make sure it worked cross platform. Things are moving so quickly that being a full stack developer is becoming less and less prevalent, to the point where he considers himself primarily a JavaScript developer. Being an expert in a single technology can make you really valuable. Companies are running into issues with not finding enough people that are experts in a single tech. Cory suggests that employers should find employees that seem interested and help allow them to focus and learn whatever that tech is. Charles talks about the split between developers that tend to lean full stack and plug in technologies when they need it versus developers that work exclusively in front end. He suggests it may be a case by case situation. Service Oriented Architecture Cory suggests that service oriented architecture movement has moved us that way. Once you have a set of services set up, it becomes more realistic to turn on the front end. If there were a good set of services there, Cory adds that he doesn’t think he would be able to build services faster using a server side framework like Rails, Django, or ASP.Net MVC than he could in React today using something like create React app. The front end has become much more mature. Cory mentions that he has had good experiences with ASP.Net NPC and Visual Basic being a Microsoft stack developer. He adds that he doesn’t feel like he has given up anything working with JavaScript. He adds that with the nesting of different models together, he gets to reuse a lot of code in server side development. NPM makes it easy to stand up a new package. If you are planning to create an API, it becomes much harder to use a server side rendering stack, with so many APIs available, it’s a logical move to go client side. Possible Future for Front-end and Back-end Roles Charles brings up that the development of things like VR are making changes in the roles that front end and back end development play. The front end will more to taking care of the overall application development of apps, while the back end will become supporting roles as services and APIs. New technology like VR and artificial intelligence will need a high amount of computing power on the backend. The front end will focus more on the overall experience, display, and the way we react with things. Charles talks about how the web may move away from being just an HTML platform. He says that it will be interesting to find where JavaScript and frameworks like React will fall into this shift into this next generation. We already are seeing some of this with the capabilities with canvases, WebVR, and SVG and how they are changing how we experience the web. Reasonable Component Story Cory brings up being interested in the Reasonable component story. Sharing code from a traditional web app, to a native app, and to potentially a VR app as well is exciting and he hopes to see it flesh out more in the coming years. He talks about going to conferences and how much we have built and how much we don’t have easily sharable innovation. He hopes to see it solved in the next few years. What contributions have you made to the JavaScript community? Cory mentions working on the open source project Slingshot. He was trying to solve issues that many found in React. React isn’t very opinionated. React is for writing reasonable components for the web, but it doesn’t have opinions on how you structure your files, how you minify, bundle, deploy, or make API calls, etc. He realized that telling people to use React and to deal with those issues wasn’t reasonable. He created React Slingshot as a development boilerplate. He put it to use in many applications and it became popular. It’s easy because it did things like allow you to run NPM to pull independencies and pull a file, it would fire up a web browser, watch your files, run tests, hot reloading on save, and had a running Redux application build it. It allowed people to get started very quickly. He talks about how he wasn’t the only person trying to solve this issue. He says that if you look now there are well over one hundred boiler plates for React that do similar things. Most popular being Create React App. Contributions outside of this, he talks about editing documentation on open source projects being part of his biggest contribution, writing it in markdown and then making pull requests. What are you working on now? Cory adds that he just finished his 7th or 8th Pluralsight course on creating usable React components. At work they create their own reusable React component library. He says that he realizes that it’s a complicated process, where all decisions you make, in order to have a reusable component story, you have to make a lot of decisions. Things like how granular to make the components, reusable styles and how they are packaged, how they are hosted, will it be open or source, etc. Publicly Closed - Internally Open Source Projects Cory talks about the idea of having it as a closed source project, but treating it like an internal open source project for the company, having many people feel invested into the project. He found creating the documentation story was the toughest part. Having solid documentation story that helps with showing how to use the components and it’s features and behaviors. He spends much of his type looking at other documents to help him come up with ways to create his own. He talks about generating the documents automatically with the updates so that they are always in sync. Charles adds that documentation syncing often happens right in the comments, which are also acceptable to being outdated. Pull-request-Template.md Cory adds that a useful way to allow for well documented and safe pull requests is to make a pull request template in GitHub by creating a file called pull-request-template.md so that any time someone makes a pull request, that .md template will populate the pull request. Cory has a checklist for a pull request like making sure there are tests for any new components, the file name should have an uppercase character, is there a ticket open, etc. All of the basic things that should happen in a pull will be in the pull-request-template.md. Charles adds that documentation is one of the things that gets ignored. Having a standard process is very important, more so than getting the job done faster. Also having an outlined expectation for how it’s delivered is important as well. Documentation as Development Environment A useful trick that Cory uses, is using the documentation as the development environment. Anytime they are working on a new component, they start with a documentation site, making changes within the documentation and then it hot loading your changes live. This way your documentation is front of mind and keeps the documentation fall behind. Why React instead of the other frameworks? Cory says that he can sum up React in a single sentence. He says that your HTML sits right in the JavaScript. Which usually sounds bad to a large group of developers. He expects people to react negatively when he talks about it. What he has run into as a common problem, is people separating concerns by filetype and technology, but with React he seems the common problems in terms of components. Cory says that components are the future. Industries that have matured utilize components. For example car manufacturers or even electronic manufactures build things in modules and components. Things that are reusable should be encapsulated into a component instead of trying to hold it in our heads. This makes it so things look the same and reduces many mistakes. You can create components in different frameworks, but React co-mingles markup and javascript with something like JSX. You’re not writing HTML, you’re writing JSX that boils down to HTML. That one element is fundamentally what makes React easier to Cory. For the most part, React can be learned by JavaScript developers in less than a day because many of the things you need to do in React, is just basic JavaScript. Charles adds that components are a concept coming up in various frameworks and is becoming more popular. Picks Cory’s Cory’s React Courses on Pluralsight Essentialism the book Charles’ Get a Better Job Course Angular Remote Conf (now Ruby Dev Summit) React Podcast Kickstarter Links Cory’s Twitter
My Ruby Story 315 Jordan Hudgens In this episode it’s another My Ruby Story and this week’s story is Jordan Hudgens’. Jordan is lead instructor of Bottega, a code school based in Lehi, Utah but also located in Phoenix and Salt Lake City. You’ll hear a bit about how Decamp.com came to be as well as what makes it stand out from the rest. You’ll also catch a couple tangents including one on artificial intelligence, augmented reality, an IoT. Don’t miss this one! How did you get intro programming? Jordan talks about how at the age of 12 his father had a business and with their budget couldn’t afford a web designer. His father offers Jordan to buy him a computer if he can build the website. He muddles his way through HTML documentation to create his first, and particularly ugly website 20 years ago. When he turned 16, he started working on better applications as well as learned PHP. How did you go from PHP to Ruby? As Jordan got further and further, he worked a lot in the energy sector, including Chevron and Oxy. This sort of work became dull and boring for him. He knew that there were other things out there that would be better. He started learning Ruby and fell in love with it. He mentions that working with Ruby helped him to love coming into work. Jordan now works almost exclusively in Ruby on Rails now. What have you done in Ruby? Jordan talks about switching all of his work over to Ruby, including doing work for Quip, the toothbrush service. He has also done work for EventBrite on one of their Micro Services. He soon after quit his work to start devcamp.com and launch his own learning platform. He says that he learns best by teaching so he started to create courses, usually for himself. He self-published on platforms like Udemy, but was also hired to create courses for FlatIron School in New York. His time was spent less in development and more in creating courses. What makes the DevCamp.com different? What was your inspiration? As a developer and having his own consulting shop, he recognized that camps weren’t teaching certain things like algorithms and even soft skills like project management and estimation. He also wanted to include other things like machine learning. Jordan felt strong on what he felt a true job centric curriculum should be focused on. Uniquely, Jordan has created a strong network to hiring partners. Instead of just building a course, they build outlines for a certain topic and then has the hiring partners and network to help create a profile for the best candidate for hire. Then creating the workshop around those requests. A major element that makes Jordan’s Devcamp.com stand out is that they are one of the only accredited bootcamps out there. Devcamp also uniquely has a 2 year pathway mapped out similar to a university computer science curriculum. Universities have partnered with devcamp.com because the curriculum lose a little bit faster than the traditional taught curriculum. Students are getting hired a bit faster because they are learning more relevant information. Jordan states that the student’s success is also Devcamp.com’s success. What are the skills people need to actually get a job? What makes a great developer is problem solving. Problem solving is the most important. If a person can dissect a challenge and come up with a plan, it’s very valuable. There is a problem solving course that presents a number of challenges where students learn to problem solve, not even using code. Taking a practical approach to give a sense a real world relevance and a mental framework for problem solving. Do you feel like your main contribution was teaching? Jordan mentions that he tries to contribute to open source and that he has made a few Ruby Gems but his time is limited. He discovered that even when he was making good money developing, he didn’t feel like he was making a huge difference in the world. He talks about watching students who came from working minimum wage jobs leave the camp they started working very hard and making 50 to 60 grand a year. The camp changed their lives. Charles talks about how he relates with the podcast. People have come to him with similar stories of having enough confidence to change their careers after listening to the podcasts. What are you working on now? Anything new? Jordan talks about how most of his time is developing new ‘Products’ for Devcamp. Each day he tries to add a few new features. One of the big plans is to start including machine learning into the curriculum. He talks about how when he adds features, he tries to use those features to teach and to create a relevant real world example. He finds that most students don’t like abstract thought patterns. Are you doing that with Ruby? Jordan lets us know that yes some of the machine learning stuff he is working on is with Ruby. Interestingly enough, he spent time at the Rails Conf and went to every machine learning talk there. Every single machine learning talk was on Python. He mentions that “H.H’s” (David Heinemeier Hansson) keynote talk was on using the right tools. It’s hard to compete with the large number of libraries that Python has on machine learning. Artificial Intelligence, Augmented Reality, and Iot Charles suggests that artificial intelligence, augmented reality, and Iot are really where technology is heading. Jordan and Charles talk about how they all three interplay together to enhance our lives. adjunctSensors from an Iot device uses machine learning and artificial intelligence to make decisions that then tie into how we experience reality. Charles mentions that he often tries to convince people that their phones are already supplementing our lives in a way that makes it augmented reality. Machine learning seems to be the glue that holds it all together. Picks Jordan Devcamp Bottega Tim and Ruby Topaz Charles Ruby Dev Summit Wordpress theme - Summit Ruby Rogues Parley Meetup.com Links Bottega Devcamp.com Twitter GitHub Crondose blog
My JS Story Cory House On this Episode we have another JS Story, and this time it’s with Cory House, a Pluralsight author, software architect for Cox Automotive, and a consultant with a focus on React. Listen to Charles Max Wood and Cory discuss a bit about how Cory got into programming, how learning how to learn is vital to being a talented developer, as well as using documentation as your development environment to ensure your code’s documentation doesn’t fall behind. This and more right here. Stay tuned. How did you get into programming? Cory starts his story as a business major in college but had interest in computers. He spent time around various computers and machines, giving him experience in various operating systems and platforms. On any given day he would be using any of three different operating systems. His interest in computers inspired him to double major. He started learning Cobalt and Visual Basic and C++. He talks about being interested in web development, including Flash. He specialized in Flash throughout college, as well as early on in his software development career. He also talks a bit about that the open web seems to innovate in a way that keeps it relevant. He talks about using Flash to make websites with entering screens and animations and now that is obsolete. Charles mentions that it’s interesting that his main interest was business and computers became something he was interested in later on and that you don’t have to be someone who started young to be proficient. Cory talks about being driven to catch up, being around people who knew things off the top of their head while he was still asking questions and looking things up. Learning How to Learn Out of college Cory found that he had a degree, but what he had really learned was how to learn. He never used Cobalt, C ++, or visual basic after school. Learning how to learn combined with being able to create a focus on a specific technology are vital. Charles adds that he would hear often that it took being a natural in programming to get it, and that maybe being a natural was really just being someone who has learned how to learn and to focus. Getting Good With Your Craft Cory mentions that working with someone who head and shoulders ahead of everyone else. They were working in Unix and seemed to know every single Unix command and flag. He found it inspiring to see someone take the craft so seriously and to learn a specific technologies tool with so much dedication. Some technologies will be so important that they will be key technologies that will still be useful many years later. Cory suggests that one of those tools seem to be JavaScript. JavaScript is almost mandatory in frontend web development. Additionally, JavaScript is reaching into other new technology types including IoT and VR and other places, constantly expanding. How did you get into JavaScript? Cory talks about how it really all got started when Steve Jobs killed Flash. He opened his mind to other technologies and started working with JavaScript. Remembering learning jQuery, he found himself really enjoying it. He started building online business applications. Browser inconsistencies were a huge issue, making it so that you’d have to check your work on each browser to make sure it worked cross platform. Things are moving so quickly that being a full stack developer is becoming less and less prevalent, to the point where he considers himself primarily a JavaScript developer. Being an expert in a single technology can make you really valuable. Companies are running into issues with not finding enough people that are experts in a single tech. Cory suggests that employers should find employees that seem interested and help allow them to focus and learn whatever that tech is. Charles talks about the split between developers that tend to lean full stack and plug in technologies when they need it versus developers that work exclusively in front end. He suggests it may be a case by case situation. Service Oriented Architecture Cory suggests that service oriented architecture movement has moved us that way. Once you have a set of services set up, it becomes more realistic to turn on the front end. If there were a good set of services there, Cory adds that he doesn’t think he would be able to build services faster using a server side framework like Rails, Django, or ASP.Net MVC than he could in React today using something like create React app. The front end has become much more mature. Cory mentions that he has had good experiences with ASP.Net NPC and Visual Basic being a Microsoft stack developer. He adds that he doesn’t feel like he has given up anything working with JavaScript. He adds that with the nesting of different models together, he gets to reuse a lot of code in server side development. NPM makes it easy to stand up a new package. If you are planning to create an API, it becomes much harder to use a server side rendering stack, with so many APIs available, it’s a logical move to go client side. Possible Future for Front-end and Back-end Roles Charles brings up that the development of things like VR are making changes in the roles that front end and back end development play. The front end will more to taking care of the overall application development of apps, while the back end will become supporting roles as services and APIs. New technology like VR and artificial intelligence will need a high amount of computing power on the backend. The front end will focus more on the overall experience, display, and the way we react with things. Charles talks about how the web may move away from being just an HTML platform. He says that it will be interesting to find where JavaScript and frameworks like React will fall into this shift into this next generation. We already are seeing some of this with the capabilities with canvases, WebVR, and SVG and how they are changing how we experience the web. Reasonable Component Story Cory brings up being interested in the Reasonable component story. Sharing code from a traditional web app, to a native app, and to potentially a VR app as well is exciting and he hopes to see it flesh out more in the coming years. He talks about going to conferences and how much we have built and how much we don’t have easily sharable innovation. He hopes to see it solved in the next few years. What contributions have you made to the JavaScript community? Cory mentions working on the open source project Slingshot. He was trying to solve issues that many found in React. React isn’t very opinionated. React is for writing reasonable components for the web, but it doesn’t have opinions on how you structure your files, how you minify, bundle, deploy, or make API calls, etc. He realized that telling people to use React and to deal with those issues wasn’t reasonable. He created React Slingshot as a development boilerplate. He put it to use in many applications and it became popular. It’s easy because it did things like allow you to run NPM to pull independencies and pull a file, it would fire up a web browser, watch your files, run tests, hot reloading on save, and had a running Redux application build it. It allowed people to get started very quickly. He talks about how he wasn’t the only person trying to solve this issue. He says that if you look now there are well over one hundred boiler plates for React that do similar things. Most popular being Create React App. Contributions outside of this, he talks about editing documentation on open source projects being part of his biggest contribution, writing it in markdown and then making pull requests. What are you working on now? Cory adds that he just finished his 7th or 8th Pluralsight course on creating usable React components. At work they create their own reusable React component library. He says that he realizes that it’s a complicated process, where all decisions you make, in order to have a reusable component story, you have to make a lot of decisions. Things like how granular to make the components, reusable styles and how they are packaged, how they are hosted, will it be open or source, etc. Publicly Closed - Internally Open Source Projects Cory talks about the idea of having it as a closed source project, but treating it like an internal open source project for the company, having many people feel invested into the project. He found creating the documentation story was the toughest part. Having solid documentation story that helps with showing how to use the components and it’s features and behaviors. He spends much of his type looking at other documents to help him come up with ways to create his own. He talks about generating the documents automatically with the updates so that they are always in sync. Charles adds that documentation syncing often happens right in the comments, which are also acceptable to being outdated. Pull-request-Template.md Cory adds that a useful way to allow for well documented and safe pull requests is to make a pull request template in GitHub by creating a file called pull-request-template.md so that any time someone makes a pull request, that .md template will populate the pull request. Cory has a checklist for a pull request like making sure there are tests for any new components, the file name should have an uppercase character, is there a ticket open, etc. All of the basic things that should happen in a pull will be in the pull-request-template.md. Charles adds that documentation is one of the things that gets ignored. Having a standard process is very important, more so than getting the job done faster. Also having an outlined expectation for how it’s delivered is important as well. Documentation as Development Environment A useful trick that Cory uses, is using the documentation as the development environment. Anytime they are working on a new component, they start with a documentation site, making changes within the documentation and then it hot loading your changes live. This way your documentation is front of mind and keeps the documentation fall behind. Why React instead of the other frameworks? Cory says that he can sum up React in a single sentence. He says that your HTML sits right in the JavaScript. Which usually sounds bad to a large group of developers. He expects people to react negatively when he talks about it. What he has run into as a common problem, is people separating concerns by filetype and technology, but with React he seems the common problems in terms of components. Cory says that components are the future. Industries that have matured utilize components. For example car manufacturers or even electronic manufactures build things in modules and components. Things that are reusable should be encapsulated into a component instead of trying to hold it in our heads. This makes it so things look the same and reduces many mistakes. You can create components in different frameworks, but React co-mingles markup and javascript with something like JSX. You’re not writing HTML, you’re writing JSX that boils down to HTML. That one element is fundamentally what makes React easier to Cory. For the most part, React can be learned by JavaScript developers in less than a day because many of the things you need to do in React, is just basic JavaScript. Charles adds that components are a concept coming up in various frameworks and is becoming more popular. Picks Cory’s Cory’s React Courses on Pluralsight Essentialism the book Charles’ Get a Better Job Course Angular Remote Conf (now Ruby Dev Summit) React Podcast Kickstarter Links Cory’s Twitter
My Ruby Story 315 Jordan Hudgens In this episode it’s another My Ruby Story and this week’s story is Jordan Hudgens’. Jordan is lead instructor of Bottega, a code school based in Lehi, Utah but also located in Phoenix and Salt Lake City. You’ll hear a bit about how Decamp.com came to be as well as what makes it stand out from the rest. You’ll also catch a couple tangents including one on artificial intelligence, augmented reality, an IoT. Don’t miss this one! How did you get intro programming? Jordan talks about how at the age of 12 his father had a business and with their budget couldn’t afford a web designer. His father offers Jordan to buy him a computer if he can build the website. He muddles his way through HTML documentation to create his first, and particularly ugly website 20 years ago. When he turned 16, he started working on better applications as well as learned PHP. How did you go from PHP to Ruby? As Jordan got further and further, he worked a lot in the energy sector, including Chevron and Oxy. This sort of work became dull and boring for him. He knew that there were other things out there that would be better. He started learning Ruby and fell in love with it. He mentions that working with Ruby helped him to love coming into work. Jordan now works almost exclusively in Ruby on Rails now. What have you done in Ruby? Jordan talks about switching all of his work over to Ruby, including doing work for Quip, the toothbrush service. He has also done work for EventBrite on one of their Micro Services. He soon after quit his work to start devcamp.com and launch his own learning platform. He says that he learns best by teaching so he started to create courses, usually for himself. He self-published on platforms like Udemy, but was also hired to create courses for FlatIron School in New York. His time was spent less in development and more in creating courses. What makes the DevCamp.com different? What was your inspiration? As a developer and having his own consulting shop, he recognized that camps weren’t teaching certain things like algorithms and even soft skills like project management and estimation. He also wanted to include other things like machine learning. Jordan felt strong on what he felt a true job centric curriculum should be focused on. Uniquely, Jordan has created a strong network to hiring partners. Instead of just building a course, they build outlines for a certain topic and then has the hiring partners and network to help create a profile for the best candidate for hire. Then creating the workshop around those requests. A major element that makes Jordan’s Devcamp.com stand out is that they are one of the only accredited bootcamps out there. Devcamp also uniquely has a 2 year pathway mapped out similar to a university computer science curriculum. Universities have partnered with devcamp.com because the curriculum lose a little bit faster than the traditional taught curriculum. Students are getting hired a bit faster because they are learning more relevant information. Jordan states that the student’s success is also Devcamp.com’s success. What are the skills people need to actually get a job? What makes a great developer is problem solving. Problem solving is the most important. If a person can dissect a challenge and come up with a plan, it’s very valuable. There is a problem solving course that presents a number of challenges where students learn to problem solve, not even using code. Taking a practical approach to give a sense a real world relevance and a mental framework for problem solving. Do you feel like your main contribution was teaching? Jordan mentions that he tries to contribute to open source and that he has made a few Ruby Gems but his time is limited. He discovered that even when he was making good money developing, he didn’t feel like he was making a huge difference in the world. He talks about watching students who came from working minimum wage jobs leave the camp they started working very hard and making 50 to 60 grand a year. The camp changed their lives. Charles talks about how he relates with the podcast. People have come to him with similar stories of having enough confidence to change their careers after listening to the podcasts. What are you working on now? Anything new? Jordan talks about how most of his time is developing new ‘Products’ for Devcamp. Each day he tries to add a few new features. One of the big plans is to start including machine learning into the curriculum. He talks about how when he adds features, he tries to use those features to teach and to create a relevant real world example. He finds that most students don’t like abstract thought patterns. Are you doing that with Ruby? Jordan lets us know that yes some of the machine learning stuff he is working on is with Ruby. Interestingly enough, he spent time at the Rails Conf and went to every machine learning talk there. Every single machine learning talk was on Python. He mentions that “H.H’s” (David Heinemeier Hansson) keynote talk was on using the right tools. It’s hard to compete with the large number of libraries that Python has on machine learning. Artificial Intelligence, Augmented Reality, and Iot Charles suggests that artificial intelligence, augmented reality, and Iot are really where technology is heading. Jordan and Charles talk about how they all three interplay together to enhance our lives. adjunctSensors from an Iot device uses machine learning and artificial intelligence to make decisions that then tie into how we experience reality. Charles mentions that he often tries to convince people that their phones are already supplementing our lives in a way that makes it augmented reality. Machine learning seems to be the glue that holds it all together. Picks Jordan Devcamp Bottega Tim and Ruby Topaz Charles Ruby Dev Summit Wordpress theme - Summit Ruby Rogues Parley Meetup.com Links Bottega Devcamp.com Twitter GitHub Crondose blog
My JS Story Cory House On this Episode we have another JS Story, and this time it’s with Cory House, a Pluralsight author, software architect for Cox Automotive, and a consultant with a focus on React. Listen to Charles Max Wood and Cory discuss a bit about how Cory got into programming, how learning how to learn is vital to being a talented developer, as well as using documentation as your development environment to ensure your code’s documentation doesn’t fall behind. This and more right here. Stay tuned. How did you get into programming? Cory starts his story as a business major in college but had interest in computers. He spent time around various computers and machines, giving him experience in various operating systems and platforms. On any given day he would be using any of three different operating systems. His interest in computers inspired him to double major. He started learning Cobalt and Visual Basic and C++. He talks about being interested in web development, including Flash. He specialized in Flash throughout college, as well as early on in his software development career. He also talks a bit about that the open web seems to innovate in a way that keeps it relevant. He talks about using Flash to make websites with entering screens and animations and now that is obsolete. Charles mentions that it’s interesting that his main interest was business and computers became something he was interested in later on and that you don’t have to be someone who started young to be proficient. Cory talks about being driven to catch up, being around people who knew things off the top of their head while he was still asking questions and looking things up. Learning How to Learn Out of college Cory found that he had a degree, but what he had really learned was how to learn. He never used Cobalt, C ++, or visual basic after school. Learning how to learn combined with being able to create a focus on a specific technology are vital. Charles adds that he would hear often that it took being a natural in programming to get it, and that maybe being a natural was really just being someone who has learned how to learn and to focus. Getting Good With Your Craft Cory mentions that working with someone who head and shoulders ahead of everyone else. They were working in Unix and seemed to know every single Unix command and flag. He found it inspiring to see someone take the craft so seriously and to learn a specific technologies tool with so much dedication. Some technologies will be so important that they will be key technologies that will still be useful many years later. Cory suggests that one of those tools seem to be JavaScript. JavaScript is almost mandatory in frontend web development. Additionally, JavaScript is reaching into other new technology types including IoT and VR and other places, constantly expanding. How did you get into JavaScript? Cory talks about how it really all got started when Steve Jobs killed Flash. He opened his mind to other technologies and started working with JavaScript. Remembering learning jQuery, he found himself really enjoying it. He started building online business applications. Browser inconsistencies were a huge issue, making it so that you’d have to check your work on each browser to make sure it worked cross platform. Things are moving so quickly that being a full stack developer is becoming less and less prevalent, to the point where he considers himself primarily a JavaScript developer. Being an expert in a single technology can make you really valuable. Companies are running into issues with not finding enough people that are experts in a single tech. Cory suggests that employers should find employees that seem interested and help allow them to focus and learn whatever that tech is. Charles talks about the split between developers that tend to lean full stack and plug in technologies when they need it versus developers that work exclusively in front end. He suggests it may be a case by case situation. Service Oriented Architecture Cory suggests that service oriented architecture movement has moved us that way. Once you have a set of services set up, it becomes more realistic to turn on the front end. If there were a good set of services there, Cory adds that he doesn’t think he would be able to build services faster using a server side framework like Rails, Django, or ASP.Net MVC than he could in React today using something like create React app. The front end has become much more mature. Cory mentions that he has had good experiences with ASP.Net NPC and Visual Basic being a Microsoft stack developer. He adds that he doesn’t feel like he has given up anything working with JavaScript. He adds that with the nesting of different models together, he gets to reuse a lot of code in server side development. NPM makes it easy to stand up a new package. If you are planning to create an API, it becomes much harder to use a server side rendering stack, with so many APIs available, it’s a logical move to go client side. Possible Future for Front-end and Back-end Roles Charles brings up that the development of things like VR are making changes in the roles that front end and back end development play. The front end will more to taking care of the overall application development of apps, while the back end will become supporting roles as services and APIs. New technology like VR and artificial intelligence will need a high amount of computing power on the backend. The front end will focus more on the overall experience, display, and the way we react with things. Charles talks about how the web may move away from being just an HTML platform. He says that it will be interesting to find where JavaScript and frameworks like React will fall into this shift into this next generation. We already are seeing some of this with the capabilities with canvases, WebVR, and SVG and how they are changing how we experience the web. Reasonable Component Story Cory brings up being interested in the Reasonable component story. Sharing code from a traditional web app, to a native app, and to potentially a VR app as well is exciting and he hopes to see it flesh out more in the coming years. He talks about going to conferences and how much we have built and how much we don’t have easily sharable innovation. He hopes to see it solved in the next few years. What contributions have you made to the JavaScript community? Cory mentions working on the open source project Slingshot. He was trying to solve issues that many found in React. React isn’t very opinionated. React is for writing reasonable components for the web, but it doesn’t have opinions on how you structure your files, how you minify, bundle, deploy, or make API calls, etc. He realized that telling people to use React and to deal with those issues wasn’t reasonable. He created React Slingshot as a development boilerplate. He put it to use in many applications and it became popular. It’s easy because it did things like allow you to run NPM to pull independencies and pull a file, it would fire up a web browser, watch your files, run tests, hot reloading on save, and had a running Redux application build it. It allowed people to get started very quickly. He talks about how he wasn’t the only person trying to solve this issue. He says that if you look now there are well over one hundred boiler plates for React that do similar things. Most popular being Create React App. Contributions outside of this, he talks about editing documentation on open source projects being part of his biggest contribution, writing it in markdown and then making pull requests. What are you working on now? Cory adds that he just finished his 7th or 8th Pluralsight course on creating usable React components. At work they create their own reusable React component library. He says that he realizes that it’s a complicated process, where all decisions you make, in order to have a reusable component story, you have to make a lot of decisions. Things like how granular to make the components, reusable styles and how they are packaged, how they are hosted, will it be open or source, etc. Publicly Closed - Internally Open Source Projects Cory talks about the idea of having it as a closed source project, but treating it like an internal open source project for the company, having many people feel invested into the project. He found creating the documentation story was the toughest part. Having solid documentation story that helps with showing how to use the components and it’s features and behaviors. He spends much of his type looking at other documents to help him come up with ways to create his own. He talks about generating the documents automatically with the updates so that they are always in sync. Charles adds that documentation syncing often happens right in the comments, which are also acceptable to being outdated. Pull-request-Template.md Cory adds that a useful way to allow for well documented and safe pull requests is to make a pull request template in GitHub by creating a file called pull-request-template.md so that any time someone makes a pull request, that .md template will populate the pull request. Cory has a checklist for a pull request like making sure there are tests for any new components, the file name should have an uppercase character, is there a ticket open, etc. All of the basic things that should happen in a pull will be in the pull-request-template.md. Charles adds that documentation is one of the things that gets ignored. Having a standard process is very important, more so than getting the job done faster. Also having an outlined expectation for how it’s delivered is important as well. Documentation as Development Environment A useful trick that Cory uses, is using the documentation as the development environment. Anytime they are working on a new component, they start with a documentation site, making changes within the documentation and then it hot loading your changes live. This way your documentation is front of mind and keeps the documentation fall behind. Why React instead of the other frameworks? Cory says that he can sum up React in a single sentence. He says that your HTML sits right in the JavaScript. Which usually sounds bad to a large group of developers. He expects people to react negatively when he talks about it. What he has run into as a common problem, is people separating concerns by filetype and technology, but with React he seems the common problems in terms of components. Cory says that components are the future. Industries that have matured utilize components. For example car manufacturers or even electronic manufactures build things in modules and components. Things that are reusable should be encapsulated into a component instead of trying to hold it in our heads. This makes it so things look the same and reduces many mistakes. You can create components in different frameworks, but React co-mingles markup and javascript with something like JSX. You’re not writing HTML, you’re writing JSX that boils down to HTML. That one element is fundamentally what makes React easier to Cory. For the most part, React can be learned by JavaScript developers in less than a day because many of the things you need to do in React, is just basic JavaScript. Charles adds that components are a concept coming up in various frameworks and is becoming more popular. Picks Cory’s Cory’s React Courses on Pluralsight Essentialism the book Charles’ Get a Better Job Course Angular Remote Conf (now Ruby Dev Summit) React Podcast Kickstarter Links Cory’s Twitter
My Ruby Story 315 Jordan Hudgens In this episode it’s another My Ruby Story and this week’s story is Jordan Hudgens’. Jordan is lead instructor of Bottega, a code school based in Lehi, Utah but also located in Phoenix and Salt Lake City. You’ll hear a bit about how Decamp.com came to be as well as what makes it stand out from the rest. You’ll also catch a couple tangents including one on artificial intelligence, augmented reality, an IoT. Don’t miss this one! How did you get intro programming? Jordan talks about how at the age of 12 his father had a business and with their budget couldn’t afford a web designer. His father offers Jordan to buy him a computer if he can build the website. He muddles his way through HTML documentation to create his first, and particularly ugly website 20 years ago. When he turned 16, he started working on better applications as well as learned PHP. How did you go from PHP to Ruby? As Jordan got further and further, he worked a lot in the energy sector, including Chevron and Oxy. This sort of work became dull and boring for him. He knew that there were other things out there that would be better. He started learning Ruby and fell in love with it. He mentions that working with Ruby helped him to love coming into work. Jordan now works almost exclusively in Ruby on Rails now. What have you done in Ruby? Jordan talks about switching all of his work over to Ruby, including doing work for Quip, the toothbrush service. He has also done work for EventBrite on one of their Micro Services. He soon after quit his work to start devcamp.com and launch his own learning platform. He says that he learns best by teaching so he started to create courses, usually for himself. He self-published on platforms like Udemy, but was also hired to create courses for FlatIron School in New York. His time was spent less in development and more in creating courses. What makes the DevCamp.com different? What was your inspiration? As a developer and having his own consulting shop, he recognized that camps weren’t teaching certain things like algorithms and even soft skills like project management and estimation. He also wanted to include other things like machine learning. Jordan felt strong on what he felt a true job centric curriculum should be focused on. Uniquely, Jordan has created a strong network to hiring partners. Instead of just building a course, they build outlines for a certain topic and then has the hiring partners and network to help create a profile for the best candidate for hire. Then creating the workshop around those requests. A major element that makes Jordan’s Devcamp.com stand out is that they are one of the only accredited bootcamps out there. Devcamp also uniquely has a 2 year pathway mapped out similar to a university computer science curriculum. Universities have partnered with devcamp.com because the curriculum lose a little bit faster than the traditional taught curriculum. Students are getting hired a bit faster because they are learning more relevant information. Jordan states that the student’s success is also Devcamp.com’s success. What are the skills people need to actually get a job? What makes a great developer is problem solving. Problem solving is the most important. If a person can dissect a challenge and come up with a plan, it’s very valuable. There is a problem solving course that presents a number of challenges where students learn to problem solve, not even using code. Taking a practical approach to give a sense a real world relevance and a mental framework for problem solving. Do you feel like your main contribution was teaching? Jordan mentions that he tries to contribute to open source and that he has made a few Ruby Gems but his time is limited. He discovered that even when he was making good money developing, he didn’t feel like he was making a huge difference in the world. He talks about watching students who came from working minimum wage jobs leave the camp they started working very hard and making 50 to 60 grand a year. The camp changed their lives. Charles talks about how he relates with the podcast. People have come to him with similar stories of having enough confidence to change their careers after listening to the podcasts. What are you working on now? Anything new? Jordan talks about how most of his time is developing new ‘Products’ for Devcamp. Each day he tries to add a few new features. One of the big plans is to start including machine learning into the curriculum. He talks about how when he adds features, he tries to use those features to teach and to create a relevant real world example. He finds that most students don’t like abstract thought patterns. Are you doing that with Ruby? Jordan lets us know that yes some of the machine learning stuff he is working on is with Ruby. Interestingly enough, he spent time at the Rails Conf and went to every machine learning talk there. Every single machine learning talk was on Python. He mentions that “H.H’s” (David Heinemeier Hansson) keynote talk was on using the right tools. It’s hard to compete with the large number of libraries that Python has on machine learning. Artificial Intelligence, Augmented Reality, and Iot Charles suggests that artificial intelligence, augmented reality, and Iot are really where technology is heading. Jordan and Charles talk about how they all three interplay together to enhance our lives. adjunctSensors from an Iot device uses machine learning and artificial intelligence to make decisions that then tie into how we experience reality. Charles mentions that he often tries to convince people that their phones are already supplementing our lives in a way that makes it augmented reality. Machine learning seems to be the glue that holds it all together. Picks Jordan Devcamp Bottega Tim and Ruby Topaz Charles Ruby Dev Summit Wordpress theme - Summit Ruby Rogues Parley Meetup.com Links Bottega Devcamp.com Twitter GitHub Crondose blog
Offshoring and Latin American Developers - David Hemmat For this episode of Ruby Rogues we have Jason Sweat and Brian Hogan for our panel along with Charles Max Wood and a special guest, David Hemmat from BlueCoding.com. David and the Blue Coding team work to connect developer talent to businesses in need through a thorough process of vetting as well as a database collection of potential developers. Check out this episode to learn more! How did you get started? 1:34 David talks about going to school in the Dominican Republic worked locally, but later found work with US companies. He also set up a friend with a US job and they realized that there may be a demand as someone to bridge the gap. Developers did not have the access or a way to reach opportunities aboard so he started BlueCoding.com. About Blue Coding 2:32 BlueCoding.com has clients in the US and Canada. They focus on Latin America due to having close timezones in relation to the majority of companies that would be looking for developers. Also, Blue Coding helps in regard to bridging the cultural gap. Latin American work culture can be different that US or Canadian culture. David talks about how it’s much of a communication difference. Developers sometimes will agree to jobs they are unable to do and are timid to communicate and often just disappear. Despite this, many Latin American companies spawned from United States companies and will tend to have a similar working environment and culture as US companies. The General Experience With Offshore Hiring 4:17 David and the panel chat about their offshore hiring experiences. David expresses that there is sometimes an issue of many developers taking on work, and then seemingly disappearing. Often times coming back with excuses or in some cases actually over committing to work and just failing to communicate properly from the start. In some cases, like with countries like Venezuela, has a less reliable environment for the developers with things like power outages. “Not All Good Developers Are Good Freelancers.” 6:18 Freelancers tend to need a different skillset. Extra communication and need tools in place like time tracking and daily reports , etc. Companies that hire freelancers or offshore hiring in general need to have tools setup as well. David expresses that the best developers often are the ones that already have full time jobs. Blue Coding tries to help those developers find a better opportunity and has structured systems to create a workflow that works for both parties. David talks about having those tools in place for the developer including the time tracking and daily reports. The Companies Tools. 8:33 Blue Coding will also check with the client companies to make sure they have tools as well to help both parties have a smooth workflow. Project management software for the developer to see what they should work on next. Rates 9:04 Rates vary between $30 and $45 an hour. David tries to stay away from junior developers, looking for developers with 3–4 years working experience. Some companies pay $30 to $60. Latin American countries generally see a starting rate of $30 an hour. Asian countries can start as low as $10 an hour, but in rare cases. Some developers on the opposite side of things charge $100 an hour. Getting Offshore Developers 10:47 Most people start with upwork.com or Freelancer.com or something like that. Lower overhead but very limited vetting. Buyout fees are very high as well on these sites. There are companies similar to Blue Coding that are staffing companies that exist. Also, direct networking. Networking directly is extremely efficient. If you have a bad work history, networking also comes into play. David talks about their biggest source for developers are other developers, reaching out to find good hires by networking through the community. Dealing with ‘Boom and Bust.’ 14:19 Freelancers tend to run into boom and bust cycles, loads of work followed by slow spells. David tries to avoid this by hiring carefully and picking clients carefully. Looking for long term projects, either be a continuous flow of projects or one large projects. With this focus on long term relationship building, BlueCoding is able to have much lower rates. Other companies usually don’t have safety from downtime, offering internal work to make up for it. Finding Companies that Hire Offshore 16:08 Most countries have job boards to help. Also, technology specific job boards. But it’s hard to compete there. US companies won’t hire offshore developers for the same rates and the same skills. You have to be really good. David pushes developers to have plenty of experience. How to Get Noticed? 17:46 Companies can be prejudice, but isn’t seen too often. Becoming a top level talent is key. Being average is harder. As an average or novice in an area with no community, finding online communities, Facebook groups, LinkedIn communities, working on open source projects, and going to events can help. Working remotely and being good at it [22:02] It’s a two part effort. Companies can have tools to make things easier, but as a developer, you can request them. Communicate all online. All of the office talk should be online via Slack or some other documented system. Code reviews and Peer programming helps remote developers feel like a part of the team. Onshoring vs Offshoring 24:28 Some companies are hiring remote developers from the US. Why would someone want to hire from outside the country? Ultimately it comes down to finding a developer that fits in with what a company needs as well as matches the budget. Cost of living can change the rates for developers as well as where the company is located. David expresses that he wants to find really good developers, even if it means reaching out to Brazil or other parts of Latin America. Medical, Taxes, and Benefits 24:43 Each country has different laws. For example Dominican Republic has a law that states if you contract someone for over 3 months, they are considered employees and require benefits. Some countries allow Freelancers to work long term. Health care varies between companies. The Finical and Risks. 32:14 Freelancers and hourly workers tend to have less working time, spending some time each day to chase down work as well as managing time. Developers in general should notice that projects in general can have budget cuts and even end prematurely. In general a developer working as an employee will need to account for the benefits and extras thrown in when considering their rates. The Companies 34:02 What kind of companies are looking for this as a solution to their staffing problem? Most companies are smaller companies, 1 to 20 employees with a lot of long term development work. Generally three sectors, non tech companies that need tech work, digital agencies, and tech startups or established companies that already have a software product that needs to be maintained. How to find the Companies? 36:30 It’s a work in progress. References are vital, David talks about how vetting for developers ends with a very happy client that gives references. Also they spend a lot of time networking, conferences, meeting people online as well as cold calling. David mentions that it’s hard to express the quality of their service through email. Getting Started with Blue Coding? 37:22 For Developers Go to BlueCoding.com and find the link that says “join the team if you’re a developer” and you can connect that way. Just reach out to them and they will set up a conversation with you and see if there is a good fit. Then once a project comes in they will set you up with the vetting process. For Companies BlueCoding will want to set up a call with you. Reach out to them and setup a call. They will work through if you need a developer and what that developer looks like in regard to technical skills, personal skills, and general ability. Then the developers and clients have a meeting to make sure everyone is comfortable. Being comfortable is the most important part for this connection to end in a long term relationship. Picks Jason Samsungnite Columbian Leather Flat Over The Top Laptop Bag Brian New MacBook with Touch bar Charles My Ruby Story Podcasts Online Summit Format Ruby Dev Summit Ruby Rogues Parlay on Slack David Micro Conf. Macbook Air One Minute Manager Links to Keep up with David His Medium BlueCoding.com Email him
Offshoring and Latin American Developers - David Hemmat For this episode of Ruby Rogues we have Jason Sweat and Brian Hogan for our panel along with Charles Max Wood and a special guest, David Hemmat from BlueCoding.com. David and the Blue Coding team work to connect developer talent to businesses in need through a thorough process of vetting as well as a database collection of potential developers. Check out this episode to learn more! How did you get started? 1:34 David talks about going to school in the Dominican Republic worked locally, but later found work with US companies. He also set up a friend with a US job and they realized that there may be a demand as someone to bridge the gap. Developers did not have the access or a way to reach opportunities aboard so he started BlueCoding.com. About Blue Coding 2:32 BlueCoding.com has clients in the US and Canada. They focus on Latin America due to having close timezones in relation to the majority of companies that would be looking for developers. Also, Blue Coding helps in regard to bridging the cultural gap. Latin American work culture can be different that US or Canadian culture. David talks about how it’s much of a communication difference. Developers sometimes will agree to jobs they are unable to do and are timid to communicate and often just disappear. Despite this, many Latin American companies spawned from United States companies and will tend to have a similar working environment and culture as US companies. The General Experience With Offshore Hiring 4:17 David and the panel chat about their offshore hiring experiences. David expresses that there is sometimes an issue of many developers taking on work, and then seemingly disappearing. Often times coming back with excuses or in some cases actually over committing to work and just failing to communicate properly from the start. In some cases, like with countries like Venezuela, has a less reliable environment for the developers with things like power outages. “Not All Good Developers Are Good Freelancers.” 6:18 Freelancers tend to need a different skillset. Extra communication and need tools in place like time tracking and daily reports , etc. Companies that hire freelancers or offshore hiring in general need to have tools setup as well. David expresses that the best developers often are the ones that already have full time jobs. Blue Coding tries to help those developers find a better opportunity and has structured systems to create a workflow that works for both parties. David talks about having those tools in place for the developer including the time tracking and daily reports. The Companies Tools. 8:33 Blue Coding will also check with the client companies to make sure they have tools as well to help both parties have a smooth workflow. Project management software for the developer to see what they should work on next. Rates 9:04 Rates vary between $30 and $45 an hour. David tries to stay away from junior developers, looking for developers with 3–4 years working experience. Some companies pay $30 to $60. Latin American countries generally see a starting rate of $30 an hour. Asian countries can start as low as $10 an hour, but in rare cases. Some developers on the opposite side of things charge $100 an hour. Getting Offshore Developers 10:47 Most people start with upwork.com or Freelancer.com or something like that. Lower overhead but very limited vetting. Buyout fees are very high as well on these sites. There are companies similar to Blue Coding that are staffing companies that exist. Also, direct networking. Networking directly is extremely efficient. If you have a bad work history, networking also comes into play. David talks about their biggest source for developers are other developers, reaching out to find good hires by networking through the community. Dealing with ‘Boom and Bust.’ 14:19 Freelancers tend to run into boom and bust cycles, loads of work followed by slow spells. David tries to avoid this by hiring carefully and picking clients carefully. Looking for long term projects, either be a continuous flow of projects or one large projects. With this focus on long term relationship building, BlueCoding is able to have much lower rates. Other companies usually don’t have safety from downtime, offering internal work to make up for it. Finding Companies that Hire Offshore 16:08 Most countries have job boards to help. Also, technology specific job boards. But it’s hard to compete there. US companies won’t hire offshore developers for the same rates and the same skills. You have to be really good. David pushes developers to have plenty of experience. How to Get Noticed? 17:46 Companies can be prejudice, but isn’t seen too often. Becoming a top level talent is key. Being average is harder. As an average or novice in an area with no community, finding online communities, Facebook groups, LinkedIn communities, working on open source projects, and going to events can help. Working remotely and being good at it [22:02] It’s a two part effort. Companies can have tools to make things easier, but as a developer, you can request them. Communicate all online. All of the office talk should be online via Slack or some other documented system. Code reviews and Peer programming helps remote developers feel like a part of the team. Onshoring vs Offshoring 24:28 Some companies are hiring remote developers from the US. Why would someone want to hire from outside the country? Ultimately it comes down to finding a developer that fits in with what a company needs as well as matches the budget. Cost of living can change the rates for developers as well as where the company is located. David expresses that he wants to find really good developers, even if it means reaching out to Brazil or other parts of Latin America. Medical, Taxes, and Benefits 24:43 Each country has different laws. For example Dominican Republic has a law that states if you contract someone for over 3 months, they are considered employees and require benefits. Some countries allow Freelancers to work long term. Health care varies between companies. The Finical and Risks. 32:14 Freelancers and hourly workers tend to have less working time, spending some time each day to chase down work as well as managing time. Developers in general should notice that projects in general can have budget cuts and even end prematurely. In general a developer working as an employee will need to account for the benefits and extras thrown in when considering their rates. The Companies 34:02 What kind of companies are looking for this as a solution to their staffing problem? Most companies are smaller companies, 1 to 20 employees with a lot of long term development work. Generally three sectors, non tech companies that need tech work, digital agencies, and tech startups or established companies that already have a software product that needs to be maintained. How to find the Companies? 36:30 It’s a work in progress. References are vital, David talks about how vetting for developers ends with a very happy client that gives references. Also they spend a lot of time networking, conferences, meeting people online as well as cold calling. David mentions that it’s hard to express the quality of their service through email. Getting Started with Blue Coding? 37:22 For Developers Go to BlueCoding.com and find the link that says “join the team if you’re a developer” and you can connect that way. Just reach out to them and they will set up a conversation with you and see if there is a good fit. Then once a project comes in they will set you up with the vetting process. For Companies BlueCoding will want to set up a call with you. Reach out to them and setup a call. They will work through if you need a developer and what that developer looks like in regard to technical skills, personal skills, and general ability. Then the developers and clients have a meeting to make sure everyone is comfortable. Being comfortable is the most important part for this connection to end in a long term relationship. Picks Jason Samsungnite Columbian Leather Flat Over The Top Laptop Bag Brian New MacBook with Touch bar Charles My Ruby Story Podcasts Online Summit Format Ruby Dev Summit Ruby Rogues Parlay on Slack David Micro Conf. Macbook Air One Minute Manager Links to Keep up with David His Medium BlueCoding.com Email him
Offshoring and Latin American Developers - David Hemmat For this episode of Ruby Rogues we have Jason Sweat and Brian Hogan for our panel along with Charles Max Wood and a special guest, David Hemmat from BlueCoding.com. David and the Blue Coding team work to connect developer talent to businesses in need through a thorough process of vetting as well as a database collection of potential developers. Check out this episode to learn more! How did you get started? 1:34 David talks about going to school in the Dominican Republic worked locally, but later found work with US companies. He also set up a friend with a US job and they realized that there may be a demand as someone to bridge the gap. Developers did not have the access or a way to reach opportunities aboard so he started BlueCoding.com. About Blue Coding 2:32 BlueCoding.com has clients in the US and Canada. They focus on Latin America due to having close timezones in relation to the majority of companies that would be looking for developers. Also, Blue Coding helps in regard to bridging the cultural gap. Latin American work culture can be different that US or Canadian culture. David talks about how it’s much of a communication difference. Developers sometimes will agree to jobs they are unable to do and are timid to communicate and often just disappear. Despite this, many Latin American companies spawned from United States companies and will tend to have a similar working environment and culture as US companies. The General Experience With Offshore Hiring 4:17 David and the panel chat about their offshore hiring experiences. David expresses that there is sometimes an issue of many developers taking on work, and then seemingly disappearing. Often times coming back with excuses or in some cases actually over committing to work and just failing to communicate properly from the start. In some cases, like with countries like Venezuela, has a less reliable environment for the developers with things like power outages. “Not All Good Developers Are Good Freelancers.” 6:18 Freelancers tend to need a different skillset. Extra communication and need tools in place like time tracking and daily reports , etc. Companies that hire freelancers or offshore hiring in general need to have tools setup as well. David expresses that the best developers often are the ones that already have full time jobs. Blue Coding tries to help those developers find a better opportunity and has structured systems to create a workflow that works for both parties. David talks about having those tools in place for the developer including the time tracking and daily reports. The Companies Tools. 8:33 Blue Coding will also check with the client companies to make sure they have tools as well to help both parties have a smooth workflow. Project management software for the developer to see what they should work on next. Rates 9:04 Rates vary between $30 and $45 an hour. David tries to stay away from junior developers, looking for developers with 3–4 years working experience. Some companies pay $30 to $60. Latin American countries generally see a starting rate of $30 an hour. Asian countries can start as low as $10 an hour, but in rare cases. Some developers on the opposite side of things charge $100 an hour. Getting Offshore Developers 10:47 Most people start with upwork.com or Freelancer.com or something like that. Lower overhead but very limited vetting. Buyout fees are very high as well on these sites. There are companies similar to Blue Coding that are staffing companies that exist. Also, direct networking. Networking directly is extremely efficient. If you have a bad work history, networking also comes into play. David talks about their biggest source for developers are other developers, reaching out to find good hires by networking through the community. Dealing with ‘Boom and Bust.’ 14:19 Freelancers tend to run into boom and bust cycles, loads of work followed by slow spells. David tries to avoid this by hiring carefully and picking clients carefully. Looking for long term projects, either be a continuous flow of projects or one large projects. With this focus on long term relationship building, BlueCoding is able to have much lower rates. Other companies usually don’t have safety from downtime, offering internal work to make up for it. Finding Companies that Hire Offshore 16:08 Most countries have job boards to help. Also, technology specific job boards. But it’s hard to compete there. US companies won’t hire offshore developers for the same rates and the same skills. You have to be really good. David pushes developers to have plenty of experience. How to Get Noticed? 17:46 Companies can be prejudice, but isn’t seen too often. Becoming a top level talent is key. Being average is harder. As an average or novice in an area with no community, finding online communities, Facebook groups, LinkedIn communities, working on open source projects, and going to events can help. Working remotely and being good at it [22:02] It’s a two part effort. Companies can have tools to make things easier, but as a developer, you can request them. Communicate all online. All of the office talk should be online via Slack or some other documented system. Code reviews and Peer programming helps remote developers feel like a part of the team. Onshoring vs Offshoring 24:28 Some companies are hiring remote developers from the US. Why would someone want to hire from outside the country? Ultimately it comes down to finding a developer that fits in with what a company needs as well as matches the budget. Cost of living can change the rates for developers as well as where the company is located. David expresses that he wants to find really good developers, even if it means reaching out to Brazil or other parts of Latin America. Medical, Taxes, and Benefits 24:43 Each country has different laws. For example Dominican Republic has a law that states if you contract someone for over 3 months, they are considered employees and require benefits. Some countries allow Freelancers to work long term. Health care varies between companies. The Finical and Risks. 32:14 Freelancers and hourly workers tend to have less working time, spending some time each day to chase down work as well as managing time. Developers in general should notice that projects in general can have budget cuts and even end prematurely. In general a developer working as an employee will need to account for the benefits and extras thrown in when considering their rates. The Companies 34:02 What kind of companies are looking for this as a solution to their staffing problem? Most companies are smaller companies, 1 to 20 employees with a lot of long term development work. Generally three sectors, non tech companies that need tech work, digital agencies, and tech startups or established companies that already have a software product that needs to be maintained. How to find the Companies? 36:30 It’s a work in progress. References are vital, David talks about how vetting for developers ends with a very happy client that gives references. Also they spend a lot of time networking, conferences, meeting people online as well as cold calling. David mentions that it’s hard to express the quality of their service through email. Getting Started with Blue Coding? 37:22 For Developers Go to BlueCoding.com and find the link that says “join the team if you’re a developer” and you can connect that way. Just reach out to them and they will set up a conversation with you and see if there is a good fit. Then once a project comes in they will set you up with the vetting process. For Companies BlueCoding will want to set up a call with you. Reach out to them and setup a call. They will work through if you need a developer and what that developer looks like in regard to technical skills, personal skills, and general ability. Then the developers and clients have a meeting to make sure everyone is comfortable. Being comfortable is the most important part for this connection to end in a long term relationship. Picks Jason Samsungnite Columbian Leather Flat Over The Top Laptop Bag Brian New MacBook with Touch bar Charles My Ruby Story Podcasts Online Summit Format Ruby Dev Summit Ruby Rogues Parlay on Slack David Micro Conf. Macbook Air One Minute Manager Links to Keep up with David His Medium BlueCoding.com Email him
My Ruby Story with Charles Max Wood This week’s episode is a bit different. Charles Max Wood interviews… Charles Max Wood! Hear a bit about how Charles’ grandfather inspired him towards his career in programing, how handling technical support for Mozy somehow led him to writing Ruby code, and hear a bit about what he is working on now! Stay tuned. How did you get into Programming? Charles talks about remembering some of his first programming exposure as far back as second grade. He talks about programming the iconic turtle to move around on the screen and draw shapes. Later on he had more experience in a particular Math class in high school, this time Pascal, then of course the TI-85. Inspired by his Grandfather Charles gives a bit of a background story on his inspiration for taking electronics classes in school, his Grandfather. His Grandfather was an inventor that created various inventions, including tools used in the manufacturing of rocket boosters for the NASA Space Shuttle. Charles became very interested in electronics and took his first electronic class. Electrical engineering in College Charles then attended Brigam Young University majoring in Electrical Engineering, giving him even further chances to experience programming. To Charles, programming seemed fun but didn’t feel serious enough to hold weight as his career. His interest grew in computers. He eventually switches to Computer Engineering and graduates, also picking up a job in the office of information technology at BYU. Programming gets more serious Charles talks about how programming in college tended to lean towards games and fun projects, and it wasn’t until after college that the projects that he got involved with felt as if the work he was doing meant something. From building a system to help college students find apartments that fit their needs, to Bash scripts that made some of the IT updates at BYU faster and safer. His first job with Ruby on Rails Charles then lands a job with Mozy, the popular online backup service. Mozy’s systems were all running with Ruby on Rails and Charles worked as Technical Support. Mozy gets publicity in The Wall Street Journal, increasing the Technical Support workload. Charles then writes a Ruby on Rails system that created a smoother flow when cycling through emails. He soon added extra features like canned responses and a way to measure how often canned responses were sent as a way to highlight any particular issues Mozy was having. Shifting into Podcasting Charles talks about switching from a Management position to a developer track and working with a man name Don, who had an original iPod and listened to podcasts. Introducing him to Rails Envy, a podcast by Jason Seifer and Gregg Pollack. After emailing Gregg, to Charles’ surprise he responds and encourages him to start his own podcast. Charles talks about how he feels his main contribution to the Ruby community is his podcast. Since then he has had a chance to interview some really influential people, including David Heinemeier Hansson, the creator of Ruby on Rails. Outside of the podcast, Charles adds that he has also taken over Teach Me To Code and has contributed a few open source libraries, one connecting to project HoneyPot, as well as contributing indirectly through his other podcast work including JavaScript Jabber, and Adventures in Angular. What are you working on now? Charles talks about hoping to get back into writing open source code and even starting a project. Charles spends most of his time doing ‘businessy’ stuff for the podcast as well as the conferences, currently working on putting together a Ruby Dev Summit. Charles talks about a few new podcast shows he is working on, including bringing some requested content like web application security, React, and Elixir. Charles talks a bit about other things he is involved in at home and creating systems to help him manage his busy workload. Picks Electro-Voice RE20 Microphone Behringer Xenyx 802 Roland EDIROL R-09 ZOOM H6 Audio Technica 2100 GetACoderJob.com Charles’ Links Devchat.tv Charles’ Twitter Devchat.tv’s Twitter Charles GitHub Chuck@devchat.tv
My Ruby Story with Charles Max Wood This week’s episode is a bit different. Charles Max Wood interviews… Charles Max Wood! Hear a bit about how Charles’ grandfather inspired him towards his career in programing, how handling technical support for Mozy somehow led him to writing Ruby code, and hear a bit about what he is working on now! Stay tuned. How did you get into Programming? Charles talks about remembering some of his first programming exposure as far back as second grade. He talks about programming the iconic turtle to move around on the screen and draw shapes. Later on he had more experience in a particular Math class in high school, this time Pascal, then of course the TI-85. Inspired by his Grandfather Charles gives a bit of a background story on his inspiration for taking electronics classes in school, his Grandfather. His Grandfather was an inventor that created various inventions, including tools used in the manufacturing of rocket boosters for the NASA Space Shuttle. Charles became very interested in electronics and took his first electronic class. Electrical engineering in College Charles then attended Brigam Young University majoring in Electrical Engineering, giving him even further chances to experience programming. To Charles, programming seemed fun but didn’t feel serious enough to hold weight as his career. His interest grew in computers. He eventually switches to Computer Engineering and graduates, also picking up a job in the office of information technology at BYU. Programming gets more serious Charles talks about how programming in college tended to lean towards games and fun projects, and it wasn’t until after college that the projects that he got involved with felt as if the work he was doing meant something. From building a system to help college students find apartments that fit their needs, to Bash scripts that made some of the IT updates at BYU faster and safer. His first job with Ruby on Rails Charles then lands a job with Mozy, the popular online backup service. Mozy’s systems were all running with Ruby on Rails and Charles worked as Technical Support. Mozy gets publicity in The Wall Street Journal, increasing the Technical Support workload. Charles then writes a Ruby on Rails system that created a smoother flow when cycling through emails. He soon added extra features like canned responses and a way to measure how often canned responses were sent as a way to highlight any particular issues Mozy was having. Shifting into Podcasting Charles talks about switching from a Management position to a developer track and working with a man name Don, who had an original iPod and listened to podcasts. Introducing him to Rails Envy, a podcast by Jason Seifer and Gregg Pollack. After emailing Gregg, to Charles’ surprise he responds and encourages him to start his own podcast. Charles talks about how he feels his main contribution to the Ruby community is his podcast. Since then he has had a chance to interview some really influential people, including David Heinemeier Hansson, the creator of Ruby on Rails. Outside of the podcast, Charles adds that he has also taken over Teach Me To Code and has contributed a few open source libraries, one connecting to project HoneyPot, as well as contributing indirectly through his other podcast work including JavaScript Jabber, and Adventures in Angular. What are you working on now? Charles talks about hoping to get back into writing open source code and even starting a project. Charles spends most of his time doing ‘businessy’ stuff for the podcast as well as the conferences, currently working on putting together a Ruby Dev Summit. Charles talks about a few new podcast shows he is working on, including bringing some requested content like web application security, React, and Elixir. Charles talks a bit about other things he is involved in at home and creating systems to help him manage his busy workload. Picks Electro-Voice RE20 Microphone Behringer Xenyx 802 Roland EDIROL R-09 ZOOM H6 Audio Technica 2100 GetACoderJob.com Charles’ Links Devchat.tv Charles’ Twitter Devchat.tv’s Twitter Charles GitHub Chuck@devchat.tv
My Ruby Story with Charles Max Wood This week’s episode is a bit different. Charles Max Wood interviews… Charles Max Wood! Hear a bit about how Charles’ grandfather inspired him towards his career in programing, how handling technical support for Mozy somehow led him to writing Ruby code, and hear a bit about what he is working on now! Stay tuned. How did you get into Programming? Charles talks about remembering some of his first programming exposure as far back as second grade. He talks about programming the iconic turtle to move around on the screen and draw shapes. Later on he had more experience in a particular Math class in high school, this time Pascal, then of course the TI-85. Inspired by his Grandfather Charles gives a bit of a background story on his inspiration for taking electronics classes in school, his Grandfather. His Grandfather was an inventor that created various inventions, including tools used in the manufacturing of rocket boosters for the NASA Space Shuttle. Charles became very interested in electronics and took his first electronic class. Electrical engineering in College Charles then attended Brigam Young University majoring in Electrical Engineering, giving him even further chances to experience programming. To Charles, programming seemed fun but didn’t feel serious enough to hold weight as his career. His interest grew in computers. He eventually switches to Computer Engineering and graduates, also picking up a job in the office of information technology at BYU. Programming gets more serious Charles talks about how programming in college tended to lean towards games and fun projects, and it wasn’t until after college that the projects that he got involved with felt as if the work he was doing meant something. From building a system to help college students find apartments that fit their needs, to Bash scripts that made some of the IT updates at BYU faster and safer. His first job with Ruby on Rails Charles then lands a job with Mozy, the popular online backup service. Mozy’s systems were all running with Ruby on Rails and Charles worked as Technical Support. Mozy gets publicity in The Wall Street Journal, increasing the Technical Support workload. Charles then writes a Ruby on Rails system that created a smoother flow when cycling through emails. He soon added extra features like canned responses and a way to measure how often canned responses were sent as a way to highlight any particular issues Mozy was having. Shifting into Podcasting Charles talks about switching from a Management position to a developer track and working with a man name Don, who had an original iPod and listened to podcasts. Introducing him to Rails Envy, a podcast by Jason Seifer and Gregg Pollack. After emailing Gregg, to Charles’ surprise he responds and encourages him to start his own podcast. Charles talks about how he feels his main contribution to the Ruby community is his podcast. Since then he has had a chance to interview some really influential people, including David Heinemeier Hansson, the creator of Ruby on Rails. Outside of the podcast, Charles adds that he has also taken over Teach Me To Code and has contributed a few open source libraries, one connecting to project HoneyPot, as well as contributing indirectly through his other podcast work including JavaScript Jabber, and Adventures in Angular. What are you working on now? Charles talks about hoping to get back into writing open source code and even starting a project. Charles spends most of his time doing ‘businessy’ stuff for the podcast as well as the conferences, currently working on putting together a Ruby Dev Summit. Charles talks about a few new podcast shows he is working on, including bringing some requested content like web application security, React, and Elixir. Charles talks a bit about other things he is involved in at home and creating systems to help him manage his busy workload. Picks Electro-Voice RE20 Microphone Behringer Xenyx 802 Roland EDIROL R-09 ZOOM H6 Audio Technica 2100 GetACoderJob.com Charles’ Links Devchat.tv Charles’ Twitter Devchat.tv’s Twitter Charles GitHub Chuck@devchat.tv
RR 314 DynamoDB on Rails with Chandan Jhunjhunwal Today's Ruby Rogues podcast features DynamoDB on Rails with Chandan Jhunjhunwal. DynamoDB is a NoSQL database that helps your team solve managing infrastructure issues like setup, costing and maintenance. Take some time to listen and know more about DynamoDB! [00:02:18] – Introduction to Chandan Jhunjhunwal Chanchan Jhunjhunwal is an owner of Faodail Technology, which is currently helping many startups for their web and mobile applications. They started from IBM, designing and building scalable mobile and web applications. He mainly worked on C++ and DB2 and later on, worked primarily on Ruby on Rails. Questions for Chandan [00:04:05] – Introduction to DynamoDB on Rails I would say that majority of developers work in PostgreSQL, MySQL or other relational database. On the other hand, Ruby on Rails is picked up by many startup or founder for actually implementing their ideas and bringing them to scalable products. I would say that more than 80% of developers are mostly working on RDBMS databases. For the remaining 20%, their applications need to capture large amounts of data so they go with NoSQL. In NoSQL, there are plenty of options like MongoDB, Cassandra, or DynamoDB. When using AWS, there’s no provided MongoDB. With Cassandra, it requires a lot of infrastructure setup and costing, and you’ll have to have a team which is kind of maintaining it on a day to day basis. So DynamoDB takes all those pain out of your team and you no longer have to focus on managing the infrastructure. [00:07:35] – Is it a good idea to start with a regular SQL database and then, switch to NoSQL database or is it better to start with NoSQL database from day one? It depends on a couple of factors. For many of the applications, they start with RDBMS because they just want to get some access, and probably switch to something like NoSQL. First, you have to watch the incoming data and their capacity. Second is familiarity because most of the developers are more familiar with RDBMS and SQL queries. For example, you have a feed application, or a messaging application, where you know that there will be a lot of chat happening and you’d expect that you’re going to take a huge number of users. You can accommodate that in RDBMS but I would probably not recommend that. [00:09:30] Can I use DynamoDB as a caching mechanism or cache store? I would not say replacement, exactly. On those segments where I could see that there’s a lot of activity happening, I plugged in DynamoDB. The remaining part of the application was handled by RDBMS. In many applications, what I’ve seen is that they have used a combination of them. [00:13:05] How do you decide if you actually want to use DynamoDB for all the data in your system? The place where we say that this application is going to be picked from day one is where the number of data which will be coming will increase. It also depends on the development team that you have if they’re familiar with DynamoDB, or any other NoSQL databases. [00:14:50] Is DynamoDB has document store or do you have of columns? You can say key value pairs or document stores. The terminologies are just different and the way you design the database. In DynamoDB, you have something like hash key and range key. [00:22:10] – Why don’t we store images in the database? I would say that there are better places to store the, which is faster and cheaper. There are better storage like CDN or S3. Another good reason is that if you want to fetch a proper size of image based on the user devices screen, resizing and all of the stuff inside the database could be cumbersome. You’ll repeat adding different columns where we’ll be storing those different sizes of images. [00:24:40] – Is there a potentially good reason for NoSQL database as your default go-to data store? If you have some data, which is complete unstructured, if you try to store back in RDBMS, it will be a pain. If we talk about the kind of media which gets generated in our day to day life, if you try to model them in a relational database, it will be pretty painful and eventually, there will be a time when you don’t know how to create correlations. [00:28:30] – Horizontally scalable versus vertically scalable In vertically scalable, when someone posts, we keep adding that at the same table. As we add data to the table, the database size increases (number of rows increases). But in horizontally scalable, we keep different boxes connected via Hadoop or Elastic MapReduce which will process the added data. [00:30:20] – What does it take to hook up a DynamoDB instance to a Rails app? We could integrate DynamoDB by using the SDK provided by AWS. I provided steps which I’ve outlined in the blog - how to create different kinds of tables, how to create those indexes, how to create the throughput, etc. We could configure AWS SDK, add the required credential, then we could create different kinds of tables. [00:33:00] – In terms of scaling, what is the limit for something like PostgreSQL or MySQL, versus DynamoDB? There’s no scalability limit in DynamoDB, or any other NoSQL solutions. Picks David Kimura CorgUI Jason Swett Database Design for Mere Mortals Charles Maxwood VMWare Workstation GoCD Ruby Rogues Parley Ruby Dev Summit Chandan Jhunjhunwal Twitter @ChandanJ chandan@faodailtechnology.com
RR 314 DynamoDB on Rails with Chandan Jhunjhunwal Today's Ruby Rogues podcast features DynamoDB on Rails with Chandan Jhunjhunwal. DynamoDB is a NoSQL database that helps your team solve managing infrastructure issues like setup, costing and maintenance. Take some time to listen and know more about DynamoDB! [00:02:18] – Introduction to Chandan Jhunjhunwal Chanchan Jhunjhunwal is an owner of Faodail Technology, which is currently helping many startups for their web and mobile applications. They started from IBM, designing and building scalable mobile and web applications. He mainly worked on C++ and DB2 and later on, worked primarily on Ruby on Rails. Questions for Chandan [00:04:05] – Introduction to DynamoDB on Rails I would say that majority of developers work in PostgreSQL, MySQL or other relational database. On the other hand, Ruby on Rails is picked up by many startup or founder for actually implementing their ideas and bringing them to scalable products. I would say that more than 80% of developers are mostly working on RDBMS databases. For the remaining 20%, their applications need to capture large amounts of data so they go with NoSQL. In NoSQL, there are plenty of options like MongoDB, Cassandra, or DynamoDB. When using AWS, there’s no provided MongoDB. With Cassandra, it requires a lot of infrastructure setup and costing, and you’ll have to have a team which is kind of maintaining it on a day to day basis. So DynamoDB takes all those pain out of your team and you no longer have to focus on managing the infrastructure. [00:07:35] – Is it a good idea to start with a regular SQL database and then, switch to NoSQL database or is it better to start with NoSQL database from day one? It depends on a couple of factors. For many of the applications, they start with RDBMS because they just want to get some access, and probably switch to something like NoSQL. First, you have to watch the incoming data and their capacity. Second is familiarity because most of the developers are more familiar with RDBMS and SQL queries. For example, you have a feed application, or a messaging application, where you know that there will be a lot of chat happening and you’d expect that you’re going to take a huge number of users. You can accommodate that in RDBMS but I would probably not recommend that. [00:09:30] Can I use DynamoDB as a caching mechanism or cache store? I would not say replacement, exactly. On those segments where I could see that there’s a lot of activity happening, I plugged in DynamoDB. The remaining part of the application was handled by RDBMS. In many applications, what I’ve seen is that they have used a combination of them. [00:13:05] How do you decide if you actually want to use DynamoDB for all the data in your system? The place where we say that this application is going to be picked from day one is where the number of data which will be coming will increase. It also depends on the development team that you have if they’re familiar with DynamoDB, or any other NoSQL databases. [00:14:50] Is DynamoDB has document store or do you have of columns? You can say key value pairs or document stores. The terminologies are just different and the way you design the database. In DynamoDB, you have something like hash key and range key. [00:22:10] – Why don’t we store images in the database? I would say that there are better places to store the, which is faster and cheaper. There are better storage like CDN or S3. Another good reason is that if you want to fetch a proper size of image based on the user devices screen, resizing and all of the stuff inside the database could be cumbersome. You’ll repeat adding different columns where we’ll be storing those different sizes of images. [00:24:40] – Is there a potentially good reason for NoSQL database as your default go-to data store? If you have some data, which is complete unstructured, if you try to store back in RDBMS, it will be a pain. If we talk about the kind of media which gets generated in our day to day life, if you try to model them in a relational database, it will be pretty painful and eventually, there will be a time when you don’t know how to create correlations. [00:28:30] – Horizontally scalable versus vertically scalable In vertically scalable, when someone posts, we keep adding that at the same table. As we add data to the table, the database size increases (number of rows increases). But in horizontally scalable, we keep different boxes connected via Hadoop or Elastic MapReduce which will process the added data. [00:30:20] – What does it take to hook up a DynamoDB instance to a Rails app? We could integrate DynamoDB by using the SDK provided by AWS. I provided steps which I’ve outlined in the blog - how to create different kinds of tables, how to create those indexes, how to create the throughput, etc. We could configure AWS SDK, add the required credential, then we could create different kinds of tables. [00:33:00] – In terms of scaling, what is the limit for something like PostgreSQL or MySQL, versus DynamoDB? There’s no scalability limit in DynamoDB, or any other NoSQL solutions. Picks David Kimura CorgUI Jason Swett Database Design for Mere Mortals Charles Maxwood VMWare Workstation GoCD Ruby Rogues Parley Ruby Dev Summit Chandan Jhunjhunwal Twitter @ChandanJ chandan@faodailtechnology.com
RR 314 DynamoDB on Rails with Chandan Jhunjhunwal Today's Ruby Rogues podcast features DynamoDB on Rails with Chandan Jhunjhunwal. DynamoDB is a NoSQL database that helps your team solve managing infrastructure issues like setup, costing and maintenance. Take some time to listen and know more about DynamoDB! [00:02:18] – Introduction to Chandan Jhunjhunwal Chanchan Jhunjhunwal is an owner of Faodail Technology, which is currently helping many startups for their web and mobile applications. They started from IBM, designing and building scalable mobile and web applications. He mainly worked on C++ and DB2 and later on, worked primarily on Ruby on Rails. Questions for Chandan [00:04:05] – Introduction to DynamoDB on Rails I would say that majority of developers work in PostgreSQL, MySQL or other relational database. On the other hand, Ruby on Rails is picked up by many startup or founder for actually implementing their ideas and bringing them to scalable products. I would say that more than 80% of developers are mostly working on RDBMS databases. For the remaining 20%, their applications need to capture large amounts of data so they go with NoSQL. In NoSQL, there are plenty of options like MongoDB, Cassandra, or DynamoDB. When using AWS, there’s no provided MongoDB. With Cassandra, it requires a lot of infrastructure setup and costing, and you’ll have to have a team which is kind of maintaining it on a day to day basis. So DynamoDB takes all those pain out of your team and you no longer have to focus on managing the infrastructure. [00:07:35] – Is it a good idea to start with a regular SQL database and then, switch to NoSQL database or is it better to start with NoSQL database from day one? It depends on a couple of factors. For many of the applications, they start with RDBMS because they just want to get some access, and probably switch to something like NoSQL. First, you have to watch the incoming data and their capacity. Second is familiarity because most of the developers are more familiar with RDBMS and SQL queries. For example, you have a feed application, or a messaging application, where you know that there will be a lot of chat happening and you’d expect that you’re going to take a huge number of users. You can accommodate that in RDBMS but I would probably not recommend that. [00:09:30] Can I use DynamoDB as a caching mechanism or cache store? I would not say replacement, exactly. On those segments where I could see that there’s a lot of activity happening, I plugged in DynamoDB. The remaining part of the application was handled by RDBMS. In many applications, what I’ve seen is that they have used a combination of them. [00:13:05] How do you decide if you actually want to use DynamoDB for all the data in your system? The place where we say that this application is going to be picked from day one is where the number of data which will be coming will increase. It also depends on the development team that you have if they’re familiar with DynamoDB, or any other NoSQL databases. [00:14:50] Is DynamoDB has document store or do you have of columns? You can say key value pairs or document stores. The terminologies are just different and the way you design the database. In DynamoDB, you have something like hash key and range key. [00:22:10] – Why don’t we store images in the database? I would say that there are better places to store the, which is faster and cheaper. There are better storage like CDN or S3. Another good reason is that if you want to fetch a proper size of image based on the user devices screen, resizing and all of the stuff inside the database could be cumbersome. You’ll repeat adding different columns where we’ll be storing those different sizes of images. [00:24:40] – Is there a potentially good reason for NoSQL database as your default go-to data store? If you have some data, which is complete unstructured, if you try to store back in RDBMS, it will be a pain. If we talk about the kind of media which gets generated in our day to day life, if you try to model them in a relational database, it will be pretty painful and eventually, there will be a time when you don’t know how to create correlations. [00:28:30] – Horizontally scalable versus vertically scalable In vertically scalable, when someone posts, we keep adding that at the same table. As we add data to the table, the database size increases (number of rows increases). But in horizontally scalable, we keep different boxes connected via Hadoop or Elastic MapReduce which will process the added data. [00:30:20] – What does it take to hook up a DynamoDB instance to a Rails app? We could integrate DynamoDB by using the SDK provided by AWS. I provided steps which I’ve outlined in the blog - how to create different kinds of tables, how to create those indexes, how to create the throughput, etc. We could configure AWS SDK, add the required credential, then we could create different kinds of tables. [00:33:00] – In terms of scaling, what is the limit for something like PostgreSQL or MySQL, versus DynamoDB? There’s no scalability limit in DynamoDB, or any other NoSQL solutions. Picks David Kimura CorgUI Jason Swett Database Design for Mere Mortals Charles Maxwood VMWare Workstation GoCD Ruby Rogues Parley Ruby Dev Summit Chandan Jhunjhunwal Twitter @ChandanJ chandan@faodailtechnology.com