Guest Joe Morgan

Guest Joe Morgan

I am joined by Joe Morgan a UI Developer, Speaker, Author, JavaScript enthusiast

I am joined by Joe Morgan a UI Developer, Speaker, Author, JavaScript enthusiast

Joe Morgan is Founder and CoOrganizer of the Kansas City React Meetup, a UI developer, and the author of 'Simplifying JavaScript' https://pragprog.com/book/es6tips/simplifying-javascript | https://slate.com/human-interest/2018/12/against-teaching-kids-to-code-creativity-problem-solving.html | https://ponyfoo.com/ | https://twitter.com/joesmorgan | https://www.linkedin.com/in/joe-morgan-42458a15/

Mon, 11 Mar 2019 04:20:54 GMT
duration: 48:14
Spotify | iTunes | Sticher | Google Play | Player.fm | MyTuner Radio  

Transcript:

Dave: Hello and welcome to the podcast. I’m your host, Dave Albert. In the show, I talk about technology, building a company as a CTO, and co founder and have guests to discuss their roles in technology and entrepreneurship.

Today we’re joined by Joe Morgan of Lawrence, Kansas, an author, user interface developer, JavaScript enthusiast and the founder and co organizer of Kansas City react meetup. Thanks so much for joining us Joe.

Joe: Thanks for having me.

Dave: It’s my pleasure. I’m really glad we got this setup. So if you want to give a little bit more of just a description of your background and what brought you to this field, and, you know, what’s your, what’s your day to day, what you’re working on?

Joe: Sure. So I came into the field kind of in a strange direction, which is actually pretty typical things have a lot of web developers. I don’t have any formal training in computer science or any of that stuff. But I got started doing web development because I needed it the web and I didn’t have the resources to have other people doing it. And I figured I could figure it out on my own. So I actually started off my career as a librarian and I I created digital libraries from some smaller departments in in a university and we’re sort of public library for for a while. And that was kind of my first step into the web world and I found myself mainly doing HTML/CSS. Then I gravitated towards JavaScript. And partly because as a as a librarian no one really trusting me with the server side code. But for some reason, they let me put in whatever JavaScript that I wanted. So I realized that once the server did his thing, I could start making changes. And you know, so I started off doing a lot of things that were popular a number of years ago, sliders and carousels and all that fun stuff and found out that I actually really liked it. I really liked JavaScript in particular, and then programming in general. And it’s funny, because that was kind of around the time that JavaScript was at it’s low point I remember used to be every time you go look for an answer about something on JavaScript on Stack Overflow, or whatever. The first three or four answers would be people complaining about how much they hated JavaScript, but I always kind of liked it because I like the functional aspect of it. I didn’t know what that was at the time, but I like the way you could pass around functions from place to place that kind of sync with how I thought about things naturally, and so started doing that more and more started in that full time. And that’s the pretty good at it. I like to thank at least. And so start doing speaking and eventually got the chance to write write a book. And the book was kind of my way of talking about JavaScript in its most basic and simple form. And so one of the things that I always talk about when I talked to other developers and I’ve talked to the new developers its how hard it is to make things simple. You know, that sounds counter-intuitive, but making things simple and clear actually takes a lot more work because usually, as developers, we tend to focus on the product the final goal you know, so we’re hacking away trying to get that stuff to render and then when it finally does are so exhausted, that we kind of shifted and move on really the craft the customer said, part of it is, is taking that working solution and making it into something that’s creating clear and reusable. That’s kind of how that came about.

Dave: Yeah, I can, I laugh because I can very much relate to the instinct to want to ship a first draft. And knowing that that’s not the right move. Because if you ship your first draft, you’re going to have to edit it. It may not be today, but it’s going to be worse. Because you’re not going to remember how you did it in a week or a month or a year, and you’re gonna have to relearn what you did in the mindset of someone who doesn’t exist anymore.You know, I can see that some of the worst could have seen is what I wrote six months ago. And that happens every six months. So if I’m not approved, then then you know, what are you doing? So, yeah, I can, I can very much relate to that. So what did coming from the librarian field or the library sciences field influenced the way that you went about writing the book. I mean, beyond just the way of bringing back to the simplicity of which simplifying JavaScript is the title of the book, right?

