Ruby Rogues

Ruby Rogues

Download on the App Store

Ruby Rogues episodes

  • RR 325: Date Night with Ruby with Ruberto Paulo
    Tweet this EpisodeRR 325 Date Night with Ruby with Ruberto PauloIn 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 sceneRubyist 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 RubyRuberto is speaking at Ruby Dev Summit about Date Night with Ruby.More show notes in progress Special Guest: Ruberto Paulo.

    Advertising Inquiries: https://redcircle.com/brands

    Privacy & Opt-Out: https://redcircle.com/privacy

    Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
    1 hr 21 min
  • MRS 017 My Ruby Story Hal Fulton
    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
      • 38 min
      • RR 324: Developer Horror Stories
        RR 324: Developer Horror StoriesThe 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 StoryAround 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’ StoryCharles’ 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] ErrorsErrors 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 SoonEric 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 RequestsDave 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] MigrationDave 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.PicksDave:
        • 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


        Advertising Inquiries: https://redcircle.com/brands

        Privacy & Opt-Out: https://redcircle.com/privacy

        Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
        52 min
      • MRS 015 My Ruby Story Marc-Andre Cournoyer
        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
          • 50 min
          • RR 323: Queuing and Amazon SQS with Kinsey Ann Durham
            RR 323: Queuing and Amazon SQS with Kinsey Ann DurhamThis 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 DurhamKinsey 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 SQSGo 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.PicksEric: 
            • 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
            Special Guest: Kinsey Ann Durham.

            Advertising Inquiries: https://redcircle.com/brands

            Privacy & Opt-Out: https://redcircle.com/privacy

            Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
            12 min
          • MRS 014 My Ruby Story Amir Rajan
            MRS 015 Amir Rajan

            Today's episode is a My Ruby Story with Amir Rajan. He was on Episode 272 of Ruby Rogues. Amir talked about where he used Ruby and how he got into RubyMotion. Listen to learn more about Amir!

            [01:40] – Introduction to Amir Rajan

            He was on episode 272 of Ruby Rogues and he talked about Game Development and RubyMotion. That was in August 2016.

            [06:35] – How did you get into programming?

            Amir had his Intel 80386 and was trying to install Win Commander on it. It came with this green booklet that says “cd C: /…”. He installed that exe command but he didn’t have enough space on the computer. He ended up deleting the operating system – Windows 3.1. He reinstalled it myself and he thought that was programming.

            His first exploration in programming was actually a business development course like a business programming course. They’ve built applications using Visual Basic 4 and 5 but he didn’t understand the concept of variables.

            After that, StarCraft 2 came out. That was around 1998. It has a map editor so you can actually create your own campaigns. You have to use a scripting event-based quasi-DSL to get that working. That was when Amir started looking at C, C++ and Visual Studio 6.0. He had to go to the library because a lot of information wasn’t readily available online. He also got some dummies book and random C++ books but he still didn’t understand programming. He already figured out variables but he didn’t understand functions. What he was doing is output a void method, throw an exception, and catch it in the parent code to get the return value.

            Amir went to college and got a degree in Software Engineering in Computer Science. He entered the work force doing Visual Basic 6.0 and SQL server. His SQL jobs involve taking forms over data and everything was stored and back-end processed. It was a payroll company, payroll insurance so there was an immense amount of time card tracking, clock in, clock out, all done in SQL. Visual Basic was used to get the data, store them in record sets, send them into the database, and do all their processing there. He stayed on the .NET stack. His career was built on converting legacy applications to the next version of Microsoft tech.

            It was not until 2010 that Amir actually started using Ruby. In 2010, the way he ended up using Ruby was actually built automation for .NET projects. All his Ruby-isms came from trying to codify build automation in Rake. He also did Rails for 8 months. He looked at Rails to see how they handled some of their attributes for shoveling across JSON from different areas or things out of the database.

            [22:00] – Did you continue working on .NET and just use Ruby where it made sense?

            Where Ruby fit in was basically when Amir wanted to build automation or he wanted to test his REST API. Trying to use HTTP client requires a strong type DTO to map to. He had a ton of Rake scripts that would make tons of HTTP calls do link from hypermedia and get additional information. He used Ruby to cut all that up and potentially make changes just over an HTTP endpoint. He has an endpoint that could reset himself as an administrator or open up some management studio to execute some stuff. It ended up an efficiency tool.

            [24:15] – How did you get into RubyMotion?

            Around 2013 is where Amir started getting this identity crisis about the languages he’s used. He started getting into Ruby and that means getting into Shell scripts, more Linux environments. Linux and Ruby are better than any of the .NET he’s done. There seems to be a more open mentality to approach and solve problems that aren't specifically related to some higher governing authority telling him how to write software. At that point, he needed to take a break and reflect on where he wanted his career to go. That’s when he stepped back from doing .NET. He bought a Mac and did things that are not .NET. During that first three-month period, he was in an exploration of Ruby.

            Picks

            Amir Rajan

            • Twitter: @amirrajan
            • community.rubymotion.com
            • Mobile game: Mini Metro
            • Mobile game: Alto’s Adventure
            • Mobile game: Doug dug.
            • Charles Max Wood

              • Quora
              • Ionic framework
              • Udemy
                •  
                • 57 min
                • RR 322 Finding a Great Job
                  RR 322: Finding a Great JobThis episode of Ruby Rogues the panel is Dave Kimura and Charles Max Wood. They discuss Finding a Good Developer Job. Tune in to learn more about this topic![00:02:08] Internal Clock With JobsDave believes that within the developer community, people have a one to two year internal clock. This clock tells them it is “time to find another job.” It confuses him that people go through jobs in a short amount of time. He explains that this is largely due to the on boarding time: it takes a while for developers to go through this process.Charles has switched jobs more frequently than Dave. He explains that his internal clock has been set of either by necessity or simply it being time to move. His reasons for switching jobs have been due to him not being happy and there being a substantial pay raise that he could not afford to turn down. He believes employers need to do more to keep people engaged because it is a loss to get somebody up to speed then have them leave.[00:08:30] Developers Want ChallengesPeople he knows that are in the development career are there for challenges. A lot of them he speaks with state they get to where they aren’t being challenged. Their employer won’t invest in helping them get to the next level, whether it is paying for trainings or conferences. People he has interviewed said that when they are starting to switch, it is for growth.[00:11:12] Are you encouraged to or allowed to figure out how to do things better at work?Dave said that because he’s over the project, he is able to do so. He tells others he works with to do the same. He doesn’t look at it as wasted time, but as time that is spent getting better. This time will be made up when the information learned is used later on with different projects with the company.[00:13:40] Self-care Some companies are short sighted and want employees to spend the least amount of time possible doing things. Most successful teams are developers that want to feel like part of the team. You need developers to believe in the mission and the team. If your manager is telling you to work 80 hours a week something is wrong. It is healthy for a company to recognize limitations.The humane development principle that Ernie Miller that says developers are humans, not machines. Often managers forget developers are humans. They need to be treated as people. Companies have to give them downtime. They have to take care of themselves.[00:20:00] What do you tell people to do if they feel burnt out?First look and assess the situation. Is the issue a self induced issue? Or is the employer forced this issue onto you? Misunderstandings can occur. Communicate with your boss to discuss the issue. Sometimes, it’s a simple that you like your job and push it too far.Learning boundaries are important. There needs to be a physical separation between work and relaxation area. There also needs to be boundaries around your time. Schedule work time as well as family time. Don’t break your own boundaries!Planning is important. What can you fit into the schedule? There is almost a guarantee that you will work too much if you don’t schedule. Backlog items that you want to accomplish. Meet with your team about it. Once you have a plan, don’t exceed what you plan. This will show you whether you are working too much or not enough.[00:28:40] MentorsIt is important to find a mentor. Learning is your responsibility. It only benefits you and your career. The company’s benefit is a side affect of your effort. Your company may not have the resources to help you. Where you will find a mentor is worth considering when you take a job. There are many resources for finding good mentors. railsmentor.org is one for the Ruby community.Dave doesn’t have a mentor but highly advises getting one. He believes that you can be your own mentor if you have a self-teaching capability. It is just a harder way to go. Charles has a mentor. Business people will pay for coaching. He suggests eventualmillionaire.com to check out a business coach he recommends.[00:36:54] How to Get Hired Dave suggests forgetting about job titles when looking for jobs because they are meaningless. Instead, focus on the skill set that the company is looking for. If you expect a company to continue your learning, you’ll always have a junior mentality: you will be a “professional junior.” Development is a career that requires constant education because there will always be new stuff. Companies want someone useful to them who will turn a profit. They want to use you. Sell yourself to them.Companies have a problem and they want you to solve it. You have to show them that you’re the person who can solve the problem in a way that makes it work for them. There is a wish list of technical skills companies have, but that doesn’t mean you have to check every box. They want the right person to solve the problem efficiently and quickly, and be a pleasant person.There is a list of questions that Dave prepares to ask in interviews that he tailors towards each candidate. He doesn’t want to make candidates feel attacked. If they are hired for the company, they’ll have a bad taste in their mouth. He also doesn’t like tests given. Instead, he wants to know how a candidate thinks. He makes sure to ask, “What is your process in coming to an answer?”[00:49:50] Third-party RecruitersThey do not pay attention to resumes they see. They use different tactics to try to suck you in – one is to insult you, while another is to try to hire another person through you. Dave has a policy to not talk to third-party recruiters. They do not know the client they are working for.[00:54:45] NetworkingGet to know other people in the field. People will help you get jobs. Can hunt job boards but it is not as effective as having contacts. Know someone who works at the company doing the thing that you want to do. A personal referral goes a long way. When someone goes to bat for you, it’s because they believe you will do a good job. Companies will not take that lightly.[00:58:50] ResumesTake the time to do your resume right. It is the first impression you make on an employer. That first opinion they have about you will be hard to change. A resume should be grammatically correct, relevant, and updated. Customize and personalize your resume to the company that you are sending it to.PicksDave:
                  • Fidget Spinner
                  Charles 
                  • The Miracle Morning by Hal Elrod 
                  • The Daily Lasagna YouTube 
                  • 2 Keto Dudes 
                  • www.ruled.me 
                  • Living La Vida Low Carb Show with Jimmy Moore
                  • Ketoclarity 
                  Links
                  • Eventual Millionaire 
                  • https://www.railsmentors.org/
                  • getacoderjob.com


                  Advertising Inquiries: https://redcircle.com/brands

                  Privacy & Opt-Out: https://redcircle.com/privacy

                  Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
                  1 hr 11 min
                • MRS 014 My Ruby Story Noel Rappin
                  MRS 014 Noel Rappin

                  Today's episode is a My Ruby Story with Noel Rappin. Noel talked about his contributions to the Ruby community and how they explore new technologies like Elixir. Listen to learn more about Noel!

                  [00:01:40] – Introduction to Noel Rappin

                  Noel is in episodes 30, which was about Software Craftsmanship. He was also on episode 185, which was about Rails 4 Test Prescriptions. And then, the latest one was 281, which was about Take My Money.

                  [00:02:45] – How did you get into programming?

                  Noel is a stereotypical nerdy kid so he started programming when he was young. He had afterschool classes in Applesoft BASIC at a place near their house. He had TRS-80 and Texas Instruments, and a couple of other things.

                  [00:03:35] – Computer Science degree

                  Noel has a Computer Science degree and a Ph.D. from the College of Computing at Georgia Tech, which was in the intersection of user interface design and Ed tech. He was designing interfaces for teaching, specifically for teaching engineers and developers.

                  [00:04:15] – How did you get into Ruby?

                  Noel came out of grad school immediately and went to a small web development company. He started hearing about Rails in about 2005. Having been one of the people who have done a lot of the Java-Struts web development that Rails was created in opposition to, Noel searched it up pretty quickly. But he started using it in 2005 or 2006 for some internal tools for his team.

                  He built a test tracker and other things that his team is using internally. He built a couple of web apps for them to collaborate because they were working with some developers in Poland. And as he got comfortable with it, he contracted to do a Ruby on Rails book and got a full-time professional Ruby job.

                  [00:06:30] – What is it about Ruby that got you excited?

                  Noel has always like scripting languages and dynamic languages. He did a lot of work on Python for a while. It was extraordinary how quickly you do things in Rails compared to Java tools, even compared to Django, which was more or less contemporaneous. Ruby emphasized testing and Rails was very similar to some of the tools that he was building in Python.

                  [00:08:50] – Books and contributions to the Ruby community

                  Noel had a book which was out of date, 30 to 40 seconds after it was published. It’s normal in this industry. Sometime after that, he started publishing Rails Test Prescriptions and submitted it to the Pragmatic Bookshelf, and they purchased it. They published Rails Test Prescription 6 years. After that, he did a series of self-published JavaScript books called Master Space and Time with JavaScript.

                  They are also out of date but they’re free now. He also did a self-published book about projects called Trust-Driven Development that you can still get. He did a book about purchasing, handling money and web purchases, and mostly this API called Take My Money, which came out last summer.

                  Noel is currently working on a Rails 5 Test Prescriptions, which will include all the new Rails 5.1. It will come out this fall.

                  [00:10:35] – Table XI

                  Noel works at Table XI, which is a web consulting firm in Chicago with about 35 people. They do Rails development, websites, mobile development and a lot of React Native development. They build websites for companies that are not web software companies but companies that need web pages like non-profit or start-ups. They like to focus on solid business problems in software, rather than technology problems in software.

                  [00:11:15] – What are you working on these days?

                  Noel has his own podcast called Tech Done Right. The latest episode was with Michael Feathers. There is also an episode with somebody who is in charge of the Medicare Program under President Obama, who was actually the person who was called in to fix healthcare.gov and had some interesting stories about what that was like from a software manager perspective.

                  From the development side, Noel has been doing a lot of Rails development, some JavaScript development, building purchase-sides for nonprofit, and doing a lot of upgrade work recently.

                  [00:12:40] – Rails upgrades story

                  This upgrade was for a Rails 2 application that was still in active development. The Rails community, at one point, was so bad at managing upgrades. And now, it does seem like the community has gotten better at managing new tools without breaking old ones. The security needs have pushed people towards the best practices.

                  [00:14:15] – Ruby and Elixir

                  Like a lot of Ruby companies, they’ve been exploring what the next tools are. They ran an Elixir project. It’s originally an internal prototype, which is a great way to get new technologies into the company. They wound up building a small project that was largely API focused. That’s the kind of thing that Rails is not super great at. They’re exploring what to do with front-end because there’s a sharp understanding of what Ruby on Rails is good for and what might be the purview of other tools. Elixir does a couple of things that Ruby doesn’t do very well. A lot of people who start with Ruby can learn a lot from going off to a functional language like Elixir or something that has a pattern-matching type of language like Elixir.

                  Picks

                  Noel Rappin

                  • R programming
                  • Podcast: Tech Done Right
                  • Author: Martha Wells
                  • The Murderbot Diaries by Martha Well
                  • Atom Editor
                  • Audio Hijack
                  • Bear
                  • Twitter @noelrap
                  • noelrappin.com
                  • Charles Max Wood

                    • Mighty Mug
                    • Phrase Express
                    • 27 min
                    • RR 321: Visual Studio Code Ruby Plugin with Penn Lv
                      RR 321: Visual Studio Code Ruby Plugin with Penn LvThis episode of Ruby Rogues features panelists Dave Kimura, Brian Hogan, and Charles Max Wood. Two special guests join the panel today: Eric Barry and Penn Lv. Tune in and learn more about Visual Studio Code’s Ruby Plug-in! [00:01:55] Introduction to Eric Barry
                      Eric turned over Teach Me To Code to Charles, which helped build relationships for Charles that built the Ruby Rogues podcast. Eric is a software engineer who has been working in programming since 1998. He works for Skipio and has been a Ruby on Rails developer for nine years. [00:03:15] Introduction to Penn Lv
                      Penn is a software engineer for Redim. He works on the Ruby extension for Visual Studio Code. This extension deals with enhanced Ruby language support. [4:00] What goes into building a language plug-in/language setup for VS code, what do you have to do in order to make that work in the electron set-up?
                      Usually when you try to build an extension for VS code it is just a NodeJS application. It has nothing to do with electrons; it is just a Node application. Everything is run in a separate process. Just about how to build an extension for VS code.The first category is formatters, or colorization. For both of those you can write plain JavaScript. There are two categories that are difficult: first is de-buggers. The VS code is a set of common UI for de-bugging. Which is language diagnostic. Write an extension and hook up language debug.The second is a language server to write language experience. VS code has a concept called language server protocol. Need to write an extension that follows protocol and tells the VS code about semantic information about your program. [00:06:25] – In order to get some of the nice features for the language you have a Ruby process running somewhere that you talk to in order to do some of the syntax checking?
                      Yes, have to run that in a stand-alone process. It analyzes Ruby, but it can’t run that in Node JS process. [00:06:52] So what’s the goal? What makes the VS code team write a Ruby program?
                      Ruby for VS Code was his ticket to the VS code team. Penn wrote for himself. It is his hobby project. [00:07:32] How many contributors are on the project? Who works with you?
                      It is a community project. There are probably in between 50 to 100 contributors. [00:08:33] What’s your process of knowing what to allow and what not to allow to modify it? How do you know what PRS to accept and how do you stay on top of it?
                      It is challenging to know what to allow. Penn claims to still not be a professional Rubyist. The first step is to run test cases. His way of reviewing code is by downloading the code. He looks into every piece of the code, learns it, and plays around it. If it works, he adds it. [00:10:23] How main PRs do you regularly get and how much time does it take to keep that maintained?
                      Every weekend he goes through everything. He will have maybe five to six VS code extensions and check them thoroughly. [00:13:30] Indentation when blogging in VS code
                      Two months ago he finished a feature dealing with auto indentation. The option for this is called editor.autoindent. Indentation gets adjusted automatically while you type. [00:18:10] Recommendations for plug-ins
                      Charles recommends Emacs key bindings and Penn recommends the VS code extension Vim. [00:21:49] Do you do most of your work in TypeScript?
                      Yes. At the very beginning they were using JavaScript. They were one of the first adopters of TypeScript and are now all TypeScript. [00:22:50] How much of a commitment would it be to add TypeScript to an existing project?
                      The setup of TypeScript is not easy. If you are using a NodeJS application and they have TypeScript or typing support there is no specific thing that needs to be done to make it happen. In VS code there is a feature called automatic type acquisition. If creating a new project that uses an express package, which already has a typing file for it. VS code provides you with auto complete. Also don’t need to worry about typescript file if you are not going to create a library. Can do TypeScript gradually. [00:26:16] What do you see that’s left to do in the Ruby plug-in?
                      A language server is the missing part. [00:27:35] Is that currently being done in other editors?
                      No one does that right now. RubyMine has the best support currently. [00:28:13] Does your work translate to Atom as well?
                      Atom has basic support for Ruby but it is just about colorization, indentation, and formatters. Everyone is waiting for a language server for Ruby. [00:31:38] If you have multiple languages or modes that you have to handle within the same file how do you set up VS code to handle that?
                      Users cannot customize that. A language support extension has to handle that. [00:34:50] What is the font that you use in VS code?
                      Source code pro [00:35:08] If people want to give this a try, what are the best ways to do that?
                      First go to code.visualstudio.com. Then, install VS code. At the welcome page instructions will show you how to use the command palate, give you an interactive playground, and show the best place to get familiar with everything. The welcome page also has links: one is VS tips and tricks, which are shared by the community. There is a Youtube channel, which shows how to make VS Code productive. [00:36:32] If someone is working on an esoteric language and there is no support in there language in VS code yet. Where would you recommend they start?
                      There is a docs session on the website that tells you how to write extensions for VS Code. Penn thinks if you build a debugger it is most difficult. There needs to be an understanding of real debuggers. Look at some of existing debugger, understand how they read source code, get an understanding from there. [00:38:22] Was there an extension that you used as a model while writing the Ruby extension for VS code that you recommend people look at?
                      First looked at Python. Then switched to PHP, which is pretty similar to the Ruby extension. The protocol is very similar. That’s how he learned to make the Ruby extension. [00:40:58] If people want to contribute, is there a GitHub they can go look at?
                      The organization name is Ruby IDE and GitHub name is vscode-ruby. There is a Wiki Page on how to setup and explain concepts behind everything. [00:41:22] How long did it take you to get the plug-in till it was publicly useable?
                      A couple of hours. He was at his girlfriend’s parent’s house bored, got a job with VS code because of it. [00:44:40] What’s your biggest sales pitch for VS code?
                      Compared to some of competitors, VS code is fast. The best part of VS code is that it is open source. Everything is on GitHub, including issues and user feedback. Users know every issue that is being worked out. All information is open to users. Can file an issue and they will respond immediately. [00:47:00] Are there plug-ins for other languages?
                      There is an elm plug-in.Picks Dave:
                      • Azure’s cognitive services
                      Brian:
                      • OmniFocus
                      Eric:
                      • Hugo
                      • Netlify
                      • Code Sponsor
                      Charles:
                      • Building stairs
                      • Upwork
                      Penn:
                      • The Text Editor Sam by Rob Pike
                      • Ruby Weekly
                      Special Guest: Penn Lv.

                      Advertising Inquiries: https://redcircle.com/brands

                      Privacy & Opt-Out: https://redcircle.com/privacy

                      Become a supporter of this podcast: https://www.spreaker.com/podcast/ruby-rogues--6102073/support.
                      58 min
                    • MRS 013 My Ruby Story Dave Thomas
                      MRS 013 – Dave Thomas

                      This episode is a My Ruby Story with Dave Thomas. Dave has spoken about Elixir at two Ruby Remote Confs. He challenges the way people think about the way they do code. Listen to learn more about Dave!

                      [00:02:42] How did you get into programming?

                      Dave first got into programming when he was attending school in England. At the age of sixteen everyone takes national tests. A group of friends and Dave took these tests early so they did not have classes to take spring semester. Their school decided to send them to take a computer science class at a nearby technical college. There he fell in love with programming and decided to switch his focus in college. He went to Imperial College, where computer science was a brand new degree: it was only in the second year of being offered.

                      [00:05:45] How did you get into Ruby?

                      Dave has always been a language nerd. In the 90s you had to be determined to work with computer languages. People posted their compilers on usenet in parts. He downloaded files from this site to play with these languages. In 1997 or 1998, he downloaded Ruby overnight, started playing with it, and fell in love. It was similar to Pearl, which he was using at the time. Dave thought Ruby was easier to work with and it became his language of choice. He wrote a book with Andy Hunt and it became the pickaxe. Dave and some friends set up the first Ruby conference in Florida after the book was released.

                      [00:13:50] Do you feel like we get as many of “breath of fresh air” talks these days in Ruby as we used to?

                      No but that is to be expected. The problems, people, and interest have changed. Ruby has matured and there are fewer people in the community than there used to be.

                      [00:15:23] In terms of this cycle that you're seeing, where would you put Elixir?

                      Elixir is brand new, whereas Ruby had been around a long time. Elixir caught on fast, which was a surprise. People were doing large-scale commercial work in it within eighteen months. There are elements of homesteading going on; a lot of people are coming from Ruby to Elixir trying to tell people how to do it. Dave has been through thing similar to this in the past where he can recognize things that will be potentially harmful to the community and try to stop some of those things happening.

                      [00:22:06] How did you discover Elixir?

                      He came across it twice. The first time was five years ago but he did not really find a use for it. Then a year ago he was doing a Rails course in Virginia with Cory Haynes. He wanted a functional language so that people could better understand functional programming. Cory suggested Elixir and Dave tried it out again that night. He fell in love with the potential of Elixir. It wasn’t an opinionated language, just transparent. Elixir is fast and reliable.

                      [00:29:18] Contributions to the community

                      Dave became one of the people that everyone came to ask about Ruby, which he is proud of because it spread a new way of thinking about programming. He evangelized Ruby and Rails to more than 10,000 people. He has done evangelism just to make programmers happier.

                      [00:36:11] What are you up to now? 

                      He is still trying to help people write code with Elixir in order to help their lives become easier. Dave has created a course on how to write Elixir “Dave Thomas style.”

                      Picks:

                      Dave:

                      He wants people to do their own picks. Think of 3 things that make you proud to be a human being.

                      Links:

                      https://pragdave.me/

                       

                      41 min

                    About Ruby Rogues

                    From the publisher's feed

                    Our original panel podcast, Ruby Rogues is a weekly discussion around Ruby, Rails, software development, and the community around Ruby.

                    Become a supporter of this podcast:

                    More shows like Ruby Rogues

                    The Changelog: Software Development, Open Source by Changelog Media

                    The Changelog: Software Development, Open Source

                    286 Listeners

                    The Ruby on Rails Podcast by David Hill

                    The Ruby on Rails Podcast

                    52 Listeners

                    Adventures in Angular by Charles M Wood

                    Adventures in Angular

                    33 Listeners

                    JavaScript Jabber by Charles M Wood

                    JavaScript Jabber

                    234 Listeners

                    iPhreaks by Charles M Wood

                    iPhreaks

                    17 Listeners

                    React Native Radio by Jamon Holmgren, Robin Heinze, Mazen Chami

                    React Native Radio

                    67 Listeners

                    Nerdland Podcast by Lieven Scheire

                    Nerdland Podcast

                    44 Listeners

                    Adventures in Angular by Charles M Wood

                    Adventures in Angular

                    15 Listeners

                    JavaScript Jabber by Charles M Wood

                    JavaScript Jabber

                    62 Listeners

                    Ruby Rogues by Charles M Wood

                    Ruby Rogues

                    21 Listeners

                    My Angular Story by Charles M Wood

                    My Angular Story

                    0 Listeners

                    My Ruby Story by Charles M Wood

                    My Ruby Story

                    0 Listeners

                    The Diary Of A CEO with Steven Bartlett by DOAC

                    The Diary Of A CEO with Steven Bartlett

                    8,346 Listeners

                    Remote Ruby by Chris Oliver, Andrew Mason, David Hill

                    Remote Ruby

                    34 Listeners

                    Code with Jason by Jason Swett

                    Code with Jason

                    15 Listeners

                    Cautionary Tales with Tim Harford by Pushkin Industries

                    Cautionary Tales with Tim Harford

                    5,073 Listeners

                    The Rest Is History by Goalhanger

                    The Rest Is History

                    15,606 Listeners

                    The Ezra Klein Show by New York Times Opinion

                    The Ezra Klein Show

                    15,899 Listeners

                    The Rest Is Politics: Leading by Goalhanger

                    The Rest Is Politics: Leading

                    833 Listeners