Podcasts about panel so

  • 7PODCASTS
  • 16EPISODES
  • 53mAVG DURATION
  • ?INFREQUENT EPISODES
  • Feb 15, 2024LATEST

POPULARITY

20172018201920202021202220232024


Best podcasts about panel so

Latest podcast episodes about panel so

Further. Every. Day.
#0134 “You Lost Me” - The Young American Church

Further. Every. Day.

Play Episode Listen Later Feb 15, 2024 72:30


“You Lost Me” - The Young American Church Introduction: How has the Church lost the youth in the West? Why do we see so many teens and young 20s fleeing the Church? Let's explore that problem as we watch our culture stray further every day. Introduction of the Panel: So what is happening with the youth in the West? Let's look at some numbers: What Children Currently Believe Noting that a person's worldview is typically formed before they reach the age of 13, Barna provided data from a Cultural Research Center national survey of adolescents conducted for the Raising Spiritual Champions book. That survey revealed that of the seven cornerstone beliefs, a majority of adolescents believes only one of those points of view. • 69% - God exists and is the all-knowing, all-powerful, perfect Creator and ruler of the universe • 36% - As a sinner, the only solution to the consequences of sin is to acknowledge your sins, ask God to forgive you through Jesus Christ, and rely on Him to save you from those consequences • 35% - Sin is real, and significant; we are all sinners, by choice 2 • 27% - Your most important reason for living is to do what God wants • 25% - You trust the Bible because it is completely true and personally relevant to your life • 21% - The Bible provides a complete and reliable understanding of right and wrong • 17% - Success is consistently doing what the Bible teaches In terms of developing a solid foundation for a biblical worldview, just 3% embrace all seven of those perspectives. That does not bode well for adolescents building a stable foundation that will lead to a robust and biblical worldview. Adolescents clearly are exposed to many different points of view related to the subject matter of the cornerstones. The Cultural Research Center study revealed that most of today's adolescents (58%) believe just two or fewer of the seven cornerstones. Cornerstones Embraced Percentage of adolescents So no wonder we see exits from the church like this: So is it Youth Pastors? Are they to blame? You might make that argument if you take this information in vacuum: https://www.arizonachristian.edu/wp-content/uploads/2022/05/AWVI2022_Release05_Digital.pdf However, let's zoom out a bit and look closer at the Church as a whole: https://www.barna.com/research/changing-state-of-the-church/ It's almost like there's a cancer of unbelief in the Church at large. Do you REALLY believe that God is real? If you did, what would you do about listening to Him, seeking council of Him? Would you not have a desire for a stronger relationship with those who call Him Lord? Chair of Theology: What does the Bible say about generational knowledge of God? Joshua 4:9, Judges 2:10-19 Judges 21:25, 2 Chronicles 33:1-6. How long does it take to lose such respect for God? Chair of Philosophy: If this world is not our home, how should we go about preparing our children for the next world? How should WE live in this world? Chair of Culture: The world has had its way with the Church instead of the Church promoting God to the World. What is the process by which we can see Godly change in our Culture? Chair of Politics: What have we seen happen to our freedom of worship and the sovereignty of the parent in the political sphere without God in the Culture? Voting is important, but how can we correct this problem at its root? Chair of Economics: Where one's treasure is, so is their heart. If we are to be wise stewards of our time and treasure, what would that look like on this Earth and how would that translate into a lifestyle? Outro Final Question: Favorite Youth Group Game

Devchat.tv Master Feed
VoV 036: Vue CLI UI and Devtools with Guillaume Chau

Devchat.tv Master Feed

Play Episode Listen Later Nov 6, 2018 53:19


Panel: Joe Eames Chris Fritz Divya Sasidharan Special Guest: Guillaume Chau In this episode, the panel talks with Guillaume Chau who is apart of the VueJS core team, a frontend engineer at Livestorm, and an open source contributor. The guest and the panelists talk about plugins, Webpack, Vue CLI, and much more! Check out today’s episode to hear all of the details.  Show Topics: 0:00 – Advertisement – Kendo UI 1:00 – Chris lists who is on the panel along with today’s guest. Chris: Who are you and what are you working on? 1:50 – Guest: I am working on a startup in Paris. I am calling in from Lyon, France. 2:12 – Panel: Late there? 2:15 – Panel: Almost time for dinner? 2:21 – Guest: Yes, it’s cooking now! 2:26 – Panel asks a question. 2:43 – Guest answers the question. 3:14 – Panel: Anyone who didn’t want to be an expert, they don’t’ have to worry about how things tie together – you could help them with their configurations? 3:36 – Guest: A lot of the work is done for you with the configurations so you can start writing your apps. 3:53 – Panel: How is 3 different from 2? 4:06 – Guest: It’s like a new tool entirely. It’s working very different, too, with a different system. It has a different template base.  5:53 – Panel: To combine templates you have to understand it well, like different Webpacks. 6:12 – Guest: Regarding Webpacks and their configurations... 6:52 – Panel: With the template situation there was an issue where they would make their project and as new versions of Webpack came out...and new versions of Babble, and they will have to manage the dependencies of all of these. There might be some plugins that only work with x, y, and z. IT can be frustrating – can version 3 take care of this for you? 7:44 – Guest answers the question. 9:24 – Panel: How do you update plugins? 9:29 – Guest. 10:26 – Panel: Upgrade your plugins then as long as all of your plugins are the same version it’s okay? 10:34 – Guest: Yes. You can upgrade your... 11:38 – Chris: Divya, you just gave a talk (London) on...plugins, right? 11:50 – Divya: Yes. We talked about Webpack configurations. For example, if there are some testing libraries you can essentially setup a UCLI plugin to create a test – create a test folder – plugins let you generate files or folders (structure your project in a certain way). In London I talked about server less functions with... 13:30 – Panel: Any kind of pattern you want to use in different applications you can wrap that up in a plugin? 13:42 – Divya: Yes. Exactly. Instead of repeating yourself you can wrap it up. It’s really handy. 14:00 – Panel asks a question. 14:02 – Divya: You could do that... 14:10 – Panel: ...or a graph QL – Yes! 14:20 – Guest. 14:33 – Chris: Any thing that third-party plugins don’t have access to? 14:43 – Guest. 14:54 – Chris. 15:08 – Guest. 15:25 – Divya: ...if you want a UCLI service...and so you can grab those commands and add-on those commands and using those default commands. You have access to those commands, so you don’t always... 17:02 – Chris: Like deploy? 17:11 – Divya: Yes. 17:17 – Guest. 17:19 – Divya. Divya: Do you have strategies on how you go about testing your plugins? 17:35 – Guest: Yes, I do. 19:23 – Panel: So this is like end-to-end test for a CLI tool? 19:33 – Guest. 19:50 – Panel: Is there documentation for all of this? 19:59 – Guest. 20:14 – Divya: I think the way I’ve done tests is to edit an example a test project as a local dependency and then seeing that it works. I want to make sure that it works. Divya: And the other way I’ve done it is VUE CLI it is undocumented at the moment. You can test your CLI plugin from within the plugin itself. 21:55 – Guest: I’ve used some of those before. 22:08 – Chris: Speaking of the UI that is something I’d love to talk about. It seems unique to me – a CLI tool that has a UI that is built along with it. That seems strange to some people – how does that work and WHY would you need it? 22:42 – Guest: I’ll start with the WHY. It is way more powerful and as a greeter the API interface is more fixable so you can choose different options. For example when you create a project you can set different things. You basically have to name the project and you have simple options to choose form. Now it’s basically a really fixable system with plugins and stuff like that. I thought it would be nice to free it from the terminal. The best way to do that was creating a graphical interface. The main advantage of this was that you could add more information and explanations to what is going on. You can also create better interface. Guest: Also, it currently improves discoverability. 25:30 – Chris: You could do a search in the UI and type in the name of something you are working with and then your plugin would show up in the list – and then it would just be added to their project. That’s nice so they don’t have to go to the NPM or doing the README. 26:07 – Guest. 26:14 – Divya: I think it’s nice b/c I have used it extensively for my plugin. I want to see what hasn’t been taken already. I have a way of organizing my modules and I’ve used to it see what names have already been taken? 26:47 – Guest: I think sometimes... 27:15 – Divya: The feature that you are able to run tasks from the UI is nice. 27:55 – Chris: It sounds like it offers a nicer way to view a lot of things. One of the other advantages (that I found) is that I have a configuration to the listing rules to Vue – you can pick the exact rule set that you want to use. Normally when you look at a configuration file, you don’t know what rule sets are available, you don’t know what options are available. All of this you have to look at documentation. You can see descriptions of what each rule does. You can do so much in the UI. 29:19 – Guest. 29:40 – Advertisement – Get A Coder Job! 30:25 – Chris: Do they still need a terminal? 30:35 – Guest. 32:41 – Chris: That would be cool! 32:46 – Guest. 33:09 – Chris: They still need a little terminal knowledge right? 33:15 – Guest: Yes. 33:33 – Chris: They need a little terminal knowledge, they need to install the package, then they need to run VUE UI, then they can do anything from the terminal inside of the UI? 33:55 – Guest: You can create and import existing projects. 34:28 – Panel. 34:33 – Chris. 34:36 – Panel: It’s already active? 34:43 – Guest: I would like to talk about what I did in London. That conference I talked about... 37:00 – Panel. 37:07 – Guest. 37:20 – Panel: Nice! 37:25 – Guest. Guest: All of these widgets that I talked about you can use the product API and do anything that you want. 38:47 – Chris: If someone wants to see the dashboard that you are doing – where can they see that stuff? 39:00 – Guest: GitHub. Follow the manuscript instructions. 39:16 – Chris: Your London talk was recorded? 39:22 – Guest: Yes. 39:27 – Guest. 39:38 – Divya: Are you planning on giving this talk in other events? 39:47 – Guest: Maybe not anytime soon. 39:56 – Chris. 40:00 – Divya. 40:09 – Guest: It might be release already we don’t know. 40:15 – Divya: A date you would like to release by? 40:25 – Chris: Where can people support you and your work? 40:35 – Guest: Yes, they definitely can. You can check out the GitHub file. Also, check-out my open source work, too. 41:17 – Chris: Twitter? 41:19 – Guest: Yes. 41:24 – Chris: You have cute cat pictures, too. Let’s go to Picks!! 41:40 – Advertisement – Fresh Books! DEVCHAT code. 30-day trial. Links: Vue VUE CLI 3 Vue CLI – NPM React Angular JavaScript DevChat TV Article: Infrequently Noted Vue.js Fundamentals GetKap Snipcart Netlify Webpack.js Guillaume Chau’s Vue.JS LONDON Guillaume Chau’s Twitter Guillaume Chau’s LinkedIn Guillaume Chau’s GitHub Guillaume Chau’s GitHub Repositories Guillaume Chau’s ABOUT in Patreon.com Guillaume Chau’s Medium Guillaume Chau’s Info Divya’s London Talk Webpack – Configurations Graph QL Sponsors: Fresh Books Cache Fly Kendo UI Get A Coder Job! Picks: Joe VueJS Fundamentals Developer Experience Bait and Switch Divya Get Kap Snipcart How we built a Due CLI Plugin for Netlify Lambda Chris Meditation Gratefulness Guillaume Exercise The Expanse

google france meditation exercise medium switch panel fundamentals react lyon api ui github guillaume javascript expanse gratefulness advertisement vue angular divya babble chau freshbooks cli graphql npm readme chris do netlify configurations webpack vuejs devtools cachefly ql devchat chris you livestorm kendo ui devchattv chris they chris fritz joe eames vue cli snipcart divya sasidharan chris where chris who get a coder job us 2528sem 2529branded 257cexm chris like panel it chris any 255bfreshbooks 255d panel so panel any
Views on Vue
VoV 036: Vue CLI UI and Devtools with Guillaume Chau

Views on Vue

Play Episode Listen Later Nov 6, 2018 53:19