Joe: Right, right. Yep, I should’ve, I should have given the title. Yeah, it’s called “Simplifying JavaScript”. I don’t know. I think maybe maybe the librarian part of me came out as I use a lot of books as as examples. So maybe that’s part of it. But I think more more of it is before I was like … when I was an undergraduate, I studied philosophy and so philosophy is all about breaking down problem so there’s smaller and smaller and smaller until you have the tiniest most part and then really trying to understand that and so that’s what i what i think comes out a lot more so you know, some of those questions of what what it what is it mean to make it simple and easy to read? And those are really basic questions and then other things like what can someone know by looking at something? What can someone expect to see based off of other parts, one of one of my favorite parts of the book is I talked about array methods and array method they’re pretty popular in JavaScript and the reason why and the reason I argue that people should always reach for them first is because the array method itself so things like map helps you reduce have pieces of information embedded in them. So as you’re skimming thing, if you see an array method that the map for example, you know, you’re always going to have an array You don’t even have to look at what the actual function is, you know, there’s going to be array if you see a filter, you know, it’s going to be array but if you see it fine, you know, it won’t be array or it may be array but it won’t be the container right and so all these little hints and tricks kind of prepare you could make things easier to read easier to skim and so and that’s you know really what it’s about.

Dave: That’s really interesting so I always knew preferred those types of of methods over you know, loop of a different type. But I never could really articulate why I preferred them. So I now understand that’s exactly it is that it’s more obvious what you’re doing. Just just through the, the key words there of map, filter, reduce, and so on. Interesting, I like that.

Joe: Right and I, and I think that’s kind of what the nice it a lot of the changes in the language is they gave me more hints and things like that. So one of the other ones that’s really common as the use of the word cons and was, you know, very variable declaration that you cannot be assigned. And that, you know, for me at first I was kind of weird because a lot of languages use constant you’re supposed to never ever use it like very rarely, you know, maybe maybe data like a database login or something like that. You know the digits of Pi or something that like never ever changes but in JavaScript has become really popular for a very similar reason because you can reassign it to kind of frees up once you have the time to think about so if you see a variable cost you know you know that it’s not going to change you know if you see it 15 lines down it’s going to be the same as it was 15 minds up right whereas when you had this regular variable declarations you never really knew what you had so there’s a lot more cognitive load as you kind of would scan and read the code.

Dave: Yeah and constants are more efficient to the interpreter so they they don’t know the internals of the eight or any I’m a node program or more than a front end so I guess the engine that interprets on some browsers may be different than VA but no uses VA. Constants have a have a more efficient path to usage or they they require less resources in the long term so I use them where you can I never noticed the cognitive load that that took off of you by knowing it’s a constant so that’s that’s a really interesting point too. What was the thing that surprised you most about writing the book that you didn’t expect going in?

Joe: (silence)

Dave: Oh you appear to be muted

Joe: I accidentally hit the button. So there’s a something called, I think it’s called Hofstadter’s law, Hofstadter. I can’t remember, because this law is everything is going to take longer than you think even when you take into account that law and and so that’s that’s exactly what happened with the book. It took me it took me almost a year to the day from the time I signed a contract to the time that was shipped, and my original estimate was about six months and then included the fact that I was I was inflating it from what I thought. I think..

Dave: That’s the

Joe: Go ahead.

Dave: No, I was just gonna say, yeah, let’s try to double everything. And it still takes longer. So

