POPULARITY
Panel: Eric Berry Dave Kimura Nate Hopkins Charles Max Wood Special Guest: Vladimir Dem In this episode of Ruby Rogues, the panel talks with Vladimir Dem who is a Ruby developer and currently lives in Brooklyn, New York. Today, the panelists and guest talk about cables, concurrency, and Ruby. Check it out! Show Topics: 0:00 – Advertisement: Sentry.io 1:02 – Chuck: Hello! The panel today is Eric, Dave, Nate, and myself! Our guest is Vlad! 1:30 – Guest: My name is Vladimir, but people call me Vlad. I have been writing Ruby since 2013 for about 4.5 years. Before that I was a PHP, JavaScript developer among other languages. I am mostly Erlang and Ruby now. 2:29 – Panel asks Vlad a question. 3:29 – Guest: Yeah something like that. I call it a different server b/c we still use the code base but we do not do anything related to web sockets and connections. 4:20 – Panel: If you wanted to take a normal action cables setup what steps would you have to go through to convert that over to also use the anycable server? 5:21 – Guest answers the question. 7:31 – Chuck: This sounds complicated and a bit of work. When I look at this I think: I have a tiny app is it worth it? When does it become worth it? 7:52 – Guest: Definitely not for the tiny app. 8:50 – Panel: You use it when it makes sense. Overcomplicating your infrastructure doesn’t make sense. 9:27 – Guest: That’s the idea. 10:28 – Panel. 11:05 – Guest: The question really is how many connections you have and how long-lived they are? 13:09 – Panel: If I move my project over to anycable how much new code am I going to have to write? 13:28 – Guest answers the question. 15:52 – Panel: What’s the update been like for anycable and how many users use anycable? 16:05 – Guest: I really don’t have statistics. I hear people at conferences say that they use anycable, but no real statistics right now. I would like to know these numbers, but no idea. 16:30 – Panel: ...is that the time to consider using anycable? 17:05 – Guest: That’s a good point to make. 18:44 – Panel: How is the initial handshake time with anycable? Is there any difference with anycable in that sense? 19:05 – Guest answers the question. 22:49 – Chuck: Can you define a couple of terms for me? I am hearing terms like: concurrency and real time and others? 23:00 – Guest: Good point. What is real time? The guest continues to define these terms. 28:10 – Fresh Books! 29:10 – Chuck: Ruby 3 is supposed to solve some of these problems. Can you talk about some of those? 29:46 – Guest: Interesting question and I’ve been asked about this before. 35:14 – Panel: Did you say there was some activity around trying to reduce the memory consumption for thread? 35:25 – Guest answers the question. 36:14 – Panel: Vlad, you are spread from backend to fronted and you’ve mentioned Phoenix Live Vue. Can I pick your brain about it? 36:39 – Guest answers the question. 38:48 – Panel: It seems like one of the core tenants is empowering small teams to compete with larger teams. I have high hopes to keep small teams competitive. 39:50 – Guest: Yes, that’s the idea of Rails and Ruby itself to build something and try something and perhaps fail. 40:57 – Panelist mentions Erlang, anycable, and concurrency. 41:14 – Guest: We are working on administration functionality and we want to build something fast. 44:40 – Panel: That’s the interesting thing about turbo links cause I think it was a marketing fail. You have to invest time to learn how to use it and how to use it properly. 45:44 – Guest: I don’t have a good guide for turbo links. 46:00 – Chuck: Anything else we want to talk about? 46:10 – Guest: Two more things I want to mention. 54:02 – Advertisement: Get A Coder Job! 54:35 – Picks! End – Cache Fly! Links: Get a Coder Job Course The DevRev Podcast Show Angular DevChat TV Ruby Elixir Ruby on Rails Angular Cypress Vue React Faye-Websocket-Ruby Anycable EMx 020 Episode Entreprogrammers: Episode 248 Socketry The Rails Doctrine Walmart: Invisible Glass Bose Wireless Headphones Netflix: Newsies / Broadway musical KanbanFlow Advent of Code Heroku Deployment Guest’s Twitter Guest’s Dev.to Guest’s GitHub Sponsors: Sentry CacheFly Fresh Books Picks: Dave Invisible Glass Eric Bose Quiet Comfort Headphones Nate The Rails Doctrine Newsies Charles Kanban Flow EntreProgrammers The pomodoro technique masterhunt.com/devchat Vlad Advent of Code Any Cable
Panel: Eric Berry Dave Kimura Nate Hopkins Charles Max Wood Special Guest: Vladimir Dem In this episode of Ruby Rogues, the panel talks with Vladimir Dem who is a Ruby developer and currently lives in Brooklyn, New York. Today, the panelists and guest talk about cables, concurrency, and Ruby. Check it out! Show Topics: 0:00 – Advertisement: Sentry.io 1:02 – Chuck: Hello! The panel today is Eric, Dave, Nate, and myself! Our guest is Vlad! 1:30 – Guest: My name is Vladimir, but people call me Vlad. I have been writing Ruby since 2013 for about 4.5 years. Before that I was a PHP, JavaScript developer among other languages. I am mostly Erlang and Ruby now. 2:29 – Panel asks Vlad a question. 3:29 – Guest: Yeah something like that. I call it a different server b/c we still use the code base but we do not do anything related to web sockets and connections. 4:20 – Panel: If you wanted to take a normal action cables setup what steps would you have to go through to convert that over to also use the anycable server? 5:21 – Guest answers the question. 7:31 – Chuck: This sounds complicated and a bit of work. When I look at this I think: I have a tiny app is it worth it? When does it become worth it? 7:52 – Guest: Definitely not for the tiny app. 8:50 – Panel: You use it when it makes sense. Overcomplicating your infrastructure doesn’t make sense. 9:27 – Guest: That’s the idea. 10:28 – Panel. 11:05 – Guest: The question really is how many connections you have and how long-lived they are? 13:09 – Panel: If I move my project over to anycable how much new code am I going to have to write? 13:28 – Guest answers the question. 15:52 – Panel: What’s the update been like for anycable and how many users use anycable? 16:05 – Guest: I really don’t have statistics. I hear people at conferences say that they use anycable, but no real statistics right now. I would like to know these numbers, but no idea. 16:30 – Panel: ...is that the time to consider using anycable? 17:05 – Guest: That’s a good point to make. 18:44 – Panel: How is the initial handshake time with anycable? Is there any difference with anycable in that sense? 19:05 – Guest answers the question. 22:49 – Chuck: Can you define a couple of terms for me? I am hearing terms like: concurrency and real time and others? 23:00 – Guest: Good point. What is real time? The guest continues to define these terms. 28:10 – Fresh Books! 29:10 – Chuck: Ruby 3 is supposed to solve some of these problems. Can you talk about some of those? 29:46 – Guest: Interesting question and I’ve been asked about this before. 35:14 – Panel: Did you say there was some activity around trying to reduce the memory consumption for thread? 35:25 – Guest answers the question. 36:14 – Panel: Vlad, you are spread from backend to fronted and you’ve mentioned Phoenix Live Vue. Can I pick your brain about it? 36:39 – Guest answers the question. 38:48 – Panel: It seems like one of the core tenants is empowering small teams to compete with larger teams. I have high hopes to keep small teams competitive. 39:50 – Guest: Yes, that’s the idea of Rails and Ruby itself to build something and try something and perhaps fail. 40:57 – Panelist mentions Erlang, anycable, and concurrency. 41:14 – Guest: We are working on administration functionality and we want to build something fast. 44:40 – Panel: That’s the interesting thing about turbo links cause I think it was a marketing fail. You have to invest time to learn how to use it and how to use it properly. 45:44 – Guest: I don’t have a good guide for turbo links. 46:00 – Chuck: Anything else we want to talk about? 46:10 – Guest: Two more things I want to mention. 54:02 – Advertisement: Get A Coder Job! 54:35 – Picks! End – Cache Fly! Links: Get a Coder Job Course The DevRev Podcast Show Angular DevChat TV Ruby Elixir Ruby on Rails Angular Cypress Vue React Faye-Websocket-Ruby Anycable EMx 020 Episode Entreprogrammers: Episode 248 Socketry The Rails Doctrine Walmart: Invisible Glass Bose Wireless Headphones Netflix: Newsies / Broadway musical KanbanFlow Advent of Code Heroku Deployment Guest’s Twitter Guest’s Dev.to Guest’s GitHub Sponsors: Sentry CacheFly Fresh Books Picks: Dave Invisible Glass Eric Bose Quiet Comfort Headphones Nate The Rails Doctrine Newsies Charles Kanban Flow EntreProgrammers The pomodoro technique masterhunt.com/devchat Vlad Advent of Code Any Cable
Panel: Charles Max Wood Joe Eames Aaron Frost Alyssa Nicoll Special Guests: Brian Love & Kevin Schuchard In this episode, the panelist talk with today’s special guests Brian Love & Kevin Schuchard! Brian and Kevin work at BrieBug – check out their employee profiles here! The panelist and guests talk about schematics, Angular, AST, and much more! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:50 – Chuck: Hello! Our panel today is Joe, Aaron, Alyssa, and myself. We have two guests today, and we are going to talk about schematics. Let’s dive into that! 1:46 – Guest: Schematics is a library that is coming out of Angular and the Angular Team. The guest gives a definition of Angular Schematics. 2:26 – Alyssa. 2:31 – Kevin: The functionality that you are hoping for depends on the CLI that you are on. 3:00 – Alyssa: Sorry for diving into the juicy stuff but we forgot to talk about your introductions! 3:19 – The guests talk about their backgrounds and introduce themselves to the panel and the listeners. 3:49 – Alyssa. 3:54 – Guest continues. 4:21 – Panel: Crazy and busy! 4:28 – Alyssa. 4:31 – Kevin: I am Senior Developer, and I have worked here for a few years. I have had the opportunities to write some schematics for the company and some of my own schematics. 4:53 – Alyssa: Aren’t you so proud that you are a “Senior Developer”?! 5:10 – Guest and panelists go back-and-forth. 6:23 – Guests: We want people to be familiar with schematics and start their journey with schematics. 6:50 – Panel: It’s kind of trippy isn’t that right? 7:00 – Guest: Yeah there are hurdles to learning schematics at first – for sure. 7:22 – Alyssa: What is AST? 7:29 – Guest gives a definition of AST and goes into much detail about this. 10:00 – Alyssa: I think I understand, now, what AST is. Thanks. Alyssa asks the guests a question. 10:14 – Guest answers the question about AST. 10:51 – Guest continues. 11:27 – Panelist is talking about the AST and schematics. 12:03 – Guest: You can read the whole file and using the AST you can figure out where you went to enter the text. 12:25 – Alyssa asks a question. 12:28 – Guest: We are not the developers of schematics, but we are just here to share our knowledge. I want to be super clear here. 13:39 – Panelist talks about schematics, CLI, and AST. 14:18 – Guest: You don’t have to know all about AST and everything there is to know to get into it. You can build schematics w/o getting into AST. Just to be clear. 14:39 – Alyssa asks a follow-up question. 14:41 – Guest continues. 15:57 – Guest: AST has been around for a while – it’s not a new thing it’s kind of an old thing. Guest talks about tools (Code Shift) that Facebook has built that is related to this topic. 17:22 – Guest: Yeah AST has been around for a while. 17:28 – Alyssa asks a question about Code Shift. 17:36 – Guest. 18:21 – Panel and guest go back-and-forth. 19:51 – Alyssa: You said you really don’t need to get into AST to do schematics – right? (Yes.) Alyssa asks a question. 20:19 – Guest: There are two pieces with schematics and that’s adding of new files and you can decide which pieces of the templates you want to be compiled. 21:58 – Chuck: For schematics you mentioned you could drop strings in. Chuck asks a question. 22:29 – Guest answers the question with a hypothetical situation. 23:09 – Chuck: I read the article you wrote and I have a question about your article. Tell me about the tree? 23:29 – Guest talks about the tree or aka the host. 25:40 – Guest: The tree is a virtual kind of context and it’s not committing all of the changes to the file system. Whether that is adding, deleting, or updating these files. 26:10 – Chuck: Makes sense to me. 26:15 – Guest continues talking about schematics. 26:53 – Alyssa: Yeoman is a replacement for schematics? 27:05 – Guest: It’s a lightweight alternative. 27:33 – Advertisement: Angular Boot Camp 28:10 – Chuck: How does one build a schematic? 28:16 – Guest answers the question. 30:34 – Panel: What’s the latest thing you’ve built? Talk about that, please. 30:40 – Guest: It’s a schematic and took what we’ve learned to set you up for a starter project. It starts with a blank project. 32:57 – Panel: You are just talking some lessons learned and you are saying this is how Kevin says to do it. You’ve packaged that up 33:26 – Guest: Yep I have found things that work and there isn’t any magic but put these practices together and made a repository to help testing and making schematics. 33:55 – Panel and guests go back-and-forth. 34:20 – Chuck: Let’s say I’ve built this schematic and Frosty wants to share it with his friends. How do we do that? How do you share it? Is there some component that you’ve built? 35:06 – Guest: It depends on what you are doing with it. 36:14 – Chuck: For mass production, though? 36:25 – Guest: I think Chuck is wondering about discoverability. Guest continues and he mentions prettier, extensions, among other things. 37:18 – Guest: I think it’s my favorite about schematics and it’s Kevin’s. 37:40 – Guest. 38:20 – Guest continues talking about schematics and ng-conf. 38:57 – Guest talks about libraries. 40:12 – Chuck: Anything else? Do you NPM install it and it’s just there? 40:29 – Guest: There are 2 ways to go about it. 53:05 – Fresh Books! END – CacheFly! Links: Vue jQuery Angular JavaScript Python React Cypress Yeoman Apache Groovy GitHub: prettier NG Conf Brian Love’s Website Kevin Schuchard’s LinkedIn BrieBug Blog Angular Schematics Tutorial Testing Schematics with a Sandbox + starter project GitHub: Schematic Starter Getting started blog post by Hans Schematics by Manfred Steyer Angular and Material CLI schematics 1 Angular and Material CLI schematics 2 AST Explorer Evening of Angular Example Schematic project with Sandbox: (Written by Kevin) https://github.com/briebug/jest-schematic https://github.com/schuchard/prettier-schematic https://github.com/briebug/ngrx-entity-schematic https://github.com/blove/schematics Sponsors: Angular Boot Camp Cache Fly Get A Coder Job Picks: Joe Brian Love BrieBug Schematics NGConf. Minified Aaron Ice Fishing Smoking Trout Joe Eames as Dungeon Master for DND NPM JS Survey Charles Alexa Briefing EntreProgrammers.com KanBanflow Pomodoro Technique Kevin Angular Material Open Source Projects Brian Angular.io Visits on Twitter Angular Community Jesse Sanders An evening of Angular Event
Panel: Mark Ericksen Charles Max Wood Special Guest: Kamil Lelonek In this episode of Elixir Mix, the panel talks with Kamil Lelonek who is a full-stack developer and programmer. Chuck, Mark, and Kamil talk about Elixir, Postgrex, databases, and so much more! Check it out! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:48 – Chuck: Hello! Our panel today is Mark and myself. Friendly reminder to listeners: check out my show the DevRev. Our guest today is Kamil Lelonek! 1:23 – Guest. 1:43 – Chuck: Today, we are talking about databases. 1:55 – Guest. 3:10 – Mark: We have your blog that you wrote in our show notes. Talk about your experience with exploring these features? 3:39 – Chuck. 3:46 – Mark: I didn’t know those features are in Postgrex. Can you talk about your experience and your journey? 4:10 – Guest. 6:17 – Mark: I am curious, what problem were you trying to solve? 6:31 – Guest. 8:12 – Mark: I like you saying: rather than modifying the application code itself, you created a separate application. I think Elixir is a good fit for that – what’s your experience with this? 8:40 – Guest: I agree with this, but let’s think about it in the other way. 9:48 – Mark: Yeah I can see that. It’s good to be aware of the upsides and downsides. It’s an interesting idea. 10:40 – Guest. 11:38 – Chuck: My experience is mostly in Rails. The other way I have solved this problem is “pulling” but this way is more elegant. Before we have talked with Chris McCord about LiveVue. Is there a way to hook this handler up to LiveVue to stream the changes all the way up to the frontend of web application with Phoenix? 12:20 – Guest. 12:55 – Mark talks about Elixir and GenServer. 13:29 – Guest. 13:49 – Mark: Please go and read Kamil’s blog post because it’s simple and it’s written well! Mark: I think Elixir is a great usage for GenServers. 14:28 – Guest. 14:35 – Chuck: You setup a store procedure, which I don’t see a lot of people doing within the communities. How necessary is that store procedure that you’ve created there? 15:00 – Guest. 16:16 – Chuck: What if you want to do targeted notifications? 16:28 – Guest. 17:33 – Mark: I am curious if you have experimented with the practical limitations of this? Like at one point does it start to break down? 18:00 – Guest. 20:00 – Chuck: I will be honest I am kind of lazy. Outside of the general use I don’t go looking for these, but when I hear about them I say: wow! 20:09 – Guest. 20:57 – Chuck. 21:15 – Guest talks about solutions that he’s found. 22:08 – FreshBooks! 23:17 – Mark: What other kind of databases have you had experience with for comparison reasons? 23:40 – Guest. 24:56 – Mark: You talked about defaults and I want to come back to this topic. 25:08 – Mark asks Chuck a question. 25:12 – Chuck: I don’t know. 25:23 – Mark talks about the databases that his work utilizes. 26:45 – Mark and Chuck go back-and-forth. 27:49 – Guest mentions a solution to the before-mentioned problem that Mark gave. 28:47 – Mark: It can get messy. I don’t repose this as a permanent solution, but it allows you do a staged-migration. 29:15 – Chuck: Do you run into problems with Postgrex? Most technologies if you don’t run into problems you aren’t pushing it enough (at least that’s my experience). 29:29 – Guest answers the question. 30:26 – Mark talks about active, active, active. 31:14 – Guest. 33:25 – Mark: In Elixir, we talk about the things that are in the box and one thing that comes up is “mnesia.” Can you talk about this please? 33:47 – Guest talks about mnesia. 35:17 – Mark talks about mnesia some more. Mark: It is an available option (mnesia), but I don’t know if it’s something that people want when they are looking for something more traditional. 37:04 – Guest. 37:30 – Mark: Yeah something people should be aware of. If you are encountering problems it’s good to know the different tools that are out there and available. 38:42 – Mark: One question: What are some of your favorite features of Postgrex? 38:57 – Guest. 41:08 – Mark talks about Postgrex’s features. 42:14 – Guest. 43:10 – Mark: I had a case where Elixir and Erlang and you can convert term to binary and binary to term. I took some data structure and converted it to a binary and using Ecto and tell it: serialize this and when it loads back out it is a native Elixir type. It’s not always the right solution, but in my cases it actually worked. 43:59 – Guest talks about a library that he wrote back-in-the-day. 44:40 – Chuck: Anything else? Nope? Okay – Picks! 44:52 – Ad: Lootcrate.com END – CacheFly! Links: Ruby Elixir Elixir: GenServer GenServers Elm JavaScript Visual Studio Code React “How to use LISTEN and NOTIFY PostgreSQL commands in Elixir?" By Kamil Lelonek Guest’s Medium Blog Postgrex.Notifications Redis.io Event Store PostgreSQL MongoDB Erlang: mnesia GitHub: cachex GitHub: meh / amnesia PostGIS When to use Ecto, when to use Mnesia PostgreSQL Ecto.Type GitHub: Exnumerator YouTube: Entreprogrammers Kamil’s Twitter Sponsors: Loot Crate Get a Coder Job! Fresh Books CacheFly Picks: Mark Being professionally proactive! Chuck Get A Coder Job eBook Challenge: Pomodoro Technique Kamil Book: Thinking, Fast and Slow by Daniel Kahneman My Blog My Site
Panel: Mark Ericksen Charles Max Wood Special Guest: Kamil Lelonek In this episode of Elixir Mix, the panel talks with Kamil Lelonek who is a full-stack developer and programmer. Chuck, Mark, and Kamil talk about Elixir, Postgrex, databases, and so much more! Check it out! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:48 – Chuck: Hello! Our panel today is Mark and myself. Friendly reminder to listeners: check out my show the DevRev. Our guest today is Kamil Lelonek! 1:23 – Guest. 1:43 – Chuck: Today, we are talking about databases. 1:55 – Guest. 3:10 – Mark: We have your blog that you wrote in our show notes. Talk about your experience with exploring these features? 3:39 – Chuck. 3:46 – Mark: I didn’t know those features are in Postgrex. Can you talk about your experience and your journey? 4:10 – Guest. 6:17 – Mark: I am curious, what problem were you trying to solve? 6:31 – Guest. 8:12 – Mark: I like you saying: rather than modifying the application code itself, you created a separate application. I think Elixir is a good fit for that – what’s your experience with this? 8:40 – Guest: I agree with this, but let’s think about it in the other way. 9:48 – Mark: Yeah I can see that. It’s good to be aware of the upsides and downsides. It’s an interesting idea. 10:40 – Guest. 11:38 – Chuck: My experience is mostly in Rails. The other way I have solved this problem is “pulling” but this way is more elegant. Before we have talked with Chris McCord about LiveVue. Is there a way to hook this handler up to LiveVue to stream the changes all the way up to the frontend of web application with Phoenix? 12:20 – Guest. 12:55 – Mark talks about Elixir and GenServer. 13:29 – Guest. 13:49 – Mark: Please go and read Kamil’s blog post because it’s simple and it’s written well! Mark: I think Elixir is a great usage for GenServers. 14:28 – Guest. 14:35 – Chuck: You setup a store procedure, which I don’t see a lot of people doing within the communities. How necessary is that store procedure that you’ve created there? 15:00 – Guest. 16:16 – Chuck: What if you want to do targeted notifications? 16:28 – Guest. 17:33 – Mark: I am curious if you have experimented with the practical limitations of this? Like at one point does it start to break down? 18:00 – Guest. 20:00 – Chuck: I will be honest I am kind of lazy. Outside of the general use I don’t go looking for these, but when I hear about them I say: wow! 20:09 – Guest. 20:57 – Chuck. 21:15 – Guest talks about solutions that he’s found. 22:08 – FreshBooks! 23:17 – Mark: What other kind of databases have you had experience with for comparison reasons? 23:40 – Guest. 24:56 – Mark: You talked about defaults and I want to come back to this topic. 25:08 – Mark asks Chuck a question. 25:12 – Chuck: I don’t know. 25:23 – Mark talks about the databases that his work utilizes. 26:45 – Mark and Chuck go back-and-forth. 27:49 – Guest mentions a solution to the before-mentioned problem that Mark gave. 28:47 – Mark: It can get messy. I don’t repose this as a permanent solution, but it allows you do a staged-migration. 29:15 – Chuck: Do you run into problems with Postgrex? Most technologies if you don’t run into problems you aren’t pushing it enough (at least that’s my experience). 29:29 – Guest answers the question. 30:26 – Mark talks about active, active, active. 31:14 – Guest. 33:25 – Mark: In Elixir, we talk about the things that are in the box and one thing that comes up is “mnesia.” Can you talk about this please? 33:47 – Guest talks about mnesia. 35:17 – Mark talks about mnesia some more. Mark: It is an available option (mnesia), but I don’t know if it’s something that people want when they are looking for something more traditional. 37:04 – Guest. 37:30 – Mark: Yeah something people should be aware of. If you are encountering problems it’s good to know the different tools that are out there and available. 38:42 – Mark: One question: What are some of your favorite features of Postgrex? 38:57 – Guest. 41:08 – Mark talks about Postgrex’s features. 42:14 – Guest. 43:10 – Mark: I had a case where Elixir and Erlang and you can convert term to binary and binary to term. I took some data structure and converted it to a binary and using Ecto and tell it: serialize this and when it loads back out it is a native Elixir type. It’s not always the right solution, but in my cases it actually worked. 43:59 – Guest talks about a library that he wrote back-in-the-day. 44:40 – Chuck: Anything else? Nope? Okay – Picks! 44:52 – Ad: Lootcrate.com END – CacheFly! Links: Ruby Elixir Elixir: GenServer GenServers Elm JavaScript Visual Studio Code React “How to use LISTEN and NOTIFY PostgreSQL commands in Elixir?" By Kamil Lelonek Guest’s Medium Blog Postgrex.Notifications Redis.io Event Store PostgreSQL MongoDB Erlang: mnesia GitHub: cachex GitHub: meh / amnesia PostGIS When to use Ecto, when to use Mnesia PostgreSQL Ecto.Type GitHub: Exnumerator YouTube: Entreprogrammers Kamil’s Twitter Sponsors: Loot Crate Get a Coder Job! Fresh Books CacheFly Picks: Mark Being professionally proactive! Chuck Get A Coder Job eBook Challenge: Pomodoro Technique Kamil Book: Thinking, Fast and Slow by Daniel Kahneman My Blog My Site
Panel: Charles Max Wood Joe Eames Aaron Frost Alyssa Nicoll Special Guests: Brian Love & Kevin Schuchard In this episode, the panelist talk with today’s special guests Brian Love & Kevin Schuchard! Brian and Kevin work at BrieBug – check out their employee profiles here! The panelist and guests talk about schematics, Angular, AST, and much more! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:50 – Chuck: Hello! Our panel today is Joe, Aaron, Alyssa, and myself. We have two guests today, and we are going to talk about schematics. Let’s dive into that! 1:46 – Guest: Schematics is a library that is coming out of Angular and the Angular Team. The guest gives a definition of Angular Schematics. 2:26 – Alyssa. 2:31 – Kevin: The functionality that you are hoping for depends on the CLI that you are on. 3:00 – Alyssa: Sorry for diving into the juicy stuff but we forgot to talk about your introductions! 3:19 – The guests talk about their backgrounds and introduce themselves to the panel and the listeners. 3:49 – Alyssa. 3:54 – Guest continues. 4:21 – Panel: Crazy and busy! 4:28 – Alyssa. 4:31 – Kevin: I am Senior Developer, and I have worked here for a few years. I have had the opportunities to write some schematics for the company and some of my own schematics. 4:53 – Alyssa: Aren’t you so proud that you are a “Senior Developer”?! 5:10 – Guest and panelists go back-and-forth. 6:23 – Guests: We want people to be familiar with schematics and start their journey with schematics. 6:50 – Panel: It’s kind of trippy isn’t that right? 7:00 – Guest: Yeah there are hurdles to learning schematics at first – for sure. 7:22 – Alyssa: What is AST? 7:29 – Guest gives a definition of AST and goes into much detail about this. 10:00 – Alyssa: I think I understand, now, what AST is. Thanks. Alyssa asks the guests a question. 10:14 – Guest answers the question about AST. 10:51 – Guest continues. 11:27 – Panelist is talking about the AST and schematics. 12:03 – Guest: You can read the whole file and using the AST you can figure out where you went to enter the text. 12:25 – Alyssa asks a question. 12:28 – Guest: We are not the developers of schematics, but we are just here to share our knowledge. I want to be super clear here. 13:39 – Panelist talks about schematics, CLI, and AST. 14:18 – Guest: You don’t have to know all about AST and everything there is to know to get into it. You can build schematics w/o getting into AST. Just to be clear. 14:39 – Alyssa asks a follow-up question. 14:41 – Guest continues. 15:57 – Guest: AST has been around for a while – it’s not a new thing it’s kind of an old thing. Guest talks about tools (Code Shift) that Facebook has built that is related to this topic. 17:22 – Guest: Yeah AST has been around for a while. 17:28 – Alyssa asks a question about Code Shift. 17:36 – Guest. 18:21 – Panel and guest go back-and-forth. 19:51 – Alyssa: You said you really don’t need to get into AST to do schematics – right? (Yes.) Alyssa asks a question. 20:19 – Guest: There are two pieces with schematics and that’s adding of new files and you can decide which pieces of the templates you want to be compiled. 21:58 – Chuck: For schematics you mentioned you could drop strings in. Chuck asks a question. 22:29 – Guest answers the question with a hypothetical situation. 23:09 – Chuck: I read the article you wrote and I have a question about your article. Tell me about the tree? 23:29 – Guest talks about the tree or aka the host. 25:40 – Guest: The tree is a virtual kind of context and it’s not committing all of the changes to the file system. Whether that is adding, deleting, or updating these files. 26:10 – Chuck: Makes sense to me. 26:15 – Guest continues talking about schematics. 26:53 – Alyssa: Yeoman is a replacement for schematics? 27:05 – Guest: It’s a lightweight alternative. 27:33 – Advertisement: Angular Boot Camp 28:10 – Chuck: How does one build a schematic? 28:16 – Guest answers the question. 30:34 – Panel: What’s the latest thing you’ve built? Talk about that, please. 30:40 – Guest: It’s a schematic and took what we’ve learned to set you up for a starter project. It starts with a blank project. 32:57 – Panel: You are just talking some lessons learned and you are saying this is how Kevin says to do it. You’ve packaged that up 33:26 – Guest: Yep I have found things that work and there isn’t any magic but put these practices together and made a repository to help testing and making schematics. 33:55 – Panel and guests go back-and-forth. 34:20 – Chuck: Let’s say I’ve built this schematic and Frosty wants to share it with his friends. How do we do that? How do you share it? Is there some component that you’ve built? 35:06 – Guest: It depends on what you are doing with it. 36:14 – Chuck: For mass production, though? 36:25 – Guest: I think Chuck is wondering about discoverability. Guest continues and he mentions prettier, extensions, among other things. 37:18 – Guest: I think it’s my favorite about schematics and it’s Kevin’s. 37:40 – Guest. 38:20 – Guest continues talking about schematics and ng-conf. 38:57 – Guest talks about libraries. 40:12 – Chuck: Anything else? Do you NPM install it and it’s just there? 40:29 – Guest: There are 2 ways to go about it. 53:05 – Fresh Books! END – CacheFly! Links: Vue jQuery Angular JavaScript Python React Cypress Yeoman Apache Groovy GitHub: prettier NG Conf Brian Love’s Website Kevin Schuchard’s LinkedIn BrieBug Blog Angular Schematics Tutorial Testing Schematics with a Sandbox + starter project GitHub: Schematic Starter Getting started blog post by Hans Schematics by Manfred Steyer Angular and Material CLI schematics 1 Angular and Material CLI schematics 2 AST Explorer Evening of Angular Example Schematic project with Sandbox: (Written by Kevin) https://github.com/briebug/jest-schematic https://github.com/schuchard/prettier-schematic https://github.com/briebug/ngrx-entity-schematic https://github.com/blove/schematics Sponsors: Angular Boot Camp Cache Fly Get A Coder Job Picks: Joe Brian Love BrieBug Schematics NGConf. Minified Aaron Ice Fishing Smoking Trout Joe Eames as Dungeon Master for DND NPM JS Survey Charles Alexa Briefing EntreProgrammers.com KanBanflow Pomodoro Technique Kevin Angular Material Open Source Projects Brian Angular.io Visits on Twitter Angular Community Jesse Sanders An evening of Angular Event
Panel: Eric Berry Dave Kimura Nate Hopkins Charles Max Wood Special Guest: Vladimir Dem In this episode of Ruby Rogues, the panel talks with Vladimir Dem who is a Ruby developer and currently lives in Brooklyn, New York. Today, the panelists and guest talk about cables, concurrency, and Ruby. Check it out! Show Topics: 0:00 – Advertisement: Sentry.io 1:02 – Chuck: Hello! The panel today is Eric, Dave, Nate, and myself! Our guest is Vlad! 1:30 – Guest: My name is Vladimir, but people call me Vlad. I have been writing Ruby since 2013 for about 4.5 years. Before that I was a PHP, JavaScript developer among other languages. I am mostly Erlang and Ruby now. 2:29 – Panel asks Vlad a question. 3:29 – Guest: Yeah something like that. I call it a different server b/c we still use the code base but we do not do anything related to web sockets and connections. 4:20 – Panel: If you wanted to take a normal action cables setup what steps would you have to go through to convert that over to also use the anycable server? 5:21 – Guest answers the question. 7:31 – Chuck: This sounds complicated and a bit of work. When I look at this I think: I have a tiny app is it worth it? When does it become worth it? 7:52 – Guest: Definitely not for the tiny app. 8:50 – Panel: You use it when it makes sense. Overcomplicating your infrastructure doesn’t make sense. 9:27 – Guest: That’s the idea. 10:28 – Panel. 11:05 – Guest: The question really is how many connections you have and how long-lived they are? 13:09 – Panel: If I move my project over to anycable how much new code am I going to have to write? 13:28 – Guest answers the question. 15:52 – Panel: What’s the update been like for anycable and how many users use anycable? 16:05 – Guest: I really don’t have statistics. I hear people at conferences say that they use anycable, but no real statistics right now. I would like to know these numbers, but no idea. 16:30 – Panel: ...is that the time to consider using anycable? 17:05 – Guest: That’s a good point to make. 18:44 – Panel: How is the initial handshake time with anycable? Is there any difference with anycable in that sense? 19:05 – Guest answers the question. 22:49 – Chuck: Can you define a couple of terms for me? I am hearing terms like: concurrency and real time and others? 23:00 – Guest: Good point. What is real time? The guest continues to define these terms. 28:10 – Fresh Books! 29:10 – Chuck: Ruby 3 is supposed to solve some of these problems. Can you talk about some of those? 29:46 – Guest: Interesting question and I’ve been asked about this before. 35:14 – Panel: Did you say there was some activity around trying to reduce the memory consumption for thread? 35:25 – Guest answers the question. 36:14 – Panel: Vlad, you are spread from backend to fronted and you’ve mentioned Phoenix Live Vue. Can I pick your brain about it? 36:39 – Guest answers the question. 38:48 – Panel: It seems like one of the core tenants is empowering small teams to compete with larger teams. I have high hopes to keep small teams competitive. 39:50 – Guest: Yes, that’s the idea of Rails and Ruby itself to build something and try something and perhaps fail. 40:57 – Panelist mentions Erlang, anycable, and concurrency. 41:14 – Guest: We are working on administration functionality and we want to build something fast. 44:40 – Panel: That’s the interesting thing about turbo links cause I think it was a marketing fail. You have to invest time to learn how to use it and how to use it properly. 45:44 – Guest: I don’t have a good guide for turbo links. 46:00 – Chuck: Anything else we want to talk about? 46:10 – Guest: Two more things I want to mention. 54:02 – Advertisement: Get A Coder Job! 54:35 – Picks! End – Cache Fly! Links: Get a Coder Job Course The DevRev Podcast Show Angular DevChat TV Ruby Elixir Ruby on Rails Angular Cypress Vue React Faye-Websocket-Ruby Anycable EMx 020 Episode Entreprogrammers: Episode 248 Socketry The Rails Doctrine Walmart: Invisible Glass Bose Wireless Headphones Netflix: Newsies / Broadway musical KanbanFlow Advent of Code Heroku Deployment Guest’s Twitter Guest’s Dev.to Guest’s GitHub Sponsors: Sentry CacheFly Fresh Books Picks: Dave Invisible Glass Eric Bose Quiet Comfort Headphones Nate The Rails Doctrine Newsies Charles Kanban Flow EntreProgrammers The pomodoro technique masterhunt.com/devchat Vlad Advent of Code Any Cable
Panel: Charles Max Wood Joe Eames Aaron Frost Alyssa Nicoll Special Guests: Brian Love & Kevin Schuchard In this episode, the panelist talk with today’s special guests Brian Love & Kevin Schuchard! Brian and Kevin work at BrieBug – check out their employee profiles here! The panelist and guests talk about schematics, Angular, AST, and much more! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:50 – Chuck: Hello! Our panel today is Joe, Aaron, Alyssa, and myself. We have two guests today, and we are going to talk about schematics. Let’s dive into that! 1:46 – Guest: Schematics is a library that is coming out of Angular and the Angular Team. The guest gives a definition of Angular Schematics. 2:26 – Alyssa. 2:31 – Kevin: The functionality that you are hoping for depends on the CLI that you are on. 3:00 – Alyssa: Sorry for diving into the juicy stuff but we forgot to talk about your introductions! 3:19 – The guests talk about their backgrounds and introduce themselves to the panel and the listeners. 3:49 – Alyssa. 3:54 – Guest continues. 4:21 – Panel: Crazy and busy! 4:28 – Alyssa. 4:31 – Kevin: I am Senior Developer, and I have worked here for a few years. I have had the opportunities to write some schematics for the company and some of my own schematics. 4:53 – Alyssa: Aren’t you so proud that you are a “Senior Developer”?! 5:10 – Guest and panelists go back-and-forth. 6:23 – Guests: We want people to be familiar with schematics and start their journey with schematics. 6:50 – Panel: It’s kind of trippy isn’t that right? 7:00 – Guest: Yeah there are hurdles to learning schematics at first – for sure. 7:22 – Alyssa: What is AST? 7:29 – Guest gives a definition of AST and goes into much detail about this. 10:00 – Alyssa: I think I understand, now, what AST is. Thanks. Alyssa asks the guests a question. 10:14 – Guest answers the question about AST. 10:51 – Guest continues. 11:27 – Panelist is talking about the AST and schematics. 12:03 – Guest: You can read the whole file and using the AST you can figure out where you went to enter the text. 12:25 – Alyssa asks a question. 12:28 – Guest: We are not the developers of schematics, but we are just here to share our knowledge. I want to be super clear here. 13:39 – Panelist talks about schematics, CLI, and AST. 14:18 – Guest: You don’t have to know all about AST and everything there is to know to get into it. You can build schematics w/o getting into AST. Just to be clear. 14:39 – Alyssa asks a follow-up question. 14:41 – Guest continues. 15:57 – Guest: AST has been around for a while – it’s not a new thing it’s kind of an old thing. Guest talks about tools (Code Shift) that Facebook has built that is related to this topic. 17:22 – Guest: Yeah AST has been around for a while. 17:28 – Alyssa asks a question about Code Shift. 17:36 – Guest. 18:21 – Panel and guest go back-and-forth. 19:51 – Alyssa: You said you really don’t need to get into AST to do schematics – right? (Yes.) Alyssa asks a question. 20:19 – Guest: There are two pieces with schematics and that’s adding of new files and you can decide which pieces of the templates you want to be compiled. 21:58 – Chuck: For schematics you mentioned you could drop strings in. Chuck asks a question. 22:29 – Guest answers the question with a hypothetical situation. 23:09 – Chuck: I read the article you wrote and I have a question about your article. Tell me about the tree? 23:29 – Guest talks about the tree or aka the host. 25:40 – Guest: The tree is a virtual kind of context and it’s not committing all of the changes to the file system. Whether that is adding, deleting, or updating these files. 26:10 – Chuck: Makes sense to me. 26:15 – Guest continues talking about schematics. 26:53 – Alyssa: Yeoman is a replacement for schematics? 27:05 – Guest: It’s a lightweight alternative. 27:33 – Advertisement: Angular Boot Camp 28:10 – Chuck: How does one build a schematic? 28:16 – Guest answers the question. 30:34 – Panel: What’s the latest thing you’ve built? Talk about that, please. 30:40 – Guest: It’s a schematic and took what we’ve learned to set you up for a starter project. It starts with a blank project. 32:57 – Panel: You are just talking some lessons learned and you are saying this is how Kevin says to do it. You’ve packaged that up 33:26 – Guest: Yep I have found things that work and there isn’t any magic but put these practices together and made a repository to help testing and making schematics. 33:55 – Panel and guests go back-and-forth. 34:20 – Chuck: Let’s say I’ve built this schematic and Frosty wants to share it with his friends. How do we do that? How do you share it? Is there some component that you’ve built? 35:06 – Guest: It depends on what you are doing with it. 36:14 – Chuck: For mass production, though? 36:25 – Guest: I think Chuck is wondering about discoverability. Guest continues and he mentions prettier, extensions, among other things. 37:18 – Guest: I think it’s my favorite about schematics and it’s Kevin’s. 37:40 – Guest. 38:20 – Guest continues talking about schematics and ng-conf. 38:57 – Guest talks about libraries. 40:12 – Chuck: Anything else? Do you NPM install it and it’s just there? 40:29 – Guest: There are 2 ways to go about it. 53:05 – Fresh Books! END – CacheFly! Links: Vue jQuery Angular JavaScript Python React Cypress Yeoman Apache Groovy GitHub: prettier NG Conf Brian Love’s Website Kevin Schuchard’s LinkedIn BrieBug Blog Angular Schematics Tutorial Testing Schematics with a Sandbox + starter project GitHub: Schematic Starter Getting started blog post by Hans Schematics by Manfred Steyer Angular and Material CLI schematics 1 Angular and Material CLI schematics 2 AST Explorer Evening of Angular Example Schematic project with Sandbox: (Written by Kevin) https://github.com/briebug/jest-schematic https://github.com/schuchard/prettier-schematic https://github.com/briebug/ngrx-entity-schematic https://github.com/blove/schematics Sponsors: Angular Boot Camp Cache Fly Get A Coder Job Picks: Joe Brian Love BrieBug Schematics NGConf. Minified Aaron Ice Fishing Smoking Trout Joe Eames as Dungeon Master for DND NPM JS Survey Charles Alexa Briefing EntreProgrammers.com KanBanflow Pomodoro Technique Kevin Angular Material Open Source Projects Brian Angular.io Visits on Twitter Angular Community Jesse Sanders An evening of Angular Event
Panel: Charles Max Wood Guest: A.J. O’Neal This week on My JavaScript Story, Charles talks with A.J. O’Neal who is a panelist on My JavaScript Jabber usually, but today he is a guest! The guys talk about AJ’s background and past/current projects. Today’s topics include: JavaScript, Ruby, jQuery, Rails, Node, Python, and more. In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 1:23 – Chuck: Introduce yourself, please. 1:27 – AJ: I brief introduction: I am a quirky guy who is ADD and I love to figure out why/how things work. I like self-hosting or owning things in technology. 2:00 – Chuck: Where do you work now? 2:02 – AJ: I work in UTAH at Big Squid! 3:29 – AJ: I have my own company, too! 3:41 – Chuck: Yeah we’ve talked about that before. Where can we go? 3:54: AJ: We have 2 products that are both Node. Greenlock for Node.js is one of them! The other one is Telebit. 5:44 – Chuck: This interview is all about your background. How did you get into programming? 6:04 – AJ: I was in middle school but before that my grandmother was a secretary at the Pentagon. She worked on getting people paid and she wrote a program to assist these paychecks to be printed with fewer errors. Because of that she had a computer at home. I remember playing games on her computer. The guest talks about his background in more detail. 15:21 – Chuck: No it’s interesting! I’ve done a couple hundred interviews and they all say either: I went to school for it OR I did it for my free time. It’s interesting to see the similarities! 16:00 – AJ: Yep that’s pretty much how I got into it! I went on a church service mission to Albania and really didn’t do any computer work during those 2 years. 19:39 – Chuck: You went to BYU and your mission trip. A lot of that stuff I can relate to and identify with b/c I went to BYU and went on missions trip, too! And then you got into Ruby and that’s how we met was through Ruby! 20:25 – AJ: Yep that’s it. Then that’s when I learned about Node, too. There was a guy with a funny hate – do you remember that? (No.) 21:03 – Chuck: Maybe? 21:07 – AJ continues. 27:53 – Chuck: What made you make the transition? People come into and out of different technologies all the time. 28:18 – AJ: Yeah it started with me with jQuery! Rails has layers upon layers upon layers. AJ talks about different technologies their similarities/differences and mentions: JavaScript, Rails, Python, Node, Ruby, and much more. 31:05 – Chuck: Node went out of their way on certain platforms that Rails didn’t prioritize. 31:11 – AJ continues to talk about different technologies and platforms. 33:00 – Chuck: You get into Node and then at what point does this idea of a home-server and Node and everything start to come together? How much of this do you want to talk bout? At one point did they start to gel? 33:33 – AJ: It’s been a very long process and started back in high school. It started with me trying to think: How do I get this picture on my phone to my mom? I thought of uploading it to Flickr or could I do this or that? What about sending it to someone in China? 39:57 – Chuck. 40:01 – AJ continues and talks about libraries and certificate standards. 42:00 – AJ continues with the topic: certificates. 42:44 – Chuck: I am going to go to PICKS! Where can people find you? 42:55 – AJ: Twitter! Blog! GitHub! Anywhere! 43:55 – Chuck: Picks! 43:58 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly Links: React Angular JavaScript Webpack.js Serverless jQuery Node AJ’s Twitter Chuck’s Twitter Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: A.J. JC Penny! Stafford Shirts Express for Men Chris Ferdinandi’s GOMAKETHINGS. COM Chuck Wordpress – Plugin KingSumo Getdrip.com Softcover.io
Panel: Charles Max Wood Guest: A.J. O’Neal This week on My JavaScript Story, Charles talks with A.J. O’Neal who is a panelist on My JavaScript Jabber usually, but today he is a guest! The guys talk about AJ’s background and past/current projects. Today’s topics include: JavaScript, Ruby, jQuery, Rails, Node, Python, and more. In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 1:23 – Chuck: Introduce yourself, please. 1:27 – AJ: I brief introduction: I am a quirky guy who is ADD and I love to figure out why/how things work. I like self-hosting or owning things in technology. 2:00 – Chuck: Where do you work now? 2:02 – AJ: I work in UTAH at Big Squid! 3:29 – AJ: I have my own company, too! 3:41 – Chuck: Yeah we’ve talked about that before. Where can we go? 3:54: AJ: We have 2 products that are both Node. Greenlock for Node.js is one of them! The other one is Telebit. 5:44 – Chuck: This interview is all about your background. How did you get into programming? 6:04 – AJ: I was in middle school but before that my grandmother was a secretary at the Pentagon. She worked on getting people paid and she wrote a program to assist these paychecks to be printed with fewer errors. Because of that she had a computer at home. I remember playing games on her computer. The guest talks about his background in more detail. 15:21 – Chuck: No it’s interesting! I’ve done a couple hundred interviews and they all say either: I went to school for it OR I did it for my free time. It’s interesting to see the similarities! 16:00 – AJ: Yep that’s pretty much how I got into it! I went on a church service mission to Albania and really didn’t do any computer work during those 2 years. 19:39 – Chuck: You went to BYU and your mission trip. A lot of that stuff I can relate to and identify with b/c I went to BYU and went on missions trip, too! And then you got into Ruby and that’s how we met was through Ruby! 20:25 – AJ: Yep that’s it. Then that’s when I learned about Node, too. There was a guy with a funny hate – do you remember that? (No.) 21:03 – Chuck: Maybe? 21:07 – AJ continues. 27:53 – Chuck: What made you make the transition? People come into and out of different technologies all the time. 28:18 – AJ: Yeah it started with me with jQuery! Rails has layers upon layers upon layers. AJ talks about different technologies their similarities/differences and mentions: JavaScript, Rails, Python, Node, Ruby, and much more. 31:05 – Chuck: Node went out of their way on certain platforms that Rails didn’t prioritize. 31:11 – AJ continues to talk about different technologies and platforms. 33:00 – Chuck: You get into Node and then at what point does this idea of a home-server and Node and everything start to come together? How much of this do you want to talk bout? At one point did they start to gel? 33:33 – AJ: It’s been a very long process and started back in high school. It started with me trying to think: How do I get this picture on my phone to my mom? I thought of uploading it to Flickr or could I do this or that? What about sending it to someone in China? 39:57 – Chuck. 40:01 – AJ continues and talks about libraries and certificate standards. 42:00 – AJ continues with the topic: certificates. 42:44 – Chuck: I am going to go to PICKS! Where can people find you? 42:55 – AJ: Twitter! Blog! GitHub! Anywhere! 43:55 – Chuck: Picks! 43:58 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly Links: React Angular JavaScript Webpack.js Serverless jQuery Node AJ’s Twitter Chuck’s Twitter Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: A.J. JC Penny! Stafford Shirts Express for Men Chris Ferdinandi’s GOMAKETHINGS. COM Chuck Wordpress – Plugin KingSumo Getdrip.com Softcover.io
Panel: Charles Max Wood Guest: A.J. O’Neal This week on My JavaScript Story, Charles talks with A.J. O’Neal who is a panelist on My JavaScript Jabber usually, but today he is a guest! The guys talk about AJ’s background and past/current projects. Today’s topics include: JavaScript, Ruby, jQuery, Rails, Node, Python, and more. In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 1:23 – Chuck: Introduce yourself, please. 1:27 – AJ: I brief introduction: I am a quirky guy who is ADD and I love to figure out why/how things work. I like self-hosting or owning things in technology. 2:00 – Chuck: Where do you work now? 2:02 – AJ: I work in UTAH at Big Squid! 3:29 – AJ: I have my own company, too! 3:41 – Chuck: Yeah we’ve talked about that before. Where can we go? 3:54: AJ: We have 2 products that are both Node. Greenlock for Node.js is one of them! The other one is Telebit. 5:44 – Chuck: This interview is all about your background. How did you get into programming? 6:04 – AJ: I was in middle school but before that my grandmother was a secretary at the Pentagon. She worked on getting people paid and she wrote a program to assist these paychecks to be printed with fewer errors. Because of that she had a computer at home. I remember playing games on her computer. The guest talks about his background in more detail. 15:21 – Chuck: No it’s interesting! I’ve done a couple hundred interviews and they all say either: I went to school for it OR I did it for my free time. It’s interesting to see the similarities! 16:00 – AJ: Yep that’s pretty much how I got into it! I went on a church service mission to Albania and really didn’t do any computer work during those 2 years. 19:39 – Chuck: You went to BYU and your mission trip. A lot of that stuff I can relate to and identify with b/c I went to BYU and went on missions trip, too! And then you got into Ruby and that’s how we met was through Ruby! 20:25 – AJ: Yep that’s it. Then that’s when I learned about Node, too. There was a guy with a funny hate – do you remember that? (No.) 21:03 – Chuck: Maybe? 21:07 – AJ continues. 27:53 – Chuck: What made you make the transition? People come into and out of different technologies all the time. 28:18 – AJ: Yeah it started with me with jQuery! Rails has layers upon layers upon layers. AJ talks about different technologies their similarities/differences and mentions: JavaScript, Rails, Python, Node, Ruby, and much more. 31:05 – Chuck: Node went out of their way on certain platforms that Rails didn’t prioritize. 31:11 – AJ continues to talk about different technologies and platforms. 33:00 – Chuck: You get into Node and then at what point does this idea of a home-server and Node and everything start to come together? How much of this do you want to talk bout? At one point did they start to gel? 33:33 – AJ: It’s been a very long process and started back in high school. It started with me trying to think: How do I get this picture on my phone to my mom? I thought of uploading it to Flickr or could I do this or that? What about sending it to someone in China? 39:57 – Chuck. 40:01 – AJ continues and talks about libraries and certificate standards. 42:00 – AJ continues with the topic: certificates. 42:44 – Chuck: I am going to go to PICKS! Where can people find you? 42:55 – AJ: Twitter! Blog! GitHub! Anywhere! 43:55 – Chuck: Picks! 43:58 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly Links: React Angular JavaScript Webpack.js Serverless jQuery Node AJ’s Twitter Chuck’s Twitter Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: A.J. JC Penny! Stafford Shirts Express for Men Chris Ferdinandi’s GOMAKETHINGS. COM Chuck Wordpress – Plugin KingSumo Getdrip.com Softcover.io
Panel: Charles Max Wood John Papa Aaron Frost Special Guest: Juan Herrera In this episode, the panelists talk with today’s special guest, Juan Herrera. The guys talk about community and how the Angular community is different than others out there. The following topics are discussed: calls for proposals (CFP), talking at conferences, Meetups, and reaching out to others within the same field as yours. The team emphasizes how meeting and networking not only creates great business connections, but great lasting friendships, too! Check it out! Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:52 – Chuck: Hello! Our panel is Eric, John, and myself. Our special guest today is Juan Herrera! 1:00 – Panel and guest go back-and-forth. 2:28 – Chuck: Let’s discuss how to think about community locally, nationally, and internationally! 2:39 – Guest talks about his background and his work in Columbia. 4:00 – Aaron: I will give my talk in Spanish and it will be epic. I think we should start a hashtag “bonniemademedoit.” Aaron is talking about Bonnie and how she’s inspired Juan and many, many people. 5;18 – Chuck: She is so enthusiastic about this stuff you have a hard time telling her “no.” 5:32 – Guest. 6:00 – Panel: I am proud that she is apart of our community, which is our topic today. 6:26 – Guest: Yes, I think these conferences help make people pumped-up about these sort of things. 6:53 – Chuck: I am curious when talk about community – talking about global communities they are similar to other Meetups and incorporate their own way of doing things. How do you find that your particular area is unique in its own way? 7:32 – Guest: When we start this community I want to see what’s already out there? Once I know that I was trying to mimic what was already out there. In addition to that I went out of my way to figure out how to make people feel welcomed and find our own niche. 10:27: Panel: Hey – let’s create a community! I think sometimes it’s deliberate and other times it just happened. It sounded like you were very intentional. How did you get people involved? How did you get the word out? How did you get people to give talks? 11:10 – Guest: Yes that is a great challenge for us. Great question! I wanted to help people gain exposure and to help them participate at the conference. After giving their talk we give them a special gift. It can be a shirt or sticker or something. It seems enough for people to come and participate. We realized some people were scared to participate b/c imposter syndrome kicked-in. We made sure they felt comfortable and it helped them to participate. 15:00 – Panel: Yeah it sounds like 300 is a very solid conference. Good job! 15:18 – Chuck: Yeah they compare it to the bigger conferences when the local conferences are just as strong and good. Sometimes the smaller conferences are really nice b/c they are more intimate. 16:05 – Panel: I am not a fan of these massive conferences. Great, but you can’t have conversation with 50,000 people. You go to the vendor floor – it’s loud and dark. I go to conferences to talk and listen to them. I like to listen to their challenges and hear stories. 17:01 – Panel: I enjoy the variety. 17:48 – Panel: Just the quality of people that were there was fantastic. NG VIKINGS is a great one to go to! 18:10 – Panel: I saw the conference for New Zealand? And the one that is in Antarctica?! 19:10 – Panel: Some people say: I don’t know how to get involved with X conference? I have a hard time giving advice b/c we all have different backgrounds. Who wants to present on Chrome Frame? Or... 21:07 – Guest: Not everyone is outgoing nor comfortable being in front of an audience. However, just practicing helps! 21:33 – Advertisement: Get A Coder Job! 22:12 – Panel: Chuck, I want to hear about your community! 22:25 – Chuck: I can’t go to a development conference that doesn’t know who I am. I thrive off of people and connecting with them. There are a lot of great opportunities from learning from folks. The email went out this morning and get in the general channel and say: What do you listen to? What are you up to? It’s nice to hear feedback. 25:54 – Panel: I appreciate the work you’ve done within the community, too, Chuck! 26:08 – Panel: My community I’ve been around the block for about 20+ years. I get into one technology and then bounce from one to the other. I’ve had the blessing to be apart of many different communities. I did a lot of JavaScript back in the day and then left when it was a mess. These communities all have something similar: people come together. They want to find others who look/act like them! These experiences change people’s lives! 28:11 – Guest: Through these communities I’ve made a lot of friends and great colleagues. Not just professional but also personal. 28:44 – Panel: Yep the people that I’ve met through Twitter and conferences. 29:00 – Panel. 29:33 – Panel: I was in Poland a few weeks ago and I met some guys – two different Mike’s. I love how down-to-earth these guys are and I think it’s awesome to meet these great people at these conferences! 30:11 – Panel: Go to Angular conferences if you can! 31:25 – Panel: I tell people to do the same thing! 33:17 – Guest: Yeah there are people out there that are introverted, but know that other people are like you, too! Reach out to people before the conference and Tweet at them! Invite people to your group and meet-up at conferences and have a coffee! 34:55 – Panel: I meet a lot of people on Twitter. 35:51 – Panel: I think we are getting to the end and I need to say this. The angular community is a bit different compared to other communities. One thing that this community doesn’t have is the focus of the community. On top of the community are Rob, Steven, Jewels and Naomi and others! I think the Angular team themselves really care! I know they care. 38:09 – Guest: I completely agree with you, Aaron! We appreciate it! 38:25 – Chuck: To wrap-up let’s talk to you, Juan, about where communities should be going to take care of the people 38:45 – Guest: Yeah, what are we going to do next year? Are we going to do Meetups? Do they need something else? What are the needs of our members today and tomorrow? We decided to change the format. We realized that Meetups are great but they are 20-minute talks and they aren’t enough for our members. We do 4 hour Meetup that is called the MEGA MEETUP! 41:00 – Fresh Books! END – CacheFly! Links: Vue jQuery Angular JavaScript Python React Cypress Meetup Conference in Antarctica! Guest: Juan Herrera – Twitter Guest: Juan Herrera – GitHub Sponsors: Angular Boot Camp Cache Fly Picks: Aaron Harry Potter Play Talk from Angular Connect – Grant Timmerman – Google Team CFP: ngVikings 2019 CFP: ngConf @aaronfrost – Twitter! Chuck DevChat TV transferring from WordPress to a static site. Guest JS – library CFP in Columbia! (2019 conference) @jdjuan – Twitter! John Forbes Article: How to start a conversation...
Panel: Eric Berry Dave Kimura David Richards Charles Max Wood In this episode of Ruby Rogues, the panelists talk amongst themselves on today’s topic, which is “speculation on frameworks.” They consider where the tech community currently is right now, and where it’s heading towards the future. They bring-up topics such as: Rails, Ruby, Angular, Agile, and much more. Check it out! Show Topics: 0:00 – Advertisement: Sentry.io 1:47 – Chuck: Check out the DevRev 2:08 – Panel: A topic about “speculation” would be great today. What are we seeing in the community: what we like/don’t like, and what would you want to change? He talks about action text, JavaScript framework, and more. 3:41 – Chuck: Service-side rendering is what we talked about in the past. Divya does this with service–side rendering. For content sites that approach makes a lot of sense. I have playing around with this for the past week or so. I was taking it to rendering it to text. 4:39 – Panel: Yeah, that’s the way to go. 5:29 – Chuck: You are talking about a fully side UI. 5:45 – Panel: I thought it was just my age so I am glad we are talking about this. The hip kids want to make these beautiful frontend sites. I want to keep it simple and then justify more later. I guess I would never be as hip but as long as my stuff gets out there – that’s all that matters to me. 6:28 – Panel: Yeah don’t get me wrong...nobody will want to develop your product if it was built 30 years ago. If it is a startup you want it to look good with a nice UI. Nobody will purchase if it looks outdated. How much maintenance do I want to invest into this? Why add another component into that if you cannot maintain it. 7:56 – Chuck: Yeah I have come into this issue while building the Podcast Service that I am creating. 8:25 – Panel: These are good frameworks and they feel great. I don’t realize the complexity that I am taking on sometimes. I have a lot of complexity on my hands: did I need it? 9:02 – Chuck: Sometimes my problem is that I am trying to pull it in after-the-fact. Like the forms to animate or this and that have to slide in. I want a natural feel to the UX. I looked at React and then I didn’t go that way. I have been podcasting about Angular for 4 years, but it was a no-go for my project. For my solution – it makes sense to just get it going and get it rolling. 10:45 – Panel: When we do use Action Vue we are prone to get lazy. What I mean by that is making database calls. 12:01 – Panel: You can think: Inside-Out! That creates an identity around the project. If I can think of that before going in, then everyone knows what we are doing and what their role is. It’s really obvious. Simple things grow into bigger things. I am a fan of service-side objects. It’s a daily work process. That feels good to me and it’s programmatic for me. 13:24 – Chuck: You aren’t saying: I don’t want or I don’t need ... what you are saying is: I will get this tool when I need it. 13:45 – Panel: You can say: “Hey this is what we are going to do and WHY we are going to do it.” It’s nice to come back to old projects and to see that it’s still solid. It’s nice to see that and people own that software and didn’t have to keep updating. 15:06 – Chuck: It reminds me of the Agile development stuff. The approach between Angular and React and Vue are fairly different. They are reasonably different. There will be tradeoffs between which one to use. When you are making that decision then you can make the appropriate decision on that. 16:10 – Panel: I remember in the prior years when the Rails community grew their own people and you were a RAILS person; now it’s you’re a WEB person. 17:43 – Panel: In a lot of cases it’s good to see what’s out there and to see what’s new; especially early on if they end up being ahead of their time. Then you are an early pioneer in that area. There’s nothing wrong with that, but when you are introducing new things into your core you are running into unforeseeable risks. I am not an early adapter of React, but I know enough of the pros and cons of the framework. 19:48 – Panel: I like that. Maybe I “should” adapt that framework and maybe I am not the right person to do so. 21:06 – Chuck: Dave brought us to a new topic and that’s: being an early adapter. Some people want a name, some people want to invent stuff and so many more reasons “why.” I don’t want to “poo poo” the idea but you need to know WHY. 21:48 – Panel: The cost of developers is A LOT. I just think if I was building a house and I had that expense then I better get a really nice house out of it. I want to do a good job and that’s important. On the business – side they have to rely on us and decisions that are in the best interest for everyone. 22:50 – Fresh Books! 23:53 – Chuck: So what do you guys think about: what’s coming? Do you feel like things are going to move away from frontend frameworks? Will there be a large adoption curve? 24:30 – Panel: If we are talking about the space of Ruby on Rails then you want it to be maintainable. You don’t want to steer too far away from its core. 28:11 – Panel: Good I like that. There are great tools that we are getting through Google, Facebook and they have great tools for these apps. They are looking for the 1-person startup very much like Basecamp. It’s all possible that we are holding onto these technologies that are great but does it fit ME. Do I want to maintain things? Do I want to make this more complicated? Especially if I really don’t fit into what I’m trying to do. 29:13 – Panel: Yeah some people in the DOT NET world they were really struggling with some modern approaches. 30:42 – Panel: One of our listeners texted me b/c we are recording LIVE. Panelist reads off from a listener’s text message that uses a quote. 31:16 – Panel: When I started Ruby it was a PHP project and I couldn’t get there. I didn’t have enough bandwidth. It was easy for me to build the RAILS way. 32:02 – Chuck: I was introduced to PHP in college, early 2000’s. I really enjoyed it and I was fairly productive and then I found Rails. 32:27 – Panelist talks about PHP, flash frontend, and more. 34:42 – Chuck: Could and will something come along that will affect the way we write code? 34:56 – Panel: Yes, b/c I think technology is sustainable for a certain amount of time before things start to change again. Look at the iPhones and the Android phones. 38:26 – Panel: I think it takes time to do something well. Panelist talks about Rails, Ruby, data, and more! 40:25 – Panel: It’s interesting b/c the tradeoff used to be much bigger. The bandwidth is better, the screens are better, the way we do things are better. There is much of a tradeoff. That’s how people are interacting with our business and our products. I tend to write these flowery articles that I don’t publish. There was something in the air and in the mid-2000’s we were launching Netflix, and all of these things were happening at that time. A lot is happening now but it’s different now. Where are we going? Where would I be happy to work? If we can get on the phone and inside of our data and it just adds more value. It’s not an easy answer to “Where are we going?” but it’s good to talk about it b/c people might be afraid to ask and to answer. 43:13 – Chuck: Anything else or picks? 43:19 – Panel: We are saying today: we aren’t trying to break-out of this bubble, but we are saying: let’s get closer to the user and there is so much opportunity in THIS space!! 44:10 – Panel: The technology is tapped-out right now. 44:50 – Advertisement: Get A Coder Job! End – Cache Fly! Links: Get a Coder Job Course The DevRev Podcast Show Angular DevChat TV Ruby Elixir Ruby on Rails Angular Cypress Vue React Jest.io Mocha.js Book: Desert Cabal Habits for Hackers Home Depot: DeWalt Harbor Freight 11ty Masterminds Webinar Sponsors: Sentry CacheFly Fresh Books Picks: Dave Dewalt Drill Dust Collector David Habits for Hackers Desert Cabal (for funnies) Charles Mastermind Hunter 11ty.io
Panel: Chris Fritz Charles Max Wood In this episode, the panel consists of Chris and Charles who talk about developer freedom. Chuck talks about his new show called The DevRev. The guys also talk about time management, answering e-mails, being self-employed, and their goals/hopes/dreams that they want to achieve in life. Check it out! Show Topics: 0:00 – Advertisement – Kendo UI 0:30 – Chuck: Hi! Today our panel is Chris and myself. My new show is The DevRev. There is a lot of aspect of our job that boil down to freedom. Figure out what they like to do and eliminate the things that they don’t like to do. I think it will be 5x a week and I will have a guest every week. What does freedom mean to you? What is your ideal coding situation where you don’t starve? 2:10 – Chris: Let me take a step-back. Why I got into coding it was even before that and it was education. I wanted to work with schools and not necessarily tied to only one school. As a programmer I cannot be asked to do things that I don’t agree with. 3:21 – Chuck: A lot of this thought-process came up b/c of my initial steps into my self-employment. I wanted to go to my son’s activities. I saw freelancing as an option and then had to do that b/c I got laid-off. I hate being told what to do. I have an HOA in my neighborhood and I hate it. They tell me when and how to mow my lawn. This is how I operate it. I hate that they tell me to mow my lawn. I want to talk to people who I want to talk to – that’s my idea of freedom. Everyone’s different idea of what “freedom” is will be different. 5:36 – Chris: I want more time to create more free stuff. Chris talks about DEV experience. 6:28 – Chuck: How did you get to that point of figuring out what you want to do? 6:44 – Chris: I still am figuring that out. I do have a lot of opportunities that are really exciting for me. It’s deciding what I like at that moment and choosing what I want to do vs. not what is going to wear me down. I don’t want to die with regret. There is a distinction between bad tired and good tired. You weren’t true to what you thought was right – and so you don’t settle easy. You toss and turn. I want to end with “good tired” both for the end of the day and for the end of my life. 8:00 – Chuck: I agree with that and I really identify with that. 8:44 – Chris: How do you measure yourself? 8:54 – Chuck: It’s hard to quantify it in only one idea. It’s hard to measure. I list out 5 things I need to do to get me closer to my [one] big goal. I have to get those 5 things done. Most of the time I can make it and I keep grinding on it before I can be done. 9:51 – Chris: My bar is pretty low. Is there more joy / more happiness in the world today in the world b/c of what I’ve done today? I know I will make mistakes in code – and that hurts, no day will be perfect. I try to have a net positive affect everyday. 10:53 – Chris: I can fall easily into depression if I have too many bad days back-to-back. 11:03 – Chuck: I agree and I have to take time off if that happens. 11:13 – Chris talks about open source work and he mentions HOPE IN SOURCE, also Babel. 12:23 – Chuck: When I got to church and there is this component of being together and working towards the same goals. It’s more than just community. There is a real – something in common that we have. 12:57 – Chris: Do you think it’s similar to open source? 13:05 – Chuck: You can watch a podcast in-lieu of an actual in-person sermon. In my church community it’s – Building Each Other Up. It’s not the same for when I contribute to open source. 13:43 – Chris: I ask myself: Is it of value? If I were to die would that work help progress the humankind? By the time I die - I will be completely useless b/c everything in my head is out there in other peoples’ heads. 14:35 – Chuck: When I am gone – I want someone to step into my void and continue that. These shows should be able to go on even if I am not around. I want to make sure that these shows can keep going. 15:48 – Chris: How can we build each other up? We want to have opportunities to grow. I try to provide that for members of the team and vice versa. The amount of respect that I have seen in my communities is quite amazing. I admire Thorsten on the Vue team a lot. (Thorsten’s Twitter.) He talked about compassion and how to communicate with each other and code with compassion. That’s better community and better software. You are forced to thin from multiple perspectives. You want to learn from these various perspectives. 17:44 – Chuck: The ideas behind the camaraderie are great. 17:56 – Chris: And Sarah Drasner! 18:38 – Chuck: She probably feels fulfilled when she helps you out (Sarah). 18:54 – Chuck: We all have to look for those opportunities and take them! 19:08 – Chuck: We have been talking about personal fulfillment. For me writing some awesome code in Vue there is Boiler Plate or running the tests. 19:52 – Chuck: What tools light you up? 20:02 – Chris: I am a bit of a weirdo. I feel pretty good when I am hitting myself against a wall for 9 hours. I like feeling obsessed about something and defeating it. I love it. 21:21 – Chuck: The things that make you bang your head against the wall is awful for me. I like writing code that helps someone. (Chris: I like the challenge.) We will be charged up for different things. You like the challenge and it empowers me to help others out. 22:21 – Chris: I like learning more about how something works. I want to save people a lot of work. There has to be a social connection or I will have a hard time even attempting it. 22:52 – Chris: I also play video games where there are no social connections. I played the Witness a few months ago and I loved the puzzles. 23:45 – Chuck: What other tools are you using? 23:57 – Chris: Webpack is the best took for creating the ideal development scenario. 24:47 – Chuck mentions Boiler Plate. 25:00 – Chris: It was built to help large teams and/or large applications. I built some other projects like: Hello Vue Components & (with John Papa) Vue Monolith Example. 27:07 – Chuck: Anything else that you consider to be “freeing?” 27:13 – Chris: I like working from home. I like having my routines – they make me happy and productive. Having full control over that makes me happy. The only thing I have is my wife and my cat. 28:12 – Chuck: Yeah I don’t miss driving through traffic. 28:44 – Chris: I don’t like to be around people all day. 30:40 – Advertisement: Get A Coder Job! 31:05 – Chris: Online I get a couple dozen people reaching out to me for different things: completely out-of-the-blue. I want to respond to most of those people but... 33:12 – Chuck: If it’s not on my calendar it won’t happen. I will get those e-mails that can be very time consuming. 33:35 – Chris: When they are asking for something “simple” – it’s not always simple. 34:30 – Chuck: I want to help everybody and that can be a problem. 35:02 – Chris: They are reaching out to me and I want to help. 35:56 – Chuck and Chris go back-and-forth. 36:18 – Chris: How do you figure out how to write a short enough response to the email – to only do 30 minutes? 36:44 – Chuck: Can I answer it in one minute? Nope – so it will go into another pile later in the week. I’ve replied saying: Here is my short-answer and for the long-answer see these references. I star those e-mails that will take too long to respond. 37:50 – Chris and Chuck go back-and-forth. 38:06 – Chuck: Your question is so good – here is the link to the blog that I wrote. 38:37 – Chris: I want to document to point people HERE to past blogs that I’ve written or to someone else’s blog. I feel guilty when I have to delegate. 39:35 – Chuck: I don’t have a problem delegating b/c that’s why I’m paying them. Everyone has his or her own role. 40:40 – Chris: Yeah that makes sense when it’s their job. 41:30 – Chuck: I know working together as a team will free me up in my areas of excellence. 41:49 – Chris: I am having a hard time with this right now. 43:36 – Chuck: We are looking for someone to fill this role and this is the job description. This way you can be EXCELLENT at what you do. You aren’t being pulled too thin. 44:19 – Chris: I have been trying to delegate more. 45:04 – Chuck: Yeah I have been trying to do more with my business, too. What do I want to do in the community? What is my focus? What is my mission and values for the business? Then you knock it out of the park! 45:51 – Chris: As a teacher it is really helpful and really not helpful. You are leading and shaping their experiences. You don’t have options to delegate. 46:27 – Chuck: Yeah my mother is a math teacher. 46:37 – Chuck: Yeah she has 10 kids, so she helps to delegate with force. She is the department head for mathematics and she does delegate some things. It’s you to teach the course. 47:18 – Chris: What promoted you to start this podcast? Is it more personal? 47:30 – Chuck talks about why he is starting this new podcast. 48:10 – Chuck: My business coach said to me: write a mission statement. When I did that things started having clarity for me. Chuck talks about the plan for the DevRev! 55:20 – Chris: I am looking forward to it! 55:34 – Chuck: It will be recorded via video through YouTube, too, in addition to iTunes (hopefully). 55:52 – Chris & Chuck: Picks! 55:58 – Advertisement – Fresh Books! DEVCHAT code. 30-day trial. Links: Vue React JavaScript C# C++ C++ Programming / Memory Management Angular Blazor JavaScript DevChat TV VueCLI Boiler Plate Hello Vue Components Vue Monolith Example Thorsten’s Twitter Sarah’s Twitter Ben Hong’s Twitter Jacob Schatz’ Twitter Vue Vixens The DevRev Sponsors: Fresh Books Cache Fly Kendo UI Get A Coder Job! Picks: Chris Vue Vixens Charles repurpose.io MFCEO Project Podcast Game - Test Version
Panel: Chris Fritz Charles Max Wood In this episode, the panel consists of Chris and Charles who talk about developer freedom. Chuck talks about his new show called The DevRev. The guys also talk about time management, answering e-mails, being self-employed, and their goals/hopes/dreams that they want to achieve in life. Check it out! Show Topics: 0:00 – Advertisement – Kendo UI 0:30 – Chuck: Hi! Today our panel is Chris and myself. My new show is The DevRev. There is a lot of aspect of our job that boil down to freedom. Figure out what they like to do and eliminate the things that they don’t like to do. I think it will be 5x a week and I will have a guest every week. What does freedom mean to you? What is your ideal coding situation where you don’t starve? 2:10 – Chris: Let me take a step-back. Why I got into coding it was even before that and it was education. I wanted to work with schools and not necessarily tied to only one school. As a programmer I cannot be asked to do things that I don’t agree with. 3:21 – Chuck: A lot of this thought-process came up b/c of my initial steps into my self-employment. I wanted to go to my son’s activities. I saw freelancing as an option and then had to do that b/c I got laid-off. I hate being told what to do. I have an HOA in my neighborhood and I hate it. They tell me when and how to mow my lawn. This is how I operate it. I hate that they tell me to mow my lawn. I want to talk to people who I want to talk to – that’s my idea of freedom. Everyone’s different idea of what “freedom” is will be different. 5:36 – Chris: I want more time to create more free stuff. Chris talks about DEV experience. 6:28 – Chuck: How did you get to that point of figuring out what you want to do? 6:44 – Chris: I still am figuring that out. I do have a lot of opportunities that are really exciting for me. It’s deciding what I like at that moment and choosing what I want to do vs. not what is going to wear me down. I don’t want to die with regret. There is a distinction between bad tired and good tired. You weren’t true to what you thought was right – and so you don’t settle easy. You toss and turn. I want to end with “good tired” both for the end of the day and for the end of my life. 8:00 – Chuck: I agree with that and I really identify with that. 8:44 – Chris: How do you measure yourself? 8:54 – Chuck: It’s hard to quantify it in only one idea. It’s hard to measure. I list out 5 things I need to do to get me closer to my [one] big goal. I have to get those 5 things done. Most of the time I can make it and I keep grinding on it before I can be done. 9:51 – Chris: My bar is pretty low. Is there more joy / more happiness in the world today in the world b/c of what I’ve done today? I know I will make mistakes in code – and that hurts, no day will be perfect. I try to have a net positive affect everyday. 10:53 – Chris: I can fall easily into depression if I have too many bad days back-to-back. 11:03 – Chuck: I agree and I have to take time off if that happens. 11:13 – Chris talks about open source work and he mentions HOPE IN SOURCE, also Babel. 12:23 – Chuck: When I got to church and there is this component of being together and working towards the same goals. It’s more than just community. There is a real – something in common that we have. 12:57 – Chris: Do you think it’s similar to open source? 13:05 – Chuck: You can watch a podcast in-lieu of an actual in-person sermon. In my church community it’s – Building Each Other Up. It’s not the same for when I contribute to open source. 13:43 – Chris: I ask myself: Is it of value? If I were to die would that work help progress the humankind? By the time I die - I will be completely useless b/c everything in my head is out there in other peoples’ heads. 14:35 – Chuck: When I am gone – I want someone to step into my void and continue that. These shows should be able to go on even if I am not around. I want to make sure that these shows can keep going. 15:48 – Chris: How can we build each other up? We want to have opportunities to grow. I try to provide that for members of the team and vice versa. The amount of respect that I have seen in my communities is quite amazing. I admire Thorsten on the Vue team a lot. (Thorsten’s Twitter.) He talked about compassion and how to communicate with each other and code with compassion. That’s better community and better software. You are forced to thin from multiple perspectives. You want to learn from these various perspectives. 17:44 – Chuck: The ideas behind the camaraderie are great. 17:56 – Chris: And Sarah Drasner! 18:38 – Chuck: She probably feels fulfilled when she helps you out (Sarah). 18:54 – Chuck: We all have to look for those opportunities and take them! 19:08 – Chuck: We have been talking about personal fulfillment. For me writing some awesome code in Vue there is Boiler Plate or running the tests. 19:52 – Chuck: What tools light you up? 20:02 – Chris: I am a bit of a weirdo. I feel pretty good when I am hitting myself against a wall for 9 hours. I like feeling obsessed about something and defeating it. I love it. 21:21 – Chuck: The things that make you bang your head against the wall is awful for me. I like writing code that helps someone. (Chris: I like the challenge.) We will be charged up for different things. You like the challenge and it empowers me to help others out. 22:21 – Chris: I like learning more about how something works. I want to save people a lot of work. There has to be a social connection or I will have a hard time even attempting it. 22:52 – Chris: I also play video games where there are no social connections. I played the Witness a few months ago and I loved the puzzles. 23:45 – Chuck: What other tools are you using? 23:57 – Chris: Webpack is the best took for creating the ideal development scenario. 24:47 – Chuck mentions Boiler Plate. 25:00 – Chris: It was built to help large teams and/or large applications. I built some other projects like: Hello Vue Components & (with John Papa) Vue Monolith Example. 27:07 – Chuck: Anything else that you consider to be “freeing?” 27:13 – Chris: I like working from home. I like having my routines – they make me happy and productive. Having full control over that makes me happy. The only thing I have is my wife and my cat. 28:12 – Chuck: Yeah I don’t miss driving through traffic. 28:44 – Chris: I don’t like to be around people all day. 30:40 – Advertisement: Get A Coder Job! 31:05 – Chris: Online I get a couple dozen people reaching out to me for different things: completely out-of-the-blue. I want to respond to most of those people but... 33:12 – Chuck: If it’s not on my calendar it won’t happen. I will get those e-mails that can be very time consuming. 33:35 – Chris: When they are asking for something “simple” – it’s not always simple. 34:30 – Chuck: I want to help everybody and that can be a problem. 35:02 – Chris: They are reaching out to me and I want to help. 35:56 – Chuck and Chris go back-and-forth. 36:18 – Chris: How do you figure out how to write a short enough response to the email – to only do 30 minutes? 36:44 – Chuck: Can I answer it in one minute? Nope – so it will go into another pile later in the week. I’ve replied saying: Here is my short-answer and for the long-answer see these references. I star those e-mails that will take too long to respond. 37:50 – Chris and Chuck go back-and-forth. 38:06 – Chuck: Your question is so good – here is the link to the blog that I wrote. 38:37 – Chris: I want to document to point people HERE to past blogs that I’ve written or to someone else’s blog. I feel guilty when I have to delegate. 39:35 – Chuck: I don’t have a problem delegating b/c that’s why I’m paying them. Everyone has his or her own role. 40:40 – Chris: Yeah that makes sense when it’s their job. 41:30 – Chuck: I know working together as a team will free me up in my areas of excellence. 41:49 – Chris: I am having a hard time with this right now. 43:36 – Chuck: We are looking for someone to fill this role and this is the job description. This way you can be EXCELLENT at what you do. You aren’t being pulled too thin. 44:19 – Chris: I have been trying to delegate more. 45:04 – Chuck: Yeah I have been trying to do more with my business, too. What do I want to do in the community? What is my focus? What is my mission and values for the business? Then you knock it out of the park! 45:51 – Chris: As a teacher it is really helpful and really not helpful. You are leading and shaping their experiences. You don’t have options to delegate. 46:27 – Chuck: Yeah my mother is a math teacher. 46:37 – Chuck: Yeah she has 10 kids, so she helps to delegate with force. She is the department head for mathematics and she does delegate some things. It’s you to teach the course. 47:18 – Chris: What promoted you to start this podcast? Is it more personal? 47:30 – Chuck talks about why he is starting this new podcast. 48:10 – Chuck: My business coach said to me: write a mission statement. When I did that things started having clarity for me. Chuck talks about the plan for the DevRev! 55:20 – Chris: I am looking forward to it! 55:34 – Chuck: It will be recorded via video through YouTube, too, in addition to iTunes (hopefully). 55:52 – Chris & Chuck: Picks! 55:58 – Advertisement – Fresh Books! DEVCHAT code. 30-day trial. Links: Vue React JavaScript C# C++ C++ Programming / Memory Management Angular Blazor JavaScript DevChat TV VueCLI Boiler Plate Hello Vue Components Vue Monolith Example Thorsten’s Twitter Sarah’s Twitter Ben Hong’s Twitter Jacob Schatz’ Twitter Vue Vixens The DevRev Sponsors: Fresh Books Cache Fly Kendo UI Get A Coder Job! Picks: Chris Vue Vixens Charles repurpose.io MFCEO Project Podcast Game - Test Version
Panel: Mark Ericksen Josh Adams Special Guest: Edgar Pino In this episode of Elixir Mix, the panel talks with Edgar Pino who talks with the panel about the latest version of Ecto! They discuss Ecto’s new features and how easy of a transition it was to go from the previous to the newest version. Edgar Pino is a software engineer who currently resides in Utah! Check out today’s episode! Show Topics: 0:00 – Advertisement: Get A Coder Job! 1:04 – Mark: Hello! Please give us your background? 1:16 – Guest: I have been in Elixir for the past year or two and I have been living in Utah. 1:48 – Mark: I love the nature and state parks. Winter is coming, so I hope you are ready! 1:58 – Guest: Winter...hopefully it will be great! 2:20 – Panelists and guest go back-and-forth. 2:30 – Mark: Let’s talk about your blog posts about Ecto. What are your new announcements? 2:52 – Guest: Our new version was released a few weeks ago. 3:32 – Panel. 3:38 – The guest talks about the old and new versions of Ecto. 4:03 – Panel: What is new and how is this going to affect me (the new version)? 4:11 – Panel: The transition was pretty painless for me. The only change was the breaking-up of the adapter ad also the timestamp bit. That was it. 4:34 – Panel: Yeah that micro-timestamp surprised me for a second, but it wasn’t that bad after all. 4:52 – Guest: Yeah it was painless for me, too. 5:19 – Panel: Edgar can you talk about the change and what they did with the timestamps? 5:32 – The guest answers the question. 5:54 – Panel: Elm opted to use the micro-millisecond, too. Time zones aren’t a thing. 6:24 – Mark. 7:08 – Panel: My tests are the only reason why I care about the millisecond. 7:21 – Mark: With the upgrade don’t do what I did. Mark talks about how he updated and the issues he had. 8:47 – Guest: Pattern matching? 8:53 – Mark: Yep that sort of stuff. I didn’t need to do it and it was a learning experience. Edgar, please give us an introduction to the blog posts? Why did you want to document it? 9:18 – Guest: I always used Ecto with Phoenix but started learning Ecto by itself. I jotted down notes that I thought was interesting. That’s how it started. 10:17 – Mark: See links in the show notes. Using a gen to use the repo – this is one thing that I didn’t know was an option. 10:46 – Guest. 11:01 – Mark asks a question. 11:10 – Guest: Not really PHP applications but listening to web messages and hot topics but you are doing the database and serving data... 11:40 – Guest talks about Ecto and the different versions and features. 12:09 – Mark chimes-in. 12:23 – Panel: Yep – it’s under the hood and it’s for business logic and doesn’t have a web piece. Stop writing tings for the web – it’s a fad. 12:50 – Mark: It’s an umbrella and saw this through the Phoenix generators. 13:54 – Guest talks about web applications. 14:06 – Mark: Let’s talk about schema and databases? 14:23 – Panelist chimes-in. 14:51 – Panelists and guest talk about schemas, apps, and more. Check it out here. 16:13 – Guest: You will get the data and pass it in as a structure and... 16:23 – Mark: Here is a map of what I’d like you to do on my behalf. It goes to a chain set and I will turn it into a string and this is why it’s failed. 17:25 – Panel. 17:31 – Mark: It’s not hard and it’s pretty easy. Let’s talk about blog posts. 18:10 – Panel. 18:22 – Mark: I use Absinthe in the library in Elixir to support GraphQL. 18:50 – Panel. 19:06 – Guest: The total number of results and only once did I need a more complicated thing. 19:34 – Mark: I haven’t had a need for those. 20:01 – Panelists and guests talk about the hypothetical situations where and how they would use certain features for said situations. 20:23 – Guest: You don’t have to understand right out-of-the-box. 20:40 – Panel: Have you used stored functions as meta-columns in an Ecto schema? 20:48 – Panelist explains. 21:24 – Guest: I have used them in the past and now I don’t. For me it was hard to debug – maybe it’s just me. 21:43 – Panel: I was introduced to them through a colleague of mine. 21:53 – Mark chimes-in and talks about him being a DOT NET developer. 22:18 – Panelist chime-in, too! 22:50 – Mark. 23:16 – Panel: It was an awful time and not a good idea. 70 pages! Debugging it was hard. 23:35 – Mark: That experience was apart of that burn that I had before. I wanted to stay far away from it as far as I could. 24:00 – Panel: When I was doing it in DOT NET we didn’t have migrations. 24:12 – Panelist continues. 24:32 – Guest: I wonder if... 24:37 – Panel: It’s just a sequel – it’s not just an Ecto specific feature. 24:48 – Guest. 24:53 – FreshBooks! 26:01 – Mark: Edgar you were interested also in HOW Ecto was built. What experience did you have? 26:21 – Guest answers the question. 28:22 – Panel: No you typed REPO there. 28:30 – Guest: Whenever you save or make an update it’s a method. Unlike Ecto you have to all it something else. 28:47 – Panel: Hey let me get those article posted and someone did it in Loop and that is a lot of queries. 29:03 – Guest: Yeah that’s a good point. 29:45 – Mark: Something I’ve noticed is that they talk about performance improvements and better memory usage. Go read about it- it’s great. They talk about HOW Ecto is working and what is behind the scenes. 31:15 – Mark: Another feature that I have seen is UPSERTS. 31:50 – Guest talks about UPSERTS, too. 32:34 – Mark: Say I have a system that has 3 servers and it’s rolling updates (it will take down one and put up the new code, etc. and it will cycle) one thing they added was a lock on the migration table. I don’t know if you’ve had this – once it hits production data it is slow. Mark continues. 33:20 – Panel: I think it was just luck of the draw. 33:30 – Mark continues. 33:57 – The guest talks about his experience with the above-mentioned scenario. 34:20 – Mark: I like that you both have had goo experiences with your upgrades. I want people to be excited and know that there are great features out there. 34:49 – Guest: Yes, I have found that the blog post is helpful. It’s good to get adapted to the new changes. 35:17 – Panel: Yeah I normally don’t have teasers up to the actual upgrade. 35:28 – Panel: The community is nice and people made a good effort to communicate and help people. They did a GOOD job of helping people to feel comfortable within the transition from one version to the next! 41:37 – Ad: Lootcrate.com END – CacheFly! Links: Ruby Elixir Elixir: GenServer GenServers Elm JavaScript Visual Studio Code React Edgar Pino A sneak peek at Ecto 3 Ecto Active Record Pattern Repository Sponsors: Loot Crate Get a Coder Job! Fresh Books CacheFly Picks: Mark Plex Josh This Erlang Life Guest Ecto Documentation! Edgar Pino – My blog!
Panel: Eric Berry Dave Kimura David Richards Charles Max Wood In this episode of Ruby Rogues, the panelists talk amongst themselves on today’s topic, which is “speculation on frameworks.” They consider where the tech community currently is right now, and where it’s heading towards the future. They bring-up topics such as: Rails, Ruby, Angular, Agile, and much more. Check it out! Show Topics: 0:00 – Advertisement: Sentry.io 1:47 – Chuck: Check out the DevRev 2:08 – Panel: A topic about “speculation” would be great today. What are we seeing in the community: what we like/don’t like, and what would you want to change? He talks about action text, JavaScript framework, and more. 3:41 – Chuck: Service-side rendering is what we talked about in the past. Divya does this with service–side rendering. For content sites that approach makes a lot of sense. I have playing around with this for the past week or so. I was taking it to rendering it to text. 4:39 – Panel: Yeah, that’s the way to go. 5:29 – Chuck: You are talking about a fully side UI. 5:45 – Panel: I thought it was just my age so I am glad we are talking about this. The hip kids want to make these beautiful frontend sites. I want to keep it simple and then justify more later. I guess I would never be as hip but as long as my stuff gets out there – that’s all that matters to me. 6:28 – Panel: Yeah don’t get me wrong...nobody will want to develop your product if it was built 30 years ago. If it is a startup you want it to look good with a nice UI. Nobody will purchase if it looks outdated. How much maintenance do I want to invest into this? Why add another component into that if you cannot maintain it. 7:56 – Chuck: Yeah I have come into this issue while building the Podcast Service that I am creating. 8:25 – Panel: These are good frameworks and they feel great. I don’t realize the complexity that I am taking on sometimes. I have a lot of complexity on my hands: did I need it? 9:02 – Chuck: Sometimes my problem is that I am trying to pull it in after-the-fact. Like the forms to animate or this and that have to slide in. I want a natural feel to the UX. I looked at React and then I didn’t go that way. I have been podcasting about Angular for 4 years, but it was a no-go for my project. For my solution – it makes sense to just get it going and get it rolling. 10:45 – Panel: When we do use Action Vue we are prone to get lazy. What I mean by that is making database calls. 12:01 – Panel: You can think: Inside-Out! That creates an identity around the project. If I can think of that before going in, then everyone knows what we are doing and what their role is. It’s really obvious. Simple things grow into bigger things. I am a fan of service-side objects. It’s a daily work process. That feels good to me and it’s programmatic for me. 13:24 – Chuck: You aren’t saying: I don’t want or I don’t need ... what you are saying is: I will get this tool when I need it. 13:45 – Panel: You can say: “Hey this is what we are going to do and WHY we are going to do it.” It’s nice to come back to old projects and to see that it’s still solid. It’s nice to see that and people own that software and didn’t have to keep updating. 15:06 – Chuck: It reminds me of the Agile development stuff. The approach between Angular and React and Vue are fairly different. They are reasonably different. There will be tradeoffs between which one to use. When you are making that decision then you can make the appropriate decision on that. 16:10 – Panel: I remember in the prior years when the Rails community grew their own people and you were a RAILS person; now it’s you’re a WEB person. 17:43 – Panel: In a lot of cases it’s good to see what’s out there and to see what’s new; especially early on if they end up being ahead of their time. Then you are an early pioneer in that area. There’s nothing wrong with that, but when you are introducing new things into your core you are running into unforeseeable risks. I am not an early adapter of React, but I know enough of the pros and cons of the framework. 19:48 – Panel: I like that. Maybe I “should” adapt that framework and maybe I am not the right person to do so. 21:06 – Chuck: Dave brought us to a new topic and that’s: being an early adapter. Some people want a name, some people want to invent stuff and so many more reasons “why.” I don’t want to “poo poo” the idea but you need to know WHY. 21:48 – Panel: The cost of developers is A LOT. I just think if I was building a house and I had that expense then I better get a really nice house out of it. I want to do a good job and that’s important. On the business – side they have to rely on us and decisions that are in the best interest for everyone. 22:50 – Fresh Books! 23:53 – Chuck: So what do you guys think about: what’s coming? Do you feel like things are going to move away from frontend frameworks? Will there be a large adoption curve? 24:30 – Panel: If we are talking about the space of Ruby on Rails then you want it to be maintainable. You don’t want to steer too far away from its core. 28:11 – Panel: Good I like that. There are great tools that we are getting through Google, Facebook and they have great tools for these apps. They are looking for the 1-person startup very much like Basecamp. It’s all possible that we are holding onto these technologies that are great but does it fit ME. Do I want to maintain things? Do I want to make this more complicated? Especially if I really don’t fit into what I’m trying to do. 29:13 – Panel: Yeah some people in the DOT NET world they were really struggling with some modern approaches. 30:42 – Panel: One of our listeners texted me b/c we are recording LIVE. Panelist reads off from a listener’s text message that uses a quote. 31:16 – Panel: When I started Ruby it was a PHP project and I couldn’t get there. I didn’t have enough bandwidth. It was easy for me to build the RAILS way. 32:02 – Chuck: I was introduced to PHP in college, early 2000’s. I really enjoyed it and I was fairly productive and then I found Rails. 32:27 – Panelist talks about PHP, flash frontend, and more. 34:42 – Chuck: Could and will something come along that will affect the way we write code? 34:56 – Panel: Yes, b/c I think technology is sustainable for a certain amount of time before things start to change again. Look at the iPhones and the Android phones. 38:26 – Panel: I think it takes time to do something well. Panelist talks about Rails, Ruby, data, and more! 40:25 – Panel: It’s interesting b/c the tradeoff used to be much bigger. The bandwidth is better, the screens are better, the way we do things are better. There is much of a tradeoff. That’s how people are interacting with our business and our products. I tend to write these flowery articles that I don’t publish. There was something in the air and in the mid-2000’s we were launching Netflix, and all of these things were happening at that time. A lot is happening now but it’s different now. Where are we going? Where would I be happy to work? If we can get on the phone and inside of our data and it just adds more value. It’s not an easy answer to “Where are we going?” but it’s good to talk about it b/c people might be afraid to ask and to answer. 43:13 – Chuck: Anything else or picks? 43:19 – Panel: We are saying today: we aren’t trying to break-out of this bubble, but we are saying: let’s get closer to the user and there is so much opportunity in THIS space!! 44:10 – Panel: The technology is tapped-out right now. 44:50 – Advertisement: Get A Coder Job! End – Cache Fly! Links: Get a Coder Job Course The DevRev Podcast Show Angular DevChat TV Ruby Elixir Ruby on Rails Angular Cypress Vue React Jest.io Mocha.js Book: Desert Cabal Habits for Hackers Home Depot: DeWalt Harbor Freight 11ty Masterminds Webinar Sponsors: Sentry CacheFly Fresh Books Picks: Dave Dewalt Drill Dust Collector David Habits for Hackers Desert Cabal (for funnies) Charles Mastermind Hunter 11ty.io
Panel: Charles Max Wood John Papa Aaron Frost Special Guest: Juan Herrera In this episode, the panelists talk with today’s special guest, Juan Herrera. The guys talk about community and how the Angular community is different than others out there. The following topics are discussed: calls for proposals (CFP), talking at conferences, Meetups, and reaching out to others within the same field as yours. The team emphasizes how meeting and networking not only creates great business connections, but great lasting friendships, too! Check it out! Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:52 – Chuck: Hello! Our panel is Eric, John, and myself. Our special guest today is Juan Herrera! 1:00 – Panel and guest go back-and-forth. 2:28 – Chuck: Let’s discuss how to think about community locally, nationally, and internationally! 2:39 – Guest talks about his background and his work in Columbia. 4:00 – Aaron: I will give my talk in Spanish and it will be epic. I think we should start a hashtag “bonniemademedoit.” Aaron is talking about Bonnie and how she’s inspired Juan and many, many people. 5;18 – Chuck: She is so enthusiastic about this stuff you have a hard time telling her “no.” 5:32 – Guest. 6:00 – Panel: I am proud that she is apart of our community, which is our topic today. 6:26 – Guest: Yes, I think these conferences help make people pumped-up about these sort of things. 6:53 – Chuck: I am curious when talk about community – talking about global communities they are similar to other Meetups and incorporate their own way of doing things. How do you find that your particular area is unique in its own way? 7:32 – Guest: When we start this community I want to see what’s already out there? Once I know that I was trying to mimic what was already out there. In addition to that I went out of my way to figure out how to make people feel welcomed and find our own niche. 10:27: Panel: Hey – let’s create a community! I think sometimes it’s deliberate and other times it just happened. It sounded like you were very intentional. How did you get people involved? How did you get the word out? How did you get people to give talks? 11:10 – Guest: Yes that is a great challenge for us. Great question! I wanted to help people gain exposure and to help them participate at the conference. After giving their talk we give them a special gift. It can be a shirt or sticker or something. It seems enough for people to come and participate. We realized some people were scared to participate b/c imposter syndrome kicked-in. We made sure they felt comfortable and it helped them to participate. 15:00 – Panel: Yeah it sounds like 300 is a very solid conference. Good job! 15:18 – Chuck: Yeah they compare it to the bigger conferences when the local conferences are just as strong and good. Sometimes the smaller conferences are really nice b/c they are more intimate. 16:05 – Panel: I am not a fan of these massive conferences. Great, but you can’t have conversation with 50,000 people. You go to the vendor floor – it’s loud and dark. I go to conferences to talk and listen to them. I like to listen to their challenges and hear stories. 17:01 – Panel: I enjoy the variety. 17:48 – Panel: Just the quality of people that were there was fantastic. NG VIKINGS is a great one to go to! 18:10 – Panel: I saw the conference for New Zealand? And the one that is in Antarctica?! 19:10 – Panel: Some people say: I don’t know how to get involved with X conference? I have a hard time giving advice b/c we all have different backgrounds. Who wants to present on Chrome Frame? Or... 21:07 – Guest: Not everyone is outgoing nor comfortable being in front of an audience. However, just practicing helps! 21:33 – Advertisement: Get A Coder Job! 22:12 – Panel: Chuck, I want to hear about your community! 22:25 – Chuck: I can’t go to a development conference that doesn’t know who I am. I thrive off of people and connecting with them. There are a lot of great opportunities from learning from folks. The email went out this morning and get in the general channel and say: What do you listen to? What are you up to? It’s nice to hear feedback. 25:54 – Panel: I appreciate the work you’ve done within the community, too, Chuck! 26:08 – Panel: My community I’ve been around the block for about 20+ years. I get into one technology and then bounce from one to the other. I’ve had the blessing to be apart of many different communities. I did a lot of JavaScript back in the day and then left when it was a mess. These communities all have something similar: people come together. They want to find others who look/act like them! These experiences change people’s lives! 28:11 – Guest: Through these communities I’ve made a lot of friends and great colleagues. Not just professional but also personal. 28:44 – Panel: Yep the people that I’ve met through Twitter and conferences. 29:00 – Panel. 29:33 – Panel: I was in Poland a few weeks ago and I met some guys – two different Mike’s. I love how down-to-earth these guys are and I think it’s awesome to meet these great people at these conferences! 30:11 – Panel: Go to Angular conferences if you can! 31:25 – Panel: I tell people to do the same thing! 33:17 – Guest: Yeah there are people out there that are introverted, but know that other people are like you, too! Reach out to people before the conference and Tweet at them! Invite people to your group and meet-up at conferences and have a coffee! 34:55 – Panel: I meet a lot of people on Twitter. 35:51 – Panel: I think we are getting to the end and I need to say this. The angular community is a bit different compared to other communities. One thing that this community doesn’t have is the focus of the community. On top of the community are Rob, Steven, Jewels and Naomi and others! I think the Angular team themselves really care! I know they care. 38:09 – Guest: I completely agree with you, Aaron! We appreciate it! 38:25 – Chuck: To wrap-up let’s talk to you, Juan, about where communities should be going to take care of the people 38:45 – Guest: Yeah, what are we going to do next year? Are we going to do Meetups? Do they need something else? What are the needs of our members today and tomorrow? We decided to change the format. We realized that Meetups are great but they are 20-minute talks and they aren’t enough for our members. We do 4 hour Meetup that is called the MEGA MEETUP! 41:00 – Fresh Books! END – CacheFly! Links: Vue jQuery Angular JavaScript Python React Cypress Meetup Conference in Antarctica! Guest: Juan Herrera – Twitter Guest: Juan Herrera – GitHub Sponsors: Angular Boot Camp Cache Fly Picks: Aaron Harry Potter Play Talk from Angular Connect – Grant Timmerman – Google Team CFP: ngVikings 2019 CFP: ngConf @aaronfrost – Twitter! Chuck DevChat TV transferring from WordPress to a static site. Guest JS – library CFP in Columbia! (2019 conference) @jdjuan – Twitter! John Forbes Article: How to start a conversation...
Panel: Charles Max Wood John Papa Aaron Frost Special Guest: Juan Herrera In this episode, the panelists talk with today’s special guest, Juan Herrera. The guys talk about community and how the Angular community is different than others out there. The following topics are discussed: calls for proposals (CFP), talking at conferences, Meetups, and reaching out to others within the same field as yours. The team emphasizes how meeting and networking not only creates great business connections, but great lasting friendships, too! Check it out! Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:52 – Chuck: Hello! Our panel is Eric, John, and myself. Our special guest today is Juan Herrera! 1:00 – Panel and guest go back-and-forth. 2:28 – Chuck: Let’s discuss how to think about community locally, nationally, and internationally! 2:39 – Guest talks about his background and his work in Columbia. 4:00 – Aaron: I will give my talk in Spanish and it will be epic. I think we should start a hashtag “bonniemademedoit.” Aaron is talking about Bonnie and how she’s inspired Juan and many, many people. 5;18 – Chuck: She is so enthusiastic about this stuff you have a hard time telling her “no.” 5:32 – Guest. 6:00 – Panel: I am proud that she is apart of our community, which is our topic today. 6:26 – Guest: Yes, I think these conferences help make people pumped-up about these sort of things. 6:53 – Chuck: I am curious when talk about community – talking about global communities they are similar to other Meetups and incorporate their own way of doing things. How do you find that your particular area is unique in its own way? 7:32 – Guest: When we start this community I want to see what’s already out there? Once I know that I was trying to mimic what was already out there. In addition to that I went out of my way to figure out how to make people feel welcomed and find our own niche. 10:27: Panel: Hey – let’s create a community! I think sometimes it’s deliberate and other times it just happened. It sounded like you were very intentional. How did you get people involved? How did you get the word out? How did you get people to give talks? 11:10 – Guest: Yes that is a great challenge for us. Great question! I wanted to help people gain exposure and to help them participate at the conference. After giving their talk we give them a special gift. It can be a shirt or sticker or something. It seems enough for people to come and participate. We realized some people were scared to participate b/c imposter syndrome kicked-in. We made sure they felt comfortable and it helped them to participate. 15:00 – Panel: Yeah it sounds like 300 is a very solid conference. Good job! 15:18 – Chuck: Yeah they compare it to the bigger conferences when the local conferences are just as strong and good. Sometimes the smaller conferences are really nice b/c they are more intimate. 16:05 – Panel: I am not a fan of these massive conferences. Great, but you can’t have conversation with 50,000 people. You go to the vendor floor – it’s loud and dark. I go to conferences to talk and listen to them. I like to listen to their challenges and hear stories. 17:01 – Panel: I enjoy the variety. 17:48 – Panel: Just the quality of people that were there was fantastic. NG VIKINGS is a great one to go to! 18:10 – Panel: I saw the conference for New Zealand? And the one that is in Antarctica?! 19:10 – Panel: Some people say: I don’t know how to get involved with X conference? I have a hard time giving advice b/c we all have different backgrounds. Who wants to present on Chrome Frame? Or... 21:07 – Guest: Not everyone is outgoing nor comfortable being in front of an audience. However, just practicing helps! 21:33 – Advertisement: Get A Coder Job! 22:12 – Panel: Chuck, I want to hear about your community! 22:25 – Chuck: I can’t go to a development conference that doesn’t know who I am. I thrive off of people and connecting with them. There are a lot of great opportunities from learning from folks. The email went out this morning and get in the general channel and say: What do you listen to? What are you up to? It’s nice to hear feedback. 25:54 – Panel: I appreciate the work you’ve done within the community, too, Chuck! 26:08 – Panel: My community I’ve been around the block for about 20+ years. I get into one technology and then bounce from one to the other. I’ve had the blessing to be apart of many different communities. I did a lot of JavaScript back in the day and then left when it was a mess. These communities all have something similar: people come together. They want to find others who look/act like them! These experiences change people’s lives! 28:11 – Guest: Through these communities I’ve made a lot of friends and great colleagues. Not just professional but also personal. 28:44 – Panel: Yep the people that I’ve met through Twitter and conferences. 29:00 – Panel. 29:33 – Panel: I was in Poland a few weeks ago and I met some guys – two different Mike’s. I love how down-to-earth these guys are and I think it’s awesome to meet these great people at these conferences! 30:11 – Panel: Go to Angular conferences if you can! 31:25 – Panel: I tell people to do the same thing! 33:17 – Guest: Yeah there are people out there that are introverted, but know that other people are like you, too! Reach out to people before the conference and Tweet at them! Invite people to your group and meet-up at conferences and have a coffee! 34:55 – Panel: I meet a lot of people on Twitter. 35:51 – Panel: I think we are getting to the end and I need to say this. The angular community is a bit different compared to other communities. One thing that this community doesn’t have is the focus of the community. On top of the community are Rob, Steven, Jewels and Naomi and others! I think the Angular team themselves really care! I know they care. 38:09 – Guest: I completely agree with you, Aaron! We appreciate it! 38:25 – Chuck: To wrap-up let’s talk to you, Juan, about where communities should be going to take care of the people 38:45 – Guest: Yeah, what are we going to do next year? Are we going to do Meetups? Do they need something else? What are the needs of our members today and tomorrow? We decided to change the format. We realized that Meetups are great but they are 20-minute talks and they aren’t enough for our members. We do 4 hour Meetup that is called the MEGA MEETUP! 41:00 – Fresh Books! END – CacheFly! Links: Vue jQuery Angular JavaScript Python React Cypress Meetup Conference in Antarctica! Guest: Juan Herrera – Twitter Guest: Juan Herrera – GitHub Sponsors: Angular Boot Camp Cache Fly Picks: Aaron Harry Potter Play Talk from Angular Connect – Grant Timmerman – Google Team CFP: ngVikings 2019 CFP: ngConf @aaronfrost – Twitter! Chuck DevChat TV transferring from WordPress to a static site. Guest JS – library CFP in Columbia! (2019 conference) @jdjuan – Twitter! John Forbes Article: How to start a conversation...
Panel: Eric Berry Dave Kimura David Richards Charles Max Wood In this episode of Ruby Rogues, the panelists talk amongst themselves on today’s topic, which is “speculation on frameworks.” They consider where the tech community currently is right now, and where it’s heading towards the future. They bring-up topics such as: Rails, Ruby, Angular, Agile, and much more. Check it out! Show Topics: 0:00 – Advertisement: Sentry.io 1:47 – Chuck: Check out the DevRev 2:08 – Panel: A topic about “speculation” would be great today. What are we seeing in the community: what we like/don’t like, and what would you want to change? He talks about action text, JavaScript framework, and more. 3:41 – Chuck: Service-side rendering is what we talked about in the past. Divya does this with service–side rendering. For content sites that approach makes a lot of sense. I have playing around with this for the past week or so. I was taking it to rendering it to text. 4:39 – Panel: Yeah, that’s the way to go. 5:29 – Chuck: You are talking about a fully side UI. 5:45 – Panel: I thought it was just my age so I am glad we are talking about this. The hip kids want to make these beautiful frontend sites. I want to keep it simple and then justify more later. I guess I would never be as hip but as long as my stuff gets out there – that’s all that matters to me. 6:28 – Panel: Yeah don’t get me wrong...nobody will want to develop your product if it was built 30 years ago. If it is a startup you want it to look good with a nice UI. Nobody will purchase if it looks outdated. How much maintenance do I want to invest into this? Why add another component into that if you cannot maintain it. 7:56 – Chuck: Yeah I have come into this issue while building the Podcast Service that I am creating. 8:25 – Panel: These are good frameworks and they feel great. I don’t realize the complexity that I am taking on sometimes. I have a lot of complexity on my hands: did I need it? 9:02 – Chuck: Sometimes my problem is that I am trying to pull it in after-the-fact. Like the forms to animate or this and that have to slide in. I want a natural feel to the UX. I looked at React and then I didn’t go that way. I have been podcasting about Angular for 4 years, but it was a no-go for my project. For my solution – it makes sense to just get it going and get it rolling. 10:45 – Panel: When we do use Action Vue we are prone to get lazy. What I mean by that is making database calls. 12:01 – Panel: You can think: Inside-Out! That creates an identity around the project. If I can think of that before going in, then everyone knows what we are doing and what their role is. It’s really obvious. Simple things grow into bigger things. I am a fan of service-side objects. It’s a daily work process. That feels good to me and it’s programmatic for me. 13:24 – Chuck: You aren’t saying: I don’t want or I don’t need ... what you are saying is: I will get this tool when I need it. 13:45 – Panel: You can say: “Hey this is what we are going to do and WHY we are going to do it.” It’s nice to come back to old projects and to see that it’s still solid. It’s nice to see that and people own that software and didn’t have to keep updating. 15:06 – Chuck: It reminds me of the Agile development stuff. The approach between Angular and React and Vue are fairly different. They are reasonably different. There will be tradeoffs between which one to use. When you are making that decision then you can make the appropriate decision on that. 16:10 – Panel: I remember in the prior years when the Rails community grew their own people and you were a RAILS person; now it’s you’re a WEB person. 17:43 – Panel: In a lot of cases it’s good to see what’s out there and to see what’s new; especially early on if they end up being ahead of their time. Then you are an early pioneer in that area. There’s nothing wrong with that, but when you are introducing new things into your core you are running into unforeseeable risks. I am not an early adapter of React, but I know enough of the pros and cons of the framework. 19:48 – Panel: I like that. Maybe I “should” adapt that framework and maybe I am not the right person to do so. 21:06 – Chuck: Dave brought us to a new topic and that’s: being an early adapter. Some people want a name, some people want to invent stuff and so many more reasons “why.” I don’t want to “poo poo” the idea but you need to know WHY. 21:48 – Panel: The cost of developers is A LOT. I just think if I was building a house and I had that expense then I better get a really nice house out of it. I want to do a good job and that’s important. On the business – side they have to rely on us and decisions that are in the best interest for everyone. 22:50 – Fresh Books! 23:53 – Chuck: So what do you guys think about: what’s coming? Do you feel like things are going to move away from frontend frameworks? Will there be a large adoption curve? 24:30 – Panel: If we are talking about the space of Ruby on Rails then you want it to be maintainable. You don’t want to steer too far away from its core. 28:11 – Panel: Good I like that. There are great tools that we are getting through Google, Facebook and they have great tools for these apps. They are looking for the 1-person startup very much like Basecamp. It’s all possible that we are holding onto these technologies that are great but does it fit ME. Do I want to maintain things? Do I want to make this more complicated? Especially if I really don’t fit into what I’m trying to do. 29:13 – Panel: Yeah some people in the DOT NET world they were really struggling with some modern approaches. 30:42 – Panel: One of our listeners texted me b/c we are recording LIVE. Panelist reads off from a listener’s text message that uses a quote. 31:16 – Panel: When I started Ruby it was a PHP project and I couldn’t get there. I didn’t have enough bandwidth. It was easy for me to build the RAILS way. 32:02 – Chuck: I was introduced to PHP in college, early 2000’s. I really enjoyed it and I was fairly productive and then I found Rails. 32:27 – Panelist talks about PHP, flash frontend, and more. 34:42 – Chuck: Could and will something come along that will affect the way we write code? 34:56 – Panel: Yes, b/c I think technology is sustainable for a certain amount of time before things start to change again. Look at the iPhones and the Android phones. 38:26 – Panel: I think it takes time to do something well. Panelist talks about Rails, Ruby, data, and more! 40:25 – Panel: It’s interesting b/c the tradeoff used to be much bigger. The bandwidth is better, the screens are better, the way we do things are better. There is much of a tradeoff. That’s how people are interacting with our business and our products. I tend to write these flowery articles that I don’t publish. There was something in the air and in the mid-2000’s we were launching Netflix, and all of these things were happening at that time. A lot is happening now but it’s different now. Where are we going? Where would I be happy to work? If we can get on the phone and inside of our data and it just adds more value. It’s not an easy answer to “Where are we going?” but it’s good to talk about it b/c people might be afraid to ask and to answer. 43:13 – Chuck: Anything else or picks? 43:19 – Panel: We are saying today: we aren’t trying to break-out of this bubble, but we are saying: let’s get closer to the user and there is so much opportunity in THIS space!! 44:10 – Panel: The technology is tapped-out right now. 44:50 – Advertisement: Get A Coder Job! End – Cache Fly! Links: Get a Coder Job Course The DevRev Podcast Show Angular DevChat TV Ruby Elixir Ruby on Rails Angular Cypress Vue React Jest.io Mocha.js Book: Desert Cabal Habits for Hackers Home Depot: DeWalt Harbor Freight 11ty Masterminds Webinar Sponsors: Sentry CacheFly Fresh Books Picks: Dave Dewalt Drill Dust Collector David Habits for Hackers Desert Cabal (for funnies) Charles Mastermind Hunter 11ty.io
Panel: Mark Ericksen Josh Adams Special Guest: Edgar Pino In this episode of Elixir Mix, the panel talks with Edgar Pino who talks with the panel about the latest version of Ecto! They discuss Ecto’s new features and how easy of a transition it was to go from the previous to the newest version. Edgar Pino is a software engineer who currently resides in Utah! Check out today’s episode! Show Topics: 0:00 – Advertisement: Get A Coder Job! 1:04 – Mark: Hello! Please give us your background? 1:16 – Guest: I have been in Elixir for the past year or two and I have been living in Utah. 1:48 – Mark: I love the nature and state parks. Winter is coming, so I hope you are ready! 1:58 – Guest: Winter...hopefully it will be great! 2:20 – Panelists and guest go back-and-forth. 2:30 – Mark: Let’s talk about your blog posts about Ecto. What are your new announcements? 2:52 – Guest: Our new version was released a few weeks ago. 3:32 – Panel. 3:38 – The guest talks about the old and new versions of Ecto. 4:03 – Panel: What is new and how is this going to affect me (the new version)? 4:11 – Panel: The transition was pretty painless for me. The only change was the breaking-up of the adapter ad also the timestamp bit. That was it. 4:34 – Panel: Yeah that micro-timestamp surprised me for a second, but it wasn’t that bad after all. 4:52 – Guest: Yeah it was painless for me, too. 5:19 – Panel: Edgar can you talk about the change and what they did with the timestamps? 5:32 – The guest answers the question. 5:54 – Panel: Elm opted to use the micro-millisecond, too. Time zones aren’t a thing. 6:24 – Mark. 7:08 – Panel: My tests are the only reason why I care about the millisecond. 7:21 – Mark: With the upgrade don’t do what I did. Mark talks about how he updated and the issues he had. 8:47 – Guest: Pattern matching? 8:53 – Mark: Yep that sort of stuff. I didn’t need to do it and it was a learning experience. Edgar, please give us an introduction to the blog posts? Why did you want to document it? 9:18 – Guest: I always used Ecto with Phoenix but started learning Ecto by itself. I jotted down notes that I thought was interesting. That’s how it started. 10:17 – Mark: See links in the show notes. Using a gen to use the repo – this is one thing that I didn’t know was an option. 10:46 – Guest. 11:01 – Mark asks a question. 11:10 – Guest: Not really PHP applications but listening to web messages and hot topics but you are doing the database and serving data... 11:40 – Guest talks about Ecto and the different versions and features. 12:09 – Mark chimes-in. 12:23 – Panel: Yep – it’s under the hood and it’s for business logic and doesn’t have a web piece. Stop writing tings for the web – it’s a fad. 12:50 – Mark: It’s an umbrella and saw this through the Phoenix generators. 13:54 – Guest talks about web applications. 14:06 – Mark: Let’s talk about schema and databases? 14:23 – Panelist chimes-in. 14:51 – Panelists and guest talk about schemas, apps, and more. Check it out here. 16:13 – Guest: You will get the data and pass it in as a structure and... 16:23 – Mark: Here is a map of what I’d like you to do on my behalf. It goes to a chain set and I will turn it into a string and this is why it’s failed. 17:25 – Panel. 17:31 – Mark: It’s not hard and it’s pretty easy. Let’s talk about blog posts. 18:10 – Panel. 18:22 – Mark: I use Absinthe in the library in Elixir to support GraphQL. 18:50 – Panel. 19:06 – Guest: The total number of results and only once did I need a more complicated thing. 19:34 – Mark: I haven’t had a need for those. 20:01 – Panelists and guests talk about the hypothetical situations where and how they would use certain features for said situations. 20:23 – Guest: You don’t have to understand right out-of-the-box. 20:40 – Panel: Have you used stored functions as meta-columns in an Ecto schema? 20:48 – Panelist explains. 21:24 – Guest: I have used them in the past and now I don’t. For me it was hard to debug – maybe it’s just me. 21:43 – Panel: I was introduced to them through a colleague of mine. 21:53 – Mark chimes-in and talks about him being a DOT NET developer. 22:18 – Panelist chime-in, too! 22:50 – Mark. 23:16 – Panel: It was an awful time and not a good idea. 70 pages! Debugging it was hard. 23:35 – Mark: That experience was apart of that burn that I had before. I wanted to stay far away from it as far as I could. 24:00 – Panel: When I was doing it in DOT NET we didn’t have migrations. 24:12 – Panelist continues. 24:32 – Guest: I wonder if... 24:37 – Panel: It’s just a sequel – it’s not just an Ecto specific feature. 24:48 – Guest. 24:53 – FreshBooks! 26:01 – Mark: Edgar you were interested also in HOW Ecto was built. What experience did you have? 26:21 – Guest answers the question. 28:22 – Panel: No you typed REPO there. 28:30 – Guest: Whenever you save or make an update it’s a method. Unlike Ecto you have to all it something else. 28:47 – Panel: Hey let me get those article posted and someone did it in Loop and that is a lot of queries. 29:03 – Guest: Yeah that’s a good point. 29:45 – Mark: Something I’ve noticed is that they talk about performance improvements and better memory usage. Go read about it- it’s great. They talk about HOW Ecto is working and what is behind the scenes. 31:15 – Mark: Another feature that I have seen is UPSERTS. 31:50 – Guest talks about UPSERTS, too. 32:34 – Mark: Say I have a system that has 3 servers and it’s rolling updates (it will take down one and put up the new code, etc. and it will cycle) one thing they added was a lock on the migration table. I don’t know if you’ve had this – once it hits production data it is slow. Mark continues. 33:20 – Panel: I think it was just luck of the draw. 33:30 – Mark continues. 33:57 – The guest talks about his experience with the above-mentioned scenario. 34:20 – Mark: I like that you both have had goo experiences with your upgrades. I want people to be excited and know that there are great features out there. 34:49 – Guest: Yes, I have found that the blog post is helpful. It’s good to get adapted to the new changes. 35:17 – Panel: Yeah I normally don’t have teasers up to the actual upgrade. 35:28 – Panel: The community is nice and people made a good effort to communicate and help people. They did a GOOD job of helping people to feel comfortable within the transition from one version to the next! 41:37 – Ad: Lootcrate.com END – CacheFly! Links: Ruby Elixir Elixir: GenServer GenServers Elm JavaScript Visual Studio Code React Edgar Pino A sneak peek at Ecto 3 Ecto Active Record Pattern Repository Sponsors: Loot Crate Get a Coder Job! Fresh Books CacheFly Picks: Mark Plex Josh This Erlang Life Guest Ecto Documentation! Edgar Pino – My blog!
Panel: Charles Max Wood Guest: Gareth McCumskey This week on My JavaScript Story, Charles talks with Gareth McCumskey who is a senior web developer for RunwaySale! They talk about Gareth’s background, current projects and his family. Check out today’s episode to hear all about it and much more! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 0:53 – Chuck: Hey everyone! Welcome! We are talking today with Gareth McCumseky! 1:05 – Gareth: Hi! 1:22 – Chuck: Are you from Cape Town, Africa? (Guest: Yes!) 1:35 – Gareth and Chuck talk about his name, Gareth, and why it’s popular. 1:49 – Chuck: I am in my late 40’s. You were here for JSJ’s Episode 291! It’s still a hot topic and probably should revisit that topic. 2:20 – Guest: Yes! 2:30 – Chuck: It’s interesting. We had a long talk about it and people should go listen to it! 2:45 – Guest: I am a backend developer for the most part. 3:03 – Chuck: Yeah I started off as an ops guy. It probably hurt me. 3:21 – Guest: Yeah, if you poke it a certain way. 3:29 – Chuck: Let’s talk about YOU! How did you get into programming? 3:39 – Guest: South Africa is a different culture to grow-up in vs. U.S. and other places. I remember the computer that my father had back in the day. He led me drive his car about 1km away and I was about 11 years old. We would take home the computer from his office – played around with it during the weekend – and put it back into his office Monday morning. This was way before the Internet. I was fiddling with it for sure. The guest talks about BASIC. 6:20 – Chuck: How did you transfer from building BASIC apps to JavaScript apps? 6:30 – Guest: Yeah that’s a good story. When I was 19 years old...I went to college and studied geology and tried to run an IT business on the side. I started to build things for HTML and CSS and build things for the Web. The guest goes into-detail about his background! 9:26 – Chuck: Yeah, jQuery was so awesome! 9:34 – Guest: Yeah today I am working on an app that uses jQuery! You get used to it, and it’s pretty powerful (jQuery) for what it is/what it does! It has neat tricks. 10:11 – Chuck: I’ve started a site with it b/c it was easy. 10:19 – Guest: Sometimes you don’t need the full out thing. Maybe you just need to load a page here and there, and that’s it. 10:39 – Chuck: It’s a different world – definitely! 10:48 – Guest: Yeah in 2015/2016 is when I picked up JavaScript again. It was b/c around that time we were expecting our first child and that’s where we wanted to be to raise her. Guest: We use webpack.js now. It opened my eyes to see how powerful JavaScript is! 12:10 – Chuck talks about Node.js. 12:21 – Guest: Even today, I got into AWS Cognito! 13:45 – Chuck: You say that your problems are unique – and from the business end I want something that I can resolve quickly. Your solution sounds good. I don’t like messing around with the headaches from Node and others. 14:22 – Guest: Yeah that’s the biggest selling point that I’ve had. 15:47 – Chuck: How did you get into serverless? 15:49 – Guest: Funny experience. I am not the expert and I only write the backend stuff. Guest: At the time, we wanted to improve the reliability of the machine and the site itself. He said to try serverless.com. At the time I wasn’t impressed but then when he suggested it – I took the recommendation more seriously. My company that I work for now... 17:39 – Chuck: What else are you working on? 17:45 – Guest: Some local projects – dining service that refunds you. You pay for a subscription, but find a cheaper way to spend money when you are eating out. It’s called: GOING OUT. Guest: My 3-year-old daughter and my wife is expecting our second child. 18:56 – Chuck and Gareth talk about family and their children. 22:17 – Chuck: Picks! 22:29 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly Links: React Angular JavaScript Webpack.js Serverless jQuery Node AWS Cognito Gareth’s Website Gareth’s GitHub Gareth’s Twitter Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Charles Max Wood Podcasts: MFCEO Project & Gary Vaynerchuk Pokémon Go! Gareth McCumskey Serverless.com Ingress Prime
Panel: Charles Max Wood Guest: Gareth McCumskey This week on My JavaScript Story, Charles talks with Gareth McCumskey who is a senior web developer for RunwaySale! They talk about Gareth’s background, current projects and his family. Check out today’s episode to hear all about it and much more! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 0:53 – Chuck: Hey everyone! Welcome! We are talking today with Gareth McCumseky! 1:05 – Gareth: Hi! 1:22 – Chuck: Are you from Cape Town, Africa? (Guest: Yes!) 1:35 – Gareth and Chuck talk about his name, Gareth, and why it’s popular. 1:49 – Chuck: I am in my late 40’s. You were here for JSJ’s Episode 291! It’s still a hot topic and probably should revisit that topic. 2:20 – Guest: Yes! 2:30 – Chuck: It’s interesting. We had a long talk about it and people should go listen to it! 2:45 – Guest: I am a backend developer for the most part. 3:03 – Chuck: Yeah I started off as an ops guy. It probably hurt me. 3:21 – Guest: Yeah, if you poke it a certain way. 3:29 – Chuck: Let’s talk about YOU! How did you get into programming? 3:39 – Guest: South Africa is a different culture to grow-up in vs. U.S. and other places. I remember the computer that my father had back in the day. He led me drive his car about 1km away and I was about 11 years old. We would take home the computer from his office – played around with it during the weekend – and put it back into his office Monday morning. This was way before the Internet. I was fiddling with it for sure. The guest talks about BASIC. 6:20 – Chuck: How did you transfer from building BASIC apps to JavaScript apps? 6:30 – Guest: Yeah that’s a good story. When I was 19 years old...I went to college and studied geology and tried to run an IT business on the side. I started to build things for HTML and CSS and build things for the Web. The guest goes into-detail about his background! 9:26 – Chuck: Yeah, jQuery was so awesome! 9:34 – Guest: Yeah today I am working on an app that uses jQuery! You get used to it, and it’s pretty powerful (jQuery) for what it is/what it does! It has neat tricks. 10:11 – Chuck: I’ve started a site with it b/c it was easy. 10:19 – Guest: Sometimes you don’t need the full out thing. Maybe you just need to load a page here and there, and that’s it. 10:39 – Chuck: It’s a different world – definitely! 10:48 – Guest: Yeah in 2015/2016 is when I picked up JavaScript again. It was b/c around that time we were expecting our first child and that’s where we wanted to be to raise her. Guest: We use webpack.js now. It opened my eyes to see how powerful JavaScript is! 12:10 – Chuck talks about Node.js. 12:21 – Guest: Even today, I got into AWS Cognito! 13:45 – Chuck: You say that your problems are unique – and from the business end I want something that I can resolve quickly. Your solution sounds good. I don’t like messing around with the headaches from Node and others. 14:22 – Guest: Yeah that’s the biggest selling point that I’ve had. 15:47 – Chuck: How did you get into serverless? 15:49 – Guest: Funny experience. I am not the expert and I only write the backend stuff. Guest: At the time, we wanted to improve the reliability of the machine and the site itself. He said to try serverless.com. At the time I wasn’t impressed but then when he suggested it – I took the recommendation more seriously. My company that I work for now... 17:39 – Chuck: What else are you working on? 17:45 – Guest: Some local projects – dining service that refunds you. You pay for a subscription, but find a cheaper way to spend money when you are eating out. It’s called: GOING OUT. Guest: My 3-year-old daughter and my wife is expecting our second child. 18:56 – Chuck and Gareth talk about family and their children. 22:17 – Chuck: Picks! 22:29 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly Links: React Angular JavaScript Webpack.js Serverless jQuery Node AWS Cognito Gareth’s Website Gareth’s GitHub Gareth’s Twitter Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Charles Max Wood Podcasts: MFCEO Project & Gary Vaynerchuk Pokémon Go! Gareth McCumskey Serverless.com Ingress Prime
Panel: Charles Max Wood Guest: Gareth McCumskey This week on My JavaScript Story, Charles talks with Gareth McCumskey who is a senior web developer for RunwaySale! They talk about Gareth’s background, current projects and his family. Check out today’s episode to hear all about it and much more! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 0:53 – Chuck: Hey everyone! Welcome! We are talking today with Gareth McCumseky! 1:05 – Gareth: Hi! 1:22 – Chuck: Are you from Cape Town, Africa? (Guest: Yes!) 1:35 – Gareth and Chuck talk about his name, Gareth, and why it’s popular. 1:49 – Chuck: I am in my late 40’s. You were here for JSJ’s Episode 291! It’s still a hot topic and probably should revisit that topic. 2:20 – Guest: Yes! 2:30 – Chuck: It’s interesting. We had a long talk about it and people should go listen to it! 2:45 – Guest: I am a backend developer for the most part. 3:03 – Chuck: Yeah I started off as an ops guy. It probably hurt me. 3:21 – Guest: Yeah, if you poke it a certain way. 3:29 – Chuck: Let’s talk about YOU! How did you get into programming? 3:39 – Guest: South Africa is a different culture to grow-up in vs. U.S. and other places. I remember the computer that my father had back in the day. He led me drive his car about 1km away and I was about 11 years old. We would take home the computer from his office – played around with it during the weekend – and put it back into his office Monday morning. This was way before the Internet. I was fiddling with it for sure. The guest talks about BASIC. 6:20 – Chuck: How did you transfer from building BASIC apps to JavaScript apps? 6:30 – Guest: Yeah that’s a good story. When I was 19 years old...I went to college and studied geology and tried to run an IT business on the side. I started to build things for HTML and CSS and build things for the Web. The guest goes into-detail about his background! 9:26 – Chuck: Yeah, jQuery was so awesome! 9:34 – Guest: Yeah today I am working on an app that uses jQuery! You get used to it, and it’s pretty powerful (jQuery) for what it is/what it does! It has neat tricks. 10:11 – Chuck: I’ve started a site with it b/c it was easy. 10:19 – Guest: Sometimes you don’t need the full out thing. Maybe you just need to load a page here and there, and that’s it. 10:39 – Chuck: It’s a different world – definitely! 10:48 – Guest: Yeah in 2015/2016 is when I picked up JavaScript again. It was b/c around that time we were expecting our first child and that’s where we wanted to be to raise her. Guest: We use webpack.js now. It opened my eyes to see how powerful JavaScript is! 12:10 – Chuck talks about Node.js. 12:21 – Guest: Even today, I got into AWS Cognito! 13:45 – Chuck: You say that your problems are unique – and from the business end I want something that I can resolve quickly. Your solution sounds good. I don’t like messing around with the headaches from Node and others. 14:22 – Guest: Yeah that’s the biggest selling point that I’ve had. 15:47 – Chuck: How did you get into serverless? 15:49 – Guest: Funny experience. I am not the expert and I only write the backend stuff. Guest: At the time, we wanted to improve the reliability of the machine and the site itself. He said to try serverless.com. At the time I wasn’t impressed but then when he suggested it – I took the recommendation more seriously. My company that I work for now... 17:39 – Chuck: What else are you working on? 17:45 – Guest: Some local projects – dining service that refunds you. You pay for a subscription, but find a cheaper way to spend money when you are eating out. It’s called: GOING OUT. Guest: My 3-year-old daughter and my wife is expecting our second child. 18:56 – Chuck and Gareth talk about family and their children. 22:17 – Chuck: Picks! 22:29 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly Links: React Angular JavaScript Webpack.js Serverless jQuery Node AWS Cognito Gareth’s Website Gareth’s GitHub Gareth’s Twitter Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Charles Max Wood Podcasts: MFCEO Project & Gary Vaynerchuk Pokémon Go! Gareth McCumskey Serverless.com Ingress Prime
Panel: Charles Max Wood Aaron Frost Shai Reznik Divya Sasidharan Joe Eames Lucas Reis Special Guest: Sean Merron In this episode, The panelist of View on Vue, Adventure In Angular, React Round-Up, Ruby Rogues, and JavaScript Jabber speaks with Sean Merron about Mastermind Groups of Startups and much more. Sean is the founder of today's topic and product “Mastermind Hunt.” This product is design to skillfully find a mastermind to take your business and skills to the next level. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 3:00 – Webinar announcement January 3rd, 2p EST. 4:10 - Sean talks about the importance of a Mastermind and his evolvement in Mastermind groups. Sean breakdowns what exactly what a mastermind is about. 6:10 - Charles ask the panelist if they have engaged in Masterminds. Shai talks about his experience and seeing one-sidedness in Masterminds. Sean talks about how to avoid this issue and staying on track. Sean shares on how to keep the meeting moving forward and meet accountability tasks. 10:10 - Joe asks about examples of chatting on topics with co-workers and how is this different from masterminds. And how to keep topics on track. Sean provides using the round robin method to give each person a chance to bring their needs to the table. Sean talks about how developers share advice and topics in Masterminds. 14:43 - Charles shares about how this works in using exercise workbooks as a group and who the rotation works for the hot seat. Sean explains that this is used to find others at your same level to help one another. 16:50 - Shai ask about the benefits of mastermind, but how can we integrate higher level issues among a group. Sean shares a story about meeting and benefits of networking in Masterminds. Sean and Chuck continue with the power of networking among these types of groups. 22:00 - Charles talks about the complexity of personal issues. Shai asks about how to build a mastermind. Sean gives examples of formats and schedule, number of people, and how to conduct successfully. Sean gives examples of technologies to use to help conduct masterminds, like Facebook groups, Skype, Zoom. Sean explains how this led to building mastermindhunt.com 27:00 – Advertisement: Get A Coder Job! 27:00 - Charles talks about how he did a lunch meetup as a mastermind. Lucas gives examples of guilds in his job. Lucas explains the guilds and how this works among the software development team. Lucas shares about presenting in a guild. Lucas says this is great for accountability and success. 30:00 - Sean asks about the size or how many people are in the guild. Lucas mentions that if you do not understand something, bring it to the guild. Sean mentions how this could help shy people and build trust. Sean talks about “Friend D A” 34:00 - Charles again talks about that BrownBag lunch mastermind. Charles talks about how to keep masterminds on track and not a chatfest. Joe asks about the accountability goals. Sean talks about how this works in Mastermind Hunt. Sean gives an example of how to keep people accountable in fun ways. 37:00 - Shai talks about having to shave his head when he was not meeting accountability goals. Sean continues about respecting people’s time and keeping on topic with hot seat questions. 39:00 - Shai asks about how to approach people who are not meeting goals and take-up to much time. Sean says the person with the best relationship should approach the person before they have to bump them out of the mastermind spot. 42:00 - Charles tells talks about EntreProgrammers as a mastermind and the freeform style of the format. Charles talks about leaving the group if it is not meeting your value needs. 44:00 - Sean talks about the introduction and application programs to enter into a mastermind. Lucas talks about diminishing quality of a mastermind, and how he up the quality of engaging in a way that heightens the program. Sean shares more about the initial attitude of the person who starts the meeting. 49:00 - Divya ask about those who are not hitting their goals, but how do you keep them engaged without leaving the group. Sean mentions breaking down the goals or creates achievable goals. Sean talks about figuring out the organization and finding out where the issues are at, that might be the problem to hitting goals. 51:00 - Divya ask about how enthusiasm can diminish about how to keep that from happening in Masterminds. Sean says you have to be consistent with your goals and make it fun. 55:00 - Shai gives a quick recap of masterminds. Shai asks about how to rotate the hot seat. Sean gives a webinar link for mastermindhunt.com/devchat on January 3rd, 2 pm EST. 57:30 – Advertisement – Fresh Books! 30-day free trial! END – Advertisement – Cache Fly! Links: Sean’s Twitter 2frugaldudes podcast Sean’s LinkedIn mastermindhunt.com mastermindhunt.com/devchat Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Shai Bob Proctor Joe Coolstuffinc luxor NG Conf Minified Lucas Radical Candor Divya Alan Watts Framework Summit Videos Several Short Sentence about Writing Charles CES - devchat.tv/events Modern Medicine Sean (757) Area Code
Panel: Eric Berry Charles Max Wood Nate Hopkins Special Guest: Paul Smith and Andrew Mason In this episode of Ruby Rogues, the panelists talk with Paul Smith and Andrew Mason! They discuss the platforms Lucky and Crystal. Other topics include: Ruby, Phoenix, Laravel Mix, Thoughtbot, Webpack, compilers, and much more! Check it out! Show Topics: 0:00 – Advertisement: Sentry.io 1:02 – Chuck: Welcome!! Eric Berry, Nate Hopkins, and myself are the panel - and our special guests are Paul Smith and Andrew Mason. Introduce yourself! 1:41 – Andrew / Guest: I have messed with every type of language, so there’s that! 1:55 – Paul / Guest: I have been here at my current company for 5 years and it’s a consultancy firm. I have been working on Crystal. 2:14 – Chuck: We are lucky to have you! Give people the elevator pitch for Lucky and Crystal? 2:33 – Guest: Let’s talk about Crystal and looks very similar to Ruby! It’s faster and it’s a compound language. It catches a fair amount of things at compile time. The other special features are... 4:17 – Guest mentions compilers. 4:23 – Chuck: Yeah we see this in the typescript. Is it language service – is that what it’s called? Pile and compile and all of this checking are a nice stage for it to run-through. Although the flipside is coding and to not worry about that – that’s nice! 4:56 – Guest: It has changed my approach for sure. 5:43 – Panel: How much slower are you? 5:54 – Guest: I am a lot faster in Crystal than I am in Ruby. 6:51 – Panel: Yeah you have to figure out where you want to save the time. 7:00 – Guest: Someone wrote a blog post and it said...the Rails service is like bolting a shelf on a wall and hoping to hit a stud and it’s not solid. But using Lucky it’s sold although it took a little longer. I think it can be true. You can do bad things with compilers, though. It depends on how you use it. 7:43 – Panelist asks a question. 7:53 – Guest: Every Friday is an investment day. Lucky is my “whatever I want thing.” I am technically getting paid to work on it. 8:33 – Panel: have you had to battle with the framework? 8:51 – Guest: Yes, even though Crystal looks like Ruby (at a high level) if you want to do it well you have to approach it in the Crystal-way. When I came to Crystal I came to it like Rails. The problem with that is I wanted to have type-saved parameters – you can’t do that in Crystal b/c...it doesn’t know when to have a parameter with... 10:48 – Panel: I have heard you talk about Crystal before on another podcast. You talked about templating and I am curious to hear about that. I have used Slim and others and now stick to ERB. 11:25 – Guest: Yes definitely. Let’s back up and talk about WHAT Lucky does! The guest talks about Rails, escaping, and more! 14:37 – Panel: So I imagine Rails partials are slow and expensive to render. I would imagine that this approach with Lucky... 15:00 – Guest: Yes exactly. It’s extremely fast! 15:20 – Panel: How is this for designers? 15:30 – Guest: Yes that was a concern of mine. With Lucky I tried to make it close to a regular HTML structure would look like! 16:32 – Panel: I spun up a Lucky app the other day. It looks like you are using... 16:50 – Guest: I have played around with a bunch of stuff. I landed on Laravel Mix. 18:27 – Panel: Yes webpack is a pain to set up and it’s hard to get it to working the way you want it to work. 18:47 – Guest: Yeah if you want React or whatever it will generate the configuration you need. I don’t like it b/c if you want to... 19:28 – Panel. 19:45 – Guest: I don’t want to maintain it. 19:54 – Panel: There is a Crystal community in Utah. I want to know – are you competing with Amber? Explain the difference between Lucky and Amber? 20:20 – Guest: Yes I did look at Amber but they are approaching it differently than us. The guest talks about the differences between Amber and Lucky. 21:54 – Guest (continues): With Lucky you will have to learn a little bit more but you get more of a pack! 23:23 – Panel: It sounds like Lucky is inspired by Elm – right? 23:32 – Guest: Yeah, I think so. The guest dives into this topic of Elm and Lucky! 24:35 – Panel: How much does the types feel like it’s getting in your way? How explicit is it? When I came to Ruby it was a breath of fresh air. I am a bit reluctant to go back to those days. 25:25 – Guest: I think Lucky does a happy medium. It doesn’t infer instant variables. I like the... 26:28 – Panel: I learned Java very early on in my computer science career. 27:00 – Guest. 27:10 – Panel: “Crystal...it’s not Java!” That should be your slogan! 27:20 – Fresh Books! 28:25 – Panel: A lot of people are moving to Elixir community. Do you see people moving from Ruby to Lucky and Crystal? How does Lucky compare to Phoenix? 28:55 – Guest: Good question! 29:10 – The guest talks about bamboo – see links below!! 29: 29 – Guest: Sure Ruby is fast but sometimes you spend more time on it then you would want to. 31:08 – Guest: Blessing and curse that Crystal looks so much like Ruby. That’s what I thought at first: why would I want to learn this if it’s so similar to Ruby. BUT there are so many benefits to Crystal vs. Ruby. 31:48 – Guest talks about Lucky catching the bugs. 32:00 – Panel: I wonder if that happened with Groovy and Rails? 32:21 – They go back-and-forth. 32:28 – Panel: Thoughtbot has always been on the forefront of Ruby. Can you talk about Thoughbot please? (See links below for Thoughtbot!) 33:15 – Guest: Great question. It’s hard to tell b/c there are different offices. I would say Ruby is our main thing. Ruby is the most mature thing that we use in-terms of web development. Guest: Actually – Rails is pretty nice! 34:54 – Panel: We went through the same thing with CodeFund! I wrote it initially in Python and then I wrote it in Elixir and it became so complex. Now we are moving everything back to Ruby and it’s been a fantastic decision. 36:30 – Chuck: You are talking about the sustainability of open source but there are benefits throughout the company right? There are tons of tangible benefits of doing it, especially when it’s your Friday schedule. You can level-up on things that could help you. I know a lot of companies cannot afford it if they are trying to hustle. 37:42 – Guest: It’s totally not charity through Thoughtbot. It’s a huge help for hiring new people. I know they are okay with letting me work on Lucky b/c it’s bringing on new developers and a good marketing tool, and finally recruiting! 39:07 – Chuck: Yeah, I have been talking about developer freedom and that’s what I am addressing through the DevRev show! It’s my new podcast show. We talk with Chris on Elixir Mix. It lends that credibility if they need to save our bacon. 40:02 – Panel: What’s your goal with Lucky? 40:11 – Guest: I would love to get it to the point where Thoughtbot could start a project and default to Lucky! Start a project and not resting every gem and be confident with launching it. 41:36 – Panelist asks a question. 41:45 – Guest: It’s not 1.0 and that means that the API will break with every release. I think that’s good to tweak stuff but that turns companies off, though. 42:40 – Chuck: Another thing that helps with adoption is Twitter used Rails to build their initial version. This blah, blah company uses important stuff and they are using Crystal and whatnot then that’s good! It sounds like you are waiting for social proof. 43:23 – Guest: Is the next Twitter going to even know about Crystal? 43:40 – Chuck: It literally only takes one enthusiast! 43:52 – Guest. 44:11 – Demo of Flickr Search is mentioned here! 45:13 – Panel: Is there something out there that you could POINT someone to? 45:27 – Guest: Not, yet. I built a small site with it! It is opensource and you can look at it. I want to show people a good example of what Lucky can do! 45:57 – Panel: You have very good docs and I am a visual learner. When I learned Rails I learned on my own and not through school. 46:20 – Panelist asks a question. 46:48 – Guest: What a huge advantage Lucky has through the Thoughtbot platform! Now that platform is kind of dried up. In terms of getting people excited it needs that killer app and they can see that it’s fast and killer! I think it takes a lot of time and finding time to do it so that’s tricky. It’s changing a lot when there is so much change. Getting Lucky to a 1.0 state so people can do videos and make apps. The hard part thing is that Lucky has to be 1.0 when Crystal is 1.0. The Lucky community is great b/c it’s encouraging and to respond in a very kind way. When you are starting something that’s new can be scary. We try to help out as much as we can and we are open and kind about it. 49:13 – Panel: “Paul is nice so Lucky is nice!” 49:19 – Guest: Everyone is super kind. It had to be short and simple. We in the dev community are very lucky – usually great pay/benefits and more w/o a college degree. What another field can you do that?! 51:00 – Panel: Great message and you need to push that! 51:10 – Panel: You were on a past podcast and you talked about how you are donating each month! Panel: Opensource maintainers are getting burned out and you want to support that. 51:40 – Guest: I think opensource sustainability what others need to do to make it sustainable. If you have the means to give we can be apart of that, too. It would be nice if companies did that. If it helps Crystal I am happy. 52:17 – Panel: I have a question about Crystal. 52:52 – Guest: Ruby right now you can do C sections right now. 53:01 – Panel. 53:10 – Guest: I don’t think so – it may but I would guess that you could do it but I don’t know how easy it would be. Note: Rust and C are mentioned. 53:37 – Panel comments. 53:46 – Guest: One thing I would say is to check-out the Lucky docs. We are happy to help! 54:10 – Panel: This is a favorite episode of mine! Both of today’s guests have been my favorite! 54:23 – Advertisement: Get A Coder Job! End – Cache Fly! Links: Get a Coder Job Course The DevRev Podcast Show DevChat TV Ruby Elixir Ruby on Rails Angular Cypress Vue React Jest.io Mocha.js Webpacker-Cli Amber Lucky The Lucky Philosophy The Bike Shed Thoughtbot CodeFund Lucky: Ruby on Rails to Lucky on Crystal... “Crystal is not Ruby Part 1” GitHub: Bamboo Ex_Machina Dialyxir Crystal Mastery Samsung T5 Carbon Copy Cloner iMazing Awesome-Lucky Paul Smith GitHub Sponsors: Sentry CacheFly Fresh Books Picks: Nate Samsung SSD Carbon Copy Cloner Application Eric iMazing HEIC Converter Charles Mastodon Andrew Upcase by Thoughtbot Awesome Lucky Paul Tailwind CSS Phoenix Live HTML Chris McCord Elixir Mix Episodes with Chris McCord
Panel: Charles Max Wood Aaron Frost Shai Reznik Divya Sasidharan Joe Eames Lucas Reis Special Guest: Sean Merron In this episode, The panelist of View on Vue, Adventure In Angular, React Round-Up, Ruby Rogues, and JavaScript Jabber speaks with Sean Merron about Mastermind Groups of Startups and much more. Sean is the founder of today's topic and product “Mastermind Hunt.” This product is design to skillfully find a mastermind to take your business and skills to the next level. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 3:00 – Webinar announcement January 3rd, 2p EST. 4:10 - Sean talks about the importance of a Mastermind and his evolvement in Mastermind groups. Sean breakdowns what exactly what a mastermind is about. 6:10 - Charles ask the panelist if they have engaged in Masterminds. Shai talks about his experience and seeing one-sidedness in Masterminds. Sean talks about how to avoid this issue and staying on track. Sean shares on how to keep the meeting moving forward and meet accountability tasks. 10:10 - Joe asks about examples of chatting on topics with co-workers and how is this different from masterminds. And how to keep topics on track. Sean provides using the round robin method to give each person a chance to bring their needs to the table. Sean talks about how developers share advice and topics in Masterminds. 14:43 - Charles shares about how this works in using exercise workbooks as a group and who the rotation works for the hot seat. Sean explains that this is used to find others at your same level to help one another. 16:50 - Shai ask about the benefits of mastermind, but how can we integrate higher level issues among a group. Sean shares a story about meeting and benefits of networking in Masterminds. Sean and Chuck continue with the power of networking among these types of groups. 22:00 - Charles talks about the complexity of personal issues. Shai asks about how to build a mastermind. Sean gives examples of formats and schedule, number of people, and how to conduct successfully. Sean gives examples of technologies to use to help conduct masterminds, like Facebook groups, Skype, Zoom. Sean explains how this led to building mastermindhunt.com 27:00 – Advertisement: Get A Coder Job! 27:00 - Charles talks about how he did a lunch meetup as a mastermind. Lucas gives examples of guilds in his job. Lucas explains the guilds and how this works among the software development team. Lucas shares about presenting in a guild. Lucas says this is great for accountability and success. 30:00 - Sean asks about the size or how many people are in the guild. Lucas mentions that if you do not understand something, bring it to the guild. Sean mentions how this could help shy people and build trust. Sean talks about “Friend D A” 34:00 - Charles again talks about that BrownBag lunch mastermind. Charles talks about how to keep masterminds on track and not a chatfest. Joe asks about the accountability goals. Sean talks about how this works in Mastermind Hunt. Sean gives an example of how to keep people accountable in fun ways. 37:00 - Shai talks about having to shave his head when he was not meeting accountability goals. Sean continues about respecting people’s time and keeping on topic with hot seat questions. 39:00 - Shai asks about how to approach people who are not meeting goals and take-up to much time. Sean says the person with the best relationship should approach the person before they have to bump them out of the mastermind spot. 42:00 - Charles tells talks about EntreProgrammers as a mastermind and the freeform style of the format. Charles talks about leaving the group if it is not meeting your value needs. 44:00 - Sean talks about the introduction and application programs to enter into a mastermind. Lucas talks about diminishing quality of a mastermind, and how he up the quality of engaging in a way that heightens the program. Sean shares more about the initial attitude of the person who starts the meeting. 49:00 - Divya ask about those who are not hitting their goals, but how do you keep them engaged without leaving the group. Sean mentions breaking down the goals or creates achievable goals. Sean talks about figuring out the organization and finding out where the issues are at, that might be the problem to hitting goals. 51:00 - Divya ask about how enthusiasm can diminish about how to keep that from happening in Masterminds. Sean says you have to be consistent with your goals and make it fun. 55:00 - Shai gives a quick recap of masterminds. Shai asks about how to rotate the hot seat. Sean gives a webinar link for mastermindhunt.com/devchat on January 3rd, 2 pm EST. 57:30 – Advertisement – Fresh Books! 30-day free trial! END – Advertisement – Cache Fly! Links: Sean’s Twitter 2frugaldudes podcast Sean’s LinkedIn mastermindhunt.com mastermindhunt.com/devchat Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Shai Bob Proctor Joe Coolstuffinc luxor NG Conf Minified Lucas Radical Candor Divya Alan Watts Framework Summit Videos Several Short Sentence about Writing Charles CES - devchat.tv/events Modern Medicine Sean (757) Area Code
Panel: Charles Max Wood Mark Ericksen Special Guest: Brujo Benavides In this episode of Elixir Mix, the panel talks with Brujo Benavides (Argentina) who is a software engineer and uses a mix of Elixir, Erlang, and GO. They talk about the similarities and differences between Erlang and Elixir. Brujo talks about conferences that he organizes. You can find the guest through GitHub, Twitter, and About Me. Check it out! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:58 – Chuck: Our special guest is Brujo B.! Let’s talk about the topic today, which is: Lessons from a decade of Erlang! We really haven’t talked about Erlang in the past. 1:47 – Mark: Can you give us your introduction, please? 1:55 – Guest: I started programming at 10 years old. I translated a guest to Spanish. Then after school I started working with other languages, until I did my thesis at the university. I got hired and then while there they taught me Erlang. After 2 years the company went away and died. When that happened I had my honeymoon plan to go to Europe. I went to Poland and found a company that interviewed me, I passed the test, and got hired. The best solution I could ever make. I moved from developer to another position, to director and then to CEO. 6:16 – Chuck: You have been doing Erlang for a while. My brain said 10 years of Elixir and that’s not possible – my bad. When Erlang came onto the scene how did that affect you? 6:40 – Guest answers Chuck’s question. 9:06 – Chuck: See show note links, please. It’s cool to see that you took cautious approaches to the language. What’s the balance between Erlang and Elixir? 9:33 – Guest: It’s about 45/45, because I also do GO. I don’t really like GO, but it’s whatever. 9:59 – Chuck: What has changed in the last 10 years? 10:09 – Guest: It’s my personal view on this and what I see at conferences. I saw a change from beginning Elixir as much acceptance and the community is more open. The people are already so developed already. 11:53 – Mark: I know there is an effort to make the beam languages more compatible. I know using a colon in the name and there’s a lot of communication there. At the last conference, they were talking about this. I think it’s neat that the community is not fighting this. In the early days it seems that the Erlang community were fighting it – what’s that transfer been like? 13:00 – Guest: There were other languages outside of Elixir with the beam. They failed and didn’t catch-on. 15:00 – Panel: How have you liked/disliked coding in Elixir vs. Erlang? 15:14 – Guest: I like many things that Elixir and Erlang can offer. Elixir is a mature and young language. There are many things that they corrected from day one. One thing I don’t like about Amber is that... 17:36 – Mark: I also use it b/c it does give that consistency. It normalizes all the different ways you can code. When I review people’s code I will take the code formatter and get it to be normalized. I am happy with it and I will take it. 18:17 – Guest: Everybody understands everybody’s code. 18:48 – Guest mentions Elvis. See links below. 19:00 – Chuck: It’s interesting. It comes down to community and in some ways it’s not that Erlang community isn’t a good one, but sounds like... 19:17 – Guest: The other thing that happened with the Erlang community is the topic of building websites. In 2015 it was in the Elixir Conference in San Francisco – I think – this is what happened... 20:47 – Mark: I think it’s a credit to both communities. I’ve watched those talks before. I was watching these Erlang Conferences and there have been Elixir speakers there. Good collaboration and I’m happy for that. 21:19 – Chuck: Will these 2 technologies grow together? 21:30 – Guest: Great mix of talks from Erlang and Elixir and talking about how to build systems. 22:49 – Mark: This blog post that you wrote – see show note links before. Can you mention the main topics that you wrote within this blog post? General lessons you’ve learned? 23:23 – Guest: The most important is how we start building stuff over common abstractions. 26:07 – FreshBooks! 27:11 – Mark: You mentioned the behaviors and the abstraction that is available through OTP is through the genserver. Those are and yes it’s true to educate people you will start with a spawn to see how simple things are. Yes, you don’t build a system on that. 27:55 – Guest: I recommend the talk to Spanish speakers. See links below. I asked for a translation but he said no. 29:10 – Mark: You talked also about test-driven development. How has testing in the Erlang community from the past and how has it been influenced by Elixir if at all? 29:53 – Guest: I am not sure. 32:34 – Mark: I don’t know how to spawn another node and have a disconnect in a testing framework? There might be other ways to do it? I would like to borrow that between the two. I’ve built some code that is cluster aware. Yeah I would love to have integration tests. Maybe that is available through Elixir- thanks for talking about that! 33:27 – Chuck: Anything else? Let’s talk about the Sawn Fest! 33:40 – Guest: It started in 2011 and started with a contest that anybody could participate. Judicators judged it and then awards were given. 34:38 – Chuck. 34:44 – Guest: The next year in 2012 the sponsors gave prizes. We were eagerly waiting but there was no contest that year. 37:47 – Chuck and guest go back-and-forth. 37:57 – Guest: There is a team of four now. If you go to the website it actually looks amazing unlike last year!! 39:19 – Mark: People will not hear about this, though, at the time it broadcasts b/c your episode is coming out after Nov. 24th - 25th. Can you do the game/contest remotely? 39:54 – Guest: Yes, people are playing from around the world from India, Denmark, Romania, Africa, and China! So yes you can do it from your house. 40:18 – Mark: What can people do or see or read about the winners? And after-the-fact? 40:32 – Guest: Yes when judges are judging we make the depositories public!! 42:05 – Chuck: My Sunday’s are usually pretty full. 42:19 – Guest: Yes that happened to me. As an organizer I cannot quit b/c I still have to be there. Time with my wife and kid is important, but yes it’s fun! 42:43 – Mark: Yes that shows how passionate they are about the community and the language. 42:56 – Chuck: Mind-blown! 43:10 – Chuck: You organize some conferences right? 43:17 – Guest: Yes. 44:25 – Chuck: Anything else? 44:30 – Mark: Dialyzer and curious about you organizing a Meetup? I have organized an Elixir Meetup. With Meetups how can you tell us how to make it successful? Are you doing both Erlang and Elixir? How are you running it? 45:10 – Guest answers the question. 51:53 – Chuck: How can people find you? 52:00 – Guest: GitHub! Twitter! About Me! (See links below.) 52:19 – Chuck: Picks! 52:20 – Ad: Lootcrate.com END – CacheFly! Links: Ruby Elixir Elixir: GenServer GenServers Elm JavaScript Visual Studio Code React Erlang Solutions Inaka Inaka Credo_Server Erlang Solutions Elvis 114 RR Elixir Show 048 RR Show 10 Lessons from Decade with Erlang YouTube Video in Spanish Erlang: Common_Test ExUnit Smalltalk SpawnFest 2018 SpawnFest Zoom Brujo’s Twitter Brujo’s Website Credo Sponsors: Loot Crate Get a Coder Job! Fresh Books CacheFly Picks: Mark Zoom Meeting Charles Mastodon Brujo Katana Test
Panel: Charles Max Wood Joe Eames John Papa Alyssa Nicoll Special Guest: Michael Giambalvo In this episode, Chuck talks with special guest Michael Giambalvo who is an author of the book titled, “Testing Angular Applications.” This book can be purchased through Amazon, Manning Publications, among other sites, too. The panelists and the guest talk about different types of tests, such as end-to-end testing and unit testing. They also talk about Angular, Java, Mocha, Test Café, and much more! Check it out! Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:53 – Chuck: Our panel is John Papa, Joe Eames, Alyssa Nicoll, and myself. My new show is the DevRev – check it out, please! 1:26 – Guest: I am a contributing author to our new book, which is about Angular. 1:56 – Chuck: How is it like to write with multiple people? 2:04 – Guest: Yep it’s hard b/c we are in different areas. Back in the 2.0 days, Jesse was writing a book. He was talking about typescript and components. Craig made friends with Jesse and they were talking about the book he was writing. Then we all jumped in to get in finished. We all had areas that we were specialists in! 3:21 – Alyssa: If you break it up that makes sense. 3:31 – Guest. 3:40 – Panel: Pick different words and go around the room. 3:51 – Panel: You write the first ½ of a sentence and then you write the other ½ of the sentence! 4:10 – Guest: You have these big word documents and go back-and-forth. 4:36 – Alyssa: Editing and then pass it back-and-forth – how does that work? 4:46 – Guest: It’s like 8 pass backs-and-forth. 5:35 – Guest: The editing was the main issue – it took forever! 5:50 – Chuck: We were going to co-author a book and we didn’t. Chuck: If you could break down the book in 4 core topics what would they be? Elevator pitch? What is the starting knowledge? 6:18 – Guest: We expect you to know Angular Intro and that’s it! 6:43 – Chuck: What are the principles? 6:50 – Guest: We talk about the testing component. We highlight the benefits of using Angular vs. Angular.js. That shows up in the book a lot. It’s very example driven. 7:28 – Chuck: We have been talking about testing quite a bit on the show lately. 8:22 – Chuck: Do you see people using the testing in regards to the pyramid? 8:33 – Guest: I am not a huge fan of the pyramid. Some questions I ask are: Does it run quickly? Is it reliable? To give you some background I work on Google Club Platform. 10:21 – The guest talks about “Page Level Integration Tests.” 11:31 – Alyssa. 11:50 – Chuck: After your explanation after writing your book I’m sure it’s a breeze now. Knowing these tests and having the confidence is great. 12:13 – Guest: Tools like Cypress is very helpful. Web Driver Testing, too. 12:43 – Chuck: Where do people start? What do you recommend? Do they start at Protractor or do they come down to unit tests? 13:02 – Guest: Finding the balance is important. 14:30 – Chuck: Check out a past episode that we’ve done. 14:40 – Panel asks a question about tools such as Test Café and Cypress. 14:50 – Guest: I really don’t know Test Café. There is a long story in how all of these fit together. The guest talks about Selenium, Cypress, Safari, Edge, Chrome, Firefox, and Puppeteer! 19:24 – Chuck: Does it work in Electron as well, too? 19:26 – Guest: Good question but I don’t know the answer. 19:39 – Chuck: Maybe a listener could write a comment and tell us. 19:43 – Panel: I’ve used Protractor for many years. I like the explanation that you just gave. The great thing about Protractor is that you can... 20:29 – Guest: We wanted to explain the difficulty of Protractor in this book. Guest: You have this test running in Node but then you have your app running in the browser. You have these 2 different run times. You might have to run them separately and there is tons of complexity. 21:15 – Panel: As I am coding you have this visual browser on one side, and then on the other side you have... 22:22 – Guest asks the panelists a question. 22:32 – Panel: I have only used it for a few months and a few several apps but haven’t had those issues, yet. 22:55 – Guest: I haven’t heard of Test Café at all. 23:05 – Alyssa: Is the book online? 23:13 – Guest: It’s available through Manning Publications and Amazon. I think we have some codes to giveaway! 23:34 – Chuck: Yeah, we are working on those codes and giveaways. We have mentioned about 5 or 6 tools – are you worried about your book going out of date? 24:05 – Guest: Sure that is something we are worried about. When editing took a long time to get through that was one of my thoughts. The guest talks about Selenium, control flow, Protractor, 25:45 – Guest (continues): These new features were coming out while the book was coming out – so there’s that. What’s this thing about control flow and why this matters to you, etc. We were able to add that into the book, which is good. We were able to get those instructions out there. Books have a delay to them. 26:47 – Chuck: We talked about this in JavaScript Jabber. This guest talked about this and he is from Big Nerd Ranch. At what point do you have this breaking point: This isn’t a good fit for Test Café or Selenium BUT a good fit for Mocha or Jest? 27:27 – Advertisement: Get A Coder Job! 28:04 – Guest: Do you have a reason why you would switch testing tools? 28:12 – Chuck. 28:41 – Guest: That’s the tradeoff as you move down the ladder. 29:43 – Panel: If you want to trigger an action that isn’t triggerable? 29:50 – Guest answers the question. 30:07 – Panel. 30:20 – Chuck. 30:33 – Guest: You can access code. Usually something in a workflow will make it happen. You have to fall back on some type of UI sort of thing. It’s almost like doing Tetris! I’ve never had to directly call something. I am not the best one to answer that. 31:16 – Panel: It’s like a weird mix of tests. 31:29 – Panelist is talking about unit testing and other tests. 31:55 – Chuck asks a question. 32:02 – Guest: It depends on the scale of your project. 32:28 – Chuck: Do you guys use a test coverage tool or on the side of: everything should run and then test if there is a bug. 32:43 – Guest: Coverage isn’t the full story. 33:26 – Panel: You said you weren’t a fan of the testing pyramid – can you explain why? 33:43 – Guest: I think it turns too much prescriptive. Guest: I think there are bigger concerns out there and the test pyramid is an over-simplification. 35:22 – Panel: What’s the difference between fast and slow testing? 35:28 – Guest: It really depends on your level of knowledge. If your test suite runs more than twenty minutes to an hour that is probably too slow! 36:03 – Alyssa. 36:09 – Chuck. 36:16 – Alyssa: There is no way that 20 minutes equals that! 36:26 – Guest: 20 minutes is the extreme limit. 36:51 – Chuck. 37:11 – Panel: Any new Twitter news on Trump? 37:21 – Panelist talks about test suites! 37:40 – Panelists and guests go back-and-forth. 38:11 – Chuck: Do you have any recommendations for the unit testing? Keeping it small or not so much? 38:29 – Guest: Think: What is this test asking? Don’t write tests that won’t fail if some other tests could have caught them. 39:04 – Alyssa: That’s smart! 39:09 – Guest continues. 39:28 – Chuck: What else to jump on? Chuck: Do you write your tests in typescript or in Java? 39:48 – Guest answers the question. He mentions Python, typescript, and more! 40:17 – Alyssa. 40:22 – Guest continues. 40:46 – Alyssa: How many people worked on that project? 40:50 – Guest: 2 or 3 framework engineers who did the tooling. About 20 people total for tooling to make sure everything worked. 41:18 – Panelist asks a question. 41:22 – Guest: About 20 minutes! 42:35 – Guest wants to talk about the topic: end-to-end testing! 44:59 – Chuck: Let’s do picks! 45:09 – Fresh Books! END – CacheFly! Links: Vue jQuery Angular JavaScript Python React Cypress Puppeteer – GitHub Protractor Test Mocha.js Selenium C# GitHub: testcafe Istanbul “Protractor: A New Hope” – YouTube Video – Michael Giambalvo & Craig Nishina Book: “Testing Angular Applications” – Manning Publications Michael’s GitHub Michael’s Twitter Sponsors: Angular Boot Camp Cache Fly Picks: Alyssa Fantastic Beasts Joe Skyward War of the Spider Queen Luxur - board game Testing Angular with Cypress.io Space Cadets Sonar Family Charles The DevRev Podcast Gary Vee Audio Experience Michael Scale Captain Sonar
Panel: Eric Berry Charles Max Wood Nate Hopkins Special Guest: Paul Smith and Andrew Mason In this episode of Ruby Rogues, the panelists talk with Paul Smith and Andrew Mason! They discuss the platforms Lucky and Crystal. Other topics include: Ruby, Phoenix, Laravel Mix, Thoughtbot, Webpack, compilers, and much more! Check it out! Show Topics: 0:00 – Advertisement: Sentry.io 1:02 – Chuck: Welcome!! Eric Berry, Nate Hopkins, and myself are the panel - and our special guests are Paul Smith and Andrew Mason. Introduce yourself! 1:41 – Andrew / Guest: I have messed with every type of language, so there’s that! 1:55 – Paul / Guest: I have been here at my current company for 5 years and it’s a consultancy firm. I have been working on Crystal. 2:14 – Chuck: We are lucky to have you! Give people the elevator pitch for Lucky and Crystal? 2:33 – Guest: Let’s talk about Crystal and looks very similar to Ruby! It’s faster and it’s a compound language. It catches a fair amount of things at compile time. The other special features are... 4:17 – Guest mentions compilers. 4:23 – Chuck: Yeah we see this in the typescript. Is it language service – is that what it’s called? Pile and compile and all of this checking are a nice stage for it to run-through. Although the flipside is coding and to not worry about that – that’s nice! 4:56 – Guest: It has changed my approach for sure. 5:43 – Panel: How much slower are you? 5:54 – Guest: I am a lot faster in Crystal than I am in Ruby. 6:51 – Panel: Yeah you have to figure out where you want to save the time. 7:00 – Guest: Someone wrote a blog post and it said...the Rails service is like bolting a shelf on a wall and hoping to hit a stud and it’s not solid. But using Lucky it’s sold although it took a little longer. I think it can be true. You can do bad things with compilers, though. It depends on how you use it. 7:43 – Panelist asks a question. 7:53 – Guest: Every Friday is an investment day. Lucky is my “whatever I want thing.” I am technically getting paid to work on it. 8:33 – Panel: have you had to battle with the framework? 8:51 – Guest: Yes, even though Crystal looks like Ruby (at a high level) if you want to do it well you have to approach it in the Crystal-way. When I came to Crystal I came to it like Rails. The problem with that is I wanted to have type-saved parameters – you can’t do that in Crystal b/c...it doesn’t know when to have a parameter with... 10:48 – Panel: I have heard you talk about Crystal before on another podcast. You talked about templating and I am curious to hear about that. I have used Slim and others and now stick to ERB. 11:25 – Guest: Yes definitely. Let’s back up and talk about WHAT Lucky does! The guest talks about Rails, escaping, and more! 14:37 – Panel: So I imagine Rails partials are slow and expensive to render. I would imagine that this approach with Lucky... 15:00 – Guest: Yes exactly. It’s extremely fast! 15:20 – Panel: How is this for designers? 15:30 – Guest: Yes that was a concern of mine. With Lucky I tried to make it close to a regular HTML structure would look like! 16:32 – Panel: I spun up a Lucky app the other day. It looks like you are using... 16:50 – Guest: I have played around with a bunch of stuff. I landed on Laravel Mix. 18:27 – Panel: Yes webpack is a pain to set up and it’s hard to get it to working the way you want it to work. 18:47 – Guest: Yeah if you want React or whatever it will generate the configuration you need. I don’t like it b/c if you want to... 19:28 – Panel. 19:45 – Guest: I don’t want to maintain it. 19:54 – Panel: There is a Crystal community in Utah. I want to know – are you competing with Amber? Explain the difference between Lucky and Amber? 20:20 – Guest: Yes I did look at Amber but they are approaching it differently than us. The guest talks about the differences between Amber and Lucky. 21:54 – Guest (continues): With Lucky you will have to learn a little bit more but you get more of a pack! 23:23 – Panel: It sounds like Lucky is inspired by Elm – right? 23:32 – Guest: Yeah, I think so. The guest dives into this topic of Elm and Lucky! 24:35 – Panel: How much does the types feel like it’s getting in your way? How explicit is it? When I came to Ruby it was a breath of fresh air. I am a bit reluctant to go back to those days. 25:25 – Guest: I think Lucky does a happy medium. It doesn’t infer instant variables. I like the... 26:28 – Panel: I learned Java very early on in my computer science career. 27:00 – Guest. 27:10 – Panel: “Crystal...it’s not Java!” That should be your slogan! 27:20 – Fresh Books! 28:25 – Panel: A lot of people are moving to Elixir community. Do you see people moving from Ruby to Lucky and Crystal? How does Lucky compare to Phoenix? 28:55 – Guest: Good question! 29:10 – The guest talks about bamboo – see links below!! 29: 29 – Guest: Sure Ruby is fast but sometimes you spend more time on it then you would want to. 31:08 – Guest: Blessing and curse that Crystal looks so much like Ruby. That’s what I thought at first: why would I want to learn this if it’s so similar to Ruby. BUT there are so many benefits to Crystal vs. Ruby. 31:48 – Guest talks about Lucky catching the bugs. 32:00 – Panel: I wonder if that happened with Groovy and Rails? 32:21 – They go back-and-forth. 32:28 – Panel: Thoughtbot has always been on the forefront of Ruby. Can you talk about Thoughbot please? (See links below for Thoughtbot!) 33:15 – Guest: Great question. It’s hard to tell b/c there are different offices. I would say Ruby is our main thing. Ruby is the most mature thing that we use in-terms of web development. Guest: Actually – Rails is pretty nice! 34:54 – Panel: We went through the same thing with CodeFund! I wrote it initially in Python and then I wrote it in Elixir and it became so complex. Now we are moving everything back to Ruby and it’s been a fantastic decision. 36:30 – Chuck: You are talking about the sustainability of open source but there are benefits throughout the company right? There are tons of tangible benefits of doing it, especially when it’s your Friday schedule. You can level-up on things that could help you. I know a lot of companies cannot afford it if they are trying to hustle. 37:42 – Guest: It’s totally not charity through Thoughtbot. It’s a huge help for hiring new people. I know they are okay with letting me work on Lucky b/c it’s bringing on new developers and a good marketing tool, and finally recruiting! 39:07 – Chuck: Yeah, I have been talking about developer freedom and that’s what I am addressing through the DevRev show! It’s my new podcast show. We talk with Chris on Elixir Mix. It lends that credibility if they need to save our bacon. 40:02 – Panel: What’s your goal with Lucky? 40:11 – Guest: I would love to get it to the point where Thoughtbot could start a project and default to Lucky! Start a project and not resting every gem and be confident with launching it. 41:36 – Panelist asks a question. 41:45 – Guest: It’s not 1.0 and that means that the API will break with every release. I think that’s good to tweak stuff but that turns companies off, though. 42:40 – Chuck: Another thing that helps with adoption is Twitter used Rails to build their initial version. This blah, blah company uses important stuff and they are using Crystal and whatnot then that’s good! It sounds like you are waiting for social proof. 43:23 – Guest: Is the next Twitter going to even know about Crystal? 43:40 – Chuck: It literally only takes one enthusiast! 43:52 – Guest. 44:11 – Demo of Flickr Search is mentioned here! 45:13 – Panel: Is there something out there that you could POINT someone to? 45:27 – Guest: Not, yet. I built a small site with it! It is opensource and you can look at it. I want to show people a good example of what Lucky can do! 45:57 – Panel: You have very good docs and I am a visual learner. When I learned Rails I learned on my own and not through school. 46:20 – Panelist asks a question. 46:48 – Guest: What a huge advantage Lucky has through the Thoughtbot platform! Now that platform is kind of dried up. In terms of getting people excited it needs that killer app and they can see that it’s fast and killer! I think it takes a lot of time and finding time to do it so that’s tricky. It’s changing a lot when there is so much change. Getting Lucky to a 1.0 state so people can do videos and make apps. The hard part thing is that Lucky has to be 1.0 when Crystal is 1.0. The Lucky community is great b/c it’s encouraging and to respond in a very kind way. When you are starting something that’s new can be scary. We try to help out as much as we can and we are open and kind about it. 49:13 – Panel: “Paul is nice so Lucky is nice!” 49:19 – Guest: Everyone is super kind. It had to be short and simple. We in the dev community are very lucky – usually great pay/benefits and more w/o a college degree. What another field can you do that?! 51:00 – Panel: Great message and you need to push that! 51:10 – Panel: You were on a past podcast and you talked about how you are donating each month! Panel: Opensource maintainers are getting burned out and you want to support that. 51:40 – Guest: I think opensource sustainability what others need to do to make it sustainable. If you have the means to give we can be apart of that, too. It would be nice if companies did that. If it helps Crystal I am happy. 52:17 – Panel: I have a question about Crystal. 52:52 – Guest: Ruby right now you can do C sections right now. 53:01 – Panel. 53:10 – Guest: I don’t think so – it may but I would guess that you could do it but I don’t know how easy it would be. Note: Rust and C are mentioned. 53:37 – Panel comments. 53:46 – Guest: One thing I would say is to check-out the Lucky docs. We are happy to help! 54:10 – Panel: This is a favorite episode of mine! Both of today’s guests have been my favorite! 54:23 – Advertisement: Get A Coder Job! End – Cache Fly! Links: Get a Coder Job Course The DevRev Podcast Show DevChat TV Ruby Elixir Ruby on Rails Angular Cypress Vue React Jest.io Mocha.js Webpacker-Cli Amber Lucky The Lucky Philosophy The Bike Shed Thoughtbot CodeFund Lucky: Ruby on Rails to Lucky on Crystal... “Crystal is not Ruby Part 1” GitHub: Bamboo Ex_Machina Dialyxir Crystal Mastery Samsung T5 Carbon Copy Cloner iMazing Awesome-Lucky Paul Smith GitHub Sponsors: Sentry CacheFly Fresh Books Picks: Nate Samsung SSD Carbon Copy Cloner Application Eric iMazing HEIC Converter Charles Mastodon Andrew Upcase by Thoughtbot Awesome Lucky Paul Tailwind CSS Phoenix Live HTML Chris McCord Elixir Mix Episodes with Chris McCord
Panel: Eric Berry Charles Max Wood Nate Hopkins Special Guest: Paul Smith and Andrew Mason In this episode of Ruby Rogues, the panelists talk with Paul Smith and Andrew Mason! They discuss the platforms Lucky and Crystal. Other topics include: Ruby, Phoenix, Laravel Mix, Thoughtbot, Webpack, compilers, and much more! Check it out! Show Topics: 0:00 – Advertisement: Sentry.io 1:02 – Chuck: Welcome!! Eric Berry, Nate Hopkins, and myself are the panel - and our special guests are Paul Smith and Andrew Mason. Introduce yourself! 1:41 – Andrew / Guest: I have messed with every type of language, so there’s that! 1:55 – Paul / Guest: I have been here at my current company for 5 years and it’s a consultancy firm. I have been working on Crystal. 2:14 – Chuck: We are lucky to have you! Give people the elevator pitch for Lucky and Crystal? 2:33 – Guest: Let’s talk about Crystal and looks very similar to Ruby! It’s faster and it’s a compound language. It catches a fair amount of things at compile time. The other special features are... 4:17 – Guest mentions compilers. 4:23 – Chuck: Yeah we see this in the typescript. Is it language service – is that what it’s called? Pile and compile and all of this checking are a nice stage for it to run-through. Although the flipside is coding and to not worry about that – that’s nice! 4:56 – Guest: It has changed my approach for sure. 5:43 – Panel: How much slower are you? 5:54 – Guest: I am a lot faster in Crystal than I am in Ruby. 6:51 – Panel: Yeah you have to figure out where you want to save the time. 7:00 – Guest: Someone wrote a blog post and it said...the Rails service is like bolting a shelf on a wall and hoping to hit a stud and it’s not solid. But using Lucky it’s sold although it took a little longer. I think it can be true. You can do bad things with compilers, though. It depends on how you use it. 7:43 – Panelist asks a question. 7:53 – Guest: Every Friday is an investment day. Lucky is my “whatever I want thing.” I am technically getting paid to work on it. 8:33 – Panel: have you had to battle with the framework? 8:51 – Guest: Yes, even though Crystal looks like Ruby (at a high level) if you want to do it well you have to approach it in the Crystal-way. When I came to Crystal I came to it like Rails. The problem with that is I wanted to have type-saved parameters – you can’t do that in Crystal b/c...it doesn’t know when to have a parameter with... 10:48 – Panel: I have heard you talk about Crystal before on another podcast. You talked about templating and I am curious to hear about that. I have used Slim and others and now stick to ERB. 11:25 – Guest: Yes definitely. Let’s back up and talk about WHAT Lucky does! The guest talks about Rails, escaping, and more! 14:37 – Panel: So I imagine Rails partials are slow and expensive to render. I would imagine that this approach with Lucky... 15:00 – Guest: Yes exactly. It’s extremely fast! 15:20 – Panel: How is this for designers? 15:30 – Guest: Yes that was a concern of mine. With Lucky I tried to make it close to a regular HTML structure would look like! 16:32 – Panel: I spun up a Lucky app the other day. It looks like you are using... 16:50 – Guest: I have played around with a bunch of stuff. I landed on Laravel Mix. 18:27 – Panel: Yes webpack is a pain to set up and it’s hard to get it to working the way you want it to work. 18:47 – Guest: Yeah if you want React or whatever it will generate the configuration you need. I don’t like it b/c if you want to... 19:28 – Panel. 19:45 – Guest: I don’t want to maintain it. 19:54 – Panel: There is a Crystal community in Utah. I want to know – are you competing with Amber? Explain the difference between Lucky and Amber? 20:20 – Guest: Yes I did look at Amber but they are approaching it differently than us. The guest talks about the differences between Amber and Lucky. 21:54 – Guest (continues): With Lucky you will have to learn a little bit more but you get more of a pack! 23:23 – Panel: It sounds like Lucky is inspired by Elm – right? 23:32 – Guest: Yeah, I think so. The guest dives into this topic of Elm and Lucky! 24:35 – Panel: How much does the types feel like it’s getting in your way? How explicit is it? When I came to Ruby it was a breath of fresh air. I am a bit reluctant to go back to those days. 25:25 – Guest: I think Lucky does a happy medium. It doesn’t infer instant variables. I like the... 26:28 – Panel: I learned Java very early on in my computer science career. 27:00 – Guest. 27:10 – Panel: “Crystal...it’s not Java!” That should be your slogan! 27:20 – Fresh Books! 28:25 – Panel: A lot of people are moving to Elixir community. Do you see people moving from Ruby to Lucky and Crystal? How does Lucky compare to Phoenix? 28:55 – Guest: Good question! 29:10 – The guest talks about bamboo – see links below!! 29: 29 – Guest: Sure Ruby is fast but sometimes you spend more time on it then you would want to. 31:08 – Guest: Blessing and curse that Crystal looks so much like Ruby. That’s what I thought at first: why would I want to learn this if it’s so similar to Ruby. BUT there are so many benefits to Crystal vs. Ruby. 31:48 – Guest talks about Lucky catching the bugs. 32:00 – Panel: I wonder if that happened with Groovy and Rails? 32:21 – They go back-and-forth. 32:28 – Panel: Thoughtbot has always been on the forefront of Ruby. Can you talk about Thoughbot please? (See links below for Thoughtbot!) 33:15 – Guest: Great question. It’s hard to tell b/c there are different offices. I would say Ruby is our main thing. Ruby is the most mature thing that we use in-terms of web development. Guest: Actually – Rails is pretty nice! 34:54 – Panel: We went through the same thing with CodeFund! I wrote it initially in Python and then I wrote it in Elixir and it became so complex. Now we are moving everything back to Ruby and it’s been a fantastic decision. 36:30 – Chuck: You are talking about the sustainability of open source but there are benefits throughout the company right? There are tons of tangible benefits of doing it, especially when it’s your Friday schedule. You can level-up on things that could help you. I know a lot of companies cannot afford it if they are trying to hustle. 37:42 – Guest: It’s totally not charity through Thoughtbot. It’s a huge help for hiring new people. I know they are okay with letting me work on Lucky b/c it’s bringing on new developers and a good marketing tool, and finally recruiting! 39:07 – Chuck: Yeah, I have been talking about developer freedom and that’s what I am addressing through the DevRev show! It’s my new podcast show. We talk with Chris on Elixir Mix. It lends that credibility if they need to save our bacon. 40:02 – Panel: What’s your goal with Lucky? 40:11 – Guest: I would love to get it to the point where Thoughtbot could start a project and default to Lucky! Start a project and not resting every gem and be confident with launching it. 41:36 – Panelist asks a question. 41:45 – Guest: It’s not 1.0 and that means that the API will break with every release. I think that’s good to tweak stuff but that turns companies off, though. 42:40 – Chuck: Another thing that helps with adoption is Twitter used Rails to build their initial version. This blah, blah company uses important stuff and they are using Crystal and whatnot then that’s good! It sounds like you are waiting for social proof. 43:23 – Guest: Is the next Twitter going to even know about Crystal? 43:40 – Chuck: It literally only takes one enthusiast! 43:52 – Guest. 44:11 – Demo of Flickr Search is mentioned here! 45:13 – Panel: Is there something out there that you could POINT someone to? 45:27 – Guest: Not, yet. I built a small site with it! It is opensource and you can look at it. I want to show people a good example of what Lucky can do! 45:57 – Panel: You have very good docs and I am a visual learner. When I learned Rails I learned on my own and not through school. 46:20 – Panelist asks a question. 46:48 – Guest: What a huge advantage Lucky has through the Thoughtbot platform! Now that platform is kind of dried up. In terms of getting people excited it needs that killer app and they can see that it’s fast and killer! I think it takes a lot of time and finding time to do it so that’s tricky. It’s changing a lot when there is so much change. Getting Lucky to a 1.0 state so people can do videos and make apps. The hard part thing is that Lucky has to be 1.0 when Crystal is 1.0. The Lucky community is great b/c it’s encouraging and to respond in a very kind way. When you are starting something that’s new can be scary. We try to help out as much as we can and we are open and kind about it. 49:13 – Panel: “Paul is nice so Lucky is nice!” 49:19 – Guest: Everyone is super kind. It had to be short and simple. We in the dev community are very lucky – usually great pay/benefits and more w/o a college degree. What another field can you do that?! 51:00 – Panel: Great message and you need to push that! 51:10 – Panel: You were on a past podcast and you talked about how you are donating each month! Panel: Opensource maintainers are getting burned out and you want to support that. 51:40 – Guest: I think opensource sustainability what others need to do to make it sustainable. If you have the means to give we can be apart of that, too. It would be nice if companies did that. If it helps Crystal I am happy. 52:17 – Panel: I have a question about Crystal. 52:52 – Guest: Ruby right now you can do C sections right now. 53:01 – Panel. 53:10 – Guest: I don’t think so – it may but I would guess that you could do it but I don’t know how easy it would be. Note: Rust and C are mentioned. 53:37 – Panel comments. 53:46 – Guest: One thing I would say is to check-out the Lucky docs. We are happy to help! 54:10 – Panel: This is a favorite episode of mine! Both of today’s guests have been my favorite! 54:23 – Advertisement: Get A Coder Job! End – Cache Fly! Links: Get a Coder Job Course The DevRev Podcast Show DevChat TV Ruby Elixir Ruby on Rails Angular Cypress Vue React Jest.io Mocha.js Webpacker-Cli Amber Lucky The Lucky Philosophy The Bike Shed Thoughtbot CodeFund Lucky: Ruby on Rails to Lucky on Crystal... “Crystal is not Ruby Part 1” GitHub: Bamboo Ex_Machina Dialyxir Crystal Mastery Samsung T5 Carbon Copy Cloner iMazing Awesome-Lucky Paul Smith GitHub Sponsors: Sentry CacheFly Fresh Books Picks: Nate Samsung SSD Carbon Copy Cloner Application Eric iMazing HEIC Converter Charles Mastodon Andrew Upcase by Thoughtbot Awesome Lucky Paul Tailwind CSS Phoenix Live HTML Chris McCord Elixir Mix Episodes with Chris McCord
Panel: Charles Max Wood Joe Eames John Papa Alyssa Nicoll Special Guest: Michael Giambalvo In this episode, Chuck talks with special guest Michael Giambalvo who is an author of the book titled, “Testing Angular Applications.” This book can be purchased through Amazon, Manning Publications, among other sites, too. The panelists and the guest talk about different types of tests, such as end-to-end testing and unit testing. They also talk about Angular, Java, Mocha, Test Café, and much more! Check it out! Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:53 – Chuck: Our panel is John Papa, Joe Eames, Alyssa Nicoll, and myself. My new show is the DevRev – check it out, please! 1:26 – Guest: I am a contributing author to our new book, which is about Angular. 1:56 – Chuck: How is it like to write with multiple people? 2:04 – Guest: Yep it’s hard b/c we are in different areas. Back in the 2.0 days, Jesse was writing a book. He was talking about typescript and components. Craig made friends with Jesse and they were talking about the book he was writing. Then we all jumped in to get in finished. We all had areas that we were specialists in! 3:21 – Alyssa: If you break it up that makes sense. 3:31 – Guest. 3:40 – Panel: Pick different words and go around the room. 3:51 – Panel: You write the first ½ of a sentence and then you write the other ½ of the sentence! 4:10 – Guest: You have these big word documents and go back-and-forth. 4:36 – Alyssa: Editing and then pass it back-and-forth – how does that work? 4:46 – Guest: It’s like 8 pass backs-and-forth. 5:35 – Guest: The editing was the main issue – it took forever! 5:50 – Chuck: We were going to co-author a book and we didn’t. Chuck: If you could break down the book in 4 core topics what would they be? Elevator pitch? What is the starting knowledge? 6:18 – Guest: We expect you to know Angular Intro and that’s it! 6:43 – Chuck: What are the principles? 6:50 – Guest: We talk about the testing component. We highlight the benefits of using Angular vs. Angular.js. That shows up in the book a lot. It’s very example driven. 7:28 – Chuck: We have been talking about testing quite a bit on the show lately. 8:22 – Chuck: Do you see people using the testing in regards to the pyramid? 8:33 – Guest: I am not a huge fan of the pyramid. Some questions I ask are: Does it run quickly? Is it reliable? To give you some background I work on Google Club Platform. 10:21 – The guest talks about “Page Level Integration Tests.” 11:31 – Alyssa. 11:50 – Chuck: After your explanation after writing your book I’m sure it’s a breeze now. Knowing these tests and having the confidence is great. 12:13 – Guest: Tools like Cypress is very helpful. Web Driver Testing, too. 12:43 – Chuck: Where do people start? What do you recommend? Do they start at Protractor or do they come down to unit tests? 13:02 – Guest: Finding the balance is important. 14:30 – Chuck: Check out a past episode that we’ve done. 14:40 – Panel asks a question about tools such as Test Café and Cypress. 14:50 – Guest: I really don’t know Test Café. There is a long story in how all of these fit together. The guest talks about Selenium, Cypress, Safari, Edge, Chrome, Firefox, and Puppeteer! 19:24 – Chuck: Does it work in Electron as well, too? 19:26 – Guest: Good question but I don’t know the answer. 19:39 – Chuck: Maybe a listener could write a comment and tell us. 19:43 – Panel: I’ve used Protractor for many years. I like the explanation that you just gave. The great thing about Protractor is that you can... 20:29 – Guest: We wanted to explain the difficulty of Protractor in this book. Guest: You have this test running in Node but then you have your app running in the browser. You have these 2 different run times. You might have to run them separately and there is tons of complexity. 21:15 – Panel: As I am coding you have this visual browser on one side, and then on the other side you have... 22:22 – Guest asks the panelists a question. 22:32 – Panel: I have only used it for a few months and a few several apps but haven’t had those issues, yet. 22:55 – Guest: I haven’t heard of Test Café at all. 23:05 – Alyssa: Is the book online? 23:13 – Guest: It’s available through Manning Publications and Amazon. I think we have some codes to giveaway! 23:34 – Chuck: Yeah, we are working on those codes and giveaways. We have mentioned about 5 or 6 tools – are you worried about your book going out of date? 24:05 – Guest: Sure that is something we are worried about. When editing took a long time to get through that was one of my thoughts. The guest talks about Selenium, control flow, Protractor, 25:45 – Guest (continues): These new features were coming out while the book was coming out – so there’s that. What’s this thing about control flow and why this matters to you, etc. We were able to add that into the book, which is good. We were able to get those instructions out there. Books have a delay to them. 26:47 – Chuck: We talked about this in JavaScript Jabber. This guest talked about this and he is from Big Nerd Ranch. At what point do you have this breaking point: This isn’t a good fit for Test Café or Selenium BUT a good fit for Mocha or Jest? 27:27 – Advertisement: Get A Coder Job! 28:04 – Guest: Do you have a reason why you would switch testing tools? 28:12 – Chuck. 28:41 – Guest: That’s the tradeoff as you move down the ladder. 29:43 – Panel: If you want to trigger an action that isn’t triggerable? 29:50 – Guest answers the question. 30:07 – Panel. 30:20 – Chuck. 30:33 – Guest: You can access code. Usually something in a workflow will make it happen. You have to fall back on some type of UI sort of thing. It’s almost like doing Tetris! I’ve never had to directly call something. I am not the best one to answer that. 31:16 – Panel: It’s like a weird mix of tests. 31:29 – Panelist is talking about unit testing and other tests. 31:55 – Chuck asks a question. 32:02 – Guest: It depends on the scale of your project. 32:28 – Chuck: Do you guys use a test coverage tool or on the side of: everything should run and then test if there is a bug. 32:43 – Guest: Coverage isn’t the full story. 33:26 – Panel: You said you weren’t a fan of the testing pyramid – can you explain why? 33:43 – Guest: I think it turns too much prescriptive. Guest: I think there are bigger concerns out there and the test pyramid is an over-simplification. 35:22 – Panel: What’s the difference between fast and slow testing? 35:28 – Guest: It really depends on your level of knowledge. If your test suite runs more than twenty minutes to an hour that is probably too slow! 36:03 – Alyssa. 36:09 – Chuck. 36:16 – Alyssa: There is no way that 20 minutes equals that! 36:26 – Guest: 20 minutes is the extreme limit. 36:51 – Chuck. 37:11 – Panel: Any new Twitter news on Trump? 37:21 – Panelist talks about test suites! 37:40 – Panelists and guests go back-and-forth. 38:11 – Chuck: Do you have any recommendations for the unit testing? Keeping it small or not so much? 38:29 – Guest: Think: What is this test asking? Don’t write tests that won’t fail if some other tests could have caught them. 39:04 – Alyssa: That’s smart! 39:09 – Guest continues. 39:28 – Chuck: What else to jump on? Chuck: Do you write your tests in typescript or in Java? 39:48 – Guest answers the question. He mentions Python, typescript, and more! 40:17 – Alyssa. 40:22 – Guest continues. 40:46 – Alyssa: How many people worked on that project? 40:50 – Guest: 2 or 3 framework engineers who did the tooling. About 20 people total for tooling to make sure everything worked. 41:18 – Panelist asks a question. 41:22 – Guest: About 20 minutes! 42:35 – Guest wants to talk about the topic: end-to-end testing! 44:59 – Chuck: Let’s do picks! 45:09 – Fresh Books! END – CacheFly! Links: Vue jQuery Angular JavaScript Python React Cypress Puppeteer – GitHub Protractor Test Mocha.js Selenium C# GitHub: testcafe Istanbul “Protractor: A New Hope” – YouTube Video – Michael Giambalvo & Craig Nishina Book: “Testing Angular Applications” – Manning Publications Michael’s GitHub Michael’s Twitter Sponsors: Angular Boot Camp Cache Fly Picks: Alyssa Fantastic Beasts Joe Skyward War of the Spider Queen Luxur - board game Testing Angular with Cypress.io Space Cadets Sonar Family Charles The DevRev Podcast Gary Vee Audio Experience Michael Scale Captain Sonar
Panel: Charles Max Wood Joe Eames John Papa Alyssa Nicoll Special Guest: Michael Giambalvo In this episode, Chuck talks with special guest Michael Giambalvo who is an author of the book titled, “Testing Angular Applications.” This book can be purchased through Amazon, Manning Publications, among other sites, too. The panelists and the guest talk about different types of tests, such as end-to-end testing and unit testing. They also talk about Angular, Java, Mocha, Test Café, and much more! Check it out! Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:53 – Chuck: Our panel is John Papa, Joe Eames, Alyssa Nicoll, and myself. My new show is the DevRev – check it out, please! 1:26 – Guest: I am a contributing author to our new book, which is about Angular. 1:56 – Chuck: How is it like to write with multiple people? 2:04 – Guest: Yep it’s hard b/c we are in different areas. Back in the 2.0 days, Jesse was writing a book. He was talking about typescript and components. Craig made friends with Jesse and they were talking about the book he was writing. Then we all jumped in to get in finished. We all had areas that we were specialists in! 3:21 – Alyssa: If you break it up that makes sense. 3:31 – Guest. 3:40 – Panel: Pick different words and go around the room. 3:51 – Panel: You write the first ½ of a sentence and then you write the other ½ of the sentence! 4:10 – Guest: You have these big word documents and go back-and-forth. 4:36 – Alyssa: Editing and then pass it back-and-forth – how does that work? 4:46 – Guest: It’s like 8 pass backs-and-forth. 5:35 – Guest: The editing was the main issue – it took forever! 5:50 – Chuck: We were going to co-author a book and we didn’t. Chuck: If you could break down the book in 4 core topics what would they be? Elevator pitch? What is the starting knowledge? 6:18 – Guest: We expect you to know Angular Intro and that’s it! 6:43 – Chuck: What are the principles? 6:50 – Guest: We talk about the testing component. We highlight the benefits of using Angular vs. Angular.js. That shows up in the book a lot. It’s very example driven. 7:28 – Chuck: We have been talking about testing quite a bit on the show lately. 8:22 – Chuck: Do you see people using the testing in regards to the pyramid? 8:33 – Guest: I am not a huge fan of the pyramid. Some questions I ask are: Does it run quickly? Is it reliable? To give you some background I work on Google Club Platform. 10:21 – The guest talks about “Page Level Integration Tests.” 11:31 – Alyssa. 11:50 – Chuck: After your explanation after writing your book I’m sure it’s a breeze now. Knowing these tests and having the confidence is great. 12:13 – Guest: Tools like Cypress is very helpful. Web Driver Testing, too. 12:43 – Chuck: Where do people start? What do you recommend? Do they start at Protractor or do they come down to unit tests? 13:02 – Guest: Finding the balance is important. 14:30 – Chuck: Check out a past episode that we’ve done. 14:40 – Panel asks a question about tools such as Test Café and Cypress. 14:50 – Guest: I really don’t know Test Café. There is a long story in how all of these fit together. The guest talks about Selenium, Cypress, Safari, Edge, Chrome, Firefox, and Puppeteer! 19:24 – Chuck: Does it work in Electron as well, too? 19:26 – Guest: Good question but I don’t know the answer. 19:39 – Chuck: Maybe a listener could write a comment and tell us. 19:43 – Panel: I’ve used Protractor for many years. I like the explanation that you just gave. The great thing about Protractor is that you can... 20:29 – Guest: We wanted to explain the difficulty of Protractor in this book. Guest: You have this test running in Node but then you have your app running in the browser. You have these 2 different run times. You might have to run them separately and there is tons of complexity. 21:15 – Panel: As I am coding you have this visual browser on one side, and then on the other side you have... 22:22 – Guest asks the panelists a question. 22:32 – Panel: I have only used it for a few months and a few several apps but haven’t had those issues, yet. 22:55 – Guest: I haven’t heard of Test Café at all. 23:05 – Alyssa: Is the book online? 23:13 – Guest: It’s available through Manning Publications and Amazon. I think we have some codes to giveaway! 23:34 – Chuck: Yeah, we are working on those codes and giveaways. We have mentioned about 5 or 6 tools – are you worried about your book going out of date? 24:05 – Guest: Sure that is something we are worried about. When editing took a long time to get through that was one of my thoughts. The guest talks about Selenium, control flow, Protractor, 25:45 – Guest (continues): These new features were coming out while the book was coming out – so there’s that. What’s this thing about control flow and why this matters to you, etc. We were able to add that into the book, which is good. We were able to get those instructions out there. Books have a delay to them. 26:47 – Chuck: We talked about this in JavaScript Jabber. This guest talked about this and he is from Big Nerd Ranch. At what point do you have this breaking point: This isn’t a good fit for Test Café or Selenium BUT a good fit for Mocha or Jest? 27:27 – Advertisement: Get A Coder Job! 28:04 – Guest: Do you have a reason why you would switch testing tools? 28:12 – Chuck. 28:41 – Guest: That’s the tradeoff as you move down the ladder. 29:43 – Panel: If you want to trigger an action that isn’t triggerable? 29:50 – Guest answers the question. 30:07 – Panel. 30:20 – Chuck. 30:33 – Guest: You can access code. Usually something in a workflow will make it happen. You have to fall back on some type of UI sort of thing. It’s almost like doing Tetris! I’ve never had to directly call something. I am not the best one to answer that. 31:16 – Panel: It’s like a weird mix of tests. 31:29 – Panelist is talking about unit testing and other tests. 31:55 – Chuck asks a question. 32:02 – Guest: It depends on the scale of your project. 32:28 – Chuck: Do you guys use a test coverage tool or on the side of: everything should run and then test if there is a bug. 32:43 – Guest: Coverage isn’t the full story. 33:26 – Panel: You said you weren’t a fan of the testing pyramid – can you explain why? 33:43 – Guest: I think it turns too much prescriptive. Guest: I think there are bigger concerns out there and the test pyramid is an over-simplification. 35:22 – Panel: What’s the difference between fast and slow testing? 35:28 – Guest: It really depends on your level of knowledge. If your test suite runs more than twenty minutes to an hour that is probably too slow! 36:03 – Alyssa. 36:09 – Chuck. 36:16 – Alyssa: There is no way that 20 minutes equals that! 36:26 – Guest: 20 minutes is the extreme limit. 36:51 – Chuck. 37:11 – Panel: Any new Twitter news on Trump? 37:21 – Panelist talks about test suites! 37:40 – Panelists and guests go back-and-forth. 38:11 – Chuck: Do you have any recommendations for the unit testing? Keeping it small or not so much? 38:29 – Guest: Think: What is this test asking? Don’t write tests that won’t fail if some other tests could have caught them. 39:04 – Alyssa: That’s smart! 39:09 – Guest continues. 39:28 – Chuck: What else to jump on? Chuck: Do you write your tests in typescript or in Java? 39:48 – Guest answers the question. He mentions Python, typescript, and more! 40:17 – Alyssa. 40:22 – Guest continues. 40:46 – Alyssa: How many people worked on that project? 40:50 – Guest: 2 or 3 framework engineers who did the tooling. About 20 people total for tooling to make sure everything worked. 41:18 – Panelist asks a question. 41:22 – Guest: About 20 minutes! 42:35 – Guest wants to talk about the topic: end-to-end testing! 44:59 – Chuck: Let’s do picks! 45:09 – Fresh Books! END – CacheFly! Links: Vue jQuery Angular JavaScript Python React Cypress Puppeteer – GitHub Protractor Test Mocha.js Selenium C# GitHub: testcafe Istanbul “Protractor: A New Hope” – YouTube Video – Michael Giambalvo & Craig Nishina Book: “Testing Angular Applications” – Manning Publications Michael’s GitHub Michael’s Twitter Sponsors: Angular Boot Camp Cache Fly Picks: Alyssa Fantastic Beasts Joe Skyward War of the Spider Queen Luxur - board game Testing Angular with Cypress.io Space Cadets Sonar Family Charles The DevRev Podcast Gary Vee Audio Experience Michael Scale Captain Sonar
Panel: Charles Max Wood Mark Ericksen Special Guest: Brujo Benavides In this episode of Elixir Mix, the panel talks with Brujo Benavides (Argentina) who is a software engineer and uses a mix of Elixir, Erlang, and GO. They talk about the similarities and differences between Erlang and Elixir. Brujo talks about conferences that he organizes. You can find the guest through GitHub, Twitter, and About Me. Check it out! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:58 – Chuck: Our special guest is Brujo B.! Let’s talk about the topic today, which is: Lessons from a decade of Erlang! We really haven’t talked about Erlang in the past. 1:47 – Mark: Can you give us your introduction, please? 1:55 – Guest: I started programming at 10 years old. I translated a guest to Spanish. Then after school I started working with other languages, until I did my thesis at the university. I got hired and then while there they taught me Erlang. After 2 years the company went away and died. When that happened I had my honeymoon plan to go to Europe. I went to Poland and found a company that interviewed me, I passed the test, and got hired. The best solution I could ever make. I moved from developer to another position, to director and then to CEO. 6:16 – Chuck: You have been doing Erlang for a while. My brain said 10 years of Elixir and that’s not possible – my bad. When Erlang came onto the scene how did that affect you? 6:40 – Guest answers Chuck’s question. 9:06 – Chuck: See show note links, please. It’s cool to see that you took cautious approaches to the language. What’s the balance between Erlang and Elixir? 9:33 – Guest: It’s about 45/45, because I also do GO. I don’t really like GO, but it’s whatever. 9:59 – Chuck: What has changed in the last 10 years? 10:09 – Guest: It’s my personal view on this and what I see at conferences. I saw a change from beginning Elixir as much acceptance and the community is more open. The people are already so developed already. 11:53 – Mark: I know there is an effort to make the beam languages more compatible. I know using a colon in the name and there’s a lot of communication there. At the last conference, they were talking about this. I think it’s neat that the community is not fighting this. In the early days it seems that the Erlang community were fighting it – what’s that transfer been like? 13:00 – Guest: There were other languages outside of Elixir with the beam. They failed and didn’t catch-on. 15:00 – Panel: How have you liked/disliked coding in Elixir vs. Erlang? 15:14 – Guest: I like many things that Elixir and Erlang can offer. Elixir is a mature and young language. There are many things that they corrected from day one. One thing I don’t like about Amber is that... 17:36 – Mark: I also use it b/c it does give that consistency. It normalizes all the different ways you can code. When I review people’s code I will take the code formatter and get it to be normalized. I am happy with it and I will take it. 18:17 – Guest: Everybody understands everybody’s code. 18:48 – Guest mentions Elvis. See links below. 19:00 – Chuck: It’s interesting. It comes down to community and in some ways it’s not that Erlang community isn’t a good one, but sounds like... 19:17 – Guest: The other thing that happened with the Erlang community is the topic of building websites. In 2015 it was in the Elixir Conference in San Francisco – I think – this is what happened... 20:47 – Mark: I think it’s a credit to both communities. I’ve watched those talks before. I was watching these Erlang Conferences and there have been Elixir speakers there. Good collaboration and I’m happy for that. 21:19 – Chuck: Will these 2 technologies grow together? 21:30 – Guest: Great mix of talks from Erlang and Elixir and talking about how to build systems. 22:49 – Mark: This blog post that you wrote – see show note links before. Can you mention the main topics that you wrote within this blog post? General lessons you’ve learned? 23:23 – Guest: The most important is how we start building stuff over common abstractions. 26:07 – FreshBooks! 27:11 – Mark: You mentioned the behaviors and the abstraction that is available through OTP is through the genserver. Those are and yes it’s true to educate people you will start with a spawn to see how simple things are. Yes, you don’t build a system on that. 27:55 – Guest: I recommend the talk to Spanish speakers. See links below. I asked for a translation but he said no. 29:10 – Mark: You talked also about test-driven development. How has testing in the Erlang community from the past and how has it been influenced by Elixir if at all? 29:53 – Guest: I am not sure. 32:34 – Mark: I don’t know how to spawn another node and have a disconnect in a testing framework? There might be other ways to do it? I would like to borrow that between the two. I’ve built some code that is cluster aware. Yeah I would love to have integration tests. Maybe that is available through Elixir- thanks for talking about that! 33:27 – Chuck: Anything else? Let’s talk about the Sawn Fest! 33:40 – Guest: It started in 2011 and started with a contest that anybody could participate. Judicators judged it and then awards were given. 34:38 – Chuck. 34:44 – Guest: The next year in 2012 the sponsors gave prizes. We were eagerly waiting but there was no contest that year. 37:47 – Chuck and guest go back-and-forth. 37:57 – Guest: There is a team of four now. If you go to the website it actually looks amazing unlike last year!! 39:19 – Mark: People will not hear about this, though, at the time it broadcasts b/c your episode is coming out after Nov. 24th - 25th. Can you do the game/contest remotely? 39:54 – Guest: Yes, people are playing from around the world from India, Denmark, Romania, Africa, and China! So yes you can do it from your house. 40:18 – Mark: What can people do or see or read about the winners? And after-the-fact? 40:32 – Guest: Yes when judges are judging we make the depositories public!! 42:05 – Chuck: My Sunday’s are usually pretty full. 42:19 – Guest: Yes that happened to me. As an organizer I cannot quit b/c I still have to be there. Time with my wife and kid is important, but yes it’s fun! 42:43 – Mark: Yes that shows how passionate they are about the community and the language. 42:56 – Chuck: Mind-blown! 43:10 – Chuck: You organize some conferences right? 43:17 – Guest: Yes. 44:25 – Chuck: Anything else? 44:30 – Mark: Dialyzer and curious about you organizing a Meetup? I have organized an Elixir Meetup. With Meetups how can you tell us how to make it successful? Are you doing both Erlang and Elixir? How are you running it? 45:10 – Guest answers the question. 51:53 – Chuck: How can people find you? 52:00 – Guest: GitHub! Twitter! About Me! (See links below.) 52:19 – Chuck: Picks! 52:20 – Ad: Lootcrate.com END – CacheFly! Links: Ruby Elixir Elixir: GenServer GenServers Elm JavaScript Visual Studio Code React Erlang Solutions Inaka Inaka Credo_Server Erlang Solutions Elvis 114 RR Elixir Show 048 RR Show 10 Lessons from Decade with Erlang YouTube Video in Spanish Erlang: Common_Test ExUnit Smalltalk SpawnFest 2018 SpawnFest Zoom Brujo’s Twitter Brujo’s Website Credo Sponsors: Loot Crate Get a Coder Job! Fresh Books CacheFly Picks: Mark Zoom Meeting Charles Mastodon Brujo Katana Test
Panel: Charles Max Wood Guest: Nicholas Zakas This week on My JavaScript Story, Charles talks with Nicholas Zakas who is a blogger, author, and software engineer. Nicholas’ website is titled, Human Who Codes – check it out! You can find him on Twitter, GitHub, and LinkedIn among other social media platforms. Today, Nicholas and Chuck talk about Nicholas’ background, JavaScript, and current projects. In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 1:00 – Chuck: Welcome! Give us a background, please, Nicholas! 1:14 – Guest: I am probably best known for making ESLint and I have written a bunch of books, too! (See links below.) 1:36 – Chuck: JSJ 336 and JSJ 075 episodes are the two past episodes we’ve had you on! (See links below.) Let’s go back and how did you get into programming? 1:58 – Guest: I think the first was written in BASIC, which was on a Laser computer. It was a cheaper knockoff version. I think I was into middle school when I got into BASIC. Then when I got into high school I did this computer project, which was the first time someone else used one of my programs. 4:02 – Chuck: Was it all in BASIC or something else? 4:13 – Guest: Just BASIC, but then transferred to something else when we got our first PC. 5:13 – Chuck: How did you get to use JavaScript? 5:18 – Guest: 1996 was my freshman year in college. Netscape 3 got into popularity around this time. I had decided that I wanted to setup a webpage to stay in-touch with high school friends who were going into different directions. I got annoyed with how static the [web] pages were. At the time, there was no CSS and the only thing you could change was the source of an image (on webpages). On the you could do... 8:35 – Chuck: You get into JavaScript and at what point did you become a prolific operator and author? 8:52 – Guest: It was not an overnight thing. It definitely was fueled by my own curiosity. The web was so new (when I was in college) that I had to explore on my own. I probably killed a few trees when I was in college. Printing off anything and everything I could to learn about this stuff! 10:03 – Guest (continues): Professors would ask ME how to do this or that on the departmental website. When I was graduating from college I knew that I was excited about the WEB. I got a first job w/o having to interview. 12:32 – Guest (continues): I got so deep into JavaScript! 13:30 – Guest (continued): They couldn’t figure out what I had done. That’s when I got more into designing JavaScript APIs. About 8 months after graduating from college I was unemployed. I had extra time on my hands. I was worried that I was going to forget the cool stuff that I just developed there. I went over the code and writing for myself how I had constructed it. My goal was to have an expandable tree. This is the design process that I went through. This is the API that I came up with so you can insert and how I went about implementing it. At some point, I was on a discussion with my former colleagues: remember that JavaScript tree thing I wrote – I wrote a description of how I did it. Someone said: Hey this is really good and you should get this published somewhere. Huh! I guess I could do that. I went to websites who were publishing articles on JavaScript. I went to submit the article to one of them. I think it was DevX or WebReference. 18:03 – Guest: A book is a compilation of different articles?! I can do that. I wanted to write a book that would fill in that next step that was missing. I didn’t know what the book was going to be, and I decided to start writing. Once I’ve had enough content I would take a step back and see what it was about. (Check out Nicholas’ books here!) 19:01 – Chuck: Oh you can turn this into a book! 19:10 – Guest: There was very little that I had planned out ahead of time. Anything that happened to me that was exciting had stumbled into my lap! 19:37 – Chuck: That’s how I felt about podcasting – it fell into my lap/life! 19:50 – Chuck: Listeners – check out the past episodes with Nicholas, please. Nicholas, what are you proud of? 20:10 – Guest: In 2006, I was at Yahoo and started off with My Yahoo Team. This was the first time that I was exposed to a massive amount of JavaScript in a single web application. 26:21 – Chuck: Can you talk about your health issues? People would definitely benefit from your example and your story. 26:44 – Guest: I think it is something important for people to understand. The guest talks about Lyme Disease. 35:49 – Chuck: Yep taking care of yourself is important! 36:00 – Guest: Yes to enjoy time with friends and explore other hobbies. Help yourself to de-stress is important. Cognitive work is very draining. When you aren’t getting the right amount of sleep your body is going to get stressed out. Take the time to do nonsense things. You need to let your brain unwind! I love these adult coloring books that they have! 38:07 – Chuck: I love to take a drive up the canyon. 38:12 – Guest. 38:24 – Chuck: Yeah to focus on ourselves is important. 38:36 – Guest: Your body will make it a point to say: pay attention to me! Your body goes into flight or fight mode and your systems shut-off, which of course is not good. You don’t want your body to stay in that state. New parents get sick frequently with newborns, because they aren’t getting enough sleep. 41:08 – Guest: Get some R&R! 41:20 – Chuck: This is great, but I have another call! Let’s do some Picks! 41:35 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly Links: React Angular Vue.js JavaScript Ember Elm jQuery Node DevX WebReference Nicholas C. Zakas’ Books ESLint NPM – ESLint Signs and Symptoms of Untreated Lyme Disease Lyme Disease Nicholas’ Twitter JSJ 336 Episode with Zakas JSJ 075 Episode with Zakas Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Charles Max Wood Wall Calendars – 6 ft. x3 ft. Nicholas Zakas Book: The Better Angels of Our Nature: Why Violence Has Declined by Steven Pinker Adult Coloring Books
Panel: Charles Max Wood Guest: Nicholas Zakas This week on My JavaScript Story, Charles talks with Nicholas Zakas who is a blogger, author, and software engineer. Nicholas’ website is titled, Human Who Codes – check it out! You can find him on Twitter, GitHub, and LinkedIn among other social media platforms. Today, Nicholas and Chuck talk about Nicholas’ background, JavaScript, and current projects. In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 1:00 – Chuck: Welcome! Give us a background, please, Nicholas! 1:14 – Guest: I am probably best known for making ESLint and I have written a bunch of books, too! (See links below.) 1:36 – Chuck: JSJ 336 and JSJ 075 episodes are the two past episodes we’ve had you on! (See links below.) Let’s go back and how did you get into programming? 1:58 – Guest: I think the first was written in BASIC, which was on a Laser computer. It was a cheaper knockoff version. I think I was into middle school when I got into BASIC. Then when I got into high school I did this computer project, which was the first time someone else used one of my programs. 4:02 – Chuck: Was it all in BASIC or something else? 4:13 – Guest: Just BASIC, but then transferred to something else when we got our first PC. 5:13 – Chuck: How did you get to use JavaScript? 5:18 – Guest: 1996 was my freshman year in college. Netscape 3 got into popularity around this time. I had decided that I wanted to setup a webpage to stay in-touch with high school friends who were going into different directions. I got annoyed with how static the [web] pages were. At the time, there was no CSS and the only thing you could change was the source of an image (on webpages). On the you could do... 8:35 – Chuck: You get into JavaScript and at what point did you become a prolific operator and author? 8:52 – Guest: It was not an overnight thing. It definitely was fueled by my own curiosity. The web was so new (when I was in college) that I had to explore on my own. I probably killed a few trees when I was in college. Printing off anything and everything I could to learn about this stuff! 10:03 – Guest (continues): Professors would ask ME how to do this or that on the departmental website. When I was graduating from college I knew that I was excited about the WEB. I got a first job w/o having to interview. 12:32 – Guest (continues): I got so deep into JavaScript! 13:30 – Guest (continued): They couldn’t figure out what I had done. That’s when I got more into designing JavaScript APIs. About 8 months after graduating from college I was unemployed. I had extra time on my hands. I was worried that I was going to forget the cool stuff that I just developed there. I went over the code and writing for myself how I had constructed it. My goal was to have an expandable tree. This is the design process that I went through. This is the API that I came up with so you can insert and how I went about implementing it. At some point, I was on a discussion with my former colleagues: remember that JavaScript tree thing I wrote – I wrote a description of how I did it. Someone said: Hey this is really good and you should get this published somewhere. Huh! I guess I could do that. I went to websites who were publishing articles on JavaScript. I went to submit the article to one of them. I think it was DevX or WebReference. 18:03 – Guest: A book is a compilation of different articles?! I can do that. I wanted to write a book that would fill in that next step that was missing. I didn’t know what the book was going to be, and I decided to start writing. Once I’ve had enough content I would take a step back and see what it was about. (Check out Nicholas’ books here!) 19:01 – Chuck: Oh you can turn this into a book! 19:10 – Guest: There was very little that I had planned out ahead of time. Anything that happened to me that was exciting had stumbled into my lap! 19:37 – Chuck: That’s how I felt about podcasting – it fell into my lap/life! 19:50 – Chuck: Listeners – check out the past episodes with Nicholas, please. Nicholas, what are you proud of? 20:10 – Guest: In 2006, I was at Yahoo and started off with My Yahoo Team. This was the first time that I was exposed to a massive amount of JavaScript in a single web application. 26:21 – Chuck: Can you talk about your health issues? People would definitely benefit from your example and your story. 26:44 – Guest: I think it is something important for people to understand. The guest talks about Lyme Disease. 35:49 – Chuck: Yep taking care of yourself is important! 36:00 – Guest: Yes to enjoy time with friends and explore other hobbies. Help yourself to de-stress is important. Cognitive work is very draining. When you aren’t getting the right amount of sleep your body is going to get stressed out. Take the time to do nonsense things. You need to let your brain unwind! I love these adult coloring books that they have! 38:07 – Chuck: I love to take a drive up the canyon. 38:12 – Guest. 38:24 – Chuck: Yeah to focus on ourselves is important. 38:36 – Guest: Your body will make it a point to say: pay attention to me! Your body goes into flight or fight mode and your systems shut-off, which of course is not good. You don’t want your body to stay in that state. New parents get sick frequently with newborns, because they aren’t getting enough sleep. 41:08 – Guest: Get some R&R! 41:20 – Chuck: This is great, but I have another call! Let’s do some Picks! 41:35 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly Links: React Angular Vue.js JavaScript Ember Elm jQuery Node DevX WebReference Nicholas C. Zakas’ Books ESLint NPM – ESLint Signs and Symptoms of Untreated Lyme Disease Lyme Disease Nicholas’ Twitter JSJ 336 Episode with Zakas JSJ 075 Episode with Zakas Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Charles Max Wood Wall Calendars – 6 ft. x3 ft. Nicholas Zakas Book: The Better Angels of Our Nature: Why Violence Has Declined by Steven Pinker Adult Coloring Books
Panel: Charles Max Wood Guest: Nicholas Zakas This week on My JavaScript Story, Charles talks with Nicholas Zakas who is a blogger, author, and software engineer. Nicholas’ website is titled, Human Who Codes – check it out! You can find him on Twitter, GitHub, and LinkedIn among other social media platforms. Today, Nicholas and Chuck talk about Nicholas’ background, JavaScript, and current projects. In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 1:00 – Chuck: Welcome! Give us a background, please, Nicholas! 1:14 – Guest: I am probably best known for making ESLint and I have written a bunch of books, too! (See links below.) 1:36 – Chuck: JSJ 336 and JSJ 075 episodes are the two past episodes we’ve had you on! (See links below.) Let’s go back and how did you get into programming? 1:58 – Guest: I think the first was written in BASIC, which was on a Laser computer. It was a cheaper knockoff version. I think I was into middle school when I got into BASIC. Then when I got into high school I did this computer project, which was the first time someone else used one of my programs. 4:02 – Chuck: Was it all in BASIC or something else? 4:13 – Guest: Just BASIC, but then transferred to something else when we got our first PC. 5:13 – Chuck: How did you get to use JavaScript? 5:18 – Guest: 1996 was my freshman year in college. Netscape 3 got into popularity around this time. I had decided that I wanted to setup a webpage to stay in-touch with high school friends who were going into different directions. I got annoyed with how static the [web] pages were. At the time, there was no CSS and the only thing you could change was the source of an image (on webpages). On the you could do... 8:35 – Chuck: You get into JavaScript and at what point did you become a prolific operator and author? 8:52 – Guest: It was not an overnight thing. It definitely was fueled by my own curiosity. The web was so new (when I was in college) that I had to explore on my own. I probably killed a few trees when I was in college. Printing off anything and everything I could to learn about this stuff! 10:03 – Guest (continues): Professors would ask ME how to do this or that on the departmental website. When I was graduating from college I knew that I was excited about the WEB. I got a first job w/o having to interview. 12:32 – Guest (continues): I got so deep into JavaScript! 13:30 – Guest (continued): They couldn’t figure out what I had done. That’s when I got more into designing JavaScript APIs. About 8 months after graduating from college I was unemployed. I had extra time on my hands. I was worried that I was going to forget the cool stuff that I just developed there. I went over the code and writing for myself how I had constructed it. My goal was to have an expandable tree. This is the design process that I went through. This is the API that I came up with so you can insert and how I went about implementing it. At some point, I was on a discussion with my former colleagues: remember that JavaScript tree thing I wrote – I wrote a description of how I did it. Someone said: Hey this is really good and you should get this published somewhere. Huh! I guess I could do that. I went to websites who were publishing articles on JavaScript. I went to submit the article to one of them. I think it was DevX or WebReference. 18:03 – Guest: A book is a compilation of different articles?! I can do that. I wanted to write a book that would fill in that next step that was missing. I didn’t know what the book was going to be, and I decided to start writing. Once I’ve had enough content I would take a step back and see what it was about. (Check out Nicholas’ books here!) 19:01 – Chuck: Oh you can turn this into a book! 19:10 – Guest: There was very little that I had planned out ahead of time. Anything that happened to me that was exciting had stumbled into my lap! 19:37 – Chuck: That’s how I felt about podcasting – it fell into my lap/life! 19:50 – Chuck: Listeners – check out the past episodes with Nicholas, please. Nicholas, what are you proud of? 20:10 – Guest: In 2006, I was at Yahoo and started off with My Yahoo Team. This was the first time that I was exposed to a massive amount of JavaScript in a single web application. 26:21 – Chuck: Can you talk about your health issues? People would definitely benefit from your example and your story. 26:44 – Guest: I think it is something important for people to understand. The guest talks about Lyme Disease. 35:49 – Chuck: Yep taking care of yourself is important! 36:00 – Guest: Yes to enjoy time with friends and explore other hobbies. Help yourself to de-stress is important. Cognitive work is very draining. When you aren’t getting the right amount of sleep your body is going to get stressed out. Take the time to do nonsense things. You need to let your brain unwind! I love these adult coloring books that they have! 38:07 – Chuck: I love to take a drive up the canyon. 38:12 – Guest. 38:24 – Chuck: Yeah to focus on ourselves is important. 38:36 – Guest: Your body will make it a point to say: pay attention to me! Your body goes into flight or fight mode and your systems shut-off, which of course is not good. You don’t want your body to stay in that state. New parents get sick frequently with newborns, because they aren’t getting enough sleep. 41:08 – Guest: Get some R&R! 41:20 – Chuck: This is great, but I have another call! Let’s do some Picks! 41:35 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly Links: React Angular Vue.js JavaScript Ember Elm jQuery Node DevX WebReference Nicholas C. Zakas’ Books ESLint NPM – ESLint Signs and Symptoms of Untreated Lyme Disease Lyme Disease Nicholas’ Twitter JSJ 336 Episode with Zakas JSJ 075 Episode with Zakas Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Charles Max Wood Wall Calendars – 6 ft. x3 ft. Nicholas Zakas Book: The Better Angels of Our Nature: Why Violence Has Declined by Steven Pinker Adult Coloring Books
Panel: Dave Kimura Charles Max Wood Nate Hopkins Special Guest: Josh Justice In this episode of Ruby Rogues, the panelists talk with Josh Justice who is a developer, writer, and speaker. Josh streams JavaScript and web development on Friday’s at 2:00 PM (ET) here! The panelists and the guest talk about Josh’s background and frontend testing in Ruby. Check it out! Show Topics: 0:00 – Advertisement: Sentry.io 1:04 – Chuck: Hi! Dave, Nate, and myself are on the panel and our special guest is Josh Justice! I am developing a show about developer freedom and it’s called The DevRev. It will be streamed through YouTube, and I will record Friday afternoons. Check out Facebook, too! 2:11 – Josh: Thanks! I am happy to be here! 2:18 – Chuck: Introduce yourself, please! 2:24 – Josh: I have been a developer for about 14 years. I have used PHP and then got into Ruby and then frontend development. 2:46 – Chuck: You work for Big Nerd Ranch in Atlanta? 2:56 – Josh: Yep for the last 3-4 years! 3:15 – Chuck: Can you introduce the topic? 3:25 – The guest talks about Big Nerd Ranch and frontend development. Learn TDD is mentioned, too! Check it out here! 5:06 – Panel: How much bouncing do you do between React and Vue? 5:11 – Guest. 5:47 – Chuck: We need to get you on our podcast shows for React and Vue! It’s an approach that I am familiar with in Ruby – and Selenium what a pain! 6:16 – Guest: I’ve had a good experience with Cypress, actually! 7:47 – Guest: Panelist, can you share your experiences? 7:57 – Panel: Not bad experiences with testing, but now I am trying to minimize my use with JavaScript. 8:30 – Guest: I think there is a big push towards considering more server site rendering. 9:35 – Panel: What’s your recommendation to setup Cypress? 9:40 – Guest: Their docs are really great! They had some conference talks on how to set it up! 10:15 – Guest: Check out my talks about this topic. (Connect Tech 2018). 10:29 – Panel: I think Cypress is a pretty cool solution but one thing that left me confused is that you have to have an environment that is already stood-up and running. Is that accurate or has that changed? 11:00 – Guest: Can you clarify what you mean by a “running environment”? 11:04 – Panelist clarifies. 11:44 – Guest: Luckily for me I have something to say b/c I tried a week ago! 12:01 – Guest mentions Vue CLI 3. 14:38 – Panel: How can you test your code coverage? I want to know how much of my code coverage am I hitting? The applications are up and running, it’s not going through the files (per se), and is there anything that would indicate how good your coverage is with the Cypress test? 15:10 – Guest: Let me as a follow-up question: How do you approach it on the frontend? 15:24 – Panelist answers the guest’s question. 16:06 – The guest mentions Vue CLI 2 & 3. 18:31 – Chuck: Are you using the tool Istanbul? 18:36 – Guest: Yep Istanbul is the one! 18:54 – Chuck: I’ve heard some similar rumors, but can’t say. 19:02 – Panelist talks. 20:13 – Chuck: I have been working on a project and what doesn’t get test-coverage gets a candidate to get pulled-out. 20:40 – Guest: Talking about test-driven development... Guest: Have you read the original book? 21:02 – Guest: The book: “Effective Testing with RSpec 3” is updated information – check it out! The guest mentions his live stream on Friday’s. Check out the links found below! 23:57 – Panel: How is the stability with tests like Cypress with end-to-end tests? If you are testing with a login then the user has to be already created. Or what about a Twitter app – the user has to be created and not followed? How do you handle that? 24:22 – Guest: I think we are spoiled in the Rails world b/c of those... 24:53 – The guest answers the panelist’s question! 26:59 – Fresh Books! 28:07 – Guest: Does that help? 28:10 – Panel. 28:21 – Guest: I have been thinking about this, though, recently. Thinking about the contracts through the business. I have dabbled with native development and I see the cost that runs a native app. 30:21 – Panel: It’s refreshing to hear the new market’s demands. I truly haven’t seen an application that requires that. I have built some extensive applications and also very simple ones, too; the need for productivity. 31:17 – Guest mentions a talk at a conference. See here for that information! 31:43 – Guest: I have a friend who was a new developer and he really knows his stuff. He said that he didn’t know if he could be a full stack developer in the next 5-10 years. Wait a minute?! Guest: The freedom to create something that stands alone. Guest: Tom Dale is mentioned by the Guest. 33:35 – Panel: To choose Rails as a new developer (today) it’s not as easy as it was back in the day. Today you have Active Job, Action Cable and so many other components. It’s more complicated today then it was in the past. It could be overwhelming to a new developer. 35:00 – Chuck: I think a lot of that is the community’s fault and not Rails’ fault. 35:57 – Panel. 36:04 – Panel: The counter-argument could say that’s where server-less come in. 36:27 – Chuck: To some degree you can get away with it. You don’t have to worry about the infrastructure or anything else. 36:44 – Panel: Have you tried messing around with server-less functions with AWS? I have and...it’s not easy. There is not a good flow or good work flow in a server-less environment. 38:01 – Chuck: You can go to this website. It makes the setup easier b/c you are adding your Azure or AWS features. 38:30 – Panel: This topic, though, does tie back to the testing topic we were talking about earlier! 39:14 – Panel: Yeah that is why I haven’t gotten into server-less things. The Rails holistic approach is so appealing. 40:14 – Panel continues: I want to take smaller steps when it comes to technology! I want to move into things that we are laying down the tracks to make it easier travelable. That way we can consider the things we’ve learned in the past and help those in the future. 41:07 – Chuck: What are lacking then? What is the friction that is left? Seems like Cypress helped removed that but maybe not? 42:02 – Panelist mentions Cypress, Jest, Mocha, and others! 43:10 – Panel (continues): I am all about experimenting but I want to know all the reasons. What has changed and what hasn’t’ changed? 43:29 – Panel: There is an article written that talks about this topic. 43:59 – Guest mentions the video “Is TDD Dead?” (See links below.) 44:29 – Guest: I like brining thoughts together and taking his or her input and come up with my own thoughts. 46:32 – Guest (continues): The testing trophy is heavier on the top (picture of a trophy). Guest: I think the thing that draws me to unit testing is that... 47:37 – Guest: I am obsessed with testing. The guest gives a summary here! 48:15 – Chuck: We talked with Quincy Larson last week and it’s a really good take on what we are doing and what we are trying to accomplish with our tests. Check it out – it’s coming out soon! 49:05 – Panel: When you are younger into your career – the way you think about structuring your code – when you are comfortable you really don’t need that guidance. 50:00 – Guest: I would encourage folks who were new to coding to do the following... 51:36 – Guest: Think about WHY you are doing (what you are doing) and being able to articulate well what you are doing and why. 52:03 – Panel: There is no question – every time I test I am surprised how much it shapes my thinking about the code and how many bugs that I catch even in code that I thought was operating well. When you go too far though there is a fallacy there. 52:54 – Panel: Yes, testing is very important. I am a test-after-the-fact programmer. That is my self-key term. Don’t write 500-line methods b/c you won’t be able to test that. Don’t make it too abstract so have a common pattern that you will use. Have a lot of private methods that aren’t exposed to the API. 54:03 – Guest: Yes thinking about how to structure your code can be challenging at first but it gets easier. 55:58 – Chuck: I have had talks with Corey Haines about topics like this! 56:47 – Guest: Yes it can be helpful in consultancy now. 59:23 – Guest: Think about this: choosing what level to test at. 1:00:14 – Panel: It’s hard b/c it changes all the time per function or something else. There are tradeoffs with everything we do. 1:00:41 – Chuck: You are the consultant it depends doesn’t it? 1:00:51 – Picks! 1:00:55 – Advertisement: Get A Coder Job! End – Cache Fly! Links: Get a Coder Job Course Ruby Ruby on Rails Angular Cypress Vue React VUE CLI 3 Jest.io Mocha.js GitHub: Istanbul The RSpec Book RR 068 Episode Ember CLI GitHub: Factory_Bot GitHub: VCR Big Nerd Ranch Big Nerd Ranch: Josh Justice / Team Manager The Bike Shed Keynote: Tom Dale @ EmberFest 2018 JSJ 291 Episode Serverless Article: Test-Induced Design Damage Video: Is TDD Dead? Music: Sub Conscious – Electronic / 2004 Music: Interloper / 2015 Disney Heroes: Battle Mode Google Play: Disney Heroes / Battle Mode Book Authoring Playlist Tom Dale’s Twitter Corey Haines’ Twitter Coding It Wrong Josh’s Twitter Josh’s GitHub Josh’s LinkedIn Josh’s Vimeo Video Sponsors: Sentry CacheFly Fresh Books Picks: Nate Phutureprimitive - Sub Conscious Carbon Based Lifeforms - Interloper Dave Dust collections system in Wood Shop Doctor Who - Theme Music Charles Authoring music Disney Hero Battles Josh Effecting Testing with RSpec 3 Growing Object-Oriented Software, Guided by Test XUnit Test Patterns Spectacle App Alfred App
Panel: Dave Kimura Charles Max Wood Nate Hopkins Special Guest: Josh Justice In this episode of Ruby Rogues, the panelists talk with Josh Justice who is a developer, writer, and speaker. Josh streams JavaScript and web development on Friday’s at 2:00 PM (ET) here! The panelists and the guest talk about Josh’s background and frontend testing in Ruby. Check it out! Show Topics: 0:00 – Advertisement: Sentry.io 1:04 – Chuck: Hi! Dave, Nate, and myself are on the panel and our special guest is Josh Justice! I am developing a show about developer freedom and it’s called The DevRev. It will be streamed through YouTube, and I will record Friday afternoons. Check out Facebook, too! 2:11 – Josh: Thanks! I am happy to be here! 2:18 – Chuck: Introduce yourself, please! 2:24 – Josh: I have been a developer for about 14 years. I have used PHP and then got into Ruby and then frontend development. 2:46 – Chuck: You work for Big Nerd Ranch in Atlanta? 2:56 – Josh: Yep for the last 3-4 years! 3:15 – Chuck: Can you introduce the topic? 3:25 – The guest talks about Big Nerd Ranch and frontend development. Learn TDD is mentioned, too! Check it out here! 5:06 – Panel: How much bouncing do you do between React and Vue? 5:11 – Guest. 5:47 – Chuck: We need to get you on our podcast shows for React and Vue! It’s an approach that I am familiar with in Ruby – and Selenium what a pain! 6:16 – Guest: I’ve had a good experience with Cypress, actually! 7:47 – Guest: Panelist, can you share your experiences? 7:57 – Panel: Not bad experiences with testing, but now I am trying to minimize my use with JavaScript. 8:30 – Guest: I think there is a big push towards considering more server site rendering. 9:35 – Panel: What’s your recommendation to setup Cypress? 9:40 – Guest: Their docs are really great! They had some conference talks on how to set it up! 10:15 – Guest: Check out my talks about this topic. (Connect Tech 2018). 10:29 – Panel: I think Cypress is a pretty cool solution but one thing that left me confused is that you have to have an environment that is already stood-up and running. Is that accurate or has that changed? 11:00 – Guest: Can you clarify what you mean by a “running environment”? 11:04 – Panelist clarifies. 11:44 – Guest: Luckily for me I have something to say b/c I tried a week ago! 12:01 – Guest mentions Vue CLI 3. 14:38 – Panel: How can you test your code coverage? I want to know how much of my code coverage am I hitting? The applications are up and running, it’s not going through the files (per se), and is there anything that would indicate how good your coverage is with the Cypress test? 15:10 – Guest: Let me as a follow-up question: How do you approach it on the frontend? 15:24 – Panelist answers the guest’s question. 16:06 – The guest mentions Vue CLI 2 & 3. 18:31 – Chuck: Are you using the tool Istanbul? 18:36 – Guest: Yep Istanbul is the one! 18:54 – Chuck: I’ve heard some similar rumors, but can’t say. 19:02 – Panelist talks. 20:13 – Chuck: I have been working on a project and what doesn’t get test-coverage gets a candidate to get pulled-out. 20:40 – Guest: Talking about test-driven development... Guest: Have you read the original book? 21:02 – Guest: The book: “Effective Testing with RSpec 3” is updated information – check it out! The guest mentions his live stream on Friday’s. Check out the links found below! 23:57 – Panel: How is the stability with tests like Cypress with end-to-end tests? If you are testing with a login then the user has to be already created. Or what about a Twitter app – the user has to be created and not followed? How do you handle that? 24:22 – Guest: I think we are spoiled in the Rails world b/c of those... 24:53 – The guest answers the panelist’s question! 26:59 – Fresh Books! 28:07 – Guest: Does that help? 28:10 – Panel. 28:21 – Guest: I have been thinking about this, though, recently. Thinking about the contracts through the business. I have dabbled with native development and I see the cost that runs a native app. 30:21 – Panel: It’s refreshing to hear the new market’s demands. I truly haven’t seen an application that requires that. I have built some extensive applications and also very simple ones, too; the need for productivity. 31:17 – Guest mentions a talk at a conference. See here for that information! 31:43 – Guest: I have a friend who was a new developer and he really knows his stuff. He said that he didn’t know if he could be a full stack developer in the next 5-10 years. Wait a minute?! Guest: The freedom to create something that stands alone. Guest: Tom Dale is mentioned by the Guest. 33:35 – Panel: To choose Rails as a new developer (today) it’s not as easy as it was back in the day. Today you have Active Job, Action Cable and so many other components. It’s more complicated today then it was in the past. It could be overwhelming to a new developer. 35:00 – Chuck: I think a lot of that is the community’s fault and not Rails’ fault. 35:57 – Panel. 36:04 – Panel: The counter-argument could say that’s where server-less come in. 36:27 – Chuck: To some degree you can get away with it. You don’t have to worry about the infrastructure or anything else. 36:44 – Panel: Have you tried messing around with server-less functions with AWS? I have and...it’s not easy. There is not a good flow or good work flow in a server-less environment. 38:01 – Chuck: You can go to this website. It makes the setup easier b/c you are adding your Azure or AWS features. 38:30 – Panel: This topic, though, does tie back to the testing topic we were talking about earlier! 39:14 – Panel: Yeah that is why I haven’t gotten into server-less things. The Rails holistic approach is so appealing. 40:14 – Panel continues: I want to take smaller steps when it comes to technology! I want to move into things that we are laying down the tracks to make it easier travelable. That way we can consider the things we’ve learned in the past and help those in the future. 41:07 – Chuck: What are lacking then? What is the friction that is left? Seems like Cypress helped removed that but maybe not? 42:02 – Panelist mentions Cypress, Jest, Mocha, and others! 43:10 – Panel (continues): I am all about experimenting but I want to know all the reasons. What has changed and what hasn’t’ changed? 43:29 – Panel: There is an article written that talks about this topic. 43:59 – Guest mentions the video “Is TDD Dead?” (See links below.) 44:29 – Guest: I like brining thoughts together and taking his or her input and come up with my own thoughts. 46:32 – Guest (continues): The testing trophy is heavier on the top (picture of a trophy). Guest: I think the thing that draws me to unit testing is that... 47:37 – Guest: I am obsessed with testing. The guest gives a summary here! 48:15 – Chuck: We talked with Quincy Larson last week and it’s a really good take on what we are doing and what we are trying to accomplish with our tests. Check it out – it’s coming out soon! 49:05 – Panel: When you are younger into your career – the way you think about structuring your code – when you are comfortable you really don’t need that guidance. 50:00 – Guest: I would encourage folks who were new to coding to do the following... 51:36 – Guest: Think about WHY you are doing (what you are doing) and being able to articulate well what you are doing and why. 52:03 – Panel: There is no question – every time I test I am surprised how much it shapes my thinking about the code and how many bugs that I catch even in code that I thought was operating well. When you go too far though there is a fallacy there. 52:54 – Panel: Yes, testing is very important. I am a test-after-the-fact programmer. That is my self-key term. Don’t write 500-line methods b/c you won’t be able to test that. Don’t make it too abstract so have a common pattern that you will use. Have a lot of private methods that aren’t exposed to the API. 54:03 – Guest: Yes thinking about how to structure your code can be challenging at first but it gets easier. 55:58 – Chuck: I have had talks with Corey Haines about topics like this! 56:47 – Guest: Yes it can be helpful in consultancy now. 59:23 – Guest: Think about this: choosing what level to test at. 1:00:14 – Panel: It’s hard b/c it changes all the time per function or something else. There are tradeoffs with everything we do. 1:00:41 – Chuck: You are the consultant it depends doesn’t it? 1:00:51 – Picks! 1:00:55 – Advertisement: Get A Coder Job! End – Cache Fly! Links: Get a Coder Job Course Ruby Ruby on Rails Angular Cypress Vue React VUE CLI 3 Jest.io Mocha.js GitHub: Istanbul The RSpec Book RR 068 Episode Ember CLI GitHub: Factory_Bot GitHub: VCR Big Nerd Ranch Big Nerd Ranch: Josh Justice / Team Manager The Bike Shed Keynote: Tom Dale @ EmberFest 2018 JSJ 291 Episode Serverless Article: Test-Induced Design Damage Video: Is TDD Dead? Music: Sub Conscious – Electronic / 2004 Music: Interloper / 2015 Disney Heroes: Battle Mode Google Play: Disney Heroes / Battle Mode Book Authoring Playlist Tom Dale’s Twitter Corey Haines’ Twitter Coding It Wrong Josh’s Twitter Josh’s GitHub Josh’s LinkedIn Josh’s Vimeo Video Sponsors: Sentry CacheFly Fresh Books Picks: Nate Phutureprimitive - Sub Conscious Carbon Based Lifeforms - Interloper Dave Dust collections system in Wood Shop Doctor Who - Theme Music Charles Authoring music Disney Hero Battles Josh Effecting Testing with RSpec 3 Growing Object-Oriented Software, Guided by Test XUnit Test Patterns Spectacle App Alfred App
Panel: AJ O’Neal Joe Eames Jesse Sanders Special Guest: Sean Hunter In this episode, the panel talks with Sean Hunter who is a software developer, speaker, rock climber, and author of “Aurelia in Action” published by Manning Publications! Today, the panelists and Sean talk about Aurelia and other frameworks. Check it out! Show Topics: 0:00 – Advertisement: KENDO UI 0:38 – Joe: Hello! Our panelists are AJ, Jesse, myself, and our special guest is Sean Hunter (from Australia)! What have you been doing with your life and what is your favorite movie? 1:45 – Guest talks about Vegemite! 2:20 – Guest: I was in the UK and started using Aurelia, which I will talk about today. I have done some talks throughout UK about Aurelia. Also, the past year moved back to Australia had a baby son and it’s been a busy year. Writing a book and being a new parent has been hard. 3:22 – Panel: Tell us the history of Aurelia, please? 3:31 – Panel: Is it like jQuery, React, Vue or what? 3:44 – Guest: Elevator pitch – Aurelia is a single-page app framework! It’s most similar to Vue out of those frameworks; also, similarities to Ember.js. 4:30 – Guest goes into detail about Aurelia. 6:15 – Panel: It sounds like convention over configuration. 6:42 – Guest: Yes that is correct. 7:21 – Panel: Sounds like there is a build-step to it. 7:39 – Guest: There is a build-step you are correct. You will use Webpack in the background. 9:57 – The guest talks about data binding among other things. 10:30 – Guest: You will have your app component and other levels, too. 10:37 – Panel: I am new to Aurelia and so I’m fresh to this. Why Aurelia over the other frameworks? Is there a CLI to help? 11:29 – Guest: Let me start with WHY Aurelia and not the other frameworks. The style that you are using when building the applications is important for your needs. In terms of bundling there is a CUI and that is a way that I prefer to start my projects. Do you want to use CSS or Webpack or...? It’s almost a wizard process! You guys have any questions about the CLI? 14:43 – Panel: Thanks! I was wondering what is actually occurring there? 15:25 – Guest: Good question. Basically it’s that Aurelia has some built-in conventions. Looking at the convention tells Aurelia to pick the Vue model by name. If I need to tell the framework more information then... 17:46 – Panel: I think that for people who are familiar with one or more framework then where on that spectrum would Aurelia fall? 18:20 – Guest: It’s not that opinionated as Ember.js. 19:09 – Panel: Talking about being opinionated – what are some good examples of the choices that you have and how that leads you down a certain path? Any more examples that you can give us? 19:38 – Guest: The main conventions are what I’ve talked about already. I can’t think of more conventions off the top of my head. There are more examples in my book. 20:02 – Panel: Your book? 20:10 – Guest: Yep. 20:13 – Panel. 20:20 – Guest. 21:58 – Panel: Why would I NOT pick Aurelia? 22:19 – Guest: If you are from a React world and you like having things contained in a single-file then Aurelia would fight you. If you want a big company backing then Aurelia isn’t for you. The guest goes into more reasons why or why not one would or wouldn’t want to use Aurelia. 24:24 – Panel: I think the best sell point is the downplay! 24:34 – Guest: Good point. What does the roadmap look like for Aurelia’s team? 25:00 – Guest: Typically, what happens in the Aurelia framework is that data binding (or router) gets pushed by the core team. They are the ones that produce the roadmap and look forward to the framework. The core team is working on the NEXT version of the framework, which is lighter, easier to use, and additional features. It’s proposed to be out for release next year. 26:36 – Advertisement – Sentry.io 27:34 – Panel: I am going to take down the CLI down and see what it does. I am looking at it and seeing how to teach someone to use it. I am using AU, new command, and it says no Aurelia found. I am stuck. 28:06 – Guest: What you would do is specify the project name that you are trying to create and that should create it for you. 28:40 – Panel. 28:45 – Panel. 28:50 – Panel: Stand up on your desk and say: does anyone know anything about computers?! 29:05 – Panelists go back-and-forth. 29:13 – Panel: What frameworks have you used in the past? 29:17 – Guest: I was using single-paged apps back in 2010. 31:10 – Panel: Tell us about the performance of Aurelia? 31:17 – Guest: I was looking at the benchmarks all the time. Last time I looked the performance was comparable. Performances can me measured in a number of different of ways. The guest talks about a dashboard screen that 20 charts or something like that. He didn’t notice any delays getting to the client. 33:29 – Panel: I heard you say the word “observables.” 33:39 – Guest answers the question. 35:30 – Guest: I am not a Redux expert, so I really can’t say. It has similar actions like Redux but the differences I really can’t say. 36:11 – Panel: We really want experts in everything! (Laughs.) 36:25 – Panelist talks about a colleagues’ talk at a conference. He says that he things are doing too much with SPAs. They have their place but we are trying to bundle 8-9 different applications but instead look at them as... What are your thoughts of having multiple SPAs? 37:17 – Guest. 39:08 – Guest: I wonder what your opinions are? What about the splitting approach? 39:22 – Panel: I haven’t looked at it, yet. I am curious, though. I have been developing in GO lately. 40:20 – Guest: I think people can go too far and making it too complex. You don’t want to make the code that complex. 40:45 – Panel: Yeah when the code is “clean” but difficult to discover that’s not good. 41:15 – Guest: I agree when you start repeating yourself then it makes it more difficult. 41:35 – Panel: Chris and I are anti-framework. We prefer to start from a fresh palette and see if a framework can fit into that fresh palette. When you start with a certain framework you are starting with certain configurations set-in-place. 42:48 – Joe: I like my frameworks and I think you are crazy! 43:05 – Panel. 43:11 – Joe: I have a love affair with all frameworks. 43:19 – Panel: I think I am somewhere in the middle. 43:49 – Panel: I don’t think frameworks are all bad but I want to say that it’s smart to not make it too complex upfront. Learn and grow. 44:28 – Guest: I think a good example of that is jQuery, right? 45:10 – Panelist talks about C++, jQuery, among other things. 45:34 – Guest: Frameworks kind of push the limits. 46:08 – Panelist talks about JavaScript, frameworks, and others. 47:04 – Panel: It seems simple to setup routes – anything to help with the lazy way to setup? 47:35 – Guest answers question. 48:37 – Panel: How do we manage complexity and how does messaging work between components? 48:54 – Guest: The simple scenario is that you can follow a simple pattern, which is (came out of Ember community) and that is...Data Down & Actions Up! 50:45 – Guest mentions that Aurelia website! 51:00 – Panel: That sounds great! Sounds like the pattern can be plugged in easily into Aurelia. 51:17 – Picks! 51:20 – Advertisement: Get A Coder Job! END – Advertisement: CacheFly! Links: JavaScript React Redux Webpack Elixir Ember.js Vue GO jQuery Node.js Puppeteer Cypress Utah JS 2018 – Justin McMurdie’s Talk Aurelia Sean Hunter’s Book! Sean Hunter’s Twitter Sean Hunter’s Website Sean Hunter’s GitHub Sponsors: Kendo UI Sentry CacheFly Picks: Joe React Conf. Endless Quest AJ Extreme Ownership GO Language Harry’s and Flamingo Jesse Sanders The Miracle Morning React Hooks Apple Products Sean Doesn’t Have to Be Crazy at Work Discount Code for Aurelia in Action - hunterpc (40% off Aurelia in Action, all formats) Apple Watch
Panel: Josh Adams Charles Max Wood Mark Ericksen Special Guest: Devon Estes In this episode of Elixir Mix, the panel talks with Devon Estes who is a software developer who uses Elixir. He currently resides in Berlin, Germany and has been working there for the past four years. The panelists and the guest talk about Elixir, testing, and much more! Check it out! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:49 – Chuck: I am starting a new show called The DevRev. Check it out here! Our special guest today is Devon Estes. Episode 18 is a past episode you’ve been on – check it out here! 1:26 – Devon: I am American but live in Berlin, Germany for about 4 years now. I was a freelancer, but now I am at a “real” job now where I am a software developer using Elixir. 1:50 – Chuck: Cool! 2:05 – Guest: Something to always talk about testing – it’s evergreen! 2:15 – Chuck: What are the benefits you get from testing and what is your approach? 2:24 – The guest answers the question. 3:53 – Panelist chimes in. 4:18 – Panel: I like playing around and I know when something is terrible. I have to poke around to figure out if I like it or not. I am an exploratory developer. I write a test and it looks great at first but the implementation is terrible or something. 5:54 – Mark comments on developers and how they interact with their code. 7:15 – Mark: How do you approach that? I heard you talking about tests, spikes and other things. 7:22 – Guest: If it is something that is small I will write the test first. If it’s larger I will usually do 2-3 spikes to figure out what is going on. The guest continues with this topic. 8:54 – Panel: I found that over the years I couldn’t do that. 9:21 – Guest: With the topic of testing in Elixir I have these “rules” but I break them all the time. Sometimes you get better, cleaner tests out of it if you were to break the rule(s.). Tests are only there for 90% of the time, in my own opinion. Sometimes you have to play around to see what’s going on. 10:36 – Panel: I agree a lot, especially with integrations. 10:49 – Guest. 12:18 – Panel: You have these guidelines or rules and you know when to break those rules. You talked about these specific rules and I thought it was interesting. I was reading through these and I have the same rules but you codified them with examples. Can you walk us through your guidelines? 13:00 – Guest: To be super clear I am talking about unit tests. When I think of testing there is this testing pyramid. 13:52 – Panel. 14:57 – Guest: Like I said, these rules are meant to be broken, if appropriate. 16:39 – Guest continues with unit testing and other types of testing. He talks about easier to more difficult kinds of tests. 17:42 – Guest (continues): Sometimes the tests are accurately true, and sometimes not. It can be easy to get into those traps. Hopefully they will tell you what is expected. 18:25 – Panel: In Ruby, there is a test that would modify your code and remove stuff? Was it Mutant? Mutant testing. 19:03 – Guest answers the question. 19:38 – Guest: I don’t know if Elixir has anything like that, yet, but it would be pretty cool. It would be a good idea for someone to take on! 20:00 – Chuck: I have had conversations with a colleague – they both pushed back and talked more about Cypress.io and integrated tests. 21:04 – Chuck: I think it’s interesting to see the different approaches! 21:14 – Guest: We are lucky to have great tooling in Elixir!! The guest mentions Wallaby.js! 24:39 – The guest talks about unit levels. Check it out here! 26:35 – Panel. 26:48 – Chuck: How does it affect my workflow? I like end-to-end tests. The efficiency, if it’s repeating stuff – I don’t care – as long as it’s fast enough. If it ruins my workflow then it’s a problem. 27:22 – Panel. 28:12 – The topic “test coverage” is mentioned by Chuck. 28:25 – Panel. 29:02 – FreshBooks! 30:10 – Guest talks about Wallaby.js. 32:24 – Panel: We’ve had you on before, and the idea is that you are all into Elixir and its path. (EMx 018 – Episode with Devon Estes) 32:57 – Guest: I think testing in Elixir is simpler. 34:04 – Panel. 34:07 – Guest: You have commands and you have queries. The guest gives a hypothetical example! The guest also mentions GenServers, too. 35:42 – Guest: There are two ways that you can interact with the process: command & queries. 37:00 – Guest talks about different libraries such as: MoX. 37:41 – Panel: Any tips on testing the servers; just any GenServer? 38:25 – Panelist shares his approach with this. 39:54 – Guest: I don’t test name servers b/c they are by definition global state. The guest goes into great detail about testing – check it out! 46:29 – Panel. 47:01 – Guest: I kind of hate the term dependency interjection in the functional context. 47:17 – Panel: I think it’s helpful, because... 47:28 – Guest. 47:49 – Panelists go back-and-forth! 48:20 – Panel: Sending a message to the testing process – this was something that was stated by Devon earlier. I find this really helpful. 49:00 – Chuck: Picks! 49:05 – Ad: Lootcrate.com END – CacheFly! Links: Ruby Elixir GenServers Elm JavaScript Visual Studio Code React Wallaby Cypress.io Mutation Testing – GitHub MoX MRS 003 – Episode with Devon Estes RR 295 – Episode with Devon Estes RR 330 – Episode with Devon Estes EMx 018 – Episode with Devon Estes Devon’s GitHub Devon’s Twitter Sponsors: Loot Crate Get a Coder Job! Fresh Books CacheFly Picks: Mark Get Alias Blog - Mox Josh GitPitch.com Slide Deck by Josh Charles Values Extreme Ownership Sit down with your team Discord server for DevChat Recommendation Page for Elixir Devon Dell Laptop XPS 13 Play Station Mini Test - devonestes@gmail.com
Panel: AJ O’Neal Joe Eames Jesse Sanders Special Guest: Sean Hunter In this episode, the panel talks with Sean Hunter who is a software developer, speaker, rock climber, and author of “Aurelia in Action” published by Manning Publications! Today, the panelists and Sean talk about Aurelia and other frameworks. Check it out! Show Topics: 0:00 – Advertisement: KENDO UI 0:38 – Joe: Hello! Our panelists are AJ, Jesse, myself, and our special guest is Sean Hunter (from Australia)! What have you been doing with your life and what is your favorite movie? 1:45 – Guest talks about Vegemite! 2:20 – Guest: I was in the UK and started using Aurelia, which I will talk about today. I have done some talks throughout UK about Aurelia. Also, the past year moved back to Australia had a baby son and it’s been a busy year. Writing a book and being a new parent has been hard. 3:22 – Panel: Tell us the history of Aurelia, please? 3:31 – Panel: Is it like jQuery, React, Vue or what? 3:44 – Guest: Elevator pitch – Aurelia is a single-page app framework! It’s most similar to Vue out of those frameworks; also, similarities to Ember.js. 4:30 – Guest goes into detail about Aurelia. 6:15 – Panel: It sounds like convention over configuration. 6:42 – Guest: Yes that is correct. 7:21 – Panel: Sounds like there is a build-step to it. 7:39 – Guest: There is a build-step you are correct. You will use Webpack in the background. 9:57 – The guest talks about data binding among other things. 10:30 – Guest: You will have your app component and other levels, too. 10:37 – Panel: I am new to Aurelia and so I’m fresh to this. Why Aurelia over the other frameworks? Is there a CLI to help? 11:29 – Guest: Let me start with WHY Aurelia and not the other frameworks. The style that you are using when building the applications is important for your needs. In terms of bundling there is a CUI and that is a way that I prefer to start my projects. Do you want to use CSS or Webpack or...? It’s almost a wizard process! You guys have any questions about the CLI? 14:43 – Panel: Thanks! I was wondering what is actually occurring there? 15:25 – Guest: Good question. Basically it’s that Aurelia has some built-in conventions. Looking at the convention tells Aurelia to pick the Vue model by name. If I need to tell the framework more information then... 17:46 – Panel: I think that for people who are familiar with one or more framework then where on that spectrum would Aurelia fall? 18:20 – Guest: It’s not that opinionated as Ember.js. 19:09 – Panel: Talking about being opinionated – what are some good examples of the choices that you have and how that leads you down a certain path? Any more examples that you can give us? 19:38 – Guest: The main conventions are what I’ve talked about already. I can’t think of more conventions off the top of my head. There are more examples in my book. 20:02 – Panel: Your book? 20:10 – Guest: Yep. 20:13 – Panel. 20:20 – Guest. 21:58 – Panel: Why would I NOT pick Aurelia? 22:19 – Guest: If you are from a React world and you like having things contained in a single-file then Aurelia would fight you. If you want a big company backing then Aurelia isn’t for you. The guest goes into more reasons why or why not one would or wouldn’t want to use Aurelia. 24:24 – Panel: I think the best sell point is the downplay! 24:34 – Guest: Good point. What does the roadmap look like for Aurelia’s team? 25:00 – Guest: Typically, what happens in the Aurelia framework is that data binding (or router) gets pushed by the core team. They are the ones that produce the roadmap and look forward to the framework. The core team is working on the NEXT version of the framework, which is lighter, easier to use, and additional features. It’s proposed to be out for release next year. 26:36 – Advertisement – Sentry.io 27:34 – Panel: I am going to take down the CLI down and see what it does. I am looking at it and seeing how to teach someone to use it. I am using AU, new command, and it says no Aurelia found. I am stuck. 28:06 – Guest: What you would do is specify the project name that you are trying to create and that should create it for you. 28:40 – Panel. 28:45 – Panel. 28:50 – Panel: Stand up on your desk and say: does anyone know anything about computers?! 29:05 – Panelists go back-and-forth. 29:13 – Panel: What frameworks have you used in the past? 29:17 – Guest: I was using single-paged apps back in 2010. 31:10 – Panel: Tell us about the performance of Aurelia? 31:17 – Guest: I was looking at the benchmarks all the time. Last time I looked the performance was comparable. Performances can me measured in a number of different of ways. The guest talks about a dashboard screen that 20 charts or something like that. He didn’t notice any delays getting to the client. 33:29 – Panel: I heard you say the word “observables.” 33:39 – Guest answers the question. 35:30 – Guest: I am not a Redux expert, so I really can’t say. It has similar actions like Redux but the differences I really can’t say. 36:11 – Panel: We really want experts in everything! (Laughs.) 36:25 – Panelist talks about a colleagues’ talk at a conference. He says that he things are doing too much with SPAs. They have their place but we are trying to bundle 8-9 different applications but instead look at them as... What are your thoughts of having multiple SPAs? 37:17 – Guest. 39:08 – Guest: I wonder what your opinions are? What about the splitting approach? 39:22 – Panel: I haven’t looked at it, yet. I am curious, though. I have been developing in GO lately. 40:20 – Guest: I think people can go too far and making it too complex. You don’t want to make the code that complex. 40:45 – Panel: Yeah when the code is “clean” but difficult to discover that’s not good. 41:15 – Guest: I agree when you start repeating yourself then it makes it more difficult. 41:35 – Panel: Chris and I are anti-framework. We prefer to start from a fresh palette and see if a framework can fit into that fresh palette. When you start with a certain framework you are starting with certain configurations set-in-place. 42:48 – Joe: I like my frameworks and I think you are crazy! 43:05 – Panel. 43:11 – Joe: I have a love affair with all frameworks. 43:19 – Panel: I think I am somewhere in the middle. 43:49 – Panel: I don’t think frameworks are all bad but I want to say that it’s smart to not make it too complex upfront. Learn and grow. 44:28 – Guest: I think a good example of that is jQuery, right? 45:10 – Panelist talks about C++, jQuery, among other things. 45:34 – Guest: Frameworks kind of push the limits. 46:08 – Panelist talks about JavaScript, frameworks, and others. 47:04 – Panel: It seems simple to setup routes – anything to help with the lazy way to setup? 47:35 – Guest answers question. 48:37 – Panel: How do we manage complexity and how does messaging work between components? 48:54 – Guest: The simple scenario is that you can follow a simple pattern, which is (came out of Ember community) and that is...Data Down & Actions Up! 50:45 – Guest mentions that Aurelia website! 51:00 – Panel: That sounds great! Sounds like the pattern can be plugged in easily into Aurelia. 51:17 – Picks! 51:20 – Advertisement: Get A Coder Job! END – Advertisement: CacheFly! Links: JavaScript React Redux Webpack Elixir Ember.js Vue GO jQuery Node.js Puppeteer Cypress Utah JS 2018 – Justin McMurdie’s Talk Aurelia Sean Hunter’s Book! Sean Hunter’s Twitter Sean Hunter’s Website Sean Hunter’s GitHub Sponsors: Kendo UI Sentry CacheFly Picks: Joe React Conf. Endless Quest AJ Extreme Ownership GO Language Harry’s and Flamingo Jesse Sanders The Miracle Morning React Hooks Apple Products Sean Doesn’t Have to Be Crazy at Work Discount Code for Aurelia in Action - hunterpc (40% off Aurelia in Action, all formats) Apple Watch
Panel: Charles Max Wood Aaron Frost Shai Reznik Divya Sasidharan Joe Eames Lucas Reis Special Guest: Sean Merron In this episode, The panelist of React Round-Up, View on Vue, Adventures in Angular, Ruby Rogues, and JavaScript Jabber speak with Sean Merron about Mastermind Groups of Startups and much more. Sean is the founder of today's topic and product “Mastermind Hunt.” This product is design to skillfully find a mastermind to take your business and skills to the next level. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 3:00 – Webinar announcement January 3rd, 2p EST. 4:10 - Sean talks about the importance of a Mastermind and his evolvement in mastermind groups. Sean breakdowns what exactly what a mastermind is about. 6:10 - Charles ask the panelist if they have engaged in Masterminds. Shai talks about his experience and seeing one-sidedness in Masterminds. Sean talks about how to avoid this issue and staying on track. Sean shares on how to keep the meeting moving forward and meet accountability tasks. 10:10 - Joe asks about examples of chatting on topics with co-workers and how is this different from masterminds. And how to keep topics on track. Sean provides using the round robin method to give each person a chance to bring their needs to the table. Sean talks about how developers share advice and topics in Masterminds. 14:43 - Charles shares about how this works in using exercise workbooks as a group and who the rotation works for the hot seat. Sean explains that this is used to find others at your same level to help one another. 16:50 - Shai ask about the benefits of mastermind, but how can we integrate higher level issues among a group. Sean shares a story about meeting and benefits of networking in Masterminds. Sean and Chuck continue with the power of networking among these types of groups. 22:00 - Charles talks about the complexity of personal issues. Shai asks about how to build a mastermind. Sean gives examples of formats and schedule, number of people, and how to conduct successfully. Sean gives examples of technologies to use to help conduct masterminds, like Facebook groups, Skype, Zoom. Sean explains how this led to building mastermindhunt.com 27:00 – Advertisement: Get A Coder Job! 27:00 - Charles talks about how he did a lunch meetup as a mastermind. Lucas gives examples of guilds in his job. Lucas explains the guilds and how this works among the software development team. Lucas shares about presenting in a guild. Lucas says this is great for accountability and success. 30:00 - Sean asks about the size or how many people are in the guild. Lucas mentions that if you do not understand something, bring it to the guild. Sean mentions how this could help shy people and build trust. Sean talks about “Friend D A” 34:00 - Charles again talks about that BrownBag lunch mastermind. Charles talks about how to keep masterminds on track and not a chatfest. Joe asks about the accountability goals. Sean talks about how this works in Mastermind Hunt. Sean gives examples of how to keep people accountable in fun ways. 37:00 - Shai talks about having to shave his head when he was not meeting accountability goals. Sean continues about respecting people’s time and keeping on topic with hot seat questions. 39:00 - Shai asks about how to approach people who are not meeting goals and take-up to much time. Sean says the person with the best relationship should approach the person before they have to bump them out of the mastermind spot. 42:00 - Charles talks about EntreProgrammers as a mastermind and the freeform style of the format. Charles talks about leaving the group if it is not meeting your value needs. 44:00 - Sean talks about the introduction and application programs to enter into a mastermind. Lucas talks about diminishing quality of a mastermind, and how he raised the quality of engaging in a way that heightens the program. Sean shares more aobuu the initial attitude of the person who starts the meeting. 49:00 - Divya ask about those who are not hitting their goals, but how do you keep them engaged without leaving the group. Sean mentions breaking down the goals or create achievable goals. Sean talks about figuring out the organization and finding where the issues are at that might be the problem to hitting goals. 51:00 - Divya ask about how enthusiasm can diminish about how to keep that from happening in masterminds. Sean says you have to be consistent with your goals and make it fun. 55:00 - Shai gives a quick recap of masterminds. Shai ask about how to rotate the hot seat. Sean give a webinar link for mastermindhunt.com/devchat on January 3rd, 2pm EST. 57:30 – Advertisement – Fresh Books! 30-day free trial! END – Advertisement – Cache Fly! Links: Sean’s Twitter 2frugaldudes podcast Sean’s LinkedIn mastermindhunt.com mastermindhunt.com/devchat Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Shai Bob Proctor Joe Coolstuffinc luxor NG Conf Minified Lucas Radical Candor Divya Alan Watts Framework Summit Videos Several Short Sentence about Writing Charles CES - devchat.tv/events Modern Medicine Sean (757) Area Code RevolutionConf.com
Panel: Charles Max Wood Aaron Frost Shai Reznik Divya Sasidharan Joe Eames Lucas Reis Special Guest: Sean Merron In this episode, The panelist of React Round-Up, View on Vue, Adventures in Angular, Ruby Rogues, and JavaScript Jabber speak with Sean Merron about Mastermind Groups of Startups and much more. Sean is the founder of today's topic and product “Mastermind Hunt.” This product is design to skillfully find a mastermind to take your business and skills to the next level. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 3:00 – Webinar announcement January 3rd, 2p EST. 4:10 - Sean talks about the importance of a Mastermind and his evolvement in mastermind groups. Sean breakdowns what exactly what a mastermind is about. 6:10 - Charles ask the panelist if they have engaged in Masterminds. Shai talks about his experience and seeing one-sidedness in Masterminds. Sean talks about how to avoid this issue and staying on track. Sean shares on how to keep the meeting moving forward and meet accountability tasks. 10:10 - Joe asks about examples of chatting on topics with co-workers and how is this different from masterminds. And how to keep topics on track. Sean provides using the round robin method to give each person a chance to bring their needs to the table. Sean talks about how developers share advice and topics in Masterminds. 14:43 - Charles shares about how this works in using exercise workbooks as a group and who the rotation works for the hot seat. Sean explains that this is used to find others at your same level to help one another. 16:50 - Shai ask about the benefits of mastermind, but how can we integrate higher level issues among a group. Sean shares a story about meeting and benefits of networking in Masterminds. Sean and Chuck continue with the power of networking among these types of groups. 22:00 - Charles talks about the complexity of personal issues. Shai asks about how to build a mastermind. Sean gives examples of formats and schedule, number of people, and how to conduct successfully. Sean gives examples of technologies to use to help conduct masterminds, like Facebook groups, Skype, Zoom. Sean explains how this led to building mastermindhunt.com 27:00 – Advertisement: Get A Coder Job! 27:00 - Charles talks about how he did a lunch meetup as a mastermind. Lucas gives examples of guilds in his job. Lucas explains the guilds and how this works among the software development team. Lucas shares about presenting in a guild. Lucas says this is great for accountability and success. 30:00 - Sean asks about the size or how many people are in the guild. Lucas mentions that if you do not understand something, bring it to the guild. Sean mentions how this could help shy people and build trust. Sean talks about “Friend D A” 34:00 - Charles again talks about that BrownBag lunch mastermind. Charles talks about how to keep masterminds on track and not a chatfest. Joe asks about the accountability goals. Sean talks about how this works in Mastermind Hunt. Sean gives examples of how to keep people accountable in fun ways. 37:00 - Shai talks about having to shave his head when he was not meeting accountability goals. Sean continues about respecting people’s time and keeping on topic with hot seat questions. 39:00 - Shai asks about how to approach people who are not meeting goals and take-up to much time. Sean says the person with the best relationship should approach the person before they have to bump them out of the mastermind spot. 42:00 - Charles talks about EntreProgrammers as a mastermind and the freeform style of the format. Charles talks about leaving the group if it is not meeting your value needs. 44:00 - Sean talks about the introduction and application programs to enter into a mastermind. Lucas talks about diminishing quality of a mastermind, and how he raised the quality of engaging in a way that heightens the program. Sean shares more aobuu the initial attitude of the person who starts the meeting. 49:00 - Divya ask about those who are not hitting their goals, but how do you keep them engaged without leaving the group. Sean mentions breaking down the goals or create achievable goals. Sean talks about figuring out the organization and finding where the issues are at that might be the problem to hitting goals. 51:00 - Divya ask about how enthusiasm can diminish about how to keep that from happening in masterminds. Sean says you have to be consistent with your goals and make it fun. 55:00 - Shai gives a quick recap of masterminds. Shai ask about how to rotate the hot seat. Sean give a webinar link for mastermindhunt.com/devchat on January 3rd, 2pm EST. 57:30 – Advertisement – Fresh Books! 30-day free trial! END – Advertisement – Cache Fly! Links: Sean’s Twitter 2frugaldudes podcast Sean’s LinkedIn mastermindhunt.com mastermindhunt.com/devchat Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Shai Bob Proctor Joe Coolstuffinc luxor NG Conf Minified Lucas Radical Candor Divya Alan Watts Framework Summit Videos Several Short Sentence about Writing Charles CES - devchat.tv/events Modern Medicine Sean (757) Area Code RevolutionConf.com
Panel: Dave Kimura Charles Max Wood Nate Hopkins Special Guest: Josh Justice In this episode of Ruby Rogues, the panelists talk with Josh Justice who is a developer, writer, and speaker. Josh streams JavaScript and web development on Friday’s at 2:00 PM (ET) here! The panelists and the guest talk about Josh’s background and frontend testing in Ruby. Check it out! Show Topics: 0:00 – Advertisement: Sentry.io 1:04 – Chuck: Hi! Dave, Nate, and myself are on the panel and our special guest is Josh Justice! I am developing a show about developer freedom and it’s called The DevRev. It will be streamed through YouTube, and I will record Friday afternoons. Check out Facebook, too! 2:11 – Josh: Thanks! I am happy to be here! 2:18 – Chuck: Introduce yourself, please! 2:24 – Josh: I have been a developer for about 14 years. I have used PHP and then got into Ruby and then frontend development. 2:46 – Chuck: You work for Big Nerd Ranch in Atlanta? 2:56 – Josh: Yep for the last 3-4 years! 3:15 – Chuck: Can you introduce the topic? 3:25 – The guest talks about Big Nerd Ranch and frontend development. Learn TDD is mentioned, too! Check it out here! 5:06 – Panel: How much bouncing do you do between React and Vue? 5:11 – Guest. 5:47 – Chuck: We need to get you on our podcast shows for React and Vue! It’s an approach that I am familiar with in Ruby – and Selenium what a pain! 6:16 – Guest: I’ve had a good experience with Cypress, actually! 7:47 – Guest: Panelist, can you share your experiences? 7:57 – Panel: Not bad experiences with testing, but now I am trying to minimize my use with JavaScript. 8:30 – Guest: I think there is a big push towards considering more server site rendering. 9:35 – Panel: What’s your recommendation to setup Cypress? 9:40 – Guest: Their docs are really great! They had some conference talks on how to set it up! 10:15 – Guest: Check out my talks about this topic. (Connect Tech 2018). 10:29 – Panel: I think Cypress is a pretty cool solution but one thing that left me confused is that you have to have an environment that is already stood-up and running. Is that accurate or has that changed? 11:00 – Guest: Can you clarify what you mean by a “running environment”? 11:04 – Panelist clarifies. 11:44 – Guest: Luckily for me I have something to say b/c I tried a week ago! 12:01 – Guest mentions Vue CLI 3. 14:38 – Panel: How can you test your code coverage? I want to know how much of my code coverage am I hitting? The applications are up and running, it’s not going through the files (per se), and is there anything that would indicate how good your coverage is with the Cypress test? 15:10 – Guest: Let me as a follow-up question: How do you approach it on the frontend? 15:24 – Panelist answers the guest’s question. 16:06 – The guest mentions Vue CLI 2 & 3. 18:31 – Chuck: Are you using the tool Istanbul? 18:36 – Guest: Yep Istanbul is the one! 18:54 – Chuck: I’ve heard some similar rumors, but can’t say. 19:02 – Panelist talks. 20:13 – Chuck: I have been working on a project and what doesn’t get test-coverage gets a candidate to get pulled-out. 20:40 – Guest: Talking about test-driven development... Guest: Have you read the original book? 21:02 – Guest: The book: “Effective Testing with RSpec 3” is updated information – check it out! The guest mentions his live stream on Friday’s. Check out the links found below! 23:57 – Panel: How is the stability with tests like Cypress with end-to-end tests? If you are testing with a login then the user has to be already created. Or what about a Twitter app – the user has to be created and not followed? How do you handle that? 24:22 – Guest: I think we are spoiled in the Rails world b/c of those... 24:53 – The guest answers the panelist’s question! 26:59 – Fresh Books! 28:07 – Guest: Does that help? 28:10 – Panel. 28:21 – Guest: I have been thinking about this, though, recently. Thinking about the contracts through the business. I have dabbled with native development and I see the cost that runs a native app. 30:21 – Panel: It’s refreshing to hear the new market’s demands. I truly haven’t seen an application that requires that. I have built some extensive applications and also very simple ones, too; the need for productivity. 31:17 – Guest mentions a talk at a conference. See here for that information! 31:43 – Guest: I have a friend who was a new developer and he really knows his stuff. He said that he didn’t know if he could be a full stack developer in the next 5-10 years. Wait a minute?! Guest: The freedom to create something that stands alone. Guest: Tom Dale is mentioned by the Guest. 33:35 – Panel: To choose Rails as a new developer (today) it’s not as easy as it was back in the day. Today you have Active Job, Action Cable and so many other components. It’s more complicated today then it was in the past. It could be overwhelming to a new developer. 35:00 – Chuck: I think a lot of that is the community’s fault and not Rails’ fault. 35:57 – Panel. 36:04 – Panel: The counter-argument could say that’s where server-less come in. 36:27 – Chuck: To some degree you can get away with it. You don’t have to worry about the infrastructure or anything else. 36:44 – Panel: Have you tried messing around with server-less functions with AWS? I have and...it’s not easy. There is not a good flow or good work flow in a server-less environment. 38:01 – Chuck: You can go to this website. It makes the setup easier b/c you are adding your Azure or AWS features. 38:30 – Panel: This topic, though, does tie back to the testing topic we were talking about earlier! 39:14 – Panel: Yeah that is why I haven’t gotten into server-less things. The Rails holistic approach is so appealing. 40:14 – Panel continues: I want to take smaller steps when it comes to technology! I want to move into things that we are laying down the tracks to make it easier travelable. That way we can consider the things we’ve learned in the past and help those in the future. 41:07 – Chuck: What are lacking then? What is the friction that is left? Seems like Cypress helped removed that but maybe not? 42:02 – Panelist mentions Cypress, Jest, Mocha, and others! 43:10 – Panel (continues): I am all about experimenting but I want to know all the reasons. What has changed and what hasn’t’ changed? 43:29 – Panel: There is an article written that talks about this topic. 43:59 – Guest mentions the video “Is TDD Dead?” (See links below.) 44:29 – Guest: I like brining thoughts together and taking his or her input and come up with my own thoughts. 46:32 – Guest (continues): The testing trophy is heavier on the top (picture of a trophy). Guest: I think the thing that draws me to unit testing is that... 47:37 – Guest: I am obsessed with testing. The guest gives a summary here! 48:15 – Chuck: We talked with Quincy Larson last week and it’s a really good take on what we are doing and what we are trying to accomplish with our tests. Check it out – it’s coming out soon! 49:05 – Panel: When you are younger into your career – the way you think about structuring your code – when you are comfortable you really don’t need that guidance. 50:00 – Guest: I would encourage folks who were new to coding to do the following... 51:36 – Guest: Think about WHY you are doing (what you are doing) and being able to articulate well what you are doing and why. 52:03 – Panel: There is no question – every time I test I am surprised how much it shapes my thinking about the code and how many bugs that I catch even in code that I thought was operating well. When you go too far though there is a fallacy there. 52:54 – Panel: Yes, testing is very important. I am a test-after-the-fact programmer. That is my self-key term. Don’t write 500-line methods b/c you won’t be able to test that. Don’t make it too abstract so have a common pattern that you will use. Have a lot of private methods that aren’t exposed to the API. 54:03 – Guest: Yes thinking about how to structure your code can be challenging at first but it gets easier. 55:58 – Chuck: I have had talks with Corey Haines about topics like this! 56:47 – Guest: Yes it can be helpful in consultancy now. 59:23 – Guest: Think about this: choosing what level to test at. 1:00:14 – Panel: It’s hard b/c it changes all the time per function or something else. There are tradeoffs with everything we do. 1:00:41 – Chuck: You are the consultant it depends doesn’t it? 1:00:51 – Picks! 1:00:55 – Advertisement: Get A Coder Job! End – Cache Fly! Links: Get a Coder Job Course Ruby Ruby on Rails Angular Cypress Vue React VUE CLI 3 Jest.io Mocha.js GitHub: Istanbul The RSpec Book RR 068 Episode Ember CLI GitHub: Factory_Bot GitHub: VCR Big Nerd Ranch Big Nerd Ranch: Josh Justice / Team Manager The Bike Shed Keynote: Tom Dale @ EmberFest 2018 JSJ 291 Episode Serverless Article: Test-Induced Design Damage Video: Is TDD Dead? Music: Sub Conscious – Electronic / 2004 Music: Interloper / 2015 Disney Heroes: Battle Mode Google Play: Disney Heroes / Battle Mode Book Authoring Playlist Tom Dale’s Twitter Corey Haines’ Twitter Coding It Wrong Josh’s Twitter Josh’s GitHub Josh’s LinkedIn Josh’s Vimeo Video Sponsors: Sentry CacheFly Fresh Books Picks: Nate Phutureprimitive - Sub Conscious Carbon Based Lifeforms - Interloper Dave Dust collections system in Wood Shop Doctor Who - Theme Music Charles Authoring music Disney Hero Battles Josh Effecting Testing with RSpec 3 Growing Object-Oriented Software, Guided by Test XUnit Test Patterns Spectacle App Alfred App
Panel: AJ O’Neal Joe Eames Jesse Sanders Special Guest: Sean Hunter In this episode, the panel talks with Sean Hunter who is a software developer, speaker, rock climber, and author of “Aurelia in Action” published by Manning Publications! Today, the panelists and Sean talk about Aurelia and other frameworks. Check it out! Show Topics: 0:00 – Advertisement: KENDO UI 0:38 – Joe: Hello! Our panelists are AJ, Jesse, myself, and our special guest is Sean Hunter (from Australia)! What have you been doing with your life and what is your favorite movie? 1:45 – Guest talks about Vegemite! 2:20 – Guest: I was in the UK and started using Aurelia, which I will talk about today. I have done some talks throughout UK about Aurelia. Also, the past year moved back to Australia had a baby son and it’s been a busy year. Writing a book and being a new parent has been hard. 3:22 – Panel: Tell us the history of Aurelia, please? 3:31 – Panel: Is it like jQuery, React, Vue or what? 3:44 – Guest: Elevator pitch – Aurelia is a single-page app framework! It’s most similar to Vue out of those frameworks; also, similarities to Ember.js. 4:30 – Guest goes into detail about Aurelia. 6:15 – Panel: It sounds like convention over configuration. 6:42 – Guest: Yes that is correct. 7:21 – Panel: Sounds like there is a build-step to it. 7:39 – Guest: There is a build-step you are correct. You will use Webpack in the background. 9:57 – The guest talks about data binding among other things. 10:30 – Guest: You will have your app component and other levels, too. 10:37 – Panel: I am new to Aurelia and so I’m fresh to this. Why Aurelia over the other frameworks? Is there a CLI to help? 11:29 – Guest: Let me start with WHY Aurelia and not the other frameworks. The style that you are using when building the applications is important for your needs. In terms of bundling there is a CUI and that is a way that I prefer to start my projects. Do you want to use CSS or Webpack or...? It’s almost a wizard process! You guys have any questions about the CLI? 14:43 – Panel: Thanks! I was wondering what is actually occurring there? 15:25 – Guest: Good question. Basically it’s that Aurelia has some built-in conventions. Looking at the convention tells Aurelia to pick the Vue model by name. If I need to tell the framework more information then... 17:46 – Panel: I think that for people who are familiar with one or more framework then where on that spectrum would Aurelia fall? 18:20 – Guest: It’s not that opinionated as Ember.js. 19:09 – Panel: Talking about being opinionated – what are some good examples of the choices that you have and how that leads you down a certain path? Any more examples that you can give us? 19:38 – Guest: The main conventions are what I’ve talked about already. I can’t think of more conventions off the top of my head. There are more examples in my book. 20:02 – Panel: Your book? 20:10 – Guest: Yep. 20:13 – Panel. 20:20 – Guest. 21:58 – Panel: Why would I NOT pick Aurelia? 22:19 – Guest: If you are from a React world and you like having things contained in a single-file then Aurelia would fight you. If you want a big company backing then Aurelia isn’t for you. The guest goes into more reasons why or why not one would or wouldn’t want to use Aurelia. 24:24 – Panel: I think the best sell point is the downplay! 24:34 – Guest: Good point. What does the roadmap look like for Aurelia’s team? 25:00 – Guest: Typically, what happens in the Aurelia framework is that data binding (or router) gets pushed by the core team. They are the ones that produce the roadmap and look forward to the framework. The core team is working on the NEXT version of the framework, which is lighter, easier to use, and additional features. It’s proposed to be out for release next year. 26:36 – Advertisement – Sentry.io 27:34 – Panel: I am going to take down the CLI down and see what it does. I am looking at it and seeing how to teach someone to use it. I am using AU, new command, and it says no Aurelia found. I am stuck. 28:06 – Guest: What you would do is specify the project name that you are trying to create and that should create it for you. 28:40 – Panel. 28:45 – Panel. 28:50 – Panel: Stand up on your desk and say: does anyone know anything about computers?! 29:05 – Panelists go back-and-forth. 29:13 – Panel: What frameworks have you used in the past? 29:17 – Guest: I was using single-paged apps back in 2010. 31:10 – Panel: Tell us about the performance of Aurelia? 31:17 – Guest: I was looking at the benchmarks all the time. Last time I looked the performance was comparable. Performances can me measured in a number of different of ways. The guest talks about a dashboard screen that 20 charts or something like that. He didn’t notice any delays getting to the client. 33:29 – Panel: I heard you say the word “observables.” 33:39 – Guest answers the question. 35:30 – Guest: I am not a Redux expert, so I really can’t say. It has similar actions like Redux but the differences I really can’t say. 36:11 – Panel: We really want experts in everything! (Laughs.) 36:25 – Panelist talks about a colleagues’ talk at a conference. He says that he things are doing too much with SPAs. They have their place but we are trying to bundle 8-9 different applications but instead look at them as... What are your thoughts of having multiple SPAs? 37:17 – Guest. 39:08 – Guest: I wonder what your opinions are? What about the splitting approach? 39:22 – Panel: I haven’t looked at it, yet. I am curious, though. I have been developing in GO lately. 40:20 – Guest: I think people can go too far and making it too complex. You don’t want to make the code that complex. 40:45 – Panel: Yeah when the code is “clean” but difficult to discover that’s not good. 41:15 – Guest: I agree when you start repeating yourself then it makes it more difficult. 41:35 – Panel: Chris and I are anti-framework. We prefer to start from a fresh palette and see if a framework can fit into that fresh palette. When you start with a certain framework you are starting with certain configurations set-in-place. 42:48 – Joe: I like my frameworks and I think you are crazy! 43:05 – Panel. 43:11 – Joe: I have a love affair with all frameworks. 43:19 – Panel: I think I am somewhere in the middle. 43:49 – Panel: I don’t think frameworks are all bad but I want to say that it’s smart to not make it too complex upfront. Learn and grow. 44:28 – Guest: I think a good example of that is jQuery, right? 45:10 – Panelist talks about C++, jQuery, among other things. 45:34 – Guest: Frameworks kind of push the limits. 46:08 – Panelist talks about JavaScript, frameworks, and others. 47:04 – Panel: It seems simple to setup routes – anything to help with the lazy way to setup? 47:35 – Guest answers question. 48:37 – Panel: How do we manage complexity and how does messaging work between components? 48:54 – Guest: The simple scenario is that you can follow a simple pattern, which is (came out of Ember community) and that is...Data Down & Actions Up! 50:45 – Guest mentions that Aurelia website! 51:00 – Panel: That sounds great! Sounds like the pattern can be plugged in easily into Aurelia. 51:17 – Picks! 51:20 – Advertisement: Get A Coder Job! END – Advertisement: CacheFly! Links: JavaScript React Redux Webpack Elixir Ember.js Vue GO jQuery Node.js Puppeteer Cypress Utah JS 2018 – Justin McMurdie’s Talk Aurelia Sean Hunter’s Book! Sean Hunter’s Twitter Sean Hunter’s Website Sean Hunter’s GitHub Sponsors: Kendo UI Sentry CacheFly Picks: Joe React Conf. Endless Quest AJ Extreme Ownership GO Language Harry’s and Flamingo Jesse Sanders The Miracle Morning React Hooks Apple Products Sean Doesn’t Have to Be Crazy at Work Discount Code for Aurelia in Action - hunterpc (40% off Aurelia in Action, all formats) Apple Watch
Panel: Josh Adams Charles Max Wood Mark Ericksen Special Guest: Devon Estes In this episode of Elixir Mix, the panel talks with Devon Estes who is a software developer who uses Elixir. He currently resides in Berlin, Germany and has been working there for the past four years. The panelists and the guest talk about Elixir, testing, and much more! Check it out! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:49 – Chuck: I am starting a new show called The DevRev. Check it out here! Our special guest today is Devon Estes. Episode 18 is a past episode you’ve been on – check it out here! 1:26 – Devon: I am American but live in Berlin, Germany for about 4 years now. I was a freelancer, but now I am at a “real” job now where I am a software developer using Elixir. 1:50 – Chuck: Cool! 2:05 – Guest: Something to always talk about testing – it’s evergreen! 2:15 – Chuck: What are the benefits you get from testing and what is your approach? 2:24 – The guest answers the question. 3:53 – Panelist chimes in. 4:18 – Panel: I like playing around and I know when something is terrible. I have to poke around to figure out if I like it or not. I am an exploratory developer. I write a test and it looks great at first but the implementation is terrible or something. 5:54 – Mark comments on developers and how they interact with their code. 7:15 – Mark: How do you approach that? I heard you talking about tests, spikes and other things. 7:22 – Guest: If it is something that is small I will write the test first. If it’s larger I will usually do 2-3 spikes to figure out what is going on. The guest continues with this topic. 8:54 – Panel: I found that over the years I couldn’t do that. 9:21 – Guest: With the topic of testing in Elixir I have these “rules” but I break them all the time. Sometimes you get better, cleaner tests out of it if you were to break the rule(s.). Tests are only there for 90% of the time, in my own opinion. Sometimes you have to play around to see what’s going on. 10:36 – Panel: I agree a lot, especially with integrations. 10:49 – Guest. 12:18 – Panel: You have these guidelines or rules and you know when to break those rules. You talked about these specific rules and I thought it was interesting. I was reading through these and I have the same rules but you codified them with examples. Can you walk us through your guidelines? 13:00 – Guest: To be super clear I am talking about unit tests. When I think of testing there is this testing pyramid. 13:52 – Panel. 14:57 – Guest: Like I said, these rules are meant to be broken, if appropriate. 16:39 – Guest continues with unit testing and other types of testing. He talks about easier to more difficult kinds of tests. 17:42 – Guest (continues): Sometimes the tests are accurately true, and sometimes not. It can be easy to get into those traps. Hopefully they will tell you what is expected. 18:25 – Panel: In Ruby, there is a test that would modify your code and remove stuff? Was it Mutant? Mutant testing. 19:03 – Guest answers the question. 19:38 – Guest: I don’t know if Elixir has anything like that, yet, but it would be pretty cool. It would be a good idea for someone to take on! 20:00 – Chuck: I have had conversations with a colleague – they both pushed back and talked more about Cypress.io and integrated tests. 21:04 – Chuck: I think it’s interesting to see the different approaches! 21:14 – Guest: We are lucky to have great tooling in Elixir!! The guest mentions Wallaby.js! 24:39 – The guest talks about unit levels. Check it out here! 26:35 – Panel. 26:48 – Chuck: How does it affect my workflow? I like end-to-end tests. The efficiency, if it’s repeating stuff – I don’t care – as long as it’s fast enough. If it ruins my workflow then it’s a problem. 27:22 – Panel. 28:12 – The topic “test coverage” is mentioned by Chuck. 28:25 – Panel. 29:02 – FreshBooks! 30:10 – Guest talks about Wallaby.js. 32:24 – Panel: We’ve had you on before, and the idea is that you are all into Elixir and its path. (EMx 018 – Episode with Devon Estes) 32:57 – Guest: I think testing in Elixir is simpler. 34:04 – Panel. 34:07 – Guest: You have commands and you have queries. The guest gives a hypothetical example! The guest also mentions GenServers, too. 35:42 – Guest: There are two ways that you can interact with the process: command & queries. 37:00 – Guest talks about different libraries such as: MoX. 37:41 – Panel: Any tips on testing the servers; just any GenServer? 38:25 – Panelist shares his approach with this. 39:54 – Guest: I don’t test name servers b/c they are by definition global state. The guest goes into great detail about testing – check it out! 46:29 – Panel. 47:01 – Guest: I kind of hate the term dependency interjection in the functional context. 47:17 – Panel: I think it’s helpful, because... 47:28 – Guest. 47:49 – Panelists go back-and-forth! 48:20 – Panel: Sending a message to the testing process – this was something that was stated by Devon earlier. I find this really helpful. 49:00 – Chuck: Picks! 49:05 – Ad: Lootcrate.com END – CacheFly! Links: Ruby Elixir GenServers Elm JavaScript Visual Studio Code React Wallaby Cypress.io Mutation Testing – GitHub MoX MRS 003 – Episode with Devon Estes RR 295 – Episode with Devon Estes RR 330 – Episode with Devon Estes EMx 018 – Episode with Devon Estes Devon’s GitHub Devon’s Twitter Sponsors: Loot Crate Get a Coder Job! Fresh Books CacheFly Picks: Mark Get Alias Blog - Mox Josh GitPitch.com Slide Deck by Josh Charles Values Extreme Ownership Sit down with your team Discord server for DevChat Recommendation Page for Elixir Devon Dell Laptop XPS 13 Play Station Mini Test - devonestes@gmail.com
Panel: Charles Max Wood Aaron Frost Shai Reznik Divya Sasidharan Joe Eames Lucas Reis Special Guest: Sean Merron In this episode, The panelist of Adventure In Angular, View on Vue, React Round-Up, and Ruby Rogues and JavaScript Jabber speak with Sean Merron about Mastermind Groups of Startups and much more. Sean is the founder of today's topic and product “Mastermind Hunt.” This product is design to skillfully find a mastermind to take your business and skills to the next level. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 3:00 – Webinar announcement January 3rd, 2p EST. 4:10 - Sean talks about the importance of a Mastermind and his evolvement in mastermind groups. Sean breakdowns what exactly what a mastermind is about. 6:10 - Charles ask the panelist if they have engaged in Masterminds. Shai talks about his experience and seeing one-sidedness in Masterminds. Sean talks about how to avoid this issue and staying on track. Sean shares on how to keep the meeting moving forward and meet accountability tasks. 10:10 - Joe asks about examples of chatting on topics with co-workers and how is this different from masterminds. And how to keep topics on track. Sean provides using the round robin method to give each person a chance to bring their needs to the table. Sean talks about how developers share advice and topics in Masterminds. 14:43 - Charles shares about how this works in using exercise workbooks as a group and who the rotation works for the hot seat. Sean explains that this is used to find others at your same level to help one another. 16:50 - Shai ask about the benefits of mastermind, but how can we integrate higher level issues among a group. Sean shares a story about meeting and benefits of networking in Masterminds. Sean and Chuck continue with the power of networking among these types of groups. 22:00 - Charles talks about the complexity of personal issues. Shai asks about how to build a mastermind. Sean gives examples of formats and schedule, number of people, and how to conduct successfully. Sean gives examples of technologies to use to help conduct masterminds, like Facebook groups, Skype, Zoom. Sean explains how this led to building mastermindhunt.com 27:00 – Advertisement: Get A Coder Job! 27:00 - Charles talks about how he did a lunch meetup as a mastermind. Lucas gives examples of guilds in his job. Lucas explains the guilds and how this works among the software development team. Lucas shares about presenting in a guild. Lucas says this is great for accountability and success. 30:00 - Sean asks about the size or how many people are in the guild. Lucas mentions that if you do not understand something, bring it to the guild. Sean mentions how this could help shy people and build trust. Sean talks about “Friend D A” 34:00 - Charles again talks about that BrownBag lunch mastermind. Charles talks about how to keep masterminds on track and not a chatfest. Joe asks about the accountability goals. Sean talks about how this works in Mastermind Hunt. Sean gives examples of how to keep people accountable in fun ways. 37:00 - Shai talks about having to shave his head when he was not meeting accountability goals. Sean continues about respecting people’s time and keeping on topic with hot seat questions. 39:00 - Shai asks about how to approach people who are not meeting goals and take-up to much time. Sean says the person with the best relationship should approach the person before they have to bump them out of the mastermind spot. 42:00 - Charles talks about EntreProgrammers as a mastermind and the freeform style of the format. Charles talks about leaving the group if it is not meeting your value needs. 44:00 - Sean talks about the introduction and application programs to enter into a mastermind. Lucas talks about diminishing quality of a mastermind, and how he raised the quality of engaging in a way that heightens the program. Sean shares more aobuu the initial attitude of the person who starts the meeting. 49:00 - Divya ask about those who are not hitting their goals, but how do you keep them engaged without leaving the group. Sean mentions breaking down the goals or create achievable goals. Sean talks about figuring out the organization and finding where the issues are at that might be the problem to hitting goals. 51:00 - Divya ask about how enthusiasm can diminish about how to keep that from happening in masterminds. Sean says you have to be consistent with your goals and make it fun. 55:00 - Shai gives a quick recap of masterminds. Shai ask about how to rotate the hot seat. Sean give a webinar link for mastermindhunt.com/devchat on January 3rd, 2pm EST. 57:30 – Advertisement – Fresh Books! 30-day free trial! END – Advertisement – Cache Fly! Links: Sean’s Twitter 2frugaldudes podcast Sean’s LinkedIn mastermindhunt.com mastermindhunt.com/devchat Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Shai Bob Proctor Joe Coolstuffinc luxor NG Conf Minified Lucas Radical Candor Divya Alan Watts Framework Summit Videos Several Short Sentence about Writing Charles CES - devchat.tv/events Modern Medicine Sean (757) Area Code RevolutionConf.com
Panel: Aimee Knight AJ O’Neal Charles Max Wood Special Guest: Gil Tayar In this episode, the panel talks with Gil Tayar who is currently residing in Tel Aviv and is a software engineer. He is currently the Senior Architect at Applitools in Israel. The panel and the guest talk about the different types of tests and when/how one is to use a certain test in a particular situation. They also mention Node, React, Selenium, Puppeteer, and much more! Show Topics: 0:00 – Advertisement: KENDO UI 0:35 – Chuck: Our panel is AJ, Aimee, myself – and our special guest is Gil Tayar. Tell us why you are famous! 1:13 – Gil talks about where he resides and his background. 2:27 – Chuck: What is the landscape like now with testing and testing tools now? 2:39 – Guest: There is a huge renaissance with the JavaScript community. Testing has moved forward in the frontend and backend. Today we have lots of testing tools. We can do frontend testing that wasn’t possible 5 years ago. The major change was React. The guest talks about Node, React, tools, and more! 4:17 – Aimee: I advocate for tests and testing. There is a grey area though...how do you treat that? If you have to get something into production, but it’s not THE thing to get into production, does that fall into product or...what? 5:02 – Guest: We decided to test everything in the beginning. We actually cam through and did that and since then I don’t think I can use the right code without testing. There are a lot of different situations, though, to consider. The guest gives hypothetical situations that people could face. 6:27 – Aimee. 6:32 – Guest: The horror to changing code without tests, I don’t know, I haven’t done that for a while. You write with fear in your heart. Your design is driven by fear, and not what you think is right. In the beginning don’t write those tests, but... 7:22 – Aimee: I totally agree and I could go on and on and on. 7:42 – Panel: I want to do tests when I know they will create value. I don’t want to do it b/c it’s a mundane thing. Secondly, I find that some times I am in a situation where I cannot write the test b/c I would have to know the business logic is correct. I am in this discovery mode of what is the business logic? I am not just building your app. I guess I just need advice in this area, I guess. 8:55 – Guest gives advice to panelist’s question. He mentions how there are two schools of thought. 10:20 – Guest: Don’t mock too much. 10:54 – Panel: Are unit tests the easiest? I just reach for unit testing b/c it helps me code faster. But 90% of my code is NOT that. 11:18 – Guest: Exactly! Most of our test is glue – gluing together a bunch of different stuff! Those are best tested as a medium-sized integration suite. 12:39 – Panel: That seems like a lot of work, though! I loathe the database stuff b/c they don’t map cleanly. I hate this database stuff. 13:06 – Guest: I agree, but don’t knock the database, but knock the level above the database. 13:49 – Guest: Yes, it takes time! Building the script and the testing tools, but when you have it then adding to it is zero time. Once you are in the air it’s smooth sailing. 14:17 – Panel: I guess I can see that. I like to do the dumb-way the first time. I am not clear on the transition. 14:47 – Guest: Write the code, and then write the tests. The guest gives a hypothetical situation on how/when to test in a certain situation. 16:25 – Panel: Can you talk about that more, please? 16:50 – Guest: Don’t have the same unit – do browser and business logic stuff separated. The real business logic stuff needs to be above that level. First principle is separation of concerns. 18:04 – Panel talks about dependency interjection and asks a question. 18:27 – Guest: What I am talking about very, very light inter-dependency interjection. 19:19 – Panel: You have a main function and you are doing requires in the main function. You are passing the pieces of that into the components that need it. 19:44 – Guest: I only do it when it’s necessary; it’s not a religion for me. I do it only for those layers that I know will need to be mocked; like database layers, etc. 20:09 – Panel. 20:19 – Guest: It’s taken me 80 years to figure out, but I have made plenty of mistakes a long the way. A test should run for 2-5 minutes max for package. 20:53 – Panel: What if you have a really messy legacy system? How do you recommend going into that? Do you write tests for things that you think needs to get tested? 21:39 – Guest answers the question and mentions Selenium! 24:27 – Panel: I like that approach. 24:35 – Chuck: When you say integration test what do you mean? 24:44 – Guest: Integration tests aren’t usually talked about. For most people it’s tests that test the database level against the database. For me, the integration tests are taking a set of classes as they are in the application and testing them together w/o the...so they can run in millisecond time. 26:54 – Advertisement – Sentry.io 27:52 – Chuck: How much do the tools matter? 28:01 – Guest: The revolutions matter. Whether you use Jasmine or Mocha or whatever I don’t think it matters. The tests matter not the tools. 28:39 – Aimee: Yes and no. I think some tools are outdated. 28:50 – Guest: I got a lot of flack about my blog where I talk about Cypress versus Selenium. I will never use Jasmine. In the end it’s the 29:29 – Aimee: I am curious would you be willing to expand on what the Selenium folks were saying about Puppeteer and others may not provide? 29:54 – Guest: Cypress was built for frontend developers. They don’t care about cross browser, and they tested in Chrome. Most browsers are typically the same. Selenium was built with the QA mindset – end to end tests that we need to do cross browser. The guest continues with this topic. 30:54 – Aimee mentions Cypress. 31:08 – Guest: My guessing is that their priority is not there. I kind of agree with them. 31:21 – Aimee: I think they are focusing on mobile more. 31:24 – Guest: I think cross browser testing is less of an issue now. There is one area that is important it’s the visual area! It’s important to test visually across these different browsers. 32:32 – Guest: Selenium is a Swiss knife – it can do everything. 33:32 – Chuck: I am thinking about different topics to talk about. I haven’t used Puppeteer. What’s that about? 33:49 – Guest: Puppeteer is much more like Selenium. The reason why it’s great is b/c Puppeteer will always be Google Chrome. 35:42 – Chuck: When should you be running your tests? I like to use some unit tests when I am doing my development but how do you break that down? 36:06 – Guest. 38:30 – Chuck: You run tests against production? 38:45 – Guest: Don’t run tests against production...let me clarify! 39:14 – Chuck. 39:21 – Guest: When I am talking about integration testing in the backend... 40:37 – Chuck asks a question. 40:47 – Guest: I am constantly running between frontend and backend. I didn’t know how to run tests for frontend. I had to invent a new thing and I “invented” the package JS DONG. It’s an implementation of Dong in Node. I found out that I wasn’t the only one and that there were others out there, too. 43:14 – Chuck: Nice! You talked in the prep docs that you urged a new frontend developer to not run the app in the browser for 2 months? 43:25 – Guest: Yeah, I found out that she was running the application...she said she knew how to write tests. I wanted her to see it my way and it probably was a radical train-of-thought, and that was this... 44:40 – Guest: Frontend is so visual. 45:12 – Chuck: What are you working on now? 45:16 – Guest: I am working with Applitools and I was impressed with what they were doing. The guest goes into further detail. 46:08 – Guest: Those screenshots are never the same. 48:36 – Panel: It’s...comparing the output to the static site to the... 48:50 – Guest: Yes, that static site – if you have 30 pages in your app – most of those are the same. We have this trick where we don’t upload it again and again. Uploading the whole static site is usually very quick. The second thing is we don’t wait for the results. We don’t wait for the whole rendering and we continue with the tests. 50:28 – Guest: I am working mostly (right now) in backend. 50:40 – Chuck: Anything else? Picks! 50:57 – Advertisement: Get A Coder Job! END – Advertisement: CacheFly! Links: JavaScript React Elixir Node.js Puppeteer Cypress SeleniumHQ Article – Ideas.Ted.Com Book: Never Split the Difference Applitools Guest’s Blog Article about Cypress vs. Selenium Gil’s Twitter Gil’s Medium Gil’s LinkedIn Sponsors: Kendo UI Sentry CacheFly Picks: Aimee How Showing Vulnerability Helps Build a Stronger Team AJ Never Split the Difference Project - TeleBit Charles Monster Hunter International Metabase Gil Cat Zero The Origin of Consciousness in the Breakdown of the Bicameral Mind
Panel: Mark Ericksen Nathan (Nate) Hopkins Charles Max Wood Special Guest: Sophie DeBenedetto In this episode of Elixir Mix, the panel talks with Sophie DeBenedetto who is a teacher at the Flatiron School, a software engineer, and creator of Break In. The panelists and Sophie talk about her blog, the Flatiron School, and her background. Check it out! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:50 – Chuck: Welcome! Our panel is Mark, Nate, and myself. Our special guest, today, is Sophie! Please introduce yourself! 1:32 – Guest: Hi! I am Sophie and I am an engineer who works at the Flatiron School. We are growing and fast and offer a lot of different courses. We are an international school working with Elixir and Phoenix. 2:10 – Chuck: You gave us multiple topics: Joken and Elixir Packages. Give us please some background there. 2:33 – Guest: I will talk about the problems we were trying to resolve with Joken. The Guest goes into detail about this topic. Sophie mentions Rails, Joken, Guardian, Phoenix, and Erlang-Jose. 4:41 – Guest: We found this nice little library that we needed and that was Joken. Initially, we were trying to hit the nail with a racket and all we needed was a hammer. 6:48 – Guest: I am telling the whole Internet our problem we had, and how we resolved it. That’s why I am here today, because you all found my blog. 9:04 – Panel: There is a lot there! Some terms that you mentioned: JWT is referred to as a JOT – for those listeners who don’t know. Panelist asks question. 9:43 – Guest answers the question. 10:52 – Panel: When I used Joken before I did use it with the HMAC algorithm. You are on the fringe of what is mainstream and you can come across those rough spots. You are doing this service of saying yes I found this problem and I will try to help you with this problem. 11:25 – Guest: It’s an interesting feeling to say we solved this problem and then realizing we were wrong about it. I’m glad that happened because it’s real. As a teacher I saw students being reluctant to blog b/c they didn’t want to be wrong, but that’s how you grow! 12:22 – Chuck: We talked about the JWT and the dots. How is this different than Ruby gems and other things? 12:44 – Guest: I think anyone would have thoughts on this. There’s not a lot of resources, and look into the Ruby community. From the Flatiron School our focus has been Ruby, and we ask our students to contribute. We want to find an answer to any problem we are facing through Ruby and Rails. More or less you will find a solution from somebody through the Internet. Elixir is definitely different from this because it’s a newer framework. 14:26 – Panelist asks about the curriculum through the Flatiron School. 14:48 – Guest answers the question. 16:08 – Panel: We have had Kate Travers from Flatiron Schools on our podcast before. What has your path been? 16:30 – Guest: We graduated at the same time and I went to the educational-side, which I did for a year to about a year and a half. I thought I needed to get my hands dirty, though, to be a better teacher. I went to this company...and I recently rejoined the Flatiron School’s faculty. 17:40 – Panel: That’s great. I was with a company for 3 years, left for 2 years, and then I came back. It’s a testament to not burning bridges. There is value to leaving and going to get new and different experiences. You grow in the process, and that’s what happened for me. I like your path and thanks for sharing your story! 18:50 – Fresh Books! 20:00 – Chuck: Do you have any policies on how students (at Flatiron School) need to contribute? 20:06 – Guest: Not so much HOW but we encourage it. The guest goes into detail and mentions Elixir School (see links below). 21:33 – Panel: That is a good suggestion if a newbie wants to contribute and they are afraid to contribute. You can get involved and your suggestion will be reviewed. 22:10 – Guest: Yes! There is a team member, Matt, and he contributed to the code base. He was new to the Elixir community, and showed his thought-process. Contributing to open source is great because it helps the community, and opens a pathway for great feedback and conversation. 23:30 – Panel: I think that’s a healthy way to look at pole requests. I have worked with folks that don’t view it that way, though. They hold their code a little close to their chest and that’s it. I like the dialogue. 24:00 – Chuck: This stuff isn’t staying still b/c the Elixir community is constantly growing. I cannot recommend highly enough to learn something new. It can be just 20-30 minutes a day. If you aren’t doing that then you will fall behind. 24:57 – Panel: Question for Sophie. How did you get involved with Elixir School? 25:18 – Guest: I am definitely not an expert. It’s a group of people who thought that Elixir should be more accessible. I like it because it’s beginner-friendly. Find something to contribute to b/c there are tons of different levels to find what’s good for you. 27:09 – Panel: Has it be re-skinned/re-themed? 27:15 – Guest: Yeah, I think so. Along with the theme-related they have been putting high priority into different languages. 27:38 – Panelist comments about natural languages and translations. 27:52 – Chuck: Was this a project through the school or something else? 28:06 – Guest: It’s not through the school. 28:36 – Chuck: Any other projects through the school? 28:46 – Guest: Yes, the school has a lab and it’s neat to see it grow! 29:38 – Panel: Have you tried those other technologies before (and they didn’t work) or did you just anticipate it was a problem that you couldn’t solve without the Beam. 30:02 – Guest answers. 32:33 – Panel: That makes sense. You were reaching for Erlang when you were on the Ruby Stack. 32:49 – Guest refers to tooling and Rabbit. 33:00 – Chuck: You mentioned Rabbit – what does your typical stack look like? Are you running Phoenix? Or here is a job so here is Elixir? What is your process like? 33:23 – Guest: A Ruby on Rails app it has all the ups-and-downs and it’s kind of old. As we are growing and partnering with new companies/schools we are updating and seeing a need to grow even more. 34:49 – Panel. 34:54 – Guest: The video that Chris McCord put out! 35:03 – Chuck: Check the show notes’ links! 35:15 – Chuck: Picks! 35:23 – Ad: Lootcrate.com END – CacheFly! Links: Ruby Elixir Elm Atom.io Flutter.io JavaScript Visual Studio Code React Guardian Joken Erlang-Jose Flatiron School Flatiron School's Blog Flatiron Labs Elixir School Elixir School EMx 020 Episode Utah Elixir Meetup Blog: How We Built the Learn IDE in Browser Break_In The Great Code Adventure Rabbit Sophie’s Website Sophie’s Twitter Sponsors: Loot Crate Get a Coder Job! Fresh Books CacheFly Picks: Mark Utah Elixir Meetup Nate Racquetball Getting out and doing something Charles repurpose.io Sling TV Fox Sports Sophie Elixir School Learn IDE Blog
Panel: Charles Max Wood Aaron Frost Shai Reznik Divya Sasidharan Joe Eames Lucas Reis Special Guest: Sean Merron In this episode, The panelist of Adventure In Angular, View on Vue, React Round-Up, and Ruby Rogues and JavaScript Jabber speak with Sean Merron about Mastermind Groups of Startups and much more. Sean is the founder of today's topic and product “Mastermind Hunt.” This product is design to skillfully find a mastermind to take your business and skills to the next level. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 3:00 – Webinar announcement January 3rd, 2p EST. 4:10 - Sean talks about the importance of a Mastermind and his evolvement in mastermind groups. Sean breakdowns what exactly what a mastermind is about. 6:10 - Charles ask the panelist if they have engaged in Masterminds. Shai talks about his experience and seeing one-sidedness in Masterminds. Sean talks about how to avoid this issue and staying on track. Sean shares on how to keep the meeting moving forward and meet accountability tasks. 10:10 - Joe asks about examples of chatting on topics with co-workers and how is this different from masterminds. And how to keep topics on track. Sean provides using the round robin method to give each person a chance to bring their needs to the table. Sean talks about how developers share advice and topics in Masterminds. 14:43 - Charles shares about how this works in using exercise workbooks as a group and who the rotation works for the hot seat. Sean explains that this is used to find others at your same level to help one another. 16:50 - Shai ask about the benefits of mastermind, but how can we integrate higher level issues among a group. Sean shares a story about meeting and benefits of networking in Masterminds. Sean and Chuck continue with the power of networking among these types of groups. 22:00 - Charles talks about the complexity of personal issues. Shai asks about how to build a mastermind. Sean gives examples of formats and schedule, number of people, and how to conduct successfully. Sean gives examples of technologies to use to help conduct masterminds, like Facebook groups, Skype, Zoom. Sean explains how this led to building mastermindhunt.com 27:00 – Advertisement: Get A Coder Job! 27:00 - Charles talks about how he did a lunch meetup as a mastermind. Lucas gives examples of guilds in his job. Lucas explains the guilds and how this works among the software development team. Lucas shares about presenting in a guild. Lucas says this is great for accountability and success. 30:00 - Sean asks about the size or how many people are in the guild. Lucas mentions that if you do not understand something, bring it to the guild. Sean mentions how this could help shy people and build trust. Sean talks about “Friend D A” 34:00 - Charles again talks about that BrownBag lunch mastermind. Charles talks about how to keep masterminds on track and not a chatfest. Joe asks about the accountability goals. Sean talks about how this works in Mastermind Hunt. Sean gives examples of how to keep people accountable in fun ways. 37:00 - Shai talks about having to shave his head when he was not meeting accountability goals. Sean continues about respecting people’s time and keeping on topic with hot seat questions. 39:00 - Shai asks about how to approach people who are not meeting goals and take-up to much time. Sean says the person with the best relationship should approach the person before they have to bump them out of the mastermind spot. 42:00 - Charles talks about EntreProgrammers as a mastermind and the freeform style of the format. Charles talks about leaving the group if it is not meeting your value needs. 44:00 - Sean talks about the introduction and application programs to enter into a mastermind. Lucas talks about diminishing quality of a mastermind, and how he raised the quality of engaging in a way that heightens the program. Sean shares more aobuu the initial attitude of the person who starts the meeting. 49:00 - Divya ask about those who are not hitting their goals, but how do you keep them engaged without leaving the group. Sean mentions breaking down the goals or create achievable goals. Sean talks about figuring out the organization and finding where the issues are at that might be the problem to hitting goals. 51:00 - Divya ask about how enthusiasm can diminish about how to keep that from happening in masterminds. Sean says you have to be consistent with your goals and make it fun. 55:00 - Shai gives a quick recap of masterminds. Shai ask about how to rotate the hot seat. Sean give a webinar link for mastermindhunt.com/devchat on January 3rd, 2pm EST. 57:30 – Advertisement – Fresh Books! 30-day free trial! END – Advertisement – Cache Fly! Links: Sean’s Twitter 2frugaldudes podcast Sean’s LinkedIn mastermindhunt.com mastermindhunt.com/devchat Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Shai Bob Proctor Joe Coolstuffinc luxor NG Conf Minified Lucas Radical Candor Divya Alan Watts Framework Summit Videos Several Short Sentence about Writing Charles CES - devchat.tv/events Modern Medicine Sean (757) Area Code RevolutionConf.com
Panel: Aimee Knight AJ O’Neal Charles Max Wood Special Guest: Gil Tayar In this episode, the panel talks with Gil Tayar who is currently residing in Tel Aviv and is a software engineer. He is currently the Senior Architect at Applitools in Israel. The panel and the guest talk about the different types of tests and when/how one is to use a certain test in a particular situation. They also mention Node, React, Selenium, Puppeteer, and much more! Show Topics: 0:00 – Advertisement: KENDO UI 0:35 – Chuck: Our panel is AJ, Aimee, myself – and our special guest is Gil Tayar. Tell us why you are famous! 1:13 – Gil talks about where he resides and his background. 2:27 – Chuck: What is the landscape like now with testing and testing tools now? 2:39 – Guest: There is a huge renaissance with the JavaScript community. Testing has moved forward in the frontend and backend. Today we have lots of testing tools. We can do frontend testing that wasn’t possible 5 years ago. The major change was React. The guest talks about Node, React, tools, and more! 4:17 – Aimee: I advocate for tests and testing. There is a grey area though...how do you treat that? If you have to get something into production, but it’s not THE thing to get into production, does that fall into product or...what? 5:02 – Guest: We decided to test everything in the beginning. We actually cam through and did that and since then I don’t think I can use the right code without testing. There are a lot of different situations, though, to consider. The guest gives hypothetical situations that people could face. 6:27 – Aimee. 6:32 – Guest: The horror to changing code without tests, I don’t know, I haven’t done that for a while. You write with fear in your heart. Your design is driven by fear, and not what you think is right. In the beginning don’t write those tests, but... 7:22 – Aimee: I totally agree and I could go on and on and on. 7:42 – Panel: I want to do tests when I know they will create value. I don’t want to do it b/c it’s a mundane thing. Secondly, I find that some times I am in a situation where I cannot write the test b/c I would have to know the business logic is correct. I am in this discovery mode of what is the business logic? I am not just building your app. I guess I just need advice in this area, I guess. 8:55 – Guest gives advice to panelist’s question. He mentions how there are two schools of thought. 10:20 – Guest: Don’t mock too much. 10:54 – Panel: Are unit tests the easiest? I just reach for unit testing b/c it helps me code faster. But 90% of my code is NOT that. 11:18 – Guest: Exactly! Most of our test is glue – gluing together a bunch of different stuff! Those are best tested as a medium-sized integration suite. 12:39 – Panel: That seems like a lot of work, though! I loathe the database stuff b/c they don’t map cleanly. I hate this database stuff. 13:06 – Guest: I agree, but don’t knock the database, but knock the level above the database. 13:49 – Guest: Yes, it takes time! Building the script and the testing tools, but when you have it then adding to it is zero time. Once you are in the air it’s smooth sailing. 14:17 – Panel: I guess I can see that. I like to do the dumb-way the first time. I am not clear on the transition. 14:47 – Guest: Write the code, and then write the tests. The guest gives a hypothetical situation on how/when to test in a certain situation. 16:25 – Panel: Can you talk about that more, please? 16:50 – Guest: Don’t have the same unit – do browser and business logic stuff separated. The real business logic stuff needs to be above that level. First principle is separation of concerns. 18:04 – Panel talks about dependency interjection and asks a question. 18:27 – Guest: What I am talking about very, very light inter-dependency interjection. 19:19 – Panel: You have a main function and you are doing requires in the main function. You are passing the pieces of that into the components that need it. 19:44 – Guest: I only do it when it’s necessary; it’s not a religion for me. I do it only for those layers that I know will need to be mocked; like database layers, etc. 20:09 – Panel. 20:19 – Guest: It’s taken me 80 years to figure out, but I have made plenty of mistakes a long the way. A test should run for 2-5 minutes max for package. 20:53 – Panel: What if you have a really messy legacy system? How do you recommend going into that? Do you write tests for things that you think needs to get tested? 21:39 – Guest answers the question and mentions Selenium! 24:27 – Panel: I like that approach. 24:35 – Chuck: When you say integration test what do you mean? 24:44 – Guest: Integration tests aren’t usually talked about. For most people it’s tests that test the database level against the database. For me, the integration tests are taking a set of classes as they are in the application and testing them together w/o the...so they can run in millisecond time. 26:54 – Advertisement – Sentry.io 27:52 – Chuck: How much do the tools matter? 28:01 – Guest: The revolutions matter. Whether you use Jasmine or Mocha or whatever I don’t think it matters. The tests matter not the tools. 28:39 – Aimee: Yes and no. I think some tools are outdated. 28:50 – Guest: I got a lot of flack about my blog where I talk about Cypress versus Selenium. I will never use Jasmine. In the end it’s the 29:29 – Aimee: I am curious would you be willing to expand on what the Selenium folks were saying about Puppeteer and others may not provide? 29:54 – Guest: Cypress was built for frontend developers. They don’t care about cross browser, and they tested in Chrome. Most browsers are typically the same. Selenium was built with the QA mindset – end to end tests that we need to do cross browser. The guest continues with this topic. 30:54 – Aimee mentions Cypress. 31:08 – Guest: My guessing is that their priority is not there. I kind of agree with them. 31:21 – Aimee: I think they are focusing on mobile more. 31:24 – Guest: I think cross browser testing is less of an issue now. There is one area that is important it’s the visual area! It’s important to test visually across these different browsers. 32:32 – Guest: Selenium is a Swiss knife – it can do everything. 33:32 – Chuck: I am thinking about different topics to talk about. I haven’t used Puppeteer. What’s that about? 33:49 – Guest: Puppeteer is much more like Selenium. The reason why it’s great is b/c Puppeteer will always be Google Chrome. 35:42 – Chuck: When should you be running your tests? I like to use some unit tests when I am doing my development but how do you break that down? 36:06 – Guest. 38:30 – Chuck: You run tests against production? 38:45 – Guest: Don’t run tests against production...let me clarify! 39:14 – Chuck. 39:21 – Guest: When I am talking about integration testing in the backend... 40:37 – Chuck asks a question. 40:47 – Guest: I am constantly running between frontend and backend. I didn’t know how to run tests for frontend. I had to invent a new thing and I “invented” the package JS DONG. It’s an implementation of Dong in Node. I found out that I wasn’t the only one and that there were others out there, too. 43:14 – Chuck: Nice! You talked in the prep docs that you urged a new frontend developer to not run the app in the browser for 2 months? 43:25 – Guest: Yeah, I found out that she was running the application...she said she knew how to write tests. I wanted her to see it my way and it probably was a radical train-of-thought, and that was this... 44:40 – Guest: Frontend is so visual. 45:12 – Chuck: What are you working on now? 45:16 – Guest: I am working with Applitools and I was impressed with what they were doing. The guest goes into further detail. 46:08 – Guest: Those screenshots are never the same. 48:36 – Panel: It’s...comparing the output to the static site to the... 48:50 – Guest: Yes, that static site – if you have 30 pages in your app – most of those are the same. We have this trick where we don’t upload it again and again. Uploading the whole static site is usually very quick. The second thing is we don’t wait for the results. We don’t wait for the whole rendering and we continue with the tests. 50:28 – Guest: I am working mostly (right now) in backend. 50:40 – Chuck: Anything else? Picks! 50:57 – Advertisement: Get A Coder Job! END – Advertisement: CacheFly! Links: JavaScript React Elixir Node.js Puppeteer Cypress SeleniumHQ Article – Ideas.Ted.Com Book: Never Split the Difference Applitools Guest’s Blog Article about Cypress vs. Selenium Gil’s Twitter Gil’s Medium Gil’s LinkedIn Sponsors: Kendo UI Sentry CacheFly Picks: Aimee How Showing Vulnerability Helps Build a Stronger Team AJ Never Split the Difference Project - TeleBit Charles Monster Hunter International Metabase Gil Cat Zero The Origin of Consciousness in the Breakdown of the Bicameral Mind
Panel: Mark Ericksen Nathan (Nate) Hopkins Charles Max Wood Special Guest: Sophie DeBenedetto In this episode of Elixir Mix, the panel talks with Sophie DeBenedetto who is a teacher at the Flatiron School, a software engineer, and creator of Break In. The panelists and Sophie talk about her blog, the Flatiron School, and her background. Check it out! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:50 – Chuck: Welcome! Our panel is Mark, Nate, and myself. Our special guest, today, is Sophie! Please introduce yourself! 1:32 – Guest: Hi! I am Sophie and I am an engineer who works at the Flatiron School. We are growing and fast and offer a lot of different courses. We are an international school working with Elixir and Phoenix. 2:10 – Chuck: You gave us multiple topics: Joken and Elixir Packages. Give us please some background there. 2:33 – Guest: I will talk about the problems we were trying to resolve with Joken. The Guest goes into detail about this topic. Sophie mentions Rails, Joken, Guardian, Phoenix, and Erlang-Jose. 4:41 – Guest: We found this nice little library that we needed and that was Joken. Initially, we were trying to hit the nail with a racket and all we needed was a hammer. 6:48 – Guest: I am telling the whole Internet our problem we had, and how we resolved it. That’s why I am here today, because you all found my blog. 9:04 – Panel: There is a lot there! Some terms that you mentioned: JWT is referred to as a JOT – for those listeners who don’t know. Panelist asks question. 9:43 – Guest answers the question. 10:52 – Panel: When I used Joken before I did use it with the HMAC algorithm. You are on the fringe of what is mainstream and you can come across those rough spots. You are doing this service of saying yes I found this problem and I will try to help you with this problem. 11:25 – Guest: It’s an interesting feeling to say we solved this problem and then realizing we were wrong about it. I’m glad that happened because it’s real. As a teacher I saw students being reluctant to blog b/c they didn’t want to be wrong, but that’s how you grow! 12:22 – Chuck: We talked about the JWT and the dots. How is this different than Ruby gems and other things? 12:44 – Guest: I think anyone would have thoughts on this. There’s not a lot of resources, and look into the Ruby community. From the Flatiron School our focus has been Ruby, and we ask our students to contribute. We want to find an answer to any problem we are facing through Ruby and Rails. More or less you will find a solution from somebody through the Internet. Elixir is definitely different from this because it’s a newer framework. 14:26 – Panelist asks about the curriculum through the Flatiron School. 14:48 – Guest answers the question. 16:08 – Panel: We have had Kate Travers from Flatiron Schools on our podcast before. What has your path been? 16:30 – Guest: We graduated at the same time and I went to the educational-side, which I did for a year to about a year and a half. I thought I needed to get my hands dirty, though, to be a better teacher. I went to this company...and I recently rejoined the Flatiron School’s faculty. 17:40 – Panel: That’s great. I was with a company for 3 years, left for 2 years, and then I came back. It’s a testament to not burning bridges. There is value to leaving and going to get new and different experiences. You grow in the process, and that’s what happened for me. I like your path and thanks for sharing your story! 18:50 – Fresh Books! 20:00 – Chuck: Do you have any policies on how students (at Flatiron School) need to contribute? 20:06 – Guest: Not so much HOW but we encourage it. The guest goes into detail and mentions Elixir School (see links below). 21:33 – Panel: That is a good suggestion if a newbie wants to contribute and they are afraid to contribute. You can get involved and your suggestion will be reviewed. 22:10 – Guest: Yes! There is a team member, Matt, and he contributed to the code base. He was new to the Elixir community, and showed his thought-process. Contributing to open source is great because it helps the community, and opens a pathway for great feedback and conversation. 23:30 – Panel: I think that’s a healthy way to look at pole requests. I have worked with folks that don’t view it that way, though. They hold their code a little close to their chest and that’s it. I like the dialogue. 24:00 – Chuck: This stuff isn’t staying still b/c the Elixir community is constantly growing. I cannot recommend highly enough to learn something new. It can be just 20-30 minutes a day. If you aren’t doing that then you will fall behind. 24:57 – Panel: Question for Sophie. How did you get involved with Elixir School? 25:18 – Guest: I am definitely not an expert. It’s a group of people who thought that Elixir should be more accessible. I like it because it’s beginner-friendly. Find something to contribute to b/c there are tons of different levels to find what’s good for you. 27:09 – Panel: Has it be re-skinned/re-themed? 27:15 – Guest: Yeah, I think so. Along with the theme-related they have been putting high priority into different languages. 27:38 – Panelist comments about natural languages and translations. 27:52 – Chuck: Was this a project through the school or something else? 28:06 – Guest: It’s not through the school. 28:36 – Chuck: Any other projects through the school? 28:46 – Guest: Yes, the school has a lab and it’s neat to see it grow! 29:38 – Panel: Have you tried those other technologies before (and they didn’t work) or did you just anticipate it was a problem that you couldn’t solve without the Beam. 30:02 – Guest answers. 32:33 – Panel: That makes sense. You were reaching for Erlang when you were on the Ruby Stack. 32:49 – Guest refers to tooling and Rabbit. 33:00 – Chuck: You mentioned Rabbit – what does your typical stack look like? Are you running Phoenix? Or here is a job so here is Elixir? What is your process like? 33:23 – Guest: A Ruby on Rails app it has all the ups-and-downs and it’s kind of old. As we are growing and partnering with new companies/schools we are updating and seeing a need to grow even more. 34:49 – Panel. 34:54 – Guest: The video that Chris McCord put out! 35:03 – Chuck: Check the show notes’ links! 35:15 – Chuck: Picks! 35:23 – Ad: Lootcrate.com END – CacheFly! Links: Ruby Elixir Elm Atom.io Flutter.io JavaScript Visual Studio Code React Guardian Joken Erlang-Jose Flatiron School Flatiron School's Blog Flatiron Labs Elixir School Elixir School EMx 020 Episode Utah Elixir Meetup Blog: How We Built the Learn IDE in Browser Break_In The Great Code Adventure Rabbit Sophie’s Website Sophie’s Twitter Sponsors: Loot Crate Get a Coder Job! Fresh Books CacheFly Picks: Mark Utah Elixir Meetup Nate Racquetball Getting out and doing something Charles repurpose.io Sling TV Fox Sports Sophie Elixir School Learn IDE Blog
Panel: Aimee Knight AJ O’Neal Charles Max Wood Special Guest: Gil Tayar In this episode, the panel talks with Gil Tayar who is currently residing in Tel Aviv and is a software engineer. He is currently the Senior Architect at Applitools in Israel. The panel and the guest talk about the different types of tests and when/how one is to use a certain test in a particular situation. They also mention Node, React, Selenium, Puppeteer, and much more! Show Topics: 0:00 – Advertisement: KENDO UI 0:35 – Chuck: Our panel is AJ, Aimee, myself – and our special guest is Gil Tayar. Tell us why you are famous! 1:13 – Gil talks about where he resides and his background. 2:27 – Chuck: What is the landscape like now with testing and testing tools now? 2:39 – Guest: There is a huge renaissance with the JavaScript community. Testing has moved forward in the frontend and backend. Today we have lots of testing tools. We can do frontend testing that wasn’t possible 5 years ago. The major change was React. The guest talks about Node, React, tools, and more! 4:17 – Aimee: I advocate for tests and testing. There is a grey area though...how do you treat that? If you have to get something into production, but it’s not THE thing to get into production, does that fall into product or...what? 5:02 – Guest: We decided to test everything in the beginning. We actually cam through and did that and since then I don’t think I can use the right code without testing. There are a lot of different situations, though, to consider. The guest gives hypothetical situations that people could face. 6:27 – Aimee. 6:32 – Guest: The horror to changing code without tests, I don’t know, I haven’t done that for a while. You write with fear in your heart. Your design is driven by fear, and not what you think is right. In the beginning don’t write those tests, but... 7:22 – Aimee: I totally agree and I could go on and on and on. 7:42 – Panel: I want to do tests when I know they will create value. I don’t want to do it b/c it’s a mundane thing. Secondly, I find that some times I am in a situation where I cannot write the test b/c I would have to know the business logic is correct. I am in this discovery mode of what is the business logic? I am not just building your app. I guess I just need advice in this area, I guess. 8:55 – Guest gives advice to panelist’s question. He mentions how there are two schools of thought. 10:20 – Guest: Don’t mock too much. 10:54 – Panel: Are unit tests the easiest? I just reach for unit testing b/c it helps me code faster. But 90% of my code is NOT that. 11:18 – Guest: Exactly! Most of our test is glue – gluing together a bunch of different stuff! Those are best tested as a medium-sized integration suite. 12:39 – Panel: That seems like a lot of work, though! I loathe the database stuff b/c they don’t map cleanly. I hate this database stuff. 13:06 – Guest: I agree, but don’t knock the database, but knock the level above the database. 13:49 – Guest: Yes, it takes time! Building the script and the testing tools, but when you have it then adding to it is zero time. Once you are in the air it’s smooth sailing. 14:17 – Panel: I guess I can see that. I like to do the dumb-way the first time. I am not clear on the transition. 14:47 – Guest: Write the code, and then write the tests. The guest gives a hypothetical situation on how/when to test in a certain situation. 16:25 – Panel: Can you talk about that more, please? 16:50 – Guest: Don’t have the same unit – do browser and business logic stuff separated. The real business logic stuff needs to be above that level. First principle is separation of concerns. 18:04 – Panel talks about dependency interjection and asks a question. 18:27 – Guest: What I am talking about very, very light inter-dependency interjection. 19:19 – Panel: You have a main function and you are doing requires in the main function. You are passing the pieces of that into the components that need it. 19:44 – Guest: I only do it when it’s necessary; it’s not a religion for me. I do it only for those layers that I know will need to be mocked; like database layers, etc. 20:09 – Panel. 20:19 – Guest: It’s taken me 80 years to figure out, but I have made plenty of mistakes a long the way. A test should run for 2-5 minutes max for package. 20:53 – Panel: What if you have a really messy legacy system? How do you recommend going into that? Do you write tests for things that you think needs to get tested? 21:39 – Guest answers the question and mentions Selenium! 24:27 – Panel: I like that approach. 24:35 – Chuck: When you say integration test what do you mean? 24:44 – Guest: Integration tests aren’t usually talked about. For most people it’s tests that test the database level against the database. For me, the integration tests are taking a set of classes as they are in the application and testing them together w/o the...so they can run in millisecond time. 26:54 – Advertisement – Sentry.io 27:52 – Chuck: How much do the tools matter? 28:01 – Guest: The revolutions matter. Whether you use Jasmine or Mocha or whatever I don’t think it matters. The tests matter not the tools. 28:39 – Aimee: Yes and no. I think some tools are outdated. 28:50 – Guest: I got a lot of flack about my blog where I talk about Cypress versus Selenium. I will never use Jasmine. In the end it’s the 29:29 – Aimee: I am curious would you be willing to expand on what the Selenium folks were saying about Puppeteer and others may not provide? 29:54 – Guest: Cypress was built for frontend developers. They don’t care about cross browser, and they tested in Chrome. Most browsers are typically the same. Selenium was built with the QA mindset – end to end tests that we need to do cross browser. The guest continues with this topic. 30:54 – Aimee mentions Cypress. 31:08 – Guest: My guessing is that their priority is not there. I kind of agree with them. 31:21 – Aimee: I think they are focusing on mobile more. 31:24 – Guest: I think cross browser testing is less of an issue now. There is one area that is important it’s the visual area! It’s important to test visually across these different browsers. 32:32 – Guest: Selenium is a Swiss knife – it can do everything. 33:32 – Chuck: I am thinking about different topics to talk about. I haven’t used Puppeteer. What’s that about? 33:49 – Guest: Puppeteer is much more like Selenium. The reason why it’s great is b/c Puppeteer will always be Google Chrome. 35:42 – Chuck: When should you be running your tests? I like to use some unit tests when I am doing my development but how do you break that down? 36:06 – Guest. 38:30 – Chuck: You run tests against production? 38:45 – Guest: Don’t run tests against production...let me clarify! 39:14 – Chuck. 39:21 – Guest: When I am talking about integration testing in the backend... 40:37 – Chuck asks a question. 40:47 – Guest: I am constantly running between frontend and backend. I didn’t know how to run tests for frontend. I had to invent a new thing and I “invented” the package JS DONG. It’s an implementation of Dong in Node. I found out that I wasn’t the only one and that there were others out there, too. 43:14 – Chuck: Nice! You talked in the prep docs that you urged a new frontend developer to not run the app in the browser for 2 months? 43:25 – Guest: Yeah, I found out that she was running the application...she said she knew how to write tests. I wanted her to see it my way and it probably was a radical train-of-thought, and that was this... 44:40 – Guest: Frontend is so visual. 45:12 – Chuck: What are you working on now? 45:16 – Guest: I am working with Applitools and I was impressed with what they were doing. The guest goes into further detail. 46:08 – Guest: Those screenshots are never the same. 48:36 – Panel: It’s...comparing the output to the static site to the... 48:50 – Guest: Yes, that static site – if you have 30 pages in your app – most of those are the same. We have this trick where we don’t upload it again and again. Uploading the whole static site is usually very quick. The second thing is we don’t wait for the results. We don’t wait for the whole rendering and we continue with the tests. 50:28 – Guest: I am working mostly (right now) in backend. 50:40 – Chuck: Anything else? Picks! 50:57 – Advertisement: Get A Coder Job! END – Advertisement: CacheFly! Links: JavaScript React Elixir Node.js Puppeteer Cypress SeleniumHQ Article – Ideas.Ted.Com Book: Never Split the Difference Applitools Guest’s Blog Article about Cypress vs. Selenium Gil’s Twitter Gil’s Medium Gil’s LinkedIn Sponsors: Kendo UI Sentry CacheFly Picks: Aimee How Showing Vulnerability Helps Build a Stronger Team AJ Never Split the Difference Project - TeleBit Charles Monster Hunter International Metabase Gil Cat Zero The Origin of Consciousness in the Breakdown of the Bicameral Mind
Panel: Dave Kimura Eric Berry Charles Max Wood Nate Hopkins Special Guest: Pedro Cavalheiro In this episode of Ruby Rogues, the panelists talk with Pedro Cavalheiro who is from Brazil, but currently resides in Hamburg, Germany where he works at Xing. He is a software engineer, an actor, and has been working with the web since 2010. He has worked mostly with Ruby and PHP languages, and since 2015 has worked full-time with Ruby on Rails. The panelists and Pedro talk about his background and his article. Check it out! Show Topics: 0:00 – Advertisement: Sentry.io 1:04 – Chuck: Hi! Panel is Eric, Dave, Nate, myself – and our special guest is Pedro Cavalheiro! Please introduce yourself! Is that Spanish or Portuguese? Chuck: P.S. – The DevRev is my new show and check it! 1:57 – Guest: My name means gentleman! Here at your service. 2:05 – Guest: I am a developer and worked with web technologies for 10 years. I do some DevOps stuff and working with Ruby. I just moved to Hamburg, Germany with the same company. 3:02 – Chuck: How do you make that decision? 3:07 – Guest: There is no magical answer. It depends on your needs and what time you have? At the time when I wrote that article I worked with a small startup company. For us, we used Heroku at the time. 4:09 – Guest: Current company is bigger and 500 developers. We have different ops teams and they have their own infrastructure and tools. They have more money, time, and people. For what they need it needs to be more scalable. It depends on the company and the requirements and your resources. 5:00 – Panel: I need to preface first: I love hosted solutions, but at the same time there is a hidden cost set that people don’t think about. 6:16 – Guest: If you compare your own infrastructure vs. cloud platform they will think that it is cheaper than having a hosted solution. 7:28 – Chuck: Yeah, that’s a discussion that I find that I have with myself and with my own company. It makes a ton of sense to have some system setup and it’s something that I am managing. 8:05 – Panelists talks about AWS and AMI. 9:06 – Guest. 9:21 – Panel: Can you talk about the article you wrote? Why did you write it? Give us some context into the article and where are we now? 9:48 – Guest talks in-detail about his article and where he was in life when he wrote this article! 14:10 – Panel: How much time did you invest into that? 14:16 – Guest: Less than a week; maybe 3-4 days for the whole process. Writing the article took about 2 days. 14:50 – Chuck talks about Docker, Azure, Dokku among other things. Question: Where do you look at all of these different things, and how do evaluate? 16:02 – Guest: I am a huge Heroku fan, and I would suggest people to use it. It’s brilliant. The company I work today it could be expensive to use b/c it’s a heavy load application and it won’t work. As for me (personal projects) I will play around these different tools. 19:02 – Panel: It’s easy to get up and running of Heroku. I think it’s similar to Kubernetes. 20:00 – Guest: I agree with that. The guest shares a story that relates to this topic. 21:45 – Panel: If you are using self-hosted...put some security on your application. Even if it’s just a demo you are protecting your environment. 22:17 – Chuck: Where do you guys come down on making these types of decisions? 22:30 – Panel: I see it as an investment; especially if your development team is small. Eventually, it will scale but in the early days of a project it is a legit choice to use Heroku or Beanstalk. CodeFund is still on Heroku. Right now it’s solving those problems for us. 23:45 – Chuck: Look at everything that we are all running. What do you guys recommend? 24:19 – Panel: I use S3, elastic search, among other things. 25:56 – Guest: I have a similar story. I had some friends who were spending more than $2,000 a month on Heroku. We tried to find how to reduce the amount of money. We removed the application from the Heroku and put it inside a local machine (probably $800 computer) that runs 24/7 and the only expenses were Internet ($50.00 / month) and 1 SSD ($100) and 1 micro-server through Amazon. Now it works and we were spending over 200x the amount that we needed to. In this example it wasn’t a critical system. In this case self-host was far better and cheaper, so it really depends on your case. 28:08 – Panel: Yeah, sometimes the old school and simple solutions are it. 28:26 – Chuck: I have a virtual machine/servers on Digital Ocean, and I cap deploy. I will login in every-now-and-then, but that’s it. 28:50 – Panel adds in his comments to this topic. 29:17 – Guest: Sometimes these old school solutions tend to be slower, but it depends on what you need for that situation. 29:50 – Chuck: David Brady called that his “Time to Twitter.” 30:04 – Fresh Books! 31:10 – Chuck: Can you talk about your discussion about this, please? 31:23 – Guest: I wrote this article, and it was translated into a few different languages. In the talk that I gave, I talked about my article. It’s funny b/c I wasn’t expecting all of this attention. 33:33 – Guest: I was nervous when I gave the talk so I don’t think it was that good. (Laughs.) 33:50 – Guest: We are human beings and we are always making mistakes, which is okay. 36:55 – Chuck: Yeah I run into that, too. Especially when running the podcast. 37:14 – Guest: That’s apart of the game right? We like to play with new technologies and if it weren’t for experimenting with new stuff our whole industry wouldn’t be as fun. We have the freedom to test, and we get to break tings and not get fired. That’s apart of our jobs. 37:51 – Panel: That’s a good point. A service like beanstalk or Heroku it’s easy to push your app out into the world. But when you dig in deeper, I think that knowledge really starts to seep in and you get to be a better developer. 38:27 – Chuck comments on this topic. 39:12 – Panel: To Pedro’s point... 39:42 – Guest: Yes, we work as a frontend or backend developer or a system administrator, but we need to understand the infrastructure. I want to know and when I know more then my work as a backend developer will improve and communicate with the system. That people know how to use Ruby on Rails and they get used to it but forget about database behind that, and...where you can write your own inquires. They think it’s not their job, but it IS their job. 41:17 – Chuck: To take that step one step further. Chuck talks about performance issues, codes, and more. 41:48 – Chuck: I want to try out Dokku! 42:00 – Guest comments. 43:53 – Chuck: Let’s do Picks! 44:00 – Advertisement: Get A Coder Job! End – Cache Fly! Links: Get a Coder Job Course Ruby Ruby on Rails Angular React React Native Docker Kubernetes Heroku Beanstalk CodeFund Amazon S3 GitHub: Kubernetes IMDB – Pedro C. FB: RR – DevChat TV RR 382 Episode Pedro’s blog article: “Creating a Heroku-Like Deployment Solution with Docker” Comic of Code Compiling GitHub: Dokku/Dokku Digital Ocean: Dokku Digital Ocean: Cloud Hosting App Developers Love Pedro’s Website Pedro’s Twitter Pedro’s Crunchbase Pedro’s GitHub Sponsors: Sentry CacheFly Fresh Books Picks: Dave Legos Rubix’s Cube Eric Digital Ocean @samantha_tse @jna_sh @Zaltsman Nate Alone - History Channel Charles MF CEO - Podcast Extreme Ownership - Book Drip TheDevRev.com Pedro Di.FM Shortcut Foo
Panel: Charles Max Wood Special Guest: Brady Gaster In this episode, Chuck talks with Brady Gaster about SignalR that is offered through Microsoft. Brady Gaster is a computer software engineer at Microsoft and past employers include Logical Advantage, and Market America, Inc. Check out today’s episode where the two dive deep into SignalR topics. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:56 – Chuck: Hello! We are going to talk about SignalR, which is an offering through Microsoft. 1:09 – Guest: It started in 2011 that’s when I got involved, but I wasn’t with Microsoft, yet, at that point. I was working on the technology, though. Effectively you can do real time HTMP but what they did (Damon and David) let’s create a series of abstractions but not we have for Java. They basically cam up this idea let’s do web sockets and then go back to pole / pole / pole. It’s to see what the server and the client can support. Guest talks about Socket.io, too. 6:45 – Chuck: What we are talking about real time coordination between apps. 6:56 – Guest: Web sockets, 1 million...and 2.6 million messages a second! 7:05 – Chuck: I can set that up like I usually set up web sockets? 7:17 – Guest: There is a client library for each. Effectively you have a concept called a connection. 9:48 – Chuck: How do you handle authentication on the frontend? 9:56 – Guest: We have server side things that we can attribute things. 10:09 – Chuck. 10:12 – Guest: If you authenticate to the site then the site passes the token and it basically sits on top of the same plumbing. 10:38 – Chuck. 10:42 – Guest. 10:54 – Chuck. 10:58 – Guest: We recently just had the DOT NET CONF. We had an all night, 24-hour thing. 11:48 – Chuck: Here you are, here you go. You hook it all up, JavaScript into your bundle. 12:05 – (The guest talks about how to install.) 13:12 – Chuck: I could come up with my own scheme. 13:25 – Guest: The traditional example is SEND A MESSAGE and then pass you string. Well tomorrow I do that and I just change the code – it’s great b/c I send up a ping and everybody knows what to do what that ping. It’s just a proxy. 14:17 – Chuck: I am trying to envision what you would use this for? If you are worried about it being stale then you refresh. But if you want the collaborative stuff at what point do you ask: Do I need SignalR? 15:00 – Guest: When I do my presentations on SignalR and being transparent I want to send you 1,000 messages but 1 or 2 messages will be dropped. You don’t want to transmit your order data or credit card information. Do you have a hammer and you need a screw? If you need stock tickers and other applications SignalR would work. Keeping your UI fresh it is a great thing. 19:02 – Chuck: You do that at the Hub? You set up the Hub and it passes everything back and forth. What can you do at the Hub for filtering and/or certain types of events? 19:26 – Guest: I am looking at a slide. What’s the cool thing about SignalR and the API is it’s deceptively simple on purpose. If you want to call out to clients, you can get a message to all of your clients if you select that/those feature(s). Some other features you have are OTHERS, and Clients.Group. 20:57 – Chuck: Can you set up your own? 20:58 – Guest: I don’t know. 21:12 – Chuck: Clients who belong to more than one group. 21:23 – Guest: Dynamics still give some people heartburn. (The guest talks about C#, Dev, Hub, and more!) 23:46 – Advertisement: Get A Coder Job! 24:23 – Chuck: How do people get started with this? Do they need Azure? 24:30 – Guest: You don’t need Azure you can go to Microsoft and it’s apart of the .NET team, too. 26:39 – Guest talks about how to install SignalR – see links below! 27:03 – Chuck: You don’t have to KNOW .NET. 27:11 – Guest: It was created by that team (*fair enough*) but you don’t have to know .NET. 27:57 – Guest: You can I could do JavaScript all the way. 29:04 – Chuck: Yes, we keep moving forward. It will look different what people are using. 29:21 – Guest: That was an early thing and I was reading through the old bugs from 2011/2012 and that’s one thing that kept coming up. I didn’t want to use jQuery to use SignalR – now you don’t. It’s a happy thing. 30:45 – Guest: Someone suggested using PARCEL. I have a question do you have any recommendations to have NODE-SASS workflow to have it less stressful? 31:30 – Chuck: It’s out of Ruby that’s my experience with Node-Sass. 31:40 – Guest: I haven’t used Ruby, yet. 31:46 – Guest: I haven’t heard of Phoenix what is that? 31:50 – Chuck answers. Chuck: It’s functional and very fast. Once you’ve figured out those features they almost become power features for you. Elixir has a lot of great things going for it. 32:50 – Guest: I tried picking up GO recently. 33:08 – Chuck: Lots of things going on in the programming world. 33:18 – Guest: I have always had a mental block around Java. I was PMing the Java guys and I asked: will this stuff work on... Once I got it then I thought that I needed to explore this stuff more! I want to learn Ruby, though. 34:16 – Chuck: Anything else in respect to SignalR? 34:15 – Guest: I really think I have dumped everything I know about Signal R just now. I would draw people to the DOCS pages. A guide for anything that could happen on the JavaScript side – check them out! We have tons of new ideas, too! 37:33 – Picks! 37:42 – Advertisement – Fresh Books! 47:54 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter SignalR SignalR’s Twitter GitHub SignalR Socket.io Node-SASS ASP.NET SignalR Hubs API Guide – JavaScript Client SignalR.net Real Talk JavaScript Parcel Brady Gaster’s Twitter Brady Gaster’s GitHub Brady Gaster’s LinkedIn Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Brady Team on General Session Korg SeaHawks Brady’s kids Logictech spot light AirPods Charles Express VPN Hyper Drive J5 ports and SD card readers Podwrench
Panel: Dave Kimura Eric Berry Charles Max Wood Nate Hopkins Special Guest: Pedro Cavalheiro In this episode of Ruby Rogues, the panelists talk with Pedro Cavalheiro who is from Brazil, but currently resides in Hamburg, Germany where he works at Xing. He is a software engineer, an actor, and has been working with the web since 2010. He has worked mostly with Ruby and PHP languages, and since 2015 has worked full-time with Ruby on Rails. The panelists and Pedro talk about his background and his article. Check it out! Show Topics: 0:00 – Advertisement: Sentry.io 1:04 – Chuck: Hi! Panel is Eric, Dave, Nate, myself – and our special guest is Pedro Cavalheiro! Please introduce yourself! Is that Spanish or Portuguese? Chuck: P.S. – The DevRev is my new show and check it! 1:57 – Guest: My name means gentleman! Here at your service. 2:05 – Guest: I am a developer and worked with web technologies for 10 years. I do some DevOps stuff and working with Ruby. I just moved to Hamburg, Germany with the same company. 3:02 – Chuck: How do you make that decision? 3:07 – Guest: There is no magical answer. It depends on your needs and what time you have? At the time when I wrote that article I worked with a small startup company. For us, we used Heroku at the time. 4:09 – Guest: Current company is bigger and 500 developers. We have different ops teams and they have their own infrastructure and tools. They have more money, time, and people. For what they need it needs to be more scalable. It depends on the company and the requirements and your resources. 5:00 – Panel: I need to preface first: I love hosted solutions, but at the same time there is a hidden cost set that people don’t think about. 6:16 – Guest: If you compare your own infrastructure vs. cloud platform they will think that it is cheaper than having a hosted solution. 7:28 – Chuck: Yeah, that’s a discussion that I find that I have with myself and with my own company. It makes a ton of sense to have some system setup and it’s something that I am managing. 8:05 – Panelists talks about AWS and AMI. 9:06 – Guest. 9:21 – Panel: Can you talk about the article you wrote? Why did you write it? Give us some context into the article and where are we now? 9:48 – Guest talks in-detail about his article and where he was in life when he wrote this article! 14:10 – Panel: How much time did you invest into that? 14:16 – Guest: Less than a week; maybe 3-4 days for the whole process. Writing the article took about 2 days. 14:50 – Chuck talks about Docker, Azure, Dokku among other things. Question: Where do you look at all of these different things, and how do evaluate? 16:02 – Guest: I am a huge Heroku fan, and I would suggest people to use it. It’s brilliant. The company I work today it could be expensive to use b/c it’s a heavy load application and it won’t work. As for me (personal projects) I will play around these different tools. 19:02 – Panel: It’s easy to get up and running of Heroku. I think it’s similar to Kubernetes. 20:00 – Guest: I agree with that. The guest shares a story that relates to this topic. 21:45 – Panel: If you are using self-hosted...put some security on your application. Even if it’s just a demo you are protecting your environment. 22:17 – Chuck: Where do you guys come down on making these types of decisions? 22:30 – Panel: I see it as an investment; especially if your development team is small. Eventually, it will scale but in the early days of a project it is a legit choice to use Heroku or Beanstalk. CodeFund is still on Heroku. Right now it’s solving those problems for us. 23:45 – Chuck: Look at everything that we are all running. What do you guys recommend? 24:19 – Panel: I use S3, elastic search, among other things. 25:56 – Guest: I have a similar story. I had some friends who were spending more than $2,000 a month on Heroku. We tried to find how to reduce the amount of money. We removed the application from the Heroku and put it inside a local machine (probably $800 computer) that runs 24/7 and the only expenses were Internet ($50.00 / month) and 1 SSD ($100) and 1 micro-server through Amazon. Now it works and we were spending over 200x the amount that we needed to. In this example it wasn’t a critical system. In this case self-host was far better and cheaper, so it really depends on your case. 28:08 – Panel: Yeah, sometimes the old school and simple solutions are it. 28:26 – Chuck: I have a virtual machine/servers on Digital Ocean, and I cap deploy. I will login in every-now-and-then, but that’s it. 28:50 – Panel adds in his comments to this topic. 29:17 – Guest: Sometimes these old school solutions tend to be slower, but it depends on what you need for that situation. 29:50 – Chuck: David Brady called that his “Time to Twitter.” 30:04 – Fresh Books! 31:10 – Chuck: Can you talk about your discussion about this, please? 31:23 – Guest: I wrote this article, and it was translated into a few different languages. In the talk that I gave, I talked about my article. It’s funny b/c I wasn’t expecting all of this attention. 33:33 – Guest: I was nervous when I gave the talk so I don’t think it was that good. (Laughs.) 33:50 – Guest: We are human beings and we are always making mistakes, which is okay. 36:55 – Chuck: Yeah I run into that, too. Especially when running the podcast. 37:14 – Guest: That’s apart of the game right? We like to play with new technologies and if it weren’t for experimenting with new stuff our whole industry wouldn’t be as fun. We have the freedom to test, and we get to break tings and not get fired. That’s apart of our jobs. 37:51 – Panel: That’s a good point. A service like beanstalk or Heroku it’s easy to push your app out into the world. But when you dig in deeper, I think that knowledge really starts to seep in and you get to be a better developer. 38:27 – Chuck comments on this topic. 39:12 – Panel: To Pedro’s point... 39:42 – Guest: Yes, we work as a frontend or backend developer or a system administrator, but we need to understand the infrastructure. I want to know and when I know more then my work as a backend developer will improve and communicate with the system. That people know how to use Ruby on Rails and they get used to it but forget about database behind that, and...where you can write your own inquires. They think it’s not their job, but it IS their job. 41:17 – Chuck: To take that step one step further. Chuck talks about performance issues, codes, and more. 41:48 – Chuck: I want to try out Dokku! 42:00 – Guest comments. 43:53 – Chuck: Let’s do Picks! 44:00 – Advertisement: Get A Coder Job! End – Cache Fly! Links: Get a Coder Job Course Ruby Ruby on Rails Angular React React Native Docker Kubernetes Heroku Beanstalk CodeFund Amazon S3 GitHub: Kubernetes IMDB – Pedro C. FB: RR – DevChat TV RR 382 Episode Pedro’s blog article: “Creating a Heroku-Like Deployment Solution with Docker” Comic of Code Compiling GitHub: Dokku/Dokku Digital Ocean: Dokku Digital Ocean: Cloud Hosting App Developers Love Pedro’s Website Pedro’s Twitter Pedro’s Crunchbase Pedro’s GitHub Sponsors: Sentry CacheFly Fresh Books Picks: Dave Legos Rubix’s Cube Eric Digital Ocean @samantha_tse @jna_sh @Zaltsman Nate Alone - History Channel Charles MF CEO - Podcast Extreme Ownership - Book Drip TheDevRev.com Pedro Di.FM Shortcut Foo
Panel: Charles Max Wood Special Guest: Brady Gaster In this episode, Chuck talks with Brady Gaster about SignalR that is offered through Microsoft. Brady Gaster is a computer software engineer at Microsoft and past employers include Logical Advantage, and Market America, Inc. Check out today’s episode where the two dive deep into SignalR topics. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:56 – Chuck: Hello! We are going to talk about SignalR, which is an offering through Microsoft. 1:09 – Guest: It started in 2011 that’s when I got involved, but I wasn’t with Microsoft, yet, at that point. I was working on the technology, though. Effectively you can do real time HTMP but what they did (Damon and David) let’s create a series of abstractions but not we have for Java. They basically cam up this idea let’s do web sockets and then go back to pole / pole / pole. It’s to see what the server and the client can support. Guest talks about Socket.io, too. 6:45 – Chuck: What we are talking about real time coordination between apps. 6:56 – Guest: Web sockets, 1 million...and 2.6 million messages a second! 7:05 – Chuck: I can set that up like I usually set up web sockets? 7:17 – Guest: There is a client library for each. Effectively you have a concept called a connection. 9:48 – Chuck: How do you handle authentication on the frontend? 9:56 – Guest: We have server side things that we can attribute things. 10:09 – Chuck. 10:12 – Guest: If you authenticate to the site then the site passes the token and it basically sits on top of the same plumbing. 10:38 – Chuck. 10:42 – Guest. 10:54 – Chuck. 10:58 – Guest: We recently just had the DOT NET CONF. We had an all night, 24-hour thing. 11:48 – Chuck: Here you are, here you go. You hook it all up, JavaScript into your bundle. 12:05 – (The guest talks about how to install.) 13:12 – Chuck: I could come up with my own scheme. 13:25 – Guest: The traditional example is SEND A MESSAGE and then pass you string. Well tomorrow I do that and I just change the code – it’s great b/c I send up a ping and everybody knows what to do what that ping. It’s just a proxy. 14:17 – Chuck: I am trying to envision what you would use this for? If you are worried about it being stale then you refresh. But if you want the collaborative stuff at what point do you ask: Do I need SignalR? 15:00 – Guest: When I do my presentations on SignalR and being transparent I want to send you 1,000 messages but 1 or 2 messages will be dropped. You don’t want to transmit your order data or credit card information. Do you have a hammer and you need a screw? If you need stock tickers and other applications SignalR would work. Keeping your UI fresh it is a great thing. 19:02 – Chuck: You do that at the Hub? You set up the Hub and it passes everything back and forth. What can you do at the Hub for filtering and/or certain types of events? 19:26 – Guest: I am looking at a slide. What’s the cool thing about SignalR and the API is it’s deceptively simple on purpose. If you want to call out to clients, you can get a message to all of your clients if you select that/those feature(s). Some other features you have are OTHERS, and Clients.Group. 20:57 – Chuck: Can you set up your own? 20:58 – Guest: I don’t know. 21:12 – Chuck: Clients who belong to more than one group. 21:23 – Guest: Dynamics still give some people heartburn. (The guest talks about C#, Dev, Hub, and more!) 23:46 – Advertisement: Get A Coder Job! 24:23 – Chuck: How do people get started with this? Do they need Azure? 24:30 – Guest: You don’t need Azure you can go to Microsoft and it’s apart of the .NET team, too. 26:39 – Guest talks about how to install SignalR – see links below! 27:03 – Chuck: You don’t have to KNOW .NET. 27:11 – Guest: It was created by that team (*fair enough*) but you don’t have to know .NET. 27:57 – Guest: You can I could do JavaScript all the way. 29:04 – Chuck: Yes, we keep moving forward. It will look different what people are using. 29:21 – Guest: That was an early thing and I was reading through the old bugs from 2011/2012 and that’s one thing that kept coming up. I didn’t want to use jQuery to use SignalR – now you don’t. It’s a happy thing. 30:45 – Guest: Someone suggested using PARCEL. I have a question do you have any recommendations to have NODE-SASS workflow to have it less stressful? 31:30 – Chuck: It’s out of Ruby that’s my experience with Node-Sass. 31:40 – Guest: I haven’t used Ruby, yet. 31:46 – Guest: I haven’t heard of Phoenix what is that? 31:50 – Chuck answers. Chuck: It’s functional and very fast. Once you’ve figured out those features they almost become power features for you. Elixir has a lot of great things going for it. 32:50 – Guest: I tried picking up GO recently. 33:08 – Chuck: Lots of things going on in the programming world. 33:18 – Guest: I have always had a mental block around Java. I was PMing the Java guys and I asked: will this stuff work on... Once I got it then I thought that I needed to explore this stuff more! I want to learn Ruby, though. 34:16 – Chuck: Anything else in respect to SignalR? 34:15 – Guest: I really think I have dumped everything I know about Signal R just now. I would draw people to the DOCS pages. A guide for anything that could happen on the JavaScript side – check them out! We have tons of new ideas, too! 37:33 – Picks! 37:42 – Advertisement – Fresh Books! 47:54 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter SignalR SignalR’s Twitter GitHub SignalR Socket.io Node-SASS ASP.NET SignalR Hubs API Guide – JavaScript Client SignalR.net Real Talk JavaScript Parcel Brady Gaster’s Twitter Brady Gaster’s GitHub Brady Gaster’s LinkedIn Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Brady Team on General Session Korg SeaHawks Brady’s kids Logictech spot light AirPods Charles Express VPN Hyper Drive J5 ports and SD card readers Podwrench
Panel: Dave Kimura Eric Berry Charles Max Wood Nate Hopkins Special Guest: Pedro Cavalheiro In this episode of Ruby Rogues, the panelists talk with Pedro Cavalheiro who is from Brazil, but currently resides in Hamburg, Germany where he works at Xing. He is a software engineer, an actor, and has been working with the web since 2010. He has worked mostly with Ruby and PHP languages, and since 2015 has worked full-time with Ruby on Rails. The panelists and Pedro talk about his background and his article. Check it out! Show Topics: 0:00 – Advertisement: Sentry.io 1:04 – Chuck: Hi! Panel is Eric, Dave, Nate, myself – and our special guest is Pedro Cavalheiro! Please introduce yourself! Is that Spanish or Portuguese? Chuck: P.S. – The DevRev is my new show and check it! 1:57 – Guest: My name means gentleman! Here at your service. 2:05 – Guest: I am a developer and worked with web technologies for 10 years. I do some DevOps stuff and working with Ruby. I just moved to Hamburg, Germany with the same company. 3:02 – Chuck: How do you make that decision? 3:07 – Guest: There is no magical answer. It depends on your needs and what time you have? At the time when I wrote that article I worked with a small startup company. For us, we used Heroku at the time. 4:09 – Guest: Current company is bigger and 500 developers. We have different ops teams and they have their own infrastructure and tools. They have more money, time, and people. For what they need it needs to be more scalable. It depends on the company and the requirements and your resources. 5:00 – Panel: I need to preface first: I love hosted solutions, but at the same time there is a hidden cost set that people don’t think about. 6:16 – Guest: If you compare your own infrastructure vs. cloud platform they will think that it is cheaper than having a hosted solution. 7:28 – Chuck: Yeah, that’s a discussion that I find that I have with myself and with my own company. It makes a ton of sense to have some system setup and it’s something that I am managing. 8:05 – Panelists talks about AWS and AMI. 9:06 – Guest. 9:21 – Panel: Can you talk about the article you wrote? Why did you write it? Give us some context into the article and where are we now? 9:48 – Guest talks in-detail about his article and where he was in life when he wrote this article! 14:10 – Panel: How much time did you invest into that? 14:16 – Guest: Less than a week; maybe 3-4 days for the whole process. Writing the article took about 2 days. 14:50 – Chuck talks about Docker, Azure, Dokku among other things. Question: Where do you look at all of these different things, and how do evaluate? 16:02 – Guest: I am a huge Heroku fan, and I would suggest people to use it. It’s brilliant. The company I work today it could be expensive to use b/c it’s a heavy load application and it won’t work. As for me (personal projects) I will play around these different tools. 19:02 – Panel: It’s easy to get up and running of Heroku. I think it’s similar to Kubernetes. 20:00 – Guest: I agree with that. The guest shares a story that relates to this topic. 21:45 – Panel: If you are using self-hosted...put some security on your application. Even if it’s just a demo you are protecting your environment. 22:17 – Chuck: Where do you guys come down on making these types of decisions? 22:30 – Panel: I see it as an investment; especially if your development team is small. Eventually, it will scale but in the early days of a project it is a legit choice to use Heroku or Beanstalk. CodeFund is still on Heroku. Right now it’s solving those problems for us. 23:45 – Chuck: Look at everything that we are all running. What do you guys recommend? 24:19 – Panel: I use S3, elastic search, among other things. 25:56 – Guest: I have a similar story. I had some friends who were spending more than $2,000 a month on Heroku. We tried to find how to reduce the amount of money. We removed the application from the Heroku and put it inside a local machine (probably $800 computer) that runs 24/7 and the only expenses were Internet ($50.00 / month) and 1 SSD ($100) and 1 micro-server through Amazon. Now it works and we were spending over 200x the amount that we needed to. In this example it wasn’t a critical system. In this case self-host was far better and cheaper, so it really depends on your case. 28:08 – Panel: Yeah, sometimes the old school and simple solutions are it. 28:26 – Chuck: I have a virtual machine/servers on Digital Ocean, and I cap deploy. I will login in every-now-and-then, but that’s it. 28:50 – Panel adds in his comments to this topic. 29:17 – Guest: Sometimes these old school solutions tend to be slower, but it depends on what you need for that situation. 29:50 – Chuck: David Brady called that his “Time to Twitter.” 30:04 – Fresh Books! 31:10 – Chuck: Can you talk about your discussion about this, please? 31:23 – Guest: I wrote this article, and it was translated into a few different languages. In the talk that I gave, I talked about my article. It’s funny b/c I wasn’t expecting all of this attention. 33:33 – Guest: I was nervous when I gave the talk so I don’t think it was that good. (Laughs.) 33:50 – Guest: We are human beings and we are always making mistakes, which is okay. 36:55 – Chuck: Yeah I run into that, too. Especially when running the podcast. 37:14 – Guest: That’s apart of the game right? We like to play with new technologies and if it weren’t for experimenting with new stuff our whole industry wouldn’t be as fun. We have the freedom to test, and we get to break tings and not get fired. That’s apart of our jobs. 37:51 – Panel: That’s a good point. A service like beanstalk or Heroku it’s easy to push your app out into the world. But when you dig in deeper, I think that knowledge really starts to seep in and you get to be a better developer. 38:27 – Chuck comments on this topic. 39:12 – Panel: To Pedro’s point... 39:42 – Guest: Yes, we work as a frontend or backend developer or a system administrator, but we need to understand the infrastructure. I want to know and when I know more then my work as a backend developer will improve and communicate with the system. That people know how to use Ruby on Rails and they get used to it but forget about database behind that, and...where you can write your own inquires. They think it’s not their job, but it IS their job. 41:17 – Chuck: To take that step one step further. Chuck talks about performance issues, codes, and more. 41:48 – Chuck: I want to try out Dokku! 42:00 – Guest comments. 43:53 – Chuck: Let’s do Picks! 44:00 – Advertisement: Get A Coder Job! End – Cache Fly! Links: Get a Coder Job Course Ruby Ruby on Rails Angular React React Native Docker Kubernetes Heroku Beanstalk CodeFund Amazon S3 GitHub: Kubernetes IMDB – Pedro C. FB: RR – DevChat TV RR 382 Episode Pedro’s blog article: “Creating a Heroku-Like Deployment Solution with Docker” Comic of Code Compiling GitHub: Dokku/Dokku Digital Ocean: Dokku Digital Ocean: Cloud Hosting App Developers Love Pedro’s Website Pedro’s Twitter Pedro’s Crunchbase Pedro’s GitHub Sponsors: Sentry CacheFly Fresh Books Picks: Dave Legos Rubix’s Cube Eric Digital Ocean @samantha_tse @jna_sh @Zaltsman Nate Alone - History Channel Charles MF CEO - Podcast Extreme Ownership - Book Drip TheDevRev.com Pedro Di.FM Shortcut Foo
Panel: Charles Max Wood Aaron Frost Shai Reznik Divya Sasidharan Joe Eames Lucas Reis Special Guest: Sean Merron In this episode, The panelist of Adventure In Angular, View on Vue, React Round-Up, and Ruby Rogues and JavaScript Jabber speak with Sean Merron about Mastermind Groups of Startups and much more. Sean is the founder of today's topic and product “Mastermind Hunt.” This product is design to skillfully find a mastermind to take your business and skills to the next level. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 3:00 – Webinar announcement January 3rd, 2p EST. 4:10 - Sean talks about the importance of a Mastermind and his evolvement in mastermind groups. Sean breakdowns what exactly what a mastermind is about. 6:10 - Charles ask the panelist if they have engaged in Masterminds. Shai talks about his experience and seeing one-sidedness in Masterminds. Sean talks about how to avoid this issue and staying on track. Sean shares on how to keep the meeting moving forward and meet accountability tasks. 10:10 - Joe asks about examples of chatting on topics with co-workers and how is this different from masterminds. And how to keep topics on track. Sean provides using the round robin method to give each person a chance to bring their needs to the table. Sean talks about how developers share advice and topics in Masterminds. 14:43 - Charles shares about how this works in using exercise workbooks as a group and who the rotation works for the hot seat. Sean explains that this is used to find others at your same level to help one another. 16:50 - Shai ask about the benefits of mastermind, but how can we integrate higher level issues among a group. Sean shares a story about meeting and benefits of networking in Masterminds. Sean and Chuck continue with the power of networking among these types of groups. 22:00 - Charles talks about the complexity of personal issues. Shai asks about how to build a mastermind. Sean gives examples of formats and schedule, number of people, and how to conduct successfully. Sean gives examples of technologies to use to help conduct masterminds, like Facebook groups, Skype, Zoom. Sean explains how this led to building mastermindhunt.com 27:00 – Advertisement: Get A Coder Job! 27:00 - Charles talks about how he did a lunch meetup as a mastermind. Lucas gives examples of guilds in his job. Lucas explains the guilds and how this works among the software development team. Lucas shares about presenting in a guild. Lucas says this is great for accountability and success. 30:00 - Sean asks about the size or how many people are in the guild. Lucas mentions that if you do not understand something, bring it to the guild. Sean mentions how this could help shy people and build trust. Sean talks about “Friend D A” 34:00 - Charles again talks about that BrownBag lunch mastermind. Charles talks about how to keep masterminds on track and not a chatfest. Joe asks about the accountability goals. Sean talks about how this works in Mastermind Hunt. Sean gives examples of how to keep people accountable in fun ways. 37:00 - Shai talks about having to shave his head when he was not meeting accountability goals. Sean continues about respecting people’s time and keeping on topic with hot seat questions. 39:00 - Shai asks about how to approach people who are not meeting goals and take-up to much time. Sean says the person with the best relationship should approach the person before they have to bump them out of the mastermind spot. 42:00 - Charles talks about EntreProgrammers as a mastermind and the freeform style of the format. Charles talks about leaving the group if it is not meeting your value needs. 44:00 - Sean talks about the introduction and application programs to enter into a mastermind. Lucas talks about diminishing quality of a mastermind, and how he raised the quality of engaging in a way that heightens the program. Sean shares more aobuu the initial attitude of the person who starts the meeting. 49:00 - Divya ask about those who are not hitting their goals, but how do you keep them engaged without leaving the group. Sean mentions breaking down the goals or create achievable goals. Sean talks about figuring out the organization and finding where the issues are at that might be the problem to hitting goals. 51:00 - Divya ask about how enthusiasm can diminish about how to keep that from happening in masterminds. Sean says you have to be consistent with your goals and make it fun. 55:00 - Shai gives a quick recap of masterminds. Shai ask about how to rotate the hot seat. Sean give a webinar link for mastermindhunt.com/devchat on January 3rd, 2pm EST. 57:30 – Advertisement – Fresh Books! 30-day free trial! END – Advertisement – Cache Fly! Links: Sean’s Twitter 2frugaldudes podcast Sean’s LinkedIn mastermindhunt.com mastermindhunt.com/devchat Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Shai Bob Proctor Joe Coolstuffinc luxor NG Conf Minified Lucas Radical Candor Divya Alan Watts Framework Summit Videos Several Short Sentence about Writing Charles CES - devchat.tv/events Modern Medicine Sean (757) Area Code RevolutionConf.com
Panel: Charles Max Wood Guest: James Adams This week on My JavaScript Story, Charles speaks with James Adams who is a web and a full stack developer who currently resides in Melbourne, Australia. Chuck and James talk about James’ background, current projects, JavaScript, Ruby, Meetups, and much more! Check out today’s episode to hear all of the details. In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 0:55 – Chuck: Welcome to My Java Script story! You are the 4th person I have talk to today. I have only talked to one person in the U.S. Other people were from Denmark, Tennessee (USA), and Bulgaria. 1:39 – Guest: I am in Australia! 1:48 – Chuck: I try to open it up for different times and different locations. I started making my own program. I want one tool to manage my podcast company. 2:20 – Guest. 2:26 – Chuck: Introduce yourself, please! 2:33 – Guest: I have been working in JavaScript for 2 years now, and I just FOUND it. I could have been put anywhere but working with a large company. I discovered React.js. I went to study Math and Chemistry originally. 3:24 – Chuck: What was it – why did you change from mathematics to programming? 3:38 – Guest: I like solving problems and that has been true my whole life. 4:25 – Chuck: I identify with that – you’re right – for me, it’s more tangible and it’s neat to see something being built. White line on a black floor is mentioned. 5:30 – Guest: I had a great education, but seems like the education in the U.S. is more fun. We didn’t get to program and stuff like that. 5:51 – Chuck: My experience was that I got to do really interesting things in High School. 6:20 – Guest: I think you reap benefits by diving into one topic. 6:36 – Chuck: We were building little circuits that were turning on/off LED. We then went to building robots and then computer chips. How did you get into JavaScript? 7:01 – Guest: We didn’t touch JavaScript until my 3rd year. I went to a school in Jerusalem for a while. 9:05 – Chuck: How did you get your first programming job? 9:10 – Guest: I wasn’t really applying – I thought I would travel for a year or so. It was weird I didn’t think I had to apply to jobs right away. I applied to a few jobs, and my friend started sharing my resume around and I ended up doing some contract work for that company. I used RUBY for that team. 10:18 – Chuck: First few jobs I got were through the “spray-and-pray” method. The best jobs I got are because I KNEW somebody. 10:30 – Guest and Chuck go back-and-forth. 11:31 – Guest mentions networking. 11:41 – Chuck: What have you done with JavaScript that you are especially proud of? 11:45 – Guest. 13:43 – Chuck: I didn’t know that honestly. I never really thought of integrating React Native into a native app. 14:00 – Guest: Yeah, it’s really cool. I didn’t think about it before either! 14:24 – Chuck: What are you working on now? 14:28 – Guest: Actually, I am working on some integration with different parties. Now we are routing everything back to the backend. 15:46 – Chuck: I think I have heard of Pro... 15:52 – Guest: Yeah, they are located in the U.S. 16:01 – Chuck: Every community/country is different, but what is it like to be a programmer in Melbourne, Australia? 16:16 – Guest: It’s cool and I think it has a way to go. We have a React Meetup. 16:55 – Chuck: Sounds like you have a healthy community down there. So in Denmark if you get away from the bigger cities then you have a harder time finding a community in the rural areas. 17:30 – Guest: Do you spend more time online? 17:50 – Chuck: Yeah, I don’t know. I live in Utah. It is hard because there is a community North in Logan, UT. 18:13 – Guest: You have 5-6 main cities in Australia. We don’t have medium-sized cities. In the U.S. you have a mixture out there. 18:42 – Chuck talks about the population throughout Utah. 19:03 – Guest asks a question to Chuck. 19:09 – Chuck: Yes, Facebook is putting in Data Center about 20 minutes away from my house. They have built satellite offices here. The startup scene is picking up, too. 19:49 – Chuck: We are fairly large land wise. We can spread-out more. 20:07 – Guest talks about the population density in Australia vs. U.S. 20:20 – Chuck: It’s interesting to see what the differences are. If you are in a community that HAS a tech community you are set. 20:39 – Guest: I find it really interesting. 21:25 – Guest: Humans are a funny species – you can put out your hand, shake it, and you start talking. 21:45 – Chuck talks about the tech hubs in Fort Lauderdale, Florida in U.S. 22:17 – Guest: Yeah, if you aren’t interested than you aren’t interested. 22:28 – Chuck. 22:37 – Guest. 22:53 – Chuck: Join the mailing list, get involved and there are online groups, too. 23:11 – Guest: I really didn’t get into functional programming at first. I got to talk about this at a React Meetup. 24:25 – Chuck: The logic is the same. 24:32 – Guest: You put these functions together and there you go! 24:40 – Chuck: Go ahead. 24:48 – The guest is talking about React’s integrations. 24:56 – Chuck: Anything that is shared and put in some functional component, hook it up, and that’s it. Picks! 25:09 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly 29:55 – Guest: Shout-out to my mentors. I am really blessed to have these mentors in my life and I wouldn’t be here today if it wasn’t for them. Lucas is one of them who work with Prettier. Links: React Angular Vue.js JavaScript Ember Elm jQuery Node Tweet Mash Up Guest’s Twitter React Melbourne ReactJS Melbourne JavaScript Meetups in Melbourne Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Chuck Presser switch for my Furnace – Goggle Search James Tweet Mash Up
Panel: Charles Max Wood Guest: James Adams This week on My JavaScript Story, Charles speaks with James Adams who is a web and a full stack developer who currently resides in Melbourne, Australia. Chuck and James talk about James’ background, current projects, JavaScript, Ruby, Meetups, and much more! Check out today’s episode to hear all of the details. In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 0:55 – Chuck: Welcome to My Java Script story! You are the 4th person I have talk to today. I have only talked to one person in the U.S. Other people were from Denmark, Tennessee (USA), and Bulgaria. 1:39 – Guest: I am in Australia! 1:48 – Chuck: I try to open it up for different times and different locations. I started making my own program. I want one tool to manage my podcast company. 2:20 – Guest. 2:26 – Chuck: Introduce yourself, please! 2:33 – Guest: I have been working in JavaScript for 2 years now, and I just FOUND it. I could have been put anywhere but working with a large company. I discovered React.js. I went to study Math and Chemistry originally. 3:24 – Chuck: What was it – why did you change from mathematics to programming? 3:38 – Guest: I like solving problems and that has been true my whole life. 4:25 – Chuck: I identify with that – you’re right – for me, it’s more tangible and it’s neat to see something being built. White line on a black floor is mentioned. 5:30 – Guest: I had a great education, but seems like the education in the U.S. is more fun. We didn’t get to program and stuff like that. 5:51 – Chuck: My experience was that I got to do really interesting things in High School. 6:20 – Guest: I think you reap benefits by diving into one topic. 6:36 – Chuck: We were building little circuits that were turning on/off LED. We then went to building robots and then computer chips. How did you get into JavaScript? 7:01 – Guest: We didn’t touch JavaScript until my 3rd year. I went to a school in Jerusalem for a while. 9:05 – Chuck: How did you get your first programming job? 9:10 – Guest: I wasn’t really applying – I thought I would travel for a year or so. It was weird I didn’t think I had to apply to jobs right away. I applied to a few jobs, and my friend started sharing my resume around and I ended up doing some contract work for that company. I used RUBY for that team. 10:18 – Chuck: First few jobs I got were through the “spray-and-pray” method. The best jobs I got are because I KNEW somebody. 10:30 – Guest and Chuck go back-and-forth. 11:31 – Guest mentions networking. 11:41 – Chuck: What have you done with JavaScript that you are especially proud of? 11:45 – Guest. 13:43 – Chuck: I didn’t know that honestly. I never really thought of integrating React Native into a native app. 14:00 – Guest: Yeah, it’s really cool. I didn’t think about it before either! 14:24 – Chuck: What are you working on now? 14:28 – Guest: Actually, I am working on some integration with different parties. Now we are routing everything back to the backend. 15:46 – Chuck: I think I have heard of Pro... 15:52 – Guest: Yeah, they are located in the U.S. 16:01 – Chuck: Every community/country is different, but what is it like to be a programmer in Melbourne, Australia? 16:16 – Guest: It’s cool and I think it has a way to go. We have a React Meetup. 16:55 – Chuck: Sounds like you have a healthy community down there. So in Denmark if you get away from the bigger cities then you have a harder time finding a community in the rural areas. 17:30 – Guest: Do you spend more time online? 17:50 – Chuck: Yeah, I don’t know. I live in Utah. It is hard because there is a community North in Logan, UT. 18:13 – Guest: You have 5-6 main cities in Australia. We don’t have medium-sized cities. In the U.S. you have a mixture out there. 18:42 – Chuck talks about the population throughout Utah. 19:03 – Guest asks a question to Chuck. 19:09 – Chuck: Yes, Facebook is putting in Data Center about 20 minutes away from my house. They have built satellite offices here. The startup scene is picking up, too. 19:49 – Chuck: We are fairly large land wise. We can spread-out more. 20:07 – Guest talks about the population density in Australia vs. U.S. 20:20 – Chuck: It’s interesting to see what the differences are. If you are in a community that HAS a tech community you are set. 20:39 – Guest: I find it really interesting. 21:25 – Guest: Humans are a funny species – you can put out your hand, shake it, and you start talking. 21:45 – Chuck talks about the tech hubs in Fort Lauderdale, Florida in U.S. 22:17 – Guest: Yeah, if you aren’t interested than you aren’t interested. 22:28 – Chuck. 22:37 – Guest. 22:53 – Chuck: Join the mailing list, get involved and there are online groups, too. 23:11 – Guest: I really didn’t get into functional programming at first. I got to talk about this at a React Meetup. 24:25 – Chuck: The logic is the same. 24:32 – Guest: You put these functions together and there you go! 24:40 – Chuck: Go ahead. 24:48 – The guest is talking about React’s integrations. 24:56 – Chuck: Anything that is shared and put in some functional component, hook it up, and that’s it. Picks! 25:09 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly 29:55 – Guest: Shout-out to my mentors. I am really blessed to have these mentors in my life and I wouldn’t be here today if it wasn’t for them. Lucas is one of them who work with Prettier. Links: React Angular Vue.js JavaScript Ember Elm jQuery Node Tweet Mash Up Guest’s Twitter React Melbourne ReactJS Melbourne JavaScript Meetups in Melbourne Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Chuck Presser switch for my Furnace – Goggle Search James Tweet Mash Up
Panel: Charles Max Wood Guest: James Adams This week on My JavaScript Story, Charles speaks with James Adams who is a web and a full stack developer who currently resides in Melbourne, Australia. Chuck and James talk about James’ background, current projects, JavaScript, Ruby, Meetups, and much more! Check out today’s episode to hear all of the details. In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 0:55 – Chuck: Welcome to My Java Script story! You are the 4th person I have talk to today. I have only talked to one person in the U.S. Other people were from Denmark, Tennessee (USA), and Bulgaria. 1:39 – Guest: I am in Australia! 1:48 – Chuck: I try to open it up for different times and different locations. I started making my own program. I want one tool to manage my podcast company. 2:20 – Guest. 2:26 – Chuck: Introduce yourself, please! 2:33 – Guest: I have been working in JavaScript for 2 years now, and I just FOUND it. I could have been put anywhere but working with a large company. I discovered React.js. I went to study Math and Chemistry originally. 3:24 – Chuck: What was it – why did you change from mathematics to programming? 3:38 – Guest: I like solving problems and that has been true my whole life. 4:25 – Chuck: I identify with that – you’re right – for me, it’s more tangible and it’s neat to see something being built. White line on a black floor is mentioned. 5:30 – Guest: I had a great education, but seems like the education in the U.S. is more fun. We didn’t get to program and stuff like that. 5:51 – Chuck: My experience was that I got to do really interesting things in High School. 6:20 – Guest: I think you reap benefits by diving into one topic. 6:36 – Chuck: We were building little circuits that were turning on/off LED. We then went to building robots and then computer chips. How did you get into JavaScript? 7:01 – Guest: We didn’t touch JavaScript until my 3rd year. I went to a school in Jerusalem for a while. 9:05 – Chuck: How did you get your first programming job? 9:10 – Guest: I wasn’t really applying – I thought I would travel for a year or so. It was weird I didn’t think I had to apply to jobs right away. I applied to a few jobs, and my friend started sharing my resume around and I ended up doing some contract work for that company. I used RUBY for that team. 10:18 – Chuck: First few jobs I got were through the “spray-and-pray” method. The best jobs I got are because I KNEW somebody. 10:30 – Guest and Chuck go back-and-forth. 11:31 – Guest mentions networking. 11:41 – Chuck: What have you done with JavaScript that you are especially proud of? 11:45 – Guest. 13:43 – Chuck: I didn’t know that honestly. I never really thought of integrating React Native into a native app. 14:00 – Guest: Yeah, it’s really cool. I didn’t think about it before either! 14:24 – Chuck: What are you working on now? 14:28 – Guest: Actually, I am working on some integration with different parties. Now we are routing everything back to the backend. 15:46 – Chuck: I think I have heard of Pro... 15:52 – Guest: Yeah, they are located in the U.S. 16:01 – Chuck: Every community/country is different, but what is it like to be a programmer in Melbourne, Australia? 16:16 – Guest: It’s cool and I think it has a way to go. We have a React Meetup. 16:55 – Chuck: Sounds like you have a healthy community down there. So in Denmark if you get away from the bigger cities then you have a harder time finding a community in the rural areas. 17:30 – Guest: Do you spend more time online? 17:50 – Chuck: Yeah, I don’t know. I live in Utah. It is hard because there is a community North in Logan, UT. 18:13 – Guest: You have 5-6 main cities in Australia. We don’t have medium-sized cities. In the U.S. you have a mixture out there. 18:42 – Chuck talks about the population throughout Utah. 19:03 – Guest asks a question to Chuck. 19:09 – Chuck: Yes, Facebook is putting in Data Center about 20 minutes away from my house. They have built satellite offices here. The startup scene is picking up, too. 19:49 – Chuck: We are fairly large land wise. We can spread-out more. 20:07 – Guest talks about the population density in Australia vs. U.S. 20:20 – Chuck: It’s interesting to see what the differences are. If you are in a community that HAS a tech community you are set. 20:39 – Guest: I find it really interesting. 21:25 – Guest: Humans are a funny species – you can put out your hand, shake it, and you start talking. 21:45 – Chuck talks about the tech hubs in Fort Lauderdale, Florida in U.S. 22:17 – Guest: Yeah, if you aren’t interested than you aren’t interested. 22:28 – Chuck. 22:37 – Guest. 22:53 – Chuck: Join the mailing list, get involved and there are online groups, too. 23:11 – Guest: I really didn’t get into functional programming at first. I got to talk about this at a React Meetup. 24:25 – Chuck: The logic is the same. 24:32 – Guest: You put these functions together and there you go! 24:40 – Chuck: Go ahead. 24:48 – The guest is talking about React’s integrations. 24:56 – Chuck: Anything that is shared and put in some functional component, hook it up, and that’s it. Picks! 25:09 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly 29:55 – Guest: Shout-out to my mentors. I am really blessed to have these mentors in my life and I wouldn’t be here today if it wasn’t for them. Lucas is one of them who work with Prettier. Links: React Angular Vue.js JavaScript Ember Elm jQuery Node Tweet Mash Up Guest’s Twitter React Melbourne ReactJS Melbourne JavaScript Meetups in Melbourne Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Chuck Presser switch for my Furnace – Goggle Search James Tweet Mash Up
Panel: Aaron Frost Brian Love Special Guest: Amir Tugendhaft In this episode, Aaron and Brian talk with Amir Tugendhaft who is a web developer who is located in Israel. He finds much gratification developing and building things from scratch. Check out today’s episode where Aaron, Brian, and Amir talk about just that. Other topics include UI Design, Flexbox, UX design, PrimeNG, and ag-Grid. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:52 – Host: Welcome! Today’s panel is myself, Brian, and our guest is Amir Tugendhaft! 1:13 – Guest: I am a developer and experience with Angular and React. 1:56 – Host: You spend your days/nights there? 2:03 – Panel: He is committed. 2:08 – Host: I am going to back up a second, and Brian could you please introduce yourself, please? 2:26 – Brian: I am the CETO at an Angular consulting firm (Denver, CO). We have the pleasure with working with Aaron from time-to-time. My Twitter handle is @brian_love – check it out! 2:52 – Host: What is CETO stand for? 2:59 – Brian answers the question. Brian: I oversee the crew among other things. 3:31 – Host: What do you want to talk about today, Amir? You are the guest of honor today! 3:40 – Guest. 4:00 – Host: That is a lot of information – that might be more than 1 episode. We have to stay focused! 4:14 – Host: I read one of your recent blogs about Cross Filled Violators. I met you through your blog before we did the Host: Give us your own ideas about starting your own app. 4:50 – Guest answers the question. 6:17 – Host: I am biased. But here is a fact. I used to work on a large team (60 people) and everyone committing to the same page app. We were using Angular.js 1.5, which I think they are still using that. I know that it worked but it wasn’t the easiest or fastest one to maintain, but it worked. 7:05 – Brian. 7:10 – Host: What are you trying to do? React doesn’t fulfill that need. I think you are being hyperballic and using extreme cases as the norm. Let’s be honest: we do cool stuff with jQuery plugins when we didn’t have a framework. When they say that the framework is stopping them then I say: I agree to disagree. 8:00 – Host: What do you think, Amir? 8:04 – Guest: I don’t have preferences. I try to build applications through the technologies and create components and simple applications. 8:30 – Brian. 8:33 – Guest: You create the component, and then... 9:21 – Brian: You don’t have to have a template file and another file – right? 9:35 – Guest. 9:48 – Host: I do in-line styles and in-line templates. One thing I learned from React is that I like my HTML, style and code. I like it being the same file as my component. I like that about that: I like single file components. This promotes getting frustrated if it gets too big. Yeah if it’s more than 500 lines than you have to simplify. That’s one of the things that l like. 10:47 – Brian: Modules versus... 10:55 – Guest. 11:07 – Host: I think in React and Vue you have the word module but in JavaScript you have a file that exports... 11:26 – Host: I have my opinion here and talking with Joe. He made a good point: at a certain level the frontend frameworks are the same. You could be doing different things but they basically do the same thing. 13:57 – Guest: Basically what that means is that the technology used it will do the same thing. Your patterns and practices are huge. 14:17 – Brian: If you are talking about the 3 popular frameworks out there – they are basically doing the same thing. I like Angular a little big more, though. Like you said, Aaron, people tend to pick the same one. I like the opinionated things about Angular. You get properties, components or called props or inputs you are getting a lot of the same features. It comes down to your personal preference. 15:31 – Host: What else Amir? 15:35 – Guest: Let’s talk about the UI. 16:05 – Brian. 16:08 – Guest asks a question. 16:25 – Brian: How have you tackled this problem? 16:34 – Guest: I kind of ran with it. If there wasn’t something that I liked I started from scratch, because it really didn’t feel right. 16:51 – Brian: I am an enemy of starting over type of thing. You have a lot of engineers who START projects, and they can say that they start this piece, but the experts and choice team members have what it takes to ship a feature. I mean fully ship it, not just 80%, but also the final 20%. I think it takes a lot of pose decision making to say I want to rewrite it but not right now. I still need to ship this code. I have always been a bigger fan as not rewriting as much as possible; however, if you started with good patterns then that’s true, but if you are starting off with bad patterns then maybe yes. I like that opinion b/c you have to start right. Brian: How do you do your CSS? 19:05 – Guest. 19:52 – Advertisement: Get A Coder Job! 20:30 – Brian: How do you make those decisions, Amir? 20:39 – Guest: I see something that I like and ask myself how do I apply this to my design and I start scaling things. 21:50 – Host: Are you using a tool like Sketch for your initial UI design? 22:05 – Guest. 22:54 – Host: I worked on a project where the client had a designer (UX). 24:00 – Host and Guest go back-and-forth. 24:51 – Host: I am sure it’s all about the quality from your designer, too. Hopefully it works well for you and it’s quality. 25:18 – Host: There is a lot to building an app from scratch. I am not a good designer. I am not a designer – I mean straight-up. I got nothing. I appreciate team members that can do that. 26:06 – Guest: Do you write...? 26:35 – Host: Only on the most recent project. The designer didn’t own the HTML CSS but he initially wrote it and then gave it to me and now I own it, and it’s in components. If he wants updates then I have to go and make changes b/c he doesn’t know Angular. If it’s a sketch or a PNG you have to make it look like that. That’s what most of my career has been. Host: HTML and CSS got me 762x easier once Flexbox came around! I know there is a decimal there! 28:23 – Host talks about Flexbox some more. 28:42 – Guest asks a question. 28:50 – Host: I suppose if I really had heavy needs for a table then I would try CSS grid could solve some problems. I might just use a styled table. 29:12 – Brian: ag-Grid or something else. 29:21 – Host: On this recent project...I’ve used in-house design and other things. If I ever needed a table it was there. I don’t rebuild components b/c that can get expensive for me. 30:50 – Brian: Accessibility. 31:00 – Host: Your upgrade just got 10x harder b/c you own the component loop. I really don’t build tables or drop-downs. Only way is if I really need to build it for a specific request. 31:30 – Brian. 31:58 – Host: Let me give you an example. You can think I am crazy, but a designer gave me a drop-down but he told me to use PrimeNG. I had the chose of building my own drop-down or the designer has to accept whatever they gave him. I made the UI make what he wanted and I made the drop-down zero capacity and then... Host: When you click on what you see you are clicking on the... Host: Does that make sense? 33:35 – Guest. 33:50 – Host. 34:25 – Brian: That is interesting; remember when... 34:58 – Host: We will send this episode to Jeremy – come on Jeremy! Any last ideas? Let’s move onto picks! 35:20 – Advertisement – Fresh Books! 30-day free trial! END – Advertisement – Cache Fly! Links: Vue jQuery Angular React C# What is a UX Design? UI Design Flexbox Sketch ag-Grid PrimeNG Brian Love’s Twitter Aaron Frost’s Medium Amir’s Medium Amir’s Twitter Amir’s GitHub Amir’s LinkedIn Amir’s Facebook Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Aaron Movie: “A Star Is Born” Concept - Model Driven Forms Amir Puppeteer Arrow Function Converter Brian TV Series: “The 100” Angular Schematics
Panel: David Kimura Eric Berry In this episode of Ruby Rogues, the panelists talk amongst themselves about their favorite software, equipment, and apps. Both Eric and David thoroughly share their preferred picks within these categories, and they explain how and why they use the specified item. Check out today’s episode to hear more! Show Topics: 0:00 – Advertisement: Sentry.io 1:03 – David: Welcome! Today, Chuck is not feeling well. I am David and today we have Eric Berry on our panel today. It is just the two of us today. I want to talk about our development environment. What is your setup like? Do you have an office space and your hardware? 1:58 – Eric: I Have a room in my basement that has everything that I need. I do work from home. There is my guitar, my geek toys and more. For my hardware I am using 2017 MacBook Pro (16 GB of ram). The 13-inch is convenient, but I upgraded b/c I do a lot of traveling. I do pull the iPad out and use DUET. You no longer have to use a cord. I have a monitor that is 30-inches and it’s gorgeous. That is my hardware setup. I am not a mechanical keyboard guy, and I stick with the Apple super flat keyboard. I do use Bestand – it’s a holster for the keyboard and the track pad. What do you have? 4:35 – David: I have a Frankenstein setup. My needs change, over time, and when that changes my hardware changes. Back in the day I did not have a Mac and I used a Windows machine. I used to be a gamer, but then met my wife and then stopped b/c she didn’t like for me to waste time. My setup is more proper. I have a baseline iMac Pro b/c there was a great deal of $1,000 off. The other option was an iMac. I like the desktop b/c that’s where I do work – at home. It was a $4,000 investment. I am on my computer ALL the time it was worth it to me. I got the wall-mount for me, and I have more monitors wall-mounted, too. 8:00 – David: That is my monitor and computer setup. I have an eco-rhythmic keyboard b/c of childhood injuries. I have a really old Microsoft keyboard from 2005 something. It was cheap but I like the style of it. For my mouse I have a Logitech mouse. I love the feel of this thing. It has a side scroll left and right, and up and down. Especially when I am looking at code. It helps with my video editing, too. My mouse is my favorite to-date. I don’t have too much plugged into the Mac. I have a GoDrive, which has everything on it – my whole life’s work is on there. If there is ever an emergency I know to grab that. Back things up in case of an emergency would be my tips to you all. 11:40 – Eric: I have struggled with backing things up actually. The problem that I have is that I am constantly moving my laptop. I have this guilt and fear of doing it wrong. 12:33 – David: I have this work laptop – I don’t back that up every day. David gives Eric his suggestions in regards to backing files up. David mentions Back Blaze. 14:05 – Eric: That makes sense. I live in the Apple eco-system. I have my phone, watch, 40 iPads, laptop – everything backs up to the Cloud. The date we are recording this is 10/30/18. Apple just announced a new upgrade. I feel like this could compete with an actual laptop computer. Eric asks David a question. 15:35 – David: ...My main problem with that is that you might already have a developmental machine. It’s a stationary computer then it’s not feasible to take on the go. I do have an iPad Pro and I will take that on the go. I can login to my home network. BLINK – I used on my iPad Pro. David continues to talk about his setup. 19:00 – Eric: I kind of agree with you. I have seen it used quite a bit. My brother does everything online for his job. The pros are that if you are training, and his company is configured that way. The pros is that you can code from anywhere on anyone’s computer. I am glad that it DOES exist. It’s not Cloud9 but someone does offer... 20:20 – David: I think going to a solo screen does hurt my productivity – working on the iPad vs. working on the computer. I could get faster and faster but only to a certain degree. If you have the resources – then I don’t think it’s sustainable. However, if you don’t have the resources it’s better than nothing. At least you are coding and that’s important. 22:15 – Eric: I think of the audience we cater to with Ruby Rogues. I wonder if our listeners are strapped for cash or if they do have the resources to get the job done? 22:48 – David: If you don’t have a lot of money, you don’t have to buy a Mac. If Cloud hosting isn’t your thing there are different options. You have DOCKER, and use Windows as your main editor, and the WSL. I wanted to do a test – I bout a laptop for $500-$700 and you can get away with doing what you need to do. Learning how to program and code with what you have is great! 25:00 – Advertisement – Fresh Books! 26:05 – Eric: Let’s talk about the software developer environment. Nate Hopkins isn’t on today, but you can’t change his mind – I am VEM all the way. I think Cuck is EMAX. 26:43 – Eric: What do you do? 26:45 – David: I use VS code. David talks about the benefits of using VS code. 27:37 – Eric: Yes, 100%. I met the lead engineer behind VS code. They just made a new announcement. I have been using VS code for quite a while now. The integrated terminal and other features are awesome. Pulling me out of Sublime Text was a really, really hard thing for me. 29:28 – David: Sublime text, yes, but I got tired of the 40-year long beta, and the lack of expanding it, too. VS code has won my heart over. 30:53 – Eric: My guess is that they are going to leave it alone. I am sure they will connect the 2 teams. Think of how much work has gone into ATOM. That would be a hard pill to swallow. 31:20 – David: At the end of the day, though, it is a company. You don’t need 2 different editors when they do the same thing. 31:40 – Eric: I would have to disagree with you. Maybe they won’t merge the 2 but they just become different between ATOM (React and React Native) and... 32:22 – David: Why would a company cancel something only have 1 season? (Clears throat...Fox!) 32:58 – Eric: I open very large files with Sublime. Sublime handles this very easily. This goes back to: why am I opening up very large files? 33:31 – David: It’s a log file don’t lie. 33:40 – David: What browser do you use? Safari? 34:03 – Eric: Safari is nice for non-developers. Safari is lightweight and very fast. I have been a browser whore. I go from bedroom to bedroom from Opera to Firefox to Chrome. I fall into the Chrome field though. I have a problem with Chrome, though, and that it knows me too well. Google can sell my data and they do. 37:14 – David: With BRAVE, weren’t they doing something with the block chain and bit coin to reward you for browsing? 37:38 – Eric: Yeah I think that’s being run by... 38:03 – David: I still use CHROME b/c I like the extensions. It’s important to know why you are picking a certain browser. When you are talking about development you need to know who your target audience is. What kind of apps do you use? 39:54 – Eric: It’s interesting to see how much traffic the Android Browser gets. You want to switch over to other parts? For my tech software...I use Polymail.io for email. I use THINGS to keep me on-track, I use SLACK, BRAVE BROSWER, iTerm3 and MERT. I use FANTASTICO (calendar), and I use BEAR (for my note taking). What about you? 41:21 – David: I use iTerm3, too. I’m on 3 different Slack channels. I have been using DISCORD. Other tools that I use are SPECTACLE (extension) among others. I try to keep it slim and simple, though. Another one is EasyRez (free download) and you can adjust the screen resolution on your desktop monitors. It’s important to target my audience better. I do like PARALLELS, too. 44:24 – David continues: Screenflow, Apple Motion, and Adobe After Effects CC. 45:04 – Eric: I use 1 PASSWORD and BETA BASE. 46:04 – David: Have you heard of Last Pass? 46:15 – Eric: Oh sure! I have been using though 1 Password and I guess there some loyalty there. 46:54 – David asks Eric a question about 1 Password about pricing. 47:12 – Eric: I want to pay with money than with something else. 47:23 – David: It’s owned by LogMeIn, and they have tons of experience with security. 48:00 – Eric: I am going to put an article here that compares all these different apps so you can see the similarities and differences side-by-side. 48:40 – David: Anything else? Banking passwords? 48:54 – Eric: Nah, I am excited to see where we are. I like Mojave for the desktop but I don’t like it for the constant number of resets that I’ve had to do. I love what I do. 49:34 – David: Yeah, I agree. I haven’t experienced any major setbacks, yet. 49:55 – Picks! 50:03 – Eric: I think this whole episode has been PICKS! 50:15 – Advertisement: Get A Coder Job! End – Cache Fly! Links: Get a Coder Job Course Ruby Rust Ruby Motion Ruby on Rails Angular React React Native Komodo Bestand Duet Atom.io EasyRez Polymail.io Docker Adobe After Effects CC LogMeIn Brave 1 Password iTerm3 VS CODE iPad Pro Last Pass GoDrive Mojave EMAX Back Blaze Discord Sublime Text AWS Cloud9 StatCounter GitHub: Mert Bear App Process.st Pi-Hole Sponsors: Sentry Cache Fly Fresh Books Picks: Dave ProxMox Pi-Hole Eric Open Source Funders
Panel: David Kimura Eric Berry In this episode of Ruby Rogues, the panelists talk amongst themselves about their favorite software, equipment, and apps. Both Eric and David thoroughly share their preferred picks within these categories, and they explain how and why they use the specified item. Check out today’s episode to hear more! Show Topics: 0:00 – Advertisement: Sentry.io 1:03 – David: Welcome! Today, Chuck is not feeling well. I am David and today we have Eric Berry on our panel today. It is just the two of us today. I want to talk about our development environment. What is your setup like? Do you have an office space and your hardware? 1:58 – Eric: I Have a room in my basement that has everything that I need. I do work from home. There is my guitar, my geek toys and more. For my hardware I am using 2017 MacBook Pro (16 GB of ram). The 13-inch is convenient, but I upgraded b/c I do a lot of traveling. I do pull the iPad out and use DUET. You no longer have to use a cord. I have a monitor that is 30-inches and it’s gorgeous. That is my hardware setup. I am not a mechanical keyboard guy, and I stick with the Apple super flat keyboard. I do use Bestand – it’s a holster for the keyboard and the track pad. What do you have? 4:35 – David: I have a Frankenstein setup. My needs change, over time, and when that changes my hardware changes. Back in the day I did not have a Mac and I used a Windows machine. I used to be a gamer, but then met my wife and then stopped b/c she didn’t like for me to waste time. My setup is more proper. I have a baseline iMac Pro b/c there was a great deal of $1,000 off. The other option was an iMac. I like the desktop b/c that’s where I do work – at home. It was a $4,000 investment. I am on my computer ALL the time it was worth it to me. I got the wall-mount for me, and I have more monitors wall-mounted, too. 8:00 – David: That is my monitor and computer setup. I have an eco-rhythmic keyboard b/c of childhood injuries. I have a really old Microsoft keyboard from 2005 something. It was cheap but I like the style of it. For my mouse I have a Logitech mouse. I love the feel of this thing. It has a side scroll left and right, and up and down. Especially when I am looking at code. It helps with my video editing, too. My mouse is my favorite to-date. I don’t have too much plugged into the Mac. I have a GoDrive, which has everything on it – my whole life’s work is on there. If there is ever an emergency I know to grab that. Back things up in case of an emergency would be my tips to you all. 11:40 – Eric: I have struggled with backing things up actually. The problem that I have is that I am constantly moving my laptop. I have this guilt and fear of doing it wrong. 12:33 – David: I have this work laptop – I don’t back that up every day. David gives Eric his suggestions in regards to backing files up. David mentions Back Blaze. 14:05 – Eric: That makes sense. I live in the Apple eco-system. I have my phone, watch, 40 iPads, laptop – everything backs up to the Cloud. The date we are recording this is 10/30/18. Apple just announced a new upgrade. I feel like this could compete with an actual laptop computer. Eric asks David a question. 15:35 – David: ...My main problem with that is that you might already have a developmental machine. It’s a stationary computer then it’s not feasible to take on the go. I do have an iPad Pro and I will take that on the go. I can login to my home network. BLINK – I used on my iPad Pro. David continues to talk about his setup. 19:00 – Eric: I kind of agree with you. I have seen it used quite a bit. My brother does everything online for his job. The pros are that if you are training, and his company is configured that way. The pros is that you can code from anywhere on anyone’s computer. I am glad that it DOES exist. It’s not Cloud9 but someone does offer... 20:20 – David: I think going to a solo screen does hurt my productivity – working on the iPad vs. working on the computer. I could get faster and faster but only to a certain degree. If you have the resources – then I don’t think it’s sustainable. However, if you don’t have the resources it’s better than nothing. At least you are coding and that’s important. 22:15 – Eric: I think of the audience we cater to with Ruby Rogues. I wonder if our listeners are strapped for cash or if they do have the resources to get the job done? 22:48 – David: If you don’t have a lot of money, you don’t have to buy a Mac. If Cloud hosting isn’t your thing there are different options. You have DOCKER, and use Windows as your main editor, and the WSL. I wanted to do a test – I bout a laptop for $500-$700 and you can get away with doing what you need to do. Learning how to program and code with what you have is great! 25:00 – Advertisement – Fresh Books! 26:05 – Eric: Let’s talk about the software developer environment. Nate Hopkins isn’t on today, but you can’t change his mind – I am VEM all the way. I think Cuck is EMAX. 26:43 – Eric: What do you do? 26:45 – David: I use VS code. David talks about the benefits of using VS code. 27:37 – Eric: Yes, 100%. I met the lead engineer behind VS code. They just made a new announcement. I have been using VS code for quite a while now. The integrated terminal and other features are awesome. Pulling me out of Sublime Text was a really, really hard thing for me. 29:28 – David: Sublime text, yes, but I got tired of the 40-year long beta, and the lack of expanding it, too. VS code has won my heart over. 30:53 – Eric: My guess is that they are going to leave it alone. I am sure they will connect the 2 teams. Think of how much work has gone into ATOM. That would be a hard pill to swallow. 31:20 – David: At the end of the day, though, it is a company. You don’t need 2 different editors when they do the same thing. 31:40 – Eric: I would have to disagree with you. Maybe they won’t merge the 2 but they just become different between ATOM (React and React Native) and... 32:22 – David: Why would a company cancel something only have 1 season? (Clears throat...Fox!) 32:58 – Eric: I open very large files with Sublime. Sublime handles this very easily. This goes back to: why am I opening up very large files? 33:31 – David: It’s a log file don’t lie. 33:40 – David: What browser do you use? Safari? 34:03 – Eric: Safari is nice for non-developers. Safari is lightweight and very fast. I have been a browser whore. I go from bedroom to bedroom from Opera to Firefox to Chrome. I fall into the Chrome field though. I have a problem with Chrome, though, and that it knows me too well. Google can sell my data and they do. 37:14 – David: With BRAVE, weren’t they doing something with the block chain and bit coin to reward you for browsing? 37:38 – Eric: Yeah I think that’s being run by... 38:03 – David: I still use CHROME b/c I like the extensions. It’s important to know why you are picking a certain browser. When you are talking about development you need to know who your target audience is. What kind of apps do you use? 39:54 – Eric: It’s interesting to see how much traffic the Android Browser gets. You want to switch over to other parts? For my tech software...I use Polymail.io for email. I use THINGS to keep me on-track, I use SLACK, BRAVE BROSWER, iTerm3 and MERT. I use FANTASTICO (calendar), and I use BEAR (for my note taking). What about you? 41:21 – David: I use iTerm3, too. I’m on 3 different Slack channels. I have been using DISCORD. Other tools that I use are SPECTACLE (extension) among others. I try to keep it slim and simple, though. Another one is EasyRez (free download) and you can adjust the screen resolution on your desktop monitors. It’s important to target my audience better. I do like PARALLELS, too. 44:24 – David continues: Screenflow, Apple Motion, and Adobe After Effects CC. 45:04 – Eric: I use 1 PASSWORD and BETA BASE. 46:04 – David: Have you heard of Last Pass? 46:15 – Eric: Oh sure! I have been using though 1 Password and I guess there some loyalty there. 46:54 – David asks Eric a question about 1 Password about pricing. 47:12 – Eric: I want to pay with money than with something else. 47:23 – David: It’s owned by LogMeIn, and they have tons of experience with security. 48:00 – Eric: I am going to put an article here that compares all these different apps so you can see the similarities and differences side-by-side. 48:40 – David: Anything else? Banking passwords? 48:54 – Eric: Nah, I am excited to see where we are. I like Mojave for the desktop but I don’t like it for the constant number of resets that I’ve had to do. I love what I do. 49:34 – David: Yeah, I agree. I haven’t experienced any major setbacks, yet. 49:55 – Picks! 50:03 – Eric: I think this whole episode has been PICKS! 50:15 – Advertisement: Get A Coder Job! End – Cache Fly! Links: Get a Coder Job Course Ruby Rust Ruby Motion Ruby on Rails Angular React React Native Komodo Bestand Duet Atom.io EasyRez Polymail.io Docker Adobe After Effects CC LogMeIn Brave 1 Password iTerm3 VS CODE iPad Pro Last Pass GoDrive Mojave EMAX Back Blaze Discord Sublime Text AWS Cloud9 StatCounter GitHub: Mert Bear App Process.st Pi-Hole Sponsors: Sentry Cache Fly Fresh Books Picks: Dave ProxMox Pi-Hole Eric Open Source Funders
Panel: David Kimura Eric Berry In this episode of Ruby Rogues, the panelists talk amongst themselves about their favorite software, equipment, and apps. Both Eric and David thoroughly share their preferred picks within these categories, and they explain how and why they use the specified item. Check out today’s episode to hear more! Show Topics: 0:00 – Advertisement: Sentry.io 1:03 – David: Welcome! Today, Chuck is not feeling well. I am David and today we have Eric Berry on our panel today. It is just the two of us today. I want to talk about our development environment. What is your setup like? Do you have an office space and your hardware? 1:58 – Eric: I Have a room in my basement that has everything that I need. I do work from home. There is my guitar, my geek toys and more. For my hardware I am using 2017 MacBook Pro (16 GB of ram). The 13-inch is convenient, but I upgraded b/c I do a lot of traveling. I do pull the iPad out and use DUET. You no longer have to use a cord. I have a monitor that is 30-inches and it’s gorgeous. That is my hardware setup. I am not a mechanical keyboard guy, and I stick with the Apple super flat keyboard. I do use Bestand – it’s a holster for the keyboard and the track pad. What do you have? 4:35 – David: I have a Frankenstein setup. My needs change, over time, and when that changes my hardware changes. Back in the day I did not have a Mac and I used a Windows machine. I used to be a gamer, but then met my wife and then stopped b/c she didn’t like for me to waste time. My setup is more proper. I have a baseline iMac Pro b/c there was a great deal of $1,000 off. The other option was an iMac. I like the desktop b/c that’s where I do work – at home. It was a $4,000 investment. I am on my computer ALL the time it was worth it to me. I got the wall-mount for me, and I have more monitors wall-mounted, too. 8:00 – David: That is my monitor and computer setup. I have an eco-rhythmic keyboard b/c of childhood injuries. I have a really old Microsoft keyboard from 2005 something. It was cheap but I like the style of it. For my mouse I have a Logitech mouse. I love the feel of this thing. It has a side scroll left and right, and up and down. Especially when I am looking at code. It helps with my video editing, too. My mouse is my favorite to-date. I don’t have too much plugged into the Mac. I have a GoDrive, which has everything on it – my whole life’s work is on there. If there is ever an emergency I know to grab that. Back things up in case of an emergency would be my tips to you all. 11:40 – Eric: I have struggled with backing things up actually. The problem that I have is that I am constantly moving my laptop. I have this guilt and fear of doing it wrong. 12:33 – David: I have this work laptop – I don’t back that up every day. David gives Eric his suggestions in regards to backing files up. David mentions Back Blaze. 14:05 – Eric: That makes sense. I live in the Apple eco-system. I have my phone, watch, 40 iPads, laptop – everything backs up to the Cloud. The date we are recording this is 10/30/18. Apple just announced a new upgrade. I feel like this could compete with an actual laptop computer. Eric asks David a question. 15:35 – David: ...My main problem with that is that you might already have a developmental machine. It’s a stationary computer then it’s not feasible to take on the go. I do have an iPad Pro and I will take that on the go. I can login to my home network. BLINK – I used on my iPad Pro. David continues to talk about his setup. 19:00 – Eric: I kind of agree with you. I have seen it used quite a bit. My brother does everything online for his job. The pros are that if you are training, and his company is configured that way. The pros is that you can code from anywhere on anyone’s computer. I am glad that it DOES exist. It’s not Cloud9 but someone does offer... 20:20 – David: I think going to a solo screen does hurt my productivity – working on the iPad vs. working on the computer. I could get faster and faster but only to a certain degree. If you have the resources – then I don’t think it’s sustainable. However, if you don’t have the resources it’s better than nothing. At least you are coding and that’s important. 22:15 – Eric: I think of the audience we cater to with Ruby Rogues. I wonder if our listeners are strapped for cash or if they do have the resources to get the job done? 22:48 – David: If you don’t have a lot of money, you don’t have to buy a Mac. If Cloud hosting isn’t your thing there are different options. You have DOCKER, and use Windows as your main editor, and the WSL. I wanted to do a test – I bout a laptop for $500-$700 and you can get away with doing what you need to do. Learning how to program and code with what you have is great! 25:00 – Advertisement – Fresh Books! 26:05 – Eric: Let’s talk about the software developer environment. Nate Hopkins isn’t on today, but you can’t change his mind – I am VEM all the way. I think Cuck is EMAX. 26:43 – Eric: What do you do? 26:45 – David: I use VS code. David talks about the benefits of using VS code. 27:37 – Eric: Yes, 100%. I met the lead engineer behind VS code. They just made a new announcement. I have been using VS code for quite a while now. The integrated terminal and other features are awesome. Pulling me out of Sublime Text was a really, really hard thing for me. 29:28 – David: Sublime text, yes, but I got tired of the 40-year long beta, and the lack of expanding it, too. VS code has won my heart over. 30:53 – Eric: My guess is that they are going to leave it alone. I am sure they will connect the 2 teams. Think of how much work has gone into ATOM. That would be a hard pill to swallow. 31:20 – David: At the end of the day, though, it is a company. You don’t need 2 different editors when they do the same thing. 31:40 – Eric: I would have to disagree with you. Maybe they won’t merge the 2 but they just become different between ATOM (React and React Native) and... 32:22 – David: Why would a company cancel something only have 1 season? (Clears throat...Fox!) 32:58 – Eric: I open very large files with Sublime. Sublime handles this very easily. This goes back to: why am I opening up very large files? 33:31 – David: It’s a log file don’t lie. 33:40 – David: What browser do you use? Safari? 34:03 – Eric: Safari is nice for non-developers. Safari is lightweight and very fast. I have been a browser whore. I go from bedroom to bedroom from Opera to Firefox to Chrome. I fall into the Chrome field though. I have a problem with Chrome, though, and that it knows me too well. Google can sell my data and they do. 37:14 – David: With BRAVE, weren’t they doing something with the block chain and bit coin to reward you for browsing? 37:38 – Eric: Yeah I think that’s being run by... 38:03 – David: I still use CHROME b/c I like the extensions. It’s important to know why you are picking a certain browser. When you are talking about development you need to know who your target audience is. What kind of apps do you use? 39:54 – Eric: It’s interesting to see how much traffic the Android Browser gets. You want to switch over to other parts? For my tech software...I use Polymail.io for email. I use THINGS to keep me on-track, I use SLACK, BRAVE BROSWER, iTerm3 and MERT. I use FANTASTICO (calendar), and I use BEAR (for my note taking). What about you? 41:21 – David: I use iTerm3, too. I’m on 3 different Slack channels. I have been using DISCORD. Other tools that I use are SPECTACLE (extension) among others. I try to keep it slim and simple, though. Another one is EasyRez (free download) and you can adjust the screen resolution on your desktop monitors. It’s important to target my audience better. I do like PARALLELS, too. 44:24 – David continues: Screenflow, Apple Motion, and Adobe After Effects CC. 45:04 – Eric: I use 1 PASSWORD and BETA BASE. 46:04 – David: Have you heard of Last Pass? 46:15 – Eric: Oh sure! I have been using though 1 Password and I guess there some loyalty there. 46:54 – David asks Eric a question about 1 Password about pricing. 47:12 – Eric: I want to pay with money than with something else. 47:23 – David: It’s owned by LogMeIn, and they have tons of experience with security. 48:00 – Eric: I am going to put an article here that compares all these different apps so you can see the similarities and differences side-by-side. 48:40 – David: Anything else? Banking passwords? 48:54 – Eric: Nah, I am excited to see where we are. I like Mojave for the desktop but I don’t like it for the constant number of resets that I’ve had to do. I love what I do. 49:34 – David: Yeah, I agree. I haven’t experienced any major setbacks, yet. 49:55 – Picks! 50:03 – Eric: I think this whole episode has been PICKS! 50:15 – Advertisement: Get A Coder Job! End – Cache Fly! Links: Get a Coder Job Course Ruby Rust Ruby Motion Ruby on Rails Angular React React Native Komodo Bestand Duet Atom.io EasyRez Polymail.io Docker Adobe After Effects CC LogMeIn Brave 1 Password iTerm3 VS CODE iPad Pro Last Pass GoDrive Mojave EMAX Back Blaze Discord Sublime Text AWS Cloud9 StatCounter GitHub: Mert Bear App Process.st Pi-Hole Sponsors: Sentry Cache Fly Fresh Books Picks: Dave ProxMox Pi-Hole Eric Open Source Funders
Panel: Mark Ericksen Josh Adams Special Guest: Pete Corey In this episode of Elixir Mix, the panel talks with Pete Corey who is a software developer who resides in Denver, CO (USA). He uses Node, React, and Elixir and currently is working on two big projects. Listen to today’s episode to hear the panelists and Pete talk about Elixir, Node, Bitcoin, and Gen_TCP. Check it out! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:50 – Mark: Welcome! Our panel is Josh Adams and our guest is Pete Corey! Pete, can you tell people about yourself? 1:12 – Guest: I am a software developer and I run a web development consultancy company. I use Node and React, and I use Elixir in my free time, and I blog about that and various projects. 1:38 – Mark: How did you get into Elixir? 1:40 – Guest: Node has its limitations. I found myself not understanding concurrency at all. I saw Elixir and I came around to it when it was around its 1.0 era. I have been hooked ever since. 2:43 – Josh asks a question. 3:00 – Guest. 3:42 – Josh: Yeah it felt like I was putting a s 4:03 – Mark: Letting the mantra of letting it fail or let it crash. How do I recover? You are mentioning about your Node situation that you have these complex situations and how do I get back to a good running state. That’s what I like about Elixir. I’m more concerned: how do I get back to a good running state. It’s a mental shift and I really appreciate it. Instead of worrying about this half, I am focusing more on how do I use it to make it run smoothly? 5:20 – Guest: I totally agree. Learning Elixir has really flipped my mind about developing. I know failure happens – figure it how it fails and then anticipating HOW they might fail to make things easier. In terms of bigger projects... The guest talks about the BIG project he is working on now! Listen here! 7:40 – Panel: That sounds cool! Are you building this by yourself or with other people? 7:54 – Guest: It’s a solo project and I want to keep it that way. I was into Bitcoin before and I bought Mastering Bitcoin. Started working through that – how to go through private keys and things like that. 8:40 – Panel: I think that it’s great that you are SHARING through the process. I think that’s awesome and you are showing what you are learning and the pitfalls and the gains. 9:11 – Guest: It’s been a learning process with pattern matching. 10:20 – Panel. 10:30 – Guest talks about bytes. 10:59 – Panel: One of the first things I did in Elixir was... 11:27 – Guest: ...moving bytes around and moving integers and things like that. Elixir is much nicer! 11:40 – Panel: Can you talk about Gen TCP, please? 11:55 – Guest: A goal of my project tis to dig into the underlining Erlang properties. I think it’s a shame that people don’t explore this. The guest talks about what Gen TCP is! 13:38 – Panel: I like using Gen TCP. 13:54 – Guest: Every problem that I had boiled down to my lack of knowledge. 14:29 – Panel: What do you mean: it worked out better? 14:35 – Guest: My Gen TCP connection would pass to the...the issue is that Gen TCP is a streaming protocol. It might contain multiple packets or 1½ packets, etc. Every time I received some data I would impend it to a buffer and I would look for head eliminators. After that would be the packet length and I would split that number of bytes from the original buffer. That’s hard to explain, but... The guest talks about a solution!! 16:21 – Panel: I think there are a few great points there. One, Erlang has a lot of rich history. What are available through Erlang already? Join the Elixir Slack Channel! 17:34 – Panel: Sounds like you are using property testing? I think that’s cool – I want to spend more time digging into this! What is it? 18:00 – Guest: It is pretty cool and new to me. The guest talks about unit testing and then property testing. 20:20 – Panel: What kind of experience have you had? 20:40 – Fresh Books! 21:48 – Guest: The one place where I am using property testing is... 23:41 – Panel: That’s awesome. I want to get into it more. 23:50 – Guest: Once I get going it falls together pretty easily. It’s hard to come up with the properties that I want to test. 24:11 – Guest: It’s far more eye opening than unit testing. When you have to think about these fundamental properties you see in a different light. 24:33 – Panel: I am dropping in a link to your blog articles that you tagged. Is there anything else you want to say about your project? 24:55 – Guest: It’s an ongoing project. I haven’t actually implemented the meat of the project, yet. Please stay tuned! 25:25 – Panel: Is it your website: petecorey.com? 25:35 – Guest: Yes www.petecorey/blog.com and my newsletter! 25:47 – Panel. 25:55 – Guest asks a question. 26:05 – Panel. 26:12 – Panel: What else to talk about? 26:40 – Guest: There is another project to talk about and it’s about guitar chords and things like that; if you want? 26:57 – Panel: Yeah, generating music with Elixir is simple. I know you did the distance between chords thing? What else is super cool about it? 27:27 – Guest: It programmatically generates these guitar chords. The coolest piece is the algorithm all of guitar fingers for a guitar chord and fret this fret, etc. Then I can take the chord with a specific fingering and measure the distance. 28:30 – Panel: Have you seen Google Wave Net? It’s fairly recent. 28:39 – Guest: Is it related to Google Labs? 28:47 – Panel: I doubt it. 29:18 – Guest: Very cool, but I don’t have the AI chops. 29:26 – Panel. 29:29 – Guest: Yeah it works my brain a bit. 29:40 – Guest: Yeah I play too much guitar. I had enough money to buy my own guitar and amp. 29:54 – Panel: Talk about the chord charts. I was looking for the word: tablature! END – Ad: Lootcrate.com Links: Ruby Elixir Elm Atom.io Flutter.io JavaScript Visual Studio Code React Bitcoin Gen_TCP Stream Data Bitcoin YECC LEEX Music Rustler ElixirWeekly Jsonnet Ksonnet Pete Corey’s Blog Pete Corey’s Twitter Secure Meteor Grafonnet-lib Prometheus-operator The Sparrow Sponsors: Loot Crate Get a Coder Job! Fresh Books Cache Fly Picks: Josh JSonnet KSonnet Grafonnet Prometheus Operator Mark HSTR Pete The Sarrow
Panel: Aaron Frost Brian Love Special Guest: Amir Tugendhaft In this episode, Aaron and Brian talk with Amir Tugendhaft who is a web developer who is located in Israel. He finds much gratification developing and building things from scratch. Check out today’s episode where Aaron, Brian, and Amir talk about just that. Other topics include UI Design, Flexbox, UX design, PrimeNG, and ag-Grid. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:52 – Host: Welcome! Today’s panel is myself, Brian, and our guest is Amir Tugendhaft! 1:13 – Guest: I am a developer and experience with Angular and React. 1:56 – Host: You spend your days/nights there? 2:03 – Panel: He is committed. 2:08 – Host: I am going to back up a second, and Brian could you please introduce yourself, please? 2:26 – Brian: I am the CETO at an Angular consulting firm (Denver, CO). We have the pleasure with working with Aaron from time-to-time. My Twitter handle is @brian_love – check it out! 2:52 – Host: What is CETO stand for? 2:59 – Brian answers the question. Brian: I oversee the crew among other things. 3:31 – Host: What do you want to talk about today, Amir? You are the guest of honor today! 3:40 – Guest. 4:00 – Host: That is a lot of information – that might be more than 1 episode. We have to stay focused! 4:14 – Host: I read one of your recent blogs about Cross Filled Violators. I met you through your blog before we did the Host: Give us your own ideas about starting your own app. 4:50 – Guest answers the question. 6:17 – Host: I am biased. But here is a fact. I used to work on a large team (60 people) and everyone committing to the same page app. We were using Angular.js 1.5, which I think they are still using that. I know that it worked but it wasn’t the easiest or fastest one to maintain, but it worked. 7:05 – Brian. 7:10 – Host: What are you trying to do? React doesn’t fulfill that need. I think you are being hyperballic and using extreme cases as the norm. Let’s be honest: we do cool stuff with jQuery plugins when we didn’t have a framework. When they say that the framework is stopping them then I say: I agree to disagree. 8:00 – Host: What do you think, Amir? 8:04 – Guest: I don’t have preferences. I try to build applications through the technologies and create components and simple applications. 8:30 – Brian. 8:33 – Guest: You create the component, and then... 9:21 – Brian: You don’t have to have a template file and another file – right? 9:35 – Guest. 9:48 – Host: I do in-line styles and in-line templates. One thing I learned from React is that I like my HTML, style and code. I like it being the same file as my component. I like that about that: I like single file components. This promotes getting frustrated if it gets too big. Yeah if it’s more than 500 lines than you have to simplify. That’s one of the things that l like. 10:47 – Brian: Modules versus... 10:55 – Guest. 11:07 – Host: I think in React and Vue you have the word module but in JavaScript you have a file that exports... 11:26 – Host: I have my opinion here and talking with Joe. He made a good point: at a certain level the frontend frameworks are the same. You could be doing different things but they basically do the same thing. 13:57 – Guest: Basically what that means is that the technology used it will do the same thing. Your patterns and practices are huge. 14:17 – Brian: If you are talking about the 3 popular frameworks out there – they are basically doing the same thing. I like Angular a little big more, though. Like you said, Aaron, people tend to pick the same one. I like the opinionated things about Angular. You get properties, components or called props or inputs you are getting a lot of the same features. It comes down to your personal preference. 15:31 – Host: What else Amir? 15:35 – Guest: Let’s talk about the UI. 16:05 – Brian. 16:08 – Guest asks a question. 16:25 – Brian: How have you tackled this problem? 16:34 – Guest: I kind of ran with it. If there wasn’t something that I liked I started from scratch, because it really didn’t feel right. 16:51 – Brian: I am an enemy of starting over type of thing. You have a lot of engineers who START projects, and they can say that they start this piece, but the experts and choice team members have what it takes to ship a feature. I mean fully ship it, not just 80%, but also the final 20%. I think it takes a lot of pose decision making to say I want to rewrite it but not right now. I still need to ship this code. I have always been a bigger fan as not rewriting as much as possible; however, if you started with good patterns then that’s true, but if you are starting off with bad patterns then maybe yes. I like that opinion b/c you have to start right. Brian: How do you do your CSS? 19:05 – Guest. 19:52 – Advertisement: Get A Coder Job! 20:30 – Brian: How do you make those decisions, Amir? 20:39 – Guest: I see something that I like and ask myself how do I apply this to my design and I start scaling things. 21:50 – Host: Are you using a tool like Sketch for your initial UI design? 22:05 – Guest. 22:54 – Host: I worked on a project where the client had a designer (UX). 24:00 – Host and Guest go back-and-forth. 24:51 – Host: I am sure it’s all about the quality from your designer, too. Hopefully it works well for you and it’s quality. 25:18 – Host: There is a lot to building an app from scratch. I am not a good designer. I am not a designer – I mean straight-up. I got nothing. I appreciate team members that can do that. 26:06 – Guest: Do you write...? 26:35 – Host: Only on the most recent project. The designer didn’t own the HTML CSS but he initially wrote it and then gave it to me and now I own it, and it’s in components. If he wants updates then I have to go and make changes b/c he doesn’t know Angular. If it’s a sketch or a PNG you have to make it look like that. That’s what most of my career has been. Host: HTML and CSS got me 762x easier once Flexbox came around! I know there is a decimal there! 28:23 – Host talks about Flexbox some more. 28:42 – Guest asks a question. 28:50 – Host: I suppose if I really had heavy needs for a table then I would try CSS grid could solve some problems. I might just use a styled table. 29:12 – Brian: ag-Grid or something else. 29:21 – Host: On this recent project...I’ve used in-house design and other things. If I ever needed a table it was there. I don’t rebuild components b/c that can get expensive for me. 30:50 – Brian: Accessibility. 31:00 – Host: Your upgrade just got 10x harder b/c you own the component loop. I really don’t build tables or drop-downs. Only way is if I really need to build it for a specific request. 31:30 – Brian. 31:58 – Host: Let me give you an example. You can think I am crazy, but a designer gave me a drop-down but he told me to use PrimeNG. I had the chose of building my own drop-down or the designer has to accept whatever they gave him. I made the UI make what he wanted and I made the drop-down zero capacity and then... Host: When you click on what you see you are clicking on the... Host: Does that make sense? 33:35 – Guest. 33:50 – Host. 34:25 – Brian: That is interesting; remember when... 34:58 – Host: We will send this episode to Jeremy – come on Jeremy! Any last ideas? Let’s move onto picks! 35:20 – Advertisement – Fresh Books! 30-day free trial! END – Advertisement – Cache Fly! Links: Vue jQuery Angular React C# What is a UX Design? UI Design Flexbox Sketch ag-Grid PrimeNG Brian Love’s Twitter Aaron Frost’s Medium Amir’s Medium Amir’s Twitter Amir’s GitHub Amir’s LinkedIn Amir’s Facebook Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Aaron Movie: “A Star Is Born” Concept - Model Driven Forms Amir Puppeteer Arrow Function Converter Brian TV Series: “The 100” Angular Schematics
Panel: Aaron Frost Brian Love Special Guest: Amir Tugendhaft In this episode, Aaron and Brian talk with Amir Tugendhaft who is a web developer who is located in Israel. He finds much gratification developing and building things from scratch. Check out today’s episode where Aaron, Brian, and Amir talk about just that. Other topics include UI Design, Flexbox, UX design, PrimeNG, and ag-Grid. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:52 – Host: Welcome! Today’s panel is myself, Brian, and our guest is Amir Tugendhaft! 1:13 – Guest: I am a developer and experience with Angular and React. 1:56 – Host: You spend your days/nights there? 2:03 – Panel: He is committed. 2:08 – Host: I am going to back up a second, and Brian could you please introduce yourself, please? 2:26 – Brian: I am the CETO at an Angular consulting firm (Denver, CO). We have the pleasure with working with Aaron from time-to-time. My Twitter handle is @brian_love – check it out! 2:52 – Host: What is CETO stand for? 2:59 – Brian answers the question. Brian: I oversee the crew among other things. 3:31 – Host: What do you want to talk about today, Amir? You are the guest of honor today! 3:40 – Guest. 4:00 – Host: That is a lot of information – that might be more than 1 episode. We have to stay focused! 4:14 – Host: I read one of your recent blogs about Cross Filled Violators. I met you through your blog before we did the Host: Give us your own ideas about starting your own app. 4:50 – Guest answers the question. 6:17 – Host: I am biased. But here is a fact. I used to work on a large team (60 people) and everyone committing to the same page app. We were using Angular.js 1.5, which I think they are still using that. I know that it worked but it wasn’t the easiest or fastest one to maintain, but it worked. 7:05 – Brian. 7:10 – Host: What are you trying to do? React doesn’t fulfill that need. I think you are being hyperballic and using extreme cases as the norm. Let’s be honest: we do cool stuff with jQuery plugins when we didn’t have a framework. When they say that the framework is stopping them then I say: I agree to disagree. 8:00 – Host: What do you think, Amir? 8:04 – Guest: I don’t have preferences. I try to build applications through the technologies and create components and simple applications. 8:30 – Brian. 8:33 – Guest: You create the component, and then... 9:21 – Brian: You don’t have to have a template file and another file – right? 9:35 – Guest. 9:48 – Host: I do in-line styles and in-line templates. One thing I learned from React is that I like my HTML, style and code. I like it being the same file as my component. I like that about that: I like single file components. This promotes getting frustrated if it gets too big. Yeah if it’s more than 500 lines than you have to simplify. That’s one of the things that l like. 10:47 – Brian: Modules versus... 10:55 – Guest. 11:07 – Host: I think in React and Vue you have the word module but in JavaScript you have a file that exports... 11:26 – Host: I have my opinion here and talking with Joe. He made a good point: at a certain level the frontend frameworks are the same. You could be doing different things but they basically do the same thing. 13:57 – Guest: Basically what that means is that the technology used it will do the same thing. Your patterns and practices are huge. 14:17 – Brian: If you are talking about the 3 popular frameworks out there – they are basically doing the same thing. I like Angular a little big more, though. Like you said, Aaron, people tend to pick the same one. I like the opinionated things about Angular. You get properties, components or called props or inputs you are getting a lot of the same features. It comes down to your personal preference. 15:31 – Host: What else Amir? 15:35 – Guest: Let’s talk about the UI. 16:05 – Brian. 16:08 – Guest asks a question. 16:25 – Brian: How have you tackled this problem? 16:34 – Guest: I kind of ran with it. If there wasn’t something that I liked I started from scratch, because it really didn’t feel right. 16:51 – Brian: I am an enemy of starting over type of thing. You have a lot of engineers who START projects, and they can say that they start this piece, but the experts and choice team members have what it takes to ship a feature. I mean fully ship it, not just 80%, but also the final 20%. I think it takes a lot of pose decision making to say I want to rewrite it but not right now. I still need to ship this code. I have always been a bigger fan as not rewriting as much as possible; however, if you started with good patterns then that’s true, but if you are starting off with bad patterns then maybe yes. I like that opinion b/c you have to start right. Brian: How do you do your CSS? 19:05 – Guest. 19:52 – Advertisement: Get A Coder Job! 20:30 – Brian: How do you make those decisions, Amir? 20:39 – Guest: I see something that I like and ask myself how do I apply this to my design and I start scaling things. 21:50 – Host: Are you using a tool like Sketch for your initial UI design? 22:05 – Guest. 22:54 – Host: I worked on a project where the client had a designer (UX). 24:00 – Host and Guest go back-and-forth. 24:51 – Host: I am sure it’s all about the quality from your designer, too. Hopefully it works well for you and it’s quality. 25:18 – Host: There is a lot to building an app from scratch. I am not a good designer. I am not a designer – I mean straight-up. I got nothing. I appreciate team members that can do that. 26:06 – Guest: Do you write...? 26:35 – Host: Only on the most recent project. The designer didn’t own the HTML CSS but he initially wrote it and then gave it to me and now I own it, and it’s in components. If he wants updates then I have to go and make changes b/c he doesn’t know Angular. If it’s a sketch or a PNG you have to make it look like that. That’s what most of my career has been. Host: HTML and CSS got me 762x easier once Flexbox came around! I know there is a decimal there! 28:23 – Host talks about Flexbox some more. 28:42 – Guest asks a question. 28:50 – Host: I suppose if I really had heavy needs for a table then I would try CSS grid could solve some problems. I might just use a styled table. 29:12 – Brian: ag-Grid or something else. 29:21 – Host: On this recent project...I’ve used in-house design and other things. If I ever needed a table it was there. I don’t rebuild components b/c that can get expensive for me. 30:50 – Brian: Accessibility. 31:00 – Host: Your upgrade just got 10x harder b/c you own the component loop. I really don’t build tables or drop-downs. Only way is if I really need to build it for a specific request. 31:30 – Brian. 31:58 – Host: Let me give you an example. You can think I am crazy, but a designer gave me a drop-down but he told me to use PrimeNG. I had the chose of building my own drop-down or the designer has to accept whatever they gave him. I made the UI make what he wanted and I made the drop-down zero capacity and then... Host: When you click on what you see you are clicking on the... Host: Does that make sense? 33:35 – Guest. 33:50 – Host. 34:25 – Brian: That is interesting; remember when... 34:58 – Host: We will send this episode to Jeremy – come on Jeremy! Any last ideas? Let’s move onto picks! 35:20 – Advertisement – Fresh Books! 30-day free trial! END – Advertisement – Cache Fly! Links: Vue jQuery Angular React C# What is a UX Design? UI Design Flexbox Sketch ag-Grid PrimeNG Brian Love’s Twitter Aaron Frost’s Medium Amir’s Medium Amir’s Twitter Amir’s GitHub Amir’s LinkedIn Amir’s Facebook Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Aaron Movie: “A Star Is Born” Concept - Model Driven Forms Amir Puppeteer Arrow Function Converter Brian TV Series: “The 100” Angular Schematics
Panel: Mark Ericksen Josh Adams Special Guest: Pete Corey In this episode of Elixir Mix, the panel talks with Pete Corey who is a software developer who resides in Denver, CO (USA). He uses Node, React, and Elixir and currently is working on two big projects. Listen to today’s episode to hear the panelists and Pete talk about Elixir, Node, Bitcoin, and Gen_TCP. Check it out! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:50 – Mark: Welcome! Our panel is Josh Adams and our guest is Pete Corey! Pete, can you tell people about yourself? 1:12 – Guest: I am a software developer and I run a web development consultancy company. I use Node and React, and I use Elixir in my free time, and I blog about that and various projects. 1:38 – Mark: How did you get into Elixir? 1:40 – Guest: Node has its limitations. I found myself not understanding concurrency at all. I saw Elixir and I came around to it when it was around its 1.0 era. I have been hooked ever since. 2:43 – Josh asks a question. 3:00 – Guest. 3:42 – Josh: Yeah it felt like I was putting a s 4:03 – Mark: Letting the mantra of letting it fail or let it crash. How do I recover? You are mentioning about your Node situation that you have these complex situations and how do I get back to a good running state. That’s what I like about Elixir. I’m more concerned: how do I get back to a good running state. It’s a mental shift and I really appreciate it. Instead of worrying about this half, I am focusing more on how do I use it to make it run smoothly? 5:20 – Guest: I totally agree. Learning Elixir has really flipped my mind about developing. I know failure happens – figure it how it fails and then anticipating HOW they might fail to make things easier. In terms of bigger projects... The guest talks about the BIG project he is working on now! Listen here! 7:40 – Panel: That sounds cool! Are you building this by yourself or with other people? 7:54 – Guest: It’s a solo project and I want to keep it that way. I was into Bitcoin before and I bought Mastering Bitcoin. Started working through that – how to go through private keys and things like that. 8:40 – Panel: I think that it’s great that you are SHARING through the process. I think that’s awesome and you are showing what you are learning and the pitfalls and the gains. 9:11 – Guest: It’s been a learning process with pattern matching. 10:20 – Panel. 10:30 – Guest talks about bytes. 10:59 – Panel: One of the first things I did in Elixir was... 11:27 – Guest: ...moving bytes around and moving integers and things like that. Elixir is much nicer! 11:40 – Panel: Can you talk about Gen TCP, please? 11:55 – Guest: A goal of my project tis to dig into the underlining Erlang properties. I think it’s a shame that people don’t explore this. The guest talks about what Gen TCP is! 13:38 – Panel: I like using Gen TCP. 13:54 – Guest: Every problem that I had boiled down to my lack of knowledge. 14:29 – Panel: What do you mean: it worked out better? 14:35 – Guest: My Gen TCP connection would pass to the...the issue is that Gen TCP is a streaming protocol. It might contain multiple packets or 1½ packets, etc. Every time I received some data I would impend it to a buffer and I would look for head eliminators. After that would be the packet length and I would split that number of bytes from the original buffer. That’s hard to explain, but... The guest talks about a solution!! 16:21 – Panel: I think there are a few great points there. One, Erlang has a lot of rich history. What are available through Erlang already? Join the Elixir Slack Channel! 17:34 – Panel: Sounds like you are using property testing? I think that’s cool – I want to spend more time digging into this! What is it? 18:00 – Guest: It is pretty cool and new to me. The guest talks about unit testing and then property testing. 20:20 – Panel: What kind of experience have you had? 20:40 – Fresh Books! 21:48 – Guest: The one place where I am using property testing is... 23:41 – Panel: That’s awesome. I want to get into it more. 23:50 – Guest: Once I get going it falls together pretty easily. It’s hard to come up with the properties that I want to test. 24:11 – Guest: It’s far more eye opening than unit testing. When you have to think about these fundamental properties you see in a different light. 24:33 – Panel: I am dropping in a link to your blog articles that you tagged. Is there anything else you want to say about your project? 24:55 – Guest: It’s an ongoing project. I haven’t actually implemented the meat of the project, yet. Please stay tuned! 25:25 – Panel: Is it your website: petecorey.com? 25:35 – Guest: Yes www.petecorey/blog.com and my newsletter! 25:47 – Panel. 25:55 – Guest asks a question. 26:05 – Panel. 26:12 – Panel: What else to talk about? 26:40 – Guest: There is another project to talk about and it’s about guitar chords and things like that; if you want? 26:57 – Panel: Yeah, generating music with Elixir is simple. I know you did the distance between chords thing? What else is super cool about it? 27:27 – Guest: It programmatically generates these guitar chords. The coolest piece is the algorithm all of guitar fingers for a guitar chord and fret this fret, etc. Then I can take the chord with a specific fingering and measure the distance. 28:30 – Panel: Have you seen Google Wave Net? It’s fairly recent. 28:39 – Guest: Is it related to Google Labs? 28:47 – Panel: I doubt it. 29:18 – Guest: Very cool, but I don’t have the AI chops. 29:26 – Panel. 29:29 – Guest: Yeah it works my brain a bit. 29:40 – Guest: Yeah I play too much guitar. I had enough money to buy my own guitar and amp. 29:54 – Panel: Talk about the chord charts. I was looking for the word: tablature! END – Ad: Lootcrate.com Links: Ruby Elixir Elm Atom.io Flutter.io JavaScript Visual Studio Code React Bitcoin Gen_TCP Stream Data Bitcoin YECC LEEX Music Rustler ElixirWeekly Jsonnet Ksonnet Pete Corey’s Blog Pete Corey’s Twitter Secure Meteor Grafonnet-lib Prometheus-operator The Sparrow Sponsors: Loot Crate Get a Coder Job! Fresh Books Cache Fly Picks: Josh JSonnet KSonnet Grafonnet Prometheus Operator Mark HSTR Pete The Sarrow
Panel: Charles Max Wood Guest: Chris McKnight This week on My JavaScript Story, Charles speaks with Chris McKnight who is a software developer who knows Angular, Ruby, Node.js, and iOS. He went to college at Louisiana State University and graduated with a computer science degree from LSU. They talk about Chris’ background, past/current projects, among other things. Check out today’s episode to hear the panel talk about JavaScript, Angular, C and C++, Node, React, and much more! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 1:12 – Chuck: Hello! Introduce yourself, please! 1:15 – Guest: I am a software engineer outside of Nashville, Tennessee. I work for a medium consultancy company. I know JavaScript, Angular, NativeScript, and JS, too. 1:41 – Chuck: Cool! Tell us your story and how you got into programming? 2:00 – Guest: I was a really big nerd in high school and grew up in Louisiana, USA. There was one other person in the school that knew what I was talking about. I was learning C++ and Visual Studio in 2003. That was really back in the day and Microsoft Foundation class was a thing. I moved onto PHP and started working for a company in Baton Rouge after graduating college. I have a computer science degree with a secondary discipline in mathematics. I graduated from LSU and got a job offer before I graduated. Doing some part-time work for them b/c they were swamped. I was writing PHP and they said that they used jQuery a lot. 4:47 – Chuck: You got started and you said you used C and C++, why those languages? 5:05 – Guest: I did a little bit of Java, but it was the “new kid on the block.” I wanted to get into a program that was user-friendlier. 6:21 – Chuck: I took C and C++ classes in college. Eventually I did Ruby on Rails. I totally understand why you went that way. 6:44 – Guest: I picked-up Rails, because a company (that I worked for at the time) used it. I usually reached for jQuery among other options. 7:31 – Chuck: When did you start taking JavaScript seriously? 7:40 – Guest: 2012-2013. Frustrations of not using JavaScript as good as I could. For jQuery you have to call when you have an issue. Then you run into all of these bugs, and... 9:18 – Chuck: It sounds like it was more out of necessity. 9:30 – Guest: Yep, exactly. Those pain points have been reduced b/c I have been using Type Script and Angular and now version 6 and version 7. You try to call a number method on a string and vice versa, and app development time. 10:03 – Chuck: ...it has a process running with it. 10:13 – Guest: Catching a lot of those easy mistakes (bugs) and it’s a 5-10 minute fix. It takes a lot of that away. Sometimes you can say: I want to ignore it. Or it doesn’t give you runtime guarantees. Some other libraries out there have been on the forefront of fixing those problems. REST TYPE is an example of that. 11:39 – Chuck: When I talk to people about JavaScript a lot of times I get basically that they are saying: I started doing more things in Node or React – I fell in love with the language. Your reasons for starting JavaScript are because “I hated running into these problems.” Did you start loving to work in JavaScript? 12:11 – Guest: I did start loving it but it took a while. I could write a short amount of code and then at the end I get a result. Another thing that bothers me is FILTER. What does it return? It’s actually FIND and FIND INDEX and you use the pattern of filter and run this expression and give me index zero. 14:16 – Chuck: What work have you done that you are proud of? 14:20 – Guest: I started a new job last month; beforehand I worked at a mortgage company. I was proud of the Angular application and applications that I worked on. 16:55 – Chuck: How did you get into Angular? 17:00 – Guest: Interesting story. October of 2016 – at this time I was all against Angular. However someone came to me and said we have to... At the time I wasn’t impressed with the language. I learned about Angular at the time, though, and learned through Egghead. I learned a lot in 2 days, and I got pretty decent at it. I was writing Angular applications pretty quickly, and it made sense to me. 20:53 – Chuck: I am a fan of the CLI b/c that’s what we have in Rails. It’s really nice. What are you working on these days? 21:13 – Guest: Less on Angular b/c of the new job. I will do Angular on my free time. I work on Angular at nighttime. I build some things in React these past few weeks. 23:07 – Chuck: Any part of your experience that could help people? 23:17 – Guest: Learn what’s happening under the hood of libraries such as jQuery. Explore and find resources to help you. Keep learning and keep at it. Tools are so god now – such as Prettier and Lint – they will tell me “you don’t want to do this.” Use the tooling and learn the fundamentals. Also, use Babel! Those are my tips of advice. 25:55 – Chuck: That’s solid. Yes, the fundamentals and the poly-fills will fill in the gaps. So now it’s: what do I want to stack on top of this? Once you know the fundamentals. 26:55 – Guest: Learn what the frameworks and libraries are doing. Don’t get overwhelmed. That’s my advice. 28:16 – Chuck: Where can people find you? 28:24 – Guest: GitHub and Twitter. I’ve been working on a website, but not ready, yet. 29:08 – Chuck: Picks! 29:15 – Advertisement – Fresh Books! 30-Day Trial! 35:45 – Cache Fly Links: React Angular Vue.js JavaScript Ember Elm jQuery Node Find and Find Index NativeScript Lint Babel Prettier Christopher’s GitHub Christopher’s Twitter Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Chris Angular Explorer VS Code Finance – Staying out of Debt – Swish App Chuck Discord DomiNations
Panel: Charles Max Wood Guest: Chris McKnight This week on My JavaScript Story, Charles speaks with Chris McKnight who is a software developer who knows Angular, Ruby, Node.js, and iOS. He went to college at Louisiana State University and graduated with a computer science degree from LSU. They talk about Chris’ background, past/current projects, among other things. Check out today’s episode to hear the panel talk about JavaScript, Angular, C and C++, Node, React, and much more! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 1:12 – Chuck: Hello! Introduce yourself, please! 1:15 – Guest: I am a software engineer outside of Nashville, Tennessee. I work for a medium consultancy company. I know JavaScript, Angular, NativeScript, and JS, too. 1:41 – Chuck: Cool! Tell us your story and how you got into programming? 2:00 – Guest: I was a really big nerd in high school and grew up in Louisiana, USA. There was one other person in the school that knew what I was talking about. I was learning C++ and Visual Studio in 2003. That was really back in the day and Microsoft Foundation class was a thing. I moved onto PHP and started working for a company in Baton Rouge after graduating college. I have a computer science degree with a secondary discipline in mathematics. I graduated from LSU and got a job offer before I graduated. Doing some part-time work for them b/c they were swamped. I was writing PHP and they said that they used jQuery a lot. 4:47 – Chuck: You got started and you said you used C and C++, why those languages? 5:05 – Guest: I did a little bit of Java, but it was the “new kid on the block.” I wanted to get into a program that was user-friendlier. 6:21 – Chuck: I took C and C++ classes in college. Eventually I did Ruby on Rails. I totally understand why you went that way. 6:44 – Guest: I picked-up Rails, because a company (that I worked for at the time) used it. I usually reached for jQuery among other options. 7:31 – Chuck: When did you start taking JavaScript seriously? 7:40 – Guest: 2012-2013. Frustrations of not using JavaScript as good as I could. For jQuery you have to call when you have an issue. Then you run into all of these bugs, and... 9:18 – Chuck: It sounds like it was more out of necessity. 9:30 – Guest: Yep, exactly. Those pain points have been reduced b/c I have been using Type Script and Angular and now version 6 and version 7. You try to call a number method on a string and vice versa, and app development time. 10:03 – Chuck: ...it has a process running with it. 10:13 – Guest: Catching a lot of those easy mistakes (bugs) and it’s a 5-10 minute fix. It takes a lot of that away. Sometimes you can say: I want to ignore it. Or it doesn’t give you runtime guarantees. Some other libraries out there have been on the forefront of fixing those problems. REST TYPE is an example of that. 11:39 – Chuck: When I talk to people about JavaScript a lot of times I get basically that they are saying: I started doing more things in Node or React – I fell in love with the language. Your reasons for starting JavaScript are because “I hated running into these problems.” Did you start loving to work in JavaScript? 12:11 – Guest: I did start loving it but it took a while. I could write a short amount of code and then at the end I get a result. Another thing that bothers me is FILTER. What does it return? It’s actually FIND and FIND INDEX and you use the pattern of filter and run this expression and give me index zero. 14:16 – Chuck: What work have you done that you are proud of? 14:20 – Guest: I started a new job last month; beforehand I worked at a mortgage company. I was proud of the Angular application and applications that I worked on. 16:55 – Chuck: How did you get into Angular? 17:00 – Guest: Interesting story. October of 2016 – at this time I was all against Angular. However someone came to me and said we have to... At the time I wasn’t impressed with the language. I learned about Angular at the time, though, and learned through Egghead. I learned a lot in 2 days, and I got pretty decent at it. I was writing Angular applications pretty quickly, and it made sense to me. 20:53 – Chuck: I am a fan of the CLI b/c that’s what we have in Rails. It’s really nice. What are you working on these days? 21:13 – Guest: Less on Angular b/c of the new job. I will do Angular on my free time. I work on Angular at nighttime. I build some things in React these past few weeks. 23:07 – Chuck: Any part of your experience that could help people? 23:17 – Guest: Learn what’s happening under the hood of libraries such as jQuery. Explore and find resources to help you. Keep learning and keep at it. Tools are so god now – such as Prettier and Lint – they will tell me “you don’t want to do this.” Use the tooling and learn the fundamentals. Also, use Babel! Those are my tips of advice. 25:55 – Chuck: That’s solid. Yes, the fundamentals and the poly-fills will fill in the gaps. So now it’s: what do I want to stack on top of this? Once you know the fundamentals. 26:55 – Guest: Learn what the frameworks and libraries are doing. Don’t get overwhelmed. That’s my advice. 28:16 – Chuck: Where can people find you? 28:24 – Guest: GitHub and Twitter. I’ve been working on a website, but not ready, yet. 29:08 – Chuck: Picks! 29:15 – Advertisement – Fresh Books! 30-Day Trial! 35:45 – Cache Fly Links: React Angular Vue.js JavaScript Ember Elm jQuery Node Find and Find Index NativeScript Lint Babel Prettier Christopher’s GitHub Christopher’s Twitter Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Chris Angular Explorer VS Code Finance – Staying out of Debt – Swish App Chuck Discord DomiNations
Panel: Charles Max Wood Guest: Chris McKnight This week on My JavaScript Story, Charles speaks with Chris McKnight who is a software developer who knows Angular, Ruby, Node.js, and iOS. He went to college at Louisiana State University and graduated with a computer science degree from LSU. They talk about Chris’ background, past/current projects, among other things. Check out today’s episode to hear the panel talk about JavaScript, Angular, C and C++, Node, React, and much more! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 1:12 – Chuck: Hello! Introduce yourself, please! 1:15 – Guest: I am a software engineer outside of Nashville, Tennessee. I work for a medium consultancy company. I know JavaScript, Angular, NativeScript, and JS, too. 1:41 – Chuck: Cool! Tell us your story and how you got into programming? 2:00 – Guest: I was a really big nerd in high school and grew up in Louisiana, USA. There was one other person in the school that knew what I was talking about. I was learning C++ and Visual Studio in 2003. That was really back in the day and Microsoft Foundation class was a thing. I moved onto PHP and started working for a company in Baton Rouge after graduating college. I have a computer science degree with a secondary discipline in mathematics. I graduated from LSU and got a job offer before I graduated. Doing some part-time work for them b/c they were swamped. I was writing PHP and they said that they used jQuery a lot. 4:47 – Chuck: You got started and you said you used C and C++, why those languages? 5:05 – Guest: I did a little bit of Java, but it was the “new kid on the block.” I wanted to get into a program that was user-friendlier. 6:21 – Chuck: I took C and C++ classes in college. Eventually I did Ruby on Rails. I totally understand why you went that way. 6:44 – Guest: I picked-up Rails, because a company (that I worked for at the time) used it. I usually reached for jQuery among other options. 7:31 – Chuck: When did you start taking JavaScript seriously? 7:40 – Guest: 2012-2013. Frustrations of not using JavaScript as good as I could. For jQuery you have to call when you have an issue. Then you run into all of these bugs, and... 9:18 – Chuck: It sounds like it was more out of necessity. 9:30 – Guest: Yep, exactly. Those pain points have been reduced b/c I have been using Type Script and Angular and now version 6 and version 7. You try to call a number method on a string and vice versa, and app development time. 10:03 – Chuck: ...it has a process running with it. 10:13 – Guest: Catching a lot of those easy mistakes (bugs) and it’s a 5-10 minute fix. It takes a lot of that away. Sometimes you can say: I want to ignore it. Or it doesn’t give you runtime guarantees. Some other libraries out there have been on the forefront of fixing those problems. REST TYPE is an example of that. 11:39 – Chuck: When I talk to people about JavaScript a lot of times I get basically that they are saying: I started doing more things in Node or React – I fell in love with the language. Your reasons for starting JavaScript are because “I hated running into these problems.” Did you start loving to work in JavaScript? 12:11 – Guest: I did start loving it but it took a while. I could write a short amount of code and then at the end I get a result. Another thing that bothers me is FILTER. What does it return? It’s actually FIND and FIND INDEX and you use the pattern of filter and run this expression and give me index zero. 14:16 – Chuck: What work have you done that you are proud of? 14:20 – Guest: I started a new job last month; beforehand I worked at a mortgage company. I was proud of the Angular application and applications that I worked on. 16:55 – Chuck: How did you get into Angular? 17:00 – Guest: Interesting story. October of 2016 – at this time I was all against Angular. However someone came to me and said we have to... At the time I wasn’t impressed with the language. I learned about Angular at the time, though, and learned through Egghead. I learned a lot in 2 days, and I got pretty decent at it. I was writing Angular applications pretty quickly, and it made sense to me. 20:53 – Chuck: I am a fan of the CLI b/c that’s what we have in Rails. It’s really nice. What are you working on these days? 21:13 – Guest: Less on Angular b/c of the new job. I will do Angular on my free time. I work on Angular at nighttime. I build some things in React these past few weeks. 23:07 – Chuck: Any part of your experience that could help people? 23:17 – Guest: Learn what’s happening under the hood of libraries such as jQuery. Explore and find resources to help you. Keep learning and keep at it. Tools are so god now – such as Prettier and Lint – they will tell me “you don’t want to do this.” Use the tooling and learn the fundamentals. Also, use Babel! Those are my tips of advice. 25:55 – Chuck: That’s solid. Yes, the fundamentals and the poly-fills will fill in the gaps. So now it’s: what do I want to stack on top of this? Once you know the fundamentals. 26:55 – Guest: Learn what the frameworks and libraries are doing. Don’t get overwhelmed. That’s my advice. 28:16 – Chuck: Where can people find you? 28:24 – Guest: GitHub and Twitter. I’ve been working on a website, but not ready, yet. 29:08 – Chuck: Picks! 29:15 – Advertisement – Fresh Books! 30-Day Trial! 35:45 – Cache Fly Links: React Angular Vue.js JavaScript Ember Elm jQuery Node Find and Find Index NativeScript Lint Babel Prettier Christopher’s GitHub Christopher’s Twitter Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Chris Angular Explorer VS Code Finance – Staying out of Debt – Swish App Chuck Discord DomiNations
Panel: Mark Ericksen Josh Adams Nate Hopkins Charles Max Wood Special Guest: Eric Oestrich In this episode of Elixir Mix, the panel talks with Eric Oestrich who is a web developer who resides in Indianapolis, Indiana. He and the panel talk about ExVenture, Gossip, Cowboy, Raisin, Grapevine, and much more! Listen to today’s episode to hear all about it! Finally, check out Eric’s ElixirConf talk and his blog, too! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:51 – Charles introduces the panel. 1:14 – Nate talks about his background. 1:27 – Chuck: My first programming job I worked with Nate. Nate also works now with Eric Berry. We have a special guest and that is Eric Oestrich. Tell us who you are, please! 1:55 – Eric: I work for Smart Logic, LLC. We are a consultancy who has moved to Elixir for the last 2 years. 2:14 – Chuck: Tell us what ExVenture is? 2:46 – Eric: Late 80’s to mid-90’s it’s like a MUD tech space game. Eric goes into detail of what ExVenture is. 3:28 – Panel: Familiar with MUDS. 3:36 – Panel: Audience can’t tell that Eric isn’t an old guy. Eric – you aren’t an old gentleman – how did you get into it?! 4:02 – Eric: The concept has fascinated me. It’s pure game mechanics. In school I wrote things in Python and try to make it threaded. Never got it going. After that I wanted to do a MUD but not good enough in C and couldn’t get it working in Ruby neither. But one faithful day (a year ago) I got an echo and chat server and now we have a MUD. 5:02 – Panel: Why should you be interested? I will tell you why. ExVenture is an open source... I encourage everyone to dig into and play with it! It is a game (so that makes it more fun) but you are dealing with game mechanics. I am also curious where you wanted this to go? What made you say: I want to create this and make it open source? 6:37 – Eric: I like it and work has mostly played for it. It’s MIT because of that. Early in the project (between client work) it was a common thread and that’s why it’s open source. 7:27 – Panel: I ran into you at the conference and you were showing me... Talk about getting metrics out of your system, please? 8:20 – Eric answers the question. 9:09 – Panel: When people are trying to get metrics out of their system – what EVEN makes a good metric? 9:21- Eric: I am trying to figure that out myself, actually. I want to know how long it takes for someone to login? Is that someone trying to hack into my system? If you speak at a global channel or something else... Eric goes into more detail. Eric also mentions Prometheus. 10:31 – Panel: You mentioned: What would you want to see on a dashboard? 11:01 – Eric answers the question and mentions Prometheus EX. 12:19 – Panel: As you starting building this you were pulling libraries out of it and making them separate libraries. Are you pretty proud of GOSSIP? 12:37 – Eric: Yes! Gossip is based on web sockets and it’s a cowboy socket. Eric talks about Gossip. 13:10 – Panel: What other clients are you trying to support? 13:15 – Eric: There is a JavaScript client and Node-based game called... There is a bundle system for that. There is also a Python option. The one thing we haven’t done yet is a C client. That is important b/c most of the games that you could connect to are 25-30 years old. 14:26 – Panel asks a question. 14:34 – Eric: That is the C client we are waiting for. 14:43 – Panel: You talked at the conference (see the show notes) you talked about things you learned along the way. Can you talk about your process? What kind of bottlenecks and how did you resolve those issues? 15:10 – Eric answers the question. 16:44 – Panel: Did you run out of processes? 16:47 – Eric: The VM shut-off – it was just done. That was the first go-around. 19:27 – Eric: After the ElixirConf, I wanted to see how far I could push it. Eric continues. 19:51 – Panel: I want to identify some of these principles you just talked about. First, the major block was the gen server is a single process. 20:21 – Panel. 20:24 – Panel: I think that is a common mistake when people come to Elixir in the beginning stages. How did you solve it? 20:50 – Panelist answers the above question. 21:30 – Panel: That’s one of the big things. It’s an architectural issue. Second, you mentioned really LARGE messages. You were sending around really large messages. 22:20 – Eric: For every 100 players was a gigabyte of ram – it was a lot. And that was mostly b/c every copy...when a new character enters the room then that message gets sent out then it gets copied again, and... 23:08 – Panel. 23:24 – Panel: The third one you mentioned was around data base blocking or...? Can you talk about this one a little more, please? 23:33 – Eric answers the question. 24:02 – Panel. 24:30 – Eric: It was always saving...I tricked Echo into saving...There is a lot of things that could be better to save specifically faster. 24:52 – Panel: I think people would hit those 3 points eventually – there is a lot of value to that. 25:09 –Eric: Yes that was near the end of my ElixirConf talk and my blog. 25:23 – Panel. 25:33 – Eric: It came out in May and I figured out that I needed to learn how to cluster in Elixir. That’s what the ElixirConf was a bout from single node to multiple nodes. Eric continues. 28:38 – Panel: When you have a cluster – and I join – when I transfer from one room to another room, I could be passed off to another server or node? 29:01 – Eric: Whatever you mean by “being passed off.” Whatever server you land on that’s the one you will be on. The magic is that... 30:08 – Advertisement: Fresh Books! 31:15 – Panel: I am going through the code base now and I am excited. It’s going to help me get better at Elixir. 31:32 – Eric: That’s the point of ExVenture. 31:48 – Panel: You host a server so people can see what it’s about – and that’s Mid Mud, right? 32:09 – Eric: Yep, the first hour of you playing. There is a town crier, you request, and then combat monsters. Also, it is plugged into Gossip and you can talk to them. 32:44 – Eric: Yep, there you go: player logged-in! 32:55 – Panel: Maybe not b/c it will turn into a new podcast soon. 33:07 – Panel: What if I want to use Gossip, what is involved there? 33:16 – Eric: Gossip.Haus/docs – Go there! Set it up and start sending and receiving events. 34:40 – Panel: When I was trying to understand the Prometheus metrics it helped. And then in downloading it (as a tip), for me, it was easy to use the DOCKER instructions. 35:32 – Eric: Yep, that was done by a community member. 35:40 – Panel: Are you looking for people to contribute? 35:50 – Eric: Yep, I have a public Trello board. There are 2 tags. 36:12 – Panel: Sounds like you have people involved? 36:22 – Eric: Bunch of people came on after the ElixirConf. 36:33 – Panel: If people download it (another tip) in the SEEDS file you will find out the admin username and password. I guess that’s something you can add. Login: ADMIN and Password: PASSWORD. What I thought was fun (playing with it) in the admin screen I got a sense that it’s generic enough that I could create a space game. Like playing with sectors of space. Does that make sense? 37:42 – Eric: I don’t want it to be tied JUST to fantasy b/c that’s what MUD is. Everything should be good for historical/ fantasy/ etc. any genre that you want to do! 38:13 – Panel: I could see a HackFest and the company could create one for their business. You could have a lot of fun with it. 38:38 – Panel. 38:44 – Panel: Hidden things on their websites. 38:50 – Eric: Search TEXT ADVENTURE in Google Search. See show notes below. 39:24 – Panel: There is a whole subculture that people are interested in and I didn’t know that these people existed. I think that is interesting. 39:45 – Eric: There are tons of games out there that are 20+ years old! 39:55 – Panel: What is your favorite old school MUD game? 40:02 – Eric lists his favorite old school games! One of them is Achaea! 40:51 – Panel: I like the status bars are really cool. If you haven’t played it you have a health bar. Also you have these expiring times and it’s very cool – modern MUD. 41:22 – Eric. 42:00 – Panel: You came from a Ruby background – what was your transition to Elixir like for you? How did you come to Elixir? What was that like for you? 42:15 – Eric: Yeah some of my friends were into Elixir from a functional standpoint about 2 years ago. They were reading about Phoenix and such. They wanted to see how it was going to go. 43:06 – Panel: Try by fire. Coming from Ruby to Elixir – what some advice would you give the same person? 43:37 – Eric: It was less of a culture shock b/c Phoenix was still kind of “Railsy.” 44:35 – Panel: When I was first learning ERLANG, and telling them that it was a standard library. 44:59 – Eric: It’s using Cowboys Ranch. 45:19 – Eric: There are a number of people out there that they want people to run to SSH b/c it’s more secure. 45:46 – Eric: I guess if we are on this topic about secure... 46:40 – Chuck. 46:51 – Panel: I think there is a lot of value, Eric, and the lessons you’ve learned and the path you’ve gone down. If you are new to Elixir going to ExVenture is a great way to start. 47:20 – Eric. 47:35 – Panel: Just run the format and we can do it that way. I encourage people to download it and see what it’s like as a user, and play with it as an admin. We have a Meetup coming up this Thursday. Eric is coming in virtually into our Meetup group. 48:29 – Eric: Gossip is open source. Grapevine and Raisin – check these out, too, b/c they are open source, too. 48:58 – Panel: Where can people contact you? 49:05 – Eric: Twitter! GitHub! Mudcoders.com. 49:39 – Picks! 49:44 – Ad: Lootcrate.com Links: Ruby Elixir Elm Atom.io Flutter.io JavaScript Visual Studio Code React Erlang ExVenture Ex_Venture ExVenture’s Trello Board Prometheus Prometheus EX Gossip GitHub: Gossip 2018 – Conference Talk @ Elixir Conf with Eric Oestrich Eric’s Blog Libcluster Raft – GitHub.io – The Raft Consensus Algorithm pg2 MidMUD Gossip/Haus/Docs ExVenture: Docker Environment Google: Text Adventure Achaea Cowboy SSH Grapevine Raisin ASDF Plugins Eric’s GitHub Eric’s Twitter Brooklyn Nine-Nine Elm Packages MetaBase Sponsors: Loot Crate Get a Coder Job! Fresh Books Cache Fly Picks: Eric MUD Coders Elixir LS Mark ASDF Library Josh Brooklyn Nine-Nine Elm UI Nate Mentoring and Paired Programming Metabase Charles Monster Hunters International
Panel: Mark Ericksen Josh Adams Nate Hopkins Charles Max Wood Special Guest: Eric Oestrich In this episode of Elixir Mix, the panel talks with Eric Oestrich who is a web developer who resides in Indianapolis, Indiana. He and the panel talk about ExVenture, Gossip, Cowboy, Raisin, Grapevine, and much more! Listen to today’s episode to hear all about it! Finally, check out Eric’s ElixirConf talk and his blog, too! Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:51 – Charles introduces the panel. 1:14 – Nate talks about his background. 1:27 – Chuck: My first programming job I worked with Nate. Nate also works now with Eric Berry. We have a special guest and that is Eric Oestrich. Tell us who you are, please! 1:55 – Eric: I work for Smart Logic, LLC. We are a consultancy who has moved to Elixir for the last 2 years. 2:14 – Chuck: Tell us what ExVenture is? 2:46 – Eric: Late 80’s to mid-90’s it’s like a MUD tech space game. Eric goes into detail of what ExVenture is. 3:28 – Panel: Familiar with MUDS. 3:36 – Panel: Audience can’t tell that Eric isn’t an old guy. Eric – you aren’t an old gentleman – how did you get into it?! 4:02 – Eric: The concept has fascinated me. It’s pure game mechanics. In school I wrote things in Python and try to make it threaded. Never got it going. After that I wanted to do a MUD but not good enough in C and couldn’t get it working in Ruby neither. But one faithful day (a year ago) I got an echo and chat server and now we have a MUD. 5:02 – Panel: Why should you be interested? I will tell you why. ExVenture is an open source... I encourage everyone to dig into and play with it! It is a game (so that makes it more fun) but you are dealing with game mechanics. I am also curious where you wanted this to go? What made you say: I want to create this and make it open source? 6:37 – Eric: I like it and work has mostly played for it. It’s MIT because of that. Early in the project (between client work) it was a common thread and that’s why it’s open source. 7:27 – Panel: I ran into you at the conference and you were showing me... Talk about getting metrics out of your system, please? 8:20 – Eric answers the question. 9:09 – Panel: When people are trying to get metrics out of their system – what EVEN makes a good metric? 9:21- Eric: I am trying to figure that out myself, actually. I want to know how long it takes for someone to login? Is that someone trying to hack into my system? If you speak at a global channel or something else... Eric goes into more detail. Eric also mentions Prometheus. 10:31 – Panel: You mentioned: What would you want to see on a dashboard? 11:01 – Eric answers the question and mentions Prometheus EX. 12:19 – Panel: As you starting building this you were pulling libraries out of it and making them separate libraries. Are you pretty proud of GOSSIP? 12:37 – Eric: Yes! Gossip is based on web sockets and it’s a cowboy socket. Eric talks about Gossip. 13:10 – Panel: What other clients are you trying to support? 13:15 – Eric: There is a JavaScript client and Node-based game called... There is a bundle system for that. There is also a Python option. The one thing we haven’t done yet is a C client. That is important b/c most of the games that you could connect to are 25-30 years old. 14:26 – Panel asks a question. 14:34 – Eric: That is the C client we are waiting for. 14:43 – Panel: You talked at the conference (see the show notes) you talked about things you learned along the way. Can you talk about your process? What kind of bottlenecks and how did you resolve those issues? 15:10 – Eric answers the question. 16:44 – Panel: Did you run out of processes? 16:47 – Eric: The VM shut-off – it was just done. That was the first go-around. 19:27 – Eric: After the ElixirConf, I wanted to see how far I could push it. Eric continues. 19:51 – Panel: I want to identify some of these principles you just talked about. First, the major block was the gen server is a single process. 20:21 – Panel. 20:24 – Panel: I think that is a common mistake when people come to Elixir in the beginning stages. How did you solve it? 20:50 – Panelist answers the above question. 21:30 – Panel: That’s one of the big things. It’s an architectural issue. Second, you mentioned really LARGE messages. You were sending around really large messages. 22:20 – Eric: For every 100 players was a gigabyte of ram – it was a lot. And that was mostly b/c every copy...when a new character enters the room then that message gets sent out then it gets copied again, and... 23:08 – Panel. 23:24 – Panel: The third one you mentioned was around data base blocking or...? Can you talk about this one a little more, please? 23:33 – Eric answers the question. 24:02 – Panel. 24:30 – Eric: It was always saving...I tricked Echo into saving...There is a lot of things that could be better to save specifically faster. 24:52 – Panel: I think people would hit those 3 points eventually – there is a lot of value to that. 25:09 –Eric: Yes that was near the end of my ElixirConf talk and my blog. 25:23 – Panel. 25:33 – Eric: It came out in May and I figured out that I needed to learn how to cluster in Elixir. That’s what the ElixirConf was a bout from single node to multiple nodes. Eric continues. 28:38 – Panel: When you have a cluster – and I join – when I transfer from one room to another room, I could be passed off to another server or node? 29:01 – Eric: Whatever you mean by “being passed off.” Whatever server you land on that’s the one you will be on. The magic is that... 30:08 – Advertisement: Fresh Books! 31:15 – Panel: I am going through the code base now and I am excited. It’s going to help me get better at Elixir. 31:32 – Eric: That’s the point of ExVenture. 31:48 – Panel: You host a server so people can see what it’s about – and that’s Mid Mud, right? 32:09 – Eric: Yep, the first hour of you playing. There is a town crier, you request, and then combat monsters. Also, it is plugged into Gossip and you can talk to them. 32:44 – Eric: Yep, there you go: player logged-in! 32:55 – Panel: Maybe not b/c it will turn into a new podcast soon. 33:07 – Panel: What if I want to use Gossip, what is involved there? 33:16 – Eric: Gossip.Haus/docs – Go there! Set it up and start sending and receiving events. 34:40 – Panel: When I was trying to understand the Prometheus metrics it helped. And then in downloading it (as a tip), for me, it was easy to use the DOCKER instructions. 35:32 – Eric: Yep, that was done by a community member. 35:40 – Panel: Are you looking for people to contribute? 35:50 – Eric: Yep, I have a public Trello board. There are 2 tags. 36:12 – Panel: Sounds like you have people involved? 36:22 – Eric: Bunch of people came on after the ElixirConf. 36:33 – Panel: If people download it (another tip) in the SEEDS file you will find out the admin username and password. I guess that’s something you can add. Login: ADMIN and Password: PASSWORD. What I thought was fun (playing with it) in the admin screen I got a sense that it’s generic enough that I could create a space game. Like playing with sectors of space. Does that make sense? 37:42 – Eric: I don’t want it to be tied JUST to fantasy b/c that’s what MUD is. Everything should be good for historical/ fantasy/ etc. any genre that you want to do! 38:13 – Panel: I could see a HackFest and the company could create one for their business. You could have a lot of fun with it. 38:38 – Panel. 38:44 – Panel: Hidden things on their websites. 38:50 – Eric: Search TEXT ADVENTURE in Google Search. See show notes below. 39:24 – Panel: There is a whole subculture that people are interested in and I didn’t know that these people existed. I think that is interesting. 39:45 – Eric: There are tons of games out there that are 20+ years old! 39:55 – Panel: What is your favorite old school MUD game? 40:02 – Eric lists his favorite old school games! One of them is Achaea! 40:51 – Panel: I like the status bars are really cool. If you haven’t played it you have a health bar. Also you have these expiring times and it’s very cool – modern MUD. 41:22 – Eric. 42:00 – Panel: You came from a Ruby background – what was your transition to Elixir like for you? How did you come to Elixir? What was that like for you? 42:15 – Eric: Yeah some of my friends were into Elixir from a functional standpoint about 2 years ago. They were reading about Phoenix and such. They wanted to see how it was going to go. 43:06 – Panel: Try by fire. Coming from Ruby to Elixir – what some advice would you give the same person? 43:37 – Eric: It was less of a culture shock b/c Phoenix was still kind of “Railsy.” 44:35 – Panel: When I was first learning ERLANG, and telling them that it was a standard library. 44:59 – Eric: It’s using Cowboys Ranch. 45:19 – Eric: There are a number of people out there that they want people to run to SSH b/c it’s more secure. 45:46 – Eric: I guess if we are on this topic about secure... 46:40 – Chuck. 46:51 – Panel: I think there is a lot of value, Eric, and the lessons you’ve learned and the path you’ve gone down. If you are new to Elixir going to ExVenture is a great way to start. 47:20 – Eric. 47:35 – Panel: Just run the format and we can do it that way. I encourage people to download it and see what it’s like as a user, and play with it as an admin. We have a Meetup coming up this Thursday. Eric is coming in virtually into our Meetup group. 48:29 – Eric: Gossip is open source. Grapevine and Raisin – check these out, too, b/c they are open source, too. 48:58 – Panel: Where can people contact you? 49:05 – Eric: Twitter! GitHub! Mudcoders.com. 49:39 – Picks! 49:44 – Ad: Lootcrate.com Links: Ruby Elixir Elm Atom.io Flutter.io JavaScript Visual Studio Code React Erlang ExVenture Ex_Venture ExVenture’s Trello Board Prometheus Prometheus EX Gossip GitHub: Gossip 2018 – Conference Talk @ Elixir Conf with Eric Oestrich Eric’s Blog Libcluster Raft – GitHub.io – The Raft Consensus Algorithm pg2 MidMUD Gossip/Haus/Docs ExVenture: Docker Environment Google: Text Adventure Achaea Cowboy SSH Grapevine Raisin ASDF Plugins Eric’s GitHub Eric’s Twitter Brooklyn Nine-Nine Elm Packages MetaBase Sponsors: Loot Crate Get a Coder Job! Fresh Books Cache Fly Picks: Eric MUD Coders Elixir LS Mark ASDF Library Josh Brooklyn Nine-Nine Elm UI Nate Mentoring and Paired Programming Metabase Charles Monster Hunters International
Panel: Charles Max Wood Guest: Henry Zhu This week on My JavaScript Story, Charles speaks with Henry Zhu who is working full-time on Babel! They discuss Henry’s background, past/current projects, Babel, and Henry’s new podcast. Check-out today’s episode to hear more! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 1:00 – Chuck: Today we are talking with Henry Zhu! You are the maintainer of Babel – and we have had you on the show before. Anything else? 1:25 – Henry: I used to work with Adobe and now live in NY. 1:44 – Chuck: Episode 321 we talked to you and you released Babel 7. Tell us about Babel, please. 2:01 – Henry: It’s a translator for programming languages and it’s a compiler. It only translates JavaScript to JavaScript. You would do this because you don’t know what your users’ are using. It’s an accessibility thing as well. 3:08 – Chuck: Later, we will dive into this some more. Let’s back-up: how did you get into programming? 3:22 – Henry: I think I was in middle school and I partnered with a friend for science class and we made a flash animation about earthquakes. Both of my parents worked in the field, too. They never really encouraged me to do it, but here I am. 4:07 – Chuck: How did you get into Java? 4:11 – Henry: I made some games and made a Chinese card game. Then in college I went to a bunch of Hackathons. In college I didn’t major into computer science, but I took a bunch of classes for fun. I learned about Bootstrap and did a bunch of things with that. 5:12 – Chuck: How did you settle on JavaScript? 5:28 – Henry: It was my experience – you don’t have to download anything. You can just open things up in the console and it’s easy to share. I think I like the visual part of it and their UI. 6;07 – Chuck: At some point you ran across Babel – how did you get into that? 6:17 – Henry: After college I wanted to do software. I threw out my degree of industrial engineering. I tried to apply to Google and other top companies. I applied to various places and picked something that was local. I met Jonathan Neal and he got me into open source. Through that, I wanted to contribute to Angular, but it was hard for me. Then I found a small issue with a linting error. After that I made 30 commits to Angular. I added a space here and there. JSES is the next thing I got involved with. There is one file for the rule itself and one for the test and another for the docs. I contributed there and it was easy. I am from Georgia and a year in I get an email through Adobe. They asked if I wanted to work through Enhance in Adobe. I moved to NY and started working here. I found JS LINT, and found out about Babel JS LINT. And that’s how I found about Babel. 9:24 – Chuck: Was Sebastian still running the project at the time? 9:33 – Henry. 10:53 – Chuck: It seems like when I talk with people that you are the LEAD on Babel? 11:07 – Henry: I guess so, because I am spending the most time on it. I also quit the job to work on it. However, I want people to know that there are other people out there to give you help, too. 11:45 – Chuck: Sebastian didn’t say: this is the guy that is the lead now. But how did that crystalize? 12:12 – Henry: I think it happened by accident. I stumbled across it. By people stepping down they stepped down a while ago and others were helping and making changes. It was weird because Sebastian was going to come back. It’s hard when you know that the person before had gotten burnt-out. 14:28 – Chuck: What is it like to go fulltime on an open source project and how do you go about it? 14:34 – Henry: I don’t want to claim that you have to do it my way. Maybe every project is different. Maybe the focus is money. That is a basic issue. If your project is more of a service, then direct it towards that. I feel weird if I made Babel a service. For me it feels like an infrastructure thing I didn’t want to do that. I think people want to do open source fulltime, but there are a lot of things to take into consideration. 16:38 – Chuck. 16:50 – Guest. 16:53 – Henry. 16:55 – Chuck: How do you pay the bills? 17:00 – Henry: Unlike Kickstarter, Patreon is to help donate money to people who are contributing content. If you want to donate a lot then we can tweak it. 19:06 – Chuck: Is there something in particular that you’re proud of? 19:16 – Henry: I worked on JS ES – I was a core team member of that. Going through the process of merging them together was quite interesting. I could write a whole blog post about that. There are a lot of egos and people involved. There are various projects. Something that I have been thinking about... 20:53 – Chuck: What are you working on now? 20:58 – Henry: We released 7 a while ago and 7.1. Not sure what we are going to do next. Trying to figure out what’s important and to figure out what we want to work on. I have been thinking long-term; for example how do we get reviewers, among other things. I can spend a lot of time fixing bugs, but that is just short-term. I want to invest ways to get more people in. There is a lot of initiatives but maybe we can do something new. Maybe pair with local universities. Maybe do a local Meetup? Learning to be okay with not releasing as often. I don’t want to put fires out all day. Trying to prioritize is important. 23:17 – Chuck. 23:2 – Henry: Twitter and other platforms. 23:37 – Chuck: Picks! 23:38 – Advertisement – Fresh Books! 30-Day Trial! 24:45 – Picks. Links: React Angular Vue.js JavaScript Ember Elm jQuery Henry Zhu’s Twitter Henry Zhu’s GitHub Henry Zhu’s Website Patreon to Donate Towards Babel Babel Babel JS Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Henry My own podcast – releasing it next week Podcast about Faith and Open Source Charles Ruby Rogues’ cohost + myself – Data Podcast – DevChat.Tv Reworking e-mails
Panel: Charles Max Wood Guest: Henry Zhu This week on My JavaScript Story, Charles speaks with Henry Zhu who is working full-time on Babel! They discuss Henry’s background, past/current projects, Babel, and Henry’s new podcast. Check-out today’s episode to hear more! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 1:00 – Chuck: Today we are talking with Henry Zhu! You are the maintainer of Babel – and we have had you on the show before. Anything else? 1:25 – Henry: I used to work with Adobe and now live in NY. 1:44 – Chuck: Episode 321 we talked to you and you released Babel 7. Tell us about Babel, please. 2:01 – Henry: It’s a translator for programming languages and it’s a compiler. It only translates JavaScript to JavaScript. You would do this because you don’t know what your users’ are using. It’s an accessibility thing as well. 3:08 – Chuck: Later, we will dive into this some more. Let’s back-up: how did you get into programming? 3:22 – Henry: I think I was in middle school and I partnered with a friend for science class and we made a flash animation about earthquakes. Both of my parents worked in the field, too. They never really encouraged me to do it, but here I am. 4:07 – Chuck: How did you get into Java? 4:11 – Henry: I made some games and made a Chinese card game. Then in college I went to a bunch of Hackathons. In college I didn’t major into computer science, but I took a bunch of classes for fun. I learned about Bootstrap and did a bunch of things with that. 5:12 – Chuck: How did you settle on JavaScript? 5:28 – Henry: It was my experience – you don’t have to download anything. You can just open things up in the console and it’s easy to share. I think I like the visual part of it and their UI. 6;07 – Chuck: At some point you ran across Babel – how did you get into that? 6:17 – Henry: After college I wanted to do software. I threw out my degree of industrial engineering. I tried to apply to Google and other top companies. I applied to various places and picked something that was local. I met Jonathan Neal and he got me into open source. Through that, I wanted to contribute to Angular, but it was hard for me. Then I found a small issue with a linting error. After that I made 30 commits to Angular. I added a space here and there. JSES is the next thing I got involved with. There is one file for the rule itself and one for the test and another for the docs. I contributed there and it was easy. I am from Georgia and a year in I get an email through Adobe. They asked if I wanted to work through Enhance in Adobe. I moved to NY and started working here. I found JS LINT, and found out about Babel JS LINT. And that’s how I found about Babel. 9:24 – Chuck: Was Sebastian still running the project at the time? 9:33 – Henry. 10:53 – Chuck: It seems like when I talk with people that you are the LEAD on Babel? 11:07 – Henry: I guess so, because I am spending the most time on it. I also quit the job to work on it. However, I want people to know that there are other people out there to give you help, too. 11:45 – Chuck: Sebastian didn’t say: this is the guy that is the lead now. But how did that crystalize? 12:12 – Henry: I think it happened by accident. I stumbled across it. By people stepping down they stepped down a while ago and others were helping and making changes. It was weird because Sebastian was going to come back. It’s hard when you know that the person before had gotten burnt-out. 14:28 – Chuck: What is it like to go fulltime on an open source project and how do you go about it? 14:34 – Henry: I don’t want to claim that you have to do it my way. Maybe every project is different. Maybe the focus is money. That is a basic issue. If your project is more of a service, then direct it towards that. I feel weird if I made Babel a service. For me it feels like an infrastructure thing I didn’t want to do that. I think people want to do open source fulltime, but there are a lot of things to take into consideration. 16:38 – Chuck. 16:50 – Guest. 16:53 – Henry. 16:55 – Chuck: How do you pay the bills? 17:00 – Henry: Unlike Kickstarter, Patreon is to help donate money to people who are contributing content. If you want to donate a lot then we can tweak it. 19:06 – Chuck: Is there something in particular that you’re proud of? 19:16 – Henry: I worked on JS ES – I was a core team member of that. Going through the process of merging them together was quite interesting. I could write a whole blog post about that. There are a lot of egos and people involved. There are various projects. Something that I have been thinking about... 20:53 – Chuck: What are you working on now? 20:58 – Henry: We released 7 a while ago and 7.1. Not sure what we are going to do next. Trying to figure out what’s important and to figure out what we want to work on. I have been thinking long-term; for example how do we get reviewers, among other things. I can spend a lot of time fixing bugs, but that is just short-term. I want to invest ways to get more people in. There is a lot of initiatives but maybe we can do something new. Maybe pair with local universities. Maybe do a local Meetup? Learning to be okay with not releasing as often. I don’t want to put fires out all day. Trying to prioritize is important. 23:17 – Chuck. 23:2 – Henry: Twitter and other platforms. 23:37 – Chuck: Picks! 23:38 – Advertisement – Fresh Books! 30-Day Trial! 24:45 – Picks. Links: React Angular Vue.js JavaScript Ember Elm jQuery Henry Zhu’s Twitter Henry Zhu’s GitHub Henry Zhu’s Website Patreon to Donate Towards Babel Babel Babel JS Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Henry My own podcast – releasing it next week Podcast about Faith and Open Source Charles Ruby Rogues’ cohost + myself – Data Podcast – DevChat.Tv Reworking e-mails
Panel: Charles Max Wood Guest: Henry Zhu This week on My JavaScript Story, Charles speaks with Henry Zhu who is working full-time on Babel! They discuss Henry’s background, past/current projects, Babel, and Henry’s new podcast. Check-out today’s episode to hear more! In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 1:00 – Chuck: Today we are talking with Henry Zhu! You are the maintainer of Babel – and we have had you on the show before. Anything else? 1:25 – Henry: I used to work with Adobe and now live in NY. 1:44 – Chuck: Episode 321 we talked to you and you released Babel 7. Tell us about Babel, please. 2:01 – Henry: It’s a translator for programming languages and it’s a compiler. It only translates JavaScript to JavaScript. You would do this because you don’t know what your users’ are using. It’s an accessibility thing as well. 3:08 – Chuck: Later, we will dive into this some more. Let’s back-up: how did you get into programming? 3:22 – Henry: I think I was in middle school and I partnered with a friend for science class and we made a flash animation about earthquakes. Both of my parents worked in the field, too. They never really encouraged me to do it, but here I am. 4:07 – Chuck: How did you get into Java? 4:11 – Henry: I made some games and made a Chinese card game. Then in college I went to a bunch of Hackathons. In college I didn’t major into computer science, but I took a bunch of classes for fun. I learned about Bootstrap and did a bunch of things with that. 5:12 – Chuck: How did you settle on JavaScript? 5:28 – Henry: It was my experience – you don’t have to download anything. You can just open things up in the console and it’s easy to share. I think I like the visual part of it and their UI. 6;07 – Chuck: At some point you ran across Babel – how did you get into that? 6:17 – Henry: After college I wanted to do software. I threw out my degree of industrial engineering. I tried to apply to Google and other top companies. I applied to various places and picked something that was local. I met Jonathan Neal and he got me into open source. Through that, I wanted to contribute to Angular, but it was hard for me. Then I found a small issue with a linting error. After that I made 30 commits to Angular. I added a space here and there. JSES is the next thing I got involved with. There is one file for the rule itself and one for the test and another for the docs. I contributed there and it was easy. I am from Georgia and a year in I get an email through Adobe. They asked if I wanted to work through Enhance in Adobe. I moved to NY and started working here. I found JS LINT, and found out about Babel JS LINT. And that’s how I found about Babel. 9:24 – Chuck: Was Sebastian still running the project at the time? 9:33 – Henry. 10:53 – Chuck: It seems like when I talk with people that you are the LEAD on Babel? 11:07 – Henry: I guess so, because I am spending the most time on it. I also quit the job to work on it. However, I want people to know that there are other people out there to give you help, too. 11:45 – Chuck: Sebastian didn’t say: this is the guy that is the lead now. But how did that crystalize? 12:12 – Henry: I think it happened by accident. I stumbled across it. By people stepping down they stepped down a while ago and others were helping and making changes. It was weird because Sebastian was going to come back. It’s hard when you know that the person before had gotten burnt-out. 14:28 – Chuck: What is it like to go fulltime on an open source project and how do you go about it? 14:34 – Henry: I don’t want to claim that you have to do it my way. Maybe every project is different. Maybe the focus is money. That is a basic issue. If your project is more of a service, then direct it towards that. I feel weird if I made Babel a service. For me it feels like an infrastructure thing I didn’t want to do that. I think people want to do open source fulltime, but there are a lot of things to take into consideration. 16:38 – Chuck. 16:50 – Guest. 16:53 – Henry. 16:55 – Chuck: How do you pay the bills? 17:00 – Henry: Unlike Kickstarter, Patreon is to help donate money to people who are contributing content. If you want to donate a lot then we can tweak it. 19:06 – Chuck: Is there something in particular that you’re proud of? 19:16 – Henry: I worked on JS ES – I was a core team member of that. Going through the process of merging them together was quite interesting. I could write a whole blog post about that. There are a lot of egos and people involved. There are various projects. Something that I have been thinking about... 20:53 – Chuck: What are you working on now? 20:58 – Henry: We released 7 a while ago and 7.1. Not sure what we are going to do next. Trying to figure out what’s important and to figure out what we want to work on. I have been thinking long-term; for example how do we get reviewers, among other things. I can spend a lot of time fixing bugs, but that is just short-term. I want to invest ways to get more people in. There is a lot of initiatives but maybe we can do something new. Maybe pair with local universities. Maybe do a local Meetup? Learning to be okay with not releasing as often. I don’t want to put fires out all day. Trying to prioritize is important. 23:17 – Chuck. 23:2 – Henry: Twitter and other platforms. 23:37 – Chuck: Picks! 23:38 – Advertisement – Fresh Books! 30-Day Trial! 24:45 – Picks. Links: React Angular Vue.js JavaScript Ember Elm jQuery Henry Zhu’s Twitter Henry Zhu’s GitHub Henry Zhu’s Website Patreon to Donate Towards Babel Babel Babel JS Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Henry My own podcast – releasing it next week Podcast about Faith and Open Source Charles Ruby Rogues’ cohost + myself – Data Podcast – DevChat.Tv Reworking e-mails
Panel: Charles Max Wood John Papa Special Guest: Adrian Faciu In this episode, Chuck talks with Adrian Faciu who is a developer for Visma and is a blogger. The panel talks to Adrian about his blog titled, “NgRx Tips & Tricks.” They ask Adrian in-depth questions about NgRx, among many other topics. Listen to today’s episode for more details! Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:55 – Chuck: Hi! Our guest is Adrian Faciu. 1:10 – Guest: Hello! I am Adrian and I am a developer who works for a Norwegian company, but I live in Romania! 1:35 – Chuck. 1:36 – Guest. 1:47 – Chuck: The market is so global. I have talked with many different guests from different parts of the world – it’s really neat! It’s this global phenomenon. 2:12 – Guest: It’s a great thing! 2:23 – Chuck: They have an office where you live? 2:31 – Yes. 2:37 – Chuck: How are you guys using Angular over there? 2:47 – Guest: We have several different products. We customize using them with internalized tools. 3:04 – Chuck: Real quick let’s talk about your blog post. I will admit I am not that familiar with NgRx, so I will ask newbie questions. Now do you want to explain what this is? 3:41 – Guest: Sure! The short story of the article is I saw people doing things the hard way. And after I figured out some things, people encouraged me to write about my experience. 4:37 – Chuck: John Papa just signed-in! 4:53 – Guest: Yes NgRx is... 5:02 – Chuck: You used classes for all actions what do you mean by that? 5:05 – Guest answers the question into detail. 6:31 – Chuck: Let’s say we have a class that uses a log error... 6:42 – Guest: For example you have actions that... 7:02 – Chuck: When you use the reducer... 7:10 – Guest: There are other tricks we can use like keeping all of them in the same file... 8:00 – Guest talks about the union type. 8:24 – Chuck: You learned this by doing things wrong – what happens when you do these things wrong? 8:30 – Guest: If you don’t put all of your classes in the right file then you end up with a lot of files. If you don’t create hero types then you’d have to... 10:02 – Chuck: If you import user actions then does it import all of the other types? 10:08 – Guest: Import everything from that file. 10:17 – Chuck: If you have any questions, John, feel free to chime-in! 10:29 – John: Yeah I am scanning through this. The negative I hear a lot of through actions, it’s cause we create constants – the action class creators, it seems to cause an undue amount of stress. How much actual code do you actually have to write – how do you feel about that? 11:12 – Guest: I didn’t want to write all of this code! That’s what I wanted to avoid. 11:44 – John: I wrote them, didn’t like them, I went back to them... It wasn’t just that I created a new action I had to create the constant and other things – also the place you do the union type, I’d forget to do the union type at the end! If you don’t have all of those things then it won’t work. Even on a simple project I’d have 120 lines of code for a simple task. 12:49 – Guest: Yes. Sometimes I would forget this or that. I’d have to figure out what I did wrong. I went back and created classes for a lot of things. I like the benefits. 13:19 – John: I like your ideas and your tips in your blog. How do you feel about the NAMES of those actions? 13:55 – Guest. 14:51 – John: Important part is the naming of the string inside of it – that’s the value... So you can see the actions that are being displayed. 15:25 – Guest: If you didn’t do it right that’s where the problem would be. 15:38 – John: To me it’s a love/hate relationship b/c there is so much code to it. I usually copy and paste which means that I usually forget to change something. I agree, but I don’t’ like creating it. 16:05 – Guest: I’ve been trying to figure out a solution for it eventually I gave up. 16:23 – John: Moving onto effects – inside that happens inside of the Redux cycle – if you want to do something outside of it that’s when you do effects right? 16:40 – Guest. 16:49 – John: Using the effects is good or do it a different way? 17: 20 – Guest: It makes my components cleaner. I have seen projects that DON’T use it and it’s not the best. 17:36 – John: Like getting a list of customers... (I am using my hands and nobody can see me!) It’s weird to me to NOT use the effects! 18:52 – Guest: If you implement some type of caching then it’s everything to put everything in the state. 19:07 – Chuck: I haven’t used it as much as I would like, but I haven’t do much with it. 19:23 – John: I am curious from somebody hasn’t dove into it – does effects make sense to you, Chuck? 19:39 – Chuck: It seems like effects is a side effect? Like calling out an external API... 20:10 – John: Yeah even multiple effects. John asks a question. 20:23 – Guest answers the question. 20:29 – Chuck: I like that you can make constrained assumptions and all of the complicated... 21:10 – Guest: I am using my effects like functions. 21:26 – John’s question. 21:31 – Chuck: Doing everything! You said implement the 2-payload method – that doesn’t make sense? 21:43 – Guest: Not 100% convinced you need it. What people are doing on these actions... 22:43 – Chuck: How much magic you want? 22:50 – Guest. 22:59 – John: I am confused about ERROR HANDLING. What do you advise for people to do? 23:21 – Guest: Basically, when you deal with that effect you deal with the actions, and the actions... If you get an error on it it’s done. I was trying to explain there that...do it on another stream. Try it on another stream and handle it. What happened to me – I did it on the action state and I got an error and then everything will stop. 24:27 – John: That’s not good! 24:32 – Chuck. 24:35 – John: Good tip! 24:40 – Chuck: Angular has gotten better at that. I still find, though... 25:06 – John. 25:16 – John: Hey I appreciate these blog posts that don’t always show the happy path. To show the unhappy path is a good idea. 25:32 – Chuck. 26:00 – Going down your list, Adrian, let’s talk about effects are services. I agree, but not that we have... 26:24 – Guest: I have seen cases where people forget that. They say I want to call a service, how do I do that? They forget... 26:50 – John: You have to provide your services somewhere. The old way was you could go into the... What do you do? 27:28 – Guest: Most of the applications... 28:17 – John. 28:25 – Chuck: I love deleting code! 28:32 – John: You end up in a spaghetti pool, though, if you needed that deleted code. Nooooo!!! 29:00 – Chuck. 29:01 – Guest. 29:10 – Advertisement: Get A Coder Job! 29:49 – John: Let’s talk about reducers – the smallest part of your tip sections. You say, “keep them simple” – how do you keep them simple? 30:07 – Guest: I have received this observation from several people. This is the biggest problem I had. How to keep them simple... 31:08 – John: When someone makes that type of code – where would you want them to put it? 31:23 – Guest: It depends on different types of actions. Maybe I have some sort of matter that I added to the data – an action from my application we can catch it into an effect and... Not all of the actions have to go to the reducer. 32:04 – John: I say, “Hmm...” when I see reducers like this...they are running a synchronized code inside of a reducer. And I see that a lot. 32:24 – Chuck. 32:28 – John: You go call a reaction, and...sometimes they are doing HTP there, but it’s hard to explain. 33:11 – John: What are some of the things that they can do to step-into, when they are using these? 33:16 – Guest: That’s why I only have these things about the reducers. 33:48 – Chuck: I am wondering what is the life cycle look like? What do you call a reducer from an effect from an action or vice versa? 34:09 – Guest answers the question. 34:37 – John: It can be confusing with all of these different terms. Where does it end? Your component you have to say: call this action. Perform this action and then the action says get customers – the NgRx library listens for that and helps connect to the reducer for you. Look into the action and then return that to a stream to whatever... 35:29 – Guest: Yes, it sends it to reducers. Guest goes into more detail. 36:09 – John: You never talk to the reducer directly? 36:17 – Chuck: ...is that something I should have done before – or does it call effects and the effects load the information into the state and the reducer pulls it out for the action? 36:46 – Guest. 36:58 – Chuck. 37:03 – Guest. 37:53 – John: It really depends on what you want to do, Chuck. John will give a hypothetical scenario. 38:58 – Chuck: In your scenario, let’s say... 39:14 – John: Everything is right up until the end there. It’s a little magical, honestly. I just know here is my selector and here is my data! 40:17 – Chuck: Selector is essentially I am interested in THIS state or THIS state change. 40:40 – Guest. 40:50 – Chuck: So when that changes... 40:56 – Guest. 40:59 – John. 41:05 – Chuck: A little piece of the overall store. 41:18 – Guest: My tip there was a bout the selectors... 42:30 – Chuck: So I can hand off my selector to multiple places? 42:36 – Guest: Yep. You don’t need to know anything else. 42:44 – Guest: Combine it as needed. Another benefit here is memorization. It says that each time you select pure functions it wont call the function again. 43:42 – I am seeing a trend in your tips, too. I am seeing easier way to code. You are always saying selector technique. There are a lot of terms in NgRx module. Dispatchers and states and stores...it’s nice to have a way to create the code easier. 44:21 – Guest: It does take a lot of time for someone to grasp. 44:30 – Chuck. 44:35 – John: Don’t use the store all over the place – that’s what Adrian says! 44:54 – Guest: I think it’s more like dumb components. I have a container of all of these dumb components. The container is the one that KNOWS. 46:22 – Chuck: It’s just a button. 46:28 – Guest: You click the button and it triggers. Whenever you want to use that component then you... 46:48 – Chuck: Any types of data that you wouldn’t want to use in your NgRx store? 47:07 – Guest: It depends – I am not holding any logging information there, though. 47:51 – John: I like to ask WHY. Property initialization. You are saying... 48:11 – Guest: It’s less code and it’s reasonable. If I can have less code then I’d love to have it. I think it’s cleaner b/c it’s not that much code. Most people might think blah, blah, blah, but I think it looks okay. 48:46 – John: I can see why it would be less code. 48:57 – Guest. 49:07 – John: I haven’t seen this: looking at your property initializer... Looking at your code here, Adrian... The store object itself is a reference to the NgRx store. That means you have to... To me I don’t want my app to know that NgRx is involved. I started to do this...I was creating an Angular service, which... Have you done this before? 50:33 – Guest: I have seen this function but I haven’t played with it. It makes sense. This takes it a step further. Like you say it’s perfect b/c nobody knows anything about that store, but it’s a new level. I think you have some benefits with that way of doing it, too. 51:23 – John: The one thing that sticks out is company name is your observable, then your... 52:10 – Guest: Yeah that’s good b/c it might be better! They might not even know what NgRx is, and you have a service so just use them. Yeah it’s just an observable. 52:33 – Chuck: You don’t want to see my garage. 52:44 – Guest: Some services are underrated. Like you suggested we could use them for much more. 53:01 – Guest: It was nice writing these tips. 53:19 – Chuck: What are working on now? 53:23 – Guest: Writing a new blog. 53:41 – Chuck: We will keep an eye out for it. Where do you post? 53:55 – Guest: Usually Medium, and Twitter. Search for my name and you will find me, b/c I have the same handler on all the places. 54:15 – Chuck & John: Let’s go to picks! 54:30 – Chuck is talking about future episodes and potential topics. You can vote stuff up on Trello on NgRx so we can go deeper on this topic. 55:40 – Advertisement – Fresh Books! 1:02:00 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter John Papa’s Twitter Adrian’s Medium Adrian’s Twitter Adrian’s GitHub Adrian’s Blog Post Adrian’s Article: Testing NgRx Effects Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: John NgRx Data Conferences - Don’t feel mofo Charles Discord App Adrain Angular In-depth Doc Wallaby
Panel: Charles Max Wood Special Guest: Brady Gaster In this episode, Chuck talks with Brady Gaster about SignalR that is offered through Microsoft. Brady Gaster is a computer software engineer at Microsoft and past employers include Logical Advantage, and Market America, Inc. Check out today’s episode where the two dive deep into SignalR topics. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:56 – Chuck: Hello! We are going to talk about SignalR, which is an offering through Microsoft. 1:09 – Guest: It started in 2011 that’s when I got involved, but I wasn’t with Microsoft, yet, at that point. I was working on the technology, though. Effectively you can do real time HTMP but what they did (Damon and David) let’s create a series of abstractions but not we have for Java. They basically cam up this idea let’s do web sockets and then go back to pole / pole / pole. It’s to see what the server and the client can support. Guest talks about Socket.io, too. 6:45 – Chuck: What we are talking about real time coordination between apps. 6:56 – Guest: Web sockets, 1 million...and 2.6 million messages a second! 7:05 – Chuck: I can set that up like I usually set up web sockets? 7:17 – Guest: There is a client library for each. Effectively you have a concept called a connection. 9:48 – Chuck: How do you handle authentication on the frontend? 9:56 – Guest: We have server side things that we can attribute things. 10:09 – Chuck. 10:12 – Guest: If you authenticate to the site then the site passes the token and it basically sits on top of the same plumbing. 10:38 – Chuck. 10:42 – Guest. 10:54 – Chuck. 10:58 – Guest: We recently just had the DOT NET CONF. We had an all night, 24-hour thing. 11:48 – Chuck: Here you are, here you go. You hook it all up, JavaScript into your bundle. 12:05 – (The guest talks about how to install.) 13:12 – Chuck: I could come up with my own scheme. 13:25 – Guest: The traditional example is SEND A MESSAGE and then pass you string. Well tomorrow I do that and I just change the code – it’s great b/c I send up a ping and everybody knows what to do what that ping. It’s just a proxy. 14:17 – Chuck: I am trying to envision what you would use this for? If you are worried about it being stale then you refresh. But if you want the collaborative stuff at what point do you ask: Do I need SignalR? 15:00 – Guest: When I do my presentations on SignalR and being transparent I want to send you 1,000 messages but 1 or 2 messages will be dropped. You don’t want to transmit your order data or credit card information. Do you have a hammer and you need a screw? If you need stock tickers and other applications SignalR would work. Keeping your UI fresh it is a great thing. 19:02 – Chuck: You do that at the Hub? You set up the Hub and it passes everything back and forth. What can you do at the Hub for filtering and/or certain types of events? 19:26 – Guest: I am looking at a slide. What’s the cool thing about SignalR and the API is it’s deceptively simple on purpose. If you want to call out to clients, you can get a message to all of your clients if you select that/those feature(s). Some other features you have are OTHERS, and Clients.Group. 20:57 – Chuck: Can you set up your own? 20:58 – Guest: I don’t know. 21:12 – Chuck: Clients who belong to more than one group. 21:23 – Guest: Dynamics still give some people heartburn. (The guest talks about C#, Dev, Hub, and more!) 23:46 – Advertisement: Get A Coder Job! 24:23 – Chuck: How do people get started with this? Do they need Azure? 24:30 – Guest: You don’t need Azure you can go to Microsoft and it’s apart of the .NET team, too. 26:39 – Guest talks about how to install SignalR – see links below! 27:03 – Chuck: You don’t have to KNOW .NET. 27:11 – Guest: It was created by that team (*fair enough*) but you don’t have to know .NET. 27:57 – Guest: You can I could do JavaScript all the way. 29:04 – Chuck: Yes, we keep moving forward. It will look different what people are using. 29:21 – Guest: That was an early thing and I was reading through the old bugs from 2011/2012 and that’s one thing that kept coming up. I didn’t want to use jQuery to use SignalR – now you don’t. It’s a happy thing. 30:45 – Guest: Someone suggested using PARCEL. I have a question do you have any recommendations to have NODE-SASS workflow to have it less stressful? 31:30 – Chuck: It’s out of Ruby that’s my experience with Node-Sass. 31:40 – Guest: I haven’t used Ruby, yet. 31:46 – Guest: I haven’t heard of Phoenix what is that? 31:50 – Chuck answers. Chuck: It’s functional and very fast. Once you’ve figured out those features they almost become power features for you. Elixir has a lot of great things going for it. 32:50 – Guest: I tried picking up GO recently. 33:08 – Chuck: Lots of things going on in the programming world. 33:18 – Guest: I have always had a mental block around Java. I was PMing the Java guys and I asked: will this stuff work on... Once I got it then I thought that I needed to explore this stuff more! I want to learn Ruby, though. 34:16 – Chuck: Anything else in respect to SignalR? 34:15 – Guest: I really think I have dumped everything I know about Signal R just now. I would draw people to the DOCS pages. A guide for anything that could happen on the JavaScript side – check them out! We have tons of new ideas, too! 37:33 – Picks! 37:42 – Advertisement – Fresh Books! 47:54 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter SignalR SignalR’s Twitter GitHub SignalR Socket.io Node-SASS ASP.NET SignalR Hubs API Guide – JavaScript Client SignalR.net Real Talk JavaScript Parcel Brady Gaster’s Twitter Brady Gaster’s GitHub Brady Gaster’s LinkedIn Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Brady Team on General Session Korg SeaHawks Brady’s kids Logictech spot light AirPods Charles Express VPN Hyper Drive J5 ports and SD card readers Podwrench
Panel: Charles Max Wood John Papa Special Guest: Adrian Faciu In this episode, Chuck talks with Adrian Faciu who is a developer for Visma and is a blogger. The panel talks to Adrian about his blog titled, “NgRx Tips & Tricks.” They ask Adrian in-depth questions about NgRx, among many other topics. Listen to today’s episode for more details! Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:55 – Chuck: Hi! Our guest is Adrian Faciu. 1:10 – Guest: Hello! I am Adrian and I am a developer who works for a Norwegian company, but I live in Romania! 1:35 – Chuck. 1:36 – Guest. 1:47 – Chuck: The market is so global. I have talked with many different guests from different parts of the world – it’s really neat! It’s this global phenomenon. 2:12 – Guest: It’s a great thing! 2:23 – Chuck: They have an office where you live? 2:31 – Yes. 2:37 – Chuck: How are you guys using Angular over there? 2:47 – Guest: We have several different products. We customize using them with internalized tools. 3:04 – Chuck: Real quick let’s talk about your blog post. I will admit I am not that familiar with NgRx, so I will ask newbie questions. Now do you want to explain what this is? 3:41 – Guest: Sure! The short story of the article is I saw people doing things the hard way. And after I figured out some things, people encouraged me to write about my experience. 4:37 – Chuck: John Papa just signed-in! 4:53 – Guest: Yes NgRx is... 5:02 – Chuck: You used classes for all actions what do you mean by that? 5:05 – Guest answers the question into detail. 6:31 – Chuck: Let’s say we have a class that uses a log error... 6:42 – Guest: For example you have actions that... 7:02 – Chuck: When you use the reducer... 7:10 – Guest: There are other tricks we can use like keeping all of them in the same file... 8:00 – Guest talks about the union type. 8:24 – Chuck: You learned this by doing things wrong – what happens when you do these things wrong? 8:30 – Guest: If you don’t put all of your classes in the right file then you end up with a lot of files. If you don’t create hero types then you’d have to... 10:02 – Chuck: If you import user actions then does it import all of the other types? 10:08 – Guest: Import everything from that file. 10:17 – Chuck: If you have any questions, John, feel free to chime-in! 10:29 – John: Yeah I am scanning through this. The negative I hear a lot of through actions, it’s cause we create constants – the action class creators, it seems to cause an undue amount of stress. How much actual code do you actually have to write – how do you feel about that? 11:12 – Guest: I didn’t want to write all of this code! That’s what I wanted to avoid. 11:44 – John: I wrote them, didn’t like them, I went back to them... It wasn’t just that I created a new action I had to create the constant and other things – also the place you do the union type, I’d forget to do the union type at the end! If you don’t have all of those things then it won’t work. Even on a simple project I’d have 120 lines of code for a simple task. 12:49 – Guest: Yes. Sometimes I would forget this or that. I’d have to figure out what I did wrong. I went back and created classes for a lot of things. I like the benefits. 13:19 – John: I like your ideas and your tips in your blog. How do you feel about the NAMES of those actions? 13:55 – Guest. 14:51 – John: Important part is the naming of the string inside of it – that’s the value... So you can see the actions that are being displayed. 15:25 – Guest: If you didn’t do it right that’s where the problem would be. 15:38 – John: To me it’s a love/hate relationship b/c there is so much code to it. I usually copy and paste which means that I usually forget to change something. I agree, but I don’t’ like creating it. 16:05 – Guest: I’ve been trying to figure out a solution for it eventually I gave up. 16:23 – John: Moving onto effects – inside that happens inside of the Redux cycle – if you want to do something outside of it that’s when you do effects right? 16:40 – Guest. 16:49 – John: Using the effects is good or do it a different way? 17: 20 – Guest: It makes my components cleaner. I have seen projects that DON’T use it and it’s not the best. 17:36 – John: Like getting a list of customers... (I am using my hands and nobody can see me!) It’s weird to me to NOT use the effects! 18:52 – Guest: If you implement some type of caching then it’s everything to put everything in the state. 19:07 – Chuck: I haven’t used it as much as I would like, but I haven’t do much with it. 19:23 – John: I am curious from somebody hasn’t dove into it – does effects make sense to you, Chuck? 19:39 – Chuck: It seems like effects is a side effect? Like calling out an external API... 20:10 – John: Yeah even multiple effects. John asks a question. 20:23 – Guest answers the question. 20:29 – Chuck: I like that you can make constrained assumptions and all of the complicated... 21:10 – Guest: I am using my effects like functions. 21:26 – John’s question. 21:31 – Chuck: Doing everything! You said implement the 2-payload method – that doesn’t make sense? 21:43 – Guest: Not 100% convinced you need it. What people are doing on these actions... 22:43 – Chuck: How much magic you want? 22:50 – Guest. 22:59 – John: I am confused about ERROR HANDLING. What do you advise for people to do? 23:21 – Guest: Basically, when you deal with that effect you deal with the actions, and the actions... If you get an error on it it’s done. I was trying to explain there that...do it on another stream. Try it on another stream and handle it. What happened to me – I did it on the action state and I got an error and then everything will stop. 24:27 – John: That’s not good! 24:32 – Chuck. 24:35 – John: Good tip! 24:40 – Chuck: Angular has gotten better at that. I still find, though... 25:06 – John. 25:16 – John: Hey I appreciate these blog posts that don’t always show the happy path. To show the unhappy path is a good idea. 25:32 – Chuck. 26:00 – Going down your list, Adrian, let’s talk about effects are services. I agree, but not that we have... 26:24 – Guest: I have seen cases where people forget that. They say I want to call a service, how do I do that? They forget... 26:50 – John: You have to provide your services somewhere. The old way was you could go into the... What do you do? 27:28 – Guest: Most of the applications... 28:17 – John. 28:25 – Chuck: I love deleting code! 28:32 – John: You end up in a spaghetti pool, though, if you needed that deleted code. Nooooo!!! 29:00 – Chuck. 29:01 – Guest. 29:10 – Advertisement: Get A Coder Job! 29:49 – John: Let’s talk about reducers – the smallest part of your tip sections. You say, “keep them simple” – how do you keep them simple? 30:07 – Guest: I have received this observation from several people. This is the biggest problem I had. How to keep them simple... 31:08 – John: When someone makes that type of code – where would you want them to put it? 31:23 – Guest: It depends on different types of actions. Maybe I have some sort of matter that I added to the data – an action from my application we can catch it into an effect and... Not all of the actions have to go to the reducer. 32:04 – John: I say, “Hmm...” when I see reducers like this...they are running a synchronized code inside of a reducer. And I see that a lot. 32:24 – Chuck. 32:28 – John: You go call a reaction, and...sometimes they are doing HTP there, but it’s hard to explain. 33:11 – John: What are some of the things that they can do to step-into, when they are using these? 33:16 – Guest: That’s why I only have these things about the reducers. 33:48 – Chuck: I am wondering what is the life cycle look like? What do you call a reducer from an effect from an action or vice versa? 34:09 – Guest answers the question. 34:37 – John: It can be confusing with all of these different terms. Where does it end? Your component you have to say: call this action. Perform this action and then the action says get customers – the NgRx library listens for that and helps connect to the reducer for you. Look into the action and then return that to a stream to whatever... 35:29 – Guest: Yes, it sends it to reducers. Guest goes into more detail. 36:09 – John: You never talk to the reducer directly? 36:17 – Chuck: ...is that something I should have done before – or does it call effects and the effects load the information into the state and the reducer pulls it out for the action? 36:46 – Guest. 36:58 – Chuck. 37:03 – Guest. 37:53 – John: It really depends on what you want to do, Chuck. John will give a hypothetical scenario. 38:58 – Chuck: In your scenario, let’s say... 39:14 – John: Everything is right up until the end there. It’s a little magical, honestly. I just know here is my selector and here is my data! 40:17 – Chuck: Selector is essentially I am interested in THIS state or THIS state change. 40:40 – Guest. 40:50 – Chuck: So when that changes... 40:56 – Guest. 40:59 – John. 41:05 – Chuck: A little piece of the overall store. 41:18 – Guest: My tip there was a bout the selectors... 42:30 – Chuck: So I can hand off my selector to multiple places? 42:36 – Guest: Yep. You don’t need to know anything else. 42:44 – Guest: Combine it as needed. Another benefit here is memorization. It says that each time you select pure functions it wont call the function again. 43:42 – I am seeing a trend in your tips, too. I am seeing easier way to code. You are always saying selector technique. There are a lot of terms in NgRx module. Dispatchers and states and stores...it’s nice to have a way to create the code easier. 44:21 – Guest: It does take a lot of time for someone to grasp. 44:30 – Chuck. 44:35 – John: Don’t use the store all over the place – that’s what Adrian says! 44:54 – Guest: I think it’s more like dumb components. I have a container of all of these dumb components. The container is the one that KNOWS. 46:22 – Chuck: It’s just a button. 46:28 – Guest: You click the button and it triggers. Whenever you want to use that component then you... 46:48 – Chuck: Any types of data that you wouldn’t want to use in your NgRx store? 47:07 – Guest: It depends – I am not holding any logging information there, though. 47:51 – John: I like to ask WHY. Property initialization. You are saying... 48:11 – Guest: It’s less code and it’s reasonable. If I can have less code then I’d love to have it. I think it’s cleaner b/c it’s not that much code. Most people might think blah, blah, blah, but I think it looks okay. 48:46 – John: I can see why it would be less code. 48:57 – Guest. 49:07 – John: I haven’t seen this: looking at your property initializer... Looking at your code here, Adrian... The store object itself is a reference to the NgRx store. That means you have to... To me I don’t want my app to know that NgRx is involved. I started to do this...I was creating an Angular service, which... Have you done this before? 50:33 – Guest: I have seen this function but I haven’t played with it. It makes sense. This takes it a step further. Like you say it’s perfect b/c nobody knows anything about that store, but it’s a new level. I think you have some benefits with that way of doing it, too. 51:23 – John: The one thing that sticks out is company name is your observable, then your... 52:10 – Guest: Yeah that’s good b/c it might be better! They might not even know what NgRx is, and you have a service so just use them. Yeah it’s just an observable. 52:33 – Chuck: You don’t want to see my garage. 52:44 – Guest: Some services are underrated. Like you suggested we could use them for much more. 53:01 – Guest: It was nice writing these tips. 53:19 – Chuck: What are working on now? 53:23 – Guest: Writing a new blog. 53:41 – Chuck: We will keep an eye out for it. Where do you post? 53:55 – Guest: Usually Medium, and Twitter. Search for my name and you will find me, b/c I have the same handler on all the places. 54:15 – Chuck & John: Let’s go to picks! 54:30 – Chuck is talking about future episodes and potential topics. You can vote stuff up on Trello on NgRx so we can go deeper on this topic. 55:40 – Advertisement – Fresh Books! 1:02:00 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter John Papa’s Twitter Adrian’s Medium Adrian’s Twitter Adrian’s GitHub Adrian’s Blog Post Adrian’s Article: Testing NgRx Effects Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: John NgRx Data Conferences - Don’t feel mofo Charles Discord App Adrain Angular In-depth Doc Wallaby
Panel: Mark Ericksen Josh Adams Charles Max Wood Special Guest: Bill Peregoy In this episode of Elixir Mix, the panel talks with Bill Peregoy who is a software engineer who uses Elixir and loves Graph QL. The panel talks with Bill about his Elixir background, in addition to past and current projects. Check out today’s episode to hear the panel talk about Elixir, Graph QL, code reviews, and much more! Show Topics: 0:00 – Advertisement: Get A Coder Job! 1:07 – Chuck: Tell us who you are and why you are famous? 1:16 – Guest: Here it goes...I have a diverse background. I have a background in hardware and went into software and it got me into Ruby. From there I moved to the software world and in constant contact with a Ruby project. Then I found an Elixir book and thought it was really cool. About a year ago I started working with a consulting company that uses Elixir. They have a cool entrepreneur group. Then about 3 months ago I transferred to another project. 2:41 – Panel: The MBTA? 2:49 – Guest: You thought I was using old crust technology, but they are using new technologies. 3:06 – Panel: You have this hardware background have you looked at NERVES? 3:17 – Guest: I have an interest in it. 3:34 – Let’s talk about deploying Elixir apps. Getting into Elixir might be interesting to talk about? Let’s talk about how you got into Elixir, please. 3:55 – Guest: I had an easy slide into it. The guest talks about how to structure code and how he learned about Elixir. 4:34 – Chuck: Where would have gotten into trouble if you didn’t have that? 4:39 – Guest: ...how do you organize code? It’s a bunch of modules with functions in them. 5:19 – Panel: You mentioned code reviews – and to me that’s how you learn something fast. 5:30 – Guest: I was lucky to have worked with a person who is really picky about code reviews. They were detailed and I learned a lot from him. 5:53 – Panel: I give code reviews, too. What makes a good code review from the receiving end? 6:12 – Guest answers the question. Guest: Don’t write the code for me, but...here is a general direction. 6:37 – Panel: I give the person a wrong review so they have to learn it. 7:00 – Chuck: Would have it been easier if it was a smaller project? 7:10 – Guest: I think it helped that it was a larger project. 7:29 – Chuck: We have talked about deployment and other tools that you’ve used. What I am curious about – you were using AWS and ECS can you talk about that, please? 8:00 – Guest: It was a wild ride for me. We knew we’d have to get there eventually and went for it. We never had deployed an Elixir app before. I had little knowledge with AWS, so there were thousands of new things I was learning in one week. I learned a lot from this guy and he said let’s get the app running, then let’s take it to an RDS, then let’s make sure this and that work. There is a lot going on there, but breaking it down you could figure it out when they came up. It was a lifesaver having his work b/c it would have taken me weeks instead of a few days. 9:28 – Chuck: My wife and I watched The Martian a few days ago. The character said: you solve one problem at a time. 9:47 – Guest: Yes. 10:00 – Guest: The article, “Guide to Deploy a...” 10:20 – Guest: I understood the pieces very well. 10:30 – Panel: Setting up an umbrella project. Is that how you have yours set-up? 10:48 – Guest: Single Phoenix application for me. 11:15 – Panel: Sounds like you were learning a lot of different technologies – any big “AH HA” moments? 11:30 – Guest answers the question. 12:15 – Panel: I like how the Distillery 2.0 Guide and the docker file... 12:30 – Chuck: Walk us through your structure of your talk? 12:39 – Guest: Yes, higher order functions - that’s what I was talking about. Where in the Elixir world you want to pass around functions. I had this idea that I had one task that was very similar but you had to do it multiple times. To do that I defined one piece of code that... It was a way to reuse a lot of code and... 13:51 – Panel: That is a pattern I enjoy using. Instead of using a mocking library I like a function that can direct it. The thing I enjoyed about it was that I could have a test data and a test interface in a production environment. I could create a customer... 15:06 – Guest. 15:44 – Guest: Gen state is pretty awesome. It’s not in Elixir Proper, yet. 16:55 – Chuck: I can see how that is helpful. You have to manage the pipeline on your own. 17:18 – Guest: You can upload a certain number of permits. That can be handled behind the scenes. 17:45 – Panel: Yeah the first state was manage the Q and then... 18:48 – Guest: That is what I am doing right now – one at a time right now. If I need more processing on this one node, I can... 19:20 – Panel: That’s when Elixir feels very powerful. 19:26 – Guest: That’s a talk I have a lot. Ruby is great, but when you dive into OPT in Elixir then it’s amazing. 19:54 – Chuck: We are starting to get there with Elixir. I don’t miss as much stuff with Ruby as I did before. 20:10 – Guest: What libraries I don’t need and I haven’t come across that just yet. 20:44 – Panel asks a question. 20:50 – Guest: I wasn’t directly involved. They are working with predictions for bust lines. And they grab data form many different sources. They are trying to combine all that data and it has been a good solution for them. 21:25 – Panel: Since you have a Ruby background and hardware – what is the Elixir system like for you? 21:41 – Guest: I haven’t come across too many problems. Elixir’s language tends to be smaller – which I like. I think people from JavaScript like having NEW things all of the time. Elixir is done and we are just adding small things here and there. 22:13 – Panel: Yeah, I agree. Elixir is a mature platform right now. 22:45 – Guest: Elixir is very mature – I agree. 23:10 – Panel: I think it being built with care is nice. 23:34 – Guest: I love diving into Elixir and source code. I know exactly what I need. In some Ruby libraries they are so heavily dependent on... 24:05 – Loot Crate! 25:13 – Chuck. 25:40 – Guest. 25:50 – Panel: Being explicit and concise at the same time I don’t feel so bad. 26:00- Chuck: ...I want to know that those are there. If it was – you have to go through all of this ceremony – that’s boilerplate that I feel doesn’t’ add a lot. 26:36 – Panel: Getting out a functional language...being able to see a module and it has every sort of path that I can run is nice. 27:00 – Guest. 27:37 – Panel: I did that a bit for my Rail code. People didn’t like that it wasn’t “normal.” 27:52 – Guest. 28:09 – Panel: Coming into this project where one of the developers likes using MACROS. It’s been a challenge b/c MACROS still let’s you create magic. We talked with Sasha and he queued me to this document and it’s the library guidelines. In the anti-patterns it says: avoid macros. 29:32 – Guest: ...but you should think twice before you dive into macros. 29:50 – Panel: I used macros once to enforce... 30:01 – Panel: What are your feelings on dialyzer – what do you think? 30:15 – Guest: I think it’s the way of the future - I love it. 30:58 – Panel: I am trying VS code and it does incremental dialyzer compilation. 31:27 – Guest: Of course the problem with dialyzer are the error messages. It can be frustrating. 31:40 – Panel. 31:43 – Guest: ...eventually I would figure it out. I went dialyzer front to back on my current project. A month into the project I wasn’t writing new specs, and then I realized I hadn’t done it in awhile, and of course I have a 500 error on the server. Turns out I was... 33:00 – Panel: Yes. I encourage people to... 33:07 – Guest: The way it captures things is that... 33:29 – Panel. 33:42 – Panel: We talked about that on the previous episode. It’s an RC right now, but it’s been helpful. There is a explained option. It will give me an example, I didn’t know how to fix it but... 34:14 – Guest: It can help you write simpler code. 34:47 – Panel. 34:52 – Guest: With an Elm background I think it helped me. 35:13 – Panel. 35:45 – Guest: My dream world would be... 35:55 – Panel: Josh, how does it do it? 36:03 – Panel: What is Elixir LS? 36:09 – Panel answers the question. 36:50 – Panel: I have used ATOM as an editor...how do you like visual studio code? 37:01 – Panel answers the question. 37:38 – Panel: I have used FLUTTER. 37:44 – Chuck: I like it. 38:20 – Chuck talks about Flutter and the advantages of it. 38:34 – Guest: What editors do you like, Bill? 38:36 – Guest answers the question. 38:54 – Panel. 39:00 – Guest says that it is something worth trying. 39:07 – Chuck: Try it you will like it – there is an ATOM plugin, too. 39:36 – Panel: I hate the name visual studio code. 39:43 – Panel. 40:02 – Panel: I know you have some feelings of Graph QL? 40:12 – Guest: It is love in every sense. One day in vacation... 41:14 – Panel: I like it, too. 42:01 – Guest: I haven’t much experience there. I played years ago with Graph QL and it looked encouraging and thought it was hard to build one of those things. To help debug as you are writing them is out of this world! 42:30 – Panel: I can look at the schema in Graph QL, here are the mutations I have available. 42:50 – Panel: The docs are right they can’t be wrong. 43:03 – Guest. 43:38 – Chuck: What are you working on now and what are you struggling with? 43:48 – Guest: None of them are super, super hard but today I am trying to learn how to send... 44:14 – Guest: There are a lot of new things for me like AWS, new technologies and a tight schedule. Trying to get new things done. 44:33 – Chuck: What do I learn next – that is a question that I hear a lot. 44:43 – Guest: Yeah, learning when I need them but the exception is Graph QL for me. Learn things as we go – nothing is too scary b/c there are proof of concepts out there. 45:32 – Chuck: People will ask this when they are trying to work on a project. 45:44 – Guest: I try to learn things on these side projects. I usually bail out before the really hard stuff. 46:00 – Chuck: Picks! 46:14 – Fresh Books! Links: Ruby Elixir Elm Atom.io Flutter.io JavaScript Visual Studio Code React Erlang Guide to Deploy a... YouTube Video – Bill Peregoy GenStage DockYard Article Library Guidelines Avoid Macros VS CODE Elixir LS VS CODIUM Graph QL Absinthe DIRENV HEX DOCS Bill’s GitHub Sponsors: Loot Crate Get a Coder Job! Fresh Books Cache Fly Picks: Mark Direnv Josh Flutter Bill Distillery Doc Charles Extreme Ownership
Panel: Charles Max Wood Special Guest: Brady Gaster In this episode, Chuck talks with Brady Gaster about SignalR that is offered through Microsoft. Brady Gaster is a computer software engineer at Microsoft and past employers include Logical Advantage, and Market America, Inc. Check out today’s episode where the two dive deep into SignalR topics. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:56 – Chuck: Hello! We are going to talk about SignalR, which is an offering through Microsoft. 1:09 – Guest: It started in 2011 that’s when I got involved, but I wasn’t with Microsoft, yet, at that point. I was working on the technology, though. Effectively you can do real time HTMP but what they did (Damon and David) let’s create a series of abstractions but not we have for Java. They basically cam up this idea let’s do web sockets and then go back to pole / pole / pole. It’s to see what the server and the client can support. Guest talks about Socket.io, too. 6:45 – Chuck: What we are talking about real time coordination between apps. 6:56 – Guest: Web sockets, 1 million...and 2.6 million messages a second! 7:05 – Chuck: I can set that up like I usually set up web sockets? 7:17 – Guest: There is a client library for each. Effectively you have a concept called a connection. 9:48 – Chuck: How do you handle authentication on the frontend? 9:56 – Guest: We have server side things that we can attribute things. 10:09 – Chuck. 10:12 – Guest: If you authenticate to the site then the site passes the token and it basically sits on top of the same plumbing. 10:38 – Chuck. 10:42 – Guest. 10:54 – Chuck. 10:58 – Guest: We recently just had the DOT NET CONF. We had an all night, 24-hour thing. 11:48 – Chuck: Here you are, here you go. You hook it all up, JavaScript into your bundle. 12:05 – (The guest talks about how to install.) 13:12 – Chuck: I could come up with my own scheme. 13:25 – Guest: The traditional example is SEND A MESSAGE and then pass you string. Well tomorrow I do that and I just change the code – it’s great b/c I send up a ping and everybody knows what to do what that ping. It’s just a proxy. 14:17 – Chuck: I am trying to envision what you would use this for? If you are worried about it being stale then you refresh. But if you want the collaborative stuff at what point do you ask: Do I need SignalR? 15:00 – Guest: When I do my presentations on SignalR and being transparent I want to send you 1,000 messages but 1 or 2 messages will be dropped. You don’t want to transmit your order data or credit card information. Do you have a hammer and you need a screw? If you need stock tickers and other applications SignalR would work. Keeping your UI fresh it is a great thing. 19:02 – Chuck: You do that at the Hub? You set up the Hub and it passes everything back and forth. What can you do at the Hub for filtering and/or certain types of events? 19:26 – Guest: I am looking at a slide. What’s the cool thing about SignalR and the API is it’s deceptively simple on purpose. If you want to call out to clients, you can get a message to all of your clients if you select that/those feature(s). Some other features you have are OTHERS, and Clients.Group. 20:57 – Chuck: Can you set up your own? 20:58 – Guest: I don’t know. 21:12 – Chuck: Clients who belong to more than one group. 21:23 – Guest: Dynamics still give some people heartburn. (The guest talks about C#, Dev, Hub, and more!) 23:46 – Advertisement: Get A Coder Job! 24:23 – Chuck: How do people get started with this? Do they need Azure? 24:30 – Guest: You don’t need Azure you can go to Microsoft and it’s apart of the .NET team, too. 26:39 – Guest talks about how to install SignalR – see links below! 27:03 – Chuck: You don’t have to KNOW .NET. 27:11 – Guest: It was created by that team (*fair enough*) but you don’t have to know .NET. 27:57 – Guest: You can I could do JavaScript all the way. 29:04 – Chuck: Yes, we keep moving forward. It will look different what people are using. 29:21 – Guest: That was an early thing and I was reading through the old bugs from 2011/2012 and that’s one thing that kept coming up. I didn’t want to use jQuery to use SignalR – now you don’t. It’s a happy thing. 30:45 – Guest: Someone suggested using PARCEL. I have a question do you have any recommendations to have NODE-SASS workflow to have it less stressful? 31:30 – Chuck: It’s out of Ruby that’s my experience with Node-Sass. 31:40 – Guest: I haven’t used Ruby, yet. 31:46 – Guest: I haven’t heard of Phoenix what is that? 31:50 – Chuck answers. Chuck: It’s functional and very fast. Once you’ve figured out those features they almost become power features for you. Elixir has a lot of great things going for it. 32:50 – Guest: I tried picking up GO recently. 33:08 – Chuck: Lots of things going on in the programming world. 33:18 – Guest: I have always had a mental block around Java. I was PMing the Java guys and I asked: will this stuff work on... Once I got it then I thought that I needed to explore this stuff more! I want to learn Ruby, though. 34:16 – Chuck: Anything else in respect to SignalR? 34:15 – Guest: I really think I have dumped everything I know about Signal R just now. I would draw people to the DOCS pages. A guide for anything that could happen on the JavaScript side – check them out! We have tons of new ideas, too! 37:33 – Picks! 37:42 – Advertisement – Fresh Books! 47:54 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter SignalR SignalR’s Twitter GitHub SignalR Socket.io Node-SASS ASP.NET SignalR Hubs API Guide – JavaScript Client SignalR.net Real Talk JavaScript Parcel Brady Gaster’s Twitter Brady Gaster’s GitHub Brady Gaster’s LinkedIn Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Brady Team on General Session Korg SeaHawks Brady’s kids Logictech spot light AirPods Charles Express VPN Hyper Drive J5 ports and SD card readers Podwrench
Panel: Mark Ericksen Josh Adams Charles Max Wood Special Guest: Bill Peregoy In this episode of Elixir Mix, the panel talks with Bill Peregoy who is a software engineer who uses Elixir and loves Graph QL. The panel talks with Bill about his Elixir background, in addition to past and current projects. Check out today’s episode to hear the panel talk about Elixir, Graph QL, code reviews, and much more! Show Topics: 0:00 – Advertisement: Get A Coder Job! 1:07 – Chuck: Tell us who you are and why you are famous? 1:16 – Guest: Here it goes...I have a diverse background. I have a background in hardware and went into software and it got me into Ruby. From there I moved to the software world and in constant contact with a Ruby project. Then I found an Elixir book and thought it was really cool. About a year ago I started working with a consulting company that uses Elixir. They have a cool entrepreneur group. Then about 3 months ago I transferred to another project. 2:41 – Panel: The MBTA? 2:49 – Guest: You thought I was using old crust technology, but they are using new technologies. 3:06 – Panel: You have this hardware background have you looked at NERVES? 3:17 – Guest: I have an interest in it. 3:34 – Let’s talk about deploying Elixir apps. Getting into Elixir might be interesting to talk about? Let’s talk about how you got into Elixir, please. 3:55 – Guest: I had an easy slide into it. The guest talks about how to structure code and how he learned about Elixir. 4:34 – Chuck: Where would have gotten into trouble if you didn’t have that? 4:39 – Guest: ...how do you organize code? It’s a bunch of modules with functions in them. 5:19 – Panel: You mentioned code reviews – and to me that’s how you learn something fast. 5:30 – Guest: I was lucky to have worked with a person who is really picky about code reviews. They were detailed and I learned a lot from him. 5:53 – Panel: I give code reviews, too. What makes a good code review from the receiving end? 6:12 – Guest answers the question. Guest: Don’t write the code for me, but...here is a general direction. 6:37 – Panel: I give the person a wrong review so they have to learn it. 7:00 – Chuck: Would have it been easier if it was a smaller project? 7:10 – Guest: I think it helped that it was a larger project. 7:29 – Chuck: We have talked about deployment and other tools that you’ve used. What I am curious about – you were using AWS and ECS can you talk about that, please? 8:00 – Guest: It was a wild ride for me. We knew we’d have to get there eventually and went for it. We never had deployed an Elixir app before. I had little knowledge with AWS, so there were thousands of new things I was learning in one week. I learned a lot from this guy and he said let’s get the app running, then let’s take it to an RDS, then let’s make sure this and that work. There is a lot going on there, but breaking it down you could figure it out when they came up. It was a lifesaver having his work b/c it would have taken me weeks instead of a few days. 9:28 – Chuck: My wife and I watched The Martian a few days ago. The character said: you solve one problem at a time. 9:47 – Guest: Yes. 10:00 – Guest: The article, “Guide to Deploy a...” 10:20 – Guest: I understood the pieces very well. 10:30 – Panel: Setting up an umbrella project. Is that how you have yours set-up? 10:48 – Guest: Single Phoenix application for me. 11:15 – Panel: Sounds like you were learning a lot of different technologies – any big “AH HA” moments? 11:30 – Guest answers the question. 12:15 – Panel: I like how the Distillery 2.0 Guide and the docker file... 12:30 – Chuck: Walk us through your structure of your talk? 12:39 – Guest: Yes, higher order functions - that’s what I was talking about. Where in the Elixir world you want to pass around functions. I had this idea that I had one task that was very similar but you had to do it multiple times. To do that I defined one piece of code that... It was a way to reuse a lot of code and... 13:51 – Panel: That is a pattern I enjoy using. Instead of using a mocking library I like a function that can direct it. The thing I enjoyed about it was that I could have a test data and a test interface in a production environment. I could create a customer... 15:06 – Guest. 15:44 – Guest: Gen state is pretty awesome. It’s not in Elixir Proper, yet. 16:55 – Chuck: I can see how that is helpful. You have to manage the pipeline on your own. 17:18 – Guest: You can upload a certain number of permits. That can be handled behind the scenes. 17:45 – Panel: Yeah the first state was manage the Q and then... 18:48 – Guest: That is what I am doing right now – one at a time right now. If I need more processing on this one node, I can... 19:20 – Panel: That’s when Elixir feels very powerful. 19:26 – Guest: That’s a talk I have a lot. Ruby is great, but when you dive into OPT in Elixir then it’s amazing. 19:54 – Chuck: We are starting to get there with Elixir. I don’t miss as much stuff with Ruby as I did before. 20:10 – Guest: What libraries I don’t need and I haven’t come across that just yet. 20:44 – Panel asks a question. 20:50 – Guest: I wasn’t directly involved. They are working with predictions for bust lines. And they grab data form many different sources. They are trying to combine all that data and it has been a good solution for them. 21:25 – Panel: Since you have a Ruby background and hardware – what is the Elixir system like for you? 21:41 – Guest: I haven’t come across too many problems. Elixir’s language tends to be smaller – which I like. I think people from JavaScript like having NEW things all of the time. Elixir is done and we are just adding small things here and there. 22:13 – Panel: Yeah, I agree. Elixir is a mature platform right now. 22:45 – Guest: Elixir is very mature – I agree. 23:10 – Panel: I think it being built with care is nice. 23:34 – Guest: I love diving into Elixir and source code. I know exactly what I need. In some Ruby libraries they are so heavily dependent on... 24:05 – Loot Crate! 25:13 – Chuck. 25:40 – Guest. 25:50 – Panel: Being explicit and concise at the same time I don’t feel so bad. 26:00- Chuck: ...I want to know that those are there. If it was – you have to go through all of this ceremony – that’s boilerplate that I feel doesn’t’ add a lot. 26:36 – Panel: Getting out a functional language...being able to see a module and it has every sort of path that I can run is nice. 27:00 – Guest. 27:37 – Panel: I did that a bit for my Rail code. People didn’t like that it wasn’t “normal.” 27:52 – Guest. 28:09 – Panel: Coming into this project where one of the developers likes using MACROS. It’s been a challenge b/c MACROS still let’s you create magic. We talked with Sasha and he queued me to this document and it’s the library guidelines. In the anti-patterns it says: avoid macros. 29:32 – Guest: ...but you should think twice before you dive into macros. 29:50 – Panel: I used macros once to enforce... 30:01 – Panel: What are your feelings on dialyzer – what do you think? 30:15 – Guest: I think it’s the way of the future - I love it. 30:58 – Panel: I am trying VS code and it does incremental dialyzer compilation. 31:27 – Guest: Of course the problem with dialyzer are the error messages. It can be frustrating. 31:40 – Panel. 31:43 – Guest: ...eventually I would figure it out. I went dialyzer front to back on my current project. A month into the project I wasn’t writing new specs, and then I realized I hadn’t done it in awhile, and of course I have a 500 error on the server. Turns out I was... 33:00 – Panel: Yes. I encourage people to... 33:07 – Guest: The way it captures things is that... 33:29 – Panel. 33:42 – Panel: We talked about that on the previous episode. It’s an RC right now, but it’s been helpful. There is a explained option. It will give me an example, I didn’t know how to fix it but... 34:14 – Guest: It can help you write simpler code. 34:47 – Panel. 34:52 – Guest: With an Elm background I think it helped me. 35:13 – Panel. 35:45 – Guest: My dream world would be... 35:55 – Panel: Josh, how does it do it? 36:03 – Panel: What is Elixir LS? 36:09 – Panel answers the question. 36:50 – Panel: I have used ATOM as an editor...how do you like visual studio code? 37:01 – Panel answers the question. 37:38 – Panel: I have used FLUTTER. 37:44 – Chuck: I like it. 38:20 – Chuck talks about Flutter and the advantages of it. 38:34 – Guest: What editors do you like, Bill? 38:36 – Guest answers the question. 38:54 – Panel. 39:00 – Guest says that it is something worth trying. 39:07 – Chuck: Try it you will like it – there is an ATOM plugin, too. 39:36 – Panel: I hate the name visual studio code. 39:43 – Panel. 40:02 – Panel: I know you have some feelings of Graph QL? 40:12 – Guest: It is love in every sense. One day in vacation... 41:14 – Panel: I like it, too. 42:01 – Guest: I haven’t much experience there. I played years ago with Graph QL and it looked encouraging and thought it was hard to build one of those things. To help debug as you are writing them is out of this world! 42:30 – Panel: I can look at the schema in Graph QL, here are the mutations I have available. 42:50 – Panel: The docs are right they can’t be wrong. 43:03 – Guest. 43:38 – Chuck: What are you working on now and what are you struggling with? 43:48 – Guest: None of them are super, super hard but today I am trying to learn how to send... 44:14 – Guest: There are a lot of new things for me like AWS, new technologies and a tight schedule. Trying to get new things done. 44:33 – Chuck: What do I learn next – that is a question that I hear a lot. 44:43 – Guest: Yeah, learning when I need them but the exception is Graph QL for me. Learn things as we go – nothing is too scary b/c there are proof of concepts out there. 45:32 – Chuck: People will ask this when they are trying to work on a project. 45:44 – Guest: I try to learn things on these side projects. I usually bail out before the really hard stuff. 46:00 – Chuck: Picks! 46:14 – Fresh Books! Links: Ruby Elixir Elm Atom.io Flutter.io JavaScript Visual Studio Code React Erlang Guide to Deploy a... YouTube Video – Bill Peregoy GenStage DockYard Article Library Guidelines Avoid Macros VS CODE Elixir LS VS CODIUM Graph QL Absinthe DIRENV HEX DOCS Bill’s GitHub Sponsors: Loot Crate Get a Coder Job! Fresh Books Cache Fly Picks: Mark Direnv Josh Flutter Bill Distillery Doc Charles Extreme Ownership
Panel: Charles Max Wood John Papa Special Guest: Adrian Faciu In this episode, Chuck talks with Adrian Faciu who is a developer for Visma and is a blogger. The panel talks to Adrian about his blog titled, “NgRx Tips & Tricks.” They ask Adrian in-depth questions about NgRx, among many other topics. Listen to today’s episode for more details! Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:55 – Chuck: Hi! Our guest is Adrian Faciu. 1:10 – Guest: Hello! I am Adrian and I am a developer who works for a Norwegian company, but I live in Romania! 1:35 – Chuck. 1:36 – Guest. 1:47 – Chuck: The market is so global. I have talked with many different guests from different parts of the world – it’s really neat! It’s this global phenomenon. 2:12 – Guest: It’s a great thing! 2:23 – Chuck: They have an office where you live? 2:31 – Yes. 2:37 – Chuck: How are you guys using Angular over there? 2:47 – Guest: We have several different products. We customize using them with internalized tools. 3:04 – Chuck: Real quick let’s talk about your blog post. I will admit I am not that familiar with NgRx, so I will ask newbie questions. Now do you want to explain what this is? 3:41 – Guest: Sure! The short story of the article is I saw people doing things the hard way. And after I figured out some things, people encouraged me to write about my experience. 4:37 – Chuck: John Papa just signed-in! 4:53 – Guest: Yes NgRx is... 5:02 – Chuck: You used classes for all actions what do you mean by that? 5:05 – Guest answers the question into detail. 6:31 – Chuck: Let’s say we have a class that uses a log error... 6:42 – Guest: For example you have actions that... 7:02 – Chuck: When you use the reducer... 7:10 – Guest: There are other tricks we can use like keeping all of them in the same file... 8:00 – Guest talks about the union type. 8:24 – Chuck: You learned this by doing things wrong – what happens when you do these things wrong? 8:30 – Guest: If you don’t put all of your classes in the right file then you end up with a lot of files. If you don’t create hero types then you’d have to... 10:02 – Chuck: If you import user actions then does it import all of the other types? 10:08 – Guest: Import everything from that file. 10:17 – Chuck: If you have any questions, John, feel free to chime-in! 10:29 – John: Yeah I am scanning through this. The negative I hear a lot of through actions, it’s cause we create constants – the action class creators, it seems to cause an undue amount of stress. How much actual code do you actually have to write – how do you feel about that? 11:12 – Guest: I didn’t want to write all of this code! That’s what I wanted to avoid. 11:44 – John: I wrote them, didn’t like them, I went back to them... It wasn’t just that I created a new action I had to create the constant and other things – also the place you do the union type, I’d forget to do the union type at the end! If you don’t have all of those things then it won’t work. Even on a simple project I’d have 120 lines of code for a simple task. 12:49 – Guest: Yes. Sometimes I would forget this or that. I’d have to figure out what I did wrong. I went back and created classes for a lot of things. I like the benefits. 13:19 – John: I like your ideas and your tips in your blog. How do you feel about the NAMES of those actions? 13:55 – Guest. 14:51 – John: Important part is the naming of the string inside of it – that’s the value... So you can see the actions that are being displayed. 15:25 – Guest: If you didn’t do it right that’s where the problem would be. 15:38 – John: To me it’s a love/hate relationship b/c there is so much code to it. I usually copy and paste which means that I usually forget to change something. I agree, but I don’t’ like creating it. 16:05 – Guest: I’ve been trying to figure out a solution for it eventually I gave up. 16:23 – John: Moving onto effects – inside that happens inside of the Redux cycle – if you want to do something outside of it that’s when you do effects right? 16:40 – Guest. 16:49 – John: Using the effects is good or do it a different way? 17: 20 – Guest: It makes my components cleaner. I have seen projects that DON’T use it and it’s not the best. 17:36 – John: Like getting a list of customers... (I am using my hands and nobody can see me!) It’s weird to me to NOT use the effects! 18:52 – Guest: If you implement some type of caching then it’s everything to put everything in the state. 19:07 – Chuck: I haven’t used it as much as I would like, but I haven’t do much with it. 19:23 – John: I am curious from somebody hasn’t dove into it – does effects make sense to you, Chuck? 19:39 – Chuck: It seems like effects is a side effect? Like calling out an external API... 20:10 – John: Yeah even multiple effects. John asks a question. 20:23 – Guest answers the question. 20:29 – Chuck: I like that you can make constrained assumptions and all of the complicated... 21:10 – Guest: I am using my effects like functions. 21:26 – John’s question. 21:31 – Chuck: Doing everything! You said implement the 2-payload method – that doesn’t make sense? 21:43 – Guest: Not 100% convinced you need it. What people are doing on these actions... 22:43 – Chuck: How much magic you want? 22:50 – Guest. 22:59 – John: I am confused about ERROR HANDLING. What do you advise for people to do? 23:21 – Guest: Basically, when you deal with that effect you deal with the actions, and the actions... If you get an error on it it’s done. I was trying to explain there that...do it on another stream. Try it on another stream and handle it. What happened to me – I did it on the action state and I got an error and then everything will stop. 24:27 – John: That’s not good! 24:32 – Chuck. 24:35 – John: Good tip! 24:40 – Chuck: Angular has gotten better at that. I still find, though... 25:06 – John. 25:16 – John: Hey I appreciate these blog posts that don’t always show the happy path. To show the unhappy path is a good idea. 25:32 – Chuck. 26:00 – Going down your list, Adrian, let’s talk about effects are services. I agree, but not that we have... 26:24 – Guest: I have seen cases where people forget that. They say I want to call a service, how do I do that? They forget... 26:50 – John: You have to provide your services somewhere. The old way was you could go into the... What do you do? 27:28 – Guest: Most of the applications... 28:17 – John. 28:25 – Chuck: I love deleting code! 28:32 – John: You end up in a spaghetti pool, though, if you needed that deleted code. Nooooo!!! 29:00 – Chuck. 29:01 – Guest. 29:10 – Advertisement: Get A Coder Job! 29:49 – John: Let’s talk about reducers – the smallest part of your tip sections. You say, “keep them simple” – how do you keep them simple? 30:07 – Guest: I have received this observation from several people. This is the biggest problem I had. How to keep them simple... 31:08 – John: When someone makes that type of code – where would you want them to put it? 31:23 – Guest: It depends on different types of actions. Maybe I have some sort of matter that I added to the data – an action from my application we can catch it into an effect and... Not all of the actions have to go to the reducer. 32:04 – John: I say, “Hmm...” when I see reducers like this...they are running a synchronized code inside of a reducer. And I see that a lot. 32:24 – Chuck. 32:28 – John: You go call a reaction, and...sometimes they are doing HTP there, but it’s hard to explain. 33:11 – John: What are some of the things that they can do to step-into, when they are using these? 33:16 – Guest: That’s why I only have these things about the reducers. 33:48 – Chuck: I am wondering what is the life cycle look like? What do you call a reducer from an effect from an action or vice versa? 34:09 – Guest answers the question. 34:37 – John: It can be confusing with all of these different terms. Where does it end? Your component you have to say: call this action. Perform this action and then the action says get customers – the NgRx library listens for that and helps connect to the reducer for you. Look into the action and then return that to a stream to whatever... 35:29 – Guest: Yes, it sends it to reducers. Guest goes into more detail. 36:09 – John: You never talk to the reducer directly? 36:17 – Chuck: ...is that something I should have done before – or does it call effects and the effects load the information into the state and the reducer pulls it out for the action? 36:46 – Guest. 36:58 – Chuck. 37:03 – Guest. 37:53 – John: It really depends on what you want to do, Chuck. John will give a hypothetical scenario. 38:58 – Chuck: In your scenario, let’s say... 39:14 – John: Everything is right up until the end there. It’s a little magical, honestly. I just know here is my selector and here is my data! 40:17 – Chuck: Selector is essentially I am interested in THIS state or THIS state change. 40:40 – Guest. 40:50 – Chuck: So when that changes... 40:56 – Guest. 40:59 – John. 41:05 – Chuck: A little piece of the overall store. 41:18 – Guest: My tip there was a bout the selectors... 42:30 – Chuck: So I can hand off my selector to multiple places? 42:36 – Guest: Yep. You don’t need to know anything else. 42:44 – Guest: Combine it as needed. Another benefit here is memorization. It says that each time you select pure functions it wont call the function again. 43:42 – I am seeing a trend in your tips, too. I am seeing easier way to code. You are always saying selector technique. There are a lot of terms in NgRx module. Dispatchers and states and stores...it’s nice to have a way to create the code easier. 44:21 – Guest: It does take a lot of time for someone to grasp. 44:30 – Chuck. 44:35 – John: Don’t use the store all over the place – that’s what Adrian says! 44:54 – Guest: I think it’s more like dumb components. I have a container of all of these dumb components. The container is the one that KNOWS. 46:22 – Chuck: It’s just a button. 46:28 – Guest: You click the button and it triggers. Whenever you want to use that component then you... 46:48 – Chuck: Any types of data that you wouldn’t want to use in your NgRx store? 47:07 – Guest: It depends – I am not holding any logging information there, though. 47:51 – John: I like to ask WHY. Property initialization. You are saying... 48:11 – Guest: It’s less code and it’s reasonable. If I can have less code then I’d love to have it. I think it’s cleaner b/c it’s not that much code. Most people might think blah, blah, blah, but I think it looks okay. 48:46 – John: I can see why it would be less code. 48:57 – Guest. 49:07 – John: I haven’t seen this: looking at your property initializer... Looking at your code here, Adrian... The store object itself is a reference to the NgRx store. That means you have to... To me I don’t want my app to know that NgRx is involved. I started to do this...I was creating an Angular service, which... Have you done this before? 50:33 – Guest: I have seen this function but I haven’t played with it. It makes sense. This takes it a step further. Like you say it’s perfect b/c nobody knows anything about that store, but it’s a new level. I think you have some benefits with that way of doing it, too. 51:23 – John: The one thing that sticks out is company name is your observable, then your... 52:10 – Guest: Yeah that’s good b/c it might be better! They might not even know what NgRx is, and you have a service so just use them. Yeah it’s just an observable. 52:33 – Chuck: You don’t want to see my garage. 52:44 – Guest: Some services are underrated. Like you suggested we could use them for much more. 53:01 – Guest: It was nice writing these tips. 53:19 – Chuck: What are working on now? 53:23 – Guest: Writing a new blog. 53:41 – Chuck: We will keep an eye out for it. Where do you post? 53:55 – Guest: Usually Medium, and Twitter. Search for my name and you will find me, b/c I have the same handler on all the places. 54:15 – Chuck & John: Let’s go to picks! 54:30 – Chuck is talking about future episodes and potential topics. You can vote stuff up on Trello on NgRx so we can go deeper on this topic. 55:40 – Advertisement – Fresh Books! 1:02:00 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter John Papa’s Twitter Adrian’s Medium Adrian’s Twitter Adrian’s GitHub Adrian’s Blog Post Adrian’s Article: Testing NgRx Effects Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: John NgRx Data Conferences - Don’t feel mofo Charles Discord App Adrain Angular In-depth Doc Wallaby
Panel: Charles Max Wood Special Guest: Brady Gaster In this episode, Chuck talks with Brady Gaster about SignalR that is offered through Microsoft. Brady Gaster is a computer software engineer at Microsoft and past employers include Logical Advantage, and Market America, Inc. Check out today’s episode where the two dive deep into SignalR topics. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:56 – Chuck: Hello! We are going to talk about SignalR, which is an offering through Microsoft. 1:09 – Guest: It started in 2011 that’s when I got involved, but I wasn’t with Microsoft, yet, at that point. I was working on the technology, though. Effectively you can do real time HTMP but what they did (Damon and David) let’s create a series of abstractions but not we have for Java. They basically cam up this idea let’s do web sockets and then go back to pole / pole / pole. It’s to see what the server and the client can support. Guest talks about Socket.io, too. 6:45 – Chuck: What we are talking about real time coordination between apps. 6:56 – Guest: Web sockets, 1 million...and 2.6 million messages a second! 7:05 – Chuck: I can set that up like I usually set up web sockets? 7:17 – Guest: There is a client library for each. Effectively you have a concept called a connection. 9:48 – Chuck: How do you handle authentication on the frontend? 9:56 – Guest: We have server side things that we can attribute things. 10:09 – Chuck. 10:12 – Guest: If you authenticate to the site then the site passes the token and it basically sits on top of the same plumbing. 10:38 – Chuck. 10:42 – Guest. 10:54 – Chuck. 10:58 – Guest: We recently just had the DOT NET CONF. We had an all night, 24-hour thing. 11:48 – Chuck: Here you are, here you go. You hook it all up, JavaScript into your bundle. 12:05 – (The guest talks about how to install.) 13:12 – Chuck: I could come up with my own scheme. 13:25 – Guest: The traditional example is SEND A MESSAGE and then pass you string. Well tomorrow I do that and I just change the code – it’s great b/c I send up a ping and everybody knows what to do what that ping. It’s just a proxy. 14:17 – Chuck: I am trying to envision what you would use this for? If you are worried about it being stale then you refresh. But if you want the collaborative stuff at what point do you ask: Do I need SignalR? 15:00 – Guest: When I do my presentations on SignalR and being transparent I want to send you 1,000 messages but 1 or 2 messages will be dropped. You don’t want to transmit your order data or credit card information. Do you have a hammer and you need a screw? If you need stock tickers and other applications SignalR would work. Keeping your UI fresh it is a great thing. 19:02 – Chuck: You do that at the Hub? You set up the Hub and it passes everything back and forth. What can you do at the Hub for filtering and/or certain types of events? 19:26 – Guest: I am looking at a slide. What’s the cool thing about SignalR and the API is it’s deceptively simple on purpose. If you want to call out to clients, you can get a message to all of your clients if you select that/those feature(s). Some other features you have are OTHERS, and Clients.Group. 20:57 – Chuck: Can you set up your own? 20:58 – Guest: I don’t know. 21:12 – Chuck: Clients who belong to more than one group. 21:23 – Guest: Dynamics still give some people heartburn. (The guest talks about C#, Dev, Hub, and more!) 23:46 – Advertisement: Get A Coder Job! 24:23 – Chuck: How do people get started with this? Do they need Azure? 24:30 – Guest: You don’t need Azure you can go to Microsoft and it’s apart of the .NET team, too. 26:39 – Guest talks about how to install SignalR – see links below! 27:03 – Chuck: You don’t have to KNOW .NET. 27:11 – Guest: It was created by that team (*fair enough*) but you don’t have to know .NET. 27:57 – Guest: You can I could do JavaScript all the way. 29:04 – Chuck: Yes, we keep moving forward. It will look different what people are using. 29:21 – Guest: That was an early thing and I was reading through the old bugs from 2011/2012 and that’s one thing that kept coming up. I didn’t want to use jQuery to use SignalR – now you don’t. It’s a happy thing. 30:45 – Guest: Someone suggested using PARCEL. I have a question do you have any recommendations to have NODE-SASS workflow to have it less stressful? 31:30 – Chuck: It’s out of Ruby that’s my experience with Node-Sass. 31:40 – Guest: I haven’t used Ruby, yet. 31:46 – Guest: I haven’t heard of Phoenix what is that? 31:50 – Chuck answers. Chuck: It’s functional and very fast. Once you’ve figured out those features they almost become power features for you. Elixir has a lot of great things going for it. 32:50 – Guest: I tried picking up GO recently. 33:08 – Chuck: Lots of things going on in the programming world. 33:18 – Guest: I have always had a mental block around Java. I was PMing the Java guys and I asked: will this stuff work on... Once I got it then I thought that I needed to explore this stuff more! I want to learn Ruby, though. 34:16 – Chuck: Anything else in respect to SignalR? 34:15 – Guest: I really think I have dumped everything I know about Signal R just now. I would draw people to the DOCS pages. A guide for anything that could happen on the JavaScript side – check them out! We have tons of new ideas, too! 37:33 – Picks! 37:42 – Advertisement – Fresh Books! 47:54 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter SignalR SignalR’s Twitter GitHub SignalR Socket.io Node-SASS ASP.NET SignalR Hubs API Guide – JavaScript Client SignalR.net Real Talk JavaScript Parcel Brady Gaster’s Twitter Brady Gaster’s GitHub Brady Gaster’s LinkedIn Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Brady Team on General Session Korg SeaHawks Brady’s kids Logictech spot light AirPods Charles Express VPN J5 ports and SD card readers Podwrench
Panel: Charles Max Wood Special Guest: Brady Gaster In this episode, Chuck talks with Brady Gaster about SignalR that is offered through Microsoft. Brady Gaster is a computer software engineer at Microsoft and past employers include Logical Advantage, and Market America, Inc. Check out today’s episode where the two dive deep into SignalR topics. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:56 – Chuck: Hello! We are going to talk about SignalR, which is an offering through Microsoft. 1:09 – Guest: It started in 2011 that’s when I got involved, but I wasn’t with Microsoft, yet, at that point. I was working on the technology, though. Effectively you can do real time HTMP but what they did (Damon and David) let’s create a series of abstractions but not we have for Java. They basically cam up this idea let’s do web sockets and then go back to pole / pole / pole. It’s to see what the server and the client can support. Guest talks about Socket.io, too. 6:45 – Chuck: What we are talking about real time coordination between apps. 6:56 – Guest: Web sockets, 1 million...and 2.6 million messages a second! 7:05 – Chuck: I can set that up like I usually set up web sockets? 7:17 – Guest: There is a client library for each. Effectively you have a concept called a connection. 9:48 – Chuck: How do you handle authentication on the frontend? 9:56 – Guest: We have server side things that we can attribute things. 10:09 – Chuck. 10:12 – Guest: If you authenticate to the site then the site passes the token and it basically sits on top of the same plumbing. 10:38 – Chuck. 10:42 – Guest. 10:54 – Chuck. 10:58 – Guest: We recently just had the DOT NET CONF. We had an all night, 24-hour thing. 11:48 – Chuck: Here you are, here you go. You hook it all up, JavaScript into your bundle. 12:05 – (The guest talks about how to install.) 13:12 – Chuck: I could come up with my own scheme. 13:25 – Guest: The traditional example is SEND A MESSAGE and then pass you string. Well tomorrow I do that and I just change the code – it’s great b/c I send up a ping and everybody knows what to do what that ping. It’s just a proxy. 14:17 – Chuck: I am trying to envision what you would use this for? If you are worried about it being stale then you refresh. But if you want the collaborative stuff at what point do you ask: Do I need SignalR? 15:00 – Guest: When I do my presentations on SignalR and being transparent I want to send you 1,000 messages but 1 or 2 messages will be dropped. You don’t want to transmit your order data or credit card information. Do you have a hammer and you need a screw? If you need stock tickers and other applications SignalR would work. Keeping your UI fresh it is a great thing. 19:02 – Chuck: You do that at the Hub? You set up the Hub and it passes everything back and forth. What can you do at the Hub for filtering and/or certain types of events? 19:26 – Guest: I am looking at a slide. What’s the cool thing about SignalR and the API is it’s deceptively simple on purpose. If you want to call out to clients, you can get a message to all of your clients if you select that/those feature(s). Some other features you have are OTHERS, and Clients.Group. 20:57 – Chuck: Can you set up your own? 20:58 – Guest: I don’t know. 21:12 – Chuck: Clients who belong to more than one group. 21:23 – Guest: Dynamics still give some people heartburn. (The guest talks about C#, Dev, Hub, and more!) 23:46 – Advertisement: Get A Coder Job! 24:23 – Chuck: How do people get started with this? Do they need Azure? 24:30 – Guest: You don’t need Azure you can go to Microsoft and it’s apart of the .NET team, too. 26:39 – Guest talks about how to install SignalR – see links below! 27:03 – Chuck: You don’t have to KNOW .NET. 27:11 – Guest: It was created by that team (*fair enough*) but you don’t have to know .NET. 27:57 – Guest: You can I could do JavaScript all the way. 29:04 – Chuck: Yes, we keep moving forward. It will look different what people are using. 29:21 – Guest: That was an early thing and I was reading through the old bugs from 2011/2012 and that’s one thing that kept coming up. I didn’t want to use jQuery to use SignalR – now you don’t. It’s a happy thing. 30:45 – Guest: Someone suggested using PARCEL. I have a question do you have any recommendations to have NODE-SASS workflow to have it less stressful? 31:30 – Chuck: It’s out of Ruby that’s my experience with Node-Sass. 31:40 – Guest: I haven’t used Ruby, yet. 31:46 – Guest: I haven’t heard of Phoenix what is that? 31:50 – Chuck answers. Chuck: It’s functional and very fast. Once you’ve figured out those features they almost become power features for you. Elixir has a lot of great things going for it. 32:50 – Guest: I tried picking up GO recently. 33:08 – Chuck: Lots of things going on in the programming world. 33:18 – Guest: I have always had a mental block around Java. I was PMing the Java guys and I asked: will this stuff work on... Once I got it then I thought that I needed to explore this stuff more! I want to learn Ruby, though. 34:16 – Chuck: Anything else in respect to SignalR? 34:15 – Guest: I really think I have dumped everything I know about Signal R just now. I would draw people to the DOCS pages. A guide for anything that could happen on the JavaScript side – check them out! We have tons of new ideas, too! 37:33 – Picks! 37:42 – Advertisement – Fresh Books! 47:54 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter SignalR SignalR’s Twitter GitHub SignalR Socket.io Node-SASS ASP.NET SignalR Hubs API Guide – JavaScript Client SignalR.net Real Talk JavaScript Parcel Brady Gaster’s Twitter Brady Gaster’s GitHub Brady Gaster’s LinkedIn Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Brady Team on General Session Korg SeaHawks Brady’s kids Logictech spot light AirPods Charles Express VPN J5 ports and SD card readers Podwrench
Panel: Charles Max Wood Special Guest: Brady Gaster In this episode, Chuck talks with Brady Gaster about SignalR that is offered through Microsoft. Brady Gaster is a computer software engineer at Microsoft and past employers include Logical Advantage, and Market America, Inc. Check out today’s episode where the two dive deep into SignalR topics. Show Topics: 0:00 – Advertisement: AngularBootCamp.Com 0:56 – Chuck: Hello! We are going to talk about SignalR, which is an offering through Microsoft. 1:09 – Guest: It started in 2011 that’s when I got involved, but I wasn’t with Microsoft, yet, at that point. I was working on the technology, though. Effectively you can do real time HTMP but what they did (Damon and David) let’s create a series of abstractions but not we have for Java. They basically cam up this idea let’s do web sockets and then go back to pole / pole / pole. It’s to see what the server and the client can support. Guest talks about Socket.io, too. 6:45 – Chuck: What we are talking about real time coordination between apps. 6:56 – Guest: Web sockets, 1 million...and 2.6 million messages a second! 7:05 – Chuck: I can set that up like I usually set up web sockets? 7:17 – Guest: There is a client library for each. Effectively you have a concept called a connection. 9:48 – Chuck: How do you handle authentication on the frontend? 9:56 – Guest: We have server side things that we can attribute things. 10:09 – Chuck. 10:12 – Guest: If you authenticate to the site then the site passes the token and it basically sits on top of the same plumbing. 10:38 – Chuck. 10:42 – Guest. 10:54 – Chuck. 10:58 – Guest: We recently just had the DOT NET CONF. We had an all night, 24-hour thing. 11:48 – Chuck: Here you are, here you go. You hook it all up, JavaScript into your bundle. 12:05 – (The guest talks about how to install.) 13:12 – Chuck: I could come up with my own scheme. 13:25 – Guest: The traditional example is SEND A MESSAGE and then pass you string. Well tomorrow I do that and I just change the code – it’s great b/c I send up a ping and everybody knows what to do what that ping. It’s just a proxy. 14:17 – Chuck: I am trying to envision what you would use this for? If you are worried about it being stale then you refresh. But if you want the collaborative stuff at what point do you ask: Do I need SignalR? 15:00 – Guest: When I do my presentations on SignalR and being transparent I want to send you 1,000 messages but 1 or 2 messages will be dropped. You don’t want to transmit your order data or credit card information. Do you have a hammer and you need a screw? If you need stock tickers and other applications SignalR would work. Keeping your UI fresh it is a great thing. 19:02 – Chuck: You do that at the Hub? You set up the Hub and it passes everything back and forth. What can you do at the Hub for filtering and/or certain types of events? 19:26 – Guest: I am looking at a slide. What’s the cool thing about SignalR and the API is it’s deceptively simple on purpose. If you want to call out to clients, you can get a message to all of your clients if you select that/those feature(s). Some other features you have are OTHERS, and Clients.Group. 20:57 – Chuck: Can you set up your own? 20:58 – Guest: I don’t know. 21:12 – Chuck: Clients who belong to more than one group. 21:23 – Guest: Dynamics still give some people heartburn. (The guest talks about C#, Dev, Hub, and more!) 23:46 – Advertisement: Get A Coder Job! 24:23 – Chuck: How do people get started with this? Do they need Azure? 24:30 – Guest: You don’t need Azure you can go to Microsoft and it’s apart of the .NET team, too. 26:39 – Guest talks about how to install SignalR – see links below! 27:03 – Chuck: You don’t have to KNOW .NET. 27:11 – Guest: It was created by that team (*fair enough*) but you don’t have to know .NET. 27:57 – Guest: You can I could do JavaScript all the way. 29:04 – Chuck: Yes, we keep moving forward. It will look different what people are using. 29:21 – Guest: That was an early thing and I was reading through the old bugs from 2011/2012 and that’s one thing that kept coming up. I didn’t want to use jQuery to use SignalR – now you don’t. It’s a happy thing. 30:45 – Guest: Someone suggested using PARCEL. I have a question do you have any recommendations to have NODE-SASS workflow to have it less stressful? 31:30 – Chuck: It’s out of Ruby that’s my experience with Node-Sass. 31:40 – Guest: I haven’t used Ruby, yet. 31:46 – Guest: I haven’t heard of Phoenix what is that? 31:50 – Chuck answers. Chuck: It’s functional and very fast. Once you’ve figured out those features they almost become power features for you. Elixir has a lot of great things going for it. 32:50 – Guest: I tried picking up GO recently. 33:08 – Chuck: Lots of things going on in the programming world. 33:18 – Guest: I have always had a mental block around Java. I was PMing the Java guys and I asked: will this stuff work on... Once I got it then I thought that I needed to explore this stuff more! I want to learn Ruby, though. 34:16 – Chuck: Anything else in respect to SignalR? 34:15 – Guest: I really think I have dumped everything I know about Signal R just now. I would draw people to the DOCS pages. A guide for anything that could happen on the JavaScript side – check them out! We have tons of new ideas, too! 37:33 – Picks! 37:42 – Advertisement – Fresh Books! 47:54 – Advertisement – Cache Fly! Links: Vue jQuery Angular C# Chuck’s Twitter SignalR SignalR’s Twitter GitHub SignalR Socket.io Node-SASS ASP.NET SignalR Hubs API Guide – JavaScript Client SignalR.net Real Talk JavaScript Parcel Brady Gaster’s Twitter Brady Gaster’s GitHub Brady Gaster’s LinkedIn Sponsors: Angular Boot Camp Fresh Books Get a Coder Job Course Cache Fly Picks: Brady Team on General Session Korg SeaHawks Brady’s kids Logictech spot light AirPods Charles Express VPN J5 ports and SD card readers Podwrench
Panel: Mark Ericksen Josh Adams Charles Max Wood Special Guest: Sasa Juric In this episode of Elixir Mix, the panel talks with Sasa Juric who is the author of Elixir in Action (2nd edition) and uses Elixir, Erlang, and OTP. He is from Zagreb, Croatia and you can check out his blog here! The panel talks about his book, past and current projects, in addition to configurations, and Elixir. Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:50 – Chuck: Panel. Our guest is Sasa Juric. Introduce yourself to us please. 1:12 – Guest: I am known for writing my book and my blogs. I am president to the Elixir forum and helping people out. I have been using Elixir for 5 years; in the past I have used C++ and others. 1:46 – Chuck: App env and configuration and sounds like we could talk about more. Let’s start there, though. 1:59 – Guest. 2:03 – Panel: A little background with configuration b/c it’s been a topic in the community. There is a lot of discussion around it. What is the right way? And there is a change in how we deploy software. We have more docker containers and multiple stages of deployment and tons of configurations through environment settings. Anything you can talk about that? 2:51 – (Guest answers those questions. He discusses in detail about docker configurations. Also, the guest talks about the various settings per the different environments.) 7:25 – Panel: That was a thorough summary. 7:29 – Guest: I can talk more. 7:35 – Panel: So we have background on configuration is setup and the goals we have. What are some of the ways that a person with Elixir – how do they start? Tips / advice? They have their app and trying to go to production? 8:22 – (Guest answers the question.) Guest: 90% of the time, this is what you want to do. This is what you do...build it and put it in the folder structure, and you are good to go. Why is this good? You don’t have to have a bunch of... If you are using Phoenix than you need Node.js and you don’t want to have that on your production. You can easily run side-by-side different versions of Erlang and Phoenix. 11:40 – Panel: You can do that in a single docker file? 11:47 – Guest. 11:51 – Panel: You just copy the files... 11:56 – Panel: I learned I could do that by the distiller 2.0...I hadn’t encountered that before. 12:11 – Guest: Look into the distillery. I want to give compliments to Paul and the team is great. Go to Distillery and see the tutorials. 12:37 – Panel: People think I don’t want to use docker there is an option.... 13:01 – Guest. 13:04 – Chuck: Different types of configuration? 13:13 – Guest: Right this discussion too which is probably talking about my blog post, and I have this wild thought about configurations. We can discuss the issues and different solutions. We have these configurations files and they contain these time various configurations and... There is usually more than 1 configuration file. 17:53 – Panel: You only get agreement. I have had that problem, too, saying what is this configuration? What are THE Settings that are present and yeah that is a problem? You identify these problems in your blog, where it’s not checked in and the code will not... I have had to work around that in my projects. We are going to create a sample project and it will have defaults. So we can improve the situation. 18:45 – Panel: Class based configurations – I get angry. 19:05 – Guest: I try to challenge this status quo. Some people agree and others disagree. Some say this blanket statement. 19:54 – Loot Crate! 20:47 – Guest: Another thing to note is that configurations are free form key values. Remember, my point is that it boils down to some function being involved with these values. (Guest continues...) 23:36 – What is your direction that you are proposing? 23:40 – Guest: We are going to discuss other issues. 23:49 – Panel: As background, as apart of that whole configuration in those distillery docs... 24:41 – What is the next step in the discussion? 24:48 – Guest: Let’s take a step back. (Guest talks about Distillery 2.0.) 27:09 – Guest continues... 29:50 – Panel: That makes sense and flexible. 29:58 – Guest: The other complaint is that the Phoenix generator is pushing the community in the wrong direction by forcing a lot of things by default. When you generate your project with... My team we have used the configuration b/c it seems the right way to do, but what constitutes this? Should this go here and what is a configuration? 30:52 – Panel: I don’t have a synced answer – I don’t have a boundary to say what does or doesn’t’ go in there. 31:13 – Guest: Like the operator might decide to change the HPP port or maybe you want to...? You have to make the decision – what will those things be? 31:32 – Panel: React to a configuration change, it’s very clear to... 31:57 – Guest: It is very arbitrary by its nature. One of the main things (in the blog post) my coworker said it felt like a configuration. What does that mean? Should we have some sort of rules? What is a configuration and what isn’t? 32:33 – Panel comments. 32:55 – Guest: Now I am swinging in a new extreme. You started with parameters nothing more and there is nothing more than functions and parameters. 34:41 – Chuck: You keep bringing up JSON is there a reason why? 34:55 – Guest: I am not a super fan of JSON for various reasons but we decided on JSON b/c it’s fairly easy. Most of our clients and admin can add it. 35:18 – Chuck: Asks a question. 35:30 – Guest: Getting a configuration... 36:35 – Panel. 36:39 – Guest: With Distillery 2.0... 36:47 – Chuck: What formats do you like if you don’t like JSON? 36:58 – Guest: I am not sure. I would like to run everything in Elixir directly. 37:47 – Panel: I have been using Kubernetes. I like that I can have comments. 38:00 – Panel. 38:10 – Panel. 38:17 – JSON is terrible but you can use it and everyone can, too. 38:27 – Guest: I would probably pick JSON between those two. It’s the lesser of 2 evils. 38:40 – Panel. 39:03 – Guest: The key is to clean up this configuration in the first place. My impression is... 39:30 – Panel: I wrote a library, and there was configuration but it doesn’t belong – it’s not a configuration setting nor...so where should those kinds of settings be? I know they are just parameters, but...so we can pull out our configuration files? 40:11 – Guest: It should be grouped by scope. Take Phoenix application... 41:54 – Panel: That’s your exposed configuration – conceivably – but it should be hard coded. 42:04 – Guest: It won’t be hard coded, and the server will be different in production than your machine. 42:17 – Panel. 42:30 – Guest: Precisely. You have to ask: is this a configured parameter or not? 42:43 – Chuck: Can you talk about how to encrypt and/or protect these secrets? 42:56 – Guest: There are these secrets that are broad secrets via...and it depends on you how you’re going to protect them. Use some encryption scheme. 43:20 – Panel. 43:28 – Guest: Right. 43:31 – Chuck: In Rails it has a secret file, too and you have to provide the key to the app. Then your KEY is a secret. It feels like this circular problem. 43:53 – Guest. 44:54 – Panel: When you are dealing with that sort of thing...library will absolutely assume...and it limits flexibility. 45:17 – Guest: It’s not just an Elixir thing I have seen it in Erlang, too. 47:32 – Chuck: Any stories of people getting this wrong or right? I guess people don’t talk about that; any good stories? 47:54 – Guest: A lot of stories, actually! 49:52 – Panel: Being that Elixir is a more functional language, how do I put in a configuration that will be available at runtime and available very early. I think that is why we stick things up there by putting it in there. 50:35 – Panel. 50:43 – Panel: If it is a library and passes it to a configuration - where does it put it? 50:53 – Panel: A library and not an application... 51:05 – Guest. 51:45 – Panel: Where do I put it? 52:03 – Guest: There are some libraries that have to be configured before we start. The only case that needs some setting before we start is LOGGER. 53:00 – Panel. 53:15 – Guest. 54:00 – (Guest mentions à la Carte – check it out here! It’s just a factory.) 55:38 – Chuck: Let’s do picks! 55:46 – Fresh Books! Links: Ruby Elixir JavaScript React Erlang Kubernetes JSON Logger Docker Config Rethinking App Env Distillery Documentation Elixir in Action Elixir in Action – Book – 2nd edition Elixir – Library Guidelines Elixir Forum The 12-Factor App Distillery’s Documentation GitHub: Toml-Elixir GitHub: Riak_Ensemble GitHub: Elm – Beam GitHub: CodeC-Beam Library Guidelines – Elixir Configuring Elixir Libraries Handling Configurations Etcher Tweet Mashup Sasa’s YouTube Video Sasa’s Twitter Sasa’s GitHub Sasa’s Information at Elixir Conf Sasa’s LinkedIn Josh Adams’ Email: josh@smoothterminal.com Sponsors: Loot Crate Fresh Books Cache Fly Get a Coder Job! Picks: Sasa Run-time Library Guidelines Elixir in Action – Book – 2nd edition The Erlangelist Solid Ground Chuck Tweet Mashup My JavaScript Story Channel Shush App Mark Etcher.io Josh Elm Beam
Panel: Mark Ericksen Josh Adams Charles Max Wood Special Guest: Sasa Juric In this episode of Elixir Mix, the panel talks with Sasa Juric who is the author of Elixir in Action (2nd edition) and uses Elixir, Erlang, and OTP. He is from Zagreb, Croatia and you can check out his blog here! The panel talks about his book, past and current projects, in addition to configurations, and Elixir. Show Topics: 0:00 – Advertisement: Get A Coder Job! 0:50 – Chuck: Panel. Our guest is Sasa Juric. Introduce yourself to us please. 1:12 – Guest: I am known for writing my book and my blogs. I am president to the Elixir forum and helping people out. I have been using Elixir for 5 years; in the past I have used C++ and others. 1:46 – Chuck: App env and configuration and sounds like we could talk about more. Let’s start there, though. 1:59 – Guest. 2:03 – Panel: A little background with configuration b/c it’s been a topic in the community. There is a lot of discussion around it. What is the right way? And there is a change in how we deploy software. We have more docker containers and multiple stages of deployment and tons of configurations through environment settings. Anything you can talk about that? 2:51 – (Guest answers those questions. He discusses in detail about docker configurations. Also, the guest talks about the various settings per the different environments.) 7:25 – Panel: That was a thorough summary. 7:29 – Guest: I can talk more. 7:35 – Panel: So we have background on configuration is setup and the goals we have. What are some of the ways that a person with Elixir – how do they start? Tips / advice? They have their app and trying to go to production? 8:22 – (Guest answers the question.) Guest: 90% of the time, this is what you want to do. This is what you do...build it and put it in the folder structure, and you are good to go. Why is this good? You don’t have to have a bunch of... If you are using Phoenix than you need Node.js and you don’t want to have that on your production. You can easily run side-by-side different versions of Erlang and Phoenix. 11:40 – Panel: You can do that in a single docker file? 11:47 – Guest. 11:51 – Panel: You just copy the files... 11:56 – Panel: I learned I could do that by the distiller 2.0...I hadn’t encountered that before. 12:11 – Guest: Look into the distillery. I want to give compliments to Paul and the team is great. Go to Distillery and see the tutorials. 12:37 – Panel: People think I don’t want to use docker there is an option.... 13:01 – Guest. 13:04 – Chuck: Different types of configuration? 13:13 – Guest: Right this discussion too which is probably talking about my blog post, and I have this wild thought about configurations. We can discuss the issues and different solutions. We have these configurations files and they contain these time various configurations and... There is usually more than 1 configuration file. 17:53 – Panel: You only get agreement. I have had that problem, too, saying what is this configuration? What are THE Settings that are present and yeah that is a problem? You identify these problems in your blog, where it’s not checked in and the code will not... I have had to work around that in my projects. We are going to create a sample project and it will have defaults. So we can improve the situation. 18:45 – Panel: Class based configurations – I get angry. 19:05 – Guest: I try to challenge this status quo. Some people agree and others disagree. Some say this blanket statement. 19:54 – Loot Crate! 20:47 – Guest: Another thing to note is that configurations are free form key values. Remember, my point is that it boils down to some function being involved with these values. (Guest continues...) 23:36 – What is your direction that you are proposing? 23:40 – Guest: We are going to discuss other issues. 23:49 – Panel: As background, as apart of that whole configuration in those distillery docs... 24:41 – What is the next step in the discussion? 24:48 – Guest: Let’s take a step back. (Guest talks about Distillery 2.0.) 27:09 – Guest continues... 29:50 – Panel: That makes sense and flexible. 29:58 – Guest: The other complaint is that the Phoenix generator is pushing the community in the wrong direction by forcing a lot of things by default. When you generate your project with... My team we have used the configuration b/c it seems the right way to do, but what constitutes this? Should this go here and what is a configuration? 30:52 – Panel: I don’t have a synced answer – I don’t have a boundary to say what does or doesn’t’ go in there. 31:13 – Guest: Like the operator might decide to change the HPP port or maybe you want to...? You have to make the decision – what will those things be? 31:32 – Panel: React to a configuration change, it’s very clear to... 31:57 – Guest: It is very arbitrary by its nature. One of the main things (in the blog post) my coworker said it felt like a configuration. What does that mean? Should we have some sort of rules? What is a configuration and what isn’t? 32:33 – Panel comments. 32:55 – Guest: Now I am swinging in a new extreme. You started with parameters nothing more and there is nothing more than functions and parameters. 34:41 – Chuck: You keep bringing up JSON is there a reason why? 34:55 – Guest: I am not a super fan of JSON for various reasons but we decided on JSON b/c it’s fairly easy. Most of our clients and admin can add it. 35:18 – Chuck: Asks a question. 35:30 – Guest: Getting a configuration... 36:35 – Panel. 36:39 – Guest: With Distillery 2.0... 36:47 – Chuck: What formats do you like if you don’t like JSON? 36:58 – Guest: I am not sure. I would like to run everything in Elixir directly. 37:47 – Panel: I have been using Kubernetes. I like that I can have comments. 38:00 – Panel. 38:10 – Panel. 38:17 – JSON is terrible but you can use it and everyone can, too. 38:27 – Guest: I would probably pick JSON between those two. It’s the lesser of 2 evils. 38:40 – Panel. 39:03 – Guest: The key is to clean up this configuration in the first place. My impression is... 39:30 – Panel: I wrote a library, and there was configuration but it doesn’t belong – it’s not a configuration setting nor...so where should those kinds of settings be? I know they are just parameters, but...so we can pull out our configuration files? 40:11 – Guest: It should be grouped by scope. Take Phoenix application... 41:54 – Panel: That’s your exposed configuration – conceivably – but it should be hard coded. 42:04 – Guest: It won’t be hard coded, and the server will be different in production than your machine. 42:17 – Panel. 42:30 – Guest: Precisely. You have to ask: is this a configured parameter or not? 42:43 – Chuck: Can you talk about how to encrypt and/or protect these secrets? 42:56 – Guest: There are these secrets that are broad secrets via...and it depends on you how you’re going to protect them. Use some encryption scheme. 43:20 – Panel. 43:28 – Guest: Right. 43:31 – Chuck: In Rails it has a secret file, too and you have to provide the key to the app. Then your KEY is a secret. It feels like this circular problem. 43:53 – Guest. 44:54 – Panel: When you are dealing with that sort of thing...library will absolutely assume...and it limits flexibility. 45:17 – Guest: It’s not just an Elixir thing I have seen it in Erlang, too. 47:32 – Chuck: Any stories of people getting this wrong or right? I guess people don’t talk about that; any good stories? 47:54 – Guest: A lot of stories, actually! 49:52 – Panel: Being that Elixir is a more functional language, how do I put in a configuration that will be available at runtime and available very early. I think that is why we stick things up there by putting it in there. 50:35 – Panel. 50:43 – Panel: If it is a library and passes it to a configuration - where does it put it? 50:53 – Panel: A library and not an application... 51:05 – Guest. 51:45 – Panel: Where do I put it? 52:03 – Guest: There are some libraries that have to be configured before we start. The only case that needs some setting before we start is LOGGER. 53:00 – Panel. 53:15 – Guest. 54:00 – (Guest mentions à la Carte – check it out here! It’s just a factory.) 55:38 – Chuck: Let’s do picks! 55:46 – Fresh Books! Links: Ruby Elixir JavaScript React Erlang Kubernetes JSON Logger Docker Config Rethinking App Env Distillery Documentation Elixir in Action Elixir in Action – Book – 2nd edition Elixir – Library Guidelines Elixir Forum The 12-Factor App Distillery’s Documentation GitHub: Toml-Elixir GitHub: Riak_Ensemble GitHub: Elm – Beam GitHub: CodeC-Beam Library Guidelines – Elixir Configuring Elixir Libraries Handling Configurations Etcher Tweet Mashup Sasa’s YouTube Video Sasa’s Twitter Sasa’s GitHub Sasa’s Information at Elixir Conf Sasa’s LinkedIn Josh Adams’ Email: josh@smoothterminal.com Sponsors: Loot Crate Fresh Books Cache Fly Get a Coder Job! Picks: Sasa Run-time Library Guidelines Elixir in Action – Book – 2nd edition The Erlangelist Solid Ground Chuck Tweet Mashup My JavaScript Story Channel Shush App Mark Etcher.io Josh Elm Beam
Panel: Charles Max Wood Guest: Georgi Parlakov This week on My Angular Story, Charles speaks with Georgi Parlakov who is an R&D Developer at Petrotechnical Data Systems who resides in Bulgaria. Chuck and Georgi talk about his background, past and current projects, and so much more! In particular, we dive pretty deep on: 0:15 – Advertisement: Get A Coder Job! 0:49 – Chuck: Hello! 0:53 – Georgi: Hi! 1:00 – Chuck: Introduce yourself, please! 1:08 – Georgi: I have been an Angular developer and love it every step of the way. 1:20 – Chuck: I stared talking to past guests of Angular, and I find that ½ the people are in the U.S. and the other places, too. Different places but what is your experience as being a developer in the other parts of the world are similar. 2:12 – Georgi: I got into programming but I didn’t want to be at a desk all day. I had some friends in the software industry and I liked what they had. In Bulgaria the people in the software industry they have a 2x or 3x standard of living. I really wanted to begin to try to get into software engineering. I didn’t have any technical background. I went to some interviews and I saw that I needed a lot of knowledge to gain. I learned about the Telerik Academy is doing. They have a large academy and that year I learned a lot and I jumped to this opportunity b/c it seemed like magic. Someone is going to teach me how to be a developer and not charge me? I got into it and it was fun, challenging, and rewarding for me. I dropped my current gig and I went to being a developer. 5:14 – How long is the program at the Telerik Academy. 5:20 – Georgi: It’s about a year. Evenings and then you need to go fulltime. 5:45 – Do they teach you JavaScript? 5:50 – Georgi: Yes. Also, DotNet. Java was mentioned in 2011. 6:17 – Kendo UI have widgets for DotNet. 6:28 – Georgi. 6:35 – Chuck: What got you into JavaScript? 6:44 – Georgi: The previous job I had they used Angular. At that time I was doing...which is a service site rendered HTML. We were using some jQuery and Knock Out, I was learning about Angular and was interested. It was an Angular job and it was technically interesting. They talked about 3D rendering. At least that’s what I got from the conversation. Doing the job we got a few new hires, and they started a project in Angular. We learned from each other, and inspired by people like YOU, and from the Angular talks at conferences. I was inspired. 8:21 – You get into Java and Angular did you get into API? 8:31 – Georgi: Yes. 8:38 – I like how Microsoft names stuff. 8:47 – Georgi: I am listening to...if you have a cool project alias then the project name becomes WCF or something long and tedious. 9:09 – I love those guys. 9:15 – Georgi: I am listening to them b/c someone recommended them. They put the bar really high with their mood and content. 9:40 – Chuck: Carl owns a production company. They do a great job. 9:52 – Chuck: What was it about Angular that got you excited? 10:05 – Georgi: It’s similar to the backend stuff and people get into Angular g/c it’s similar to NVC. I got a lot of the documentation b/c it’s written well. At that time my daughter was 6 months old and I was reading her the Angular documentation. I really enjoyed that. Angular was brand new at that point and I didn’t have a mentor at that time. The learning experience was great, and the flow was fun for me b/c it was challenging. 11:33 – Chuck: The experience is good. 11:42 – How did you get your first programming job? 11:45 – Georgi: Basically out of the academy – 2 months out. The people believed in me and I am thankful. I was only 28 years old and I wasn’t the normal person. 12:22 – I got my first job at 27. 12:30 – A lot of people are transitioning. I did an episode with Tina from South Africa. She moved to England and then to the U.S. She has a Ph.D. in Physics and she transitioned into programming in her 50’s. People think: I am “old”, and it really doesn’t matter. 13:27 – Georgi: People complain while they are sitting down on their butts. I want people to know that you can do it. No matter your age or your experience. The coding knowledge will give you a lot of freedom in the future, because it’s doing magic. Everyone should learn how to code as a hobby in addition to your normal job. 14:55 – Chuck: It might be things like AI and how we interact on our devices. It will be a life skill what we consider to be mundane jobs at this point. 15:18 – Georgi: People say AI could take my job, but also AI will create jobs. 15:36 – Chuck: People theorize about this. Every time people advance in technology it does create more jobs. I worry about the psychology of here is money as a handout. 16:29 – Georgi: We get our self-respect b/c of what we accomplish in the job. Most of us work 8 hours with these certain people and these problems. It’s good to like and even love what you do. 17:00 – Chuck: What have you done with Angular that you are proud of? 17:05 – Georgi: Learning from scratch and learning the basics; eventually advancing my knowledge. Lately I have been going to Meetups and do a presentation there. The theme was... I wanted to contribute back to Angular, and my computer at home is PC. I had troubles with... I am an Angular contributor and I am proud of that. I am not a docker nor was I expert angular person, but here I am. 20:25 – Chuck: That’s what peoples mindsets are: I am not this___, I am not that____, etc. If you want a job and you are 90 years old – got for it. You don’t have to be a genius, but you can find something to contribute to the community. 21:17 – Georgi: We have a lot of Angular from my work, I wanted to give back some. Also, and make a name for myself. Again, it was fun and challenging and nice to do it. 21:44 – Chuck: Now that doesn’t hurt b/c you can put on your CV. 21:55 – Georgi: It only shows the top 100. I am not there, but oh well. 22:09 – Chuck: Every little piece helps. You know, it’s a good way to get involved and so much more. What are you working on now? 22:28 – Georgi: The project I am working on is not using Angular. Besides that I am doing a video course on functional C# and it’s a work in progress. 23:10 – Chuck: Anywhere people can find your course? 23:15 – Georgi: It’s less than 50% done, so no. 23:30 – Chuck: What’s it like being a developer in Bulgaria? 23:35 – Georgi: Bulgaria, has a higher living standard for the software industry. 24:55 – Chuck: Is most of the documentation for computers out there in English in Bulgaria? 24:58 – Georgi: No, not the general population speaks English. It does make it a tad harder to transition if you don’t know English. But some of the academies do 25:50 – Chuck: I was a missionary for LDDS in Italy and so my experience as the younger generation speaks English but not the older generation. 26:39 - Georgi: English is 2nd language in Amsterdam. 27:11 – (Chuck talks about international community and developers.) 27:38 – Our team was ½ and ½ out here in Bulgaria. We did meetings in English most of the time. 28:07 – Chuck: Are you located in Sofia? Georgi: Yes. 28:15 – Chuck: When you get outside of the city is there a programming community? 28:20 – Georgi: Yes, definitely. Again, though, it does change. When they graduate from the Telerik Academy... 29:27 – Chuck: I live in Utah and we are between NV and WY and CO. There is an area (North of Salt Lake City) that has a healthy tech scene. It depends on where you are in UT for a strong/weak teach center. 30:31 – Georgi: I would think the younger kids would like to do it and they need to do it here in the bigger cities. That is not unusual. 31:00 – Chuck: Yes, people pick up the skills and get hired and then they go and work remotely. Do you have a Medium account? 31:20 - Georgi: Yes, through Twitter and Medium. 32:20 – Picks! Links: jQuery Angular JavaScript Vue C++ C# Georgi’s LinkedIn Georgi’s Medium Georgi’s Medium Article Georgi’s Twitter Georgi’s GitHub Georgi’s Stack Overflow Georgi’s Blog Sponsors: Get A Coder Job Fresh Books Cache Fly Picks: Georgi Find your thing and take a leap of faith – it’s never too late. Angular BrowserModule Book: The Three-Body Problem by Cixin Liu Book: Getting to Yes by Roger Fisher Charles The Diabetes Code by Dr. Jason Fung Audible Book: Ultramarathon Man by Dean Karnazes 2 Keto Dudes Walk or Run a 5K everyday (3.1 miles)
Panel: Charles Max Wood Guest: Georgi Parlakov This week on My Angular Story, Charles speaks with Georgi Parlakov who is an R&D Developer at Petrotechnical Data Systems who resides in Bulgaria. Chuck and Georgi talk about his background, past and current projects, and so much more! In particular, we dive pretty deep on: 0:15 – Advertisement: Get A Coder Job! 0:49 – Chuck: Hello! 0:53 – Georgi: Hi! 1:00 – Chuck: Introduce yourself, please! 1:08 – Georgi: I have been an Angular developer and love it every step of the way. 1:20 – Chuck: I stared talking to past guests of Angular, and I find that ½ the people are in the U.S. and the other places, too. Different places but what is your experience as being a developer in the other parts of the world are similar. 2:12 – Georgi: I got into programming but I didn’t want to be at a desk all day. I had some friends in the software industry and I liked what they had. In Bulgaria the people in the software industry they have a 2x or 3x standard of living. I really wanted to begin to try to get into software engineering. I didn’t have any technical background. I went to some interviews and I saw that I needed a lot of knowledge to gain. I learned about the Telerik Academy is doing. They have a large academy and that year I learned a lot and I jumped to this opportunity b/c it seemed like magic. Someone is going to teach me how to be a developer and not charge me? I got into it and it was fun, challenging, and rewarding for me. I dropped my current gig and I went to being a developer. 5:14 – How long is the program at the Telerik Academy. 5:20 – Georgi: It’s about a year. Evenings and then you need to go fulltime. 5:45 – Do they teach you JavaScript? 5:50 – Georgi: Yes. Also, DotNet. Java was mentioned in 2011. 6:17 – Kendo UI have widgets for DotNet. 6:28 – Georgi. 6:35 – Chuck: What got you into JavaScript? 6:44 – Georgi: The previous job I had they used Angular. At that time I was doing...which is a service site rendered HTML. We were using some jQuery and Knock Out, I was learning about Angular and was interested. It was an Angular job and it was technically interesting. They talked about 3D rendering. At least that’s what I got from the conversation. Doing the job we got a few new hires, and they started a project in Angular. We learned from each other, and inspired by people like YOU, and from the Angular talks at conferences. I was inspired. 8:21 – You get into Java and Angular did you get into API? 8:31 – Georgi: Yes. 8:38 – I like how Microsoft names stuff. 8:47 – Georgi: I am listening to...if you have a cool project alias then the project name becomes WCF or something long and tedious. 9:09 – I love those guys. 9:15 – Georgi: I am listening to them b/c someone recommended them. They put the bar really high with their mood and content. 9:40 – Chuck: Carl owns a production company. They do a great job. 9:52 – Chuck: What was it about Angular that got you excited? 10:05 – Georgi: It’s similar to the backend stuff and people get into Angular g/c it’s similar to NVC. I got a lot of the documentation b/c it’s written well. At that time my daughter was 6 months old and I was reading her the Angular documentation. I really enjoyed that. Angular was brand new at that point and I didn’t have a mentor at that time. The learning experience was great, and the flow was fun for me b/c it was challenging. 11:33 – Chuck: The experience is good. 11:42 – How did you get your first programming job? 11:45 – Georgi: Basically out of the academy – 2 months out. The people believed in me and I am thankful. I was only 28 years old and I wasn’t the normal person. 12:22 – I got my first job at 27. 12:30 – A lot of people are transitioning. I did an episode with Tina from South Africa. She moved to England and then to the U.S. She has a Ph.D. in Physics and she transitioned into programming in her 50’s. People think: I am “old”, and it really doesn’t matter. 13:27 – Georgi: People complain while they are sitting down on their butts. I want people to know that you can do it. No matter your age or your experience. The coding knowledge will give you a lot of freedom in the future, because it’s doing magic. Everyone should learn how to code as a hobby in addition to your normal job. 14:55 – Chuck: It might be things like AI and how we interact on our devices. It will be a life skill what we consider to be mundane jobs at this point. 15:18 – Georgi: People say AI could take my job, but also AI will create jobs. 15:36 – Chuck: People theorize about this. Every time people advance in technology it does create more jobs. I worry about the psychology of here is money as a handout. 16:29 – Georgi: We get our self-respect b/c of what we accomplish in the job. Most of us work 8 hours with these certain people and these problems. It’s good to like and even love what you do. 17:00 – Chuck: What have you done with Angular that you are proud of? 17:05 – Georgi: Learning from scratch and learning the basics; eventually advancing my knowledge. Lately I have been going to Meetups and do a presentation there. The theme was... I wanted to contribute back to Angular, and my computer at home is PC. I had troubles with... I am an Angular contributor and I am proud of that. I am not a docker nor was I expert angular person, but here I am. 20:25 – Chuck: That’s what peoples mindsets are: I am not this___, I am not that____, etc. If you want a job and you are 90 years old – got for it. You don’t have to be a genius, but you can find something to contribute to the community. 21:17 – Georgi: We have a lot of Angular from my work, I wanted to give back some. Also, and make a name for myself. Again, it was fun and challenging and nice to do it. 21:44 – Chuck: Now that doesn’t hurt b/c you can put on your CV. 21:55 – Georgi: It only shows the top 100. I am not there, but oh well. 22:09 – Chuck: Every little piece helps. You know, it’s a good way to get involved and so much more. What are you working on now? 22:28 – Georgi: The project I am working on is not using Angular. Besides that I am doing a video course on functional C# and it’s a work in progress. 23:10 – Chuck: Anywhere people can find your course? 23:15 – Georgi: It’s less than 50% done, so no. 23:30 – Chuck: What’s it like being a developer in Bulgaria? 23:35 – Georgi: Bulgaria, has a higher living standard for the software industry. 24:55 – Chuck: Is most of the documentation for computers out there in English in Bulgaria? 24:58 – Georgi: No, not the general population speaks English. It does make it a tad harder to transition if you don’t know English. But some of the academies do 25:50 – Chuck: I was a missionary for LDDS in Italy and so my experience as the younger generation speaks English but not the older generation. 26:39 - Georgi: English is 2nd language in Amsterdam. 27:11 – (Chuck talks about international community and developers.) 27:38 – Our team was ½ and ½ out here in Bulgaria. We did meetings in English most of the time. 28:07 – Chuck: Are you located in Sofia? Georgi: Yes. 28:15 – Chuck: When you get outside of the city is there a programming community? 28:20 – Georgi: Yes, definitely. Again, though, it does change. When they graduate from the Telerik Academy... 29:27 – Chuck: I live in Utah and we are between NV and WY and CO. There is an area (North of Salt Lake City) that has a healthy tech scene. It depends on where you are in UT for a strong/weak teach center. 30:31 – Georgi: I would think the younger kids would like to do it and they need to do it here in the bigger cities. That is not unusual. 31:00 – Chuck: Yes, people pick up the skills and get hired and then they go and work remotely. Do you have a Medium account? 31:20 - Georgi: Yes, through Twitter and Medium. 32:20 – Picks! Links: jQuery Angular JavaScript Vue C++ C# Georgi’s LinkedIn Georgi’s Medium Georgi’s Medium Article Georgi’s Twitter Georgi’s GitHub Georgi’s Stack Overflow Georgi’s Blog Sponsors: Get A Coder Job Fresh Books Cache Fly Picks: Georgi Find your thing and take a leap of faith – it’s never too late. Angular BrowserModule Book: The Three-Body Problem by Cixin Liu Book: Getting to Yes by Roger Fisher Charles The Diabetes Code by Dr. Jason Fung Audible Book: Ultramarathon Man by Dean Karnazes 2 Keto Dudes Walk or Run a 5K everyday (3.1 miles)
Panel: Charles Max Wood Guest: Georgi Parlakov This week on My Angular Story, Charles speaks with Georgi Parlakov who is an R&D Developer at Petrotechnical Data Systems who resides in Bulgaria. Chuck and Georgi talk about his background, past and current projects, and so much more! In particular, we dive pretty deep on: 0:15 – Advertisement: Get A Coder Job! 0:49 – Chuck: Hello! 0:53 – Georgi: Hi! 1:00 – Chuck: Introduce yourself, please! 1:08 – Georgi: I have been an Angular developer and love it every step of the way. 1:20 – Chuck: I stared talking to past guests of Angular, and I find that ½ the people are in the U.S. and the other places, too. Different places but what is your experience as being a developer in the other parts of the world are similar. 2:12 – Georgi: I got into programming but I didn’t want to be at a desk all day. I had some friends in the software industry and I liked what they had. In Bulgaria the people in the software industry they have a 2x or 3x standard of living. I really wanted to begin to try to get into software engineering. I didn’t have any technical background. I went to some interviews and I saw that I needed a lot of knowledge to gain. I learned about the Telerik Academy is doing. They have a large academy and that year I learned a lot and I jumped to this opportunity b/c it seemed like magic. Someone is going to teach me how to be a developer and not charge me? I got into it and it was fun, challenging, and rewarding for me. I dropped my current gig and I went to being a developer. 5:14 – How long is the program at the Telerik Academy. 5:20 – Georgi: It’s about a year. Evenings and then you need to go fulltime. 5:45 – Do they teach you JavaScript? 5:50 – Georgi: Yes. Also, DotNet. Java was mentioned in 2011. 6:17 – Kendo UI have widgets for DotNet. 6:28 – Georgi. 6:35 – Chuck: What got you into JavaScript? 6:44 – Georgi: The previous job I had they used Angular. At that time I was doing...which is a service site rendered HTML. We were using some jQuery and Knock Out, I was learning about Angular and was interested. It was an Angular job and it was technically interesting. They talked about 3D rendering. At least that’s what I got from the conversation. Doing the job we got a few new hires, and they started a project in Angular. We learned from each other, and inspired by people like YOU, and from the Angular talks at conferences. I was inspired. 8:21 – You get into Java and Angular did you get into API? 8:31 – Georgi: Yes. 8:38 – I like how Microsoft names stuff. 8:47 – Georgi: I am listening to...if you have a cool project alias then the project name becomes WCF or something long and tedious. 9:09 – I love those guys. 9:15 – Georgi: I am listening to them b/c someone recommended them. They put the bar really high with their mood and content. 9:40 – Chuck: Carl owns a production company. They do a great job. 9:52 – Chuck: What was it about Angular that got you excited? 10:05 – Georgi: It’s similar to the backend stuff and people get into Angular g/c it’s similar to NVC. I got a lot of the documentation b/c it’s written well. At that time my daughter was 6 months old and I was reading her the Angular documentation. I really enjoyed that. Angular was brand new at that point and I didn’t have a mentor at that time. The learning experience was great, and the flow was fun for me b/c it was challenging. 11:33 – Chuck: The experience is good. 11:42 – How did you get your first programming job? 11:45 – Georgi: Basically out of the academy – 2 months out. The people believed in me and I am thankful. I was only 28 years old and I wasn’t the normal person. 12:22 – I got my first job at 27. 12:30 – A lot of people are transitioning. I did an episode with Tina from South Africa. She moved to England and then to the U.S. She has a Ph.D. in Physics and she transitioned into programming in her 50’s. People think: I am “old”, and it really doesn’t matter. 13:27 – Georgi: People complain while they are sitting down on their butts. I want people to know that you can do it. No matter your age or your experience. The coding knowledge will give you a lot of freedom in the future, because it’s doing magic. Everyone should learn how to code as a hobby in addition to your normal job. 14:55 – Chuck: It might be things like AI and how we interact on our devices. It will be a life skill what we consider to be mundane jobs at this point. 15:18 – Georgi: People say AI could take my job, but also AI will create jobs. 15:36 – Chuck: People theorize about this. Every time people advance in technology it does create more jobs. I worry about the psychology of here is money as a handout. 16:29 – Georgi: We get our self-respect b/c of what we accomplish in the job. Most of us work 8 hours with these certain people and these problems. It’s good to like and even love what you do. 17:00 – Chuck: What have you done with Angular that you are proud of? 17:05 – Georgi: Learning from scratch and learning the basics; eventually advancing my knowledge. Lately I have been going to Meetups and do a presentation there. The theme was... I wanted to contribute back to Angular, and my computer at home is PC. I had troubles with... I am an Angular contributor and I am proud of that. I am not a docker nor was I expert angular person, but here I am. 20:25 – Chuck: That’s what peoples mindsets are: I am not this___, I am not that____, etc. If you want a job and you are 90 years old – got for it. You don’t have to be a genius, but you can find something to contribute to the community. 21:17 – Georgi: We have a lot of Angular from my work, I wanted to give back some. Also, and make a name for myself. Again, it was fun and challenging and nice to do it. 21:44 – Chuck: Now that doesn’t hurt b/c you can put on your CV. 21:55 – Georgi: It only shows the top 100. I am not there, but oh well. 22:09 – Chuck: Every little piece helps. You know, it’s a good way to get involved and so much more. What are you working on now? 22:28 – Georgi: The project I am working on is not using Angular. Besides that I am doing a video course on functional C# and it’s a work in progress. 23:10 – Chuck: Anywhere people can find your course? 23:15 – Georgi: It’s less than 50% done, so no. 23:30 – Chuck: What’s it like being a developer in Bulgaria? 23:35 – Georgi: Bulgaria, has a higher living standard for the software industry. 24:55 – Chuck: Is most of the documentation for computers out there in English in Bulgaria? 24:58 – Georgi: No, not the general population speaks English. It does make it a tad harder to transition if you don’t know English. But some of the academies do 25:50 – Chuck: I was a missionary for LDDS in Italy and so my experience as the younger generation speaks English but not the older generation. 26:39 - Georgi: English is 2nd language in Amsterdam. 27:11 – (Chuck talks about international community and developers.) 27:38 – Our team was ½ and ½ out here in Bulgaria. We did meetings in English most of the time. 28:07 – Chuck: Are you located in Sofia? Georgi: Yes. 28:15 – Chuck: When you get outside of the city is there a programming community? 28:20 – Georgi: Yes, definitely. Again, though, it does change. When they graduate from the Telerik Academy... 29:27 – Chuck: I live in Utah and we are between NV and WY and CO. There is an area (North of Salt Lake City) that has a healthy tech scene. It depends on where you are in UT for a strong/weak teach center. 30:31 – Georgi: I would think the younger kids would like to do it and they need to do it here in the bigger cities. That is not unusual. 31:00 – Chuck: Yes, people pick up the skills and get hired and then they go and work remotely. Do you have a Medium account? 31:20 - Georgi: Yes, through Twitter and Medium. 32:20 – Picks! Links: jQuery Angular JavaScript Vue C++ C# Georgi’s LinkedIn Georgi’s Medium Georgi’s Medium Article Georgi’s Twitter Georgi’s GitHub Georgi’s Stack Overflow Georgi’s Blog Sponsors: Get A Coder Job Fresh Books Cache Fly Picks: Georgi Find your thing and take a leap of faith – it’s never too late. Angular BrowserModule Book: The Three-Body Problem by Cixin Liu Book: Getting to Yes by Roger Fisher Charles The Diabetes Code by Dr. Jason Fung Audible Book: Ultramarathon Man by Dean Karnazes 2 Keto Dudes Walk or Run a 5K everyday (3.1 miles)
Panel: Dave Kimura Eric Berry Nathan Hopkins David Richards Special Guest: Jason Swett In this episode of Ruby Rogues, the panel talks with Jason Swett who is a host of the podcast show, Ruby Testing! Jason also teaches Rails testing at CodeWithJason.com. He currently resides in the Michigan area and works for Ben Franklin Labs. Check-out today’s episode where the panelists and the guest discuss testing topics. Show Topics: 0:00 – Sentry.IO – Advertisement! Check out the code: DEVCHAT @ Sentry.io. 1:07 – I am David Kimura and here is the panel! Tell us what is going on? 1:38 – Jason: I started my own podcast, and have been doing that for the past few months. That’s one thing. I started a new site with CodeWithJason.com. 2:04 – You released a course? 2:10 – Jason: Total flop and it doesn’t exist, but I am doing something else. 2:24 – I bet you learned a lot by creating the course? 2:34 – Jason: The endeavor of TEACHING it has helped me a lot. 2:50 – Tell us why we should drink the Koolaid? 3:02 – Jason: What IS testing? Good question. Whether is it is manual testing or automated testing. We might was well automate it. 3:25 – If we are testing our code what does that look like? 3:34 – Jason: Not sure what you mean, but I am doing tests at a fine grain vs. coarser grain. 4:00 – Show of hands who has...? 4:19 – What different tests are there? 4:20 – Jason: Good question. One term that one person uses is different to a different person. Let’s start with unit tests vs. integration tests. Jason dives into the similarities and differences between these 2 tests (see above). There are different tests, such as: featured tests, acceptance tests, etc. 5:45 – What tests are THE best? 5:50 – Jason: Good question. The kind of tests you are writing depends on what type of coverage you are going for. If I had a sign-up page for a user, I would... 7:36 – What anti-patterns are you seeing? What is your narrative in teaching people how to use them? 8:07 – Jason talks first about his background and his interaction with one of his colleagues. 8:58 – Question. 9:00 – Jason continues with his answers from 8:07. 9:32 – Jason: Feel free to chime-in. What have you done? 9:42 – I often ignore it until I feel bad and then I say: wait-a-minute I am a professional. Then I realize I ignored the problem because I was acting cowardly. 10:29 – For me it depends on the test that it is. One gem that I found is: RSpec RETRY. 11:16 – Jason: The test is flapping because of something is wrong with the database or something else. Since you asked about anti-patterns let’s talk about that! Rails and Angular are mentioned. 13:10 – Do you find that you back off of your unit testing when you are using integration? 13:22 – Jason: It depends on the context we are talking about. Jason talks about featured testing, model-level testing, and more. 13:58 – What is your view on using MOCKS or FAKES. What should we be doing there? 14:10 – Jason: Going to the Angular world I understand Mocks better than now. There was a parable that I think is applicable here about the young and the old fish. 16:23 – Jason continues talking about testing things in isolation. 16:36 – Question. 16:39 – I have been looking for an area to specialize in and I wrote an eBook. (Check out here to see the articles and books that Jason has authored.) Then I was looking around and I wanted to see what people’s issues are with Rails? They have a hard time with testing. I wanted to help them feel competent with it. 18:03 – In your course you have how to choose a framework. I know Ruby has several options on that front – how do you choose? 18:24 – Jason: There are 2 factors to consider. Jason tells us what those two factors are. Jason: Angular, React and Vue. 19:52 – Panelist: I had a conversation with a beginner and we were talking about the different tests. He said the DSL really appealed to him. The surface area of the AI made it approachable for him. 20:27 – Jason: I wished I had figured out DSL out a little better. Understanding the concept of a block. The IT is just a function and you can put parentheses in different areas and... 21:01 – That makes sense. Let’s revisit the Tweet you wrote. 21:35 – Jason: There are certain use cases where it makes sense. Where Gmail was the thing out there. At some point the Internet formed the opinion that... 22:39 – Old saying: Nobody gets fired for using Microsoft and then it was IBM. Nothing wrong with those things if that’s what you are trying to do. Sometimes we make decisions to not be criticized. We try to grab big frameworks and big codes so we are not criticized for. 23:48 – Jason: I think developers have this idea that OLD is OUTDATED. Not so. I think it’s mature, not necessarily outdated. I think it’s a pervasive idea. 24:31 – I think it suffers a bit when all the mind shares get lumped into one thing. The panelist continues... 24:53 – Jason: I don’t know if I like this analogy. 26:00 – I agree with that sentiment. It’s crazy that the complexity has become so pervasive. 26:18 – I think of SPAs as... 26:37 – Jason: Going back to the Tweet I wrote, I am pulling in JavaScript but I am preferring to sprinkle Java into Rails. 27:02 – Absolutely. I think that’s where we agree on. Late in 2017 we had the guest... “Use JavaScript sprinkles.” 27:49 – Panelist chimes-in. 28:37 – Jason: That make sense. Use your preexisting... I am afraid of committing to a single framework. I don’t have anything against JavaScript but I am afraid of using only one thing when something else becomes fashionable. 29:30 – Have you found that Java sparkle approach is easy to test? 29:38 – Jason: I think it’s easier. Client server architecture... 30:10 – Advertisement: Get A Coder Job! 30:41 – Shout-out to the Rails team! What other testing frameworks are there? What if you are not the developer but you are the Quality Assurance (QA) person. They have been given the task of testing on the application. 31:30 – Jason: So someone who is not a developer and they want to test the application. I don’t want to get out of my role of expertise. I did talk to a QA engineer and I asked them: What do you do? All of his tests are manual. He does the same stuff as a Rails developer would do. 32:52 – Panelist talks about pseudo code. 34:07 – Jason: I am curious, Dave, about the non-programmer helping with tests what is the team structure? 34:23 – Dave: You will have one QA per three developers. 34:44 – Jason: If you have a QA person he is integrated within the team – that’s what has been the case for me. 35:02 – Dave: It’s a nice thing to have because we need to crank out some features and we have a good idea what is wrong with the app. We can go in there and see if our application is good, but they are combining different scenarios to do the unit tests and see what they are lacking. They are uncovering different problems that we hadn’t thought of. 36:07 – The organization has to have the right culture for that to work. 36:35 – If it’s a small team then it will help to see what everyone is doing – it’s that engagement level. If the team is too large then it could be a problem. 37:15 – Jason: Engagement between whom? 37:27 – Both. Panelist goes into detail about different engagement levels throughout the team. 38:10 – Jason: Yeah that’s a tough thing. 38:49 – It’s interesting to see the things that are being created. Testing seems to help that out. We are getting bugs in that area or se didn’t design it well there... We see that we need some flexibility and getting that input and having a way to solve the problems. 39:32 – Jason: Continuous deployment – let’s segue into this topic. 41:17 – Panelist: Do you have recommendations on how often we should be deploying in that system per day/week? 41:40 – Jason: We would deploy several times a day, which was great. The more the better because the more frequently you are deploying the fewer things will go wrong. 42:21 – More frequently the better and more people involved. 42:45 – Jason continues this conversation. 42:51 – Panelist: Continuous integration – any time you were say to forgo tests or being less rigid? 43:14 – Jason: I don’t test everything. I don’t write tests for things that have little risks. 43:56 – I think it is a good segue into how you write your code. If you write a code that is like spaghetti then it will be a mess. Making things easier to test. 44:48 – Jason: This is fresh in my mind because I am writing an app called Green Field. 46:32 – Uniqueness Validations, is mentioned by Jason. 47:00 – Anything else to add to testing a Rails application? 47:08 – Jason: Let’s talk about 2 things: walking skeleton and small stories. This book is a great resource for automated testing. Last point that I want to talk about is small stories: continues deployment and continuous delivery. If you make your stories smaller then you are making your stories crisply defined. Have some bullet points to make it really easy to answer the question. Answer the question: is this story done or not done? Someone should be able to run through the bullet points and answer that question. 50:02 – I am in favor of small stories, too. Makes you feel more productive, too. 50:14 – Work tends to lend itself to these types of stories and running a sprint. 51:22 – You don’t have to carry that burden when you go home. You might have too big of a chunk – it carries too much weight to it. 51:47 – Book the Phoenix Project. Work in progress is a bad thing. That makes sense. You want to have fewer balls in the air. 52:17 – Anything else? 52:22 – Jason: You can find me at: CodewithJason.com also Twitter! 52:45 – Advertisement – Fresh Books! 1:01:50 – Cache Fly! Links: Get a Coder Job Course Erlang Ruby Ruby Motion Ruby on Rails Angular Single Page Application (SPA) RSpec – Retry Ruby Testing Podcast The Feynman Technique Model Book: Growing Object-Oriented Software, Guided by Tests (1st edition) Jason Swett’s Twitter Jason Swett’s LinkedIn Parable: Young Fish and Old Fish – What is Water? Jason’s articles and eBook Jason’s Website Sponsors: Sentry Get a Coder Job Course Fresh Books Cache Fly Picks: David This is Water The Feynman Technique Model Nate Taking some time off Pry Test Eric Fake App Ruby Hack Conference Dave Brooks Shoes Jason The Food Lab Growing Object-Oriented Software
Panel: Dave Kimura Eric Berry Nathan Hopkins David Richards Special Guest: Jason Swett In this episode of Ruby Rogues, the panel talks with Jason Swett who is a host of the podcast show, Ruby Testing! Jason also teaches Rails testing at CodeWithJason.com. He currently resides in the Michigan area and works for Ben Franklin Labs. Check-out today’s episode where the panelists and the guest discuss testing topics. Show Topics: 0:00 – Sentry.IO – Advertisement! Check out the code: DEVCHAT @ Sentry.io. 1:07 – I am David Kimura and here is the panel! Tell us what is going on? 1:38 – Jason: I started my own podcast, and have been doing that for the past few months. That’s one thing. I started a new site with CodeWithJason.com. 2:04 – You released a course? 2:10 – Jason: Total flop and it doesn’t exist, but I am doing something else. 2:24 – I bet you learned a lot by creating the course? 2:34 – Jason: The endeavor of TEACHING it has helped me a lot. 2:50 – Tell us why we should drink the Koolaid? 3:02 – Jason: What IS testing? Good question. Whether is it is manual testing or automated testing. We might was well automate it. 3:25 – If we are testing our code what does that look like? 3:34 – Jason: Not sure what you mean, but I am doing tests at a fine grain vs. coarser grain. 4:00 – Show of hands who has...? 4:19 – What different tests are there? 4:20 – Jason: Good question. One term that one person uses is different to a different person. Let’s start with unit tests vs. integration tests. Jason dives into the similarities and differences between these 2 tests (see above). There are different tests, such as: featured tests, acceptance tests, etc. 5:45 – What tests are THE best? 5:50 – Jason: Good question. The kind of tests you are writing depends on what type of coverage you are going for. If I had a sign-up page for a user, I would... 7:36 – What anti-patterns are you seeing? What is your narrative in teaching people how to use them? 8:07 – Jason talks first about his background and his interaction with one of his colleagues. 8:58 – Question. 9:00 – Jason continues with his answers from 8:07. 9:32 – Jason: Feel free to chime-in. What have you done? 9:42 – I often ignore it until I feel bad and then I say: wait-a-minute I am a professional. Then I realize I ignored the problem because I was acting cowardly. 10:29 – For me it depends on the test that it is. One gem that I found is: RSpec RETRY. 11:16 – Jason: The test is flapping because of something is wrong with the database or something else. Since you asked about anti-patterns let’s talk about that! Rails and Angular are mentioned. 13:10 – Do you find that you back off of your unit testing when you are using integration? 13:22 – Jason: It depends on the context we are talking about. Jason talks about featured testing, model-level testing, and more. 13:58 – What is your view on using MOCKS or FAKES. What should we be doing there? 14:10 – Jason: Going to the Angular world I understand Mocks better than now. There was a parable that I think is applicable here about the young and the old fish. 16:23 – Jason continues talking about testing things in isolation. 16:36 – Question. 16:39 – I have been looking for an area to specialize in and I wrote an eBook. (Check out here to see the articles and books that Jason has authored.) Then I was looking around and I wanted to see what people’s issues are with Rails? They have a hard time with testing. I wanted to help them feel competent with it. 18:03 – In your course you have how to choose a framework. I know Ruby has several options on that front – how do you choose? 18:24 – Jason: There are 2 factors to consider. Jason tells us what those two factors are. Jason: Angular, React and Vue. 19:52 – Panelist: I had a conversation with a beginner and we were talking about the different tests. He said the DSL really appealed to him. The surface area of the AI made it approachable for him. 20:27 – Jason: I wished I had figured out DSL out a little better. Understanding the concept of a block. The IT is just a function and you can put parentheses in different areas and... 21:01 – That makes sense. Let’s revisit the Tweet you wrote. 21:35 – Jason: There are certain use cases where it makes sense. Where Gmail was the thing out there. At some point the Internet formed the opinion that... 22:39 – Old saying: Nobody gets fired for using Microsoft and then it was IBM. Nothing wrong with those things if that’s what you are trying to do. Sometimes we make decisions to not be criticized. We try to grab big frameworks and big codes so we are not criticized for. 23:48 – Jason: I think developers have this idea that OLD is OUTDATED. Not so. I think it’s mature, not necessarily outdated. I think it’s a pervasive idea. 24:31 – I think it suffers a bit when all the mind shares get lumped into one thing. The panelist continues... 24:53 – Jason: I don’t know if I like this analogy. 26:00 – I agree with that sentiment. It’s crazy that the complexity has become so pervasive. 26:18 – I think of SPAs as... 26:37 – Jason: Going back to the Tweet I wrote, I am pulling in JavaScript but I am preferring to sprinkle Java into Rails. 27:02 – Absolutely. I think that’s where we agree on. Late in 2017 we had the guest... “Use JavaScript sprinkles.” 27:49 – Panelist chimes-in. 28:37 – Jason: That make sense. Use your preexisting... I am afraid of committing to a single framework. I don’t have anything against JavaScript but I am afraid of using only one thing when something else becomes fashionable. 29:30 – Have you found that Java sparkle approach is easy to test? 29:38 – Jason: I think it’s easier. Client server architecture... 30:10 – Advertisement: Get A Coder Job! 30:41 – Shout-out to the Rails team! What other testing frameworks are there? What if you are not the developer but you are the Quality Assurance (QA) person. They have been given the task of testing on the application. 31:30 – Jason: So someone who is not a developer and they want to test the application. I don’t want to get out of my role of expertise. I did talk to a QA engineer and I asked them: What do you do? All of his tests are manual. He does the same stuff as a Rails developer would do. 32:52 – Panelist talks about pseudo code. 34:07 – Jason: I am curious, Dave, about the non-programmer helping with tests what is the team structure? 34:23 – Dave: You will have one QA per three developers. 34:44 – Jason: If you have a QA person he is integrated within the team – that’s what has been the case for me. 35:02 – Dave: It’s a nice thing to have because we need to crank out some features and we have a good idea what is wrong with the app. We can go in there and see if our application is good, but they are combining different scenarios to do the unit tests and see what they are lacking. They are uncovering different problems that we hadn’t thought of. 36:07 – The organization has to have the right culture for that to work. 36:35 – If it’s a small team then it will help to see what everyone is doing – it’s that engagement level. If the team is too large then it could be a problem. 37:15 – Jason: Engagement between whom? 37:27 – Both. Panelist goes into detail about different engagement levels throughout the team. 38:10 – Jason: Yeah that’s a tough thing. 38:49 – It’s interesting to see the things that are being created. Testing seems to help that out. We are getting bugs in that area or se didn’t design it well there... We see that we need some flexibility and getting that input and having a way to solve the problems. 39:32 – Jason: Continuous deployment – let’s segue into this topic. 41:17 – Panelist: Do you have recommendations on how often we should be deploying in that system per day/week? 41:40 – Jason: We would deploy several times a day, which was great. The more the better because the more frequently you are deploying the fewer things will go wrong. 42:21 – More frequently the better and more people involved. 42:45 – Jason continues this conversation. 42:51 – Panelist: Continuous integration – any time you were say to forgo tests or being less rigid? 43:14 – Jason: I don’t test everything. I don’t write tests for things that have little risks. 43:56 – I think it is a good segue into how you write your code. If you write a code that is like spaghetti then it will be a mess. Making things easier to test. 44:48 – Jason: This is fresh in my mind because I am writing an app called Green Field. 46:32 – Uniqueness Validations, is mentioned by Jason. 47:00 – Anything else to add to testing a Rails application? 47:08 – Jason: Let’s talk about 2 things: walking skeleton and small stories. This book is a great resource for automated testing. Last point that I want to talk about is small stories: continues deployment and continuous delivery. If you make your stories smaller then you are making your stories crisply defined. Have some bullet points to make it really easy to answer the question. Answer the question: is this story done or not done? Someone should be able to run through the bullet points and answer that question. 50:02 – I am in favor of small stories, too. Makes you feel more productive, too. 50:14 – Work tends to lend itself to these types of stories and running a sprint. 51:22 – You don’t have to carry that burden when you go home. You might have too big of a chunk – it carries too much weight to it. 51:47 – Book the Phoenix Project. Work in progress is a bad thing. That makes sense. You want to have fewer balls in the air. 52:17 – Anything else? 52:22 – Jason: You can find me at: CodewithJason.com also Twitter! 52:45 – Advertisement – Fresh Books! 1:01:50 – Cache Fly! Links: Get a Coder Job Course Erlang Ruby Ruby Motion Ruby on Rails Angular Single Page Application (SPA) RSpec – Retry Ruby Testing Podcast The Feynman Technique Model Book: Growing Object-Oriented Software, Guided by Tests (1st edition) Jason Swett’s Twitter Jason Swett’s LinkedIn Parable: Young Fish and Old Fish – What is Water? Jason’s articles and eBook Jason’s Website Sponsors: Sentry Get a Coder Job Course Fresh Books Cache Fly Picks: David This is Water The Feynman Technique Model Nate Taking some time off Pry Test Eric Fake App Ruby Hack Conference Dave Brooks Shoes Jason The Food Lab Growing Object-Oriented Software
Panel: Dave Kimura Eric Berry Nathan Hopkins David Richards Special Guest: Jason Swett In this episode of Ruby Rogues, the panel talks with Jason Swett who is a host of the podcast show, Ruby Testing! Jason also teaches Rails testing at CodeWithJason.com. He currently resides in the Michigan area and works for Ben Franklin Labs. Check-out today’s episode where the panelists and the guest discuss testing topics. Show Topics: 0:00 – Sentry.IO – Advertisement! Check out the code: DEVCHAT @ Sentry.io. 1:07 – I am David Kimura and here is the panel! Tell us what is going on? 1:38 – Jason: I started my own podcast, and have been doing that for the past few months. That’s one thing. I started a new site with CodeWithJason.com. 2:04 – You released a course? 2:10 – Jason: Total flop and it doesn’t exist, but I am doing something else. 2:24 – I bet you learned a lot by creating the course? 2:34 – Jason: The endeavor of TEACHING it has helped me a lot. 2:50 – Tell us why we should drink the Koolaid? 3:02 – Jason: What IS testing? Good question. Whether is it is manual testing or automated testing. We might was well automate it. 3:25 – If we are testing our code what does that look like? 3:34 – Jason: Not sure what you mean, but I am doing tests at a fine grain vs. coarser grain. 4:00 – Show of hands who has...? 4:19 – What different tests are there? 4:20 – Jason: Good question. One term that one person uses is different to a different person. Let’s start with unit tests vs. integration tests. Jason dives into the similarities and differences between these 2 tests (see above). There are different tests, such as: featured tests, acceptance tests, etc. 5:45 – What tests are THE best? 5:50 – Jason: Good question. The kind of tests you are writing depends on what type of coverage you are going for. If I had a sign-up page for a user, I would... 7:36 – What anti-patterns are you seeing? What is your narrative in teaching people how to use them? 8:07 – Jason talks first about his background and his interaction with one of his colleagues. 8:58 – Question. 9:00 – Jason continues with his answers from 8:07. 9:32 – Jason: Feel free to chime-in. What have you done? 9:42 – I often ignore it until I feel bad and then I say: wait-a-minute I am a professional. Then I realize I ignored the problem because I was acting cowardly. 10:29 – For me it depends on the test that it is. One gem that I found is: RSpec RETRY. 11:16 – Jason: The test is flapping because of something is wrong with the database or something else. Since you asked about anti-patterns let’s talk about that! Rails and Angular are mentioned. 13:10 – Do you find that you back off of your unit testing when you are using integration? 13:22 – Jason: It depends on the context we are talking about. Jason talks about featured testing, model-level testing, and more. 13:58 – What is your view on using MOCKS or FAKES. What should we be doing there? 14:10 – Jason: Going to the Angular world I understand Mocks better than now. There was a parable that I think is applicable here about the young and the old fish. 16:23 – Jason continues talking about testing things in isolation. 16:36 – Question. 16:39 – I have been looking for an area to specialize in and I wrote an eBook. (Check out here to see the articles and books that Jason has authored.) Then I was looking around and I wanted to see what people’s issues are with Rails? They have a hard time with testing. I wanted to help them feel competent with it. 18:03 – In your course you have how to choose a framework. I know Ruby has several options on that front – how do you choose? 18:24 – Jason: There are 2 factors to consider. Jason tells us what those two factors are. Jason: Angular, React and Vue. 19:52 – Panelist: I had a conversation with a beginner and we were talking about the different tests. He said the DSL really appealed to him. The surface area of the AI made it approachable for him. 20:27 – Jason: I wished I had figured out DSL out a little better. Understanding the concept of a block. The IT is just a function and you can put parentheses in different areas and... 21:01 – That makes sense. Let’s revisit the Tweet you wrote. 21:35 – Jason: There are certain use cases where it makes sense. Where Gmail was the thing out there. At some point the Internet formed the opinion that... 22:39 – Old saying: Nobody gets fired for using Microsoft and then it was IBM. Nothing wrong with those things if that’s what you are trying to do. Sometimes we make decisions to not be criticized. We try to grab big frameworks and big codes so we are not criticized for. 23:48 – Jason: I think developers have this idea that OLD is OUTDATED. Not so. I think it’s mature, not necessarily outdated. I think it’s a pervasive idea. 24:31 – I think it suffers a bit when all the mind shares get lumped into one thing. The panelist continues... 24:53 – Jason: I don’t know if I like this analogy. 26:00 – I agree with that sentiment. It’s crazy that the complexity has become so pervasive. 26:18 – I think of SPAs as... 26:37 – Jason: Going back to the Tweet I wrote, I am pulling in JavaScript but I am preferring to sprinkle Java into Rails. 27:02 – Absolutely. I think that’s where we agree on. Late in 2017 we had the guest... “Use JavaScript sprinkles.” 27:49 – Panelist chimes-in. 28:37 – Jason: That make sense. Use your preexisting... I am afraid of committing to a single framework. I don’t have anything against JavaScript but I am afraid of using only one thing when something else becomes fashionable. 29:30 – Have you found that Java sparkle approach is easy to test? 29:38 – Jason: I think it’s easier. Client server architecture... 30:10 – Advertisement: Get A Coder Job! 30:41 – Shout-out to the Rails team! What other testing frameworks are there? What if you are not the developer but you are the Quality Assurance (QA) person. They have been given the task of testing on the application. 31:30 – Jason: So someone who is not a developer and they want to test the application. I don’t want to get out of my role of expertise. I did talk to a QA engineer and I asked them: What do you do? All of his tests are manual. He does the same stuff as a Rails developer would do. 32:52 – Panelist talks about pseudo code. 34:07 – Jason: I am curious, Dave, about the non-programmer helping with tests what is the team structure? 34:23 – Dave: You will have one QA per three developers. 34:44 – Jason: If you have a QA person he is integrated within the team – that’s what has been the case for me. 35:02 – Dave: It’s a nice thing to have because we need to crank out some features and we have a good idea what is wrong with the app. We can go in there and see if our application is good, but they are combining different scenarios to do the unit tests and see what they are lacking. They are uncovering different problems that we hadn’t thought of. 36:07 – The organization has to have the right culture for that to work. 36:35 – If it’s a small team then it will help to see what everyone is doing – it’s that engagement level. If the team is too large then it could be a problem. 37:15 – Jason: Engagement between whom? 37:27 – Both. Panelist goes into detail about different engagement levels throughout the team. 38:10 – Jason: Yeah that’s a tough thing. 38:49 – It’s interesting to see the things that are being created. Testing seems to help that out. We are getting bugs in that area or se didn’t design it well there... We see that we need some flexibility and getting that input and having a way to solve the problems. 39:32 – Jason: Continuous deployment – let’s segue into this topic. 41:17 – Panelist: Do you have recommendations on how often we should be deploying in that system per day/week? 41:40 – Jason: We would deploy several times a day, which was great. The more the better because the more frequently you are deploying the fewer things will go wrong. 42:21 – More frequently the better and more people involved. 42:45 – Jason continues this conversation. 42:51 – Panelist: Continuous integration – any time you were say to forgo tests or being less rigid? 43:14 – Jason: I don’t test everything. I don’t write tests for things that have little risks. 43:56 – I think it is a good segue into how you write your code. If you write a code that is like spaghetti then it will be a mess. Making things easier to test. 44:48 – Jason: This is fresh in my mind because I am writing an app called Green Field. 46:32 – Uniqueness Validations, is mentioned by Jason. 47:00 – Anything else to add to testing a Rails application? 47:08 – Jason: Let’s talk about 2 things: walking skeleton and small stories. This book is a great resource for automated testing. Last point that I want to talk about is small stories: continues deployment and continuous delivery. If you make your stories smaller then you are making your stories crisply defined. Have some bullet points to make it really easy to answer the question. Answer the question: is this story done or not done? Someone should be able to run through the bullet points and answer that question. 50:02 – I am in favor of small stories, too. Makes you feel more productive, too. 50:14 – Work tends to lend itself to these types of stories and running a sprint. 51:22 – You don’t have to carry that burden when you go home. You might have too big of a chunk – it carries too much weight to it. 51:47 – Book the Phoenix Project. Work in progress is a bad thing. That makes sense. You want to have fewer balls in the air. 52:17 – Anything else? 52:22 – Jason: You can find me at: CodewithJason.com also Twitter! 52:45 – Advertisement – Fresh Books! 1:01:50 – Cache Fly! Links: Get a Coder Job Course Erlang Ruby Ruby Motion Ruby on Rails Angular Single Page Application (SPA) RSpec – Retry Ruby Testing Podcast The Feynman Technique Model Book: Growing Object-Oriented Software, Guided by Tests (1st edition) Jason Swett’s Twitter Jason Swett’s LinkedIn Parable: Young Fish and Old Fish – What is Water? Jason’s articles and eBook Jason’s Website Sponsors: Sentry Get a Coder Job Course Fresh Books Cache Fly Picks: David This is Water The Feynman Technique Model Nate Taking some time off Pry Test Eric Fake App Ruby Hack Conference Dave Brooks Shoes Jason The Food Lab Growing Object-Oriented Software