Panel: Joe Eames Chris Fritz Divya Sasidharan Special Guest: Guillaume Chau In this episode, the panel talks with Guillaume Chau who is apart of the VueJS core team, a frontend engineer at Livestorm, and an open source contributor. The guest and the panelists talk about plugins, Webpack, Vue CLI, and much more! Check out today’s episode to hear all of the details.  Show Topics: 0:00 – Advertisement – Kendo UI 1:00 – Chris lists who is on the panel along with today’s guest. Chris: Who are you and what are you working on? 1:50 – Guest: I am working on a startup in Paris. I am calling in from Lyon, France. 2:12 – Panel: Late there? 2:15 – Panel: Almost time for dinner? 2:21 – Guest: Yes, it’s cooking now! 2:26 – Panel asks a question. 2:43 – Guest answers the question. 3:14 – Panel: Anyone who didn’t want to be an expert, they don’t’ have to worry about how things tie together – you could help them with their configurations? 3:36 – Guest: A lot of the work is done for you with the configurations so you can start writing your apps. 3:53 – Panel: How is 3 different from 2? 4:06 – Guest: It’s like a new tool entirely. It’s working very different, too, with a different system. It has a different template base.  5:53 – Panel: To combine templates you have to understand it well, like different Webpacks. 6:12 – Guest: Regarding Webpacks and their configurations... 6:52 – Panel: With the template situation there was an issue where they would make their project and as new versions of Webpack came out...and new versions of Babble, and they will have to manage the dependencies of all of these. There might be some plugins that only work with x, y, and z. IT can be frustrating – can version 3 take care of this for you? 7:44 – Guest answers the question. 9:24 – Panel: How do you update plugins? 9:29 – Guest. 10:26 – Panel: Upgrade your plugins then as long as all of your plugins are the same version it’s okay? 10:34 – Guest: Yes. You can upgrade your... 11:38 – Chris: Divya, you just gave a talk (London) on...plugins, right? 11:50 – Divya: Yes. We talked about Webpack configurations. For example, if there are some testing libraries you can essentially setup a UCLI plugin to create a test – create a test folder – plugins let you generate files or folders (structure your project in a certain way). In London I talked about server less functions with... 13:30 – Panel: Any kind of pattern you want to use in different applications you can wrap that up in a plugin? 13:42 – Divya: Yes. Exactly. Instead of repeating yourself you can wrap it up. It’s really handy. 14:00 – Panel asks a question. 14:02 – Divya: You could do that... 14:10 – Panel: ...or a graph QL – Yes! 14:20 – Guest. 14:33 – Chris: Any thing that third-party plugins don’t have access to? 14:43 – Guest. 14:54 – Chris. 15:08 – Guest. 15:25 – Divya: ...if you want a UCLI service...and so you can grab those commands and add-on those commands and using those default commands. You have access to those commands, so you don’t always... 17:02 – Chris: Like deploy? 17:11 – Divya: Yes. 17:17 – Guest. 17:19 – Divya. Divya: Do you have strategies on how you go about testing your plugins? 17:35 – Guest: Yes, I do. 19:23 – Panel: So this is like end-to-end test for a CLI tool? 19:33 – Guest. 19:50 – Panel: Is there documentation for all of this? 19:59 – Guest. 20:14 – Divya: I think the way I’ve done tests is to edit an example a test project as a local dependency and then seeing that it works. I want to make sure that it works. Divya: And the other way I’ve done it is VUE CLI it is undocumented at the moment. You can test your CLI plugin from within the plugin itself. 21:55 – Guest: I’ve used some of those before. 22:08 – Chris: Speaking of the UI that is something I’d love to talk about. It seems unique to me – a CLI tool that has a UI that is built along with it. That seems strange to some people – how does that work and WHY would you need it? 22:42 – Guest: I’ll start with the WHY. It is way more powerful and as a greeter the API interface is more fixable so you can choose different options. For example when you create a project you can set different things. You basically have to name the project and you have simple options to choose form. Now it’s basically a really fixable system with plugins and stuff like that. I thought it would be nice to free it from the terminal. The best way to do that was creating a graphical interface. The main advantage of this was that you could add more information and explanations to what is going on. You can also create better interface. Guest: Also, it currently improves discoverability. 25:30 – Chris: You could do a search in the UI and type in the name of something you are working with and then your plugin would show up in the list – and then it would just be added to their project. That’s nice so they don’t have to go to the NPM or doing the README. 26:07 – Guest. 26:14 – Divya: I think it’s nice b/c I have used it extensively for my plugin. I want to see what hasn’t been taken already. I have a way of organizing my modules and I’ve used to it see what names have already been taken? 26:47 – Guest: I think sometimes... 27:15 – Divya: The feature that you are able to run tasks from the UI is nice. 27:55 – Chris: It sounds like it offers a nicer way to view a lot of things. One of the other advantages (that I found) is that I have a configuration to the listing rules to Vue – you can pick the exact rule set that you want to use. Normally when you look at a configuration file, you don’t know what rule sets are available, you don’t know what options are available. All of this you have to look at documentation. You can see descriptions of what each rule does. You can do so much in the UI. 29:19 – Guest. 29:40 – Advertisement – Get A Coder Job! 30:25 – Chris: Do they still need a terminal? 30:35 – Guest. 32:41 – Chris: That would be cool! 32:46 – Guest. 33:09 – Chris: They still need a little terminal knowledge right? 33:15 – Guest: Yes. 33:33 – Chris: They need a little terminal knowledge, they need to install the package, then they need to run VUE UI, then they can do anything from the terminal inside of the UI? 33:55 – Guest: You can create and import existing projects. 34:28 – Panel. 34:33 – Chris. 34:36 – Panel: It’s already active? 34:43 – Guest: I would like to talk about what I did in London. That conference I talked about... 37:00 – Panel. 37:07 – Guest. 37:20 – Panel: Nice! 37:25 – Guest. Guest: All of these widgets that I talked about you can use the product API and do anything that you want. 38:47 – Chris: If someone wants to see the dashboard that you are doing – where can they see that stuff? 39:00 – Guest: GitHub. Follow the manuscript instructions. 39:16 – Chris: Your London talk was recorded? 39:22 – Guest: Yes. 39:27 – Guest. 39:38 – Divya: Are you planning on giving this talk in other events? 39:47 – Guest: Maybe not anytime soon. 39:56 – Chris. 40:00 – Divya. 40:09 – Guest: It might be release already we don’t know. 40:15 – Divya: A date you would like to release by? 40:25 – Chris: Where can people support you and your work? 40:35 – Guest: Yes, they definitely can. You can check out the GitHub file. Also, check-out my open source work, too. 41:17 – Chris: Twitter? 41:19 – Guest: Yes. 41:24 – Chris: You have cute cat pictures, too. Let’s go to Picks!! 41:40 – Advertisement – Fresh Books! DEVCHAT code. 30-day trial. Links: Vue VUE CLI 3 Vue CLI – NPM React Angular JavaScript DevChat TV Article: Infrequently Noted Vue.js Fundamentals GetKap Snipcart Netlify Webpack.js Guillaume Chau’s Vue.JS LONDON Guillaume Chau’s Twitter Guillaume Chau’s LinkedIn Guillaume Chau’s GitHub Guillaume Chau’s GitHub Repositories Guillaume Chau’s ABOUT in Patreon.com Guillaume Chau’s Medium Guillaume Chau’s Info Divya’s London Talk Webpack – Configurations Graph QL Sponsors: Fresh Books Cache Fly Kendo UI Get A Coder Job! Picks: Joe VueJS Fundamentals Developer Experience Bait and Switch Divya Get Kap Snipcart How we built a Due CLI Plugin for Netlify Lambda Chris Meditation Gratefulness Guillaume Exercise The Expanse

google france meditation exercise medium switch panel fundamentals react lyon api ui github guillaume javascript expanse gratefulness advertisement vue angular divya babble chau freshbooks cli graphql npm readme chris do netlify configurations webpack vuejs devtools cachefly ql devchat chris you livestorm kendo ui devchattv chris they chris fritz joe eames vue cli snipcart divya sasidharan chris where chris who get a coder job us 2528sem 2529branded 257cexm chris like panel it chris any 255bfreshbooks 255d panel so panel any
Devchat.tv Master Feed
VoV 035: Real-time Application State Synchronization with Peter Mbanugo

Devchat.tv Master Feed

Play Episode Listen Later Oct 30, 2018 37:51


Panel: Joe Eames John Papa Eric Dietrich Special Guest: Peter Mbanugo In this episode, the panel talks with Peter Mbanugo who is a software developer, tech writer, and maker of Hamoni Sync. He currently works with Field Intelligence, where he helps build logistic and supply chain apps. He also gets involved in design research and customer support for these products. He's also a contributor to Hoodie and a member of the Offline-First community. You can follow him on Twitter. Show Topics: 0:00 – Advertisement – Kendo UI 1:12 – Eric: You, Peter, write a really interesting article. How did you come to write that blog? Tell me about yourself. 1:29 – (Peter talks about his blog and his current projects.) 2:18 – Eric: Tell us about the blog! 2:25 – Peter: I talk about real-time synchronization and why you need it for data. You can use the websocket API and other applications. 3:29 – Panel: Let’s take a step back. It could be helpful to know: what problem were you trying to solve with real-time data? 4:14 – Panel: So multiple client browsers? You are editing in one browser and the data is showing up in the other? You mentioned websockets and others – could you talk about WHY you didn’t go with the other ones? 4:45 – (Peter answers the question.) 6:08 – Panel: So you created Hamoni Sync, and when did you start it? 6:20 – Peter: Yes, and I wrote it in March. I used real-time systems. 6:52 – Panel: What does it mean? 6:55 – (Peter answers.) 7:07 – Panel: Looks like it’s reasonably priced, too. 7:33 – Panel: Let me ask you this. How easy is it to get up and running using this on a Vue project?  7:45 – Peter. 8:34 – Panel: You have to install through your dashboard, then... 8:46 – Peter. 8:53 – Panel: You mentioned earlier that you shouldn’t websocket API right now? 9:04 – Peter:  Not all users would have a browser that would support that. 9:39 – Panel: Hamoni handles all of that for you, which is nice. So it has a simple API to use. You started in March – is this your fulltime job...or? 10:08 – Peter: I started a new job 2 months ago, so now it’s part-time. 10:20 – Panel: You can use with any JavaScript library? 10:24 – Peter. 10:31 – Panel: Why did you do a tutorial in Vue and not in Angular or React? 10:37 – Peter: I do have one in React, and then... 10:54 – Panel: How do you like Vue so far? 10:55 – Peter. 11:15- Panel: The simplicity of Vue and you can take an older app and you can switch it over and not worry about jQuery and just go from there. Angular one days and instead of Angular 2+ or 6 now – Vue is an easy upgrade transition for sure. 11:47 – Peter. 11:51 – Panel: Walk us through how an app would work with this? 12:09 – Peter: When you connect you... 12:40 – Panel: What server is the data going to? 12:46 – Peter. 12:51 – Peter: I have a cloud service. 13:00 – Panel: How do they still get performance if there are a lot of people on at the same time? 13:06 – Peter. 13:17 – Panel: It handles all of the scaling? 13:23 – (Panelist walks through the process.) 13:44 – Peter: No scaling issues, yet. 14:05 – Peter: I haven’t launched, yet, through Product Hunt. 14:20 – Peter: The plan is to do that next month or middle of next month? 14:33 – Panel: Maybe once this podcast launches – that’s cool. What other apps can use real-time? Like a chat room is obvious when they are learning with socket IO. Is this beyond Vue? 15:07 – Peter: Yeah, in general it could be used for real-time chat applications and... 15:21 – Panel: Stock market updates? 15:28 – Peter: Yes. No, not animals.  Maybe games for multi-player games. For chat room application. 18:45 – Panel: Demopuppy.com 19:11 – Advertisement – Get A Coder Job! 20:00 – Peter: Related to the blog we have covered it well. Why you would use real-time and the different ways you can do it with websocket. 20:23 – Panel: You are in Nigeria? 20:24 – Peter: Yes. 20:27 – Panel: How is Vue.js in Nigeria – do you have Meetups? 20:44 – Peter: I think the tech scene is doing quite well. Mainly Angular and others use other frameworks. 22:08 – Panel: Conference and asking for people to contribute? (Yes.) That sounds great for an active community. Getting hard jobs in tech is hard but maybe hard in specific places. 22:39 – Peter: It is great the great one for React b/c of the popularity in React. React or Angular; one of the two. 23:12 – Panel: If you know your stuff you are good to go? 23:19 – Peter: Yes. Microsoft’s .NET is quite stable. 23:37 – Panel: You are starting a startup is that common in Nigeria? 23:49 – Peter: The startup is small actually. 24:37 – Panel: Are you in the capitol? (Yes.) There is a misconception there that people think you have to be in the California or bay area, and you can see that it’s not true. You can create cool things no matter where you are! 25:08 – Peter: It’s great to see the diversity. 25:14 – Panel: I think it’s cool what you are doing. I am glad you wrote an article. What is HospitalRun? 25:42 – Peter: It’s a hospital management system to work offline first. To use them in remote areas where there is no connectivity. 27:08 – Panel: It’s an opensource project – Hospital.io. You are more the maintainer of the frontend right? 28:05 – Peter: Yes. 28:11 – Panel: A lot of hospitals are using this and need contributors and if you want to have a real difference check it out. What do you do as the maintainer are you reviewing code requests? 28:40 – Peter. 28:56 – Panel: Ember.js? 29:00 – Peter: No, I am being dumped into Ember into the deep-end. 29:20 – Panel: I think we are going to go to our picks now? How can 29:30 – Peter: Twitter and email. Check out the show notes! 29:50 – Panel: Picks! 29:58 – Advertisement – Fresh Books! DEVCHAT code. 30-day trial. Links: Vue React Angular JavaScript DevChat TV Can I Use Websocket? Demopuppy.com HospitalRun.io What are the best tools for automating social media growth? Peter Mbanugo’s Twitter Peter Mbanugo’s Email: p.mbanugo@yahoo.com Peter’s blogs Vue Mastery Hoodie Meetups Hamoni Sponsors: Fresh Books Cache Fly Kendo UI Get A Coder Job! Picks: Joe Dungeon and Dragons recordings coming soon on YouTube Blog - Good Bye Redux John Talk like a pirate day I Can Use Product Hunt Vue Mastery Peter Hoodie Vue Dev Tools Ego is the Enemy Eric Halt and Catch fire Vue.JS in Action