Joe: Yeah, that, that, that Yeah, truth about life and definitely that code and programming. But I think the thing that I kind of surprised me about reading the book and, and I guess I kind of expected this to was it really helped me learn things a little bit more than than I thought, you know, took me like to the next level mostly because as you’re writing, you don’t want to you don’t want to look like an idiot. You don’t want to say something wrong. You don’t make people down the wrong path. So every time I’d write something, I would double and triple check it and I learned a few things that I had had been mistaken about for for a long time, and I don’t know if I would say I got addicted to the writing process. But I definitely learned that it’s very useful for me that writing or speaking or ways that are motivators I use to keep myself kind of fresh. So I like to speak at conferences. I also write articles pretty regularly for online publications like Free Code Camp or Pony Foo to the newsletter and just the process of writing about things helps me kind of understand it better. And if you have to come up with an example you have to make an abstract you have to explain it piece by piece and I think that’s a great way to learn you know, I’m always encouraging people to to write things or or get talks because I think it makes them better just the process of doing it even if no one reads or not hopefully they will but merely the process of doing so I think improves people’s abilities and skills.

Dave: Yeah, So what I.. That’s part of the reason I have this podcast is so I get to talk to people like you, but also so the more I talk about things, the more I seem to get a deeper understanding of them. That’s one of the skills I’ve always had that seems to be somewhat unique is the ability for me to take an analogy of something technical to describe it to a non technical person and every time I do that, I understand the process in a much more in a much deeper way than I did before. What the, you mentioned that you realize there were things that you’d been doing wrong. Is there anything specific that stands out that, you know, we might learn from?

Joe: Let’s see.. I mean, some of them was kind of silly things like higher order functions I’ve been calling higher order functions forever. So just a simple main thing. I don’t know how I got it wrong in the first place. But there’s some ways I use promises that I realized is wrong based at the essentially how I did some of the error handling and where we’re different things were caught in the process and I can’t remember exactly what that is. But remember realizing I’ve been doing it wrong for a while. It’s still work, but it probably wasn’t optimal. Yeah, that’s the only one that pops into my head.

Dave: No, no, that’s I what you probably couldn’t be expecting that kind of question.

Joe: Yeah.

Dave: You mentioned writing articles. I just happened to today, see the article that the title is teaching kids to code, I won’t teach my kids to code and neither should you now. as I told you before we started, I have not actually had a chance to read it and as we talked about that the title might be slightly misleading but if you want to maybe give me give us a little insight into what sparked that article.