california google talk action microsoft blog hospitals enemy dragons nigeria panel ego application react api halt real time io dungeon javascript sync panelists hoodies js advertisement meetups vue angular product hunt freshbooks jquery synchronization cachefly devchat john papa ego enemy ryan holiday peter it kendo ui devchattv eric you offline first joe eames peter yes eric dietrich get a coder job us 2528sem 2529branded 257cexm panel you panel it vue mastery 255bfreshbooks 255d panel so panel let panel why panel are
Devchat.tv Master Feed
RR 386: Web Console Internals with Genadi Samokovarov

Devchat.tv Master Feed

Play Episode Listen Later Oct 30, 2018 41:44


Panel: Dave Kimura Charles Max Wood David Richards Special Guest: Genadi Samokovarov In this episode of Ruby Rogues, the panel talks with Genadi Samokovarov who is a software developer and loves using Ruby. Genadi also likes dance music. You can check out his code at GitHub and his mixes on SoundCloud. Finally, he blogs about technology that he cares about. Check-out his post about a curious Proc.new case in Ruby. If you are interested in his work experience, check out his resume here. Send Genadi an email or follow his social links. Show Topics: 0:00 – Sentry.IO – Advertisement! 1:30 – Chuck: Introduce yourself please. 1:39 – The guest talks about his background and the company he works for. 2:03 – Chuck: Did you build the web console or something else? 2:05 – Guest. 3:20 – Chuck: How do you run Ruby on the web console? 3:40 – Guest answers Chuck’s question. 4:13 – Chuck: The other question is about security concerns – you don’t want to run in production? 4:25 – Guest: No, you don’t want to do that.  4:31 – Chuck: Use at home - don’t use it on your work server. 5:15 – Panel: It’s one of those features that people overlook on Rails. You have to proactively add in a pack to launch in a web console in that particular view. A lot of times people will either throw away rays (ERB) and they are able to get the same thing but you can interact with the page w/o full rendering of the application. What I just mentioned what does a web console has a space for? 6:18 – Guest. 7:23 – Panel: What would happen – if I put a debugging code in my application and it got committed and shipped – what would happen? 7:46 – Guest answers. 8:24 – Chuck: When you deploy a production I don’t even know what this tag is? 8:33 – Guest. 9:10 – Chuck: Can I run it on Sinatra...or the other ones? 9:20 – Guest: If you make a bit of effort... 9:42 – Chuck: How does it pass things to the backend? 9:52 – Guest. 11:22 – Chuck: Let’s say you set this up and you would include the gem in the Rails app – I guess it comes by default. 11:36 – Guest. 11:58 – Panel: And if you want to embed it in a view in Rails? 12:05 – Guest. 12:06 – Chuck: That’s nice. 12:08 – Guest. 12:43 – Panel: I would think that would be the most exciting things. I know the views and how it’s included there is a little bit of a black box for me. I don’t know quite what is going on and that’s after many years of use. Being able to open the web console and see what’s going on and see what I was thinking. Sometimes when I have hard times with my code it’s because I didn’t understand the Rails way and how they organize things. So for me to take a look it dawns on me. 13:33 – Guest. 13:41 – Panel: I learned Rails on a laptop. I went to terminal mode only and I learned it really, really well. 14:21 – Guest. 14:27 – Panel: Can web console do a separate JavaScript app and then you have a Ruby API backend – can you use console any plugin to integrate with that? 15:00 – Guest. 16:20 – Panel: That’s really cool, and good note. When people are developing a gem they keep one type of Ruby or whatever. They don’t take into account that Ruby or the MRI or whatever they are using it’s cool that you are proactive keeping into account the different interpreters and it works across the platform. 16:56 – Guest: It’s a tricky business. 18:39 – Panel: So is this under active development or...? 18:45 – Guest. 18:53 – Chuck: What was the hardest part to put this together? 19:00 – Guest: Getting it to work! 19:09 – Chuck: Nope...just getting it to work. 19:15 – Guest. 20:43 – Panel: That’s something where I have been in situations where it has given back the Rails spec trace. Not the actual application – I have no idea how to debug it. Then I dig in deeper and find it’s in my application part. It is important to have that. 21:13 – Guest. 21:51 – Get A Coder Job! 22:15 – Chuck: Anything else or should we talk about the conference for a minute? 22:30 – Guest. 24:09 – Panel: So you are getting these conferences going – is there a healthy/strong Ruby following in Bulgaria, generally? 24:25 – Guest: We do Meetups. It’s pretty active and a healthy community. It’s not as strong as the States, but it’s strong. 25:26 – Panel: Nice. I find that it’s interesting – I was around with Ruby in 2004, and people have been using Ruby for a while and Rails was new. It’s fun to build an organization around that and empower people to do great things. It’s great to do work that are learning Ruby. 26:08 – Guest. 26:25 – Panel: So that’s one of my coworkers and got him using VS code and show people the light to make the switch. 26:50 – Chuck: I’ve already switched. 27:01 – Panel: We like our tools. 27:17 – Guest: I guess my people like VS code b/c it’s easier to maintain. 27:35 – Panel: Maybe my mind is so feeble-minded. 27:45 – Chuck: I turned on the EMAX for along time and turned on my EMAX in my KS code. I get the nice extras. I don’t feel like there are 10 zillion things to worry about. 28:12 – Guest. 28:21 – Panel: I think the key is the expressiveness – get it the ways I want 28:38 – Chuck: I just want to think of the fact that I am using code – and that’s a good thing. 28:54 – Guest. 29:04 – Panel: How many attendees did you have? 29:08 – Guest. 29:22 – Chuck: The conferences that I like to attend that have an attendance of 150, I like b/c it’s intimate. The larger conferences I feel lost in the crowd. It’s just different for me. 30:17 – Panel: It makes it easy to break into groups if the conference is small. 30:30 – Panel: There are so many things that the experts can teach and show to the beginners. They could teach me something that I didn’t know. It’s powerful b/c you’re talking about projects and get to know each other. 31:39 – Guest. 32:16 – Panel: One thing I like is that the attendees make a Slack channel, and the speaker can address that during the talk. Sometimes they get answered, but just in case. 32:40 – Chuck: Anything you’re working on now? 32:43 – Guest. 32:52 – Panel: Nice. 33:00 – Guest. 33:37 – Chuck: How can people find out about these different conferences? 33:50 – Guest: We have a Twitter account. 33:04 – Chuck: Let’s go to picks! 34:12 – Advertisement – Fresh Books! 41:31 – Cache Fly! Links: Get a Coder Job Course Ruby Ruby Motion Ruby on Rails Angular Ruby Issue Tracking System Libraries.io Balkan Ruby Partial Conf Chaos Group Genadi Samokovarov’s Twitter Genadi Samokovarov’s GitHub Genadi Samokovarov’s Website Sponsors: Sentry Get a Coder Job Course Fresh Books Cache Fly Picks: David Creative Quest by Quest Love The Rhythm in Everything Dave Dewalt Clamps Action Text Charles The Diabetes Code Keto Diet Endorsed Local Providers via Dave Ramsey Genadi Long Walk Freedom

states soundcloud panel rhythm slack frank sinatra bulgaria io mri github console ks libraries dave ramsey javascript rails keto diet proc advertisement meetups questlove angular sentry ruby on rails freshbooks erb david richards cachefly emax internals panel one charles max wood ruby rogues rubymotion creative quest chaos group chuck how chuck let chuck anything get a coder job coder job course panel it diabetes code prevent reverse naturally chuck introduce panel can panel there panel so chuck did
Devchat.tv Master Feed
RRU 035: Optimizing React Virtual DOM Explained Article with Alexey Ivanov and Andy Barnov

Devchat.tv Master Feed

Play Episode Listen Later Oct 30, 2018 51:22


Panel: Lucas Reis Justin Bennett Special Guests: Alexey Ivanov and Andy Barnov In this episode, the panelists talk with Alexey Ivanov and Andy Barnov. They all discuss Alexey’s article titled: “Optimizing React Virtual DOM.” Listen to today’s episode to hear all the details about this article, the guests’ backgrounds and much, much more! Show Topics: 0:32 – Panel: Thanks for joining us and talking about this article. 0:52 – Guest: Thanks for having us on your podcast! The guest talks about his community of developers and the offices are in San Francisco, Russia and other places. He talks about how the company helps their customers and how they can scale. Some of their companies are Groupon and Ebay. 2:39 – Alexey. 3:09 – Panel: The article is here. What is JSX how does it boil down to? It’s all supposed to help people and help them understand. 3:45 – Alexey: It’s about how to structure your state, etc. 4:15 – Panel: This keeps things small. He said when I have one idea I write a song and when I have 2 ideas I write 2 songs. If you try to put too many ideas into one post it maybe won’t go too far. 4:48 – Alexey. 5:50 – Panel. 5:56 – Panel: That’s a topic for another episode. The article is interesting in that the large percentage don’t think about rendering performance, so it’s a needed piece of content. Let’s talk about – what is the React Virtual DOM? 6:32 – Alexey goes into detail with his answer to the panelist’s question. 8:50 – Panel: What I like about this article is that you go through a good progression: here is the JSX that you would write and here is the trans piled function is. And you show the virtual DOM pre-presentation is. I think that is a helpful thing. Let’s talk about that. How does React change to those things when it’s rendering? 9:50 – Alexey. 12:58 – Panel: Okay to recap...when you are rendering an element you write some JSX and the first thing (component) that will map over to the type property is for the Virtual DOM object? And then all of that is compared – when does that happen, the comparison? 13:28 – Alexey: You have React and you create... 15:20 – Panel: So it’s both React and set state these are the only 2 things that triggered state or is there anything else out there? 15:31 – Alexey. 15:47 – Panel: Interesting. You talked about the imperative way we did it before – and it’s much simpler to say what you want, but a question is that is there any world case where it does not work well? What are the trade-offs? Have you ever encountered one? 16:34 – Alexey: If you have changes in the browse, implementations...it’s simplest and easiest way. You just need to have some little changes... 17:53 – Panel: If it’s basic then you don’t have to do manual updates. 18:03 – Alexey. Alexey: To make it work you need competence in your bundle. 18:36 – Panel: I’ve heard – haven’t worked with – when we have these projects that are really web time based, hundreds of elements in real time on a screen, on a Virtual DOM it’s too slow. You have to be precise. They had performance issues, I’m sure 98.99% of the applications probably perform better with the Virtual DOM.  19:46 – Alexey. 21:38 – Panel: That is to reduce the amount of state changes so you are reducing the amount of time it renders – right? 21:50 – Alexey. 22:03 – FRESH BOOKS! 23:11 – Panel: We talked about how type is the first thing that is checked. It does equal comparison to compare these types. What was really interesting is that class components are the same thing but not so. Is it always going to re-render for those components? 24:24 – Alexey: We have to talk about 2 things about this first. In my article... 27:49 – Panel: That is a beneficial tool too to control your rendering. You talked about tools to show updates and we will include the link to the article in the links, also I would read it and check out that particular function. It’s cool to see HOW it’s actually rendering. 28:29 – Panel: Apparently sometimes things help us in principle cause we need performance. We need to open the tools and understand what is happening? Is it really a bottleneck like I think it is? One of those Twitter things I saw a few months ago... 30:52 – Alexey: Yes, do what makes sense to you at the time. 32:08 – Panel: We talked about render performance and the pure component and not creating functions...you have a big quote in your article... I have a big question for me: You have a component, and there is a child / parent component. I am curious about that pattern – will it re-render every time? Tell us your thoughts, please. 33:16 – Alexey. 34:11 – Panel: My only issue with the render props is not a performance issue it’s more of an architectural issue. Sometimes we want things to be interjected. I want to have access to this or that. Sometimes we want to access those on a life cycle. The higher the component makes it easier to add a... That’s my only complaint about render comps. 35:35 – Alexey. 36:00 – Panel: Like composing consumers? 36:06 – Alexey: What we are talking about is... 37:00 – Panel: I agree. There are some interesting cases with that pattern when you have a lot of those chained together – function, function, etc. – there are some components that will help you compose... 37:34 – Panel: It’s like callback hell all over again. Everything is a tradeoff somewhere. After the tree it looks clean with render props. I like it even with the drawbacks. 38:25 – Panel: You spent some time talking about lists of children and how you (if one of the children are removed) then it ends up re rendering all the children cause it’s comparing their positions. You mentioned key is one way to deal with that. Let’s talk about keys. When people use keys they are using an array of an index. It seems like it defeats the purpose of it – is that right? 39:20 – Alexey: Yes, you are right.  40:19 – Panel: I think that continually and it’s a smaller known thing but people want this key error to go away and they just shove something in there. To some extent it’s good to know if your tool requires something it’s good to know WHY it requires that. 40:52 – Panel: Last question. Is that the person to program and be a web developer and they are learning React. This is the tool and they are learning how to use React for an app then when we are throwing articles at them. If they are learning React and these articles are at them I think it’s a cognitive overload. What are your thoughts / advice? 42:07 – Guest: How beginner should you be before you learn React? Ideally you should be aware of JavaScript, right? Sometimes people do this to catch up to something shiny. This is just my 2 cents.  43:03 – Alexey. 44:49 – Panel: When you are going to hire someone to do something or choose a framework always try to do a little bit of work without it. Try to build an application w/o React, and then React is introduced to you, you will only see the benefits that they are brining. One thing that happens inside the React world is that people don’t write an application... Start with the basic building blocks – that makes sense to me. 46:05 – Panel: Let’s go to picks! 46:13 – Advertisement – Get A Coder Job! Links: Ruby on Rails Angular JavaScript Elm Phoenix GitHub React: The Virtual DOM Elixir and Phoenix Bootcamp Alexey Ivanov’s Twitter Andy Barnov’s Twitter Rob Pike’s YouTube Video Understanding Comics Understanding Comics – Book Get A Coder Job Charles Max Wood’s Twitter Sponsors: Get a Coder Job Cache Fly Fresh Books Kendo UI Picks: Lucas Check your room for sound Andy Go Programming Language Alexey Understanding comics Justin The Complete Elixir and Phoenix Bootcamp