Joe: Sure. So yeah so the article was published in Slate. You know fairly well known publication but they’re kind of known for having they had another rebellious fans they get contrarian nature so that’s why I pitched it to them. And I have two small kids right now one is three about to turn four and the other one is about 20 months old. So you know, thinking about kids and education stuff that’s all on my mind. And the idea came to me I can’t remember got a year and so ago and what happened was my my second child was just born, and I was walking in target to buy some formula and I look over and you know I probably got like four hours of sleep that night as super tired and I look over and I’m the in display there was a rack of books about teaching these kids code. Well so I guess I just saw one of them and I thought oh look at a book about teaching kids to code and the same seemed like they pop up everywhere and then I looked up and realized it was the entire in cap so anyone who knows anything about retail knows that that’s like Frank Primo real estate and so this was a full en cap display on the main aisle at Target and so I was like this must be something that’s like hugely important to people it must be really on people’s mind and it’s funny because this so there’s an article that came out after what this says Thomas Friedman about I think there’s about two weeks ago so mid February he wrote an article in The New York Times opinion piece about how there’s two types of codes you can need to learn one is, coding as we know it writing computer programs and the other something about to the code, I don’t, I don’t really know what his point was there to do his the person at the New York Times huge Nazis and he’s telling parents they absolutely have needs the kids to code there’s the target with all these products teaches kids to code I can’t turn a corner without seeing it and all I could think was the you know these these kids don’t know anything about writing code and and let me explain what that means and what that means essentially is writing code you know a lot of those books are about syntax and this is how you write an HTML form this is how you write a for loop you know maybe it’s in Python maybe from whatever. Now let’s let’s make a tic tac toe game and that’s you know, there’s nothing wrong with that. But in my experience in the industry, there’s there’s so much more to it. And this kind of goes back some things we’re talking about. There’s things like creativity, things like What is it? What does it mean to be good? Like, what is what is a quality product both that the user would interact with, and the product of code, which essentially the consumers are other developers. And these are all you know, what they would call like a soft skills. Soft skills are more like mindset. And you, you can learn those in the number of ways. And so I think if you want your kid to be a developer, first of all, if you’re pushing them into it, you’re already setting yourself up for for bad time, you know, if they want to, and this is where I think people misunderstood the article. I’m not saying if my kid wants to learn how to code if I can want to do Lego Mindstorms or whatever. It was absolutely not. Not under my roof. Of course not. But it’s the same thing if he wants to be a baseball player. You know, he wants to, he wants to study chemistry. I’m going to support him, you know, in whatever he wants to do. I’m not going to push them into because I think he’s going to sell in life if he doesn’t have those skills instead, you know, I’m going I want to focus on him getting the broad kills that if you choose to become a developer will make him a good one. And so in the article I talked about things like one day we were sitting down at his little, little toddler table, and there was a loose school on on this chair. This is like an Ikea chair. And he’s like, well, what is it? What is this before? And I said, Oh, well, this is he didn’t know this is true. He just says, What’s that? So that’s the screw. It helps get the, you know, obituary together. And so I got a little hex wrench. I showed him how you turn it on, let him turn. He turned it all the way to tie he turned all the way so the thought he took it off and saw that there was other screws and so we ended up just kind of messing around taking things apart and putting them together and eventually I think he’d probably wonder off why we’d put it together but you know, that’s that’s really the development process. You know, it’s it’s not memorizing a bunch of syntax. I didn’t even know syntax obviously, you know, I wrote a book about that. I think it’s important. But the thing that separates people who are really good is the ability to take something that’s never been done before and figure out a way to do it or to be curious enough that they go down a path to see how something works. You know, I think I think a lot of developers are the test people who take things apart You know, they just want to know, they want to know how things work even if even if they don’t have the ability to have the means to mess with them you know, and and so I think that’s what’s important especially at a younger age but it time they get older again if that’s what they want to do. Cool. But even from a non technical side there’s we’re already teaching kids skills that will make them developers and in most grades and that’s called math class. You know, if you if you have mathematical mind, if you aren’t scared of math, then you probably do okay. So that’s kind of what the article was about and I think it’s just encouraging people to not mind of hysteria you know code is important but I want my know what my lawyer to be good at law I don’t want them to program. Oh I want my doctor to be good at medicine I don’t want them to program it’s not as essential skill as as everyone thinks it is.

Dave: Though on the flip side, the let me say this first and then we’ll get back to the article I wish the law makers had a bit better understanding of how code actually works so it would stop making ridiculous laws. That’s an aside.

Joe: I hope too, yeah.

Dave:Back to the article. The reason I wanted to bring it up was, I want to my son who is eight is in a class where they’re going to do a you know, the scratch programming thing in a in a can’t remember for an after school program or whatever, but it’s it’s a short thing and he wanted to see it beforehand. And we started to play with it just so we could see what it was like. And as a I was born a programmer, I didn’t even know it was a field of a profession, a profession until I was in college. I thought it was just something I was playing with. I didn’t realize I could actually make it a career. So I’ve always been into programming since I was like nine years old. But I was doing it with him, just showing him how it worked. Just showing him some of the images and how you could add backgrounds and stuff. And then he started to play with it. And then he would ask how we got another element and I kept wanting to solve that problem. That’s that’s where I was going with the, as a programmer from the beginning. You put a problem in front of me, my first instinct is to solve it. So it was to get him from 0-2 all the way as fast as possible. And then I had to stop and say, wait a minute. The reason that I got good at this and enjoy it is because I poked at it until I understood it myself. So I had to take that step back and say, Wait, wait, wait, wait, I’ll sit here with him and let him do what he wants. He’s right now just sticking the load monsters on the screen and I’m helping him make the move back and forth while strange music plays and that’s fantastic for him. You know but it was like oh we’re not programming yet. I got to teach you for loops and how this works and how we make the move across it and I was like stop that Dave, you don’t need to do that. Just enjoy it. Let him find that either the passion to do it or not either way, but that so it was right along with your thinking. I think you’re thinking actually even a little bit better of seeing that that the curiosity in other physical objects as opposed to just the digital ones,so I really appreciate that.