google san francisco russia panel ebay dom react special guests optimizing github javascript rails groupon elixir elm advertisement angular ruby on rails freshbooks alexey ivanov cachefly jsx understanding comics charles max wood virtual dom rob pike go programming language justin bennett kendo ui lucas reis coder job get a coder job us 2528sem 2529branded 257cexm panel you panel it 257efreshbooks panel so panel let
Views on Vue
VoV 035: Real-time Application State Synchronization with Peter Mbanugo

Views on Vue

Play Episode Listen Later Oct 30, 2018 37:51


Panel: Joe Eames John Papa Eric Dietrich Special Guest: Peter Mbanugo In this episode, the panel talks with Peter Mbanugo who is a software developer, tech writer, and maker of Hamoni Sync. He currently works with Field Intelligence, where he helps build logistic and supply chain apps. He also gets involved in design research and customer support for these products. He's also a contributor to Hoodie and a member of the Offline-First community. You can follow him on Twitter. Show Topics: 0:00 – Advertisement – Kendo UI 1:12 – Eric: You, Peter, write a really interesting article. How did you come to write that blog? Tell me about yourself. 1:29 – (Peter talks about his blog and his current projects.) 2:18 – Eric: Tell us about the blog! 2:25 – Peter: I talk about real-time synchronization and why you need it for data. You can use the websocket API and other applications. 3:29 – Panel: Let’s take a step back. It could be helpful to know: what problem were you trying to solve with real-time data? 4:14 – Panel: So multiple client browsers? You are editing in one browser and the data is showing up in the other? You mentioned websockets and others – could you talk about WHY you didn’t go with the other ones? 4:45 – (Peter answers the question.) 6:08 – Panel: So you created Hamoni Sync, and when did you start it? 6:20 – Peter: Yes, and I wrote it in March. I used real-time systems. 6:52 – Panel: What does it mean? 6:55 – (Peter answers.) 7:07 – Panel: Looks like it’s reasonably priced, too. 7:33 – Panel: Let me ask you this. How easy is it to get up and running using this on a Vue project?  7:45 – Peter. 8:34 – Panel: You have to install through your dashboard, then... 8:46 – Peter. 8:53 – Panel: You mentioned earlier that you shouldn’t websocket API right now? 9:04 – Peter:  Not all users would have a browser that would support that. 9:39 – Panel: Hamoni handles all of that for you, which is nice. So it has a simple API to use. You started in March – is this your fulltime job...or? 10:08 – Peter: I started a new job 2 months ago, so now it’s part-time. 10:20 – Panel: You can use with any JavaScript library? 10:24 – Peter. 10:31 – Panel: Why did you do a tutorial in Vue and not in Angular or React? 10:37 – Peter: I do have one in React, and then... 10:54 – Panel: How do you like Vue so far? 10:55 – Peter. 11:15- Panel: The simplicity of Vue and you can take an older app and you can switch it over and not worry about jQuery and just go from there. Angular one days and instead of Angular 2+ or 6 now – Vue is an easy upgrade transition for sure. 11:47 – Peter. 11:51 – Panel: Walk us through how an app would work with this? 12:09 – Peter: When you connect you... 12:40 – Panel: What server is the data going to? 12:46 – Peter. 12:51 – Peter: I have a cloud service. 13:00 – Panel: How do they still get performance if there are a lot of people on at the same time? 13:06 – Peter. 13:17 – Panel: It handles all of the scaling? 13:23 – (Panelist walks through the process.) 13:44 – Peter: No scaling issues, yet. 14:05 – Peter: I haven’t launched, yet, through Product Hunt. 14:20 – Peter: The plan is to do that next month or middle of next month? 14:33 – Panel: Maybe once this podcast launches – that’s cool. What other apps can use real-time? Like a chat room is obvious when they are learning with socket IO. Is this beyond Vue? 15:07 – Peter: Yeah, in general it could be used for real-time chat applications and... 15:21 – Panel: Stock market updates? 15:28 – Peter: Yes. No, not animals.  Maybe games for multi-player games. For chat room application. 18:45 – Panel: Demopuppy.com 19:11 – Advertisement – Get A Coder Job! 20:00 – Peter: Related to the blog we have covered it well. Why you would use real-time and the different ways you can do it with websocket. 20:23 – Panel: You are in Nigeria? 20:24 – Peter: Yes. 20:27 – Panel: How is Vue.js in Nigeria – do you have Meetups? 20:44 – Peter: I think the tech scene is doing quite well. Mainly Angular and others use other frameworks. 22:08 – Panel: Conference and asking for people to contribute? (Yes.) That sounds great for an active community. Getting hard jobs in tech is hard but maybe hard in specific places. 22:39 – Peter: It is great the great one for React b/c of the popularity in React. React or Angular; one of the two. 23:12 – Panel: If you know your stuff you are good to go? 23:19 – Peter: Yes. Microsoft’s .NET is quite stable. 23:37 – Panel: You are starting a startup is that common in Nigeria? 23:49 – Peter: The startup is small actually. 24:37 – Panel: Are you in the capitol? (Yes.) There is a misconception there that people think you have to be in the California or bay area, and you can see that it’s not true. You can create cool things no matter where you are! 25:08 – Peter: It’s great to see the diversity. 25:14 – Panel: I think it’s cool what you are doing. I am glad you wrote an article. What is HospitalRun? 25:42 – Peter: It’s a hospital management system to work offline first. To use them in remote areas where there is no connectivity. 27:08 – Panel: It’s an opensource project – Hospital.io. You are more the maintainer of the frontend right? 28:05 – Peter: Yes. 28:11 – Panel: A lot of hospitals are using this and need contributors and if you want to have a real difference check it out. What do you do as the maintainer are you reviewing code requests? 28:40 – Peter. 28:56 – Panel: Ember.js? 29:00 – Peter: No, I am being dumped into Ember into the deep-end. 29:20 – Panel: I think we are going to go to our picks now? How can 29:30 – Peter: Twitter and email. Check out the show notes! 29:50 – Panel: Picks! 29:58 – Advertisement – Fresh Books! DEVCHAT code. 30-day trial. Links: Vue React Angular JavaScript DevChat TV Can I Use Websocket? Demopuppy.com HospitalRun.io What are the best tools for automating social media growth? Peter Mbanugo’s Twitter Peter Mbanugo’s Email: p.mbanugo@yahoo.com Peter’s blogs Vue Mastery Hoodie Meetups Hamoni Sponsors: Fresh Books Cache Fly Kendo UI Get A Coder Job! Picks: Joe Dungeon and Dragons recordings coming soon on YouTube Blog - Good Bye Redux John Talk like a pirate day I Can Use Product Hunt Vue Mastery Peter Hoodie Vue Dev Tools Ego is the Enemy Eric Halt and Catch fire Vue.JS in Action

california google talk action microsoft blog hospitals enemy dragons nigeria panel ego application react api halt real time io dungeon javascript sync panelists hoodies js advertisement meetups vue angular product hunt freshbooks jquery synchronization cachefly devchat john papa ego enemy ryan holiday peter it kendo ui devchattv eric you offline first joe eames peter yes eric dietrich get a coder job us 2528sem 2529branded 257cexm panel you panel it vue mastery 255bfreshbooks 255d panel so panel let panel why panel are
React Round Up
RRU 035: Optimizing React Virtual DOM Explained Article with Alexey Ivanov and Andy Barnov

React Round Up

Play Episode Listen Later Oct 30, 2018 51:22


Panel: Lucas Reis Justin Bennett Special Guests: Alexey Ivanov and Andy Barnov In this episode, the panelists talk with Alexey Ivanov and Andy Barnov. They all discuss Alexey’s article titled: “Optimizing React Virtual DOM.” Listen to today’s episode to hear all the details about this article, the guests’ backgrounds and much, much more! Show Topics: 0:32 – Panel: Thanks for joining us and talking about this article. 0:52 – Guest: Thanks for having us on your podcast! The guest talks about his community of developers and the offices are in San Francisco, Russia and other places. He talks about how the company helps their customers and how they can scale. Some of their companies are Groupon and Ebay. 2:39 – Alexey. 3:09 – Panel: The article is here. What is JSX how does it boil down to? It’s all supposed to help people and help them understand. 3:45 – Alexey: It’s about how to structure your state, etc. 4:15 – Panel: This keeps things small. He said when I have one idea I write a song and when I have 2 ideas I write 2 songs. If you try to put too many ideas into one post it maybe won’t go too far. 4:48 – Alexey. 5:50 – Panel. 5:56 – Panel: That’s a topic for another episode. The article is interesting in that the large percentage don’t think about rendering performance, so it’s a needed piece of content. Let’s talk about – what is the React Virtual DOM? 6:32 – Alexey goes into detail with his answer to the panelist’s question. 8:50 – Panel: What I like about this article is that you go through a good progression: here is the JSX that you would write and here is the trans piled function is. And you show the virtual DOM pre-presentation is. I think that is a helpful thing. Let’s talk about that. How does React change to those things when it’s rendering? 9:50 – Alexey. 12:58 – Panel: Okay to recap...when you are rendering an element you write some JSX and the first thing (component) that will map over to the type property is for the Virtual DOM object? And then all of that is compared – when does that happen, the comparison? 13:28 – Alexey: You have React and you create... 15:20 – Panel: So it’s both React and set state these are the only 2 things that triggered state or is there anything else out there? 15:31 – Alexey. 15:47 – Panel: Interesting. You talked about the imperative way we did it before – and it’s much simpler to say what you want, but a question is that is there any world case where it does not work well? What are the trade-offs? Have you ever encountered one? 16:34 – Alexey: If you have changes in the browse, implementations...it’s simplest and easiest way. You just need to have some little changes... 17:53 – Panel: If it’s basic then you don’t have to do manual updates. 18:03 – Alexey. Alexey: To make it work you need competence in your bundle. 18:36 – Panel: I’ve heard – haven’t worked with – when we have these projects that are really web time based, hundreds of elements in real time on a screen, on a Virtual DOM it’s too slow. You have to be precise. They had performance issues, I’m sure 98.99% of the applications probably perform better with the Virtual DOM.  19:46 – Alexey. 21:38 – Panel: That is to reduce the amount of state changes so you are reducing the amount of time it renders – right? 21:50 – Alexey. 22:03 – FRESH BOOKS! 23:11 – Panel: We talked about how type is the first thing that is checked. It does equal comparison to compare these types. What was really interesting is that class components are the same thing but not so. Is it always going to re-render for those components? 24:24 – Alexey: We have to talk about 2 things about this first. In my article... 27:49 – Panel: That is a beneficial tool too to control your rendering. You talked about tools to show updates and we will include the link to the article in the links, also I would read it and check out that particular function. It’s cool to see HOW it’s actually rendering. 28:29 – Panel: Apparently sometimes things help us in principle cause we need performance. We need to open the tools and understand what is happening? Is it really a bottleneck like I think it is? One of those Twitter things I saw a few months ago... 30:52 – Alexey: Yes, do what makes sense to you at the time. 32:08 – Panel: We talked about render performance and the pure component and not creating functions...you have a big quote in your article... I have a big question for me: You have a component, and there is a child / parent component. I am curious about that pattern – will it re-render every time? Tell us your thoughts, please. 33:16 – Alexey. 34:11 – Panel: My only issue with the render props is not a performance issue it’s more of an architectural issue. Sometimes we want things to be interjected. I want to have access to this or that. Sometimes we want to access those on a life cycle. The higher the component makes it easier to add a... That’s my only complaint about render comps. 35:35 – Alexey. 36:00 – Panel: Like composing consumers? 36:06 – Alexey: What we are talking about is... 37:00 – Panel: I agree. There are some interesting cases with that pattern when you have a lot of those chained together – function, function, etc. – there are some components that will help you compose... 37:34 – Panel: It’s like callback hell all over again. Everything is a tradeoff somewhere. After the tree it looks clean with render props. I like it even with the drawbacks. 38:25 – Panel: You spent some time talking about lists of children and how you (if one of the children are removed) then it ends up re rendering all the children cause it’s comparing their positions. You mentioned key is one way to deal with that. Let’s talk about keys. When people use keys they are using an array of an index. It seems like it defeats the purpose of it – is that right? 39:20 – Alexey: Yes, you are right.  40:19 – Panel: I think that continually and it’s a smaller known thing but people want this key error to go away and they just shove something in there. To some extent it’s good to know if your tool requires something it’s good to know WHY it requires that. 40:52 – Panel: Last question. Is that the person to program and be a web developer and they are learning React. This is the tool and they are learning how to use React for an app then when we are throwing articles at them. If they are learning React and these articles are at them I think it’s a cognitive overload. What are your thoughts / advice? 42:07 – Guest: How beginner should you be before you learn React? Ideally you should be aware of JavaScript, right? Sometimes people do this to catch up to something shiny. This is just my 2 cents.  43:03 – Alexey. 44:49 – Panel: When you are going to hire someone to do something or choose a framework always try to do a little bit of work without it. Try to build an application w/o React, and then React is introduced to you, you will only see the benefits that they are brining. One thing that happens inside the React world is that people don’t write an application... Start with the basic building blocks – that makes sense to me. 46:05 – Panel: Let’s go to picks! 46:13 – Advertisement – Get A Coder Job! Links: Ruby on Rails Angular JavaScript Elm Phoenix GitHub React: The Virtual DOM Elixir and Phoenix Bootcamp Alexey Ivanov’s Twitter Andy Barnov’s Twitter Rob Pike’s YouTube Video Understanding Comics Understanding Comics – Book Get A Coder Job Charles Max Wood’s Twitter Sponsors: Get a Coder Job Cache Fly Fresh Books Kendo UI Picks: Lucas Check your room for sound Andy Go Programming Language Alexey Understanding comics Justin The Complete Elixir and Phoenix Bootcamp