Joe: And I think, I think that the common experience for developers you know when article went out I kind of break myself. Okay, I tend to get some hate and in the comments section where people are pretty pissed off as people are in comments sections, although I think sometimes their their thought processes misguided but a lot of developers you know I think really got it because a lot of us had that experience growing up where we you know, will regain that curiosity this who knows what how we did it but at some point it was there and so I think having having close systems and that’s what a lot of books and tutorials are. There’s something you do X, Y and Z you get this. That’s you know, that’s nice for helping you learn a few things but it’s that open ended will to explore and to find the answer that I think that’s why most of us get up every day and enjoy what we do. You know, I The reason I want to be a working programmer as opposed to a manager, budget manager this better than the other thing is because when I’m working on code, I get those moments of flow where you know, you you are so into a problem and you finally get it working. And you look up and it’s been two hours. And actually, it’s funny because the day kind of the day I realized I needed to switch careers from being a librarian to be developing full time was exactly one of those moments I was working on something I was trying to get. Trying to connect to an API I didn’t know what’s an API and the time I just knew that someone said, if you put in this URL, then you’ll get the data and I was working on it so hard and I finally got it working it was showing the little book images on the screen and look up and it was 6:30 and the office was dark everyone had less than that and even notice and I was just like what happened? So it was such a good feeling that I was like I want I want to see that every day I want that feeling all the time you know and so that’s something you can’t force that something has to be discovered and and you know some people don’t find it into it I have a brother who’s a is an electrical engineer he started off he thought he wanted to be a programmer and we just realized that he didn’t like he didn’t like the part about sitting you know and and thinking in logic he likes he likes turning screwdrivers and in cutting wires so he went into electrical engineering he felt he felt right so here and there but for him the fun part is is getting his hands in the thing and that’s you know, that’s that’s awesome. I’m glad he likes that, he likes to do that thing.

Dave: Cool. How did you end up starting the meetup?

Joe: So yeah, the meetup. So I lived in Lawrence, Kansas, which is about 45 minutes outside of Kansas City. Kansas City is the major metro area. And for a long time I commuted into Kansas to work. And there’s about 45 minutes to an hour depending on the traffic. And so I’m a I’m a social person. I like other people. The problem I have was that most of the meetups in Kansas City where evening and so I was always stuck with the problem of if I go to the meet up I’d have to kill like two hours in Kansas City because they said seven or something, or I would drive home stay there for 30 minutes and then drive back and then this is after I had had a couple kids so that was putting, you know, some tension family wise and so I had this genius idea where I was started a meetup, but it will happen over the lunch hour. That way I could just go during my regular day, hang out with people. And then I could go home. So I started that meetup and then one month later exactly, I got a job working remotely so I don’t have to drive into Kansas City anymore. Ironically, now now I only drive in Kansas City to run the meetup. So I would say I always tell when it’s it’s the worst great idea I ever had. But you know, it’s there’s no like secret to it. I guess it was one of the things where I thought about doing it for six months and we have JavaScript meetups in Kansas City we had there’s an NGO and do that but there wasn’t a reaction it up and you know, I knew I knew that there’s a lot of react developers are growing. So I thought, someone should do it. I’m a someone. And so I got to start it. And it actually has been pretty successful. I don’t know about about meetups and other towns, but we get between 25. And I think one time we had up to 40 people, which is a day pretty, pretty solid, pretty solid group. And I think, you know, I think the lunch hour thing that helps a lot. I would encourage people to take considering your meetup to think about the lunch hour because it really does help out a lot of people because people have commented to me about how it was $50 more than one evening so they can because they figured a volleyball practice or whatever and so it’s a great way to get people an opportunity to learn something and you know the nice thing is a lot of times you can get corporate sponsors and get everyone can get a free lunch and kind of kind of the nice thing.