google san francisco russia panel ebay dom react special guests optimizing github javascript rails groupon elixir elm advertisement angular ruby on rails freshbooks alexey ivanov cachefly jsx understanding comics charles max wood virtual dom rob pike go programming language justin bennett kendo ui lucas reis coder job get a coder job us 2528sem 2529branded 257cexm panel you panel it 257efreshbooks panel so panel let
All Ruby Podcasts by Devchat.tv
RR 386: Web Console Internals with Genadi Samokovarov

All Ruby Podcasts by Devchat.tv

Play Episode Listen Later Oct 30, 2018 41:44


Panel: Dave Kimura Charles Max Wood David Richards Special Guest: Genadi Samokovarov In this episode of Ruby Rogues, the panel talks with Genadi Samokovarov who is a software developer and loves using Ruby. Genadi also likes dance music. You can check out his code at GitHub and his mixes on SoundCloud. Finally, he blogs about technology that he cares about. Check-out his post about a curious Proc.new case in Ruby. If you are interested in his work experience, check out his resume here. Send Genadi an email or follow his social links. Show Topics: 0:00 – Sentry.IO – Advertisement! 1:30 – Chuck: Introduce yourself please. 1:39 – The guest talks about his background and the company he works for. 2:03 – Chuck: Did you build the web console or something else? 2:05 – Guest. 3:20 – Chuck: How do you run Ruby on the web console? 3:40 – Guest answers Chuck’s question. 4:13 – Chuck: The other question is about security concerns – you don’t want to run in production? 4:25 – Guest: No, you don’t want to do that.  4:31 – Chuck: Use at home - don’t use it on your work server. 5:15 – Panel: It’s one of those features that people overlook on Rails. You have to proactively add in a pack to launch in a web console in that particular view. A lot of times people will either throw away rays (ERB) and they are able to get the same thing but you can interact with the page w/o full rendering of the application. What I just mentioned what does a web console has a space for? 6:18 – Guest. 7:23 – Panel: What would happen – if I put a debugging code in my application and it got committed and shipped – what would happen? 7:46 – Guest answers. 8:24 – Chuck: When you deploy a production I don’t even know what this tag is? 8:33 – Guest. 9:10 – Chuck: Can I run it on Sinatra...or the other ones? 9:20 – Guest: If you make a bit of effort... 9:42 – Chuck: How does it pass things to the backend? 9:52 – Guest. 11:22 – Chuck: Let’s say you set this up and you would include the gem in the Rails app – I guess it comes by default. 11:36 – Guest. 11:58 – Panel: And if you want to embed it in a view in Rails? 12:05 – Guest. 12:06 – Chuck: That’s nice. 12:08 – Guest. 12:43 – Panel: I would think that would be the most exciting things. I know the views and how it’s included there is a little bit of a black box for me. I don’t know quite what is going on and that’s after many years of use. Being able to open the web console and see what’s going on and see what I was thinking. Sometimes when I have hard times with my code it’s because I didn’t understand the Rails way and how they organize things. So for me to take a look it dawns on me. 13:33 – Guest. 13:41 – Panel: I learned Rails on a laptop. I went to terminal mode only and I learned it really, really well. 14:21 – Guest. 14:27 – Panel: Can web console do a separate JavaScript app and then you have a Ruby API backend – can you use console any plugin to integrate with that? 15:00 – Guest. 16:20 – Panel: That’s really cool, and good note. When people are developing a gem they keep one type of Ruby or whatever. They don’t take into account that Ruby or the MRI or whatever they are using it’s cool that you are proactive keeping into account the different interpreters and it works across the platform. 16:56 – Guest: It’s a tricky business. 18:39 – Panel: So is this under active development or...? 18:45 – Guest. 18:53 – Chuck: What was the hardest part to put this together? 19:00 – Guest: Getting it to work! 19:09 – Chuck: Nope...just getting it to work. 19:15 – Guest. 20:43 – Panel: That’s something where I have been in situations where it has given back the Rails spec trace. Not the actual application – I have no idea how to debug it. Then I dig in deeper and find it’s in my application part. It is important to have that. 21:13 – Guest. 21:51 – Get A Coder Job! 22:15 – Chuck: Anything else or should we talk about the conference for a minute? 22:30 – Guest. 24:09 – Panel: So you are getting these conferences going – is there a healthy/strong Ruby following in Bulgaria, generally? 24:25 – Guest: We do Meetups. It’s pretty active and a healthy community. It’s not as strong as the States, but it’s strong. 25:26 – Panel: Nice. I find that it’s interesting – I was around with Ruby in 2004, and people have been using Ruby for a while and Rails was new. It’s fun to build an organization around that and empower people to do great things. It’s great to do work that are learning Ruby. 26:08 – Guest. 26:25 – Panel: So that’s one of my coworkers and got him using VS code and show people the light to make the switch. 26:50 – Chuck: I’ve already switched. 27:01 – Panel: We like our tools. 27:17 – Guest: I guess my people like VS code b/c it’s easier to maintain. 27:35 – Panel: Maybe my mind is so feeble-minded. 27:45 – Chuck: I turned on the EMAX for along time and turned on my EMAX in my KS code. I get the nice extras. I don’t feel like there are 10 zillion things to worry about. 28:12 – Guest. 28:21 – Panel: I think the key is the expressiveness – get it the ways I want 28:38 – Chuck: I just want to think of the fact that I am using code – and that’s a good thing. 28:54 – Guest. 29:04 – Panel: How many attendees did you have? 29:08 – Guest. 29:22 – Chuck: The conferences that I like to attend that have an attendance of 150, I like b/c it’s intimate. The larger conferences I feel lost in the crowd. It’s just different for me. 30:17 – Panel: It makes it easy to break into groups if the conference is small. 30:30 – Panel: There are so many things that the experts can teach and show to the beginners. They could teach me something that I didn’t know. It’s powerful b/c you’re talking about projects and get to know each other. 31:39 – Guest. 32:16 – Panel: One thing I like is that the attendees make a Slack channel, and the speaker can address that during the talk. Sometimes they get answered, but just in case. 32:40 – Chuck: Anything you’re working on now? 32:43 – Guest. 32:52 – Panel: Nice. 33:00 – Guest. 33:37 – Chuck: How can people find out about these different conferences? 33:50 – Guest: We have a Twitter account. 33:04 – Chuck: Let’s go to picks! 34:12 – Advertisement – Fresh Books! 41:31 – Cache Fly! Links: Get a Coder Job Course Ruby Ruby Motion Ruby on Rails Angular Ruby Issue Tracking System Libraries.io Balkan Ruby Partial Conf Chaos Group Genadi Samokovarov’s Twitter Genadi Samokovarov’s GitHub Genadi Samokovarov’s Website Sponsors: Sentry Get a Coder Job Course Fresh Books Cache Fly Picks: David Creative Quest by Quest Love The Rhythm in Everything Dave Dewalt Clamps Action Text Charles The Diabetes Code Keto Diet Endorsed Local Providers via Dave Ramsey Genadi Long Walk Freedom

states soundcloud panel rhythm slack frank sinatra bulgaria io mri github console ks libraries dave ramsey javascript rails keto diet proc advertisement meetups questlove angular sentry ruby on rails freshbooks erb david richards cachefly emax internals panel one charles max wood ruby rogues rubymotion creative quest chaos group chuck how chuck let chuck anything get a coder job coder job course panel it diabetes code prevent reverse naturally chuck introduce panel can panel there panel so chuck did
Ruby Rogues
RR 386: Web Console Internals with Genadi Samokovarov

Ruby Rogues

Play Episode Listen Later Oct 30, 2018 41:44


Panel: Dave Kimura Charles Max Wood David Richards Special Guest: Genadi Samokovarov In this episode of Ruby Rogues, the panel talks with Genadi Samokovarov who is a software developer and loves using Ruby. Genadi also likes dance music. You can check out his code at GitHub and his mixes on SoundCloud. Finally, he blogs about technology that he cares about. Check-out his post about a curious Proc.new case in Ruby. If you are interested in his work experience, check out his resume here. Send Genadi an email or follow his social links. Show Topics: 0:00 – Sentry.IO – Advertisement! 1:30 – Chuck: Introduce yourself please. 1:39 – The guest talks about his background and the company he works for. 2:03 – Chuck: Did you build the web console or something else? 2:05 – Guest. 3:20 – Chuck: How do you run Ruby on the web console? 3:40 – Guest answers Chuck’s question. 4:13 – Chuck: The other question is about security concerns – you don’t want to run in production? 4:25 – Guest: No, you don’t want to do that.  4:31 – Chuck: Use at home - don’t use it on your work server. 5:15 – Panel: It’s one of those features that people overlook on Rails. You have to proactively add in a pack to launch in a web console in that particular view. A lot of times people will either throw away rays (ERB) and they are able to get the same thing but you can interact with the page w/o full rendering of the application. What I just mentioned what does a web console has a space for? 6:18 – Guest. 7:23 – Panel: What would happen – if I put a debugging code in my application and it got committed and shipped – what would happen? 7:46 – Guest answers. 8:24 – Chuck: When you deploy a production I don’t even know what this tag is? 8:33 – Guest. 9:10 – Chuck: Can I run it on Sinatra...or the other ones? 9:20 – Guest: If you make a bit of effort... 9:42 – Chuck: How does it pass things to the backend? 9:52 – Guest. 11:22 – Chuck: Let’s say you set this up and you would include the gem in the Rails app – I guess it comes by default. 11:36 – Guest. 11:58 – Panel: And if you want to embed it in a view in Rails? 12:05 – Guest. 12:06 – Chuck: That’s nice. 12:08 – Guest. 12:43 – Panel: I would think that would be the most exciting things. I know the views and how it’s included there is a little bit of a black box for me. I don’t know quite what is going on and that’s after many years of use. Being able to open the web console and see what’s going on and see what I was thinking. Sometimes when I have hard times with my code it’s because I didn’t understand the Rails way and how they organize things. So for me to take a look it dawns on me. 13:33 – Guest. 13:41 – Panel: I learned Rails on a laptop. I went to terminal mode only and I learned it really, really well. 14:21 – Guest. 14:27 – Panel: Can web console do a separate JavaScript app and then you have a Ruby API backend – can you use console any plugin to integrate with that? 15:00 – Guest. 16:20 – Panel: That’s really cool, and good note. When people are developing a gem they keep one type of Ruby or whatever. They don’t take into account that Ruby or the MRI or whatever they are using it’s cool that you are proactive keeping into account the different interpreters and it works across the platform. 16:56 – Guest: It’s a tricky business. 18:39 – Panel: So is this under active development or...? 18:45 – Guest. 18:53 – Chuck: What was the hardest part to put this together? 19:00 – Guest: Getting it to work! 19:09 – Chuck: Nope...just getting it to work. 19:15 – Guest. 20:43 – Panel: That’s something where I have been in situations where it has given back the Rails spec trace. Not the actual application – I have no idea how to debug it. Then I dig in deeper and find it’s in my application part. It is important to have that. 21:13 – Guest. 21:51 – Get A Coder Job! 22:15 – Chuck: Anything else or should we talk about the conference for a minute? 22:30 – Guest. 24:09 – Panel: So you are getting these conferences going – is there a healthy/strong Ruby following in Bulgaria, generally? 24:25 – Guest: We do Meetups. It’s pretty active and a healthy community. It’s not as strong as the States, but it’s strong. 25:26 – Panel: Nice. I find that it’s interesting – I was around with Ruby in 2004, and people have been using Ruby for a while and Rails was new. It’s fun to build an organization around that and empower people to do great things. It’s great to do work that are learning Ruby. 26:08 – Guest. 26:25 – Panel: So that’s one of my coworkers and got him using VS code and show people the light to make the switch. 26:50 – Chuck: I’ve already switched. 27:01 – Panel: We like our tools. 27:17 – Guest: I guess my people like VS code b/c it’s easier to maintain. 27:35 – Panel: Maybe my mind is so feeble-minded. 27:45 – Chuck: I turned on the EMAX for along time and turned on my EMAX in my KS code. I get the nice extras. I don’t feel like there are 10 zillion things to worry about. 28:12 – Guest. 28:21 – Panel: I think the key is the expressiveness – get it the ways I want 28:38 – Chuck: I just want to think of the fact that I am using code – and that’s a good thing. 28:54 – Guest. 29:04 – Panel: How many attendees did you have? 29:08 – Guest. 29:22 – Chuck: The conferences that I like to attend that have an attendance of 150, I like b/c it’s intimate. The larger conferences I feel lost in the crowd. It’s just different for me. 30:17 – Panel: It makes it easy to break into groups if the conference is small. 30:30 – Panel: There are so many things that the experts can teach and show to the beginners. They could teach me something that I didn’t know. It’s powerful b/c you’re talking about projects and get to know each other. 31:39 – Guest. 32:16 – Panel: One thing I like is that the attendees make a Slack channel, and the speaker can address that during the talk. Sometimes they get answered, but just in case. 32:40 – Chuck: Anything you’re working on now? 32:43 – Guest. 32:52 – Panel: Nice. 33:00 – Guest. 33:37 – Chuck: How can people find out about these different conferences? 33:50 – Guest: We have a Twitter account. 33:04 – Chuck: Let’s go to picks! 34:12 – Advertisement – Fresh Books! 41:31 – Cache Fly! Links: Get a Coder Job Course Ruby Ruby Motion Ruby on Rails Angular Ruby Issue Tracking System Libraries.io Balkan Ruby Partial Conf Chaos Group Genadi Samokovarov’s Twitter Genadi Samokovarov’s GitHub Genadi Samokovarov’s Website Sponsors: Sentry Get a Coder Job Course Fresh Books Cache Fly Picks: David Creative Quest by Quest Love The Rhythm in Everything Dave Dewalt Clamps Action Text Charles The Diabetes Code Keto Diet Endorsed Local Providers via Dave Ramsey Genadi Long Walk Freedom