Dave:That’s a really good idea, I go to meetups quite often. I try to limit it to no more than two a week at a maximum usually, I try to keep it at one but what happens is I’ll have one week was zero in the next week I’ll have two because of the way the timing works out because you know I’ve got three small, three smaller kids now they’re not quite as small as they used to be but my wife if I was out too much but I get so much value from them you know it’s I get like even the ones where the thing is not directly relevant. There’s one word that mentioned one tool or one technique that I then go and look into more that I wouldn’t have heard anywhere else in the context that made sense to me. So even what can feel like 99% of it wasted my time that 1% was so valuable that it was a must go You know what I mean? So I really liked that idea of the lunch, someone mentioned a different type of meetup that might happen over lunch at some point. But I hadn’t thought about a, a deeply technical one being. That’s it. But that’s, that’s a good idea. And I know a few places that have actually had a little bit of an issue or a few meetups that have had a little bit of an issue with trying to get places at certain times to hold their meetup so that might might be interesting. What What was the hardest part of starting a meetup?

Joe: You know, this one actually went pretty easily that the hardest part was originally finding finding locations and and so Kansas City you know, the biggest downside to a lunchtime meetup is that the time is limited. So again, Kansas is a big metro area and traveling from one side to the other, but take the entire lunch hour. So I’m trying to figure out a place that can where I can get people without excluding people was tough. I don’t think I actually saw that problem. We’re on one side of Kansas City where a lot of the development the developers are not all of them. And so I think we get more people but we do exclude a chunk of the city, we try and move it around a little bit. But finding the location can be can be challenging because the beauty part is a lot of more offices are open. So people are willing to share their space, you know, and they of course, this of course, derive some benefit usually they’ll they’ll pitch if they’re looking for developers will give a little pitch for their space and then the chance to showcase how awesome that company is and all that fun stuff. But you know, they also have meetings and things like that so so you we ended up kind of like rotating around a bit but at this point, it’s been about a year that because we started it is pretty stable. We have three or four places that are that are pretty reliable, that we can rotate between them. So we don’t burn anyone out. But finding that for a while, the few times I was, you know, week or two to go, we’re still scrambling, trying to find it, find that place to go find these speakers and of course, be challenging. I think if anyone is planning to start a meetup, they should expect that they will have to talk at least two, possibly three times in the first year because as a podcast, podcaster you know, consistency is really important, especially when you’re getting started. So making sure that there’s something every month to some people trust you, keep showing up. But again, after that, after you kind of get rolling and you get more people then that starts to go away a little bit too. So I think we were we were pretty lucky because there’s a high demand for what we do. And at least in my, in my city, Kansas City, a lot of companies are switching their their user interfaces to react even still. And so we get a lot of people who, you know, kind of like, hey, I’ve just been told that we’re changing I published in London, and, you know, so they’ll come in and chat a little bit or or Western presentation. There’s also a couple of coding boot camps in our city that use react. And so we get a lot of people who are recent graduates from that we’re looking at network and so it’s been a really good, very good experience with people from all over the spectrum. people doing it, whoever people who are just starting and everything in between,

Dave: Do you see much uptake in vueJS?

Joe: You know that that’s not super popular in Kansas City. And one thing I always find really interesting is how how some of these things happen geographically, you know, so Kansas City is a huge .net town, .net all over the place. And then I would say it’s probably 75% react and 25% Angular. And and I hardly ever see any of you or any member or anything else, even even back a few years. And, you know, part of that makes sense. Because when people learn something along company, they switch and they go to another company. And they kind of take that knowledge with you. But for a while, I worked at a company that did Ruby on Rails and we had the hardest time finding developers just because it was not a ton of really shops whereas other other places they’re just they’re everywhere, no Omaha’s a ton of Ruby developers so it’s changed the way that happens from the city that way but that’s just how it goes.

Dave: Yeah, that’s uh, I like react but one of the things that worries me is the amount of control obviously Facebook would have over the direction of react. I know some of their licensing is changed over the last eight to 12 months to make some of the worries lesson. But still, we know they can control so much of the direction of it, that it can be an issue for some people, I think with how they may be able to implement certain elements depending on what sort of problems they bump into. And I guess it’s really more to do with React Native than reacting in the experiences I’ve had. Any kind of issues with with anything they’re related to react in the direction of it with regards to?

Joe: No, but I completely understand that view point and I would admit that as someone who uses a lot of open source technologies, we probably don’t think critically about that enough. But I had had an experience that actually fits right in with that, which is Angular, you know, back before it became AngularJS, the new version. Yeah, I was working at a company, and I, you know, angular was the hotness. So I built this huge thing. And Angular took all this time and all this work and then finish and I was really happy. And exactly one week after I finished they, they get a big pocket some conference where they simply that was limited as a dedicated the original Angular one is that we’re getting rid of this that the other thing we’re going to start with Angular two and I remember just sitting there thinking I spent four months working on that thing and you’re telling me that it’s definitely created in two years and then had to do the whole thing over again and and so ironically, then I started using react because I was so mad at them. But you know what’s to say that the same thing doesn’t happen happen there?

Dave: Oh, yeah, definitely, definitely

Joe: And the one thing that does worry me about react is how the way applications are made in it. It’s, you know, it’s free is all the way down. Yeah. So you can just, you know, as much as everyone complains about jQuery, at least at the end of the day, if you shut down jQuery, you still have the HTML the CSS you can just pick and choose which part of react app you’re going to say that kind of all on this together I imagine you imagine there’s ways around it and he could split things up but it’s definitely not not going to be as easy.

Dave: Yeah so my react experience is very minimal like even the demo prototypes I did were base you know, they weren’t they were nothing to my knowledge is not extensive. But one of the reasons I like view the most is that it Well, the creator, I always forget his name, I must write that down somewhere was on the angular one project. And he basically took the good parts of that and a lot of what makes react nice and turn it into view. So it’s a progressive set of elements. So you don’t have to have it react. I mean, I view all the way down, you can have a small portion of the page, you know, have view elements. So those are a couple of the reasons that I’m interested in it. We haven’t actually started to use it yet but and it seems to be growing in popularity, especially from the east like China India area and moving this way through your but you know, it’s really hard to tell with all of these technologies, what’s here in 6-8 months, and what new thing we’ve never heard of that will be the new hotness.

Joe: Yeah, yeah.

Dave: What’s got you excited? Any, anything new on the horizon technology wise, or?

Joe: Oh, let’s see. Nothing specific, that the new version of react came out out of alpha, which is a company called folks. And have gotten everyone excited me as well. I’m always always interested in in the JavaScript update, the one I’m super excited about, which is going to be a while something called the pipeline operator which essentially compose this function. So they pass data right into your next function. And that one looks like it’s going to be a while because Babel had an interesting post on how implementing it is not straightforward based off of how some people think it’s thinking I wish to wear it. So I was looking on under those things. Personally, you know, I, I found one of the other things that’s really fun about development. As always, we’re always obsessed with the next new thing. But what’s really interesting too is a lot of times how what’s old is new again. And so I’ve been doing some stuff with state machines, which has been around for decades, I’ve been playing around with Abstract Syntax Trees, which obviously found even longer than that. So just kind of custom me bringing in re learning things that have been around for a while and then starting to use them in new ways. And that’s when the fun facts about it, learning, learning something new reimagining something old trying something out. It’s all fun, have a good time.

Dave: What are hooks exactly? I haven’t looked into those.

Joe: Yeah

Dave: I mean, in some cases, hooks are but in the realm of react.