states soundcloud panel rhythm slack frank sinatra bulgaria io mri github console ks libraries dave ramsey javascript rails keto diet proc advertisement meetups questlove angular sentry ruby on rails freshbooks erb david richards cachefly emax internals panel one charles max wood ruby rogues rubymotion creative quest chaos group chuck how chuck let chuck anything get a coder job coder job course panel it diabetes code prevent reverse naturally chuck introduce panel can panel there panel so chuck did
Devchat.tv Master Feed
EMx 025: Rethinking App Env and more with Saša Jurić

Devchat.tv Master Feed

Play Episode Listen Later Oct 29, 2018 64:39


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

Elixir Mix
EMx 025: Rethinking App Env and more with Saša Jurić

Elixir Mix

Play Episode Listen Later Oct 29, 2018 64:39


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

Devchat.tv Master Feed
EMx 021: “Dialyzer Pretty Printing” with Andrew Summers

Devchat.tv Master Feed

Play Episode Listen Later Oct 2, 2018 53:34


Panel: Charles Max Wood Mark Eriksen Eric Berry Special Guest: Andrew Summers In this episode of Elixir Mix, the panel talks to Andrew Summers who lives in Chicago, currently. Working on Elixir development, and here to talk about how he wrote the dialyzer pretty printer. He is a software engineer for Albert.io, makes cool stuff every day, loves punk music, and Philadelphia sports. The panel talks about the Dialyzer pretty printing, Elixir, code writing, and more! Show Topics: 1:07 – Why are you famous? 1:11 – Andrew: Answers the question. 1:34 – Chuck: Nice. Is the dialyzer printer complete pretty printing or is it more than that? 1:45 – Andrew talks. He mentions the background information on this specific printer, which was written a decade ago. 4:13 – Panel: One thing that is helpful is that it is a static code analysis. In the Elixir we are writing these spec statements. For nothing else than this type is coming out. Then this looks at the code, and your spec says you are returning this, but I can tell that you are also returning X, Y, or Z. So it is helping us see what we are declaring a code to do, and that’s really what the code is doing. 5:28 – Guest: Yes, exactly. To continue that topic here is what else it’s saying... 6:08 – Panel: Our panelist is not here, but he has had to fix code before with that problem. With Dialect Dialyzer – how do we say this library is out-of-date? The code is out-of-date. How do I get my stuff to pass – to clean up my site? 6:54 – Guest: Containing that warning. Guest goes into further detail how to problem-solve this issue. 8:02 – Panel: So you are saying that I can funnel. 8:20 – Panel & Guest go back-and-forth talking about this topic. 9:49 – Panel: I am still diving into the system. Haven’t really used the printer, yet. Panelist asks Guest a question. 10:04 – Guest: At the forefront there are some configurations to help with that. 11:16 – Panel: Why would someone not want to use this? What are the cons? 11:23 – Guest: It would have to do more with CI than anything (one con). 13:06 – Panel: Lots of people are coming to Elixir New. Great. What is the selling point? Why should someone invest his or her time in this project? 13:33 – Guest: I find looking for a type spec is one more piece of information that could help the reader that would tell them what the code should be doing. Any information from the original author to be passed down is great. Having the machine to check that, whenever you push code, it’s an imperfect check (as we were saying). If it can tell you that you did something wrong, then why not? It gives you that extra red flag. There are huge benefits to that. Same reason we write unit tests. 15:20 – Panel: You are learning Elixir right, Chuck? Panelist talks about tech specs, code writing, and learning projects. 16:25 – Panel: Here is a tip to learning. One thing that I did I came to an existing project and writing a sub-system ( as series of modules) Writing the tech specs. As they are interacting with each other, then writing Dial Elixir, and grab the output to the file path to where my code is. Within my own code find where I am inconsistent. Andrew – you could get pages of output, right? Any tips for users? 17:37 – Guest: Isolate portions of your code base. 19:27 – Chuck: I do like the idea of the umbrella. Phoenix app out into an umbrella. A sub apps and they are more centered, smaller sized. Then, yeah. Start with Dialyzer on just that project. Isolate it, and this app in the umbrella. The output is much smaller, and good success with that. Now, one of the new features you added was the language / the code that it reports is an ERLANG term. That is not familiar to most Elixir developers. Especially if you are new to it. If you are turning this into a friendly Elixir thing, then you had to learn other programs. How did you get into this path? 21:00 – Andrew: Whenever there was complicated “something” at work – I was the person to go to. As I started to do it more and more I saw patterns in the output. Things were kind of predictable, and how to format things. It synchronizes weird. What would I do to write this task? Researched. There are 2 tools = LEEX and YECC. If you have 2 files in your source directory... 22:56 – Advertisement – Digital Ocean 23:39 – Panel: It’s cool. 23:58 – Guest: It brought me back to some courses from school. I thought that was funny. They are pretty contained tools. 24:36 – Panel: Part of your motivation was from Jose. 24:49 – Guest: Yes, definitely. 25:39 – Did you have any questions for Jose? 26:35 – Panel: You added the feature of... CREDO is pretty well-known. 27:28 – Guest: Sure, I guess I did skip some of that. Andrew talked about different libraries, ERLANG modules, and so on. 28:38 – Panel: What else are you doing? 28:45 – Getting error messages fixed for version 1.0. Trying to close-up the residual things. 30:18 – Guest keeps talking about support and other bugs. Andrew: If you see something, say something. 31:00 - Panel: There are languages that run on the beam. Something to create something more standard so different languages can depend on. Is there anything like that? To help you with your tooling? 31:40 – Andrew: Good question! Some of the things that happen at the Dialyzer level, stuff just gets dropped. 33:47 – Guest: How this works all together... 35:15 – Chuck: How to contribute to Dialyxir? 35:30 – Guest: Around error messages – is the best place to look. If you have a good editor hand, good place for that. If you are further into the compiler land – might want to play with that. 36:29 – Guest: ERLEX 36:43 – Chuck: What did you learn about building these libraries? 36:55 – Guest: I learned a lot about the construction of Elixir. Guest dives into this more. 38:25 – Chuck: The principle that you cannot bind... 38:51 – Guest: ...this area of my code-base... it would be nice to turn off those features. When I really do need it – I need it, but not so if I don’t need it. 39:39 – Panel: I want to point someone to a resource: TypeSpecs. 39:54 – Guest: I used that so much! Wonderful resource, I learned so much stuff! I stole all the output from that. I didn’t know that language had that?! 40:20 – Panel chimes in about this resource some more. 41:02 – Guest: We really do have a simple language. There are some weird things, but not a lot of constructs under the hood. Only a few data structures. It could have been more complicated. I was worried about that – but that never happened, because... 41:41 – Panel: Thanks for adding that. Very true. 42:51 – Guest talks about other things that are very simple, too. 44:35 – Panel: Are you doing fulltime with Elixir for programming? 44:35 – Guest: Yes, we are using other Elixir and JS App. In another life I used... They all can teach you something. Sometimes the journey of going there and realizing WHY you don’t want to be there is sometimes worth the journey! 45:20 – Panel asks guest a question. 45:25 – Guest answers question. Andrew: We have enjoyed our time in Elixir. It’s nice. 46:27 – Panel: Anything else? 46:33 – Panel: Where can people find you online? 46:40 – Guest: Elixir Slack, Twitter, GitHub. 47:01 – Picks! 47:05 – Advertisement – Code Badges Links: Andrew Summers’ Twitter Credo Erlang Dialyxir LEEX YECC Credo ERLEX TypeSpecs Curated Dev News for Busy Developers EX_JSON_SCHEMA React – Jsonschema – form Announcing Distillery 2.0 Distillery’s documentation! MKDocs EX_Json_Schema Sponsors: Get a Coder Job Digital Ocean Code Badges Cache Fly Picks: Eric Chrome Extension for News Mark Announcing Distillery 2.0 MKdocs https://hexdocs.pm/distillery/home.html. Charles  Launch by Jeff Walker Downcast Andrew Ex json Schema React json schema from

chicago news writing philadelphia launch panel react github printing panelists distilleries credo elixir advertisement isolate schema researched downcast digital ocean jeff walker chrome extensions erlang eric berry cachefly chuck nice panel one charles max wood go1gb907osh060513 elixir mix chuck how coder job mkdocs code badges andrew summers panel you panel it dialyzer leex dialyxir panel there panel so busy developers panel why panel are panel anything
Elixir Mix
EMx 021: “Dialyzer Pretty Printing” with Andrew Summers

Elixir Mix

Play Episode Listen Later Oct 2, 2018 53:34