Joe: Sure. I’m going to probably do a horrible job explaining them. So don’t don’t take my word for it. But hook essentially is so react used to stay on classes, you know, there is you would make a property called state and then you would add stuff to it. And the React engine would know how to render would make update based on how you change that. So if you change something in the state property, or now I have to re render thanks for the down the line and so a hook is a way to to manage state in a functional component as opposed to a class based component. And and so you inside of a function, you essentially create a new state and then you get a pair the first item is the item in state and the second is that function outdated and so now you can you can create physical components inside functional component and the way they do it under the hood is super interesting. I don’t fully understand. So again, this is even, and even take this and say an even bigger grain of salt. But the best way to do it is to think about it an error handling, you know, so if you have if you have a state deal instead of state then you call it and essentially positive but running at the application, and it looks for the nearest states handler kind of a way that if you throw an error, the application stops processing it looks for the closest catch, you know, catch statement or error, error, error handling payment. So it’s a way you know, to make things that are functional. That’s kind of can cause the runtime almost is super interesting. But the part that has made everyone so excited about it is that it reduces a lot of boilerplate so it makes things easier to see and it makes it easier to switch the way you would use component so you can have a component that has a state and a component that doesn’t and it used to take a lot of work. We kind of switching back and forth. Now it’s just one or two lines of code. So pretty, pretty nice.

Dave: Interesting. Yeah, it’s nice to have a teaser that I have to look into it, But what do you have coming up for yourself? Any any new books or articles or projects?

Joe: And let’s see. Yeah, so I mentioned before I like to write so I write regularly for 22. So if you are interested in and what after, right, subscribe to their newsletter, because they have a bunch of good stuff. And a lot of people who read up on me. Right now, I’m writing..

Dave: I’ll add the link’s for all these in the show notes, they can get to..

Joe: Sure, so yep. So for them, I’m writing articles about testing and just and specifically mocking, mocking things which is one of my favorite things about is just how easy it is to mock different functions, have a few talks this year, not as many as I do in years past. But for those in the Midwest, if you haven’t gotten to Kansas developer conference, it’s an awesome conference. And it’s for developers. Just a general conference. Okay, I guess kind of towards the web developer. And but there’s stuff about all sorts of languages. They’re going to be talking there about refactoring JavaScript, and then also ethics and programming as I mentioned, study philosophy. So I’m always kind of keep one foot in that realm. And so that that’s, I guess what’s coming up for me.

Dave: Very cool. Anything else that you want to talk about that we haven’t covered so far?

Joe: No, I think this has been a good conversation. I’ve enjoyed it.

Dave: No, It has just been great. I really appreciate you joining us. And I’m sure the listeners have enjoyed it as well. What What would you leave people with any anything that you’d like them to do other than subscribe to the newsletter?

Joe: I guess if you are interested in and getting a hold of me the best place is on Twitter. My handle is JoeSMorgan is probably the most active thing that I have going right now. And honestly I’m not I’m not too active on there. I try and keep my mouth shut. Unless I feel like I actually have something of value to the conversation. But if you ever want to get a hold of me, DM’s are open. I love to hear from people, I usually respond so so don’t hesitate and otherwise I think that’s about it. Check out the book again it’s called simplifying JavaScripts it’s on Amazon it’s also published be pragmatic programmers if you go there they are passing around discounts on holiday. So check. Check out that and you may get a pretty good discount on it sometime.

Dave: Fantastic. What skill level should a person be at for your book? Junior level?

Joe: I think probably Junior or mid level, I assume that, you know, programming, but they don’t necessarily know JavaScript programming. So a friend of mine who’s a Python developer, it’s taken on more JavaScript responsibilities. She found out it was a really good fit for her because she knew a lot of the concepts, but it’s more about how to how to do things in a JavaScript way, so to speak, versus writing Python code in JavaScript, which is one of the challenges of moving between languages.

Dave: Okay, cool. Yeah. Well, from just talking to you, I think I could learn a good deal from the book. I just haven’t had an opportunity to get it yet but I consider myself pretty advanced in my in my old age, but it still sounds like I can find a thing or two. Just making sure

Joe: Yeah, if anything, it’s just a different perspective, you know, because sometimes I think that’s that’s one of the best parts to was learning new things, minister learning something new for learning about a different way about approaching problems or thinking about things.

Dave: All right. Excellent. Yeah and if you ever have another book or anything that’s on your mind, let me know we can always have your back. It’d be a pleasure.

Joe: Great, appreciate it.

Dave: Thank you, Joe and thank you everyone for listening.

Until next time, remember, any sufficiently advanced technology is indistinguishable from magic.