Panel: Charles Max Wood Mark Eriksen Eric Berry Special Guest: Andrew Summers In this episode of Elixir Mix, the panel talks to Andrew Summers who lives in Chicago, currently. Working on Elixir development, and here to talk about how he wrote the dialyzer pretty printer. He is a software engineer for Albert.io, makes cool stuff every day, loves punk music, and Philadelphia sports. The panel talks about the Dialyzer pretty printing, Elixir, code writing, and more! Show Topics: 1:07 – Why are you famous? 1:11 – Andrew: Answers the question. 1:34 – Chuck: Nice. Is the dialyzer printer complete pretty printing or is it more than that? 1:45 – Andrew talks. He mentions the background information on this specific printer, which was written a decade ago. 4:13 – Panel: One thing that is helpful is that it is a static code analysis. In the Elixir we are writing these spec statements. For nothing else than this type is coming out. Then this looks at the code, and your spec says you are returning this, but I can tell that you are also returning X, Y, or Z. So it is helping us see what we are declaring a code to do, and that’s really what the code is doing. 5:28 – Guest: Yes, exactly. To continue that topic here is what else it’s saying... 6:08 – Panel: Our panelist is not here, but he has had to fix code before with that problem. With Dialect Dialyzer – how do we say this library is out-of-date? The code is out-of-date. How do I get my stuff to pass – to clean up my site? 6:54 – Guest: Containing that warning. Guest goes into further detail how to problem-solve this issue. 8:02 – Panel: So you are saying that I can funnel. 8:20 – Panel & Guest go back-and-forth talking about this topic. 9:49 – Panel: I am still diving into the system. Haven’t really used the printer, yet. Panelist asks Guest a question. 10:04 – Guest: At the forefront there are some configurations to help with that. 11:16 – Panel: Why would someone not want to use this? What are the cons? 11:23 – Guest: It would have to do more with CI than anything (one con). 13:06 – Panel: Lots of people are coming to Elixir New. Great. What is the selling point? Why should someone invest his or her time in this project? 13:33 – Guest: I find looking for a type spec is one more piece of information that could help the reader that would tell them what the code should be doing. Any information from the original author to be passed down is great. Having the machine to check that, whenever you push code, it’s an imperfect check (as we were saying). If it can tell you that you did something wrong, then why not? It gives you that extra red flag. There are huge benefits to that. Same reason we write unit tests. 15:20 – Panel: You are learning Elixir right, Chuck? Panelist talks about tech specs, code writing, and learning projects. 16:25 – Panel: Here is a tip to learning. One thing that I did I came to an existing project and writing a sub-system ( as series of modules) Writing the tech specs. As they are interacting with each other, then writing Dial Elixir, and grab the output to the file path to where my code is. Within my own code find where I am inconsistent. Andrew – you could get pages of output, right? Any tips for users? 17:37 – Guest: Isolate portions of your code base. 19:27 – Chuck: I do like the idea of the umbrella. Phoenix app out into an umbrella. A sub apps and they are more centered, smaller sized. Then, yeah. Start with Dialyzer on just that project. Isolate it, and this app in the umbrella. The output is much smaller, and good success with that. Now, one of the new features you added was the language / the code that it reports is an ERLANG term. That is not familiar to most Elixir developers. Especially if you are new to it. If you are turning this into a friendly Elixir thing, then you had to learn other programs. How did you get into this path? 21:00 – Andrew: Whenever there was complicated “something” at work – I was the person to go to. As I started to do it more and more I saw patterns in the output. Things were kind of predictable, and how to format things. It synchronizes weird. What would I do to write this task? Researched. There are 2 tools = LEEX and YECC. If you have 2 files in your source directory... 22:56 – Advertisement – Digital Ocean 23:39 – Panel: It’s cool. 23:58 – Guest: It brought me back to some courses from school. I thought that was funny. They are pretty contained tools. 24:36 – Panel: Part of your motivation was from Jose. 24:49 – Guest: Yes, definitely. 25:39 – Did you have any questions for Jose? 26:35 – Panel: You added the feature of... CREDO is pretty well-known. 27:28 – Guest: Sure, I guess I did skip some of that. Andrew talked about different libraries, ERLANG modules, and so on. 28:38 – Panel: What else are you doing? 28:45 – Getting error messages fixed for version 1.0. Trying to close-up the residual things. 30:18 – Guest keeps talking about support and other bugs. Andrew: If you see something, say something. 31:00 - Panel: There are languages that run on the beam. Something to create something more standard so different languages can depend on. Is there anything like that? To help you with your tooling? 31:40 – Andrew: Good question! Some of the things that happen at the Dialyzer level, stuff just gets dropped. 33:47 – Guest: How this works all together... 35:15 – Chuck: How to contribute to Dialyxir? 35:30 – Guest: Around error messages – is the best place to look. If you have a good editor hand, good place for that. If you are further into the compiler land – might want to play with that. 36:29 – Guest: ERLEX 36:43 – Chuck: What did you learn about building these libraries? 36:55 – Guest: I learned a lot about the construction of Elixir. Guest dives into this more. 38:25 – Chuck: The principle that you cannot bind... 38:51 – Guest: ...this area of my code-base... it would be nice to turn off those features. When I really do need it – I need it, but not so if I don’t need it. 39:39 – Panel: I want to point someone to a resource: TypeSpecs. 39:54 – Guest: I used that so much! Wonderful resource, I learned so much stuff! I stole all the output from that. I didn’t know that language had that?! 40:20 – Panel chimes in about this resource some more. 41:02 – Guest: We really do have a simple language. There are some weird things, but not a lot of constructs under the hood. Only a few data structures. It could have been more complicated. I was worried about that – but that never happened, because... 41:41 – Panel: Thanks for adding that. Very true. 42:51 – Guest talks about other things that are very simple, too. 44:35 – Panel: Are you doing fulltime with Elixir for programming? 44:35 – Guest: Yes, we are using other Elixir and JS App. In another life I used... They all can teach you something. Sometimes the journey of going there and realizing WHY you don’t want to be there is sometimes worth the journey! 45:20 – Panel asks guest a question. 45:25 – Guest answers question. Andrew: We have enjoyed our time in Elixir. It’s nice. 46:27 – Panel: Anything else? 46:33 – Panel: Where can people find you online? 46:40 – Guest: Elixir Slack, Twitter, GitHub. 47:01 – Picks! 47:05 – Advertisement – Code Badges Links: Andrew Summers’ Twitter Credo Erlang Dialyxir LEEX YECC Credo ERLEX TypeSpecs Curated Dev News for Busy Developers EX_JSON_SCHEMA React – Jsonschema – form Announcing Distillery 2.0 Distillery’s documentation! MKDocs EX_Json_Schema Sponsors: Get a Coder Job Digital Ocean Code Badges Cache Fly Picks: Eric Chrome Extension for News Mark Announcing Distillery 2.0 MKdocs https://hexdocs.pm/distillery/home.html. Charles  Launch by Jeff Walker Downcast Andrew Ex json Schema React json schema from

chicago news writing philadelphia launch panel react github printing panelists distilleries credo elixir advertisement isolate schema researched downcast digital ocean jeff walker chrome extensions erlang eric berry cachefly chuck nice panel one charles max wood go1gb907osh060513 elixir mix chuck how coder job mkdocs code badges andrew summers panel you panel it dialyzer leex dialyxir panel there panel so busy developers panel why panel are panel anything
Devchat.tv Master Feed
VoV 030: "How we use Vue in Data Science" with Jacob Schatz & Taylor Murphy (Gitlab Team)

Devchat.tv Master Feed

Play Episode Listen Later Sep 25, 2018 69:00


Panel: Divya Sasidharan Charles Max Wood Joe Eames John Papa Chris Fritz Erik Hanchett Special Guest: Sarah Drasner In this episode, the panel talks with Jacob Schatz and Taylor Murphy who are apart of the GitLab Team. Jake is a staff developer, and Taylor is a manager at GitLab who started off as a data engineer. To find out more about the GitLab Team check them out here! Also, they are looking to hire, so inquire about the position through GitLab, if interested! The panel talks about Vue, Flux, Node, Flask, Python, D3, and much...much more! Show Topics: 1:51 – Chuck: Introduce yourselves, please. 1:55 – Backgrounds of the guests. 2:45 – Chuck. 2:51 – GitLab (GL): We first adapted Vue at the GitLab team for 2 years now. 3:34 – Chuck: What’s your workflow like through Vue? 3:50 – GL: We are using an application that...Using Python and Flask on the background. Vue CLI throughout the development. 4:35 – Panel asks a question. 4:40 – GitLab answers the question. 5:38 – Panel: Tell us about your secret project? 5:49 – GL: The data team at GL we are trying to solve these questions. How to get from resume to hire? There is data there. So that’s what Meltano helps with. Taylor has a Ph.D. in this area so he knows what’s he’s talking about. 7:30 – Taylor dives into this project via GitLab. 8:52 – GL: Super cool thing is that we are figuring out different ways to do things. It’s really cool stuff that we are doing. 9:23 – Panel: I’ve worked on projects when the frontend people and the data people are doing 2 different things. And they don’t know what each other group is doing. It’s interesting to bring the two things together. I see that teams have a hard time working together when it’s too separated. 10:31 – Panel: Can we get a definition of data scientist vs. a data engineer. 10:44 – Panel: Definitions of DATA SCIENCE and DATA ENGINEER are. 11:39 – GL: That is pretty close. Data science means different things to different people. 12:51 – Panel chimes in. 13:00 – Panel asks a question. 13:11 – GL: When I started working on Meltano... 14:26 – Panel: Looker is a visualization tool; I thought: I bet we can make that. I have been recreating something like Looker. We are trying to replace Looker. We are recreating a lot of the functionality of Looker. 15:10 – Panel will this be called...? 15:31 – Meltano analyze it’s apart of Meltano. Cool thing about Looker it has these files that show the whole visualization – drag and drop. With these files we can do version control. It’s built in – and if you drag it’s apart of a database. We took these files and we... 17:37 – Panel: Define Vue for that, please? 17:49 – GL dives into this topic. 18:40 – GL mentions Node. 18:52 – Chuck: What format does your data take? Do you have different reports that get sent? How does that work? 19:13 – GL: It tells a list of measures and dimensions. I setup our database to... 20:13 – Panel: Question. You chose Vue and it’s working. The reality you could have chosen any other tools. Why really did you choose Vue? 20:30 – GL: I know Vue really well. In the early 2000s I had my... If I have to repeat a process I always use Vue, because it’s the thing I am most comfortable with. This is how I program things very quickly. 21:10 – Panel: How has Vue met or exceeded or not met those expectations? 21:20 – GL: It has exceeded my expectations. One of the things is that as I am trying to staff a team I am trying to write Vue so when people see it they don’t think, “why would he do that?” 22:53 – Flux inspired architecture. 23:07 – GitLab continues the talk. 23:21 – Everything is Flux inspired in the sense that it was an idea to start with and then everybody made alterations and built things on top of that. 23:48 – Panel chimes in. 24:35 – Panel: Can you speak on the process of the workflow and process you work in Taylor and the data science and the frontend of it? 24:54 – GL: It’s the same but different. GitLab talks about Meltano some more, and also Taylor. GL: Taylor is trying to solve all these problems through Meltano. Maybe we can build our own tools? 26:05 – Panel: What’s a Lever Extractor?! 26:14 – GL: Answers this question. 26:25 – Panel: So it’s not a technical term...okay. 26:30 – GitLab continues the talk and discusses different tools. 27:18 – Panel: You are grabbing that data and Taylor is doing his magic? Or is it more integrated? 27:32 – GL answers this question. 29:06 – GitLab: In the beginning we are building that extractors for the other team, but later... The cool thing about Meltano is making it like Word Press. We have an extractor, different directories other things will be discovered by Meltano and discovered by the Gooey. If you write it correctly it can hook on to it. 30:00 – Digital Ocean Advertisement 31:38 – Panel: Meltano is a mix between Python and JavaScript or Vue? 30:43 – GL: Yeah... 31:20 – Panel asks question. How are you orchestrating the data? 31:32 – GL: Eventually it will happen with GitLab CUI. We are thinking we can orchestrate other ways. Right now it’s manually. 32:33 – GL: I like finding some sort of language that doesn’t have an extension...and writing... 32:54 – GL: I’m excited to use a tool that does things the right way like loading and transforming data but the frontend can be a joy to use. A previous company that I worked with and thought: It would be a joy to work with and connect to things that make sense, and do things the “right way”. I hope that’s what we can do with Meltano. I’m not a frontend person, but I appreciate it. 34:03 – GL: This is what I’m going to do...we will have these conversations between Taylor, myself, and our teams. 34:53 – Panel: This is a tool that people need to DL, maybe will you guys host this somewhere as a service. 35:10 – GL: We are trying to get this running. Small steps. It’s not out of the question and it’s not out of the question for this to be a service. 35:33 – GL: What do you want to do with the data warehouse? Your data is yours. 36:06 – Panel: Yeah, you don’t want to be in-charge of that. 36:17 – Panel: Have we asked where the name Meltano came from? 36:30 – GL: It sounds like a weird name. Here is the background of the name of “Meltano” came from. First name was from a sperm whale, it’s a unique name: Cachalot. 38:02 – GL: Conversation continues. 38:38 – Panel chimes in. 38:58 – GL: What does this program offering and doing...This was to help me with the name. 39:27 – GL: Acronym for Meltano: Model / Extract / Load / Transform / Analyze / Notebook / Orchestrate 39:47 – GL continues. They talk about notebooks. 40:19 –Sounds like a Daft Punk album! 40:28 – GL: I am trying to get more on the data science side. 40:57 – Panel: Question. Is Meltano super responsive and quick? 41:17 – GL: It depends on the size of the data, of course, but it is very responsive. 42:11 – GL: That job took 7-8 hours to extract everything for that specific project. 42:39 – GL: There are a lot of moving parts, so that could depend on it slowing it down or speeding it up. 43:01 – When you were building Meltano for your team, for the visualization how do you make decisions on what exactly you are visualizing? 43:18 – GL: That is the tricky part...you are one team. We are trying to find at a point where the data team is happy. One thing for example I put out a bar chart. Team member said that bar charts should always be vertical. So I am learning how they work and their wealth of information on visualization. 44:33 – Panel: Chris always does visualization. 44:48 – GL: Emily is on the team, and knows a lot about that. The correct way to visualize data so it doesn’t just look “cool.” You want it to be useful. Chart JS is what I use. 45:32 – Panel: I have used Chart JS before, too. 46:00 – Chris: I really like... 46:37 – Panel continues this conversation. 47:01 – Panel: Keynote will be given by...at this conference. 47:11 – GL continues to talk about this conversation. From nothing to something in a short amount of time. When I showed people: 47:55 – Panel: are you using Vue transitions? 48:09 – GL: Nope not even slightly. My plan was to use Vue transitions but it’s icing on the cake. Just get it working. 48:29 – Panel: A link of how I use... 49:14 – GL: This is a very small amount of code to where you are. It’s not like you had to re-implement triangles or anything like that. 49:36 – Panel: It does take some time but once you get it – you get it. 49:59 – Panel: When working with axis it can get hairy. 50:52 – GL: D3 really does a lot of the math for you and fits right it once you know how it works. You can draw anything with HTML. Check Links. 52:19 – Panel: There are a million different ways to do visualizations. There is math behind... 53:08 – Panel: D3 also helps with de-clustering. 53:25 – Panel: Any recommendations with someone who wants to dive into D3? 53:37 – GL: Tutorials have gotten better over time. 53:57 – Panel continues the conversation. 54:19 – GL: D3 Version 4 and 5 was one big library. You have C3 – what’s your opinion on C3? 55:00 – GL: have no strong opinions. 55:03 – Chuck chimes in. 55:18 – Panel continues this conversation. She talks about how she had a hard time learning D3, and how everything clicked once she learned it. 55:55 – GL: Main reason why I didn’t use D3 because... 56:07 – GL: If you were a “real” developer you’d... 56:35 – Panel: Let’s go to Picks! 56:40 – Advertisement – Code Badges Links: JavaScript Ruby on Rails Angular Digital Ocean Code Badge Notion Vue Meltano Looker Node Flux Taylor Python Chart JS React Chris Fritz – JS Fiddle D3 Chris Lema – Building an Online Course... Vuetify The First Vue.js Spring Vue CLI 3.0 Online Tutorials To Help You Get Ahead Hacker Noon – Finding Creativity in Software Engineer Indiegogo Create Awesome Vue.js Apps With... Data Sketches Vue.js in Action Benjamin Hardy’s Website Data Intensive: Don’t Just Hack It Together Article: How to Pick a Career...By Tim Urban Taylor A. Murphy’s Twitter Email: tmurphy@gitlab.com GitLab – Meet our Team Jacob Schatz’s Twitter Sponsors: Kendo UI Digital Ocean Code Badge Cache Fly Picks: Joe Ben Hardy on Medium Set Goals Chris Vue CLI 3 Vue CLI 3 on Medium Vue Dev Tools Get a new computer John Vuetify Divya Data Sketch One climb Finding Creativity in Software Engineering Erik Create Awesome Vue.js Vue.js in action Charles Get a Coder Job Building an online course Jacob Alma CCS Read source code Allen Kay Taylor Designing Data-Intensive Applications Wait But Why

Views on Vue
VoV 030: "How we use Vue in Data Science" with Jacob Schatz & Taylor Murphy (Gitlab Team)

Views on Vue

Play Episode Listen Later Sep 25, 2018 69:00


Panel: Divya Sasidharan Charles Max Wood Joe Eames John Papa Chris Fritz Erik Hanchett Special Guest: Sarah Drasner In this episode, the panel talks with Jacob Schatz and Taylor Murphy who are apart of the GitLab Team. Jake is a staff developer, and Taylor is a manager at GitLab who started off as a data engineer. To find out more about the GitLab Team check them out here! Also, they are looking to hire, so inquire about the position through GitLab, if interested! The panel talks about Vue, Flux, Node, Flask, Python, D3, and much...much more! Show Topics: 1:51 – Chuck: Introduce yourselves, please. 1:55 – Backgrounds of the guests. 2:45 – Chuck. 2:51 – GitLab (GL): We first adapted Vue at the GitLab team for 2 years now. 3:34 – Chuck: What’s your workflow like through Vue? 3:50 – GL: We are using an application that...Using Python and Flask on the background. Vue CLI throughout the development. 4:35 – Panel asks a question. 4:40 – GitLab answers the question. 5:38 – Panel: Tell us about your secret project? 5:49 – GL: The data team at GL we are trying to solve these questions. How to get from resume to hire? There is data there. So that’s what Meltano helps with. Taylor has a Ph.D. in this area so he knows what’s he’s talking about. 7:30 – Taylor dives into this project via GitLab. 8:52 – GL: Super cool thing is that we are figuring out different ways to do things. It’s really cool stuff that we are doing. 9:23 – Panel: I’ve worked on projects when the frontend people and the data people are doing 2 different things. And they don’t know what each other group is doing. It’s interesting to bring the two things together. I see that teams have a hard time working together when it’s too separated. 10:31 – Panel: Can we get a definition of data scientist vs. a data engineer. 10:44 – Panel: Definitions of DATA SCIENCE and DATA ENGINEER are. 11:39 – GL: That is pretty close. Data science means different things to different people. 12:51 – Panel chimes in. 13:00 – Panel asks a question. 13:11 – GL: When I started working on Meltano... 14:26 – Panel: Looker is a visualization tool; I thought: I bet we can make that. I have been recreating something like Looker. We are trying to replace Looker. We are recreating a lot of the functionality of Looker. 15:10 – Panel will this be called...? 15:31 – Meltano analyze it’s apart of Meltano. Cool thing about Looker it has these files that show the whole visualization – drag and drop. With these files we can do version control. It’s built in – and if you drag it’s apart of a database. We took these files and we... 17:37 – Panel: Define Vue for that, please? 17:49 – GL dives into this topic. 18:40 – GL mentions Node. 18:52 – Chuck: What format does your data take? Do you have different reports that get sent? How does that work? 19:13 – GL: It tells a list of measures and dimensions. I setup our database to... 20:13 – Panel: Question. You chose Vue and it’s working. The reality you could have chosen any other tools. Why really did you choose Vue? 20:30 – GL: I know Vue really well. In the early 2000s I had my... If I have to repeat a process I always use Vue, because it’s the thing I am most comfortable with. This is how I program things very quickly. 21:10 – Panel: How has Vue met or exceeded or not met those expectations? 21:20 – GL: It has exceeded my expectations. One of the things is that as I am trying to staff a team I am trying to write Vue so when people see it they don’t think, “why would he do that?” 22:53 – Flux inspired architecture. 23:07 – GitLab continues the talk. 23:21 – Everything is Flux inspired in the sense that it was an idea to start with and then everybody made alterations and built things on top of that. 23:48 – Panel chimes in. 24:35 – Panel: Can you speak on the process of the workflow and process you work in Taylor and the data science and the frontend of it? 24:54 – GL: It’s the same but different. GitLab talks about Meltano some more, and also Taylor. GL: Taylor is trying to solve all these problems through Meltano. Maybe we can build our own tools? 26:05 – Panel: What’s a Lever Extractor?! 26:14 – GL: Answers this question. 26:25 – Panel: So it’s not a technical term...okay. 26:30 – GitLab continues the talk and discusses different tools. 27:18 – Panel: You are grabbing that data and Taylor is doing his magic? Or is it more integrated? 27:32 – GL answers this question. 29:06 – GitLab: In the beginning we are building that extractors for the other team, but later... The cool thing about Meltano is making it like Word Press. We have an extractor, different directories other things will be discovered by Meltano and discovered by the Gooey. If you write it correctly it can hook on to it. 30:00 – Digital Ocean Advertisement 31:38 – Panel: Meltano is a mix between Python and JavaScript or Vue? 30:43 – GL: Yeah... 31:20 – Panel asks question. How are you orchestrating the data? 31:32 – GL: Eventually it will happen with GitLab CUI. We are thinking we can orchestrate other ways. Right now it’s manually. 32:33 – GL: I like finding some sort of language that doesn’t have an extension...and writing... 32:54 – GL: I’m excited to use a tool that does things the right way like loading and transforming data but the frontend can be a joy to use. A previous company that I worked with and thought: It would be a joy to work with and connect to things that make sense, and do things the “right way”. I hope that’s what we can do with Meltano. I’m not a frontend person, but I appreciate it. 34:03 – GL: This is what I’m going to do...we will have these conversations between Taylor, myself, and our teams. 34:53 – Panel: This is a tool that people need to DL, maybe will you guys host this somewhere as a service. 35:10 – GL: We are trying to get this running. Small steps. It’s not out of the question and it’s not out of the question for this to be a service. 35:33 – GL: What do you want to do with the data warehouse? Your data is yours. 36:06 – Panel: Yeah, you don’t want to be in-charge of that. 36:17 – Panel: Have we asked where the name Meltano came from? 36:30 – GL: It sounds like a weird name. Here is the background of the name of “Meltano” came from. First name was from a sperm whale, it’s a unique name: Cachalot. 38:02 – GL: Conversation continues. 38:38 – Panel chimes in. 38:58 – GL: What does this program offering and doing...This was to help me with the name. 39:27 – GL: Acronym for Meltano: Model / Extract / Load / Transform / Analyze / Notebook / Orchestrate 39:47 – GL continues. They talk about notebooks. 40:19 –Sounds like a Daft Punk album! 40:28 – GL: I am trying to get more on the data science side. 40:57 – Panel: Question. Is Meltano super responsive and quick? 41:17 – GL: It depends on the size of the data, of course, but it is very responsive. 42:11 – GL: That job took 7-8 hours to extract everything for that specific project. 42:39 – GL: There are a lot of moving parts, so that could depend on it slowing it down or speeding it up. 43:01 – When you were building Meltano for your team, for the visualization how do you make decisions on what exactly you are visualizing? 43:18 – GL: That is the tricky part...you are one team. We are trying to find at a point where the data team is happy. One thing for example I put out a bar chart. Team member said that bar charts should always be vertical. So I am learning how they work and their wealth of information on visualization. 44:33 – Panel: Chris always does visualization. 44:48 – GL: Emily is on the team, and knows a lot about that. The correct way to visualize data so it doesn’t just look “cool.” You want it to be useful. Chart JS is what I use. 45:32 – Panel: I have used Chart JS before, too. 46:00 – Chris: I really like... 46:37 – Panel continues this conversation. 47:01 – Panel: Keynote will be given by...at this conference. 47:11 – GL continues to talk about this conversation. From nothing to something in a short amount of time. When I showed people: 47:55 – Panel: are you using Vue transitions? 48:09 – GL: Nope not even slightly. My plan was to use Vue transitions but it’s icing on the cake. Just get it working. 48:29 – Panel: A link of how I use... 49:14 – GL: This is a very small amount of code to where you are. It’s not like you had to re-implement triangles or anything like that. 49:36 – Panel: It does take some time but once you get it – you get it. 49:59 – Panel: When working with axis it can get hairy. 50:52 – GL: D3 really does a lot of the math for you and fits right it once you know how it works. You can draw anything with HTML. Check Links. 52:19 – Panel: There are a million different ways to do visualizations. There is math behind... 53:08 – Panel: D3 also helps with de-clustering. 53:25 – Panel: Any recommendations with someone who wants to dive into D3? 53:37 – GL: Tutorials have gotten better over time. 53:57 – Panel continues the conversation. 54:19 – GL: D3 Version 4 and 5 was one big library. You have C3 – what’s your opinion on C3? 55:00 – GL: have no strong opinions. 55:03 – Chuck chimes in. 55:18 – Panel continues this conversation. She talks about how she had a hard time learning D3, and how everything clicked once she learned it. 55:55 – GL: Main reason why I didn’t use D3 because... 56:07 – GL: If you were a “real” developer you’d... 56:35 – Panel: Let’s go to Picks! 56:40 – Advertisement – Code Badges Links: JavaScript Ruby on Rails Angular Digital Ocean Code Badge Notion Vue Meltano Looker Node Flux Taylor Python Chart JS React Chris Fritz – JS Fiddle D3 Chris Lema – Building an Online Course... Vuetify The First Vue.js Spring Vue CLI 3.0 Online Tutorials To Help You Get Ahead Hacker Noon – Finding Creativity in Software Engineer Indiegogo Create Awesome Vue.js Apps With... Data Sketches Vue.js in Action Benjamin Hardy’s Website Data Intensive: Don’t Just Hack It Together Article: How to Pick a Career...By Tim Urban Taylor A. Murphy’s Twitter Email: tmurphy@gitlab.com GitLab – Meet our Team Jacob Schatz’s Twitter Sponsors: Kendo UI Digital Ocean Code Badge Cache Fly Picks: Joe Ben Hardy on Medium Set Goals Chris Vue CLI 3 Vue CLI 3 on Medium Vue Dev Tools Get a new computer John Vuetify Divya Data Sketch One climb Finding Creativity in Software Engineering Erik Create Awesome Vue.js Vue.js in action Charles Get a Coder Job Building an online course Jacob Alma CCS Read source code Allen Kay Taylor Designing Data-Intensive Applications Wait But Why