Devchat.tv

All JavaScript Podcasts by Devchat.tv

All JavaScript Shows published by Devchat.tv
All JavaScript Podcasts by Devchat.tv

Description

All JavaScript podcasts produced by Devchat.tv: - JavaScript Jabber - My JS Story - JS Rants

Link: devchat.tv

Categories

Technology

Episodes

MJS 099: Christopher Buecheler

Mar 20, 2019 42:45

Description:

Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Clubhouse CacheFly 

Host: Charles Max Wood

Guest: Christopher Buecheler

Episode Summary

In this episode of My JavaScript Story, Charles hosts Christopher Buecheler, novelist, web developer and founder of CloseBrace, a JavaScript tutorial and resource site.

Christopher is a self-taught full-stack web developer with extensive experience in programming with JavaScript, jQuery, React.js, Angular.js, and much more. Listen to Christopher on the  JavaScript Jabber podcast.

Christopher started CloseBrace because he really enjoys helping people and giving back to the community. In his spare time, he writes science fiction novels and is also working on a web application for knitting called Stitchly with a friend.

Links

https://devchat.tv/js-jabber/jsj-338-its-supposed-to-hurt-get-outside-of-your-comfort-zone-to-master-your-craft-with-christopher-buecheler/ CloseBrace React.js https://twitter.com/closebracejs Christopher Buecheler’s Twitter Christopher Buecheler’s Website Christopher Buecheler’s LinkedIn Christopher Buecheler’s GitHub https://closebrace.com/categories/five-minute-react contact@closebrace.com http://stitchly.io/ Christopher Buecheler's Amazon link Elixir by Christopher Buecheler https://devchat.tv/my-javascript-story/ https://www.facebook.com/DevChattv https://www.facebook.com/javascriptjabber https://devchat.tv/my-javascript-story/ Picks

Christopher Buecheler:

Bracket Pair Colorizer Highlight Matching Tag https://gitlens.amod.io/ Fifth Season by N. K. Jemisin

Charles Max Wood:

Language Server Extension Guide RRU 015: Visual Studio Code with Rachel MacFarlane and Matt Bierner LIVE at Microsoft Build VoV 015: Visual Studio Code with Rachel MacFarlane and Matt Bierner LIVE at Microsoft Build

JSJ 356: Build Websites Like It's 2005 with Keith Cirkel

Mar 19, 2019 56:18

Description:

Sponsors Triplebyte Sentry use the code “devchat” for $100 credit Clubhouse CacheFly Panel Chris Ferdinandi Aimee Knight Aaron Frost AJ O’Neal

Joined by special guest: Keith Cirkel

Episode Summary

In this episode of JavaScript Jabber, Keith Cirkel, Senior Application Engineer at GitHub, briefly explains the projects he is working with and moves on to the recent changes done by GitHub to their website, including the decision to remove jQuery, and not choosing a popular framework such as React or Vue. He talks about some problems in using Internet Explorer 11, how these GitHub changes can help with certain browser compatibility issues, and a few challenges the team had to face during the redesigning process.

The panelists then discuss event delegation, performance considerations, Polyfill.io and web components. Keith gives some insight into accessibility and they talk about related user concerns.

Links Keith’s website Keith’s GitHub Keith’s Twitter GitHub Engineering blog Financial Times – Polyfill service Include fragment - element Picks

Aaron Frost:

Bag Man What It’s Like to Be A Woman on the Internet

Aimee Knight:

Smooth Sailing with Kubernetes

Joe Eames:

GitHub Free users get free unlimited private repositories Swig Things I don’t know as of 2018

AJ O’Neal:

Isopropyl alcohol Bang good electronics Soldering Iron – Hakko, X-Tronic

Keith Cirkel:

GitHub careers Heston’s Pod & Chips Brexit

Chris Ferdinandi:

52 things I learned in 2018 Learn Vanilla JS

MJS 098: Vitali Zaidman

Mar 13, 2019 37:12

Description:

Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Triplebyte offers a $1000 signing bonus Clubhouse CacheFly

Host: Charles Max Wood

Guest: Vitali Zaidman

Episode Summary

In this episode of My JavaScript Story, Charles hosts Vitali Zaidman, Technical Lead at WellDone Software Solutions. He is also the author of the popular blog piece: “An Overview of JavaScript Testing in 2019”.

Vitali has been writing code since he was 13 years old. After completing his military service, he attended The Open University of Israel where he took computer science courses. He picked JavaScript not knowing that it was going to be so popular.

He has been working for WellDone Software Solutions since he was a student where he has had the chance to work in many different projects. Vitali feels in order to keep up with technology it is important to work in different projects.

Vitali talks about projects he has worked on that he is proud of, one of which is his library at https://github.com/welldone-software/why-did-you-render

Links JSJ 331: An Overview of JavaScript Testing in 2018 with Vitali Zaidman https://www.facebook.com/vzaidman https://twitter.com/vzaidman https://github.com/vzaidman https://medium.com/@vzaidman https://bitsrc.io/vzaidman https://www.welldone-software.com/ https://www.powtoon.com/home/? Picks

Vitali Zaidman:

https://www.testim.io/ https://applitools.com/ An Overview of JavaScript Testing in 2019 by Vitali Zaidman https://github.com/welldone-software/why-did-you-render

Charles Max Wood:

https://www.vrbo.com/ https://paradehomes.com/web/ https://www.tripit.com/web Player's Handbook Dungeons & Dragons Core Rule Book

JSJ 355: Progressive Web Apps with Aaron Gustafson LIVE at Microsoft Ignite

Mar 12, 2019 55:53

Description:

Sponsors Sentry use the code “devchat” for $100 credit Triplebyte Clubhouse CacheFly Panel Charles Max Wood

Joined by special guest: Aaron Gustafson

Episode Summary 

This episode of JavaScript Jabber comes to you live from Microsoft Ignite. Charles Max Wood talks to Aaron Gustafson who has been a Web Developer for more than 20 years and is also the Editor in Chief at “A List Apart”. Aaron gives a brief background on his work in the web community, explains to listeners how web standardization has evolved over time, where Progressive Web Apps (PWAs) come from, where and how can they be installed, differences between them and regular websites and their advantages. They then delve into more technical details about service workers, factors affecting the boot up time of JavaScript apps, best practices and features that are available with PWAs. 

Aaron mentions some resources people can use to learn about PWAs, talks about how every website can benefit from being a PWA, new features being introduced and the PWA vs Electron comparison. In the end, they also talk about life in general, that understanding what people have gone through and empathizing with them is important, as well as not making judgements based on people’s background, gender, race, health issues and so on.

Links Creating & Enhancing Netscape Web Pages A List Apart A Progressive Roadmap for your Progressive Web App Windows Dev Center - Progressive Web Apps MDN web docs PWA Stats PWA Stats Twitter Aaron’s website Aaron’s Twitter https://www.facebook.com/javascriptjabber/ https://twitter.com/JSJabber Picks

Aaron Gustafson:

Homegoing Zeitoun

Charles Max Wood:

Armada 

MJS 097: Charles Lowell

Mar 6, 2019 56:26

Description:

Sponsors: Sentry– use the code “devchat” for $100 credit Clubhouse

Host: Charles Max Wood

Guest: Charles Lowell

JSJ 354: Elm with Richard Feldman

Mar 5, 2019 37:56

Description:

Sponsors Kendo UI Sentry use the code “devchat” for $100 credit Clubhouse CacheFly Panel Joe Eames Aimee Knight

Joined by special guest: Richard Feldman

Episode Summary

In this episode of JavaScript Jabber, Richard Feldman, primarily known for his work in Elm, the author of “Elm in Action” and Head of Technology at NoRedInk, talks about Elm 0.19 and the new features introduced in it. He explains how the development work is distributed between the Elm creator – Evan Czaplicki and the other members of the community and discusses the challenges on the way to Elm 1.0.

Richard also shares some educational materials for listeners interested in learning Elm and gives details on Elm conferences around the world touching on the topic of having diversity among the speakers. He finally discusses some exciting things about Elm which would encourage developers to work with it.

Links Elm in Action Frontend Masters – Introduction to Elm Frontend Masters – Advanced Elm Small Assets without the Headache Elm Guide ElmBridge San Francisco Renee Balmert Picks

Aimee Knight:

Most lives are lived by default

Joe Eames:

Thinkster

Richard Feldman:

Framework Summit 2018 – Keynote speech Nix Package Manager A Philosophy of Software Design

JSJ 353: Signal R with Brady Gaster LIVE at Microsoft Ignite

Feb 27, 2019 51:41

Description:

Sponsors: Netlify Sentry use the code “devchat” for $100 credit Clubhouse Panel:

Charles Max Wood

Special Guest: Brady Gaster

In this episode, Chuck talks with Brady Gaster about SignalR that is offered through Microsoft. Brady Gaster is a computer software engineer at Microsoft and past employers include Logical Advantage, and Market America, Inc. Check out today’s episode where the two dive deep into SignalR topics.

Links: Vue jQuery Angular C# Chuck’s Twitter SignalR SignalR’s Twitter GitHub SignalR Socket.io Node-SASS ASP.NET SignalR Hubs API Guide – JavaScript Client SignalR.net Real Talk JavaScript Parcel Brady Gaster’s Twitter Brady Gaster’s GitHub Brady Gaster’s LinkedIn Picks:

Brady

Team on General Session Korg SeaHawks Brady’s kids Logictech spot light AirPods

Charles

Express VPN Hyper Drive J5 ports and SD card readers Podwrench

MJS 096: Bart Wood

Feb 26, 2019 22:14

Description:

Sponsors: Sentry– use the code “devchat” for $100 credit Clubhouse

Host: Charles Max Wood

Guest: Bart Wood

 

Episode Summary

In this episode of My JavaScript Story, Charles Max Wood speaks with his namesake Bart Wood. They talked about tools for tracking and monitoring problems while using apps.  One app in particular was able to track new releases and errors, automatically scrub passwords to secure information as well as customize the scrubbing process while allowing users to provide feedback. 

Charles delves into the past of Bart Wood who has been working with the same company, Henry Shine.  He started studying Economics before he got into programming by chance and eventually ended up graduating with a Masters in Computer Science.  Initially Bart had misconceptions of computing and eventually realized that it was not only about maintaining the OS system and learning keyboard strokes, but creating new apps and delving into the world of creating new software.

MJS 095: Misko Hevery

Feb 20, 2019 45:24

Description:

Sponsors Sentry use the code "devchat" for $100 credit Clubhouse Panel: Charles Max Wood Guest: Misko Hevery

JSJ 352: Caffeinated Style Sheets: Supporting High Level CSS with JavaScript with Tommy Hodgins

Feb 19, 2019 50:15

Description:

Sponsors Sentry- use the code “devchat” for $100 credit Netlify Clubhouse CacheFly

 

Episode Summary  

In this episode of JavaScript Jabber, the panelists talk with Tommy Hodgins who specializes in responsive web design. He starts with explaining to listeners what it means by a responsive web layout and goes on to discuss the techniques in using JavaScript in CSS in depth.

He elaborates on dynamic styling of components, event-driven stylesheet templating, performance and timing characteristics of these techniques and describes different kinds of observers – interception, resize and mutation, and their support for various browsers. He also talks about how to go about enabling certain features by extending CSS, comparison to tools such as the CSS preprocessor and Media Queries, pros and cons of having this approach while citing relevant examples, exciting new features coming up in CSS, ways of testing the methods, caffeinated stylesheets, along with Qaffeine and Deqaf tools.

Links JS in CSS – Event driven virtual stylesheet manager Qaffiene Deqaf Tommy’s Twitter Fizzbuzz

 

Picks

Joe

The Captain Is Dead

Aimee

Developer on Call Tip – Try to follow a low-sugar diet

Chris

Tommy’s snippets on Twitter – JS in CSS All things frontend blog Gulp project

Charles

Coaching by Charles in exchange of writing Show Notes or Tags

Tommy

JS in CSS

MJS 094: Lee Byron

Feb 13, 2019 48:45

Description:

Sponsors Sentry use the code "devchat" for $100 credit Clubhouse Panel: Charles Max Wood Guest: Lee Byron

JSJ 351: Dinero.js with Sarah Dayan

Feb 12, 2019 1:12:08

Description:

Sponsors Netlify Sentry use the code "devchat" for $100 credit Clubhouse

MJS 093: Ben Lesh

Feb 6, 2019 53:19

Description:

Sponsors Sentry use the code "devchat" for $100 credit Clubhouse

JSJ 350: JavaScript Jabber Celebrates Episode 350!

Feb 5, 2019 1:06:43

Description:

Sponsors Netlify Sentry use the code "devchat" for $100 credit Clubhouse Panel: Charles Max Wood AJ O’Neal Aimee Knight Aaron Frost Chris Ferdinandi Joe Eames Tim Caswell Picks:

Charles Max Wood

Villainous Board Game

Joe Eames

Azul Stained Glass Board Game

AJ O’Neal

https://www.digikey.com/ Magnetic Hourglass: Amazon Hobby Lobby $6 

Aimee Knight

https://www.nytimes.com/2018/12/24/well/mind/work-schedule-hours-sleep-productivity-chronotype-night-owls.html

Aaron Frost

Matrix PowerWatch https://twitter.com/ChloeCondon

Chris Ferdinandi

https://learnvanillajs.com/

Tim Caswell

https://www.magicleap.com/ https://textonascreen.rocks/ https://history.lds.org/saints

MJS 092: Shashank Shekhar

Jan 31, 2019 19:01

Description:

Sponsors Sentry use the code "devchat" for $100 credit Clubhouse

JSJ 349: Agile Development - The Technical Side with James Shore

Jan 30, 2019 59:46

Description:

Sponsors KendoUI Sentry use the code "devchat" for $100 credit Clubhouse

MJS 091: Jamund Ferguson

Jan 24, 2019 39:52

Description:

Sponsors Sentry use the code "devchat" for $100 credit Clubhouse

JSJ 348: EnactJS with Ryan Duffy

Jan 22, 2019 44:08

Description:

Sponsors KendoUI Sentry use the code "devchat" for $100 credit Clubhouse

JSJ 347: JAMstack with Divya Sasidharan & Phil Hawksworth

Jan 15, 2019 1:21:54

Description:

Sponsors KendoUI Sentry use the code "devchat" for $100 credit Clubhouse

JSJ 346: Azure Pipelines with Ed Thomson LIVE at Microsoft Ignite

Jan 8, 2019 43:19

Description:

Sponsors:

KendoUI Sentry use the code "devchat" for $100 credit Clubhouse

Panel:

Charles Max Wood

Special Guests: Ed Thomson

In this episode, the Charles speaks with Ed Thomson who is a Program Manager at Azure through Microsoft, Developer, and Open Source Maintainer. Ed and Chuck discuss in full detail about Azure DevOps! Check out today’s episode to hear its new features and other exciting news!

Show Topics:

0:59 – Live at Microsoft Ignite

1:03 – Ed: Hi! I am a Program Manager at Azure.

1:28 – Rewind 2 episodes to hear more about Azure DevOps!

1:51 – Ed: One of the moves from Pipelines to DevOps – they could still adopt Pipelines. Now that they are separate services – it’s great.

2:38 – Chuck talks about features he does and doesn’t use.

2:54 – Ed.

3:00 – Chuck: Repos and Pipelines. I am going to dive right in. Let’s talk about Repos. Microsoft just acquired GitHub.

3:18 – Ed: Technically we have not officially acquired GitHub.

3:34 – Chuck: It’s not done. It’s the end of September now.

3:55 – Ed: They will remain the same thing for a while. GitHub is the home for open source. Repos – we use it in Microsoft. Repositories are huge. There are 4,000 engineers working in these repositories. Everyone works in his or her own little area, and you have to work together. You have to do all this engineering to get there. We bit a tool and it basically if you run clone...

Ed continues to talk about this topic. He is talking about One Drive and these repositories.

6:28 – Ed: We aren’t going to be mixing and matching. I used to work through GitHub. It’s exciting to see those people work close to me.

6:54 – Chuck.

6:59 – Ed: It has come a long way.

7:07 – Chuck: Beyond the FSF are we talking about other features or?

7:21 – Ed: We have unique features. We have branch policies. You can require that people do pole request. You have to use pole request and your CI has to pass and things like that. I think there is a lot of richness in our auditing. We have enterprise focus. At its core it still is Git. We can all interoperate.

8:17 – Chuck.

8:37 – Ed: You just can’t set it up with Apache. You have to figure it out.

8:51 – Chuck: The method of pushing and pulling.

9:06 – Chuck: You can try DevOps for free up to 5 users and unlimited private repos. People are interested in this because GitHub makes you pay for that.

9:38 – Ed and Chuck continue to talk.

9:50 – Ed: Pipelines is the most interesting thing we are working on. We have revamped the entire experience. Build and release. It’s easy to get started. We have a visual designer. Super helpful – super straightforward. Releases once your code is built – get it out to production say for example Azure. It’s the important thing to get your code out there.

10:55 – Chuck: How can someone start with this?

11:00 – Ed: Depends on where your repository is. It will look at your code. “Oh, I know what that is, I know how to build that!” Maybe everyone isn’t doing everything with JavaScript. If you are using DotNet then it will know.

12:05 – Chuck: What if I am using both a backend and a frontend?

12:11 – Ed: One repository? That’s when you will have to do a little hand packing on the...

There are different opportunities there. If you have a bash script that does it for you. If not, then you can orchestrate it. Reduce the time it takes. If it’s an open source project; there’s 2 – what are you going to do with the other 8? You’d be surprised – people try to sneak that in there.

13:30 – Chuck: It seems like continuous integration isn’t a whole lot complicated.

13:39 – Ed: I am a simple guy that’s how I do it. You can do advanced stuff, though. The Cake Build system – they are doing some crazy things. We have got Windows, Lennox, and others. Are you building for Raspberries Pies, then okay, do this...

It’s not just running a script.

15:00 – Chuck: People do get pretty complicated if they want. It can get complicated. Who knows?

15:26 – Chuck:  How much work do you have to do to set-up a Pipeline like that?

15:37 – Ed answers the question in detail.

16:03 – Chuck asks a question.

16:12 – Ed: Now this is where it gets contentious. If one fails...

Our default task out of the box...

16:56 – Chuck: If you want 2 steps you can (like me who is crazy).

17:05 – Ed: Yes, I want to see if it failed.

17:17 – Chuck: Dude, writing code is hard. Once you have it built and tested – continuous deployment.

17:33 – Ed: It’s very easy. It’s super straightforward, it doesn’t have to be Azure (although I hope it is!).

Ed continues this conversation.

18:43 – Chuck: And it just pulls it?

18:49 – Ed: Don’t poke holes into your firewall. We do give you a lot of flexibility

19:04 – Chuck: VPN credentials?

19:10 – Ed: Just run the...

19:25 – Chuck comments.

19:36 – Ed: ...Take that Zip...

20:02 – Ed: Once the planets are finely aligned then...it will just pull from it.

20:25 – Chuck: I host my stuff on Digital Ocean.

20:46 – Ed: It’s been awhile since I played with...

20:55 – Chuck.

20:59 – Ed and Chuck go back and forth with different situations and hypothetical situations.

21:10 – Ed: What is Phoenix?

21:20 – Chuck explains it.

21:25 – Ed: Here is what we probably don’t have is a lot of ERLANG support.

22:41 – Advertisement.

23:31 – Chuck: Let’s just say it’s a possibility. We took the strip down node and...

23:49 – Ed: I think it’s going to happen.

23:55 – Ed: Exactly.

24:02 – Chuck: Testing against Azure services. So, it’s one thing to run on my machine but it’s another thing when other things connect nicely with an Azure set-up. Does it connect natively once it’s in the Azure cloud?

24:35 – Ed: It should, but there are so many services, so I don’t want to say that everything is identical. We will say yes with an asterisk.

25:07 – Chuck: With continuous deployment...

25:41 – Ed: As an example: I have a CD Pipeline for my website. Every time I merge into master...

Ed continues this hypothetical situation with full details. Check it out!

27:03 – Chuck: You probably can do just about anything – deploy by Tweet!

27:15 – Ed: You can stop the deployment if people on Twitter start complaining.

27:40 – Chuck: That is awesome! IF it is something you care about – and if it’s worth the time – then why not? If you don’t have to think about it then great. I have mentioned this before: Am I solving interesting problems? What projects do I want to work on? What kinds of contributions do I really want to contribute to open source?

That’s the thing – if you have all these tools that are set-up then your process, how do you work on what, and remove the pain points then you can just write code so people can use! That’s the power of this – because it catches the bug before I have to catch it – then that saves me time.

30:08 – Ed: That’s the dream of computers is that the computers are supposed to make OUR lives easier. IF we can do that and catch those bugs before you catch it then you are saving time. Finding bugs as quickly as possible it avoids downtime and messy deployments.

31:03 – Chuck: Then you can use time for coding style and other things.

I can take mental shortcuts.

31:37 – Ed: The other thing you can do is avoiding security problems. If a static code analysis tool catches an integer overflow then...

32:30 – Chuck adds his comments.

Chuck: You can set your policy to block it or ignore it. Then you are running these tools to run security. There are third-party tools that do security analysis on your code. Do you integrate with those?

33:00 – Ed: Yep. My favorite is WhiteSource. It knows all of the open source and third-party tools. It can scan your code and...

34:05 – Chuck: It works with a lot of languages.

34:14 – Ed.

34:25 – Chuck: A lot of JavaScript developers are getting into mobile development, like Ionic, and others. You have all these systems out there for different stages for writing for mobile. Android, windows Phone, Blackberry...

35:04 – Ed: Let’s throw out Blackberry builds. We will ignore it.

Mac OS dies a fine job. That’s why we have all of those.

35:29 – Chuck: But I want to run my tests, too!

35:36 – Ed: I really like to use App Center. It is ultimately incredible to see all the tests you can run.

36:29 – Chuck: The deployment is different, though, right?

36:40 – Ed: I have a friend who clicks a button in...

Azure DevOps.

37:00 – Chuck: I like to remind people that this isn’t a new product.

37:15 – Ed: Yes, Azure DevOps.

37:24 – Chuck: Any new features that are coming out?

37:27 – Ed: We took a little break, but...

37:47 – Ed: We will pick back up once Ignite is over. We have a timeline on our website when we expect to launch some new features, and some are secret, so keep checking out the website.

39:07 – Chuck: What is the interplay between Azure DevOps and Visual Studio Code? Because they have plugins for freaking everything. I am sure there is something there that...

39:30 – Ed: I am a VI guy and I’m like 90% sure there is something there.

You are an eMac’s guy?

The way I think about it is through Git right out of the box.

Yes, I think there are better things out there for integration. I know we have a lot of great things in Visual Code, because I worked with it.

40:45 – Chuck: Yes, people can look for extensions and see what the capabilities are.

Chuck talks about code editor and tools. 

41:28 – Ed: ... we have been pulling that out as quickly as possible.

We do have IE extensions, I am sure there is something for VS Code – but it’s not where I want to spend my time.

42:02 – Chuck: Yes, sure.

42:07 – Ed: But everyone is different – they won’t work the way that I work. So there’s that.

42:30 – Ed: That Chuck.

42:36 – Chuck: Where do people get news?

42:42 – Ed: Go to here!

42:54 – Chuck: Where do people find you?

43:00 – Ed: Twitter!

43:07 – Chuck: Let’s do Picks!

43:20 – Advertisement – Fresh Books!

Links:

GitHub Microsoft’s Azure Microsoft’s Pipeline Azure DevOps Erlang WhiteSource Chuck’s Twitter Ed Thomson’s Twitter Ed Thomson’s GitHub Ed Thomson’s Website Ed Thomson’s LinkedIn

Picks:

Ed

Podcast - All Things Git

JSJ 345: Azure Devops with Donovan Brown LIVE at Microsoft Ignite

Dec 25, 2018 57:32

Description:

Panel:

Charles Max Woods

Special Guests: Donovan Brown

In this episode, the Charles speaks with Donovan Brown. He is a principal DevOps Manager with Microsoft with a background in application development. He also runs one of the nation’s fastest growing online registration sites for motorsports events DLBRACING.com. When he is not writing software, he races cars for fun. Listen to today’s episode where Chuck and Donovan talk about DevOps, Azure, Python, Angular, React, Vue, and much, much more!

Show Topics:

1:41 – Chuck: The philosophies around DevOps. Just to give you an idea, I have been thinking about what I want to do with the podcasts. Freedom to work on what we want or freedom to work where we want, etc. Then that goes into things we don’t want to do, like fix bugs, etc. How does Microsoft DevOps to choose what they want to do?

2:37 – Guest: We want to automate as much as we can so the developer has less work. As a developer I want to commit code, do another task, rinse and repeating.

Minutes and not even hours later then people are tweeting about the next best thing. Do what you want, where you want. Code any language you want.

4:15 – Chuck: What has changed?

4:19 – Guest: The branding changed. The name wasn’t the most favorite among the people. The word “visual” was a concerned. What we have noticed that Azure will let me run my code no matter where I am. If you want to run Python or others it can run in Azure.

People didn’t need all of it. It comes with depositories, project management, and so much more! People could feel clumsy because there is so much stuff. We can streamline that now, and you can turn off that feature so you don’t have a heart attack. Maybe you are using us for some features not all of them – cool.

7:40 – Chuck: With deployments and other things – we don’t talk about the process for development a lot.

8:00 – Guest talks about the things that can help out with that.

Guest: Our process is going to help guide you. We have that all built into the Azure tab feature. They feel and act differently. I tell all the people all the time that it’s brilliant stuff. There are 3 different templates. The templates actually change over the language. You don’t have to do mental math.

9:57 – Chuck: Just talking about the process. Which of these things we work on next when I’ve got a bug, or a ...

10:20 – Guest: The board system works like for example you have a bug. The steps to reproduce that bug, so that there is no question what go into this specific field. Let the anatomy of the feature do it itself!

11:54 – Chuck comments.

12:26 – Chuck: Back to the feature. Creating the user stories is a different process than X.

12:44 – Guest – You have a hierarchy then, right? Also what is really cool is we have case state management. I can click on this and I expect this to happen...

These are actual tasks that I can run.

13:52 – Chuck: Once you have those tests written can you pull those into your CI?

14:00 – Guest: “Manual tests x0.”

Guest dives into the question.

14:47 – I expect my team to write those test cases. The answer to your question is yes and no.

We got so good at it that we found something that didn’t even exist, yet.

16:19 – Guest: As a developer it might be mind

16:29 – Chuck: I fixed this bug 4x, I wished I had CI to help me.

16:46 – Guest: You get a bug, then you fix a code, etc., etc. You don’t know that this original bug just came back. Fix it again. Am I in Groundhog Day?

They are related to each other. You don’t have a unit test to tell you. When you get that very first bug – write a unit test. It will make you quicker at fixing it. A unit test you can write really fast over, and over, again. The test is passing. What do you do? Test it. Write the code to fix that unit test. You can see that how these relate to each other. That’s the beauty in it.

18:33 – Chuck: 90% of the unit tests I write – even 95% of the time they pass. It’s the 5% you would have no idea that it’s related. I can remember broad strokes of the code that I wrote, but 3 months down the road I can’t remember.

19:14 – Guest: If you are in a time crunch – I don’t have time for this unit test.

Guest gives us a hypothetical situation to show how unit tests really can help.

20:25 – Make it muscle memory to unit test. I am a faster developer with the unit tests.

20:45 – Chuck: In the beginning it took forever. Now it’s just how I write software now.

It guides my thought process.

21:06 – Guest: Yes! I agree.

22:00 – Guest: Don’t do the unit tests

22:10 – Chuck: Other place is when you write a new feature,...go through the process. Write unit tests for the things that you’ve touched. Expand your level of comfort.

DevOps – we are talking about processes. Sounds like your DevOps is a flexible tool. Some people are looking for A METHOD. Like a business coach. Does Azure DevOps do that?

23:13 – Guest: Azure DevOps Projects. YoTeam.

Note.js, Java and others are mentioned by the Guest.

25:00 – Code Badges’ Advertisement

25:48 – Chuck: I am curious – 2 test sweets for Angular or React or Vue. How does that work?

26:05 – Guest: So that is Jasmine or Mocha? So it really doesn’t matter. I’m a big fan of Mocha. It tests itself. I install local to my project alone – I can do it on any CI system in the world. YoTeam is not used in your pipeline. Install 2 parts – Yo and Generator – Team. Answer the questions and it’s awesome. I’ve done conferences in New Zealand.

28:37 – Chuck: Why would I go anywhere else?

28:44 – Guest: YoTeam  was the idea of...

28:57 – Check out Guest

29:02 – Guest: I want Donovan in a box. If I weren’t there then the show wouldn’t exist today.

29:40 – Chuck: Asks a question.

29:46 – Guest: 5 different verticals.

Check out this timestamp to see what Donovan says the 5 different verticals are. Pipelines is 1 of the 5.

30:55 – Chuck: Yep – it works on my Mac.

31:04 – Guest: We also have Test Plant and Artifacts.

31:42 – Chuck: Can you resolve that on your developer machine?

31:46 – Guest: Yes, absolutely! There is my private repository and...

33:14 – Guest: *People not included in box.*

33:33 – Guest: It’s people driven. We guide you through the process. The value is the most important part and people is the hardest part, but once on

33:59 – Chuck: I am listening to this show and I want to try this out. I want a demo setup so I can show my boss. How do I show him that it works?

34:27 – Azure.com/devops – that is a great landing page.

How can I get a demo going? You can say here is my account – and they can put a demo into your account. I would not do a demo that this is cool. We start you for free. Create an account. Let the CI be the proof. It’s your job to do this, because it will make you more efficient. You need me to be using these tools.

36:11 – Chuck comments.

36:17 – Guest: Say you are on a team of developers and love GitHub and things that integration is stupid, but how many people would disagree about...

38:02 – The reports prove it for themselves.

38:20 – Chuck: You can get started for free – so when do you have to start paying for it?

38:31 – Guest: Get 4 of your buddies and then need more people it’s $6 a month.

39:33 – Chuck adds in comments. If this is free?

39:43 – Guest goes into the details about plans and such for this tool. 

40:17 – Chuck: How easy it is to migrate away from it?

40:22 – Guest: It’s GITHub.

40:30 – Chuck: People are looing data on their CI.

40:40 – Guest: You can comb that information there over the past 4 years but I don’t know if any system would let you export that history.

41:08 – Chuck: Yeah, you are right.

41:16 – Guest adds more into this topic.

41:25 – Chuck: Yeah it’s all into the machine.

41:38 – Chuck: Good deal.

41:43 – Guest: It’s like a drug. I would never leave it. I was using TFS before Microsoft.

42:08 – Chuck: Other question: continuous deployment.

42:56 – When I say every platform, I mean every platform: mobile devices, AWS, Azure, etc.

Anything you can do from a command line you can do from our build and release system.

PowerShell you don’t have to abandon it.

45:20 – Guest: I can’t remember what that tool is called!

45:33 – Guest: Anything you can do from a command line. Before firewall. Anything you want.

45:52 – Guest: I love my job because I get to help developers.

46:03 – Chuck: What do you think the biggest mistake people are doing?

46:12 – Guest: They are trying to do it all at once. Fix that one little thing.

It’s instant value with no risks whatsoever. Go setup and it takes 15 minutes total. Now that we have this continuous build, now let’s go and deploy it. Don’t dream up what you think your pipeline should look like. Do one thing at a time. What hurts the most that it’s “buggy.” Let’s add that to the pipeline.

It’s in your pipeline today, what hurts the most, and don’t do it all at once.

49:14 – Chuck: I thought you’d say: I don’t have the time.

49:25 – Guest: Say you work on it 15 minutes a day. 3 days in – 45 minutes in you have a CSI system that works forever. Yes I agree because people think they don’t “have the time.”

50:18 – Guest continues this conversation.

How do you not have CI? Just install it – don’t ask. Just do the right thing.

50:40 – Chuck: I free-lanced and setup CI for my team. After a month, getting warned, we had a monitor up on the screen and it was either RED or GREEN. It was basically – hey this hurts and now we know. Either we are going to have pain or not have pain.

51:41 – Guest continues this conversation.

Have pain – we should only have pain once or twice a year.

Rollback.

If you only have it every 6 months, that’s not too bad.

The pain will motivate you.

52:40 – Azure.com/devops.

Azure DevOps’ Twitter

53:22 – Picks!

53:30 – Advertisement – Get a Coder Job

Links:

Donovan Brown’s GitHub Donovan Brown’s Twitter Donovan Brown Donovan Brown – Channel 9 Donovan Brown – Microsoft Azure YoTeam Azure.com/devops GitHub Azure DevOps’ Twitter

Sponsors:

Angular Boot Camp Digital Ocean Get a Coder Job course

Picks:

Charles

Jet Blue Beta Testers

Donovan

YoTeam VSTeam Powershell Module

MJS 090: AJ O’Neal

Dec 19, 2018 51:22

Description:

Panel: Charles Max Wood

Guest: A.J. O’Neal

This week on My JavaScript Story, Charles talks with A.J. O’Neal who is a panelist on My JavaScript Jabber usually, but today he is a guest! The guys talk about AJ’s background and past/current projects. Today’s topics include: JavaScript, Ruby, jQuery, Rails, Node, Python, and more.

In particular, we dive pretty deep on:

0:00 – Advertisement: Get A Coder Job!

1:23 – Chuck: Introduce yourself, please.

1:27 – AJ: I brief introduction: I am a quirky guy who is ADD and I love to figure out why/how things work. I like self-hosting or owning things in technology.

2:00 – Chuck: Where do you work now?

2:02 – AJ: I work in UTAH at Big Squid!

3:29 – AJ: I have my own company, too!

3:41 – Chuck: Yeah we’ve talked about that before. Where can we go?

3:54: AJ: We have 2 products that are both Node. Greenlock for Node.js is one of them! The other one is Telebit.

5:44 – Chuck: This interview is all about your background. How did you get into programming?

6:04 – AJ: I was in middle school but before that my grandmother was a secretary at the Pentagon. She worked on getting people paid and she wrote a program to assist these paychecks to be printed with fewer errors. Because of that she had a computer at home. I remember playing games on her computer.

The guest talks about his background in more detail.

15:21 – Chuck: No it’s interesting! I’ve done a couple hundred interviews and they all say either: I went to school for it OR I did it for my free time. It’s interesting to see the similarities!

16:00 – AJ: Yep that’s pretty much how I got into it! I went on a church service mission to Albania and really didn’t do any computer work during those 2 years.

19:39 – Chuck: You went to BYU and your mission trip. A lot of that stuff I can relate to and identify with b/c I went to BYU and went on missions trip, too! And then you got into Ruby and that’s how we met was through Ruby!

20:25 – AJ: Yep that’s it. Then that’s when I learned about Node, too. There was a guy with a funny hate – do you remember that? (No.)

21:03 – Chuck: Maybe?

21:07 – AJ continues.

27:53 – Chuck: What made you make the transition? People come into and out of different technologies all the time.

28:18 – AJ: Yeah it started with me with jQuery!

Rails has layers upon layers upon layers.

AJ talks about different technologies their similarities/differences and mentions: JavaScript, Rails, Python, Node, Ruby, and much more.

31:05 – Chuck: Node went out of their way on certain platforms that Rails didn’t prioritize.

31:11 – AJ continues to talk about different technologies and platforms.

33:00 – Chuck: You get into Node and then at what point does this idea of a home-server and Node and everything start to come together? How much of this do you want to talk bout? At one point did they start to gel?

33:33 – AJ: It’s been a very long process and started back in high school. It started with me trying to think: How do I get this picture on my phone to my mom? I thought of uploading it to Flickr or could I do this or that? What about sending it to someone in China?

39:57 – Chuck.

40:01 – AJ continues and talks about libraries and certificate standards.

42:00 – AJ continues with the topic: certificates.

42:44 – Chuck: I am going to go to PICKS! Where can people find you?

42:55 – AJ: Twitter! Blog! GitHub! Anywhere!

43:55 – Chuck: Picks!

43:58 – Advertisement – Fresh Books! 30-Day Trial!

END – Cache Fly

Links:

React Angular JavaScript Webpack.js Serverless jQuery Node AJ’s Twitter Chuck’s Twitter

Sponsors:

Cache Fly Get A Coder Job Fresh Books

Picks:

A.J.

JC Penny! Stafford Shirts Express for Men Chris Ferdinandi’s GOMAKETHINGS. COM

Chuck

Wordpress – Plugin KingSumo Getdrip.com Softcover.io

JSJ 344: Inclusive Components with Heydon Pickering

Dec 18, 2018 1:10:37

Description:

Panel:

Charles Max Wood Aimee Knight Chris Ferdinandi Joe Eames

Special Guest: Heydon Pickering

In this episode, the panel talks with Heydon Pickering who is a designer and writer. The panel and the guest talk about his new book, which is centered on the topic of today’s show: inclusive components. Check out Heydon’s Twitter, Website, GitHub, and Mastodon social accounts to learn more about him. To purchase the book – go here!

Show Topics:

0:00 – Advertisement: KENDO UI

0:38 – Chuck: Aimee, Chris, Joe, and myself – we are today’s panel. My show the DevRev is available online to check it out.

1:30 – Guest: Plain ice cream would be frozen milk and that would be terrible. So I am lemon and candy JavaScript!

2:13 – Chuck: We are talking today about...?

2:22 – Chris: He’s talking about “inclusive components” today!

2:41 – Guest: Traveling is very stressful and I wanted something to do on the plane. I’ve done this book, “Inclusive Design Patterns.”

If you don’t want to buy the book you can go to the blog. I have been talking with Smashing Magazine.

5:40 – Panel.

5:47 – Guest: I approached Smashing Magazine initially. They didn’t think there was a market for this content at the time. They were very supportive but we will do it as an eBook so our costs our down. At the time, the editor came back and said that: “it was quite good!” We skimmed it but came back to it now and now the content was more relevant in their eyes. I didn’t want to do the same book but I wanted to do it around “patterns.” Rewriting components is what I do all the time. I use Vanilla JavaScript. Backbone.js is the trendy one.

9:52 – Panel: The hard book did it get published?

10:02 – Guest: We are in the works and it’s all in the final stages right now. It has to go through a different process for the print version.

11:54 – Panel.

11:58 – (Guest continues about the editorial process.)

12:09 – Panel: They probably switched to TFS – it’s Microsoft’s.

12:23 – Guest: There was this argument on Twitter about the different processors.

13:35 – Chris: What are the ways that people are breaking accessibility with their code through JavaScript? 

13:59 – Guest: The whole premise is that there aren’t a ton of different components that we use. Generally, speaking. Most things we do through JavaScript – it’s just different ways of doing this/that, and hiding things. I am discounting things with Node or other stuff. Most of what we are doing, with interactive design, is showing and hiding.

18:37 – Chris: I have some specialty friends where they tell me where I’ve screwed up my code. For example Eric Bailey and Scott O’Hara but, of course, in very kind ways. What are some things that I can make sure that my code is going to work for many different people.

19:18 – Guest: You have accessibility and inclusive design. People think of accessibility as a check-list and that’s okay but there could be problems with this.

26:00 – Panel: That’s a great guideline.

26:05 – Chris: You talked about ARIA roles and it can be confusing. One side is: I don’t know when to use these and the other side is: I don’t know when NOT to use these so I’m going to use them for EVERYTHING! I guess both can be detrimental. What’s your advice on this topic?

27:00 – Guest: Scott is great and I would trust him to the end of the Earth about what he says.

Guest mentions Léonie Watson and her talks about this topic.

29:26 – (Guest continues.)

29:36 – Advertisement – Sentry.io

30:31 – Chris.

30:40 – Guest: There is a lot of pressure, though, right? People wouldn’t blog about this if it wasn’t worthwhile. It doesn’t matter what the style is or what the syntax is.

The guest talks about not throwing ARIA onto everything.

36:34 – Aimee: Is this something that was mentioned in the book: people with disabilities and accessibility.

37:28 – Guest: Yes, of course. I think it’s important to make your interfaces flexible and robust to think and include people with disabilities.

39:00 – Guest mentions larger buttons.

40:52 – Panelists and Guest talk back-and-forth.

42:22 – Chris: It’s an accessibility and inclusivity element. I saw a dropdown menu and worked great on certain devices but not others. I could beat this horse all day long but the whole: what happens of the JavaScript file doesn’t load or just accordion options?

43:50 – Guest: It’s the progressive enhancement element.

44:05 – Guest: I think it’s worth noting. I think these things dovetail really nicely.

46:29 – Chris: Did you do a video interview, Aimee, talking about CSS? Is CSS better than JavaScript in some ways I don’t know if this is related or not?

47:03 – Aimee: When I talk about JavaScript vs. CSS...the browser optimizes those.

47:27 – Aimee: But as someone who loves JavaScript...and then some very talented people taught me that you have to find the right tool for the job.

47:29 – Guest: I am the other way around – interesting.

52:50 – Chuck: Picks!

52:55 – Advertisement – Get A Coder Job!

END – Advertisement: CacheFly!

Links:

JavaScript Backbone.js Microsoft’s TFS Léonie Watson React Elixir Ember.js Vue GO jQuery Node.js Puppeteer Cypress Heydon’s GitHub Heydon’s Mastodon Heydon’s Book Medium Article on Heydon Heydon’s Website Heydon’s Twitter

Sponsors:

DevLifts Kendo UI Sentry CacheFly

Picks:

Joe

Chris Ferdinandi's Blog Luxur board game Cypress.io

Aimee

Blog about interviewing Birthday Cake Quest Bar

Chris

Web Dev Career Guide: https://gomakethings.com/career-guide/ Use FREECAREER at checkout to get it for free Neapolitan Ice Cream  Netflix Web Performance case study

Charles

Disney Heroes Battle Mode MFCEO Project Podcast Gary Lee Audio Experience Suggestions for JavaScript Jabber

Heydon

Bruck What is Mastodon and why should I use it?

MJS 089: Gareth McCumskey

Dec 12, 2018 27:07

Description:

Panel: Charles Max Wood

Guest: Gareth McCumskey

This week on My JavaScript Story, Charles talks with Gareth McCumskey who is a senior web developer for RunwaySale! They talk about Gareth’s background, current projects and his family. Check out today’s episode to hear all about it and much more!

In particular, we dive pretty deep on:

0:00 – Advertisement: Get A Coder Job!

0:53 – Chuck: Hey everyone! Welcome! We are talking today with Gareth McCumseky!

1:05 – Gareth: Hi!

1:22 – Chuck: Are you from Cape Town, Africa? (Guest: Yes!)

1:35 – Gareth and Chuck talk about his name, Gareth, and why it’s popular. 

1:49 – Chuck: I am in my late 40’s. You were here for JSJ’s Episode 291! It’s still a hot topic and probably should revisit that topic.

2:20 – Guest: Yes!

2:30 – Chuck: It’s interesting. We had a long talk about it and people should go listen to it!

2:45 – Guest: I am a backend developer for the most part.

3:03 – Chuck: Yeah I started off as an ops guy. It probably hurt me.

3:21 – Guest: Yeah, if you poke it a certain way.

3:29 – Chuck: Let’s talk about YOU! How did you get into programming?

3:39 – Guest: South Africa is a different culture to grow-up in vs. U.S. and other places. I remember the computer that my father had back in the day. He led me drive his car about 1km away and I was about 11 years old. We would take home the computer from his office – played around with it during the weekend – and put it back into his office Monday morning. This was way before the Internet. I was fiddling with it for sure.

The guest talks about BASIC.

6:20 – Chuck: How did you transfer from building BASIC apps to JavaScript apps?

6:30 – Guest: Yeah that’s a good story. When I was 19 years old...I went to college and studied geology and tried to run an IT business on the side. I started to build things for HTML and CSS and build things for the Web.

The guest goes into-detail about his background!

9:26 – Chuck: Yeah, jQuery was so awesome!

9:34 – Guest: Yeah today I am working on an app that uses jQuery! You get used to it, and it’s pretty powerful (jQuery) for what it is/what it does! It has neat tricks.

10:11 – Chuck: I’ve started a site with it b/c it was easy.

10:19 – Guest: Sometimes you don’t need the full out thing. Maybe you just need to load a page here and there, and that’s it.

10:39 – Chuck: It’s a different world – definitely!

10:48 – Guest: Yeah in 2015/2016 is when I picked up JavaScript again. It was b/c around that time we were expecting our first child and that’s where we wanted to be to raise her.

Guest: We use webpack.js now. It opened my eyes to see how powerful JavaScript is!

12:10 – Chuck talks about Node.js.

12:21 – Guest: Even today, I got into AWS Cognito!

13:45 – Chuck: You say that your problems are unique – and from the business end I want something that I can resolve quickly. Your solution sounds good. I don’t like messing around with the headaches from Node and others.

14:22 – Guest: Yeah that’s the biggest selling point that I’ve had.

15:47 – Chuck: How did you get into serverless?

15:49 – Guest: Funny experience. I am not the expert and I only write the backend stuff.

Guest: At the time, we wanted to improve the reliability of the machine and the site itself. He said to try serverless.com. At the time I wasn’t impressed but then when he suggested it – I took the recommendation more seriously. My company that I work for now...

17:39 – Chuck: What else are you working on?

17:45 – Guest: Some local projects – dining service that refunds you. You pay for a subscription, but find a cheaper way to spend money when you are eating out. It’s called: GOING OUT.

Guest: My 3-year-old daughter and my wife is expecting our second child.

18:56 – Chuck and Gareth talk about family and their children.

22:17 – Chuck: Picks!

22:29 – Advertisement – Fresh Books! 30-Day Trial!

END – Cache Fly

Links:

React Angular JavaScript Webpack.js Serverless jQuery Node AWS Cognito Gareth’s Website Gareth’s GitHub Gareth’s Twitter

Sponsors:

Cache Fly Get A Coder Job Fresh Books

Picks:

Charles Max Wood

Podcasts: MFCEO Project & Gary Vaynerchuk Pokémon Go!

Gareth McCumskey

Serverless.com Ingress Prime

JSJ 343: The Power of Progressive Enhancement with Andy Bell

Dec 11, 2018 1:05:17

Description:

Panel:

Charles Max Wood Aimee Knight Chris Ferdinandi AJ O’Neal

Special Guest: Andy Bell

In this episode, the panel talks with Andy Bell who is an independent designer and developer who uses React, Vue, and Node. Today, the panelists and the guest talk about the power of progressive enhancements. Check it out!

Show Topics:

0:00 – Advertisement: KENDO UI

0:34 – Chuck: Hi! Our panel is AJ, Aimee, Chris, myself and my new show is coming out in a few weeks, which is called the DevRev! It helps you with developer’s freedom! I am super excited. Our guest is Andy Bell. Introduce yourself, please.

2:00 – Guest: I am an independent designer and developer out in the U.K.

2:17 – Chuck: You wrote things about Vanilla.js. I am foreshadowing a few things and let’s talk about the power and progressive enhancement.

2:43 – The guest gives us definitions of power and progressive enhancements. He describes how it works.

3:10 – Chuck: I’ve heard that people would turn off JavaScript b/c it was security concern and then your progressive enhancement would make it work w/o JavaScript. I am sure there’s more than that?

3:28 – The guest talks about JavaScript, dependencies, among other things.

4:40 – Chuck: Your post did make that very clear I think. I am thinking I don’t even know where to start with this. Are people using the 6th version? How far back or what are we talking about here?

5:09 – Guest: You can go really far back and make it work w/o CSS.

5:49 – Chris: I am a big advocate of progressive enhancement – the pushback I get these days is that there is a divide; between the broadband era and AOL dialup. Are there compelling reasons why progressive enhancements even matter?

6:48 – Guest.

8:05 – Panel: My family lives out in the boonies. I am aware of 50% of American don’t have fast Internet. People don’t have access to fast browsers but I don’t think they are key metric users.

8:47 – Guest: It totally depends on what you need it for. It doesn’t matter if these people are paying or not.

9:31 – Chris: Assuming I have a commute on the trail and it goes through a spotty section. In a scenario that it’s dependent on the JS...are we talking about 2 different things here?

10:14 – Panelist chimes-in.

10:36 – Chris: I can take advantage of it even if I cannot afford a new machine.

10:55 – Panel: Where would this really matter to you?

11:05 – Chris: I do have a nice new laptop.

11:12 – Chuck: I had to hike up to the hill (near the house) to make a call and the connection was really poor (in OK). It’s not the norm but it can happen.

11:37 – Chris: Or how about the All Trails app when I am on the trail.

11:52 – Guest.

12:40 – Chris: I can remember at the time that the desktop sites it was popular to have...

Chris: Most of those sites were inaccessible to me.

13:17 – Guest.

13:51 – Chuck: First-world countries will have a good connection and it’s not a big deal. If you are thinking though about your customers and where they live? Is that fair? I am thinking that my customers need to be able to access the podcast – what would you suggest? What are the things that you’d make sure is accessible to them.

14:31 – Guest: I like to pick on the minimum viable experience? I think to read the transcript is important than the audio (MP3).

15:47 – Chuck.

15:52 – Guest: It’s a lot easier with Vue b/c you don’t’ have to set aside rendering.

17:13 – AJ: I am thinking: that there is a way to start developing progressively and probably cheaper and easier to the person who is developing. If it saves us a buck and helps then we take action.

17:49 – Guest: It’s much easier if you start that way and if you enhance the feature itself.

18:38 – AJ: Let me ask: what are the situations where I wouldn’t / shouldn’t worry about progressive enhancements?

18:57 – Guest answers the question.

19:42 – AJ: I want people to feel motivated in a place WHERE to start. Something like a blog needs Java for comments.

Hamburger menu is mentioned, too.

20:20 – Guest.

21:05 – Chris: Can we talk about code?

21:16 – Aimee: This is the direction I wanted to go. What do you mean by that – building your applications progressively?

Aimee refers to his blog.

21:44 – Guest.

22:13 – Chuck: I use stock overflow!

22:20 – Guest.

22:24 – Chuck: I mean that’s what Chris uses!

22:33 – Guest (continues).

23:42 – Aimee.

23:54 – Chris.

24:09 – Chris

24:16 – Chris: Andy what do you think about that?

24:22 – Guest: Yes, that’s good.

24:35 – Chris: Where it falls apart is the resistance to progressive enhancements that it means that your approach has to be boring?

25:03 – Guest answers the question.

The guest mentions modern CSS and modern JavaScript are mentioned along with tooling.

25:50 – Chuck: My issue is that when we talk about this (progressive enhancement) lowest common denominator and some user at some level (slow network) and then they can access it. Then the next level (better access) can access it. I start at the bottom and then go up. Then when they say progressive enhancement I get lost. Should I scrap it and then start over or what?

26:57 – Guest: If it’s feasible do it and then set a timeline up.

27:42 – Chuck: You are saying yes do it a layer at a time – but my question is HOW? What parts can I pair back? Are there guidelines to say: do this first and then how to test?

28:18 – Advertisement – Sentry.io

29:20 – Guest: Think about the user flow. What does the user want to do at THIS point? Do you need to work out the actual dependencies?

30:31 – Chuck: Is there a list of those capabilities somewhere? So these users can use it this way and these users can use it that way?

30:50 – Guest answers the question.

31:03 – Guest: You can pick out the big things.

31:30 – Chuck: I am using this feature in the browser...

31:41 – Guest.

31:46 – Chris: I think this differently than you Andy – I’ve stopped caring if a browser supports something new. I am fine using CSS grid and if your browser doesn’t support it then I don’t have a problem with that. I get hung up on, though if this fails can they still get the content? If they have no access to these – what should they be able to do?

Note: “Cutting the Mustard Test” is mentioned.

33:37 – Guest.

33:44 – Chuck: Knowing your users and if it becomes a problem then I will figure it out.

34:00 – Chris: I couldn’t spare the time to make it happen right now b/c I am a one-man shop.

34:20 – Chuck and Chris go back-and-forth.

34:36 –Chris: Check out links below for my product.

34:54 – AJ: A lot of these things are in the name: progressive.

36:20 – Guest.

38:51 – Chris: Say that they haven’t looked at it all before. Do you mind talking about these things and what the heck is a web component?

39:14 – The guest gives us his definition of what a web component is.

40:02 – Chuck: Most recent episode in Angular about web components, but that was a few years ago. See links below for that episode.

40:25 – Aimee.

40:31 – Guest: Yes, it’s a lot like working in Vue and web components. The concepts are very similar.

41:22 – Chris: Can someone please give us an example? A literal slideshow example?

41:45 – Guest answers the question.

45:07 – Chris.

45:12 – Guest: It’s a framework that just happens to use web components and stuff to help.

45:54 – Chuck: Yeah they make it easier (Palmer). Yeah there is a crossover with Palmer team and other teams. I can say that b/c I have talked with people from both teams. Anything else?

46:39 – Chuck: Where do they go to learn more?

46:49 – Guest: Check out the Club! And my Twitter! (See links below.)

47:33 – Chuck: I want to shout-out about DevLifts that has $19 a month to help you with physical goals. Or you can get the premium slot! It’s terrific stuff. Sign-up with DEVCHAT code but there is a limited number of slots and there is a deadline, too. Just try it! They have a podcast, too!

49:16 – Aimee: Yeah, I’m on their podcast soon!

49:30 – Chuck: Picks!

END – Advertisement: CacheFly!

Links:

JavaScript React Elixir Ember.js Vue GO jQuery Node.js Puppeteer Cypress Past episode: AiA 115 Past episode: JSJ 120 Vue.js – Slots Using templates and slots – Article Web Components Club GitHub: Pwa – Starter – Kit Progressively Enhanced Toggle Panel Time Ago in under 50 lines of JavaScript GitHub: ebook-boilerplate Chris Ferdinandi’s Go Make Things Site Game Chops CNBC – Trump Article New in Node v10.12 Quotes Archive My Amazon Interview Horror Story DevPal.io Honest Work Relative Paths DevLifts Andy Bell’s Twitter Andy’s Website

Sponsors:

DevLifts Kendo UI Sentry CacheFly

Picks:

Aimee

Hacker News  -  Programming Quotes My Amazon Interview Horror Story

Chris

Time Ago in Under 50 Lines of JavaScript E-Book Boiler Plate JSJABBER at gomakethings.com

AJ

Experimental Drugs Bill My Browers FYI New In Node,10.12 Arcade Attack

Charles

Getacoderjob.com Self-Publishing School MF CEO podcast

Andy

Devpay.io Honest.work Relativepath.uk

MJS 088: Nicholas Zakas

Dec 5, 2018 46:10

Description:

Panel: Charles Max Wood

Guest: Nicholas Zakas

This week on My JavaScript Story, Charles talks with Nicholas Zakas who is a blogger, author, and software engineer. Nicholas’ website is titled, Human Who Codes – check it out! You can find him on Twitter, GitHub, and LinkedIn among other social media platforms. Today, Nicholas and Chuck talk about Nicholas’ background, JavaScript, and current projects.

In particular, we dive pretty deep on:

0:00 – Advertisement: Get A Coder Job!

1:00 – Chuck: Welcome! Give us a background, please, Nicholas!

1:14 – Guest: I am probably best known for making ESLint and I have written a bunch of books, too! (See links below.)

1:36 – Chuck: JSJ 336 and JSJ 075 episodes are the two past episodes we’ve had you on! (See links below.) Let’s go back and how did you get into programming?

1:58 – Guest: I think the first was written in BASIC, which was on a Laser computer. It was a cheaper knockoff version. I think I was into middle school when I got into BASIC. Then when I got into high school I did this computer project, which was the first time someone else used one of my programs.

4:02 – Chuck: Was it all in BASIC or something else?

4:13 – Guest: Just BASIC, but then transferred to something else when we got our first PC.

5:13 – Chuck: How did you get to use JavaScript?

5:18 – Guest: 1996 was my freshman year in college. Netscape 3 got into popularity around this time. I had decided that I wanted to setup a webpage to stay in-touch with high school friends who were going into different directions.

I got annoyed with how static the [web] pages were. At the time, there was no CSS and the only thing you could change was the source of an image (on webpages).

On the <a tag> you could do...

8:35 – Chuck: You get into JavaScript and at what point did you become a prolific operator and author?

8:52 – Guest: It was not an overnight thing. It definitely was fueled by my own curiosity. The web was so new (when I was in college) that I had to explore on my own. I probably killed a few trees when I was in college. Printing off anything and everything I could to learn about this stuff!

10:03 – Guest (continues): Professors would ask ME how to do this or that on the departmental website. When I was graduating from college I knew that I was excited about the WEB. I got a first job w/o having to interview.

12:32 – Guest (continues): I got so deep into JavaScript!

13:30 – Guest (continued): They couldn’t figure out what I had done. That’s when I got more into designing JavaScript APIs. About 8 months after graduating from college I was unemployed. I had extra time on my hands. I was worried that I was going to forget the cool stuff that I just developed there. I went over the code and writing for myself how I had constructed it. My goal was to have an expandable tree. This is the design process that I went through. This is the API that I came up with so you can insert and how I went about implementing it. At some point, I was on a discussion with my former colleagues: remember that JavaScript tree thing I wrote – I wrote a description of how I did it. Someone said: Hey this is really good and you should get this published somewhere. Huh! I guess I could do that. I went to websites who were publishing articles on JavaScript. I went to submit the article to one of them. I think it was DevX or WebReference.

18:03 – Guest: A book is a compilation of different articles?! I can do that. I wanted to write a book that would fill in that next step that was missing. I didn’t know what the book was going to be, and I decided to start writing. Once I’ve had enough content I would take a step back and see what it was about. (Check out Nicholas’ books here!)

19:01 – Chuck: Oh you can turn this into a book!

19:10 – Guest: There was very little that I had planned out ahead of time. Anything that happened to me that was exciting had stumbled into my lap!

19:37 – Chuck: That’s how I felt about podcasting – it fell into my lap/life!

19:50 – Chuck: Listeners – check out the past episodes with Nicholas, please. Nicholas, what are you proud of?

20:10 – Guest: In 2006, I was at Yahoo and started off with My Yahoo Team. This was the first time that I was exposed to a massive amount of JavaScript in a single web application.

26:21 – Chuck: Can you talk about your health issues? People would definitely benefit from your example and your story.

26:44 – Guest: I think it is something important for people to understand.

The guest talks about Lyme Disease.

35:49 – Chuck: Yep taking care of yourself is important!

36:00 – Guest: Yes to enjoy time with friends and explore other hobbies. Help yourself to de-stress is important. Cognitive work is very draining. When you aren’t getting the right amount of sleep your body is going to get stressed out. Take the time to do nonsense things. You need to let your brain unwind! I love these adult coloring books that they have!

38:07 – Chuck: I love to take a drive up the canyon.

38:12 – Guest.

38:24 – Chuck: Yeah to focus on ourselves is important.

38:36 – Guest: Your body will make it a point to say: pay attention to me! Your body goes into flight or fight mode and your systems shut-off, which of course is not good. You don’t want your body to stay in that state.

New parents get sick frequently with newborns, because they aren’t getting enough sleep.

41:08 – Guest: Get some R&R!

41:20 – Chuck: This is great, but I have another call! Let’s do some Picks!

41:35 – Advertisement – Fresh Books! 30-Day Trial!

END – Cache Fly

Links:

React Angular Vue.js JavaScript Ember Elm jQuery Node DevX WebReference Nicholas C. Zakas’ Books ESLint NPM – ESLint Signs and Symptoms of Untreated Lyme Disease Lyme Disease Nicholas’ Twitter JSJ 336 Episode with Zakas JSJ 075 Episode with Zakas

Sponsors:

Cache Fly Get A Coder Job Fresh Books

Picks:

Charles Max Wood

Wall Calendars – 6 ft. x3 ft.

Nicholas Zakas

Book: The Better Angels of Our Nature: Why Violence Has Declined by Steven Pinker Adult Coloring Books

JSJ 342: Aurelia in Action with Sean Hunter

Dec 4, 2018 1:00:10

Description:

Panel:

AJ O’Neal Joe Eames Jesse Sanders

Special Guest: Sean Hunter

In this episode, the panel talks with Sean Hunter who is a software developer, speaker, rock climber, and author of “Aurelia in Action” published by Manning Publications! Today, the panelists and Sean talk about Aurelia and other frameworks. Check it out!

Show Topics:

0:00 – Advertisement: KENDO UI

0:38 – Joe: Hello! Our panelists are AJ, Jesse, myself, and our special guest is Sean Hunter (from Australia)! What have you been doing with your life and what is your favorite movie?

1:45 – Guest talks about Vegemite!

2:20 – Guest: I was in the UK and started using Aurelia, which I will talk about today. I have done some talks throughout UK about Aurelia. Also, the past year moved back to Australia had a baby son and it’s been a busy year. Writing a book and being a new parent has been hard.

3:22 – Panel: Tell us the history of Aurelia, please?

3:31 – Panel: Is it like jQuery, React, Vue or what?

3:44 – Guest: Elevator pitch – Aurelia is a single-page app framework! It’s most similar to Vue out of those frameworks; also, similarities to Ember.js.

4:30 – Guest goes into detail about Aurelia.

6:15 – Panel: It sounds like convention over configuration.

6:42 – Guest: Yes that is correct.

7:21 – Panel: Sounds like there is a build-step to it.

7:39 – Guest: There is a build-step you are correct. You will use Webpack in the background.

9:57 – The guest talks about data binding among other things.

10:30 – Guest: You will have your app component and other levels, too.

10:37 – Panel: I am new to Aurelia and so I’m fresh to this. Why Aurelia over the other frameworks? Is there a CLI to help?

11:29 – Guest: Let me start with WHY Aurelia and not the other frameworks. The style that you are using when building the applications is important for your needs. In terms of bundling there is a CUI and that is a way that I prefer to start my projects. Do you want to use CSS or Webpack or...? It’s almost a wizard process! You guys have any questions about the CLI?

14:43 – Panel: Thanks! I was wondering what is actually occurring there?

15:25 – Guest: Good question. Basically it’s that Aurelia has some built-in conventions. Looking at the convention tells Aurelia to pick the Vue model by name. If I need to tell the framework more information then...

17:46 – Panel: I think that for people who are familiar with one or more framework then where on that spectrum would Aurelia fall?

18:20 – Guest: It’s not that opinionated as Ember.js.

19:09 – Panel: Talking about being opinionated – what are some good examples of the choices that you have and how that leads you down a certain path? Any more examples that you can give us? 

19:38 – Guest: The main conventions are what I’ve talked about already. I can’t think of more conventions off the top of my head. There are more examples in my book.

20:02 – Panel: Your book?

20:10 – Guest: Yep.

20:13 – Panel.

20:20 – Guest. 

21:58 – Panel: Why would I NOT pick Aurelia?

22:19 – Guest: If you are from a React world and you like having things contained in a single-file then Aurelia would fight you. If you want a big company backing then Aurelia isn’t for you.

The guest goes into more reasons why or why not one would or wouldn’t want to use Aurelia.

24:24 – Panel: I think the best sell point is the downplay!

24:34 – Guest: Good point. What does the roadmap look like for Aurelia’s team?

25:00 – Guest: Typically, what happens in the Aurelia framework is that data binding (or router) gets pushed by the core team. They are the ones that produce the roadmap and look forward to the framework. The core team is working on the NEXT version of the framework, which is lighter, easier to use, and additional features. It’s proposed to be out for release next year.

26:36 – Advertisement – Sentry.io

27:34 – Panel: I am going to take down the CLI down and see what it does. I am looking at it and seeing how to teach someone to use it. I am using AU, new command, and it says no Aurelia found. I am stuck.

28:06 – Guest: What you would do is specify the project name that you are trying to create and that should create it for you. 

28:40 – Panel.

28:45 – Panel.

28:50 – Panel: Stand up on your desk and say: does anyone know anything about computers?!

29:05 – Panelists go back-and-forth.

29:13 – Panel: What frameworks have you used in the past?

29:17 – Guest: I was using single-paged apps back in 2010.

31:10 – Panel: Tell us about the performance of Aurelia?

31:17 – Guest: I was looking at the benchmarks all the time. Last time I looked the performance was comparable. Performances can me measured in a number of different of ways.

The guest talks about a dashboard screen that 20 charts or something like that. He didn’t notice any delays getting to the client.

33:29 – Panel: I heard you say the word “observables.”

33:39 – Guest answers the question.

35:30 – Guest: I am not a Redux expert, so I really can’t say. It has similar actions like Redux but the differences I really can’t say.

36:11 – Panel: We really want experts in everything! (Laughs.)

36:25 – Panelist talks about a colleagues’ talk at a conference. He says that he things are doing too much with SPAs. They have their place but we are trying to bundle 8-9 different applications but instead look at them as...

What are your thoughts of having multiple SPAs?

37:17 – Guest.

39:08 – Guest: I wonder what your opinions are? What about the splitting approach?

39:22 – Panel: I haven’t looked at it, yet. I am curious, though. I have been developing in GO lately.

40:20 – Guest: I think people can go too far and making it too complex. You don’t want to make the code that complex.

40:45 – Panel: Yeah when the code is “clean” but difficult to discover that’s not good.

41:15 – Guest: I agree when you start repeating yourself then it makes it more difficult.

41:35 – Panel: Chris and I are anti-framework. We prefer to start from a fresh palette and see if a framework can fit into that fresh palette. When you start with a certain framework you are starting with certain configurations set-in-place. 

42:48 – Joe: I like my frameworks and I think you are crazy!

43:05 – Panel.

43:11 – Joe: I have a love affair with all frameworks.

43:19 – Panel: I think I am somewhere in the middle.

43:49 – Panel: I don’t think frameworks are all bad but I want to say that it’s smart to not make it too complex upfront. Learn and grow.

44:28 – Guest: I think a good example of that is jQuery, right?

45:10 – Panelist talks about C++, jQuery, among other things.

45:34 – Guest: Frameworks kind of push the limits.

46:08 – Panelist talks about JavaScript, frameworks, and others.

47:04 – Panel: It seems simple to setup routes – anything to help with the lazy way to setup?

47:35 – Guest answers question.

48:37 – Panel: How do we manage complexity and how does messaging work between components?

48:54 – Guest: The simple scenario is that you can follow a simple pattern, which is (came out of Ember community) and that is...Data Down & Actions Up!

50:45 – Guest mentions that Aurelia website!

51:00 – Panel: That sounds great! Sounds like the pattern can be plugged in easily into Aurelia.

51:17 – Picks!

51:20 – Advertisement: Get A Coder Job!

END – Advertisement: CacheFly!

Links:

JavaScript React Redux Webpack Elixir Ember.js Vue GO jQuery Node.js Puppeteer Cypress Utah JS 2018 – Justin McMurdie’s Talk Aurelia Sean Hunter’s Book! Sean Hunter’s Twitter Sean Hunter’s Website Sean Hunter’s GitHub

Sponsors:

Kendo UI Sentry CacheFly

Picks:

Joe

React Conf. Endless Quest

AJ

Extreme Ownership GO Language Harry’s and Flamingo

Jesse Sanders

The Miracle Morning React Hooks Apple Products

Sean

Doesn’t Have to Be Crazy at Work Discount Code for Aurelia in Action Apple Watch

MJS 087: Rob Eisenberg

Nov 28, 2018 45:43

Description:

Panel: Charles Max Wood

Guest: Rob Eisenberg

This week on My JavaScript Story, Charles speaks with Rob Eisenberg who is a principal software engineer at InVision, and is the creator of Caliburn.Micro, Durandal, and Aurelia. Today, they talk about Rob’s past and current projects among other things.

In particular, we dive pretty deep on:

1:40 – Chuck: Our special guest is Rob Eisenberg. We’ve had you on Adventures on Angular (09 and 80), JavaScript Jabber, and others like Episode 203.

2:36 – Rob: That was over the period of 4 years all of those podcasts. I am getting older.

2:50 – Chuck: Anything that you’ve done that you want to talk about?

3:04 – Rob: I am known for opensource work over the years. Maybe we can talk about my progression through that over the years.

3:25 – Chuck: How did you get into this field?

3:29 – Rob: When I was 8 years old my dad wanted to buy a computer. We went to Sears and we bought our first computer. You’d buy the disk drive and the keyboard looking unit. You could by a monitor, we didn’t, but we used a black and white TV for our monitor. Later we bought the colored monitor and printer. That’s where my fascination started. We set up the computer in my bedroom. We played games. I got intrigued that you could write code to make different games.

It was just magical for me. As being an adult engineer I am trying to go back to that moment to recapture that magical moment for me. It was a great creative outlet. That’s how I first started. I started learning about Q basic and other flavors of Basic. Then I heard about C! I remember you could do anything with C. I went to the library and there wasn’t the Internet, yet. There were 3 books about C and read it and re-read it. I didn’t have any connections nor a compiler. When I first learned C I didn’t have a compiler. I learned how to learn the codes on notebook paper, but as a kid this is what I first started doing. I actually saved some of this stuff and I have it lying around somewhere. I was big into adventure games. That’s when I moved on C++ and printed out my source code! It’s so crazy to talk about it but at the time that’s what I did as a kid. In JHS there was one other kid that geeked-out about it with me. It was a ton of fun.

Then it was an intense hobby of mine. Then at the end of HS I had 2 loves: computers and percussion. I was composing for music, too. I had to decide between music or coding. I decided to go with music. It was the best decision I ever made because I studied music composition. When you are composing for dozens of instruments to play one unified thing. Every pitch, every rhythm, and it all works together. Why this note and why that rhythm? There is an artistic side to this and academia, too. The end result is that music is enjoyed by humans; same for software.

I did 2 degrees in music and then started my Master’s in Music. I then realized I love computers, too, how can I put these two together? I read some things on audio programming, and it stepped me back into programming. At this time, I was working in music education and trying to compose music for gamming. Someone said look at this program called C#! I don’t know cause...how can you get any better than C++?!

In 2003 – I saw a book: teach yourself C# in 24 hours. I read it and I was enthralled with how neat this was! I was building some Windows applications through C#. I thought it was crazy that there was so much change from when I was in college.

17:00 – Chuck: You start making this transition to web? What roped you in?

17:25 – Rob: I realized the power of this, not completely roped in just, yet. Microsoft was working (around this time) with...

19:45 – (Continued from Rob): When Silver Light died that’s when I looked at the web. I said forget this native platform. I came back to JavaScript for the 2nd time – and said I am going to learn this language with the same intensity as I learned C++ and C#. I started working with Durandal.

21:45 – Charles: Yeah, I remember when you worked with the router and stuff like that. You were on the core team.

21:53 – Rob: The work I did on that was inspired by screen activation patterns.

23:41 – Rob (continued): I work with InVision now.

24:14 – Charles: I remember you were on the Angular team and then you transitioned – what was that like?

24:33 – Rob comments.

25:28 – Rob (continued): I have been doing opensource for about 13 years. I almost burned myself a few times and almost went bankrupt a few times. The question is how to be involved, but run the race without getting burned-out. It’s a marathon not a sprint.

These libraries are huge assets. Thank God I didn’t go bankrupt but became very close.

The more popular something if there are more varieties and people not everyone is so pleasant. It’s okay to disagree. Now what are the different opinions and what works well for your team and project? It’s important to stay to your core and vision. Why would you pick THIS over THAT?

It’s a fun and exciting time if you are

28:41 – Charles: What are you

28:47 – Rob: InVision and InVision studio. It’s a tool for designing screens. I work on that during the day and during the night I work on Aurelia.

30:43 – Chuck: I am pretty sure that we have had people from InVision on a show before.

31:03 – Rob comments.

Rob: How we all work together.

31:20 – What is coming in with Aurelia next?

31:24 – Rob: We are trying to work with as much backwards compatibility as we can. So you don’t see a lot of the framework code in your app code. It’s less intrusive. We are trying next, can we keep the same language, the same levels, and such but change the implementation under the hood. You don’t learn anything new. You don’t have new things to learn. But how it’s implemented it’s smaller, faster, and more efficient. We have made the framework more pluggable to the compiler-level. It’s fully supported and super accessible.

Frameworks will come and go – this is my belief is that you invest in the standards of the web. We are taking that up a notch. Unobtrusiveness is the next thing we want to do. 

We’ve always had great performance and now taking it to the next level. We are doing a lot around documentation. To help people understand what the architectural decisions are and why? We are taking it to the next level from our core. It’s coming along swimmingly so I am really excited. We’ve already got 90% test coverage and over 40,000 tests.

37:33 – Chuck: Let’s get you on JavaScript Jabber!

38:19 – Chuck: Where can people find you?

38:22 – Twitter, and everywhere else. Blog!

39:17 – Chuck: Picks?

39:23 – Rob dives in!

Links:

jQuery Angular JavaScript Vue C++ C# InVision Aurelia Aurelia Blog by Rob Rob Eisenberg’s Twitter Rob’s Website Rob’s LinkedIn Rob’s GitHub Rob’s Episode 9 Rob’s Episode 80 Rob’s Episode 203

Sponsors:

Get A Coder Job Fresh Books Cache Fly

Picks:

Rob

Database: Orbit DB Robit Riddle The Wingfeather Saga

Charles

Used to play: Dungeons and Dragons Little Wizards Park City, UT VRBO

JSJ 341: Testing in JavaScript with Gil Tayar

Nov 27, 2018 1:02:49

Description:

Panel:

Aimee Knight AJ O’Neal Charles Max Wood

Special Guest: Gil Tayar

In this episode, the panel talks with Gil Tayar who is currently residing in Tel Aviv and is a software engineer. He is currently the Senior Architect at Applitools in Israel. The panel and the guest talk about the different types of tests and when/how one is to use a certain test in a particular situation. They also mention Node, React, Selenium, Puppeteer, and much more!

Show Topics:

0:00 – Advertisement: KENDO UI

0:35 – Chuck: Our panel is AJ, Aimee, myself – and our special guest is Gil Tayar. Tell us why you are famous!

1:13 – Gil talks about where he resides and his background. 

2:27 – Chuck: What is the landscape like now with testing and testing tools now?

2:39 – Guest: There is a huge renaissance with the JavaScript community. Testing has moved forward in the frontend and backend. Today we have lots of testing tools.  We can do frontend testing that wasn’t possible 5 years ago. The major change was React.

The guest talks about Node, React, tools, and more!

4:17 – Aimee: I advocate for tests and testing. There is a grey area though...how do you treat that? If you have to get something into production, but it’s not THE thing to get into production, does that fall into product or...what?

5:02 – Guest: We decided to test everything in the beginning. We actually cam through and did that and since then I don’t think I can use the right code without testing. There are a lot of different situations, though, to consider.

The guest gives hypothetical situations that people could face.

6:27 – Aimee.

6:32 – Guest: The horror to changing code without tests, I don’t know, I haven’t done that for a while. You write with fear in your heart. Your design is driven by fear, and not what you think is right. In the beginning don’t write those tests, but...

7:22 – Aimee: I totally agree and I could go on and on and on.

7:42 – Panel: I want to do tests when I know they will create value. I don’t want to do it b/c it’s a mundane thing. Secondly, I find that some times I am in a situation where I cannot write the test b/c I would have to know the business logic is correct. I am in this discovery mode of what is the business logic? I am not just building your app.

I guess I just need advice in this area, I guess.

8:55 – Guest gives advice to panelist’s question. He mentions how there are two schools of thought.

10:20 – Guest: Don’t mock too much.

10:54 – Panel: Are unit tests the easiest? I just reach for unit testing b/c it helps me code faster. But 90% of my code is NOT that.

11:18 – Guest: Exactly! Most of our test is glue – gluing together a bunch of different stuff! Those are best tested as a medium-sized integration suite.

12:39 – Panel: That seems like a lot of work, though! I loathe the database stuff b/c they don’t map cleanly. I hate this database stuff.

13:06 – Guest: I agree, but don’t knock the database, but knock the level above the database.

13:49 – Guest: Yes, it takes time! Building the script and the testing tools, but when you have it then adding to it is zero time. Once you are in the air it’s smooth sailing.

14:17 – Panel: I guess I can see that. I like to do the dumb-way the first time. I am not clear on the transition.

14:47 – Guest: Write the code, and then write the tests.

The guest gives a hypothetical situation on how/when to test in a certain situation.

16:25 – Panel: Can you talk about that more, please?

16:50 – Guest: Don’t have the same unit – do browser and business logic stuff separated. The real business logic stuff needs to be above that level. First principle is separation of concerns.

18:04 – Panel talks about dependency interjection and asks a question.

18:27 – Guest: What I am talking about very, very light inter-dependency interjection.

19:19 – Panel: You have a main function and you are doing requires in the main function. You are passing the pieces of that into the components that need it.

19:44 – Guest: I only do it when it’s necessary; it’s not a religion for me. I do it only for those layers that I know will need to be mocked; like database layers, etc.

20:09 – Panel.

20:19 – Guest: It’s taken me 80 years to figure out, but I have made plenty of mistakes a long the way. A test should run for 2-5 minutes max for package.

20:53 – Panel: What if you have a really messy legacy system? How do you recommend going into that? Do you write tests for things that you think needs to get tested?

21:39 – Guest answers the question and mentions Selenium!

24:27 – Panel: I like that approach.

24:35 – Chuck: When you say integration test what do you mean?

24:44 – Guest: Integration tests aren’t usually talked about. For most people it’s tests that test the database level against the database. For me, the integration tests are taking a set of classes as they are in the application and testing them together w/o the...so they can run in millisecond time.

26:54 – Advertisement – Sentry.io

27:52 – Chuck: How much do the tools matter?

28:01 – Guest: The revolutions matter. Whether you use Jasmine or Mocha or whatever I don’t think it matters. The tests matter not the tools.

28:39 – Aimee: Yes and no. I think some tools are outdated.

28:50 – Guest: I got a lot of flack about my blog where I talk about Cypress versus Selenium. I will never use Jasmine. In the end it’s the

29:29 – Aimee: I am curious would you be willing to expand on what the Selenium folks were saying about Puppeteer and others may not provide?

29:54 – Guest: Cypress was built for frontend developers. They don’t care about cross browser, and they tested in Chrome. Most browsers are typically the same. Selenium was built with the QA mindset – end to end tests that we need to do cross browser.

The guest continues with this topic.

30:54 – Aimee mentions Cypress.

31:08 – Guest: My guessing is that their priority is not there. I kind of agree with them.

31:21 – Aimee: I think they are focusing on mobile more.

31:24 – Guest: I think cross browser testing is less of an issue now. There is one area that is important it’s the visual area! It’s important to test visually across these different browsers.

32:32 – Guest: Selenium is a Swiss knife – it can do everything.

33:32 – Chuck: I am thinking about different topics to talk about. I haven’t used Puppeteer. What’s that about?

33:49 – Guest: Puppeteer is much more like Selenium. The reason why it’s great is b/c Puppeteer will always be Google Chrome.

35:42 – Chuck: When should you be running your tests? I like to use some unit tests when I am doing my development but how do you break that down?

36:06 – Guest.

38:30 – Chuck: You run tests against production?

38:45 – Guest: Don’t run tests against production...let me clarify!

39:14 – Chuck.

39:21 – Guest: When I am talking about integration testing in the backend...

40:37 – Chuck asks a question.

40:47 – Guest: I am constantly running between frontend and backend.

I didn’t know how to run tests for frontend. I had to invent a new thing and I “invented” the package JS DONG. It’s an implementation of Dong in Node. I found out that I wasn’t the only one and that there were others out there, too.

43:14 – Chuck: Nice! You talked in the prep docs that you urged a new frontend developer to not run the app in the browser for 2 months?

43:25 – Guest: Yeah, I found out that she was running the application...she said she knew how to write tests. I wanted her to see it my way and it probably was a radical train-of-thought, and that was this...

44:40 – Guest: Frontend is so visual.

45:12 – Chuck: What are you working on now?

45:16 – Guest: I am working with Applitools and I was impressed with what they were doing.

The guest goes into further detail.

46:08 – Guest: Those screenshots are never the same.

48:36 – Panel: It’s...comparing the output to the static site to the...

48:50 – Guest: Yes, that static site – if you have 30 pages in your app – most of those are the same. We have this trick where we don’t upload it again and again. Uploading the whole static site is usually very quick. The second thing is we don’t wait for the results. We don’t wait for the whole rendering and we continue with the tests.

50:28 – Guest: I am working mostly (right now) in backend.

50:40 – Chuck: Anything else? Picks!

50:57 – Advertisement: Get A Coder Job!

END – Advertisement: CacheFly!

Links:

JavaScript React Elixir Node.js Puppeteer Cypress SeleniumHQ Article – Ideas.Ted.Com Book: Never Split the Difference Applitools Guest’s Blog Article about Cypress vs. Selenium Gil’s Twitter Gil’s Medium Gil’s LinkedIn

Sponsors:

Kendo UI Sentry CacheFly

Picks:

Aimee

How Showing Vulnerability Helps Build a Stronger Team

AJ

Never Split the Difference Project - TeleBit

Charles

Monster Hunter International Metabase

Gil

Cat Zero The Origin of Consciousness in the Breakdown of the Bicameral Mind

MJS 086: James Adams

Nov 21, 2018 32:07

Description:

Panel: Charles Max Wood

Guest: James Adams

This week on My JavaScript Story, Charles speaks with James Adams who is a web and a full stack developer who currently resides in Melbourne, Australia. Chuck and James talk about James’ background, current projects, JavaScript, Ruby, Meetups, and much more! Check out today’s episode to hear all of the details.

In particular, we dive pretty deep on:

0:00 – Advertisement: Get A Coder Job!

0:55 – Chuck: Welcome to My Java Script story! You are the 4th person I have talk to today. I have only talked to one person in the U.S. Other people were from Denmark, Tennessee (USA), and Bulgaria.

1:39 – Guest: I am in Australia!

1:48 – Chuck: I try to open it up for different times and different locations. I started making my own program. I want one tool to manage my podcast company.

2:20 – Guest.

2:26 – Chuck: Introduce yourself, please!

2:33 – Guest: I have been working in JavaScript for 2 years now, and I just FOUND it. I could have been put anywhere but working with a large company. I discovered React.js. I went to study Math and Chemistry originally.

3:24 – Chuck: What was it – why did you change from mathematics to programming?

3:38 – Guest: I like solving problems and that has been true my whole life.

4:25 – Chuck: I identify with that – you’re right – for me, it’s more tangible and it’s neat to see something being built.

White line on a black floor is mentioned.

5:30 – Guest: I had a great education, but seems like the education in the U.S. is more fun. We didn’t get to program and stuff like that.

5:51 – Chuck: My experience was that I got to do really interesting things in High School.

6:20 – Guest: I think you reap benefits by diving into one topic.

6:36 – Chuck: We were building little circuits that were turning on/off LED. We then went to building robots and then computer chips. How did you get into JavaScript?

7:01 – Guest: We didn’t touch JavaScript until my 3rd year. I went to a school in Jerusalem for a while.

9:05 – Chuck: How did you get your first programming job?

9:10 – Guest: I wasn’t really applying – I thought I would travel for a year or so. It was weird I didn’t think I had to apply to jobs right away. I applied to a few jobs, and my friend started sharing my resume around and I ended up doing some contract work for that company. I used RUBY for that team.

10:18 – Chuck: First few jobs I got were through the “spray-and-pray” method. The best jobs I got are because I KNEW somebody.

10:30 – Guest and Chuck go back-and-forth.

11:31 – Guest mentions networking.

11:41 – Chuck: What have you done with JavaScript that you are especially proud of?

11:45 – Guest.

13:43 – Chuck: I didn’t know that honestly. I never really thought of integrating React Native into a native app.

14:00 – Guest: Yeah, it’s really cool. I didn’t think about it before either!

14:24 – Chuck: What are you working on now?

14:28 – Guest: Actually, I am working on some integration with different parties. Now we are routing everything back to the backend.

15:46 – Chuck: I think I have heard of Pro...

15:52 – Guest: Yeah, they are located in the U.S.

16:01 – Chuck: Every community/country is different, but what is it like to be a programmer in Melbourne, Australia?

16:16 – Guest: It’s cool and I think it has a way to go. We have a React Meetup.

16:55 – Chuck: Sounds like you have a healthy community down there. So in Denmark if you get away from the bigger cities then you have a harder time finding a community in the rural areas.

17:30 – Guest: Do you spend more time online?

17:50 – Chuck: Yeah, I don’t know. I live in Utah. It is hard because there is a community North in Logan, UT.

18:13 – Guest: You have 5-6 main cities in Australia. We don’t have medium-sized cities. In the U.S. you have a mixture out there.

18:42 – Chuck talks about the population throughout Utah.

19:03 – Guest asks a question to Chuck.

19:09 – Chuck: Yes, Facebook is putting in Data Center about 20 minutes away from my house. They have built satellite offices here. The startup scene is picking up, too.

19:49 – Chuck: We are fairly large land wise. We can spread-out more.

20:07 – Guest talks about the population density in Australia vs. U.S.

20:20 – Chuck: It’s interesting to see what the differences are.

If you are in a community that HAS a tech community you are set.

20:39 – Guest: I find it really interesting.

21:25 – Guest: Humans are a funny species – you can put out your hand, shake it, and you start talking.

21:45 – Chuck talks about the tech hubs in Fort Lauderdale, Florida in U.S.

22:17 – Guest: Yeah, if you aren’t interested than you aren’t interested.

22:28 – Chuck.

22:37 – Guest.

22:53 – Chuck: Join the mailing list, get involved and there are online groups, too.

23:11 – Guest: I really didn’t get into functional programming at first. I got to talk about this at a React Meetup.

24:25 – Chuck: The logic is the same.

24:32 – Guest: You put these functions together and there you go!

24:40 – Chuck: Go ahead.

24:48 – The guest is talking about React’s integrations.

24:56 – Chuck: Anything that is shared and put in some functional component, hook it up, and that’s it. Picks!

25:09 – Advertisement – Fresh Books! 30-Day Trial!

END – Cache Fly

29:55 – Guest: Shout-out to my mentors. I am really blessed to have these mentors in my life and I wouldn’t be here today if it wasn’t for them. Lucas is one of them who work with Prettier.

Links:

React Angular Vue.js JavaScript Ember Elm jQuery Node Tweet Mash Up Guest’s Twitter React Melbourne ReactJS Melbourne JavaScript Meetups in Melbourne

Sponsors:

Cache Fly Get A Coder Job Fresh Books

Picks:

Chuck

Presser switch for my Furnace – Goggle Search

James

Tweet Mash Up

JSJ 340: JavaScript Docker with Julian Fahrer

Nov 20, 2018 58:15

Description:

Panel:

Aimee Knight AJ O’Neal Joe Eames Charles Max Wood Chris Ferdinandi

Special Guest: Julian Fahrer

In this episode, the panel talks with Julian Fahrer who is an online educator and software engineer in San Francisco, California (USA). The panel and the guest talk about containers, tooling, Docker, Kubernetes, and more. Check out today’s episode!

Show Topics:

0:00 – Advertisement: KENDO UI

1:00 – Chuck: We have today Julian. Julian, please tell us why you are famous?

1:10 – Julian (Guest): I am a software engineer in San Francisco.

1:35 – Chuck: We had you on Elixir Mix before – so here you are! Give us a brief introduction – tell us about the

1:56 – Julian: About 11 hours. You can get it done in about 1 week. It’s a lot to learn. It’s a new paradigm, and I think that’s why people like it.

2:22 – Aimee: How did you dive into Docker? I feel that is like backend space?

2:35 – Julian: I am a full stack engineer and I have been in backend, too.

3:10 – Aimee: I know that someone has been in-charge of our Dev Ops process until the first job I’ve had. When there is a problem in the deployment, I want to unblock myself and not wait for someone else. I think it’s a valuable topic. Why Docker over the other options?

3:58 – Julian: Let’s talk about what Docker is first?

4:12 – Chuck.

4:23 – Julian: Containers are a technology for us to run applications in isolation from each other.

Julian talks in-detail about what contains are, what they do, he gives examples, and more. Check it out here!

5:27 – Chuck: Makes sense to me. I think it’s interesting that you are talking about the dependencies. Because of the way the Docker works it’s consistent across all of your applications.

5:59 – Julian. Yes, exactly.

Julian talks about containers some more!

6:56 – Chuck asks a question about the container, Docker, and others.

7:03 – Guest: You don’t have to worry about your company’s running operating system, and what you want to use – basically everything runs in the container...

7:30 – Chuck: This short-circuits a lot of it.

7:46 – Guest.

8:00 – Chuck: People will use Docker if your employer mandates it. Is there a learning curve and how do you adapt it within the person’s company?

8:25 – Guest.

8:52 – Aimee: We are using it, too.

8:57 – Guest: Awesome!

9:03 – Aimee: The only downfall is that if you have people who are NOT familiar with it – then it’s a black box for us. We can’t troubleshoot it ourselves. I want to be able to unblock from our end w/o having to go to someone else. That’s my only issue I’ve been having.

10:03 – Guest: I want to see that tooling to be honest.

10:12 – Aimee: Can you talk about how Civil and Docker work together?

10:19 – Guest: Yes!

Julian answers the question.

10:56 – Chuck: How much work it is to get a Docker file to get up and running? How much work would it take?

11:18 – Guest: For the development side in about an hour or two – this is if you understand it already. Putting it into production that’s a different story b/c there is a million different ways to do it. It’s hard to put a time on that.

12:24 – Chuck: Let’s assume they have the basic knowledge (they get how server setup takes place) is this something you could figure out in a day or so?

12:47 – Guest: If you have touched Docker then you can do it in a day; if never then not really.

13:02 – Guest: There might be some stones you will fall over.

13:39 – Panel: The part of the learning curve would be...

13:52 – Guest: The idea behind the container is that the container should be disposable. You could throw it away and then start a new one and it’s fresh and clean.

Guest continues with his answer.

15:20 – Chuck: I have seen people do this with their database engine. If you need to upgrade your database then they grab their container...

15:55 – Guest: You don’t have to worry about setting it up - its provided in the container and...

16:09 – Chuck asks a question.

16:17 – Guest: For production, I would go with a hosted database like RJS, Azure, or other options.

Guest continues.

17:13 – Chuck.

17:20 – Guest: If it dies then you need to...

17:30 – Chuck: We talked about an idea of these containers being something you can hand around in your development team.

Chuck asks a question.

17:50 – Guest answers the question. He talks about tooling, containers, web frontend, and more.

18:48 – Guest asks Aimee a question: Are you using Compost?

18:50 – Aimee: I don’t know b/c that is a black box for us. I don’t know much about our Docker setup.

19:00 – Guest to Aimee: Can I ask you some questions?

19:14 – Guest is giving Aimee some hypothetical situations and asks what their process is like.

19:32 – Aimee answers the question.

20:11 – Guest: You have customizing tooling to be able to do x, y, and z.

20:25 – Aimee: They have hit a wall, but it’s frustrating. Our frontend and our backend are different. We are getting 500’s and it’s a black box for us. It’s the way that ops have it setup. I hate having to go to them for them to unblock us.

21:07 – Chuck: I have been hearing about Kubernetes. When will you start to see that it pays off to use it?

21:20 – Guest answers the question.

22:17 – If I have a simple app on a few different machines and front end and job servers I may not need Kubernetes. But if I have a lot of things that it depends on then I will need it?

22:35 – Guest: Yes.

22:40 – Chuck: What are the steps to using it?

22:45 – Guest: Step #1 you install it.

The guest goes through the different steps to use Docker.

25:23 – Aimee: It makes sense that your UI and your database don’t live in the same container, but what about your API and your database should that be separate?

25:40 – Guest: Yes they should be separate.

26:09 – Chuck: What has your experience been with Docker – AJ or Chris?

26:17 – Panel: I have used a little bit at work and so far it’s been a black box for me. I like the IDEA of it, but I probably need to take Julian’s course to learn more about it! (Aimee agrees!)

One thing I would love (from your perspective, Julian) – if I wanted to get started with this (and say I have not worked with containers before) where would I start?

28:22 – Advertisement – Sentry.io

29:20 – Guest: Good question. You don’t have to be an expert (to use Docker), but you have to be comfortable with the command line, though.

30:17 – Panel: Is there a dummy practice within your course?

30:27 – Julian: We run our own web server and...

30:44 – Panel: I need to check out your course!

31:04 – Guest: It is some time investment, but it’s saved me so much time already so it makes it really worth it.

31:38 – Panel: You are a version behind on Ruby.

31:46 – Guest: ...I just want to make code and not worry about that.

32:04 – Chuck: Updating your server – you would update Ruby and reinstall your gems and hope that they were all up-to-date. Now you don’t have to do it that way anymore.

32:37 – Guest: You know it will behave the same way.

32:48 – Guest: I have some experience with Docker. I understand its value. I guess I will share my frustrations. Not in Docker itself, but the fact that there is a need for Docker...

35:06 – Chuck.

35:12 – Panel: We need someone to come up with...

35:40 – Panel: It’s not standard JavaScript.

35:51 – Chuck: One question: How do you setup multiple stages of Docker?

36:12 – Guest: The recommended way is to have the same Docker file used in the development sate and through to production. So that way it’s the same image.

37:00 – Panel: ...you must do your entire configuration via the environmental variables.

37:29 – Chuck asks a question.

37:36 – Panel: If you are using Heroku or Circle CI...there is a page...

38:11 – Guest and Chuck go back-and-forth.

39:17 – Chuck: Gottcha.

39:18 – Guest.

39:52 – Chuck: I have seen systems that have hyberized things like using Chef Solo and...

You do your basic setup then use Chef Solo – that doesn’t’ make sense to me. Have you seen people use this setup before?

40:20 – Guest: I guess I wouldn’t do it.

40:30 – Chuck.

40:36 – Guest: Only reason I would do that is that it works across many different platforms. If it makes your setup easier then go for it.

41:14 – Chuck: Docker Hub – I want to mention that. How robust is that? Can you put private images up there?

41:38 – Guest: You can go TOTALLY nuts with it. You could have private and public images. Also, your own version. Under the hood it’s called container registry. Yeah, you can change images, too.

42:22 – Chuck: Should I use container registry or a CI system to build the Docker system and use it somewhere else?

42:35 – Guest.

43:24 – Chuck: Where can people find your Docker course?

43:30 – Guest: LEARN DOCKER ONLINE! We are restructuring the prices. Make sure to check it out.

44:05 – Chuck: Picks! Where can people find you online?

44:14 – Guest: Twitter! eBook – Rails and Docker! Code Tails IO!

Links:

JavaScript jQuery React Elixir Elm Vue ESLint Node.js Circle CI Twitter – Circle CI Heroku Surge.sh Kubernetes.io Berg Design Rian Rietveld PickleJS Soft Cover.io Ebook – boilerplate EMx 010 Episode with Julian Fahrer Learn Docker Indie Hacker – Julian Fahrer LinkedIn – Julian Fahrer GitHub – Julian Fahrer Twitter – Julian Fahrer

Sponsors:

Kendo UI Sentry Cache Fly  

Picks:

AJ

Zermatt Resort Heber Area

Aimee

Surge.sh

Chris

BergDesign React, WP, and a11y gomakethings.com

Joe

Docker Videos by Dan Wahlin Rock Climbing/Indoor Rock Climbing

Charles

Extreme Ownership - Book Playing DND

Julian

PickleJS Postive Intelligence

MJS 085: Chris McKnight

Nov 14, 2018 35:57

Description:

Panel: Charles Max Wood

Guest: Chris McKnight

This week on My JavaScript Story, Charles speaks with Chris McKnight who is a software developer who knows Angular, Ruby, Node.js, and iOS. He went to college at Louisiana State University and graduated with a computer science degree from LSU. They talk about Chris’ background, past/current projects, among other things. Check out today’s episode to hear the panel talk about JavaScript, Angular, C and C++, Node, React, and much more!

In particular, we dive pretty deep on:

0:00 – Advertisement: Get A Coder Job!

1:12 – Chuck: Hello! Introduce yourself, please!

1:15 – Guest: I am a software engineer outside of Nashville, Tennessee. I work for a medium consultancy company. I know JavaScript, Angular, NativeScript, and JS, too.

1:41 – Chuck: Cool! Tell us your story and how you got into programming?

2:00 – Guest: I was a really big nerd in high school and grew up in Louisiana, USA. There was one other person in the school that knew what I was talking about. I was learning C++ and Visual Studio in 2003. That was really back in the day and Microsoft Foundation class was a thing. I moved onto PHP and started working for a company in Baton Rouge after graduating college. I have a computer science degree with a secondary discipline in mathematics. I graduated from LSU and got a job offer before I graduated. Doing some part-time work for them b/c they were swamped. I was writing PHP and they said that they used jQuery a lot.

4:47 – Chuck: You got started and you said you used C and C++, why those languages?

5:05 – Guest: I did a little bit of Java, but it was the “new kid on the block.” I wanted to get into a program that was user-friendlier.

6:21 – Chuck: I took C and C++ classes in college. Eventually I did Ruby on Rails. I totally understand why you went that way.

6:44 – Guest: I picked-up Rails, because a company (that I worked for at the time) used it. I usually reached for jQuery among other options.

7:31 – Chuck: When did you start taking JavaScript seriously?

7:40 – Guest: 2012-2013. Frustrations of not using JavaScript as good as I could. For jQuery you have to call when you have an issue. Then you run into all of these bugs, and...

9:18 – Chuck: It sounds like it was more out of necessity.

9:30 – Guest: Yep, exactly. Those pain points have been reduced b/c I have been using Type Script and Angular and now version 6 and version 7. You try to call a number method on a string and vice versa, and app development time.

10:03 – Chuck: ...it has a process running with it.

10:13 – Guest: Catching a lot of those easy mistakes (bugs) and it’s a 5-10 minute fix. It takes a lot of that away. Sometimes you can say: I want to ignore it.

Or it doesn’t give you runtime guarantees.

Some other libraries out there have been on the forefront of fixing those problems. REST TYPE is an example of that.

11:39 – Chuck: When I talk to people about JavaScript a lot of times I get basically that they are saying: I started doing more things in Node or React – I fell in love with the language. Your reasons for starting JavaScript are because “I hated running into these problems.” Did you start loving to work in JavaScript?

12:11 – Guest: I did start loving it but it took a while. I could write a short amount of code and then at the end I get a result.

Another thing that bothers me is FILTER. What does it return? It’s actually FIND and FIND INDEX and you use the pattern of filter and run this expression and give me index zero.

14:16 – Chuck: What work have you done that you are proud of?

14:20 – Guest: I started a new job last month; beforehand I worked at a mortgage company. I was proud of the Angular application and applications that I worked on. 

16:55 – Chuck: How did you get into Angular?

17:00 – Guest: Interesting story. October of 2016 – at this time I was all against Angular. However someone came to me and said we have to...

At the time I wasn’t impressed with the language. I learned about Angular at the time, though, and learned through Egghead. I learned a lot in 2 days, and I got pretty decent at it. I was writing Angular applications pretty quickly, and it made sense to me.

20:53 – Chuck: I am a fan of the CLI b/c that’s what we have in Rails. It’s really nice. What are you working on these days?

21:13 – Guest: Less on Angular b/c of the new job. I will do Angular on my free time. I work on Angular at nighttime. I build some things in React these past few weeks.

23:07 – Chuck: Any part of your experience that could help people?

23:17 – Guest: Learn what’s happening under the hood of libraries such as jQuery. Explore and find resources to help you. Keep learning and keep at it. Tools are so god now – such as Prettier and Lint – they will tell me “you don’t want to do this.” Use the tooling and learn the fundamentals. Also, use Babel! Those are my tips of advice.

25:55 – Chuck: That’s solid. Yes, the fundamentals and the poly-fills will fill in the gaps. So now it’s: what do I want to stack on top of this? Once you know the fundamentals.

26:55 – Guest: Learn what the frameworks and libraries are doing.

Don’t get overwhelmed. That’s my advice.

28:16 – Chuck: Where can people find you?

28:24 – Guest: GitHub and Twitter. I’ve been working on a website, but not ready, yet.

29:08 – Chuck: Picks!

29:15 – Advertisement – Fresh Books! 30-Day Trial!

35:45 – Cache Fly

Links:

React Angular Vue.js JavaScript Ember Elm jQuery Node Find and Find Index NativeScript Lint Babel Prettier Christopher’s GitHub Christopher’s Twitter

Sponsors:

Cache Fly Get A Coder Job Fresh Books

Picks:

Chris

Angular Explorer VS Code Finance – Staying out of Debt – Swish App

Chuck

Discord DomiNations

JSJ 339: Node.js In Motion Live Video Course from Manning with PJ Evans

Nov 13, 2018 49:32

Description:

Panel:

Aimee Knight AJ O’Neal Charles Max Wood

Special Guest: PJ Evans

In this episode, the panel talks with PJ Evans who is a course developer and an instructor through Manning’s course titled, “Node.js in Motion.” This course is great to learn the fundamentals of Node, which you can check out here! The panel and PJ talk about this course, his background, and current projects that PJ is working on. Check out today’s episode to hear more!

Show Topics:

0:00 – Advertisement: KENDO UI

0:36 – Chuck: Welcome and our panel consists of Aimee, AJ, myself, and our special guest is PJ Evans. Tell us about yourself and your video course! NODE JS in Motion is the title of the course. Can you tell us more?

1:29 – PJ: It’s a fantastic course.

2:25 – Chuck: You built this course and there is a lot to talk about.

2:36 – Aimee: Let’s talk about Node and the current state. 

2:50 – Chuck: Here’s the latest features, but let’s talk about where do you start with this course? How do you get going with Node? What do people need to know with Node?

3:20 – Aimee.

3:24 – PJ talks about Node and his course!

4:02 – PJ: The biggest headache with Node is the...

4:13 – Chuck.

4:19 – PJ: I am sure a lot of the listeners are familiar with callback hell.

4:50 – Aimee: Let’s talk about the complexities of module support in Node!

5:10 – PJ: It’s a horrible mess.

5:17 – Aimee: Maybe not the tech details but let’s talk about WHAT the problem is?

5:31 – PJ: You are talking about Proper Native ES6 right?

They are arguing about how to implement it. 

6:11 – PJ: My advice is (if you are a professional) is to stick with the LT6 program. No matter how tensing those new features are!

6:46 – Aimee: It could be outdated but they had to come back and say that there were tons of complexities and we have to figure out how to get there.

7:06 – PJ: They haven’t found an elegant way to do it.

7:15 – Panel: If it’s a standard why talk about it?

Seriously – if this is a standard why not implement THE standard?

7:38 – PJ.

8:11 – Panel.

8:17 – Aimee: I would love to talk about this, though!

8:24 – Chuck: I want to talk about the course, please.

8:30 – PJ.

8:54 – Chuck: We will keep an eye on it.

9:05 – PJ.

9:16 – PJ: How is it on the browser-side?

9:33 – Aimee: I don’t want to misspeak.

9:41 – Chuck: I don’t know how complete the forms are.

9:49 – Aimee: I don’t want to misspeak.

9:56 – PJ: I just found the page that I wanted and they are calling it the .MJS or aka the Michael Jackson Script. You can do an import from...

Some people think it’s FINE and others think that it’s a TERRIBLE idea.

10:42 – Chuck: “It sounds like it’s a real THRILLER!”

10:52 – Panel.

11:25 – Panel: When you start calling things the Michael Jackson Solution you know things aren’t well.

11:44 – Aimee: Just to clarify for users...

11:57 – Chuck: I want to point us towards the course: NODE.JS.

Chuck asks two questions.

12:34 – PJ: The concepts aren’t changing, but the information is changing incredibly fast. The fundamentals are fairly settled.

13:22 – Chuck: What are those things?

13:28 – PJ talks about how he structured the course and he talks about the specifics.

15:33 – Chuck: Most of my backend stuff is done in Ruby. Aimee and AJ do more Java then I do.

15:55 – Panel: I think there is something to understanding how different Node is. I think that Node is a very fast moving train. Node has a safe place and that it’s good for people to know about this space.

16:34 – Aimee: Not everyone learns this way, but for me I like to understand WHY I would want to use Node and not another tool. For me, this talk in the show notes really helped me a lot. That’s the core and the nature of NODE.

17:21 – PJ: Yes, absolutely. Understanding the event loop and that’s aimed more towards people from other back ends. Right from the beginning we go over that detail: Here is how it works, we give them examples, and more.

18:08 – Aimee: You can do more than just create APIs.

Aimee mentions Vanilla Node.

18:50 – PJ: To get into frameworks we do a 3-line server. We cover express, and also Sequelize ORM.

19:45 – Advertisement – Sentry.io

20:43 – Chuck: I never used Pug.

20:45 – PJ: PUG used to be called JADE.

20:56 – Aimee.

21:14 – PJ: Express does that for you and I agree with you. I advocate a non-scripted approach, I like when frameworks have a light touch.

22:05 – Aimee: That’s what I liked about it. No offense, Chuck, but for me I didn’t like NOT knowing a lot of what was not happening under the hood. I didn’t want to reinvent the wheel, but I wanted to build at a lower level.

22:40 – PJ: I had the same experience. I wanted to figure out why something wasn’t working.

23:24 – Panel: I had a friend who used Rails...he was cautious to make a switch. This past year he was blown away with how much simpler it was and how fast things were.

24:05 – Aimee: I feel like if you want to learn JavaScript then Node might be easier on the frontend.

24:21 – Chuck: No pun intended.

No, but I agree. I like about Rails is that you had well-understood patterns. But the flipside is that you have abstractions...

To a certain degree: what did I do wrong? And you didn’t follow the pattern properly.

25:57 – Panel: With Node you get a little bit of both. To me it’s a more simple approach, but the downside is that you have 100’s of 1,000’s of modules that almost identical things. When you start reaching out to NPM that...

26:29 – PJ: Yes the module system of NPM is the best/worst thing about NODE. I don’t have an answer, honestly.

There is a great article written that made me turn white. Here is the article!

28:12 – Panel: The same thing happened with the ESLint. That was the very problem that he was describing in the article.

28:50 – PJ: Yep, I put that in the chat there – go ahead and read it! It’s not a problem that’s specific to Node, there are others. It’s the way we do things now.

29:23 – Chuck: We have the NODE Security project. A lot of stuff go into NPM everyday.

29:43 – PJ: We cover those things in the course.

29:53 – Chuck: It’s the reality. Is there a place that people get stuck?

30:00 – PJ answers the question.

30:23 – Aimee.

30:55 – PJ: I am coding very similar to my PHP days.

31:20 – Aimee.

32:02 – PJ: To finish off my point, I hope people don’t loose sight.

32:18 – Aimee.

32:20 – PJ: I am working on a project that has thousands of requests for...

32:53 – Chuck: Anything you WANTED to put into the course, but didn’t have time to?

33:05 – PJ: You can get pretty technical. It’s not an advanced course, and it won’t turn you into a rock star. This is all about confidence building. It’s to understand the fundamentals.

It’s a runtime of 6 hours and 40 minutes – you aren’t just watching a video. You have a transcript, too, running off on the side. You can sit there and type it out w/o leaving – so it’s a very interactive course.

34:26 – Chuck: You get people over the hump. What do you think people need to know to be successful with Node?

34:38 – PJ answers the question.

PJ: I think it’s a lot of practice and the student to go off and be curious on their own terms.

35:13 – Chuck: You talked about callbacks – I am thinking that one is there to manage the other?

35:31 – PJ answers the question.

PJ: You do what works for you – pick your style – do it as long as people can follow you. Take the analogy of building a bridge.

36:53 – Chuck: What are you working on now?

37:00 – PJ: Educational tool called SCHOOL PLANNER launched in Ireland, so teachers can do their lesson planning for the year and being built with Express.

Google Classroom and Google Calendar.

39:01 – PJ talks about Pi and 4wd. See links below.

40:09 – Node can be used all over the place!

40:16  - Chuck: Yes, the same can be said for other languages. Yes, Node is in the same space.

40:31 – PJ: Yep!

40:33 – Chuck: If people want to find you online where can they find you?

40:45 – PJ: Twitter! Blog!

41:04 – Picks!

41:05 – Advertisement – eBook: Get a coder job!

Links:

JavaScript jQuery React Elixir Elm Vue ESLint Node.js Node Security Project Node Security Project - Medium Manning Publications: Course by PJ Evans PUG JSConf EU – talk with Philip Roberts Medium Article by David Gilbertson Hackster.io – Pi Car Pi Moroni Holding a Program in One’s Head PJ Evans’ Twitter

Sponsors:

Kendo UI Sentry Cache Fly Get a Coder Job

Picks:

Aimee

Paul Graham - Blog

AJ

Rust

Charles

Tweet Mash-up The Diabetes Code

PJ

Music - Max Richter

MJS 084: Henry Zhu

Nov 7, 2018 27:35

Description:

Panel: Charles Max Wood

Guest: Henry Zhu

This week on My JavaScript Story, Charles speaks with Henry Zhu who is working full-time on Babel! They discuss Henry’s background, past/current projects, Babel, and Henry’s new podcast. Check-out today’s episode to hear more!

In particular, we dive pretty deep on:

0:00 – Advertisement: Get A Coder Job!

1:00 – Chuck: Today we are talking with Henry Zhu! You are the maintainer of Babel – and we have had you on the show before. Anything else?

1:25 – Henry: I used to work with Adobe and now live in NY.

1:44 – Chuck: Episode 321 we talked to you and you released Babel 7. Tell us about Babel, please.

2:01 – Henry: It’s a translator for programming languages and it’s a compiler. It only translates JavaScript to JavaScript. You would do this because you don’t know what your users’ are using. It’s an accessibility thing as well.

3:08 – Chuck: Later, we will dive into this some more. Let’s back-up: how did you get into programming?

3:22 – Henry: I think I was in middle school and I partnered with a friend for science class and we made a flash animation about earthquakes. Both of my parents worked in the field, too. They never really encouraged me to do it, but here I am.

4:07 – Chuck: How did you get into Java?

4:11 – Henry: I made some games and made a Chinese card game. Then in college I went to a bunch of Hackathons. In college I didn’t major into computer science, but I took a bunch of classes for fun. I learned about Bootstrap and did a bunch of things with that.

5:12 – Chuck: How did you settle on JavaScript?

5:28 – Henry: It was my experience – you don’t have to download anything. You can just open things up in the console and it’s easy to share. I think I like the visual part of it and their UI.

6;07 – Chuck: At some point you ran across Babel – how did you get into that?

6:17 – Henry: After college I wanted to do software. I threw out my degree of industrial engineering. I tried to apply to Google and other top companies. I applied to various places and picked something that was local. I met Jonathan Neal and he got me into open source. Through that, I wanted to contribute to Angular, but it was hard for me. Then I found a small issue with a linting error. After that I made 30 commits to Angular. I added a space here and there. JSES is the next thing I got involved with. There is one file for the rule itself and one for the test and another for the docs. I contributed there and it was easy. I am from Georgia and a year in I get an email through Adobe. They asked if I wanted to work through Enhance in Adobe. I moved to NY and started working here. I found JS LINT, and found out about Babel JS LINT. And that’s how I found about Babel.

9:24 – Chuck: Was Sebastian still running the project at the time?

9:33 – Henry.

10:53 – Chuck: It seems like when I talk with people that you are the LEAD on Babel?

11:07 – Henry: I guess so, because I am spending the most time on it. I also quit the job to work on it. However, I want people to know that there are other people out there to give you help, too.

11:45 – Chuck: Sebastian didn’t say: this is the guy that is the lead now. But how did that crystalize?

12:12 – Henry: I think it happened by accident. I stumbled across it. By people stepping down they stepped down a while ago and others were helping and making changes. It was weird because Sebastian was going to come back.

It’s hard when you know that the person before had gotten burnt-out.

14:28 – Chuck: What is it like to go fulltime on an open source project and how do you go about it?

14:34 – Henry: I don’t want to claim that you have to do it my way. Maybe every project is different. Maybe the focus is money. That is a basic issue. If your project is more of a service, then direct it towards that. I feel weird if I made Babel a service. For me it feels like an infrastructure thing I didn’t want to do that.

I think people want to do open source fulltime, but there are a lot of things to take into consideration.

16:38 – Chuck.

16:50 – Guest.

16:53 – Henry.

16:55 – Chuck: How do you pay the bills?

17:00 – Henry: Unlike Kickstarter, Patreon is to help donate money to people who are contributing content.

If you want to donate a lot then we can tweak it.

19:06 – Chuck: Is there something in particular that you’re proud of?

19:16 – Henry: I worked on JS ES – I was a core team member of that. Going through the process of merging them together was quite interesting. I could write a whole blog post about that. There are a lot of egos and people involved. There are various projects.

Something that I have been thinking about...

20:53 – Chuck: What are you working on now?

20:58 – Henry: We released 7 a while ago and 7.1. Not sure what we are going to do next. Trying to figure out what’s important and to figure out what we want to work on. I have been thinking long-term; for example how do we get reviewers, among other things. I can spend a lot of time fixing bugs, but that is just short-term. I want to invest ways to get more people in. There is a lot of initiatives but maybe we can do something new. Maybe pair with local universities. Maybe do a local Meetup? Learning to be okay with not releasing as often. I don’t want to put fires out all day. Trying to prioritize is important.

23:17 – Chuck.

23:2 – Henry: Twitter and other platforms.

23:37 – Chuck: Picks!

23:38 – Advertisement – Fresh Books! 30-Day Trial!

24:45 – Picks.

Links:

React Angular Vue.js JavaScript Ember Elm jQuery Henry Zhu’s Twitter Henry Zhu’s GitHub Henry Zhu’s Website Patreon to Donate Towards Babel Babel Babel JS

Sponsors:

Cache Fly Get A Coder Job Fresh Books

Picks:

Henry

My own podcast – releasing it next week Podcast about Faith and Open Source

Charles

Ruby Rogues’ cohost + myself – Data Podcast – DevChat.Tv Reworking e-mails

JSJ 338: It’s Supposed To Hurt, Get Outside of Your Comfort Zone to Master Your Craft with Christopher Buecheler

Nov 6, 2018 43:37

Description:

Panel:

Aimee Knight AJ O’Neal Aaron Frost Christopher Ferdinandi

Special Guests: Christopher Buecheler

In this episode, the panel talks with Christopher Buecheler who is an author, blogger, web developer, and founder of CloseBrace. The panel and Christopher talk about stepping outside of your comfort zone. With a technological world that is ever changing, it is important to always be learning within your field. Check out today’s episode to learn more!

Show Topics:

0:00 – Advertisement: KENDO UI

1:08 – Aimee: Our guest is Christopher Buecheler – tell us about yourself and what you do.

1:22 – Guest: I run a site and help mid-career developers. I put out a weekly newsletter, too.

2:01 – Aimee: It says that you are a fan of “getting comfortable being uncomfortable”?

2:15 – Guest: I am a self-taught developer, so that means I am scrambling to learn new things all the time. You are often faced with learning new things. When I learned React I was dumped into it. The pain and the difficulty are necessary in order to improve. If you aren’t having that experience then you aren’t learning as much as you could be.

3:26 – Aimee: I borrow lessons that I learned from ice-skating to programming.

3:49 – Guest: I started running a few years ago for better health. It was exhausting and miserable at the start and wondered why I was doing it. Now I run 5 times a week, and there is always a level of being uncomfortable, but now it’s apart of the run. It’s an interesting comparison to coding. It’s this idea of pushing through.

5:01 – Aimee: If you are comfortable you probably aren’t growing that much. In our industry you always have to be learning because things change so much!

5:25 – Guest: Yes, exactly. If you are not careful you can miss opportunities.

6:33 – Panel: You have some ideas about frameworks and libraries – one thing that I am always anxious about is being able to make sense of “what are some new trends that I should pay attention to?” I remember interviewing with someone saying: this mobile thing is just a fad. I remember thinking that she is going to miss this opportunity. I am worried that I am going to be THAT guy. How do you figure out what sort of things you should / shouldn’t pay attention to?

7:47 – Guest: It is a super exhausting thing to keep up with – I agree. For me, a lot of what I pay attention to is the technology that has the backing of a multi-million dollar company then that shows that technology isn’t going anywhere, anytime soon. The other thing I would look at is how ACTIVE is the community around it?

9:15 – Panel: Is there a strategic way to approach this? There is so many different directions that you can grow and push yourself within your career? Do you have any kinds of thoughts/tips on how you want your career to evolve?

10:00 – Guest: I am trying to always communicate better to my newsletter audience. Also, a good approach, too, is what are people hiring for? 

11:06 – Aimee: Again, I would say: focus on learning.

11:30 – Panel: And I agree with Aimee – “learn it and learn it well!”

12:01 – Panel: I want to ask Chris – what is CloseBrace?

12:17 – Guest: I founded it in November 2016, and started work on it back in 2013.

14:20 – Panel: It was filled with a bunch of buzz worthy words/title.

14:32 – Guest continues his thoughts/comments on CloseBrace.

16:54 – Panel: How is the growth going?

17:00 – Guest: It is growing very well. I put out a massive, massive tutorial course – I wouldn’t necessarily advice that people do this b/c it can be overwhelming. However, growth this year I have focused on marketing. I haven’t shared numbers or anything but it’s increased 500%, and I am happy about it.

18:05 – Panel: Are you keeping in-house?

18:13 – Guest: I think it would be cool to expand, but now it is in-house. I don’t want to borrow Egg Head’s setup. I would love to cover MORE topics, though.

19:05 – Panel: You are only one person.

19:08 – Guest: If I can get the site creating more revenue than I can hire someone to do video editing, etc.

19:35 – Panel: I think you are overthinking it.

19:45 – Guest.

19:47 – Advertisement – Sentry.io

20:47 – Guest.

21:30 – Aimee: There are SO many resources out there right now. Where do you think you fit into this landscape?

21:44 – The landscape is cluttered, but I feel that I am different b/c of my thoroughness. I don’t always explain line by line, but I do say how and why things work. I think also is my VOICE. Not my radio voice, but the tone and the approach you take with it.

23:25 – Panel: I was trying to copy folks in the beginning of my career. And at some point I realized that I needed to find my own style. It always came down to the reasons WHY I am different rather than the similarities. Like, Chris, you have these quick hits on CloseBrace, but some people might feel like they don’t have the time to get through ALL of your content, because it’s a lot. For me, that’s what I love about your content.

24:46 – Christopher: Yeah, it was intentional.

25:36 – Panel: Good for you.

25:49 – Guest: I am super device agnostic: Android, Mac, PC, etc. I have a lot of people from India that are more Microsoft-base.

26:28 – Aimee: I think Egghead is pretty good about this...do you cover testing at all with these things that you are doing? It’s good to do a “Hello World” but most of these sites don’t get into MORE complex pieces. I think that’s where you can get into trouble. It’s nice to have some boiler point testing, too.

27:18 – Guest answers Aimee’s question.

28:43 – Aimee: We work with a consultancy and I asked them to write tests for the things that we work with. That’s the value of the testing. It’s the code that comes out.

29:10 – Panel: Can you explain this to me. Why do I need to write tests? It’s always working (my code) so why do I have to write a test?

29:39 – Guest: When working with AWS I was writing...

31:01 – Aimee: My biggest thing is that I have seen enough that the people don’t value testing are in a very bad place, and the people that value testing are in a good place. It even comes back to the customers, because the code gets so hard that you end up repeatedly releasing bugs. Customers will stop paying their bills if this happens too often for them.

33:00 – Panel: Aimee / Chris do you have a preferred tool? I have done testing before, but not as much as I should be doing.

33:25 – Aimee: I like JEST and PUPPETEER.

33:58 – Guest: I like JEST, too.

34:20 – Aimee: Let’s go to PICKS!

34:35 – Advertisement – eBook: Get a coder job!

Links:

JavaScript jQuery React Elixir Elm Vue JEST Puppeteer Podflix Autojump Brutalist Web Design YouTube: Mac Miller Balloon Fiesta DocZ CloseBrace Christopher Buecheler’s Website Christopher Buecheler’s LinkedIn Christopher Buecheler’s GitHub Go Learn Things – Chris Ferdinandi

Sponsors:

Kendo UI Sentry Cache Fly Get a Coder Job

Picks:

Aimee

Podflix

Chris F.

AutoJump  Brutalist Web Design Mac Miller Tiny Desk Concert

AJ

Canada Dry with Lemonade

Aaron

ABQ Ballon Festival Joe Eames DND Recording Channel

Christopher

Docz South Reach Trilogy Jeff Vandermeer

MJS 083: Christine Legge

Oct 31, 2018 34:03

Description:

Panel: Charles Max Wood

Guest: Christine Legge

This week on My JavaScript Story, Charles speaks with Christine Legge who is a computer software engineer who works for Google in New York. Previous employment includes Axiom Zen, and Vizzion, Inc. She and Chuck talk about her background, past and current projects, and her future goals.

In particular, we dive pretty deep on:

1:07 – Hello!

1:10 – Chuck: You were on Episode 328 in the past. Tell us about yourself!

1:24 – Christine: I started working with Google about 2 weeks ago. In the past I worked in Vancouver, Canada.

2:05 – Chuck: Let’s start with how you got into programming?

2:14 – Christine: When I was in HS I wasn’t interested at all into computers. I wanted to do applied math in Toronto Canada for college. For engineering you have to take an introduction to programming in the 1st year. I had a 4-hour computer science course in the morning and I dreaded it. I dropped out 3 months later b/c I didn’t like the program. Surprisingly, enough, I did like the computer science course. I went back to Vancouver and I said to my parents that I wanted an office job. I went to the YMCA center and wanted to be hired. The man there asked if I had any interest in data entering, and I started working for him. I worked 4 hours a week with him where he taught me C+. I decided to go back to school for it.

5:37 – Chuck: What did you like about it?

5:43 – Christine: I liked the problem solving part of it. I like how you can break things down. The technology doesn’t interest me that much, but I like the problem-solving aspect. The guy wasn’t that up-to-date with the newest technologies either.

6:53 – Chuck: You have a 4-year degree in computer science.

7:05 – Yes that and statistics, too.

7:13 – Chuck: I was going to say “nerd.”

How do you go from desktop applications to web apps?

7:25 – Christine: I worked with a company part-time and fulltime depending on the year/season.

I didn’t know what web development was but I thought that THAT was computer science. I thought that if I knew how to do web development then I was going to be good to go. This company asked: What do you want to do? And I answered that I wanted to do web development b/c I thought that’s what I was lacking. I basically got thrown into it. I didn’t understand anything at all. It took me to write one line of CSS and it took 4 hours.

10:35 – Why did JavaScript attract you more so than C# or other languages that you’ve used?

10:43 – It’s simpler and you don’t need a lot of setup; from top to bottom. I am working in typescript, I like it even more, but I like how Java is more free to do what you want. I like functional programming in JavaScript. I like the big community for Java, and there are tons of applications for it. I really like how flexible the language is. You can do functional and oriented or you can combine the two. You aren’t constrained.

12:00 – Chuck: You get in, you work through JavaScript, were you only doing backend?

12:14 – Christine: Yep, backend.

13:00 –Chuck: I know you talked at the conference, and what are you most proud of?

13:14 – Christine: To be honest, no. My mentor (Pablo) at the last company – he wrote a book about D3. He started learning and writing the book. To me that I had thought that all these people are experts from the get go. I realized that everyone has to start somewhere to eventually become an expert. I do want to make an impact even outside of my job. I don’t have anything new that I’ve been working on. It’s a goal for me within the next couple of months.

15:30 – Chuck: I understand that.

15:36 – Christine: I haven’t found that balance, yet. When I gave that talk during Developer Week I was moving and stressed out. “I am NEVER doing this again!” It was over and it was very rewarding. People gave good feedback, and I would like to do that again.

16:56 – Chuck: People have different experience with that kind of stuff. People are interested in different things. So you’ve been working on moving and all that stuff right? What would you like to dive back into?

17:32 – Christine: Yes we are using Angular 2 and typescript and a Reactive Library. Angular is interesting to me. I would like to dive into the dependency injection in Angular. I really like typescript.

19:24 – Chuck: Have you looked at resources?

19:39 – Christine: I read the documentation so far. Like for React I just read the documentation but I haven’t found a central source just, yet. Not a single source. The docs are okay to get started but I haven’t found that they were enough.

20:50 – Chuck: This is about your story. I worked through the Tour of Heroes, and that helped me with Angular. It’s in the Angular Documentation.

21:23 – Christine: When you are starting at a new job I want to make sure I’m settled-in. And now I want to start thinking at a high-level of how these things work. I think the cool thing working here is that you can talk to the people who are working on Angular and get some insight that way.

22:27 – Chuck: People are usually very approachable.

22:34 – Christine: Yes, I agree. To be apart of the communities people want you to use their stuff.

22:48 – Chuck: Do you have another talk in mind when you are ready to give your next talk?

22:59 – Christine: Not sure. I have one thing on my list right now and that’s it.

23:42 – Chuck: I haven’t looked at RJX documentation but I think it’s pretty easy to pick-up. Ben who is the main developer RJX joined the team last year.

24:04 – Christine: It’s a lot of promises. When I figure it out that’s how something would work if it were a promise then I can usually get there.

24:25 – Chuck: Yeah.

24:38 – Christine: I kind of want to make connections in the office rather than me trying to do myself. I don’t want to waste time. Working on those connections would be good.

25:20 – Chuck: Let’s do some picks!

25:30 – Advertisement – Fresh Books! 30-Day Trial!

Links:

React Angular Vue.js JavaScript Ember Elm jQuery Christine Legge’s LinkedIn Christine Legge’s Twitter Christine Legge’s GitHub

Sponsors:

Cache Fly Get A Coder Job Fresh Books

Picks:

Charles

My Calendar Software – BusyCal and Google Calendar Google Calendar just started appointment slots

Christine

Podcast: The Pitch Podcast: How I Built This

JSJ 337: Microstates.js – Composable State Primitives for JavaScript with Charles Lowell & Taras Mankovski

Oct 30, 2018 1:18:15

Description:

Panel:

Aimee Knight Charles Max Wood Joe Eames AJ O’Neil Chris Ferdinandi 

Special Guests: Charles Lowell (New Mexico) & Taras Mankovski (Toronto)

In this episode, the panel talks with two special guests Charles and Taras. Charles Lowell is a principle engineer at Frontside, and he loves to code. Taras works with Charles and joined Frontside, because of Charles’ love for coding. There are great personalities at Frontside, which are quite diverse. Check out this episode to hear about microstates, microstates with react, Redux, and much more!

Show Topics:

1:20 – Chuck: Let’s talk about microstates – what is that?

1:32 – Guest: My mind is focused on the how and not the what. I will zoom my mind out and let’s talk about the purposes of microstates. It means a few things. 1.) It’s going to work no matter what framework you are using. 2.) You shouldn’t have to be constantly reinventing the wheel. React Roundup – I talked about it there at this conference. 

Finally, it really needs to feel JavaScript. We didn’t want you to feel like you weren’t using JavaScript. It uses computer properties off of those models. It doesn’t feel like there is anything special that you are doing. There are just a few simple rules. You can’t mutate the state in place. If you work with JavaScript you can use it very easily. Is that a high-level view?

7:13 – Panel: There are a lot of pieces. If I spoke on a few specific things I would say that it enables programming with state machines.

7:42 – Panel: We wanted it to fell like JavaScript – that’s what I heard.

7:49 – Aimee: I heard that, too.

7:59 – Guest.

8:15 – Aimee: Redux feels like JavaScript to me.

8:25 – Guest: It’s actually – a tool – that it feels natural so it’s not contrived. It’s all JavaScript.

8:49 – Panel.

9:28 – Guest: Idiomatic Ember for example. Idiomatic in the sense that it gives you object for you to work with, which are simple objects.

10:12 – Guest: You have your reducers and your...we could do those things but ultimately it’s powerful – and not action names – we use method names; the name of the method.

11:20 – Panel: I was digging through docs, and it feels like NORMAL JavaScript. It doesn’t seem like it’s tied to a certain framework or library platform?

11:45 – Guest: Yes, we felt a lot of time designing the interfaces the API and the implementation. We wanted it to feel natural but a tool that people reach for.

(Guest continues to talk about WHY they created microstates.)

Guest: We wanted to scale very well what you need when your needs to change.

13:39 – Chuck: I have a lot of friends who get into React and then they put in Redux then they realize they have to do a lot of work – and that makes sense to do less is more.

14:17 – Guest: To define these microstates and build them up incrementally...building smaller microstates out of larger ones.

Guest continued: Will we be able to people can distribute React components a sweet array of components ready for me to use – would I be able to do the same for a small piece of state? We call them state machines, but ultimately we have some state that is driving it. Would we be able to distribute and share?

16:15 – Panel: I understand that this is tiny – but why wouldn’t I just use the native features in specific the immutability component to it?

16:42 – Guest: I’m glad you asked that question. We wanted to answer the question...

Guest: With microstates you can have strict control and it gives you the benefit of doing sophisticated things very easily.

18:33 – Guest: You mentioned immutability that’s good that you did. It’s important to capture – and capturing the naturalness of JavaScript. It’s easy to build complex structures – and there is an appeal to that. We are building these graphs and these building up these trees. You brought up immutability – why through it away b/c it’s the essence of being a developer. If you have 3-4-5 levels of nesting you have to de-structure – get to the piece of data – change it – and in your state transition 80% of your code is navigating to the change and only 20% to actually make the change. You don’t have to make that tradeoff.

21:25 – Aimee: The one thing I like about the immutability b/c of the way you test it.

21:45 – Guest: There a few things you can test. 

23:01 – Aimee: You did a good job of explaining it.

23:15 – Guest: It makes the things usually hard  easy! With immutability you can loose control, and if that happens you can get so confused. You don’t have a way to have a way to navigate to clarity. That’s what this does is make it less confusing. It gives you order and structure. It gives you a very clear path to do things you need to do. If there is a property on your object, and if there is a way to change it...

25:29 – Guest: The only constant is change no matter what framework you are working on.

24:46 – Chuck: We are talking about the benefits and philosophy. What if I have an app – and I realize I need state management – how do I put microstates into my app? It’s using Angular or React – how do I get my data into microstates?

26:35 – Guest: I can tell you what the integration looks like for any framework. You take a type and you passed that type and some value to the create function so what you get is a microstate.

(The Guest continues diving into his answer.)

28:18 – Guest: That story is very similar to Redux, basically an event emitter. The state changes on the store.

Maybe this is a good time to talk about the stability benefits and the lazy benefits because microstates is both of those things.

Stability – if I invoke a transition and the result is unchanged – same microstate – it doesn’t emit an event. It recognizes it internally. It will recognize that it’s the same item. Using that in Ember or Redux you’d have to be doing thousands of actions and doing all that computation, but stability at that level.

Also, stability in the sense of a tree. If I change one object then that changes it won’t change an element that it doesn’t need to change.

31:33 – Advertisement: Sentry.io

32:29 – Guest: I want to go back to your question, Chuck. Did we answer it?

32:40 – Chuck: Kind of.

32:50 – Guest.

32:59 – Guest: In Angular for example you can essentially turn a microstate...

33:51 – Guest: You could implement a connect, too. Because the primitive is small – there is no limit.

34:18 – Chuck summarizes their answers into his own words.

34:42 – Guest: If you were using a vanilla React component – this dot – I will bind this. You bind all of these features and then you pass them into your template. You can take it as a property...those are those handlers. They will perform the transition, update and what needs to be updated will happen.

35:55 – Chuck: Data and transitions are 2 separate things but you melded them together to feel like 1 thing. This way it keeps clean and fast.

36:16 – Guest: Every framework helps you in each way.

Microstates let’s you do a few things: the quality of your data all in one place and you can share.

38:12 – Guest: He made and integrated Microstates with Redux tools.

38:28 – Guest talks about paths, microstates to trees.

39:22 – Chuck.

39:25 – Panel: When I think about state machines I have been half listening / half going through the docs. When I think of state machines I think about discreet operations like a literal machine. Like a robot of many steps it can step through. We have been talking about frontend frameworks like React - is this applicable to the more traditional systems like mechanical control or is it geared towards Vue layered applications?

40:23 – Guest: Absolutely. We have BIG TEST and it has a Vue component.

41:15 – Guest: when you create a microstate from a type you are creating an object that you can work with.

42:11 – Guest: Joe, I know you have experience with Angular I would love to get your insight.

42:33 – Joe: I feel like I have less experience with RX.js. A lot of what we are talking about and I am a traditionalist, and I would like you to introduce you guys to this topic. From my perspective, where would someone start if they haven’t been doing Flux pattern and I hear this podcast. I think this is a great solution – where do I get started? The official documents? Or is it the right solution to that person?

43:50 – Guest: Draw out the state machine that you want to represent in your Vue. These are the states that this can be in and this is the data that is required to get from one thing to the other. It’s a rope process. The arrow corresponds to the method, and...

44:49 – Panel: It reminds me back in the day of rational rows.

44:56 – Guest: My first job we were using rational rows.

45:22 – Panelist: Think through the state transitions – interesting that you are saying that. What about that I am in the middle – do you stop and think through it or no?

46:06 – Guest: I think it’s a Trojan horse in some ways. I think what’s interesting you start to realize how you implement your state transitions.

48:00 – (Guest continues.)

48:45 – Panel: That’s interesting. Do you have that in the docs to that process of stopping and thinking through your state transitions and putting into the microstate?

49:05 – Guest: I talked about this back in 2016. I outlined that process. When this project was in the Ember community.

49:16 – Guest: The next step for us is to make this information accessible. We’ve been shedding a few topics and saying this is how to use microstates in your project. We need to write up those guides to help them benefit in their applications.

50:00 – Chuck: What’s the future look like?

50:03 – Guest: We are working on performance profiling.

Essentially you can hook up microstates to a fire hose.

The next thing is settling on a pattern for modeling side effects inside microstates. Microstates are STATE and it’s immutable.

52:12 – Guest: Getting documentation. We have good README but we need traditional docs, too.

52:20 – Chuck: Anything else?

52:28 – Guest: If you need help email us and gives us a shot-out.

53:03 – Chuck: Let’s do some picks!

53:05 – Advertisement for Charles Max Wood’s course!

Links:

Kendo UI Frontside Redux Microstates Microstates with React Taras Mankovski’s Twitter Taras Mankovski’s GitHub Taras Mankovski’s LinkedIn Taras Mankovski’s Frontside Bio Charles Lowell’s Twitter Charles Lowell’s GitHub Charles Lowell’s Frontside Bio Schedule Once Ruby on Rails Angular Get A Coder Job YouTube Talks Email: cowboyd@frontside.io Working with State Machines Twitch TV BigTest Close Brace REEF The Developer Experience YouTube Video

Sponsors:

Kendo UI Sentry.io – 2 months free – DEVCHAT/code Get A Coder Job

Picks:

Aimee

ShopTalk Episode 327 Professional JavaScript for Web Developers Technical Debt Stripe

Taras

Twitch Channel Big Test Frontside

Charles Lowell

Chalkboards Sargent Art Chalk

Chris

Close Brace LaCroix Water Chris’s Git Hub

Joe

The Developer Experience Bait and Switch Good Bye Redux Recording Dungeon and Dragons

AJ

UtahJS Conf Start with Why The Rust Book VanillaJS w/ Chris Zero to One

Charles

Podwrench.com -  beta getacoderjob.com

MJS 082: Benjamin Hong

Oct 24, 2018 22:26

Description:

Panel: Charles Max Wood

Guest: Benjamin Hong

This week on My JavaScript Story, Charles speaks with Benjamin Hong who is a Senior UI Developer at Politico where he lives in the Washington, D.C. area. He has worked with other companies including Treehouse, Element 84, and Udacity. Charles and Benjamin talk about his past and current projects, and how it’s different working for the government vs. working for a business. Check it out!

In particular, we dive pretty deep on:

1:06 – Chuck: Tell us a brief introduction, please.

1:23 – Ben: I am a lead frontend developer at Politico.

1:43 – Chuck: It’s an area that can affect everyone. How did you get into developing?

1:52: Ben: I had everything you can think of to develop at first.

2:10 – Chuck: For me it was a TI90 calculator!

2:18 – Chuck: Was it somebody or something that pushed you towards this area?

2:32 – Ben: I wanted to change something with the theme, Googled it, and it went from there, and the Marquis Tag.

2:51 – Chuck: And the Blink Tag! The goodies. So you got the he HTML book – and what website did you build that was your first big project?

3:07 – Ben: It was fiddling around, but it was fortune cookie universe.

3:20 – Chuck: You will have to recreate it!

3:27 – Ben: I think this was 1993/1995 timeframe.

3:40 – Chuck: Yep, me too same time frame. If you had something move on your website it was so cool. You went to building...

4:02 – Ben: JavaScript was a roadblock for me. There was nobody to correct me. I had a JavaScript book and it was a massive failure.

4:33 – Chuck: You took a break and you came back?

4:40 – Ben: Oh – people will PAY you to do this?!

4:54 – Chuck: Did you go to college?

5:01 – Ben: Yes, I have a Master’s in a different field. I was always a tech junkie. I just wanted to put things together.

5:20 – Chuck: Take us through your journey through JS?

5:30 – Ben: I started off with the jQuery piece of it. I needed Java, and it took me awhile to wrap my head around it at first. Through the trial and process of trying to get into Angular and React, too.

6:19 – Chuck: Did you play with Backbone, Knockout, or Ember?

6:32 – Ben: I did do SOME Ember and some Knockout. Those were my first interactions.

6:49 – Chuck: What got you into the profession? How did you get from your Master’s to being a tech guy?

7:14 – Ben: From the Master’s field I learned a lot about human experience, and anted to breed the two together. Also, consulting and helping to build things, too.

7:44 – Charles: What was the career change like?

7:53 – Ben: I went to the federal government at first around the recession – it was good having a stable job. I was bored, though. While I was working for the government I was trying to get my foot in the door. From there I have been building my way up.

8:30 – Ben: I was working on Medicare.gov and then later...

8:46 – Charles: We won’t use the word “disaster”!

What is it like to work for the government?

9:20 – Ben: Yep. The federal government is a different area because they are stake holders. They were about WHO owned the content, and who do we have to talk to get something approved. It was not product oriented like a business. I made my transition to Politico, because I wanted to find solutions and diversify the problems I was having.

10:31 – Chuck: Have you been there from the beginning?

10:39 – Ben answers the question.

Ben: They were looking for frontend developers

10:54 – Chuck: You are the lead there now. What was that like with the transition?

11:08 – Ben talks about the beginnings stages of his time with Politico and the current situation. He talks about the different problems, challenges, and etc.

11:36 – Chuck: Do you consider yourself a news organization or?

11:47 – Ben: We have Politico Pro, too. I have been working with this site more so. There are updates about campaign and voting data. People will pay a fee.

12:25 – Chuck: Do they pain themselves as leaning one way or another or nonpartisan?

12:38 – Ben: We are objective and nonpartisan.

12:51 – Chuck: I know, I was hesitant to ask. What’s the mission of the company and into what you do?

13:09 – Ben: The projects get dumped to us and we are about solving the problems. What is the best route for solving it? I had to help pioneer the new framework into the tech staff is one of my roles.

13:48 – Chuck: What’s your tech stack?

13:55 – Ben: JavaScript and Vue.js. We are experimenting with other software, too.

14:16 – Chuck: We should get you talking about Vue on the other show!

Are you working at home?

14:32 – Ben answers the question.

Ben: One thing I am helping with Meetup. Community outreach is important and I’m apart of that.

15:09 – Chuck: Yep, it’s interesting to see various fields into the tech world. I am not one of those liberal arts majors, I do have a computer science degree. It’s interesting to see the different perspectives. How little it is for someone to be able to dive-in right away.

What are you working on?

16:09 – Ben: Meetup population and helping with the work at Politico.

16:27 – Chuck: Reusable components. Are those opensource or only internal?

16:41 – Ben: They are now opensource but we are seeing which portions can be opensource or not.

17:01 – Chuck: Different companies have come out and offered their opensource.

Where do they find you?

17:20 – BenCodeZen! They are more than welcome to message me.

17:36 – Chuck: Any advice on newbies to this field?

17:46 – Ben: Attending those meetings and making those connections.

18:18 – Chuck: I have been writing a book on HOW to get a job as a coder. That’s the same advice that I am giving, too.

18:46 – Chuck: Picks!

18:51 – Advertisement – Fresh Books! 30-Day Trial!

Links:

React Angular Vue.js JavaScript Ember Elm jQuery BenCodeZen Ben’s LinkedIn Ben’s Crunch Base

Sponsors:

Cache Fly Get A Coder Job Fresh Books

Picks:

Charles

Framework Summit – UT (Ember, Elm, and tons more!) Microsoft Ignite Code Badge

Ben

Conference in Toronto Conference in Atlanta, GA (Connect Tech) Conference in London – Vue

JSJ 336: “The Origin of ESLint” with Nicholas Zakas

Oct 23, 2018 1:08:01

Description:

Panel:

Aimee Knight Charles Max Wood (DevChat TV) Christopher Ferdinandi (Boston) Cory House (Kansas City) Joe Eames

Special Guests: Nicholas Zakas

In this episode, the panel talks with Nicholas Zakas who writes on his site, Human Who Codes. He is the creator of ESLint, also the author of several books, and he blogs, too. He was employed through Box and today he talks about ESLint in full detail! Check it out! 

Show Topics:

0:05 – Advertisement: KENDO UI

0:37 – Hello! The panel is...(Chuck introduces everyone).

1:04 – Nicholas who are you?

1:17 – Nicholas: Yeah it’s been about 5 years and then you invited me again, but I couldn’t come on to talk about ESLint back then. That’s probably what people know me most for at this point. I created ESLint and I kicked that off and now a great team of people is maintaining it.

1:58 – Chuck: What is it?

2:04 – It’s a Linter for JavaScript. It falls into the same category as JSLint. The purpose of ESLint is to help you find problems with your code. It has grown quite a bit since I’ve created it. It can help with bugs and enforcing style guides and other things.

2:53 – Where did it come from?

2:57 – Guest: The idea popped into my head when I worked at Pop. One of my teammates was working on a bug and at that time we were using...

Nothing was working and after investigating someone had written a JavaScript code that was using a native code to make an Ajax request. It wasn’t the best practice for the company at the time. For whatever reason the person was unaware of that. When using that native XML...there was a little bit of trickiness to it because it was a wrapper around the...

We used a library to work around those situations and add a line (a Linter) for all JavaScript files. It was a text file and when you tried to render code through the process it would run and run the normal expression and it would fail if any of the...matched.

I am not comfortable using normal expressions to write code for this. You could be matching in side of a string and it’s not a good way to be checking code for problems. I wanted to find a better way.

6:04 – Why did you choose to create a product vs. using other options out there?

6:15 – Guest: Both of those weren’t around. JSHint was pretty much the defector tool that everyone was using. My first thought was if JSHint could help with this problem?

I went back to look at JSHint and I saw that on their roadmap you could create your own rules, and I thought that’s what we need. Why would I build something new? I didn’t see anything on GitHub and didn’t see the status of that. I wanted to see what the plan was, and they weren’t going to get to it. I said that I really needed this tool and I thought it would be helpful to others, too.

8:04 – My history was only back when it was customizable.

8:13 – Aimee: It’s interesting to see that they are basing it on regular expressions.

8:32 – Guest: Interesting thing at Box was that there was...I am not sure but one of the engineers at Box wrote...

9:03 – Aimee: I was going to ask in your opinion what do you think ES Lint is the standard now?

9:16 – Guest: How easy it is to plug things in. That was always my goal because I wanted the tool not to be boxed in – in anyway.

The guest continues to talk about how pluggable ESLint is and the other features of this tool.

13:41 – One thing I like about ESLint is that it can be an educational tool for a team. Did you see that being an educational tool?

14:24 – Guest: How do you start introducing new things to a team that is running at full capacity? That is something that I’ve wondered throughout my career. As a result of that, I found that a new team there were some problems I the code base that were really hard to get resolved, because when one person recognizes it there isn’t a god way to share that information within a team in a non-confrontational way. It’s better to get angry at a tool rather than a person.

Guest goes into what this can teach people.

18:07 – Panelist: I am not surprised. Is there a best practice to get a team to start with ESLint?

Do you get the whole team in a room and show them the options or take the best guess and turn it on?

18:34 – Guest: The thing I recommend is that first and foremost get ESLint in your system with zero rules on. It starts that mindset into your development process. We can do something to automatically check...

Get Syntax checking and you will se improvements on the number of bugs that are getting out of production. I recommend using the default the ESLint configuration. This has all of the things that we have found that are most likely errors and runtime errors vs. syntax errors. You can go through with those and sometimes it is easier to run that check with...

Using those ESLint rules will clean up a lot of problems that you didn’t know you had with your code. There are too many problems with those rules. I recommend instead of turning them off then put the severity to warning and not error. That is something we started with in the beginning. We turned on as many rules as we could and it drove people crazy. They didn’t feel like when they were committing to a file why should I be...

The idea with the different scenario levels you don’t’ want to turn off rules so people don’t know there is a problem. There can be a rule on so people will know that there is a problem, but...

Doing that alone will give you a lot of benefit in using ESLint. How do you decide as a team on the rules that are maybe not for finding errors but for stylistic in error? Do we use four spaces, semi-colons, etc. To figure that out I am a big component on finding a pre-existing style guide and adapting it. Get everyone to agree.

There is no right or wrong when it comes to stylistic preferences. It really is just getting everyone to do the same thing. I think it was Crawford that said: Whether you drive on the right side of the left side of the road – it doesn’t matter as long as everyone is dong the same thing. I agree with that and it applies to style guides. It can get heated but for the best thing for the team is stick with a guide and work together.

24:36 – Aimee: I can go through the options to pick one of the style guides out there and then it will automatically create my configuration for me is helpful. Question: If you had to pick 2 or 3 rules that you are super helpful what would they be?

25:30 – Guest: To touch briefly on indentation. Whether you like four spaces or whether you are wild and like tabs, I think the indent rule is very helpful. Just for wiping out and eliminating that discussion through your team. Have your editor setup however they want but on the pre-hook...

But my favorite rules I tend to lean towards the ones that saved me.

The Guest goes through his favorite rules with ESLint. Check it out!

26:51 – Guest mentions his second favorite rule, here!

28:24 – Guest mentions his third favorite rule, here!

29:03 – Guest mentions the rule that makes him giggle a lot, here!

30:07 – Advertisement – Sentry!

31:22 – What is your take on running Fix? Does it make sense to run Fix?

32:00 – Guest: It depends and the idea behind Fix is the idea of doing a one time (at the start) fix everything that it can find wrong b/c I don’t want to do it by hand. It morphed into a more of a tool that people are using all the time. I too have mixed feelings about it. I think the greatest value you get out of Fix is that when you first install it or when you enable a new rule. I think in those situations you get a lot of value out of Fix. I think that when people were getting aggressive with their code styles it took us down a path where we...

As a pre-commit hook it could be to fix things and part of the built system you wouldn’t want...

People are probably wondering: Why doesn’t ESLint doesn’t fix all the time?

It can be a team decision: do you want to run Fix at the point that the developer is writing the code, do you want to use Fix as running it as a build when you are bundling? It really seems more of a personal preference. I am on the fence about it. Even though I am leaning more towards...

35:16 – Do you run Premier?

35:20 – Guest: No I don’t. I don’t have anything against Premier but I think Prettier uses a very interesting space.

37:50 – Chuck: What is next for ESLint and what is next for you?

37:55 – Guest: Well, to be honest I am not sure what is next for ESLint. I haven’t been involved with keeping it maintained for the last few years. I do help out with feedback with decisions. But in general the ESLint the direction is that let’s add tings that help people avoid language hazards and make sure that ESLint is still pluggable. Lastly, that we will be there to help people and the community. There is this virtuosic cycle and tools like Babble and then tools like ESLint introducing rules adapting new rules and features better.

For myself, and the future, I haven’t been involved with ESLint because I am focusing on my health. I was diagnosed with Lyme Disease and it meant that I needed to focus on my health. That’s why, too, I wasn’t able to join a few years ago. I am doing better but I am a few years away for working fulltime and writing books and blogging, again. The trajectory is upward. I want to stress that you need to take care of yourself.

There is interesting stuff that we are doing and I love it, but make sure you take care of yourself! If you don’t have your health then nothing will really matter. I want to encourage you all to take care of yourselves better. This industry can take a toll on your body b/c it is high-stressed. If you are stressed your immune system will shut down. For a lot of us we are working too much and there isn’t an off-switch. I would like to encourage people to examine their life and their time.

When you take time to turn off your analytic brain, and work on your creative brain then the pathways will connect better.

Please save your money!

Lyme disease is spread through tick bites.

44:30 – Aimee: Thank you for sharing that!

44:38 – Chuck: It’s encouraging to me that you are still trying to come back even after this disease. I think we take things for granted sometimes. You can’t always count on things going the way you want it to go.

45:19 – Guest: What happened to me was I left work and one Friday afternoon I had a normal weekend. My health was on the decline, and I rested all weekend. And Monday I couldn’t get out of bed. That started this whole period where I stopped leaving the house completely. That’s how quickly things can change for you. I harp on people a lot to save their money. If I didn’t have savings there would be a very different end to my story. I want to encourage people to save.

46:33 – Chuck: I think on that note let’s go to picks. Where can people find you?

46:45 – Guest: My blog is Human Who Codes.

47:10 – Chuck: Anything people can do to help you? Check out his books you won’t regret it!

47:33 – Guest: Buying books is always helpful. I would say that if you can spend some time contributing to ESLint that is always a great help. Anything you can do to help them will help me. I want to make sure that those folks are happy, healthy and productive. For me, personally, I love when people Tweet at me and say HI! I love hearing other people’s stories of how they have overcome past diseases or illnesses. If you want to send monetary gifts – donate to a wonderful organization that helps children with Lyme disease. I would encourage you to support if you feel inclined.

50:49 – Chuck: We appreciate it, and I appreciate you being so open about your personal story.

51:11 – Advertisement – eBook: Get a coder job!

Links:

JavaScript jQuery React Elixir Elm Vue GitHub – Prettier GitHub – Premier Lyme Light Foundation Inclusive Components ESLint – Disallow Specific Imports State of JS Learn JavaScript Book: Total Recall Goodbye Redux YouTube Channel – Sideways Human Who Codes – Nicholas Zakas Nicholas’ Books Nicholas’ Twitter Nicholas’ GitHub Nicholas’ LinkedIn

Sponsors:

Kendo UI Sentry Cache Fly Get a Coder Job

Picks:

Aimee

Technical debt Professional JavaScript for Web Developers

Chris

Inclusive Components Blog CSS Cascade JS Jabber - code

Cory

No Restricted Imports State of JS Total Recall

Charles

My JavaScript Story

Joe

Thought bubbles... Goodbye Redux Sideways Channel

Nicholas

The Brain that Changes Its Self Ghost Boy Tip - Turn off your Wi-Fi before Bed

MJS 081: Christiané Heiligers

Oct 17, 2018 19:20

Description:

Panel: Charles Max Wood

Guest: Christiané Heiligers

This week on My JavaScript Story, Charles speaks with Dr. Christiané Heiligers who is new to the industry. Her background is in physics where she has her Ph.D. in the field. Listen to today’s episode to hear her background, experience with the different programs/languages, and much more!

In particular, we dive pretty deep on:

Beginning – Advertisement: Code Badges!

1:07 – Christiané: Hello!

1:17 – Chuck: I like hearing people’s stories from our community. Tell us where you come from and who you are?

1:33 – Christiané: I am from South Africa, and have been in the US for 2 years now. My formal training is in physics. I have been a researcher with lab coats and test tubes. Through immigration, which took 2 years. I couldn’t be still, and started learning code on my own. I enjoyed the art. I had to use Python, and then I was hooked. I enjoyed the functional programming and other things. I had some experience with Ruby on Rails. I enjoy development because its problem solving, methodically approach, and uses your creative side, too. My preference is a Mac, need the Internet and decided to go to camps and take courses.

I snagged a job a week before I graduated!

4:36 – Chuck: your journey, thus far. You said that you couldn’t be idle – so why code?

4:53 – Guest: The UK is cold you don’t want to do anything outside! From South American I couldn’t stand the cold. I kept busy indoors – hint the code. You can’t get bored – frontend or backend.

5:28 – Chuck: Can you give us background on the Grace Hopper Academy.

5:40 – Guest: Sure! It’s based in NY City.

6:26 – Chuck: Did you move somewhere or was it remote?

6:30 – Guest: I had to live somewhere e

6:51 – Chuck: Where did you

6:55 – Guest: NY City. There were 16 of us in the course.

7:14 – Chuck: Why did you feel like you had to go to coding school?

7:25 – Guest: I am impatient with myself. The home-life you ask yourself: “Am I doing the right thing? Am I going in the right direction?” I wanted to go and pick up some skills.

7:56 – Chuck: You go through Grace Hopper – is this how you got into JavaScript?

8:11 – Guest: I didn’t know a line of JavaScript.

I did my application code line in Ruby.

My husband has been in software development my whole life.

9:16 – Chuck: What have you done with JavaScript since learning it?

9:24 – Guest: Some card playing games for my nieces in South Africa.

10:50 – Guest: Stack Overflow is wonderful.

11:05 – Chuck.

11:11 – Guest: I wasn’t actively contributing, but I did...

11:30 – Chuck: What is it like being a prof

11:37 – Guest: It’s addictive. When I am writing code in the frontend / backend side. It’s always learning.

12:11 – Chuck: What’s next for you?

12:18 – Guest: I would love to continue this journey. Maybe into the DevOps, but my passion happens with React. The Hapi Framework.

13:10 – Guest: The community is wonderful to work with – everyone is very helpful.

13:22 – Chuck: People are usually talking about Express and not Hapi.js.

13:35 – Guest: I have some contact names you can call.

13:43 – Guest: I am working on a few small projects right now. Some Angular sites that need assistance. Helping out where I can. It’s a small team that I am working with. There is only a few of us.

14:31 – Chuck: Usually people stick with one. What’s your experience using the different frameworks?

14:40 – Guest: It’s an eye-opener! React vs. Angular.

15:07 – Chuck: How can people find you?

15:14 – Guest: LinkedIn, Twitter, Tallwave, etc.

15:37 – Chuck: Picks!

15:40 – Advertisement!

Links:

React Angular Grace Hopper Academy Christiané’s Instagram Christiané’s Facebook

Sponsors:

Code Badge Cache Fly Get A Coder Job

Picks:

Charles

Podcasts that Chuck listens to: Code Newbie Our podcasts through DevChat Food – Kedo Diet – 2 Keto Dudes

Christiané Heiligers

Hapi Framework Hapi Slack Channel – Hapi.js

JSJ 335: “CanJS 4.0” with Justin Meyer

Oct 16, 2018 54:04

Description:

Panel:

Aimee Knight Charles Max Wood (DevChat TV) Christopher Ferdinandi (Boston) Joe Eames

Special Guests: Justin Meyer

In this episode, the panel talks with Justin Meyer who is a co-author of DoneJS, CanJS, jQueryPP, StealJS, and DocumentJS. Justin currently works for Bitovi and is their Director of R&D. He is also a fan of basketball and Michael Jackson. The panel and Justin talk about CanJS in-detail – check it out!

Show Topics:

0:58 – We had you on Episode 202.

1:14 – Chuck: Can you tell everyone who you are?

1:20 – Justin tells us his background.

1:50 – Chuck.

1:58 – Justin.

2:06 – Chuck: Can you give us an introduction to what CanJS 4.0?

2:11 – Justin: It is a JavaScript framework and is similar to Vue. It adds a very model layer, and uses Real Time very well.

2:44 – Panelist.

2:49 – Justin.

2:55 – Panelist: What is the current...

3:09 – Justin: Compatibility is very important to us. A lot of the same tools are still available. It has over 80 different repositories.

Justin continues to talk about the differences/similarities between the different versions.

4:55 – Panelist: Angular, React, and Vue are dominating, so I have 2 questions.

1.) Where is the core strength of JS and its user base?

2.) What is like to be the CanJS when everyone is talking about the other programs?

5:31 – Justin: We have dealt with this for the past 10 years. Emotionally it’s not great, I wished it was more popular, but our priority is keeping our user-based happy. We’ve had big companies use it.

Justin answers the second question.

8:44 – Panelist: You mentioned two things.

9:22 – Aimee: I think everything has trade-offs. I would use something because it was the right tool for the job. I wouldn’t want to make something that was “cool.” I would want to make it super accessible in a network.

10:10 – Justin: That is a great marketing angle. We are trying to remove the worst parts of the program.

10:26 – Now I am intrigued.

10:32 – Justin: You have this mutable state and you aren’t sure. At least for CanJS I don’t see that occurring too often.

10:54 – Aimee.

10:58 – Justin: Deep inheritance is definitely a problem and it can create...

11:13 – Aimee.

11:19 – Justin: We have changed strategies a lot, and I think it’s helped CanJS grow; like 60% since January. We are doing a lot of user studies now. I run Meetups, etc. That being said inheritance schemes aren’t something that people will encounter. This is something that they won’t encounter months down the road.

13:00 – Aimee.

13:05 – Panelist: I would like to dig deeper into state-management. Everyone is doing Flux, talk about that with CanJS.

13:20 – Justin: Yeah. It depends on what kind of user you are talking to. When I talk to new users off the street (people who just graduated, etc.)...

If you look at React’s statistics – more than 50% doesn’t use any state management.

16:15 – Panelist: I think it’s interesting that there are people that aren’t “oh my gosh...”

16:43 – Justin: The last coolest thing I’ve done is...

18:02 – Justin continues.

18:16 – Panelist: I kind of have this belief that we as a community turn to frameworks and tools too much. From your perspective when does it make sense to turn to a tool like this or better off working with native...

18:56 – It depends on how complex your app is and our ability to work through those problems. I think that’s a generic answer, but hopefully that helps. I don’t think you really can’t live without.

19:49 – Panelist: I think that’s fair. One thing that I found is that there are many things layered into state-management. Because you mentioned performance, which is something I care about, too. At what point does the extra tooling become too heavy for the user’s experience? Where do you draw the line?

21:11 – Justin: It depends. I don’t know what the parallel is – it’s like a richer developer problem. You have too many users where you can make those fine tuned adjustments. Do whatever is going to deliver the product first and then worry about performance later? I think our things are geared towards performance by default.

22:41 – Panelist: Playing devil’s advocate, though. But isn’t there some danger in kind of suggesting that you focus on performance WHEN it’s a business issue? Maybe there is there a lack of empathy among developers. I worry that advice is hurting us.

23:53 – Justin: No matter what you can build your homepage with Angular weird monstrosity, but then when you get to the point when people are using your product – you can just use native HTML, and native methods and build that one widget and as easy and fast as possible.

24:50 – Panelist: Dealing with complexity. Now we need to do things like bundlers, and such to deal with this issue. I feel like a crotchety old man yelling because it takes forever.

25:38 – Justin: I think it depends on where you are sitting. I think that comes down to the design. If your design has a lot of complex states, then...

26:37 – Panelist: Because you care about performance...

26:54 – Advertisement

27:53 – Justin: I don’t think that the run time of CanJS is going to be a critical performance path for anybody. Is there a responsibility? This is the oldest question. It’s like saying: where do you draw the line that you need to choose success/be elected to fight the battles if you really want to win.

You need someone using your product or it doesn’t really matter. Start-ups use our product because they need to get something up and in. I am going to flip this back onto you guys.

30:48 – Panelist: I think that’s fair.

31:00 – Aimee: I have a question. You got into consultancy when do you recommend using CanJS or something else?

31:15 – Justin: I always suggest people using CanJS.

31:53 – Aimee: What do these people do when their contract is over? I have used an older version of Can, and...

32:20 – Justin: Are you on Gitter?

Aimee: No, I am not.

32:25 – Justin: We do offer promote job posting to help them find somebody. We try our best to help people in any way we can.

33:05 – Aimee: That’s helpful. Another question.

33:28 – Justin: DoneJS is that. It uses the full kitchen sink. That’s what DoneJS is.

33:50 – Panelist: Let’s talk about CanJS in the mark-up. Do you think it’s better now or worse than 2012? Less space or more space?

34:13 – Justin: It’s probably worse. I think the methodology that we are using: focusing on our users. We get their feedback frequently. We are listening to our users, and I think we are being smarter.

35:16 – Panelist: Is the space getting more welcoming or less?

35:31 – It depends on what framework you are. It’s very hard to compete if you are the exact same thing as...

The market is so dense and there are so many ideas, so it’s getting harder and harder. What helps people break-through? Is it the technology or the framework?

36:36 – Panelist: I appreciate the richness of the field, as it exists right now. There aren’t a few things SMELT and ELM

37:10 – Justin: Elm for sure. I don’t have a lot of experience with SMELT.

37:23 – Panelist continues the talk.

37:54 – Chuck.

38:00 – Justin: I think it spreads by word-of-mouth. I used to think it was “technology” or... all that really matters is “can you deliver” and the person have a good experience.

Usability is the most important to me. We will see how this turns out. I will be either right or wrong.

39:18 – Panelist: Can we talk about the long-term future of Can JS?

39:28 – Justin: We are connecting to our user-base and making them happy. If I had it my way (which I don’t anymore) I think JSX is the best template language. We have been building integrations between JSX and...

I am putting out proposals where most people don’t like them.

Justin continues this conversation.

44:24 – Picks!

44:28 - Advertisement

Links:

JavaScript jQuery React Elixir Elm Vue Polyfill.io Dinero.js Vanilla JS Toolkit CanJS’ Website CanJS’ GitHub CanJS’ Twitter JSX JSX- NPM Justin Meyer’s GitHub Justin Meyer’s Twitter Past Episode with Justin Meyer

Sponsors:

Kendo UI Sentry Cache Fly Get a Coder Job

Picks:

Aimee

Taking a walk for creativity https://ohshitgit.com

Chris

PolyFill.io Dinero.js https://vanillajstoolkit.com/

Joe

Pitch Meeting Solo

Charles

Phoenix Framework The Queens Poisoner A View From The Top

Justin

The Killing of H2Push Browser Contributor Days JSJ Episode 326 with Tom Dale

MJS 080: Ely Lucas

Oct 10, 2018 35:40

Description:

Panel: Charles Max Wood

Guest: Ely Lucas

This week on My JavaScirpt Story, Charles speaks with Ely Lucas who is a software developer. He loves technologies and mobile technologies among other things. Let’s listen to today’s episode where Chuck and Ely talk about Ionic, Angular, React and many other topics! Check it out!

In particular, we dive pretty deep on:

1:33 – Hello!

1:40 Chuck: Give us a background on who you are, and tell us how famous you are!

2:31 – Chuck: What do you do with Ionic?

2:40 – Ely answers the question.

3:51 – Chuck: How did you get into your field?

3:55 – Ely: When I was a kid and played with video games. Later on I got into web development, like my website. Then I got into a professional-level of developing.

Ely goes into detail about how his passion for developing began and developed.

6:30 – Chuck: Yeah, I’ve talked with people who have gotten into video games, then got into software development.

7:01 – Ely: Someday I would like to develop games.

7:12 – Chuck: Yes, web developing is awesome.

Chuck asks Ely another question.

7:25 – Ely answers the question and mentions web controls.

9:17 – Ely: I thought Ajax was easier.

9:38 – Chuck: When I got into web development jQuery was sort of new. It made things a lot easier.

9:58 – Ely: A lot of people like to sneer at jQuery now, but back in the day it was IT.

10:28 – Chuck: How did you get into Ionic?

10:43 – Ely: I got a fulltime gig working on Ionic; I like the framework. I saw a job application and sent in my résumé. Two days later I got a callback and was amazed. They were hiring remotely. The team liked me and started over a year ago.

11:46 – Chuck asks a question.

11:54 – Ely answers the question.

13:20 – Chuck: Why Ionic?

13:35 – Ely: It was based off of Angular.

15:17 – Chuck: You mentioned...what has the transition been like?

15:32 – Ely talks about past programs he has worked with. He taught React in the early React days.

16:37 – Ely: I have a deep appreciation on React now.

17:09 – Chuck: I like seeing the process that people go through.

17:24 – Ely continues the conversation.

Ely: It is interesting to see the learning process that people go through to arrive in the same place.

18:18 – Chuck: Redux is a good example of this. Anyway, this is near the end of our time.

18:39 – Chuck: Anything else you want to talk about?

18:48 – Ely: Yes, I have been involved in the Denver community. Check us out.

Links:

Ionic jQuery JavaScript React Ely Lucas’ Twitter Ely Lucas’ LinkedIn Ely Lucas Ely Lucas’ GitHub

Sponsors:

Get A Coder Job Code Badges Digital Ocean

Picks:

Charles

Audible Book: Seven Proven Principles... Tony Robbins’ Book: Unshakeable

Ely

Fantasy Novel: Shadow of what was lost. Ionic

JSJ 334: “Web Performance API” with Dan Shappir

Oct 9, 2018 1:07:58

Description:

Panel:

Aimee Knight Charles Max Wood Christopher Ferdinandi (Boston)

Special Guests: Dan Shappir (Tel Aviv)

In this episode, the panel talks with Dan Shappir who is a computer software developer and performance specialist at Wix.com. As Dan states, his job is to make 100 million websites (hosted on the Wix platform) load and execute faster! Past employment includes working for companies, such as: Ericom, Ericom Software, and BackWeb. He studied at Technion Institute of Management and currently lives in Tel Aviv, Israel. The panel talks about web performance API among other things. Check it out!

Show Topics:

1:29 – Charles: Let us know who you are and why you’re famous!

1:39 – “Hello!” from Dan Shappir.

2:25 – Charles: You should say that you go to EACH site EVERY day out of the millions of sites out there.

2:53 – Charles: My mom mentioned Wix to me at first. My mom teaches High School Math.

3:16 – Dan: Yes that is our mission statement. That everyone can get a website without the knowledge of how to build a website.

3:52 – Aimee makes her comments.

3:59 – Dan: On our platform we try to offer people flexibility. There are bounds and limits, but people can do their very own thing, though. To make Wix faster because as we add more features and functionality that is our goal.

4:40 – Chuck: Okay, I know how to make X perform a little bit better. You are looking at a platform that controls TONS of sites, how do you even go about that?

4:58 – Dan: It is more difficult then that. We have millions of users leveraging the platform but there are a lot of developers in Wix who are developing the platform. I don’t think anyone at Wix has a total grasp of the complexity of the platform that we built. We have hundreds of frontend people working on our platform. All of them have pieces to the kingdom. We have processes in place with code reviews and whatnot, but there is so much going on. There is a change every 2 minutes, 24/7. We need to make sure progressing instead of regressing. 

6:54 – Aimee: I think it was interesting in one of the links you sent over. Because you know when something is getting worse you consider that a bug.

7:15 – Dan: It is more than a bug because if we see regression in performance then that is a problem. I can literally see any part of the organization and say, “stop” if it will

7:57 – Chuck: We are talking about performance, but what does that mean? What measures are there?

8:15: Dan: We are looking at performance can mean different things in different contents. User sites, for example, most important aspect is load time. How quickly the page loads and gets open to the viewer to that specific site. When they click something they want it instantly and no drag time. It does change in different contexts.

9:58 – Chuck: People do talk about load time. People have different definitions of it.

10:12: Dan: Excellent question. When you look at the different sites through Wix. Different people who build sites – load time can mean something else to everybody. It can mean when you see the MAIN text or the MAIN image. If it’s on an ECON site then how soon can they purchase or on a booking site, how long can the person book X product.

I heard someone at a conference say that load time is when: HERO TEXT And HERO IMAGE are displayed.

12:14 – Chuck: What is faster React or Vue?

12:21 – NEW HOST: Not sure. It all depends.

12:34 – Dan: We are big into React. We are one of the big React users outside of Facebook. I joined Wix four years ago, and even back then we were rebuilding our framework using React. One of our main modifications is because we wanted to do server-side rendered.

13:27 – Christopher asks Dan a question.

14:16 – Dan: We are in transition in this regard. Before we were totally client-site rendered, and that was the case until middle of last year. Then we deployed...

Dan: We are 100% server-side rendered now. Some things we are still using JavaScript. We have another project going on now and it’s fully CSS, and little JavaScript as possible. What you might want to do with that site is...

You might get in a few months every Wix site will be visible even if JavaScript is disabled.

16:26 – Aimee adds in her comments and observations to this topic.

16:55 – Dan: We don’t want things displayed incorrectly before it lays out. We hide the content while it’s downloading then make it visible. They lay-outing are done faster, because...

17:44 – Christopher asks Dan a question.

18:04 – Dan: I got into API...

Either you are moving forward or are you moving back. AKA – You are either progressing or regressing.

Different stages:

1.) Development stage

2.) Pre-Production (automated tools that check the performance with specific use cases)

3.) Check it out!

It’s beneficial to use these APIs.

21:11 – Christopher: What is performance APIs?

21:38 – Dan: There is a working group – Todd from Microsoft and others who are exposing the information (that is available in the browser) out into the browser. When the browser downloads a certain source (image, font, etc.) it can measure the various stages of downloading that feature.  You have these different sages of downloading this resource. The browser can measure each of these stages and then expose them to you. Basically it’s for the browser to expose this information to you and in a way that is coherent and uniform. It essentially maintains this buffer that puts performance entries sequentially.

Dan continues explaining this topic in detail.

25:55 – Dan: You have this internal buffer...

28:45 – Advertisement – Sentry – They support opensource.

29:39 – Christopher: everything you are saying seems that I can use this or that tab right now...

Why would I prefer the API to something visual, hypothetically?

30:03 – Dan: Three Different Stages. (See above.)

This information is very, very helpful during the developmental stage. Say you got a link from someone...

Dan mentions: Performance.mark

34:04 – Aimee: When you were talking about resource-ends. Many people don’t know what this is. Can you spend 2-3 minutes about how you guys are using these? Are there people can add for big bang for their buck?

34:41 – Dan: This might want to be a topic for its own podcast show.

Dan gives a definition of what a resource-end means.

Go back to fonts as an example.

Pre-connect for example, too.

39:03 – Dan: Like I said, it’s a huge topic.

You have to exercise some care. Bandwidth is limited. Make sure you aren’t blocking other resources that you do need right now.

40:02 – Aimee: Sounds like a lot of great things to tap into. Another question I have is about bundling.

40:27 – Dan: One of the things that we try to do (given that we are depending on the JavaScript we are downloading) we need to download JavaScript content to the client side. It has been shown often that JS is the most impactful resources that you need to download. You really want to be as smart as possible with that. What is even more challenging is the network protocols are changing.

Dan continues to go in-depth about this topic.

Dan: What we have found is that you want to strive to bundle resources together.

44:10 – Aimee: Makes sense.

44:15 – Dan continues talking about this topic.

45:23 – Chuck asks two questions. (First question is now and second question is at 51:32.)

2 Questions:

1. You gather information from web performance AI - What system is that?

45:42 – Dan: I am not the expert in that. I will try not to give misleading information. Actually let me phrase it different. There are 3rd party tools that you can use leverage in your website. IF you are building for commercial reasons I highly recommend that you use performance-monitoring solution. I am not going to advertise one because there are tons out there. We ended up rolling out our own infrastructure because our use case is different than most.

At a conference I talked with a vendor and we talked about...

51:32 – 2nd Question from Charles to Dan: Now you’ve gathered this information now what to you do? What patterns? What do you look for? And how do you decide to optimize things?

54:23 – Chuck: Back to that question, Dan. How should they react to it and what are they looking for

54:41 – Dan: Three main ways: 1.) Generate alerts 2.) See trends over long period of time 3.) Looking at real-time graphs.

Frontend developer pro is that likely being woken up in the middle of the night is lower. We might be looking at the real time graph after we deployed...

57:31 – Advertisement – Get a Coder Job!

58:10 – Picks!

Links:

JavaScript jQuery React Elixir Elm Vue Wix Window Performance Web Performance Terra Genesis Terra Genesis: Space Colony The One Thing DevChat TV – YouTube GitHub: Off Side HBO: Insecure Wix: Engineering JavaScript Riddle JavaScript Riddles for Fun and for Profit Dan Shappir’s Twitter Dan Shappir’s LinkedIn Dan Shappir’s Crunch Base Dan Shappir’s GitHub Dan Shappir’s Talk through Fluent Dan Shappir’s Medium Dan Shappir’s YouTube Talk: JavaScript riddles for fun and profit

Sponsors:

Code Badges Kendo UI Sentry Digital Ocean Cache Fly  

Picks:

Aimee:

Waking up early! How to Deal with Dirty Side Effects in Your Pure Functional JavaScript

Chris:

Offside - Toomuchdesign Insecure TV Show

Charles:

Terraform - Game “The One Thing" Code Badge DevChat on YouTube

Dan

Wix Engineering JavaScript Riddle

MJS 079: Michael Garrigan

Oct 3, 2018 33:31

Description:

Panel: Charles Max Wood

Guest: Michael Garrigan

This week on My JavaScript Story, Charles speaks with http://michaelgarrigan.com who is one of the podcast’s listeners. He is changing careers midway and has had many exciting careers in the past, such as being a professional chef, carpenter, repairman, and so on. Listen to today’s episode to hear Michael’s unique experience with programming and JavaScript.

In particular, we dive pretty deep on:

1:18 – Chuck: I started this show but interviewing guests and then opened up to listeners. Michael scheduled an interview and here we go! I find that his experience will be different than mine than others. We will be getting guests on here, but wanted this to be a well-rounded view within the community.

2:25 – Michael’s background! His experience is a mid-career change. To see the things that are intimidating and exciting.

3:16 – How did you get into programming?

3:23 – Michael: How do people talk to machines? What are the different computer languages out there? What do people prefer to use? The C programming language, I saw as the “grandfather” program. That’s the first thing I looked at. Then I was like, “what is going on?” I got a copy of the original K&R book and worked through that.

4:58 – Chuck: I did the C language in college. The Java that I was learning then was less complicated. How did you end up with JavaScript then?

5:26 – Guest: It was easy and you can just open up a console and it works. You want to see things happen visually when you program is great. It’s a great entry point. We started building things in React and how fun that is. I enjoy JavaScript in general.

6:11 – Chuck: What is your career transition?

6:18 – Guest: I have always been a craftsman and building things. I had a portion time I was a professional chef, which is the cold side like sausages and meats and cheeses, etc. I used to do a lot of ice carvings, too. Stopped that and opened a small business and repaired antique furniture for people. Wicker restoration. It was super cool because it was 100+ years old. To see what people did very well was enjoyable. Every few years I wanted to see how something worked, and that’s how I got into it. That was the gateway to something that was scary to something that made programs.

8:24 – Chuck: I was working in IT and wrote a system that managed updates across multiple servers. There is some automation I can do here, and it grew to something else. What made you switch? Were you were looking for something more lucrative?

9:01 – Michael: Main motivation I appreciate the logic behind it. I always build physical items. To build items that are non-physical is kind of different. Using logic to essentially put out a giant instruction sheet is fun.

9:52 – Chuck: At what point do you say I want to do a boot camp?

10:04 – Michael: I might to this as a career. Hobby level and going to work is definitely different. I could see myself getting up every day and going to meetings and talking about these topics and different issues. Coding day to day.

10:51 – Chuck: Who did you talk to who got you started?

10:57 – Guest: Things I read online and friends. They said get the basics behind programming. Languages come and go. Be able to learn quickly and learn the basics.

12:13 – Chuck: In NY city? It’s pricy to live there.

12:33 – Guest: Cost of living is much greater.

12:42 – Chuck: What was it like to go to a boot camp?

12:50 – Guest answers question.

14:30 – Advertisement – Get a Coder Job

15:11 – Chuck: What different projects have you worked on?

15:19 – Guest talks about his many different projects. Like senses.gov.

18:11 – Michael: Working on getting a job. I put together a portfolio and just graduated this past week.

19:38 – Charles: Anything that has been a huge challenge for you?

19:47 – Not really just one. I’ve done big projects in the past. Seeing that I can do them and sheer amount of work that I have put in. Not really too concerned. Only concern is that mid-30s any bias that is out there. I don’t think that will really affect me.

20:25 – Chuck: Yeah, it’s rally not age-bias.

20:55 – Michael: “Making your bones” is an expression in culinary school. That means that you put in the hours in the beginning to become a professional at it. So I have had transitioned several times and each time I had to make my bones and put in the time, so I am not looking forward to that for me right now, but...

21:43 – Chuck: Anything else?

21:51 – Guest: Meetups.

22:40 – Chuck: I have been putting time into making this book.

22:53 – Guest puts in his last comments.

24:00 – Chuck: Thinking about what I want DevChat TV to be. I have been thinking and writing the mission statement for DevChat TV.

25:14 – Chuck: It’s a big deal to get out of debt. My wife and I will be at the end of the year.

25:37 – Guest: Discipline not to spend money, and peer pressure.

25:48 – Picks!

25:57 – Advertisement for Digital Ocean!

Links:

Book Dave Ramsey: Introducing Our Brand-New Book! Hack Reactor JavaScript Meetup Michaelgarrigan.com – website

Sponsors:

Code Badge Digital Ocean Cache Fly Get A Coder Job

Picks:

Charles

TNT – The Last Ship Board game – Pandemic Legacy Kickstarter – Code Badges

Michael Garrigan

Brad’s YouTube channel - ½ million subscribers Michaelgarrigan.com – website

JSJ 333: “JavaScript 2018: Things You Need to Know, and a Few You Can Skip” with Ethan Brown

Oct 2, 2018 1:12:33

Description:

Panel:

Aimee Knight Joe Eames Charles Max Wood

Special Guests: Ethan Brown

In this episode, the panel talks with Ethan Brown who is a technological director at a small company. They write software to facilitate large public organizations and help make projects more effective, such as: rehabilitation of large construction projects, among others. There is a lot of government work through the endeavors they encounter. Today, the panel talks about his article he wrote, and other topics such as Flex, Redux, Ruby, Vue.js, Automerge, block chain, and Elm. Enjoy!

Show Topics:

2:38 – Chuck: We are here to talk about the software side of things.

Let’s dive into what you are looking at mid-year what we need to know for 2018. You wrote this.

3:25 – Ethan: I start off saying that doing this podcast now, how quickly things change. One thing I didn’t think people needed to know was symbols, and now that’s changed. I had a hard time with bundling and other things. I didn’t think the troubles were worth it. And now a couple of moths ago (an open source project) someone submitted a PR and said: maybe we should be using symbols? I told them I’ve had problems in the past. They said: are you crazy?!

It’s funny to see how I things have changed.

4:47 – Panel: Could you talk about symbols?

4:58 – Aimee: Are they comparable to Ruby?

5:05 – Ethan talks about what symbols are and what they do!

5:52 – Chuck: That’s pretty close to how that’s used in Ruby, too.

6:04 – Aimee: I haven’t used them in JavaScript, yet. When have you used them recently?

6:15 – Ethan answers the question.

7:17 – Panelist chimes in.

7:27 – Ethan continues his answer. The topic of “symbols” continues. Ethan talks about Automerge.

11:18 – Chuck: I want to dive-into what you SHOULD know in 2018 – does this come from your experience? Or how did you drive this list?

11:40 – Ethan: I realize that this is a local business, and I try to hear what people are and are not using. I read blogs. I think I am staying on top of these topics being discussed.

12:25 – Chuck: Most of these things are what people are talking.

12:47 – Aimee: Web Assembly. Why is this on the list?

12:58 – Ethan: I put on the list, because I heard lots of people talk about this. What I was hearing the echoes of the JavaScript haters. They have gone through a renaissance. Along with Node, and React (among others) people did get on board. There are a lot of people that are poisoned by that. I think the excitement has died down. If I were to tell a story today – I would

14:23 – Would you put block chain on there? And AI?

14:34 – Panel: I think it’s something you should be aware of in regards to web assembly. I think it will be aware of. I don’t know if there is anything functional that I could use it with.

15:18 – Chuck: I haven’t really played with it...

15:27 – Panel: If you wrote this today would you put machine learning on there?

15:37 – Ethan: Machine Learning...

16:44 – Chuck: Back to Web Assembly. I don’t think you were wrong, I think you were early. Web Assembly isn’t design just to be a ... It’s designed to be highly optimized for...

17:45 – Ethan: Well-said. Most of the work I do today we are hardly taxing the devices we are using on.

18:18 – Chuck and panel chime in.

18:39 – Chuck: I did think the next two you have on here makes sense.

18:54 – Panel: Functional programming?

19:02 – Ethan: I have a lot of thoughts on functional programming and they are mixed. I was exposed to this in the late 90’s. It was around by 20-30 years. These aren’t new. I do credit JavaScript to bring these to the masses. It’s the first language I see the masses clinging to. 10 years ago you didn’t see that. I think that’s great for the programming community in general. I would liken it to a way that Ruby on Rails really changed the way we do web developing with strong tooling. It was never really my favorite language but I can appreciate what it did for web programming. With that said...(Ethan continues the conversation.)

Ethan: I love Elm.

21:49 – Panelists talks about Elm.

*The topic diverts slightly.

22:23 – Panel: Here’s a counter-argument. Want to stir the pot a little bit.

I want to take the side of someone who does NOT like functional programming.

24:08 – Ethan: I don’t disagree with you. There are some things I agree with and things I do disagree with. Let’s talk about Data Structures. I feel like I use this everyday. Maybe it’s the common ones. The computer science background definitely helps out.

If there was one data structure, it would be TREES. I think STACKS and QUEUES are important, too. Don’t use 200-300 hours, but here are the most important ones. For algorithms that maybe you should know and bust out by heart.

27:48 – Advertisement for Chuck’s E-book Course: Get A Coder Job

28:30 – Chuck: Functional programming – people talk bout why they hate it, and people go all the way down and they say: You have to do it this way....

What pay things will pay off for me, and which things won’t pay off for me? For a lot of the easy wins it has already been discussed. I can’t remember all the principles behind it. You are looking at real tradeoffs.  You have to approach it in another way. I like the IDEA that you should know in 2018, get to know X, Y, or Z, this year. You are helping the person guide them through the process.

30:18 – Ethan: Having the right tools in your toolbox.

30:45 – Panel: I agree with everything you said, I was on board, until you said: Get Merge Conflicts.

I think as developers we are being dragged in...

33:55 – Panelist: Is this the RIGHT tool to use in this situation?

34:06 – Aimee: If you are ever feeling super imposed about something then make sure you give it a fair shot, first.

34:28 – That’s the only reason why I keep watching DC movies.

34:41 – Chuck: Functional programming and...

I see people react because of the hype cycle. It doesn’t fit into my current paradigm. Is it super popular for a few months or...?

35:10 – Aimee: I would love for someone to point out a way those pure functions that wouldn’t make their code more testable.

35:42 – Ethan: Give things a fair shake. This is going back a few years when React was starting to gain popularity. I had young programmers all about React. I tried it and mixing it with JavaScript and...I thought it was gross. Everyone went on board and I had to make technically decisions. A Friend told me that you have to try it 3 times and give up 3 times for you to get it. That was exactly it – don’t know if that was prophecy or something. This was one of my bigger professional mistakes because team wanted to use it and I didn’t at first. At the time we went with Vue (old dog like me). I cost us 80,000 lines of code and how many man hours because I wasn’t keeping an open-mind?

37:54 – Chuck: We can all say that with someone we’ve done.

38:04 – Panel shares a personal story.

38:32 – Panel: I sympathize because I had the same feeling as automated testing. That first time, that automated test saved me 3 hours. Oh My Gosh! What have I been missing!

39:12 – Ethan: Why should you do automated testing? Here is why...

You have to not be afraid of testing. Not afraid of breaking things and getting messy.

39:51 – Panel: Immutability?

40:00 – Ethan talks about this topic.

42:58 – Chuck: You have summed up my experience with it.

43:10 – Panel: Yep. I agree. This is stupid why would I make a copy of a huge structure, when...

44:03 – Chuck: To Joe’s point – but it wasn’t just “this was a dumb way” – it was also trivial, too. I am doing all of these operations and look my memory doesn’t go through the roof. They you see it pay off. If you don’t see how it’s saving you effort, at first, then you really understand later.

44:58 – Aimee: Going back to it being a functional concept and making things more testable and let it being clearly separate things makes working in code a better experience.

As I am working in a system that is NOT a pleasure.

45:31 – Chuck: It’s called legacy code...

45:38 – What is the code year? What constitutes a legacy application?

45:55 – Panel: 7 times – good rule.

46:10 – Aimee: I am not trolling. Serious conversation I was having with them this year.

46:27 – Just like cars.

46:34 – Chuck chimes in with his rule of thumb.

46:244 – Panel and Chuck go back-and-forth with this topic.

47:14 – Dilbert cartoons – check it out.

47:55 – GREAT QUOTE about life lessons.

48:09 – Chuck: I wish I knew then what I know now.

Data binding. Flux and Redux. Lots of this came out of stuff around both data stores and shadow domes. How do you tease this out with the stuff that came out around the same time?

48:51 – Ethan answers question.

51:17 – Panel chimes in.

52:01 – Picks!

Links:

JavaScript jQuery React Elixir Elm Vue Automerge - GITHUB Functional – Light JavaScript Lego’s Massive Cloud City Star Wars Lego Shop The Traveler’s Gift – Book Jocks Rule, Nerds Drool by Jennifer Wright 2ality – JavaScript and more Cooper Press Book – Ethan Brown O’Reilly Community – Ethan Brown’s Bio Ethan Brown’s Twitter

Sponsors:

Kendo UI Sentry Digital Ocean Cache Fly  

Picks:

Aimee

Pettier

Joe

Lego - Star Wars Betrayal at Cloud City Functional-Light JavaScript

Charles

The Traveler’s Gift The Shack The Expanse

Ethan

Jocks Rule, Nerd Drool JavaScipt Blog by Dr. Axel Rauschmayer Cooper Press

MJS 078: Steve Edwards

Sep 26, 2018 39:09

Description:

Show notes coming shortly!

JSJ 332: “You Learned JavaScript, Now What?” with Chris Heilmann

Sep 25, 2018 1:13:57

Description:

Panel:

AJ O’Neal Aimee Knight Joe Eames Charles Max Wood

Special Guests: Chris Heilmann

In this episode, the panel talks with programmer, Chris Heilmann. He has written books about JavaScript, in addition to writing a blog about it and is an educator about this program.  He currently resides in Berlin, Germany. Let’s welcome our special guest and listen to today’s episode!

Show Topics:

2:19 – Chuck talks.

2:41 – Chris: He has talked about JavaScript in Berlin upon an invitation. You can get five different suggestions about how to use JavaScript. The best practices, I have found, are on the projects I am on now. JavaScript was built in ten days. My goal is to help people navigate through JavaScript and help them feel not disenfranchised. 

5:47 – Aimee: The overall theme is...

5:54 – Panelist: I really like what you said about helping people not feeling disenfranchised.

6:47 – Chris: There is a lot of peer pressure at peer conferences

7:30 – Aimee chimes in with some comments.

7:50: Chris: I think we need to hunt the person down that put...

8:03 – Panelist: A good point to that is, I try to avoid comments like, “Well, like we ALL know...”

8:27 – Chris: There are things NOT to say on stage. It happens, but we don’t want to say certain things while we are teaching people. We are building products with different groups, so keep that in mind.

9:40 – Aimee: My experience in doing this is that I have found it very rewarding to share embarrassing experiences that I’ve had. My advice would to tell people to let their guard down. It’s encouraging for me.

10:26 – Chris: It helps to show that you are vulnerable and show that you are still learning, too. We are all learning together. 90% of our job is communicating with others.

11:05 – Chuck: Now, I do want to ask this...

11:35 – Chris answers.

12:24 – What makes you say that? (Question to Chris)

12:25 – Chris answers.

13:55 – Chuck: The different systems out there are either widely distributed or...

You will have to work with other people. There is no way that people can make that on their own. If you can’t work with other people, then you are a hindrance.

14:31 – Aimee chimes in.

14:53 – Chris: They have to be very self-assured. I want to do things that are at the next level. Each developer has his or her own story. I want to move up the chain, so I want to make sure these developers are self-assured.

16:07 – Chris: Back to the article...

18:26 – Chuck: Yes, I agree. Why go and fight creating a whole system when it exists.

18:54 – Chris chimes in with some comments.

19:38 – Panelist: I still use console logs.

19:48 – Chris: We all do, but we have to...

19:55 – Aimee: In the past year, I can’t tell you how much I rely on this. Do I use Angular? Do I learn Vue? All those things that you can focus on – tools.

10:21 – Chris: We are talking about the ethics of interfaces. Good code is about accessibility, privacy and maintainability, among others. Everything else is sugar on top. We are building products for other people.

22:10 – Chuck: That is the interesting message in your post, and that you are saying: having a deep, solid knowledge of React (that is sort of a status thing...). It is other things that really do matter. It’s the impact we are having. It’s those things that will make the difference. Those things people will want to work with and solves their problems.

23:00 – Chris adds his comments. He talks about Flash.

24:05 – Chris: The librarian motto: “I don’t know everything, but I can look “here” to find the answer.” We don’t know everything.

24:31 – Aimee: Learn how to learn.

24:50 – Chris: There is a big gap in the market. Scratch is a cool tool and it’s these puzzle pieces you put together. It was hard for me to use that system. No, I don’t want to do that. But if you teach the kids these tools then that’s good. 

24:56 – Chuck: Here is the link, and all I had to do was write React components.

26:12 – Chris: My first laptop was 5x more heavy then this one is. Having access to the Internet is a blessing.

27:24 – Advertisement

28:21 – Chuck: Let’s bring this back around. If someone has gone through boot camp, you are recommending that they get use to know their editor, debugging, etc.

Chris: 28:47 – Chris: Yes, get involved within your community. GitHub. This is a community effort. You can help. Writing code from scratch is not that necessary anymore. Why rebuild something if it works. Why fix it if it’s not broken?

31:00 – Chuck talks about his experience.

31:13 – Chris continues his thoughts.

Chris: Start growing a community.

32:01 – Chuck: What ways can people get involved within their community?

32:13 – Chris: Meetup. There are a lot of opportunities out there. Just going online and seeing where the conferences

34:08 – Chris: It’s interesting when I coach people on public speaking. Sharing your knowledge and learning experience is great!

34:50 – Chuck: If they are learning how to code then...by interacting with people you can get closer to what you need/want.

35:30 – Chris continues this conversation.

35:49 – Chris: You can be the person that helps with x, y, z. Just by getting your name known then you can get a job offer.

36:23 – Chuck: How do you find out what is really good content – what’s worth your time vs. what’s not worth your time?

36:36 –Chris says, “That’s tricky!” Chris answers the question.

37:19: Chris: The best things out there right now is...

38:45 – Chuck: Anything else that people want to bring up?

39:00 – Chris continues to talk.

42:26 – Aimee adds in her thoughts.

Aimee: I would encourage people to...

43:00 – Chris continues the conversation.

Chris: Each project is different, when I build a web app is different then when I build a...

45:07 – Panelist: I agree. You talked about abstractions that don’t go away. You use abstractions in what you use. At some point, it’s safe to rly on this abstraction, but not this one. People may ask themselves: maybe CoffeeScript wasn’t the best thing for me.

46:11 – Chris comments and refers to jQuery.

48:58 – Chris continues the conversation.

Chris: I used to work on eight different projects and they worked on different interfaces. I learned about these different environments. This is the project we are now using, and this will like it for the end of time. This is where abstractions are the weird thing. What was the use of the abstraction if it doesn’t have longevity? I think we are building things too soon and too fast.

51:04 – Chris: When I work in browsers and come up with brand new stuff.

52:21 – Panelist: Your points are great, but there are some additional things we need to talk about. Let’s take jQuery as an example. There is a strong argument that if you misuse the browser...

53:45 – Chris: The main issue I have with jQuery is that people get an immediate satisfaction. What do we do besides this?

55:58 – Panelist asks Chris further questions.

56:25 – Chris answers.

Chris: There are highly frequent websites that aren’t being maintained and they aren’t maintainable anymore.

57:09 – Panelist: Prototypes were invented because...

57:51 – Chris: It’s a 20/20 thing.

58:04 – Panelist: Same thing can be said about the Y2K.

58:20 – Panelist: Yes, they had to solve that problem that day. The reality is...

58:44 – Chris: We learned from that whole experience.

1:00:51 – Chris: There was a lot of fluff around it.

1:01:35 – Panelist: Being able to see the future would be a very helpful thing.

1:01:43 – Chris continues the conversation.

1:02:44 – Chuck: How do people get ahold of you?

1:03:04 – Twitter is probably the best way.

1:03:32 – Let’s go to picks!

1:03:36 - Advertisement

Links:

JavaScript So you Learned Java Script, what now? – Article WebHint Article by James Sinclair Clank! Angular GitHub Meetup Chris Heilmann’s Twitter Chris Heilmann’s Website Chris Heilmann’s Medium Chris Heilmann’s LinkedIn Chris Heilmann Chris Heilmann’s GitHub Smashing Magazine – Chris Heilmann jQuery CoffeeScript React Elixir

Sponsors:

Kendo UI Sentry Digital Ocean Cache Fly  

Picks :

Amiee

Hacker News -  How to deal with dirty side effects in your pure functional JavaScript

AJ

KeyBase

Joe

Framework Summit Clank ASMR

Charles

Get a Coder Job Course The Iron Druid Chronicles Framework Summit

Chris

Web Unleashed Toronto Kurzgesagt It Is Just You, Everything’s Not Shit

MJS 077: Sérgio Crisóstomo

Sep 19, 2018 34:21

Description:

Panel: Charles Max Wood

Guest: Sérgio Crisóstomo

This week on My JavaScript Story, Charles speaks with Sérgio Crisóstomo. Charles is now interviewing podcast listeners, not just guest speakers. Check-out toady’s episode to hear Sérgio’s background as a musician and as a programmer. Also, to hear Sérgio’s latest projects and how he fell in-love with Sweden and ended up moving there!

In particular, we dive pretty deep on:

1:46 – Chuck: How did you get into programming?

1:53 – Sérgio: As a child, I got interested into gaming. I wrote coding. Spectrum.

2:22 – Chuck: I think that makes you about my age.

2:41 – Sérgio: I was born in 1978.

2:51 – Sérgio: I had a cousin who got inspired by me and we started doing things together. We would show each other what we were doing. Better games and better computers came around. Turned out that I came back to it later in life.

3:29 – Chuck: what got you interested?

3:30 – Sérgio: It was all about problem-solving. There was no book. It was trial and error. It was magic. I was doing small steps, and it was empowering to me.

4:29 – Chuck: I used Logo. How did you get into programming at the professional-level?

4:45 – Sérgio: It was a long journey. My family was deep into a musical background. I went to the conservatory. I had a background in math, music, and physics. I went into programming because my father pushed me towards that direction. I did my Master’s in violin. After that I moved to Sweden. I really liked Sweden’s educational system. After 20 years I got into program working. I faked it until I made it. I had no one who could help me day-to-day life. I love solving problems. I found myself helping people in Portugal and other countries, since their English wasn’t strong. I liked that I was helping the community. That made me feel good about c

10:15 – Chuck: You switch from PHP to Node? What was the reasoning to that?

11:30 – Chuck: What things have you built in JavaScript?

11:47 – Sérgio: I started doing some freelance work. In the beginning it was helping friends.

13:22 – Chuck: Football – do you mean soccer or football?

13:35 – Sérgio: One day in the school, we got a new principal that the school didn’t like. I left because I wasn’t happy. I was a fulltime musician, and looked at this fulltime-programming job. I went to an interview where there were code quizzes. I loved the challenges. I had to choose between two different careers. After some negotiations it was a great fit for me. I got to be in-charge of different projects. Right now, I am a senior developer. It’s a small company but it is growing.

15:48 – Advertisement  E-book!

16:31 – Chuck: It’s interesting to see how you weren’t happy with your original job and how you got into programming fulltime.

17:29 – Sérgio: It’s important to have a good perspective. I am used to meeting people because I worked with choirs, orchestras, dance, and people and I can use those tools that I learned with musicians and transfer over to programming. Since I was good in JavaScript that helped me. Also, it was good that I was head-in-chief, because of my background of being a teacher. I found similarities and made it happen. That was my way in.

19:36 – Chuck: I find that very interesting. Yes, in the larger markets they might have their pick, but if you look into the smaller markets they might need you.

20:21 – Sérgio: People will invest into you if you are willing to learn and stay for a while.

20:48 – Chuck: What is the community like over in Sweden?

21:12 – Chuck: Do you have a lot of communities/boot camps out there to help people to code out in Sweden?

21:32 – Sérgio: Yes. It’s a really active community, and I have been involved helping connect people. People are curious and wanting to grow. It’s really open.

22:39 – Chuck: How do you start a program like that?

22:53 – Sérgio: I went to MEETUP.COM. 

23:45 – Sérgio: I fell in-love with the concept of Sweden’s education system. I was there touring and decided I wanted to move to Sweden. It was worth staying. Sweden is having different political winds now. They are open to foreigners. I am a Swedish citizen now.

25:18 – Chuck: What are you working on now?

25:26 – Sérgio answers Chuck’s question.

26:45 – Chuck: Anything else?

26:54 – Sérgio: I can talk about music a lot! I find a lot of programmers are musicians, too.

27:23 – Chuck: One more question. I have met, too, a lot of programmers who are musicians, too. What is the correlation?

27:43 – Music has a lot of mathematics. You have to play on time and solve problems all the time. I was in a workshop with musicians and entrepreneurs, and I learned a lot in this workshop. There are different attitudes when conducting. There is problem solving and managing people. I see the connections there.

Links:

Meetup.com Sergio’s GitHub Sergio’s Website Sergio’s Website Sergio’s Twitter

Sponsors:

Code Badges Digital Ocean Cache Fly

Picks:

Charles

Views on Vue – DevChat Code Badge - Kick Starter

Sérgio

Chopin! Checkout Sweden if you want a job as a programmer! Email me!

JSJ 331: “An Overview of JavaScript Testing in 2018” with Vitali Zaidman

Sep 18, 2018 54:56

Description:

Panel:

AJ O’Neal Aimee Knight Joe Eames Charles Max Wood

Special Guests: Vitali Zaidman

In this episode, the panel talks with programmer, Vitali Zaidman, who is working with Software Solutions Company. He researches technologies and starts new projects all the time, and looks at these new technologies within the market. The panel talks about testing JavaScript in 2018 and Jest.

Show Topics:

1:32 – Chuck: Let’s talk about testing JavaScript in 2018.

1:53 – Vitali talks about solving problems in JavaScript.

2:46 – Chuck asks Vitali a question.

3:03 – Vitali’s answer.

3:30 – Why Jest? Why not Mocha or these other programs?

3:49 – Jest is the best interruption of what testing should look like and the best practice nowadays. There are different options, they can be better, but Jest has this great support from their community. There are great new features.

4:31 – Chuck to Joe: What are you using for testing nowadays?

4:43 – Joe: I use Angular, primarily.

6:01 – Like life, it’s sometimes easier to use things that make things very valuable.

7:55 – Aimee: I have heard great things about Cypress, but at work we are using another program.

8:22 – Vitali: Check out my article.

8:51 – Aimee: There are too many problems with the program that we use at work.

9:39 – Panelist to Vitali: I read your article, and I am a fan. Why do you pick Test Café over Cypress, and how familiar are you with Cypress? What about Selenium and other programs?

10:12 – Vitali: “Test Café and Cypress are competing head-to-head.”

Listen to Vitali’s suggestions and comments per the panelists’ question at this timestamp.

11:25 – Chuck: I see that you use sign-on...

12:29 – Aimee: Can you talk about Puppeteer? It seems promising.

12:45 – Vitali: Yes, Puppeteer is promising. It’s developed by Google and by Chrome. You don’t want to use all of your tests in Puppeteer, because it will be really hard to do in other browsers.

13:26: Panelist: “...5, 6, 7, years ago it was important of any kind of JavaScript testing you had no idea if it worked in one browser and it not necessarily works in another browser. That was 10 years ago. Is multiple browsers testing as important then as it is now?

14:51: Vitali answers the above question.

15:30 – Aimee: If it is more JavaScript heavy then it could possibly cause more problems.

15:56 – Panelist: I agree with this.

16:02 – Vitali continues this conversation with additional comments.

16:17 – Aimee: “I see that Safari is the new Internet Explorer.”

16:23: Chuck: “Yes, you have to know your audience. Are they using older browsers? What is the compatibility?”

17:01 – Vitali: There are issues with the security. Firefox has a feature of tracking protection; something like that.

17:33 – Question to Vitali by Panelist.

17:55 – Vitali answers the question.

18:30 – Panelist makes additional comments.

18:43 – If you use Safari, you reap what you sow.

18:49 – Chuck: I use Chrome on my iPhone. (Aimee does, too.) Sometimes I wind up in Safari by accident.

19:38 – Panelist makes comments.

19:52 – Vitali tells a funny story that relates to this topic.

20:45 – There are too many standards out there.

21:05 – Aimee makes comments.

21:08 – Brutalist Web Design. Some guy has this site – Brutalist Web Design – where he says use basic stuff and stop being so custom. Stop using the web as some crazy platform, and if your site is a website that can be scrolled through, that’s great. It needs to be just enough for people to see your content.

22:16 – Aimee makes additional comments about this topic of Brutalist Web Design.

22:35 – Panelist: I like it when people go out and say things like that.

22:45 – Here is the point, though. There is a difference between a website and a web application. Really the purpose is to read an article.

23:37 – Vitali chimes in.

24:01 – Back to the topic of content on websites.

25:17 – Panelist: Medium is very minimal. Medium doesn’t feel like an application.

26:10 – Is the website easy enough for the user to scroll through and get the content like they want to?

26:19 – Advertisement.

27:22 – See how far off the topic we got?

27:31 – These are my favorite conversations to have.

27:39 – Vitali: Let’s talk about how my article got so popular. It’s an interesting thing, I started researching “testing” for my company. We wanted to implement one of the testing tools. Instead of creating a presentation, I would write first about it in Medium to get feedback from the community as well. It was a great decision, because I got a lot of comments back. I enjoyed the experience, too. Just write about your problem in Medium to see what people say.

28:48 – Panelist: You put a ton of time and energy in this article. There are tons of links. Did you really go through all of those articles?

29:10 – Yes, what are the most permanent tools? I was just reading through a lot of comments and feedback from people. I tested the tools myself, too!

29:37 – Panelist: You broke down the article, and it’s a 22-minute read.

30:09 – Vitali: I wrote the article for my company, and they ad to read it.

30:24 – Panelist: Spending so much time – you probably felt like it was apart of your job.

30:39 – Vitali: I really like creating and writing. It was rally amazing for me and a great experience. I feel like I am talented in this area because I write well and fast. I wanted to express myself.

31:17 – Did you edit and review?

31:23 – Vitali: I wrote it by myself and some friends read it. There were serious mistakes, and that’s okay I am not afraid of mistakes. This way you get feedback.

32:10 – Chuck: “Some people see testing in JavaScript, and people look at this and say there are so much here. Is there a place where people can start, so that way they don’t’ get too overwhelmed? Is there a way to ease into this and take a bite-size at a time?”

32:52 – Vitali: “Find something that works for them. Read the article and start writing code.”

He continues this conversation from here on out.

34:03 – Chuck continues to ask questions and add other comments.

34:16 – Vitali chimes-in. 

34:38 – Chuck. 

34:46 – Vitali piggybacks off of Chuck’s comments.

36:14 – Panelist: Let’s go back to Jest. There is a very common occurrence where we see lots of turn and we see ideas like this has become the dominant or the standard, a lot of people talk about stuff within this community. Then we get this idea that ‘this is the only thing that is happening.’ Transition to jQuery to React to... With that context do you feel like Jest will be a dominant program? Are we going to see Jest used just as common as Mocha and other popular programs?

38:15 – Vitali comments on the panelist’s question.

38:50 – Panelist: New features. Are the features in Jest (over Jasmine, Mocha, etc.) so important that it will drive people to it by itself?

40:30 – Vitali comments on this great question.

40:58 – Panelist asks questions about features about Jest.

41:29 – Vitali talks about this topic.

42:14 – Let’s go to picks!

42:14 – Advertisement.

Links:

Vitali Zaidman’s Facebook Vitali Zaidman’s Medium Vitali Zaidman’s GitHub Vitali Zaidman’s NPM Vitali Zaidman’s LinkedIn Vitali Zaidman’s Medium Article JavaScript Brutalist Web Design Jasmine Cypress React jQuery Jest Protractor – end to end testing for Angular Test Café Intern Sinon XKCD

Sponsors:

Kendo UI Sentry Digital Ocean Cache Fly

Picks:

AJ O’Neal

Continuous from last week’s episode: Crossing the Chasm – New Technologies from Niche to General Adaptation. Go Lang

Joe Eames

Board Game: Rajas of the Ganges Framework Summit Conference in Utah React Conference

Aimee Knight

Hacker News – “Does Software Understand Complexity” via Michael Feathers Cream City Code

Chuck

E-Book: How do I get a job? Express VPN

Vitali

Book: The Square and The Tower: Networks and Power, from the Freemasons to Facebook by Niall Ferguson My article!

JSJ 330: “AWS: Amplify” with Nader Dabit

Sep 11, 2018 1:04:11

Description:

Panel:

AJ O’Neal Aimee Knight Joe Eames

Special Guests: Nader Dabit

In this episode, the panel talks with programmer, Nader Dabit, who has been with Amazon’s AWS for the past six months. They discuss the new innovations that Amazon is currently working on, and the exciting new projects that Nader gets to be involved with. Check out this episode to hear all the latest!

Show Topics:

1:45 – There are two main things that Nader works with. Check out this timestamp to see what they are.

3:29 – AJ to Nader: Tell me more about manage cloud. I am not sure about Cognito.

3:56 – Yes, Cognito is used by/through Amazon.

5:06 – What are the other manage cloud services that companies want to offer through the tools you have?

5:12 – Nader answers AJ’s question.

7:30 – Can you give me more specifics on the storage solutions you are offering?

8:03 – Nader answers AJ’s question. People store websites there for example. Frontend developers are using S3 buckets, and they are using the library, which is a storage solution.

9:10 – AJ and Nader are having a dialogue between different situations, and Nader is giving the solutions to those hypothetical situations.

10:17 – AJ: “I am interested in what you are talking about AppSync. Can you tell me how that works?” AJ is picking Nader’s brain about how AppSync works.

11:05 – Nader: “It is a single API layer for a point of entry. You can have multi-data sources.” Nader continues, in detail, answering AJ’s question.

12:36 – AJ: As a frontend developer, it sounds like I will have to become familiar with the backend, too. How is it providing the most value? What is it that I do not have to touch, because I am using this?

15:37 – How would these relations work? As a frontend developer, and I do not want to learn sequel, how would that might look like; currently or in the future? How do you extract that knowledge?

16:18 – Yes, it is not an easy solution to solve. Nader goes into detail about how he would approach this situation.

18:26 – AJ: Are these resolvers written in JavaScript?

22:04 – Acronym fun!

22:45 – Node

23:51 – Summarizing these pasts 20-some-minutes: Off-Storage, AppSync, Landis, and others are what people are using Amplify for. New Question/New Topic: Simplify.

25:45 – AWS MOBILE – is not mobile specific.

26:44 – If you are using Angular, we have a plugin in Angular to help you. We also have that for React and Vue as well.

27:52 – Advertisement

28:56 – What should we be talking about?

29:04 – Let’s talk about Amazon’s Lex, Chat Bot. Nader goes into full detail of this service.

33:52 – Apple T.V.

34:00 – AJ: Sounds like this is more platform/ more agnostic than getting different things to come together, and the Microsoft one is more hybrid and the Amazon one is more open?

35:13 – Joe, let’s go back to what you had to ask.

35:28 – Nader, you talked about PUSH notifications earlier. What is Pub/Sub?

36:30 – Is this like traditional hooks? Or custom?

37:25 – What is the “stuff” that gets you up in the morning and gets you excited to go to work at AWS?

38:40 – Nader: I really had no desire to change career paths, but it happened.

41:30 – AJ: I totally agree with the idea in that finding the common patterns, so that way someone on the lower-level can participate. AJ wants a platform that is open or purchase that can offer some of these benefits. It could be open-source or you used to buy the different tools.

43:27 AJ: What about for the hobbyist?

43:40 – Nader: I agree, that would be really nice. I can’t think of any free services that would be nice.

44:03 AJ – Not free in “free,” but “free” towards the idea of “free speech.” They would all be available and you get to choose what works well for you.

45:00 – SHOUTOUT to LISTENERS: Have an idea about this? Shoot the panel an e-mail!

45:33 – Hopefully this opens the listeners’ eyes to what’s out there.

45:48 – Cloud services.

46:55 – Innovation follows niche markets. When something gets big and established, innovation comes to a plateau. The innovation will develop in a new economic area like hydraulics. AJ thinks a niche will develop.

49:03 – Is there anything, Dabit, which you would like to talk about?

49:15 – Can we talk about AI as a service?

51:10 – Nader saw a demonstration recently.

52:26 – Hearing these implications is so cool, but when it comes to ML a panelist dabbled a little bit. He watched some videos, unless you want to devote a year or two to learning it then it’s too complex to put together. Do you have to be genius-level to get through?

53:29 – ML you are passing data. Nader is not quite sure.

56:00 Nader just did a blog post  check-it-out!

56:49 – Let’s do Picks!

56:50 – Advertisement

Links:

Nader Dabit’s Twitter Nader Dabit’s Medium Nader Dabit’s LinkedIn Nader Dabit’s GitHub Nader Dabit’s Website Nader Dabit’s YouTube channel Nader Dabit’s Egg Head JavaScript Amazon’s Cognito AWS AppSyncNode Landis AWS Mobile Vue Angular Amazon’s Lex – Chat Bot Apple T.V. Push Notifications Pub/Sub AWS’ Artificial Intelligence (AI)

Sponsors:

Kendo UI Sentry Digital Ocean

Picks:

AJ O’Neal

Blog / Thoughty 2’s Video: Pop Music The Innovator’s Solution / Book The Innovator’s Dilemma / Book

Joe Eames

Framework Summit - Tickets are still available! Movie: Equalizer 2

Nader Dabit

Finland – Graph Talks Conference, October AWS – San Francisco - LOFT

JSJ 329: Promises, Promise.finally(), and Async/await with Valeri Karpov

Sep 4, 2018 1:08:31

Description:

Panel:

Charles Max Wood AJ O’Neal Aimee Knight

Special Guests: Valeri Karpov 

In this episode, the panel talks with programmer, Valerie Karpov from Miami, Florida. He is quite knowledgeable with many different programs, but today’s episode they talk specifically about Async/Await and Promise Generators. Val is constantly busy through his different endeavors and recently finished his e-book, “Mastering Async/Await.” Check-out Val’s social media profiles through LinkedIn, GitHub, Twitter, and more.

Show Topics:

1:20 – Val has been on previous episodes back in 2013 & 2016.

1:37 – Val’s background. He is very involved with multiple companies. Go checkout his new book!

2:39 – Promises generators. Understand Promises and how things sync with Promises. Val suggests that listeners have an integrated understanding of issues like error handling.

3:57 – Chuck asks a question.

6:25 – Aimee’s asks a question: “Can you speak to why someone would want to use Async/Await?”

8:53 – AJ makes comments.

10:09 – “What makes an Async/Await not functional?” – Val

10:59 – “What’s wrong with Promises or Async/Await that people don’t like it?” - AJ

11:25 – Val states that he doesn’t think there really is anything wrong with these programs it just depends on what you need it for. He thinks that having both gives the user great power.

12:21 – AJ’s background is with Node and the Python among other programs.

12:55 – Implementing Complex Business Logic.

15:50 – Val discusses his new e-book.

17:08 – Question from Aimee.

17:16 – AJ answers question. Promises should have been primitive when it was designed or somewhat event handling.

17:46 – The panel agrees that anything is better than Call Backs.

18:18 – Aimee makes comments about Async/Await.

20:08 – “What are the core principles of your new e-book?” – Chuck

20:17 – There are 4 chapters and Val discusses, in detail, what’s in each chapter.

22:40 – There could be some confusion from JavaScript for someone where this is their first language. Does Async/Await have any affect on the way you program or does anything make it less or more confusing in the background changes?

24:30 – Val answers the before-mentioned question. Async/Await does not have anyway to help with this (data changes in the background).

25:36 – “My procedural code, I know that things won’t change on me because it is procedural code. Is it hard to adjust to that?” – AJ

26:01 – Val answers the question.

26:32 – Building a webserver with Python

27:31 – Aimee asks a question: “Do you think that there are cases in code base, where I would want to use Promises? Not from a user’s perspective, but what our preferences are, but actual performance. Is there a reason why I would want to use both or be consistent across the board?”

28:17 – Val asks for some clarification to Aimee’s question.

29:14 – Aimee: “My own personal preference is consistency. Would I want to use Promises in ‘x’ scenario and/or use Async/Await in another situation?”

32:28 – Val and AJ are discussing and problem solving different situations that these programs

33:05 – “When would you not want to use Async/Await?” – AJ

33:25 – Val goes through the different situations when he would not use Async/Await. 

33:44 – Chuck is curious about other features of Async/Await and asks Val.

36:40 – Facebook’s Regenerator

37:11 – AJ: “Back in the day, people would be really concerned with JavaScript’s performance even with Chrome.” He continues his thoughts on this topic.

38:11 – Val answers the AJ’s question.

39:10 – Duck JS probably won’t include generators.

41:18 – Val: “Have anyone used Engine Script before?” The rest of the panel had never heard of this before.

42:09 – Windows Scripting Host

42:56 – Val used Rhino in the past.

43:40 – Val: “Going back to the web performance question...”

47:08 – “Where do you see using Async/Await the most?” – Chuck

47:55 – Val uses Async/Await for everything on the backend because it has made everything so easy for him.

48:23 – “So this is why you really haven’t used Web Pack?” – AJ

49:20 – Let’s go to Aimee’s Picks!

50:18 – AJ’s story, first, before we get to Promises.

54:44 – Let’s transition to Promises Finally.

54:53 – Val talks about Promises Finally.

59:20 – Picks

Links:

JavaScript Valeri Karpov’s GitHub Valeri Karpov’s Twitter Valeri Karpov’s LinkedIn New E-Book: Mastering Async/Await Node Python Windows Scripting Host Facebook’s Regenerator Rhino

Sponsors:

Kendo UI Sentry Digital Ocean  

Picks:

Charles

YouTube Video “IKEA” by Coulton Conference Amazon Prime Day

Aimee

Blog Post Article

AJ

IKEA https://ppl.family

Val

https://www.npmjs.com/package/serve http://bit.ly/ultimate-skiing http://asyncawait.net/jsjabber New E-Book: Mastering Async/Await

MJS 076: Kevin Griffin

Aug 29, 2018 37:47

Description:

Panel: Charles Max Wood

Guest: Kevin Griffin

This week on My JavaScript Story, Charles speaks with Kevin Griffin. Kevin is one of the hosts of the 2 Frugal Dudes Podcast which helps programmers learn how to be smarter with handling their money. He first got into programming really young when his Dad brought home a computer and he was curious about it so he read books and taught himself basic programming that way. They talk about his first job out of college and how that has impacted him now, the fact that you have to create your own job security, and what kind of frameworks he uses. They also touch on the importance of exposing yourself to new technologies and being open-minded, what he is working on currently, and more!

In particular, we dive pretty deep on:

JavaScript Jabber Episode 273 Helping programmers handle their money 2 Frugal Dudes Podcast Runs financial peace university at his church Mindset is everything How did you first get into programming? Got started really young when his Dad brought home a computer DOS for Dummies Taught himself very basic coding Really into text adventures as a child – wrote some of his own Taught Logo in Middle school Computer Science degree in college Got into software developer community because he was laid off from first job You have to build your own job security Do you do JavaScript full-time? Doesn’t like to pigeon hole himself into one language C++ and C# Didn’t want to support JavaScript originally Using jQuery, Knockout, Ember, and Backbone Working with Vue and React now The same problems persist now, just with different frameworks Looking at the project and then deciding which tool to use And much, much more!

Links:

JavaScript Jabber Episode 273 2 Frugal Dudes Podcast DOS for Dummies jQuery JavaScript Knockout Ember Backbone Vue React @2frugaldudes @1kevgriff kevgriffin.com Kevin’s Twitch Swift Kick

Sponsors:

Code Badges Digital Ocean

Picks

Charles

The Expanse

Kevin

TwitchHis twitch

JSJ 328: Functional Programming with Ramda with Christine Legge

Aug 28, 2018 55:21

Description:

Panel: 

Joe Eames Aimee Knight AJ O'Neal Joe Eames

Special Guests: Christine Legge

In this episode, the JavaScript Jabber panel talks to Christine Legge about functional programming with Ramda. Christine is a front-end software engineer and just recently got a new job in New York working at Google. Ramda is a utility library in JavaScript that focuses on making it easier to write JavaScript code in a functional way. They talk about functional programming and what it is, using Ramda in Redux, and referential transparency. They also touch on why she first got into Ramda, compare Ramda to Lodash and Underscore, and more!

In particular, we dive pretty deep on:

Chirstine intro  Works as a front-end software engineer What is RamdaJavaScript Utility library like Lodash and Underscore Lodash and Underscore VS Ramda Functional programming Ramda and Functional programming as a mindset Ramda at ZenHub Ramda with Redux and React What is referential transparency? Why would you use Ramda VS Lodash or Underscore? Why she first got into Ramda Didn’t always want to be a programmer Background in Math Learning functional programming as a new programmer Erlang DrRacket and Java Ramda makes it easy to compose functions Creating clean and reusable code How do you start using Ramda? And much, much more! 

Links:

Ramda Lodash Underscore ZenHub Redux React Erlang DrRacket @leggechr Chirstine’s GitHub

Sponsors

Kendo UI Sentry Digital Ocean

Picks:

Charles

Home Depot Tool Rental Podcast Movement CES VRBO

Aimee

Apple Cider Vinegar Jeremy Fairbank Talk – Practical Functional Programming

AJ

Goat’s Milk

Joe

Topgolf Framework Summit

Christine

Dan Mangan Reply All Podcast

MJS 075: Jeff Escalante

Aug 22, 2018 48:41

Description:

Show notes coming shortly!

JSJ 327: "Greenlock and LetsEncrypt" with AJ O'Neal

Aug 21, 2018 55:08

Description:

Show notes coming shortly!

JSJ 327: "Greenlock and LetsEncrypt" with AJ O'Neal

Aug 21, 2018 55:08

Description:

Panel:

Charles Max Wood Joe Eames

Special Guests: AJ O'Neal

In this episode, the JavaScript Jabber panel talks to AJ O'Neal about Greenlock and LetsEncrypt. LetsEncrypt is a brand name and is the first of its kind in automated SSL and Greenlock does what Certbot does in a more simplified form. They talk about what led him to create Greenlock, compare Greenlock to Certbot, and what it’s like to use Greenlock. They also touch on Greenlock-express, how they make Greenlock better, and more!

In particular, we dive pretty deep on:

Greenlock and LetsEncrypt overview LetsEncrypt is free to get your certificate Why Charles uses LetsEncrypt Wildcard domains Certbot Why he originally created Greenlock Working towards home servers Wanted to get HTTP on small devices Manages a certificate directory Greenlock VS Certbot Greenlock can work stand alone The best use case for Greenlock Excited about how people are using his tool What is it like to use Greenlock? Working on a desktop client Greenlock-express Acme servers CAA record Making Greenlock better by knowing how people are using it Using Greenlock-express Let's Encrypt v2 Step by Step by AJ And much, much more!

Links:

LetsEncrypt Greenlock Certbot Greenlock-express Acme servers Let's Encrypt v2 Step by Step by AJ @coolaj86 coolaj86.com AJ’s Git Greenlock.js Screencast Series Greenlock.js Patreon

Sponsors

Kendo UI Sentry Digital Ocean

Picks:

Charles

Take some time off

AJ

OverClocked Records

MJS 074: Scott Wyatt

Aug 15, 2018 30:16

Description:

Panel: Charles Max Wood

 

Guest: Scott Wyatt

 

This week on My JavaScript Story, Charles speaks with Scott Wyatt. Scott is a VC partner and is the CTO at Cali Style Technologies, works with startups, and was the CTO of the Dollar Beard Club. He first got into programming because his dad was a computer programmer and he really got hooked from a young age writing games and playing on the computer. They talk about the benefit of not living in the hustle and bustle of California and the Silicon Valley, how he got into JavaScript, what was it about JavaScript that hooked him, and more!

 

In particular, we dive pretty deep on:

JavaScript Jabber Episode 282 Scott intro Works remotely from Indiana The pros to not living in Silicon Valley How did you first get into programming? Father was a computer programmer Strong arts background Started coding really young How did you get into JavaScript? Started out with ActionScript JavaScript to jQuery The cool part of having a diverse background as a programmer What was it that got you into JavaScript? Back-end JavaScript Node.js JavaScript is very versatile How did you get into doing something like Trails.js? Sails.js Fabrix and TypeScript  What have you done in JS that you are most proud of? Partitioned apps Contributing to freedom of information What are you working on now? And much, much more!

 

Links: 

JavaScript Jabber Episode 282 Cali Style Technologies Dollar Beard Club JavaScript jQuery Node.js Trails.js Sails.js Fabrix TypeScript @ScottBWyatt Scott’s GitHub

 

Sponsors: 

Loot Crate FreshBooks

 

Picks

Charles 

Get a Coder Job Course Golf Clash Golfing Planning in sanity time Suggest a Topic Chuck@DevChat.tv 

 

Scott

Gun.js Bitcoin

JSJ 326: Conversation with Ember co-creator Tom Dale on Ember 3.0 and the future of Ember

Aug 14, 2018 57:18

Description:

Panel:

Joe Eames Aimee Knight AJ ONeal

Special Guests: Tom Dale

In this episode, the JavaScript Jabber panel talks to Tom Dale about Ember 3.0 and the future of Ember. Tom is the co-creator of Ember and is a principle staff engineer at LinkedIn where he works on a team called Presentation Infrastructure. They talk about being in the customer service role, having a collaborative culture, and all the information on Ember 3.0. They also touch on the tendency towards disposable software, the Ember model, and more!

In particular, we dive pretty deep on:

How Joe met Tom Programmers as rule breakers The pressure to conform Tom intro Staff engineer at LinkedIn Customer service role Having a way to role improvements out to a lot of different people JavaScript and Ember at LinkedIn Having a collaborative culture All about Ember 3.0 Banner feature – there is nothing new Cracked how you develop software in the open source world that has longevity Major competition in Backbone previously The Ember community has never been more vibrant Tendency towards disposable software The idea of steady iteration towards improvement The Ember model Being different from different frameworks Ember adoption rates Python 3 Valuable from a business perspective to use Ember Ember community being friendly to newbies How much Ember VS how much JavaScript will a new developer have to learn? And much, much more!

Links:

Ember LinkedIn JavaScript Backbone Python @tomdale tomdale.net Tom’s GitHub

Sponsors

Kendo UI Sentry Digital Ocean

Picks:

Joe

Framework Summit Jayne React sent Evan You a cake

Aimee

Maker's Schedule, Manager's Schedule by Paul Graham

AJ

James Veitch

Tom

JavaScript Tech Talk Drake’s Ties Melissa Watson Ellis at Hall Madden

MJS 073: Tara Z. Manicsic

Aug 8, 2018 37:21

Description:

Panel: Charles Max Wood

Guest: Tara Z. Manicsic

This week on My JavaScript Story, Charles speaks with Tara Z. Manicsic. Tara is a developer advocate for Progress, is on their Kendo UI team, and is also a Google developer expert on the Web Technologies team. She first got into programming in the second grade when she learned Logo and came back to development when she was asked to do Crystal Reports at Harvard Law School. They talk about how she found Women Who Code, the importance of understanding open source software, having a support system, what is was about Node that got her excited, and more!

In particular, we dive pretty deep on:

Tara intro Very excited and fascinated with the web Helped to start up React Round Up as a panelist Her experience as a developer Started out as a business school dropout How did you first get into programming? Learned Logo in the second grade Loved the ability to help people and create change Crystal Reports at Harvard Law CS courses with tuition assistance Getting back into CS Being a non-traditional student Finding Women Who Code First job as a Node software engineer How did Women Who Code help you? OpenHatch Being familiar with open source software The importance of having support How did you first get into JavaScript? Seeing jobs for Ruby on Rails Matt Hernandez on JavaScript Jabber NG conf Her intro to the Angular community in person And much, much more!

Links:

Progress React Round Up Crystal Reports Women Who Code Node OpenHatch JavaScript Ruby on Rails Matt Hernandez on JavaScript Jabber NG conf Angular @Tzmanics tzmanics.com Tara’s GitHub

Sponsors:

Loot Crate FreshBooks

Picks

Charles

Get a Coder Job Course Golf Clash

Tara

Connect.Tech DevFest Atlanta Cedar Point

JSJ 325: Practical functional programming in JavaScript and languages like Elm with Jeremy Fairbank

Aug 7, 2018 53:47

Description:

Panel:

Aimee Knight Joe Eames AJ ONeal

Special Guests: Jeremy Fairbank

In this episode, the JavaScript Jabber panel talks to Jeremy Fairbank about his talk Practical Functional Programming. Jeremy is a remote software developer and consultant for Test Double. They talk about what Test Double is and what they do there and the 6 things he touched on in his talk, such as hard to follow code, function composition, and mutable vs immutable data. They also touch on the theory of unit testing, if functional programming is the solution, and more!

In particular, we dive pretty deep on:

Jeremy intro Works for Test Double What he means by “remote” What is Test Double? They believe software is broken and they are there to fix it His talk - Practical Functional Programming The 6 things he talked about in his talk Practical aspects that any software engineer is going to deal with Purity and the side effects of programming in general Hard to follow code Imperative VS declarative code Code breaking unexpectedly Mutable data VS immutable data The idea of too much code Combining multiple functions together to make more complex functions Function composition Elm, Elixir, and F# Pipe operator Scary to refactor code Static types The idea of null The theory of unit testing Is functional programming the solution? His approach from the talk And much, much more!

Links:

Test Double His talk - Practical Functional Programming Elm Elixir F# @elpapapollo jeremyfairbank.com Jeremy’s GitHub Jeremy’s YouTube

Sponsors

Kendo UI Sentry Digital Ocean

Picks:

Aimee

American Dollar Force with lease

AJ

Superfight

Joe

The 2018 Web Developer Roadmap by Brandon Morelli Svelte

Jeremy

Programming Elm The Secrets of Consulting by Gerald M. Weinberg Connect.Tech

MJS 072: Orta Therox

Aug 1, 2018 38:58

Description:

Panel: Charles Max Wood

Guest: Orta Therox

This week on My JavaScript Story, Charles speaks with Orta Therox. Orta is a native engineer that believes that the right way to build systems is to understand as many systems as possible. He works predominately on iOS programming at a company called Artsy, where they make it easy to buy and sell art on the internet. He first got into programming because he loved playing video games as a child, loved creating his own video games, and worked his way up from there. They talk about his work at Artsy, how he used open source to learn himself how program, how he got into Ruby and then React and React Native, and more!

In particular, we dive pretty deep on:

JavaScript Jabber Episode 305 Orta intro Artsy iOS programming Hates lack of documentation CocoaPods Trouble with building native apps His move to React and React Native Used to run iOS team at Artsy How did you get into programming? Played video games as a kid Taught himself with books Using open source to learn Open source by default idea Loves giving back through blogging and open source How did you get into Ruby? MacRuby Boundaries are very obvious in React Native How did you get into React and React Native? Native developers building stuff in JavaScript Culture conflicts How they dealt with dependencies in their apps And much, much more!

Links:

JavaScript Jabber Episode 305 Artsy CocoaPods React React Native MacRuby JavaScript @orta orta.io Orta’s GitHub Artsy Engineering

Sponsors:

Loot Crate FreshBooks

Picks

Charles

South Pacific Get a Coder Job course Framework Summit

Orta

Prettier

JSJ 324: with Kent Beck

Jul 31, 2018 1:06:32

Description:

Panel:

Charles Max Wood Joe Eames Aimee Knight

Special Guests: Kent Beck

In this episode, the JavaScript Jabber panel talks to Kent Beck. Kent left Facebook 4 months ago after working for them for 7 years and is now self-unemployed so that he can decompress from the stressful environment that he was a part of for so long. He now travels, writes, creates art, thinks up crazy programming ideas, and is taking a breather.  They talk about what he did at Facebook, what his coaching engagement sessions consisted of, and the importance of taking time for yourself sometimes. They also touch on what he has learned from his experience coaching, how to create a healthy environment within the workplace, and more!

In particular, we dive pretty deep on:

Kent intro/update Ruby Rogues Episode 23 Worked at Facebook for 7 years What were you doing at Facebook? Unique culture at Facebook His strengths as a developer didn’t match with the organization’s Coaching developers TDD and Patterns Advantages as an old engineer What did coaching engagement consist of? Takes time to build trust Discharging shame Need permission to take care of what you need to Being at your best so you can do your best work Vacation in place What have you learned in your time working with people? The nice thing about coaching Everyone is different How do we create a healthy environment within the workplace? Mentor in Ward Cunningham What is it costing us? Why did you decide to leave? And much, much more!

Links:

Ruby Rogues Episode 23 @KentBeck kentbeck.com Kent’s GitHub

Sponsors

Kendo UI Sentry Digital Ocean

Picks:

Charles

The Five Dysfunctions of a Team by Patrick Lencioni Crucial Accountability by Kerry Patterson

Aimee

n-back

Joe

Test Driven Development: By Example by Kent Beck

Kent

The Field Guide to Understanding 'Human Error' by Sidney Dekker Conspiracy: Peter Thiel, Hulk Hogan, Gawker, and the Anatomy of Intrigue by Ryan Holiday

JSJ 323: "Building a JavaScript platform that gives you the power to build your own CDN" with Kurt Mackey

Jul 26, 2018 1:03:05

Description:

Panel:

Charles Max Wood AJ ONeal

Special Guests: Kurt Mackey

In this episode, the JavaScript Jabber panel talks to Kurt Mackey about Fly.io. At Fly.io, they are "building a JavaScript platform that gives you the power to build your own CDN." They talk about how Fly.io came to fruition, how CDN caching works, and what happens when you deploy a Fly app. They also touch on resizing images with Fly, how you actually build JavaScript platforms using Fly, and more!

In particular, we dive pretty deep on:

Fly.io Building a programmable CDN High level overview of Fly.io How did this project come together? CDNs didn’t work with dynamic applications Has been working on this since 2008 Extend application logic to the “edge” Putting burden of JavaScript “nastiest” onto the web server Fly is the proxy layer Getting things closer to visitors and users CDN caching Cache APIs Writing logic to improve your lighthouse score Have you built in resizing images into Fly? Managing assets closer to the user Can you modify your own JavaScript files? What happens when you deploy a Fly app Having more application logic DOM within the proxy Ghost React and Gatsby Intelligently loading client JavaScript How do you build the JavaScript platform? And much, much more!

Links:

Fly.io JavaScript Ghost Gatsby React @flydotio @mrkurt Kurt at ARS Technica Kurt’s GitHub

Sponsors

Kendo UI Sentry Digital Ocean

Picks:

Charles

GitLab

AJ

Gitea Black Panther

Kurt

Packet.net The Three-Body Problem by Cixin Liu

MJS 071: Kye Hohenberger

Jul 25, 2018 19:18

Description:

Panel: Charles Max Wood

Guest: Kye Hohenberger

This week on My JavaScript Story, Charles speaks with Kye Hohenberger. Kye is a senior front-end engineer at Gremlin, where they do chaos as a service and break your stuff on purpose so that you can fix it and it hopefully won’t happen again. He also created the Emotion library, which is a CSS-in-JS library. He first got into programming because his Grandpa was always working on computers and Kye was curious about how they worked. They talk about how he got into JavaScript, what he's built in JavaScript that he’s proud of, what he’s working on now, and more!

In particular, we dive pretty deep on:

JavaScript Jabber Episode 286 Kye intro Works at Gremlin as a front-end engineer How did you first get into programming? Always had a burning curiosity for computers Worked on HTML first Worked with flash in High School Tried to major in Computer Science and dropped out of it Job in IT Wordpress maintenance Hooked on wanting to learn more Python with Django What was it that caught your attention? How did you get into JavaScript? Job at cPanel What led you to build something like Emotion? Didn’t like having to use the Sass compiler What problem were you trying to solve? Have you worked on anything else in JavaScript that you’re proud of? What are you working on now? APIs from Java to Node Wrote Qordoba apps for 2 years What made you switch from Angular to React? Learning WebPack And much, much more!

Links:

JavaScript Jabber Episode 286 Emotion Wordpress Python Django JavaScript cPanel Sass Node Angular React WebPack @tkh44 Kye’s GitHub Kye’s Medium

Sponsors:

Loot Crate FreshBooks

Picks

Charles

Home Depot Tool Rentals Framework Summit Podcast Movement

Kye

The Console Log Brian Holt on Frontend Masters Emotion Team

MJS 070: Jerome Hardaway

Jul 18, 2018 39:40

Description:

Show notes coming shortly!

JSJ 322: Building SharePoint Extensions with JavaScript with Vesa Juvonen LIVE at Microsoft Build

Jul 17, 2018 30:56

Description:

Panel:

Charles Max Wood

Special Guests: Vesa Juvonen

In this episode, the JavaScript Jabber panel talks to Vesa Juvonen about building SharePoint extensions with JavaScript. Vesa is on the SharePoint development team and is responsible for the SharePoint Framework, which is the modern way of implementing SharePoint customizations with JavaScript. They talk about what SharePoint is, why they chose to use JavaScript with it, and how he maintains isolation. They also touch on the best way to get started with SharePoint, give some great resources to help you use it, and more!

In particular, we dive pretty deep on:

Vesa intro What is SharePoint? Has existed since 2009 People either know about it and use it or don’t know what it is Baggage from a customization perspective Why JavaScript developers? Modernizing development SharePoint Framework Microsoft Ignite Conference Is there a market for it? System integrators Angular Element and React React for SharePoint Framework back-end Supports Vue React Round Up Podcast How do you maintain isolation? What’s the best way to get started with SharePoint extensions? Office 365 Developer Program SharePoint documentation SharePoint YouTube What kinds of extensions are you seeing people build? And much, much more!

Links:

SharePoint JavaScript SharePoint Framework Microsoft Ignite Conference Angular Element React Vue React Round Up Podcast Office 365 Developer Program SharePoint documentation SharePoint YouTube @OfficeDev @vesajuvonen Vesa’s blog Vesa’s GitHub @SharePoint

Sponsors

Kendo UI Sentry Digital Ocean

Picks:

Charles

Zig Ziglar Conversations with My Dog by Zig Ziglar Pimsleur Lessons on Audible

Vesa

Armada by Ernest Cline

MJS 069: Lizzie Siegle

Jul 11, 2018 16:28

Description:

Panel: Charles Max Wood

Guest: Lizzie Siegle

This week on My JavaScript Story, Charles speaks with Lizzie Siegle. Lizzie is a senior computer science major at Bryn Mawr College, works for Twilio as a contracting developer evangelist, and also contributes to their documentation. She first got into programming when her AP calculus teacher told some of her classmates to attend a one day all girls coding camp at Stanford and she overheard and was interested by it. She was inspired at this camp to pursue a career in coding because she loved that you can build anything with code and be creative. They talk about what got her hooked on coding, why she chose JavaScript, why she chose to work as a developer evangelist, and more!

In particular, we dive pretty deep on:

Lizzie intro Computer Science Major Works at Twilio Greg Baugues was her assigned mentor this past summer How did you first get into programming? Grew up in Silicon Valley Hated STEM growing up Was inspired at a one day all girls coding camp at Stanford Loves being able to be creative with code What was the coding camp like? Camp was for high-schoolers HTML and CSS What was it that got you interested in code? Seeing the application of code in the real world Why JavaScript? Works also in Python, Swift, and Haskell Loves how versatile JS is Why developer evangelism? Internship at PubNub Loves being able to teach others as an evangelist What have you done in JavaScript that you’re proud of? Eon.js What are you working on currently? Get comfortable with being uncomfortable And much, much more!

Links:

Twilio JavaScript Python Swift PubNub Haskell Eon.js @lizziepika Her newsletter Lizzie’s Website Lizzie’s GitHub

Sponsors:

Loot Crate FreshBooks

Picks

Lizzie

The importance of a mentor or a sponsor

JSJ 321: Babel and Open Source Software with Henry Zhu

Jul 10, 2018 57:53

Description:

Panel:

Charles Max Wood Aimee Knight AJ ONeal Joe Eames

Special Guests: Henry Zhu

In this episode, the JavaScript Jabber panel talks to Henry Zhu about Babel and open source software. Henry is one of the maintainers on Babel, which is a JavaScript compiler, and recently left this job to work on doing open source full time as well as working on Babel. They talk about where Babel is today, what it actually is, and his focus on his open source career. They also touch on how he got started in open source, his first PR, and more!

In particular, we dive pretty deep on:

Henry intro Babel update Sebastian McKenzie was the original creator of Babel Has learned a lot about being a maintainer What is Babel? JavaScript compiler You never know who your user is Has much changed with Babel since Sebastian left? Working on open source How did you get started in pen source? The ability to learn a lot from open source Atrocities of globalization More decentralization from GitHub Gitea and GitLab Gitea installer Open source is more closed now His first PR JSCS Auto-fixing Prettier Learning more about linting You don’t have to have formal training to be successful Codefund.io Sustainability of open source And much, much more!

Links:

Babel JavaScript Gitea GitLab Gitea installer Prettier Codefund.io @left_pad Henry’s GitHub henryzoo.com Henry’s Patreon

Sponsors

Kendo UI Sentry Digital Ocean

Picks:

Charles

Orphan Black Crucial Accountability by Kerry Patterson

Aimee

Desk with cubby holes for cats The Key to Good Luck Is an Open Mind blog post

AJ

Gitea Gitea installer Greenlock

Joe

Solo Justified

Henry

Celeste Zeit Day talks

MJS 068: Ian Sinnott

Jul 4, 2018 26:41

Description:

Panel: Charles Max Wood

Guest: Ian Sinnott

This week on My JavaScript Story, Charles speaks with Ian Sinnott. Since being on JavaScript Jabber for Episode 227, he has being writing a lot in JavaScript and has been taking a break from the meetups and podcast scene. He first got into programming when he took two CS courses in college that focused on Java graphical programming and SML. Once these courses were through, he stopped programming for a while and came back to it when he was creating an HTML email template. They talk about why he was excited with web development, how he got into JavaScript, what he is working on currently, and more!

In particular, we dive pretty deep on:

JavaScript Jabber Episode 227 Ian intro How did you first get into programming? 2 CS courses in college Left programming after the classes Why did you decide to come back? Learning on PHP and WordPress What was it about web development that got you excited? Web development is high level and you can get quick wins What made you cross over into JavaScript? Really likes native apps Rise of the single-page web app Interactive apps What’s your flavor of choice? React is his go to MJS Episode 43 - Nick Disabato JSX, Angular, TypeScript, and Vue What are you working on now? Johnny-Five and Arduino Learning hardware allows you to attach an API to anything Is there anything that you have done that you are proud of? Rendering static sites in React Gatsby react-static-webpack-plugin and react-static-boilerplate RxJS and Redux-Observable And much, much more!

Links:

JavaScript Jabber Episode 227 JavaScript WordPress React MJS Episode 43 - Nick Disabato JSX Angular TypeScript Vue Johnny-Five Gatsby react-static-webpack-plugin react-static-boilerplate RxJS Redux-Observable @ian_sinn Ian’s GitHub iansinnott.com

Sponsors:

Loot Crate FreshBooks

Picks

Charles

Sling TV JS Dev Summit Views on Vue, React Round Up, and Elixir Mix

Ian

Salary Negotiation: Make More Money, Be More Valued by Patrick McKenzie A Curious Moon Cortex Podcast

JSJ 320: Error Tracking and Troubleshooting Workflows with David Cramer LIVE at Microsoft Build

Jul 3, 2018 27:45

Description:

Panel:

Charles Max Wood Alyssa Nicholl Ward Bell

Special Guests: David Cramer

In this episode, the JavaScript Jabber panelists talk to David Cramer about error tracking and troubleshooting workflows. David is the founder and CEO of Sentry, and is a software engineer by trade. He started this project about a decade ago and it was created because he had customers telling him that things were broken and it was hard to help them fix it. They talk about what Sentry is, errors, workflow management, and more!

In particular, we dive pretty deep on:

David intro Founder and CEO of Sentry What is Sentry? Working with PHP De-bugger for production Focus on workflow Goal of Sentry Triaging the problem Workflow management Sentry started off as an open-source side project Instrumentation for JavaScript Ember, Angular, and npm Got their start in Python Logs Totally open-source Most compatible with run-time Can work with any language Deep contexts Determining the root cause And much, much more!

Links:

Sentry JavaScript Ember Angular npm Python Sentry’s GitHub @getsentry David’s GitHub David’s Website @zeeg

Sponsors

Kendo UI FreshBooks Loot Crate

Picks:

Charles

Socks as Swag

David

VS Code Kubernetes

MJS 067: Tracy Lee

Jun 27, 2018 44:09

Description:

Panel: Charles Max Wood

Guest: Tracy Lee

This week on My Angular Story, Charles speaks with Tracy Lee. Tracy is the co-founder This Dot and her goal with it is to bring the JavaScript community together. She first got into programming when she tried to build websites for people and then was interested in learning JavaScript and really fell in love with the community. She really stayed with Angular because of the community she found there, the size of the community, and the fact that it gave her the ability to have a voice.

In particular, We dive pretty deep on:

This Dot ContributorDays.com How did you first get into programming? Really loves community Angular community being so welcoming What made you pick the Angular community? Ember originally Loves how big the Angular community is Business background Loves the challenge of trying to create things On the RxJS Core team This Dot Media This Dot Labs Loves to builds brands and consult The importance of mentors Starting an apprentice program She loves being able to help others People underestimate the impact they have on the world AngularAir and JavaScript Air And much, much more!

Links:

This Dot ContributorDays.com JavaScript Angular Ember RxJS Core Team This Dot Media This Dot Labs AngularAir JavaScriptAir Tracy’s Medium @LadyLeet LadyLeet.com DevChat.tv Youtube This Dot Media Youtube

Picks:

Charles

Ready Player One by Ernest Cline Bad Lip Reading YouTube

Tracy

Mermaid Tail Makeup Brushes Beauty Fix Box

JSJ 319: Winamp2-js with Jordan Eldredge

Jun 26, 2018 48:37

Description:

Panel:

Charles Max Wood AJ ONeal Aimee Knight Joe Eames

Special Guests: Jordan Eldredge

In this episode, the JavaScript Jabber panelists discuss Winamp2-js with Jordan Eldredge. Jordan is the creator of Winamp2-js and was inspired to create this media player from the old Winamp media player that he used back in the day. They talk about the importance of limitations, the value of having fun side projects, and pushing the boundaries. They also touch on skin parsing, making Webamp an electron app, and more!

In particular, we dive pretty deep on:

What is Winamp2-js? The history and future of Winamp WACUP Winamp was the first big mp3 player that you could style Webamp’s features and the technical challenges associated with them Why JavaScript? Creative solutions Limitations of browser and creating something that previously existed The importance of limitations Hadn’t done very much JavaScript prior to this project Originally created with jQuery Led him into a career in JavaScript Pushing the boundaries Skin parsing “Bitrot” and making Winamp skins accessible again The value of side projects, even stupid ones Architecture docs What made you choose React and Redux? Spotiamp (Soptify’s canceled Winamp client) Making Webamp an Electron app Winamp visualizers being ported to the web The domain name webamp.org And much, much more!

Links:

Winamp2-js Webamp JavaScript jQuery Architecture docs React Redux jordaneldredge.com Jordan’s GitHub @captbaritone

Sponsors

Kendo UI FreshBooks Loot Crate

Picks:

Charles

JAM XT Speaker Trello

AJ

Samson GoMic Greenlock for Web Servers Greenlock for Node.js

Aimee

KA Engineering Principles

Joe

2ality.com What if JavaScript wins? Medium post

Jordan

JavaScript Garden Rust @winampskins

MJS 066: Henrik Joreteg

Jun 20, 2018 31:22

Description:

Panel: Charles Max Wood

Guest: Henrik Joreteg

This week on My JavaScript Story, Charles speaks with Henrik Joreteg. Henrik has been on JavaScript Jabber previously discussing &yet back in December of 2014 on episode 137. He has since then left &yet and now does independent consulting and works on his own projects. He first got into programming when he started a company that created online video tours for houses and he needed to teach himself programming in order to create the website. They talk about what led him to JavaScript, what he’s proud of contributing to the community, what he is working on now, and much more!

In particular, we dive pretty deep on:

JavaScript Jabber Episode 137 &yet How did you first get into programming? Liked computers as a child but didn’t want to spend his life on it originally Studied Business in college Create house touring video company Adobe ColdFusion How were you exposed to JavaScript? Gig as a ColdFusion developer jQTouch, jQuery, and Django Interested in building app-like experiences What have you done with JavaScript that you are proud of? Want to push the web into an app-like space Helped to create Ampersand.js Wrote Human JavaScript Created Simple WebRTC Promote web as an application platform What are you working on now? Redux and React New book: Human Redux Independent consulting Speedy.gift Redux-bundler And much, much more!

Links:

JavaScript Jabber Episode 137 JavaScript Jabber &yet JavaScript jQTouch jQuery Django Human JavaScript Ampersand.js Simple WebRTC Human Redux Redux React Speedy.gift Redux-bundler Henrik’s GitHub Joreteg.com @HenrikJoreteg

Sponsors:

Loot Crate FreshBooks

Picks

Charles

Hogwarts Battle React Dev Summit JS Dev Summit Newspaper Theme on Themeforest Get a Coder Job Course

Henrik

Preact Parcel.js Rollup.js Space repetition systems Anki

JSJ 318: Cloud-Hosted DevOps with Ori Zohar and Gopinath Chigakkagari LIVE at Microsoft Build

Jun 18, 2018 56:37

Description:

Panel:

Charles Max Wood

Special Guests: Ori Zohar and Gopinath Chigakkagari

In this episode, the JavaScript Jabber panelists discuss Cloud-Hosted DevOps with Ori Zohar and Gopinath Chigakkagari at Microsoft Build. Ori is on the product team at VSTS focusing on DevOps specifically on Azure. Gopinath is the group program manager in VSTS primarily working on continuous integration, continuous delivery, DevOps, Azure deployment, etc. They talk about the first steps people should take when getting into DevOps, define DevOps the way Microsoft views it, the advantages to automation, and more!

In particular, we dive pretty deep on:

Ori and Gopi intro VSTS – Visual Studio Team Services VSTS gives developers the ability to be productive Developer productivity What’s the first big step people should be taking if they’re getting into DevOps? The definition of DevOps The people and the processes as the most important piece DevOps as the best practices Automating processes What people do when things go wrong is what really counts Letting the system take care of the problems Have the developers work on what they are actually getting paid for Trend of embracing DevOps Shifting the production responsibility more onto the developer’s Incentivizing developers People don’t account for integration Continuous integration Trends on what customers are asking for Safety Docker containers And much, much more!

Links:

Azure Microsoft Build VSTS @orizhr Ori’s GitHub Gopi’s GitHub @gopinach

Sponsors

Kendo UI Linode FreshBooks

Picks:

Charles

.NET Rocks! Shure SM58 Microphone Zoom H6

Ori

Fitbit Pacific Northwest Hiking

Gopinath

Seattle, WA

MJS 065: Greg Wilson

Jun 13, 2018 55:17

Description:

Panel: Charles Max Wood

Guest: Greg Wilson

This week on My JavaScript Story, Charles speaks with Greg Wilson about his educational and programming background, a Canadian company (Rangle) who’s doing amazing things, and much more! Greg is currently the head of instructor training at DataCamp and a principal consultant at Rangle.

In particular, we dive pretty deep on:

Past Episode – 184 JavaScript The one unavoidable language. Company in Canada – Rangle. 1980’s when Greg got into super computing – everything was custom hardware. Want to be “rich, famous, and popular?” – check out 11:58! Rangle – what a great company! Emily Porta Rangle’s program, Bridge, aimed at women who are trying to get into the tech industry. How did you get into programming? Queen’s University – 1980. Started off as chemistry major. From Vancouver, Canada. Engineering degree. Got hired to do math with computers. Software. 1985 – working for a lab in Ottawa. Master’s degree in Artificial Intelligence (AI) – Scotland. Ph.D. Academia. Moved to Toronto. Ruby Greg is a Python user. Not familiar with Ruby. Violence and video games? Where is the data? If people had the habit of being skeptical, such as fake news and other things, that simply isn’t true. For example: are vaccines dangerous? Professor Marian Petre – Open University Book: “Software Designs Decoded: 66 Ways Experts Think” by Marian Petre

Links:

Digital Ocean, LLC FreshBooks Greg Wilson’s Third Bit Greg Wilson’s Twitter Greg Wilson’s GitHub Greg Wilson’s LinkedIn Greg Wilson’s “What We Actually Know About Software Development, and Why We Believe It’s True” JavaScript Past Episode – 184 Rangle Rangle’s Bridge Python Ruby Professor Marian Petre – Open University Book: “Software Designs Decoded: 66 Ways Experts Think” by Marian Petre CacheFly Charles Max Wood’s Twitter

Sponsor:

Digital Ocean, LLC

Picks:

Charles

St. George, Utah Parade of Homes Upside Bose SoundLink Headphones ATR2100 Microphone

Greg

Rangle’s Bridge Inclusivity and diversity AOSABOOK.ORG Samson Meteor Microphone

JSJ 317: Prisma with Johannes Schickling

Jun 12, 2018 48:53

Description:

Panel:

Charles Max Wood AJ O’Neal

Special Guests: Johannes Schickling

In this episode, the JavaScript Jabber panelists discuss Prisma with Johannes Schickling. Johannes is the CEO and co-founder of GraphCool and works with Prisma. They talk about the upcoming changes within GraphCool, what Prisma is, and GraphQL back-end operations. They also touch on the biggest miscommunication about Prisma, how Prisma works, and much more!

In particular, we dive pretty deep on:

JSJ Episode 257 MJS Episode 055 Raised a seed round Rebranding of GraphCool What are you wanting to do with the seed money you raised? Focused on growing his team currently Making GraphQL easier to do The change in the way people build software What is Prisma? Two things you need to do as you want to adopt GraphQL Apollo Client and Relay GraphQL on the back-end Resolvers Resolving data in one query Prisma supports MySQL and PostgreSQL How do you control access to the GraphQL endpoint that Prisma gives you? Biggest miscommunication about Prisma Prisma makes it easier for you to make your own GraphQL server Application schemas How do you blend your own resolvers with Prisma? And much, much more!

Links:

JSJ Episode 257 MJS Episode 055 GraphCool Prisma GraphQL Apollo Client Relay MySQL PostgreSQL @schickling Johannes’ GitHub Schickling.me Prisma Slack

Sponsors

Kendo UI Linode FreshBooks

Picks:

Charles

Audible The 5 Love Languages of Children by Gary Chapman Facebook Backyard Homesteader Groups CharlesMaxWood.com Sling TV Roku Express

AJ

The Legend of Zelda: Breath of the Wild

Johannes

Figma Netlify Functions GraphQL Europe

MJS 064: Troy Hunt

Jun 6, 2018 24:57

Description:

Panel: Charles Max Wood

Guest: Troy Hunt

This week on My JavaScript Story, Charles speaks with Troy Hunt who is from Australia. In this episode, Troy and Charles talk about web security and how Troy got into the field. Troy writes a blog, creates courses for Pluralsight, and he is a Microsoft Regional Director and an MVP who travels the world speaking at events and training technology professionals.

In particular, we dive pretty deep on:

Web security This show is not about code or technology, but about the person. How did you get into programming, Troy? 1995 Troy started at the university. Book: HTML for Dummies How did you get into web development and JavaScript in general? 1999 – JavaScript Bank – Cahoot What have you done with JavaScript that you are particularly proud of? At the time, I was proud of my work with the Pizza Hut application. Fast-forward – I still use JavaScript but also framework. How did you get into security? Architectural role in Pfizer pharmaceutical company. Troy started writing a blog in 2009. What are you working on now? Launched my Version 2 of “Pwned Passwords.” Cloud Flare E-mails and Passwords breached Have a program that tells you to do something different instead. Try to find a balance. Do most people think about web security? Probably not. Bring awareness about this. Make systems usable Give people enough advice. Service Pwned.com Troy’s Real-Life Stories How do you stay current with all of this web security information? Having a healthy following in Twitter. Stay on top of the mentions. Interesting spread of people within this field.

Links:

Digital Ocean Troy Hunt’s Website Book: HTML for Dummies JavaScript Cahoot Troy’s Blog Version 2 of “Pwned Passwords” Pwned.com Troy Hunt’s Twitter Troy Hunt’s Medium Troy Hunt’s Facebook Troy Hunt’s LinkedIn Troy Hunt’s GitHub Fresh Books CacheFly

Sponsors:

Digital Ocean

Picks

Charles

The Greatest Showman – Musical JavaScript

Troy

BrowseAloud Subresource Integrity – Blog at Hunt’s Website CSP’s Supply chain

JSJ 316: Visual Studio Code with Rachel MacFarlane and Matt Bierner LIVE at Microsoft Build

Jun 5, 2018 34:56

Description:

Panel:

Charles Max Wood

Special Guests: Rachel MacFarlane and Matt Bierner

In this episode, the JavaScript Jabber panelists discuss Visual Studio Code with Rachel MacFarlane and Matt Bierner, who are both developers on Visual Studio Code. They talk about what the workflow at Visual Studio Code looks like, what people can look forward to coming out soon,  and how people can follow along the VS Code improvements on GitHub and Twitter. They also touch on their favorite extensions, like the Docker extension and the Azure extension and their favorite VS Code features.

In particular, we dive pretty deep on:

Rachel and Matt intro Month to month workflow of Visual Studio Code VS Code JavaScript, TypeScript, and Mark Down support Working on GitHub and within the community Check out new features incrementally with insiders Community driven work What is coming out in Visual Studio Code? GitHub helps to determine what they work on Working on Grid View Improved settings UI Highlighting unused variables in your code Improvements with JS Docs Dart Visual Studio Extension API How do people follow along with the VS Code improvements? Follow along on GitHub and Twitter Download VS Code Insiders Have a general road map of what the plan is for the year Technical debt week What do you wish people knew about VS Code? Favorite extensions Docker extension and Azure extension And much, much more!

Links:

Visual Studio Code JavaScript TypeScript Dart VS Code GitHub @Code VS Code Insiders Docker extension Azure extension Rachel’s GitHub Matt’s GitHub MattBierner.com @mattbierner

Sponsors

Kendo UI Linode FreshBooks

Picks:

Charles

Orphan Black Avengers: Infinity War Fishing

Rachel

GitLens

Matt

The Bronx Warriors

MJS 063: Fred Zirdung

May 30, 2018 31:20

Description:

Panel: Charles Max Wood

Guest: Fred Zirdung

This week on My JavaScript Story, Charles speaks with Fred Zirdung. Fred is currently the head of curriculum at Hack Reactor, where he essentially builds all of the tools and learning materials for the students there. He is also an instructor and has been there for five years. Prior to that, he worked for multiple companies such as Walmart Labs as well as many small startups. He first got into programming with the Logo programming language in the 6th grade and he had always been interested in working with computers since a young age. They talk about what got him into web programming, what enthralled him about JavaScript and Ruby on Rails, and what he is proud of contributing to the JavaScript community.

In particular, we dive pretty deep on:

JavaScript Jabber Episode 76 Fred intro How did you first get into programming? Coding professionally for 20+ years Coding prior to college graduation Logo programming language QNX operating system Were you always interested in programming? Always interested in computers Commodore 64 Basic programming in high school Programming didn’t click for him until high school In college when the web became popular Computer engineering degree in college What was it that appealed to you about software over hardware? Software vs hardware Embedded systems software How did you get into web programming? Dolby Laboratories What technologies got you excited? JavaScript, Perl, and Ruby on Rails Loved the flexibility of JS and Rails Found something he could be productive with What are you proud of contributing to the JavaScript community? What are you working on now? And much, much more!

Links:

JavaScript Jabber Episode 76 Hack Reactor Walmart Labs Dolby Laboratories JavaScript Perl Ruby on Rails @fredzirdung Fred’s GitHub Fred’s Medium

Picks

Charles

React Developer Tools plugin PluralSight React Round Up and Views on Vue Framework Summit

Fred

Navalia Koa Vue

JSJ 315: The effects of JS on CSS with Greg Whitworth

May 30, 2018 53:29

Description:

Panel:

AJ O’Neal Aimee Knight

Special Guests: Greg Whitworth

In this episode, the JavaScript Jabber panelists discuss the effects of JavaScript on CSS with Greg Whitworth. Greg works on Microsoft EdgeHTML, specifically working on the Microsoft Layout team, is on the CSS working group, and is involved with the Houdini task force. They talk about JS engines and rendering engines, what the CSSOM is, why it is important to understand the rendering engine, and much more!

In particular, we dive pretty deep on:

Greg intro What is the Houdini task force? Extensible web manifesto DOM (Document Object Model) Layout API Parser API Babel jQuery Back to basics JavaScript engine and rendering engine What is the CSSOM? Every browser has its separate JS engine Browsers perspective Aimee ShopTalk Podcast Episode Why is it important to understand how the rendering engine is working? Making wise decisions Give control back to browser if possible When you would want to use JavaScript or CSS Hard to make a hard or fast rule CSS is more performant Overview of steps And much, much more!

Links:

Parser API Babel jQuery Aimee ShopTalk Podcast Episode JavaScript @gregwhitworth GWhitworth.com Greg’s GitHub  

Sponsors

Kendo UI Linode FreshBooks

Picks:

AJ

Microsoft Surface Microsoft Cursor

Aimee

Greg’s Talk What Your Conference Proposal Is Missing by Sarah Mei

Greg

Aimee ShopTalk Podcast Episode Jake Archibald Tasks Talk

MJS 062: Zachary Kessin

May 23, 2018 26:18

Description:

Panel: Charles Max Wood

Guest: Zachary Kessin

This week on My JavaScript Story, Charles speaks with Zachary Kessin. Zach is a web developer who has written Programming HTML5 Applications and Building Web Applications with Erlang. Currently, he works a lot with functional programming. He first got into programming because his mother used to write in Lisp and he earned his first computer by begging his relatives to help pitch in to get him one when he was seven. They talk about what led him to Erlang and Elm, why he wanted to be a programmer from a young age, and what he is most proud of in his career.

In particular, we dive pretty deep on:

JavaScript Jabber Episode 57 JavaScript Jabber Episode 169 Zach intro Elm and Erlang How did you first get into programming? Mother was writing Lisp when he was a kid RadioShack color computer Mother taught him Basic Pascal and AP Computer Science Studied CS originally in college and then switches to Physics First web app written in Pearl 4 Did PHP for a living for a while and hated it Elm saves him time and effort What was it that made you want to program from a young age? Don’t be afraid to jump into programming at a late age Elm error messages Writes fewer tests in Elm code that JS code What are you most proud of? Loves mentoring Making a difference in the community It’s not just about the code, it’s about the people What are you doing now? And much, much more!

Links:

JavaScript Jabber Episode 57 JavaScript Jabber Episode 169 Programming HTML5 Applications Building Web Applications with Erlang Elm Erlang Lisp Zach’s GitHub @zkessin Zach’s YouTube Zach’s LinkedIn

Picks

Charles

Masterbuilt Smoker Crock-Pot

Zach

If you like a book, tell the author! How to Get a Meeting with Anyone by Stu Heinecke 1177 B.C.: The Year Civilization Collapsed by Eric Cline

JSJ 314: Visual Studio Code and the VS Code Azure Extension with Matt Hernandez and Amanda Silver LIVE at Microsoft Build

May 22, 2018 50:46

Description:

Panel:

Charles Max Wood

Special Guests: Matt Hernandez and Amanda Silver

In this episode, the JavaScript Jabber/Adventures In Angular, panelists discuss Visual Studio Code and the VS Code Azure Extension with Matt Hernandez and Amanda Silver at Microsoft Build. Amanda is the director of program management at Microsoft working on Visual Studio and VS Code. Matt works on a mix between the Azure and the VS Code team, where he leads the effort to build the Azure extensions in VS code, trying to bring JavaScript developers to Azure through great experiences in VS Code. They talk about what’s new in VS Code, how the Azure extension works, what log points are, and much more!

In particular, we dive pretty deep on:

Amanda intro Matt intro What’s new in VS Code? VS Code core VS Live Share Shared Terminal Now have Linux support Live Share is now public to the world for free What would you use Shared Terminal for? Are there other things coming up in VS Code? Constantly responding to requests from the community Live Share works for any language How does the Azure extension work? Azure App Service Storage extension Azure Cosmos DB What are log points? All a part of a larger plan to create a better experience for JS developers Visual debuggers Is it the same plugin to support everything on Azure? Want to target specific services that node developers will take advantage of And much, much more!

Links:

Visual Studio VS Code Azure Live Share Azure Cosmos DB Microsoft Build Azure App Service Amanda’s GitHub @amandaksilver Matt’s GitHub @fiveisprime

Picks:

Charles

Orphan Black Shout out to VS Code team Battle of the Books

Matt

The Customer-Driven Playbook by Travis Lowdermilk The Speed of Trust by Stephen M.R. Covey Yes, And by Kelly Leonard Digital Marketing For Dummies by Ryan Deiss Ed Gets His Power Back Kickstarter

Amanda

Microsoft Quantum Development Kit for Visual Studio Code Iggy Peck, Architect Tek by Patrick McDonnell

MJS 061: Kyle Simpson

May 16, 2018 54:03

Description:

Panel: Charles Max Wood

Guest: Kyle Simpson

This week on My JavaScript Story, Charles speaks with Kyle Simpson. Kyle is most well-known for being the writer of You Don’t Know JS. He first got into programming because his friend’s dad was a programmer and he was hooked by the software side of computers. He grew up writing games with QBasic and Turbo Pascal and then in his teens did some client projects. He was very much a self-taught programmer and ended up sticking with it into his career today. They talk about what led him to JavaScript and what he is doing currently.

In particular, we dive pretty deep on:

Kyle intro You Don’t Know JS How did you first get into programming? Dad’s friend was a programmer Dad built computers Wrote games with QBasic and Turbo Pascal Some client projects in teen years Very much self-taught programmer CS degree in college First professional job at a biotech company Do you feel people need to get a CS degree these days? Grateful for his degree What engineering taught him Striving to understand why and how things work Don’t need a CS degree but you do need a certain mindset Valuable but not necessary What led you to JavaScript? Web Portal at his college What made you want to deepen your knowledge of JS? What are you working on now? And much, much more!

Links:

You Don’t Know JS JavaScript Kyle’s GitHub Functional-Light JavaScript @getify Kyle on Front-end masters

Picks

Charles

Template Weeks Working Out

Kyle

Fluent Conf Node RSA

JSJ 313: Light Functional JavaScript with Kyle Simpson

May 15, 2018 53:21

Description:

Panel:

AJ ONeal Aimee Knight Joe Eames

Special Guests: Kyle Simpson

In this episode, the JavaScript Jabber panelists discuss light functional JavaScript with Kyle Simpson. Kyle is most well-known for writing the books You Don’t Know JS and is on the show today for his book Functional-Light JavaScript. They talk about what functional programming is, what side-effects are, and discuss the true heart behind functional programming. They also touch on the main focus of functional programming and much more!

In particular, we dive pretty deep on:

You Don’t Know JS Functional-Light JavaScript From the same spirit as first books JavaScript Documents journey of learning What does Functional Programming mean? Functional programming is being re-awoken Many different definitions History of functional programming Programming with functions What is a function? “A collection of operations of doing some task” is what people think functions are What a function really is Map inputs to outputs What is a side-effect? Side-effects should be intentional and explicit The heart of functional programming Refactoring Can’t write a functional program from scratch What functional programming focuses on Making more readable and reliable code Pulling a time-stamp Defining a side-effect And much, much more!

Links:

You Don’t Know JS Functional-Light JavaScript JavaScript Kyle’s GitHub @getify

Picks:

Aimee

What Does Code Readability Mean? @FunctionalKnox HTTP 203 Podcast

AJ

IKEA

Joe

Barking Up the Wrong Tree by Eric Barker Workshops in general

Kyle

GDPR The start-up’s guide to the GDPR Hatch Fluent Conf

JSJ 312: Hygen with Dotan Nahum

May 9, 2018 47:53

Description:

Panel:

Charles Max Wood Aimee Knight AJ ONeal

Special Guests: Dotan Nahum

In this episode, the JavaScript Jabber panelists discuss Hygen with Dotan Nahum. Dotan has worked within open source community, where he created Hygen. They talk about what Hygen is, how it came to be, and code generators in general. He was inspired by the Rails generator to create his own generator and took his inspiration from 12 years prior to creating Hygen. They also touch on how to share generators in separate packages and much more!

In particular, we dive pretty deep on:

Dotan intro What is Hygen? Code generators Rails in 2006 Ruby on Rails 15-minute blog video PHP and Python Carried Rails wow moment with him into creating Hygen Wanted Rails generators everywhere Can you also modify files? Took the good things from Rails generator The fact that front-end apps have architecture is new Redux The solution of generating code A component is a ray of files and assets JavaScript gives you great freedom A standardized way of doing components GraphQL Everything lives in the “day job” project How the Hygen template is formatted Can have a shell action Is there a way to share generators in a separate package? Go And much, much more!

Links:

Hygen Rails Ruby on Rails 15-minute blog video Python Redux JavaScript GraphQL Go @jondot Dotan’s GitHub Dotan’s Medium

Picks:

Charles

Fluent Conf Hot Jar DevChat.tv Ethereum

Aimee

Deep-copying in JavaScript

AJ

Let’s Encrypt Nintendo Switch Breath of the Wild

Dotan

asdf Brew Cask

MJS 060: Jeff Cross

May 9, 2018 44:18

Description:

Panel: Charles Max Wood

Guest: Jeff Cross

This week on My JavaScript Story, Charles speaks with Jeff Cross. Jeff has been working on Angular and JavaScript for the past five years with Google and now with Nrwl, which he created in the past year. He got started with programming around 12 years old when his Mom taught him and his siblings how to create websites using FrontPage. He then worked as a web designer utilizing Flash and joined an agency when he was in his 20’s that focused on Flash. Jeff talks about his path to his success and the different steps it took him to get to where he is today. 

In particular, We dive pretty deep on:

How did you get into programming? HTML and FrontPage Dreamweaver GeoCities Gifs Started off as a web designer Flash Object-Oriented Programming JavaScript Backbone From JavaScript to Angular Node Programming APIs Deployd Angular Team at Google What have you contributed to angular? Embarrassing stories Consulting NX And much, much more!

Links:

FreshBooks Nrwl Deployd Linode @JeffBCross @nrwl_io Nrwl Blog

Picks:

Jeff

Things App Charles Apple Air Pods Astro Reality

MJS 059: Merrick Christensen

May 2, 2018 41:23

Description:

Panel: Charles Max Wood

Guest: Merrick Christensen

This week on My Angular Story, Charles speaks with Merrick Christensen. Christensen works at a company called Webflow, where they try to empower people to create software without code. The company is similar to Squarespace or Wix, except they give 100% design control to the client.

Christensen talks about his journey into programming, starting by creating websites for his childhood band. He moved on from Microsoft to Dreamweaver, and his Dad got him started with some freelance jobs to create websites for people, which really sparked his interest. Christensen discusses his path to where he is as a programmer today.

In particular, We dive pretty deep on:

How did you get into programming? Getting into JavaScript Infogenix job Red Olive job using Flash Got into JavaScript through ActionScript Discovered Moo Tools Flex Steve Jobs says no Flash on iPhone Why Moo Tools and not jQuery? Liked flexibility of JavaScript How did you get into Angular? Angular was trendy at the time and was easier to use New code base with React Backbone Programming as an art form Webflow Meta-layers Working a remote job Framework Summit Angular, React, View, and Backbone And much, much more!

Links:

Linode.com/MyAngularStory Webflow Squarespace Wix Framework Summit @iamMerrick MerrickChristensen.com  

Picks:

Merrick

Sho Baraka Grid Critters Flex Zombies Charles Fresh Books Lyft Game Vice Audio-Technica 2100

JSJ 311: Securing Express Apps with Helmet.js with Evan Hahn

May 1, 2018 40:09

Description:

Panel:

Charles Max Wood

Special Guests: Evan Hahn

In this episode, the JavaScript Jabber panelists discuss securing Express apps with Helmet.js with Evan Hahn. Evan is a developer at Airtable, which is a company that builds spreadsheet applications that are powerful enough that you can make applications with. He has also worked at Braintree, which does payment processing for companies. They talk about what Helmet.js is, when you would want to use it, and why it can help secure your Express apps. They also touch on when you wouldn’t want to use Helmet and the biggest thing that it saves you from in your code.

In particular, we dive pretty deep on:

Evan intro JavaScript What is Helmet.js? Node and Express Why would you use the approach of Middleware? Helmet is not the only solution Http headers Current maintainer of Helmet.js npm Has added a lot to the project, but is not the original creator Outbound HTTP response headers Helmet doesn’t fully secure your app but it does help secure it How does using Helmet work? Are there instances when you wouldn’t want to use Helmet? No cash middleware Where do you set the configuration options? Top level Helmet module 12 modules What is the biggest thing that Helmet saves you from? Content security policy code And much, much more!

Links:

Airtable Braintree JavaScript Helmet.js Node Express npm Evan’s Website @EvanHahn Evan’s GitHub

Picks:

Charles

Camera Zoom H6 Shure SM58 DevChat.tv Youtube React Round Up

Evan

Clojure Fortune Kantaro: The Sweet Tooth Salaryman

MJS 058: Dean J Sofer

Apr 25, 2018 39:00

Description:

Panel: Charles Max Wood

Guest: Dean J Sofer

This week on My JavaScript Story, Charles speaks with Dean J Sofer. Dean currently works at PlayStation now and has recently taken a step back from open source recently. He first got into programming because his Dad was really into technology, and he first started off with scripting and creating portfolio websites. They also talk about his time using Angular and what he is working on now.

In particular, we dive pretty deep on:

Episode 95 JSJ Dean intro Realized he prefers working at larger corporations How did you first get into programming? Dove into computers because of his Dad Started with scripting Creating portfolio websites CSS, HTML, and MVC Node scripts Took a visual basic class in High School Liked being able to create things that other people could interact with Cake PHP and Node What was it that made you want to switch over to JavaScript? Angular What was it about Angular that appealed to you? Why he went searching for Angular Angular UI Don’t be zealot when it comes to frameworks Create states in your application Is there anything that you are particularly proud of in your career? And much, much more!

Links:

Episode 95 JSJ Cake PHP Node JavaScript Angular Angular UI Dean’s GitHub

Picks

Charles

Brandon Sanderson Books Writing Excuses Podcast Life, the Universe, and Everything Conference Bullies by Ben Shapiro Fire and Fury by Michael Wolff

Dean

Wallaby.js You Suck at Dating Podcast

JSJ 310: Thwarting Insider Threats with Greg Kushto

Apr 24, 2018 45:59

Description:

Panel:

Charles Max Wood Cory House AJ O’Neal Aimee Knight

Special Guests: Greg Kushto

In this episode, the JavaScript Jabber panelists discuss thwarting insider threats with Greg Kushto. Greg is the vice president of sales engineering for Force 3 and has been focused on computer security for the last 25 years. They discuss what insider threats are, what the term includes, and give examples of what insider threats look like. They also touch on some overarching principles that companies can use to help prevent insider threats from occurring.

In particular, we dive pretty deep on:

Greg intro Insider threats are a passion of his Most computer attacks come from the inside of the company Insider threats have changed over time What does the term “insider threats” include? Using data in an irresponsible manner Who’s fault is it? Blame the company or blame the employee? Need to understand that insider threats don’t always happen on purpose How to prevent insider threats Very broad term Are there some general principles to implement? Figure out what exactly you are doing and documenting it Documentations doesn’t have to be a punishment Know what data you have and what you need to do to protect it How easy it is to get hacked Practical things to keep people from clicking on curious links The need to change the game Fighting insider threats isn’t fun, but it is necessary And much, much more!

Links:

Force 3 Greg’s LinkedIn @Greg_Kushto Greg’s BLog

Picks:

Charles

HaveIBeenPwned.com Plural Sight Elixir podcast coming soon NG conf MicroConf RubyHack Microsoft Build

Cory

Plop VS code sync plugin

Aimee

Awesome Proposals GitHub

AJ O’Neal

Fluffy Pancakes The Mind and the Brain by Jeffrey M. Schwartz

Greg

StormCast

MJS 057: David Luecke

Apr 18, 2018 35:51

Description:

Panel: Charles Max Wood

Guest: David Luecke

This week on My JavaScript Story, Charles speaks with David Luecke. David currently works for Bullish Ventures, which is a company that builds APIs and mobile web applications for clients using their open source tools. He first got into programming when he got his first computer and started programming using Delphi with Pascal. They also touch on how he first got into JavaScript, Feathers JS, and what he is working on now.

In particular, we dive pretty deep on:

David intro How did you first get into programming? Tinkered a lot with electronics as a child Delphi with Pascal Planned on doing an apprenticeship computer programming Went to University and got a CS degree How critical do you think a CS degree is? Having a CS degree helps you to pick up things faster How did you get into JavaScript? Did some website development in the beginning of his career Java Dojo and JavaScript MVC Works a lot with React Native now What products have you worked on that you’re proud of? Feathers JS How did you come around to creating this? In-server architecture idea at university What are you working on now? mySam And much, much more!

Links:

Bullish Ventures Pascal JavaScript Dojo JavaScript MVC React Native Feathers JS mySam David’s GitHub @daffl David’s Medium

Picks

Charles

Merge Cube Primo Octagon Augmented Reality Cards CES

David

Idieyoudie.com How to Fix Facebook—Before It Fixes Us by Roger McNamee

JSJ 309: WebAssembly and JavaScript with Ben Titzer

Apr 17, 2018 52:21

Description:

Panel:

Charles Max Wood Cory House Aimee Knight

Special Guests: Ben Titzer

In this episode, the JavaScript Jabber panelists discuss WebAssembly and JavaScript with Ben Titzer. Ben is a JavaScript VM engineer and is on the V8 team at Google. He was one of the co-inventors of WebAssembly and he now works on VM engineering as well as other things for WebAssembly. They talk about how WebAssembly came to be and when it would be of most benefit to you in your own code.

In particular, we dive pretty deep on:

Ben intro JavaScript Co-inventor of WebAssembly (Wasm) Joined V8 in 2014 asm.js Built a JIT compiler to make asm.js faster TurboFan What is the role of JavaScript? What is the role of WebAssembly? SIMD.js JavaScript is not a statically typed language Adding SIMD to Wasm was easier Easy to add things to Wasm Will JavaScript benefit? Using JavaScript with Wasm pros and cons Pros to compiling with Wasm Statically typed languages The more statically typed you are, the more you will benefit from Wasm TypeScript Is WebAssembly headed towards being used in daily application? Rust is investing heavily in Wasm WebAssembly in gaming And much, much more!

Links:

JavaScript V8 WebAssembly asm.js TurboFan TypeScript Rust WebAssembly GitHub Ben’s GitHub

Picks:

Charles

Ready Player One Movie DevChat.tv YouTube Alexa Flash Briefings: Add skill for “JavaScript Rants”

Cory

npm Semantic Version Calculator Kent Beck Tweet

Aimee

MDN 418 Status code Quantity Always Trumps Quality blog post

Ben

American Politics

JSJ 309: WebAssembly and JavaScript with Ben Titzer

Apr 17, 2018 52:21

Description:

Panel:

Charles Max Wood Cory House Aimee Knight

Special Guests: Ben Titzer

In this episode, the JavaScript Jabber panelists discuss WebAssembly and JavaScript with Ben Titzer. Ben is a JavaScript VM engineer and is on the V8 team at Google. He was one of the co-inventors of WebAssembly and he now works on VM engineering as well as other things for WebAssembly. They talk about how WebAssembly came to be and when it would be of most benefit to you in your own code.

In particular, we dive pretty deep on:

Ben intro JavaScript Co-inventor of WebAssembly (Wasm) Joined V8 in 2014 asm.js Built a JIT compiler to make asm.js faster TurboFan What is the role of JavaScript? What is the role of WebAssembly? SIMD.js JavaScript is not a statically typed language Adding SIMD to Wasm was easier Easy to add things to Wasm Will JavaScript benefit? Using JavaScript with Wasm pros and cons Pros to compiling with Wasm Statically typed languages The more statically typed you are, the more you will benefit from Wasm TypeScript Is WebAssembly headed towards being used in daily application? Rust is investing heavily in Wasm WebAssembly in gaming And much, much more!

Links:

JavaScript V8 WebAssembly asm.js TurboFan TypeScript Rust WebAssembly GitHub Ben’s GitHub

Picks:

Charles

Ready Player One Movie DevChat.tv YouTube Alexa Flash Briefings: Add skill for “JavaScript Rants”

Cory

npm Semantic Version Calculator Kent Beck Tweet

Aimee

MDN 418 Status code Quantity Always Trumps Quality blog post

Ben

American Politics

MJS 056: Jonathan Carter

Apr 11, 2018 41:30

Description:

Panel: Charles Max Wood

Guest: Jonathan Carter

This week on My JavaScript Story, Charles speaks with Jonathan Carter. Jonathan is a PM at Microsoft and has been a web developer for over 15 years. At Microsoft, he’s had the opportunity to work on tooling, platform pieces for JavaScript applications, and many other things. He first got into programming when his uncle let him shadow him and the IT department he had working for him, and this is where he was first introduced to software and the idea of working with computers as a career. They talk about his proudest accomplishments within the JavaScript community as well as what he is working on now.

In particular, we dive pretty deep on:

Jonathan intro Asure How did you first get into programming? Interest in creating a website Dual enrollment in high school at local community college Started off with VB6 Uncle was very active in his programming start .net Scrappy boredom mixed with curiosity led to him actually getting into software Everyone comes into programming differently Your past is important in explaining where you have ended up Node.js on Asure How did you get into JavaScript? Worked at a newspaper in the software division Ajax jQuery Wanted to write better apps CodePush Stayed in JavaScript community because it brings him inspiration and excitement Likes to be able and look back on his past projects App development for fun Is there anything that you are particularly proud of? Profiling tools Liked building tools that meet people where they are at and simplify their jobs Qordoba React Native And much, much more!

Links:

JavaScript Microsoft Asure Node.js jQuery CodePush Qordoba React Native @LostinTangent Jonathan’s GitHub

Picks

Charles

Anti-Pick: Intellibed Tuft and Needle

Jonathan

Notion Doomsday by Architects

JSJ 308: D3.js with Ben Clinkinbeard

Apr 10, 2018 45:50

Description:

Panel:

Joe Eames Cory House Aimee Knight

Special Guests: Ben Clinkinbeard

In this episode, the JavaScript Jabber panelists talk about D3.js with Ben Clinkinbeard. D3.js is a JavaScript library that has you use declarative code to tell it what you want and then it figures out all of the browser inconsistencies and creates the notes for you. He talks about the two main concepts behind D3, scales and selections, which once you understand make D3 a lot more user friendly. He then touches on SPGs and discusses his Learn D3 in 5 Days course.

In particular, we dive pretty deep on:

What is D3.js? Stands for Data Driven Documents JavaScript How much of the learning curve is attributed to learning D3? SPG 2 main concepts behind D3: scales and selections Is learning about SPGs a prerequisite to leaning D3? How serious are you talking when saying idiosyncrasies? SPG tag Understanding positioning in SPG Positions with CSS transforms Are you required to use SPG? Not required to use SPG with D3 Canvas SPG is vector based SPG utility function Responseivefy Learn D3 in 5 Days course Is there and overlap with D3 and React? And much, much more!

Links:

D3.js JavaScript Responsivefy Learn D3 in 5 Days course React @bclinkinbeard Ben’s GitHub

Picks:

Cory

React cheat sheet “Why software engineers disagree about everything” by Haseeb Qureshi

Joe Eames

“JavaScript vs. TypeScript vs. ReasonML” by Dr. Axel Rauschmayer

Aimee

“How To Use Technical Debt In Your Favor” Neuroscience News Twitter

Ben

ComLink

MJS 055: Johannes Schickling

Apr 4, 2018 40:13

Description:

Panel: Charles Max Wood

Guest: Johannes Schickling

This week on My JavaScript Story, Charles speaks with Johannes Schickling. Johannes is the CEO and Co-Founder of GraphCool and works a lot on Prisma. He first got into programming when he started online gaming and would build websites for gaming competitions. He then started getting into creating websites, then single page apps, and has never looked back since. He also gives an origin story for GraphCool and the creation of Prisma. 

In particular, we dive pretty deep on:

Johannes intro How did you first get into programming? Always been interested in technology PHP to JavaScript Creating single page apps Self-taught The problem-solving aspect keeps people coming back to programming Always enjoyed math and physics Programmers make up such a diverse community How did you find JavaScript? Has used a wide range of front-end frameworks Node WebAssembly Opal What drew you into doing single page apps? Like the long-term flexibility of single page apps Don’t have to worry about the back-end right off the bat GraphQL What have you done in JavaScript that you are most proud of? Open source tooling GraphCool origin story What are you working on now? Prisma And much, much more!

Links:

JavaScript GraphCool Prisma PHP Node WebAssembly Opal GraphQL @_Schickling @GraphCool GraphCool Blog

Picks

Charles

PopSocket DevChat.tv/YouTube

Johannes

Gatsby GraphQL Europe GraphQL Day

JSJ 307: Apollo with Peggy Rayzis

Apr 3, 2018 39:55

Description:

Panel:

Charles Max Wood Aimee Knight AJ ONeal

Special Guests: Peggy Rayzis

In this episode, the JavaScript Jabber panelists talk about Apollo with Peggy Rayzis. Peggy is an open source engineer on the Apollo team where she primarily focuses on client stuff, working on Apollo Client, and also other libraries. Previously, she was a UI engineer at Major League Soccer where she worked primarily with React and React Native. She discusses what GraphQL is and how it is used, as well as how they use it in the Apollo team to make their lives as developers easier. They also touch on when it would work best to use GraphQL and when it is not ideal to use it.

In particular, we dive pretty deep on:

AiA 127 Episode Peggy intro What is GraphQL? What is a Typed Query Language? What is a schema? Where do schemas get defined? GraphQL SDL Apollo Stack and Apollo Server Tracing and cash control Apollo Engine How GraphQL Replaces Redux GraphQL cuts down on front-end management Apollo Link State The best code is no code Apollo Client allows for greater developer productivity Does the conversation change if you’re not using Redux or in a different ecosystem? When is the right time to use this? Data doesn’t have to be graph shaped to get the most out of GraphQL Analyze schema with Apollo Engine Is there a way to specify depth? Max Stoiber blog post How would people start using this? HowtoGraphQL.com And much, much more!

Links:

React Dev Summit JS Dev Summit Apollo AiA 127 Episode Apollo Client Major League Soccer React React Native GraphQL GraphQL SDL Apollo Server Apollo Engine How GraphQL Replaces Redux Apollo Link State Redux Max Stoiber blog post HowtoGraphQL.com @PeggyRayzis Peggy’s GitHub Peggy’s Medium

Picks:

Charles

GraphQL Ruby WordPress GraphQL Hogwarts Battles Board Game Pandemic Legacy Risk Legacy

Aimee

How GraphQL Replaces Redux JavaScript Meetup in LA

AJ

Simple.com BroccoliWallet.com The Four by Scott Galloway

Peggy

Workshop.me Thanks for the Feedback by Douglas Stone

MJS 054: Gordon Zhu

Mar 28, 2018 45:41

Description:

Panel: Charles Max Wood

Guest: Gordon Zhu

This week on My JavaScript Story, Charles speaks with Gordon Zhu. Gordon is the founder of Watch and Code. The mission of the company is to take total beginners and turn them into amazing developers. He first got into programming by trying to avoid programming. He studied business in college and was really interested in the internet, leading him to have to learn coding. He talks about the importance of being focused, especially in the beginning, and the ability to figure things out.

In particular, we dive pretty deep on:

Watch and Code How did you first get into programming? Studied business in college Peak Two different eras of programmers There is more than one way to get into programming Culture is promoting a new way of thinking about technology Black Mirror How did you get into JavaScript? Marketing, product management, and engineering Angular Tried to avoid JS and focused on Python Importance of focus The ability to figure things out How to spend your time in the beginning Current focus Focus gives you freedom Reading a lot of code What are you proud of? And much, much more!

Links:

JavaScript Watch and Code Peak Black Mirror Angular Python @Gordon_Zhu Practical JavaScript

Picks

Charles

4k Camcorder 25 ft XLR Cables Zoom H6 Roland R-09 USB-C Dongle Docking Station ScreenFlow PB Works

Gordon

How I Built This podcast Stay Tuned with Preet podcast

JSJ 306: The Framework Summit with Joe Eames

Mar 27, 2018 48:03

Description:

Panel:

Charles Max Wood Cory House Aimee Knight Joe Eames AJ O'Neal

In this episode, the JavaScript Jabber panelists talk about the Framework Summit. It was the brainchild of Merrick Christensen. This summit includes talks on multiple different frameworks all in a two-day conference, which allows you to get exposed to new frameworks while still learning more about the framework your job requires you to use. Another goal of the conference is that it will be able to open people’s eyes up to the different frameworks available to them and show that no one framework is superior to another.

In particular, we dive pretty deep on:

What is the Framework Summit? The framework you use plays a huge role in your programming For people who want to learn about more than one framework Allows you to explore The format of the conference Park City, Utah in October 2018 Helps you answer which framework should you use? Goal is to open people’s eyes up to other frameworks Decrease internet arguments over which framework is better Fluent Conference Get to have conversation with other people who work in your framework Making connections React Rally Talk Evan Czaplicki The context matters Being able to deep dive into the different frameworks Using frameworks in conjunction with one another Have you seen “religionist” themes in programming frameworks? Why Good People Are Divided by Politics and Religion by Jonathan Haidt Some people will never look beyond their frameworks If it’s working, why would you mess with it? And much, much more!

Links:

React Dev Summit JS Dev Summit Framework Summit Angular React Ember JavaScript Fluent Conference React Rally Talk Evan Czaplicki Why Good People Are Divided by Politics and Religion by Jonathan Haidt @FrameworkSummit

Picks:

Charles

Parked Out By the Lake Dustin Christensen DevChat.tv Newspaper by Themeforest

Cory

Quokka

Aimee

Republic of Tea – Apple Cider Vinegar Tea The Way of Testivus

Joe

Evan Czaplicki Talk

AJ

Dinosaurs Cough Syrup by Young the Giant

MJS 053: Quincy Larson

Mar 21, 2018 30:12

Description:

Panel: Charles Max Wood

Guest: Quincy Larson

This week on My JavaScript Story, Charles speaks with Quincy Larson. Quincy created Free Code Camp, whose goal is to build a huge community of people who will then contribute to the project so that they can help more people learn code for free. Quincy first got into programming when he wanted to find a way to get teachers out from behind the computer and into the classrooms. This revealed to him how powerful technology was and really got him interested in learning more code. He feels very strongly about the importance of accessibility and strived to make his camp as accessible as he could so he could reach the most people with it. 

In particular, we dive pretty deep on:

Free Code Camp How did you first get into programming? Previously a school director and teacher AutoHotkey How did you get into JavaScript? Focused on the problem of learning the code Free Code Camp was his main focus as a programmer The importance of accessibility Free Code Camp curriculum New update launching soon Build projects in order to get a certificate 6 certificates in total What is the work breakdown with Free Code Camp? Editorial staff now Free Code Camp YouTube Channel Writes on Medium Loves the fact that he gets to help others and positively affect their lives What else are you working on now? Beta.freeCodeCamp.org Expanding Free Code Camp Directory And much, much more!

Links:

Free Code Camp AutoHotkey JavaScript Free Code Camp YouTube Channel Quincy’s Medium Beta.freeCodeCamp.org @Ossia Free Code Camp Medium

Picks

Charles

VRBO Mesquite, Nevada Upside.com

Quincy

The state of machine learning in JavaScript Tensor Fire

JSJ 305: Continuous Integration, Processes, and DangerJS with Orta Therox

Mar 20, 2018 48:29

Description:

Panel:

Charles Max Wood Aimee Knight Joe Eames AJ O'Neal Special Guests: Orta Therox

In this episode, the JavaScript Jabber panelists talk about the tool Danger with Orta Therox. Danger allows you to create cultural rules about your pole request workflow. They discuss what Danger is, how it works, and how it can help you to catch errors and speed up code review. Danger lets you erase discussions so that you can focus on the things that you should really be focusing on, like the code. They also compare Danger to other ways of doing test converge.

In particular, we dive pretty deep on:

What is DangerJS? Think of it as being on the PR level Provides an eval context Used on larger projects React, React Native, Apollo, and RxJS Experimenting with moving Danger onto a server Danger can run as a linting step Pre-commit hooks Prettier How do you use Danger on your own machine? Danger Ruby vs Danger JS NPM install How is using Danger better that other ways of test coverage? What kinds of rules can you write for this system? Can use with Ruby or JavaScript React Storybooks Retrospectives And much, much more!

Links:

React Dev Summit JS Dev Summit Danger JS React React Native Apollo RxJS Prettier Danger Ruby Ruby JavaScript Orta’s GitHub Artsy Blog

Picks:

Charles

Hogwarts Battle Board Game Sushi Go Party! Game NYC tips

Aimee

Max Stoiber Blog The Ultimate Guide to Kicking Ass on Take-home Coding Challenges

Joe

SaltCON Stuffed Fables Board Game

AJ

UniFi AC Lite Fullmetal Alchemist

Orta

The Wire Worm Web Serial

MJS 052: Jeremy Likness

Mar 14, 2018 39:42

Description:

Panel: Charles Max Wood

Guest: Jeremy Likness

This week on My JavaScript Story, Charles speaks with Jeremy Likness. Jeremy works for Microsoft currently and first got into programming when he was kept home while having a sunburn and taught himself how to type in a program into his family’s TI-99 4A computer and then later moved on to the Commodore 64. They stress the fact that you can be a successful programmer, no matter your background and they talk about the pros and cons of being a cloud developer advocate.

In particular, we dive pretty deep on:

How did you first get into programming? How much Microsoft is in the different programming aspects Cloud developer advocates Azure TI-99 4A and Commodore 64 C and C+ You don’t have to go the traditional route to be a programmer Having a CS major is not the only way How did you get into JavaScript? Discovered the internet in college Career focused on Web apps jQuery Backbone.js Hands-on career with the code He did consulting for 10 years Linux How has your earning changed? His biggest fear was getting out of touch with the realities of day-to-day programming Pros and cons of being a cloud developer advocate Community, Content, and Connection with engineering And much, much more!

Links:

Microsoft Cloud developer advocates Azure JavaScript jQuery Backbone.js Linux @JeremyLikness Jeremy’s Blog

Picks

Charles

BusyCal

Jeremy

Dwitter.net Hello World: The Film Node.js documentation on Azure

JSJ 304: React: The Big Picture

Mar 13, 2018 51:00

Description:

Panel:

Charles Max Wood Aimee Knight Joe Eames Cory House AJ O'Neal

Special Guests: None

In this episode, the JavaScript Jabber panelists talk about React: The Big Picture, Cory’s course on Pluralsight and what React is all about. They discuss both the pros and cons when it comes to using React and when it would be the best to use this library. They also encourage programmers to use React in a more consistent way so that people can share components.

In particular, we dive pretty deep on:

What is React: The Big Picture course? React The frameworks work with each other Reason and Elm How to decide when using React is the best option? React tradeoffs JavaScript React expects you to do a little more typing and work React is very close to JavaScript React pushes you towards a single file per component React Round Up Are the Code Mods as wonderful as they sound? Angular Create React App What are Code Mods? Lack of opinionated approach in React Using React in a more consistent way MobX and Redux Start off using just plain React When wouldn’t you want to use React? And much, much more!

Links:

React: The Big Picture Cory’s Pluralsight Reason Elm React JavaScript React Round Up Create React App Angular MobX Redux Framework Summit 2018 Angular: The Big Picture React Dev Summit

Picks:

Charles

Hunting Hitler The Greatest Showman: Sing-a-long

Aimee

“Why being a perfectionist is an obstacle (and how to beat it)” by Gui Fradin “How to understand the large codebase of an open-source project?” blog post

Joe

Marital Bliss Card Game

AJ

Pplwink.com

MJS 051: Todd Gardner

Mar 8, 2018

Description:

Panel: Charles Max Wood

Guest: Todd Gardner

This week on My JavaScript Story, Charles speaks with Todd Gardner. Todd is one of the co-founders of Track JS, which is a JavaScript error monitoring service. He first got into programming in Jr. High when he and his friends played around with computers they had dumpster dived for from their school in order to play video games. In High School, he learned how to create websites so that people could register for his LAN parties online. They also discuss the importance of finding passion in what you do as well as what Todd is most proud of contributing to the JS community.

In particular, we dive pretty deep on:

Track JS Stack trace Telemetry Decodes errors that are actually good to focus on How did you get into programming? Warcraft video game Started programming past gaming in High School LAN parties Pearl The importance of passion in programming C# He didn’t start off with programming as his focus Find the thing that inspires you and go do it! How did you wind up on JavaScript? Working as a consultant Knockout vs Backbone .net contractor to JS contractor Node JS What are you most proud of in JS? Understand that you’re never done with a JS app What are you doing now? And much, much more!

Links: 

Track JS @ToddHGardner Todd.mn

Picks

Charles

Eternium The E-Myth Revisited: Why Most Small Businesses Don't Work and What to Do About It by Michael E. Gerber My Business on Purpose Podcast Jamie Masters  Profit First by Mike Michalowicz The 12 Week Year by Brian P. Moran

Todd

Smart Things Rage

JSJ 303: Test Coverage Tools with Ben Coe, Aaron Abramov, and Issac Schleuter

Mar 6, 2018 1:01:53

Description:

Panel: 

Charles Max Wood

Aimee Knight

Corey House

AJ O'Neal

Special Guests: Ben Coe, Aaron Abramov, and Issac Schleuter

In this episode, the JavaScript Jabber panelists talk with Ben Coe, Aaron Abramov, and Issac Schleuter about test coverage and testing tools. They talk about the different tools and libraries that they have contributed to the coding community, such as NYC, conf, and Jest. They also discuss what test coverage is actually about and when using test coverage tools is necessary.

In particular, we dive pretty deep on:

What have you contributed to the testing tools community? npm NYC tool and instanbul project conf Jest These libraries were developed to be easy and have “batteries included” False positives with test coverage Encourage testing practices that don’t practice in a superficial way Test coverage is about making sure you test every state a public API can get into Think through the test you’re writing first Barriers against testing Don’t spike the code too quickly Provides guardrails for newer developers to contribute to open source projects Use tests to understand the system How to spend your time better When you need tests Value is very short term TDD And much, much more!

Links:

@BenjaminCoe @AaronAbramov_ Issac’s GitHub

Picks:

Charles

React Roundup Views on Vue Adventures in Angular React Dev Summit 2018

Aimee

Galentine’s Day Dnote CLI

AJ

The Hero of Ages by Brandon Sanderson

Corey

We are hive project guidelines Tip: You can install node as a dependency on your project

Ben

Hack Illinois 2018 C8

Aaron

Reason

Issac

The Tap 100 Krypton App Friendly Fire Podcasts

MJS 050: Azat Mardan

Feb 28, 2018 35:01

Description:

Panel: Charles Max Wood

Guest: Azat Mardan

This week on My JavaScript Story, Charles speaks with Azat Mardan. Azat is the author of 14 books on Node JS, JavaScript, and React JS. He also founded Node University, speaks at conferences, and works at Capitol One. Azat first got into programming when he was in college and his major was Informatics in eastern Europe and then when he graduated, he taught himself JavaScript and PHP and did some freelance work. Once he came to the United States, he got his master’s degree in Information Systems Technology and was building websites for country embassies. His main advice to people new to programming and IT is to just focus on one thing and give yourself enough time to get comfortable with that technology, and then move on to a new technology to conquer.

In particular, we dive pretty deep on:

How did you get into programming? Major in informatics PHP, JavaScript, CSS, and HTML Freelancing Masters in Information Systems Technology C++ class FDIC Advice to new programmers The importance of focus His startup experience Ruby on Rails Mac vs Windows Taught himself different frameworks and languages Location matters MongoDB The best way to learn is to teach others What was it about JavaScript that really clicked for you? JavaScript has expressiveness The Talent Code What led you to React? Which contributions are you most proud of? And much, much more!

Links: 

Node University The Talent Code Azat’s Blog: WebAppLog.com

Picks

Charles

Gardenscapes Starcraft II The Osiris Method

Azat

Echo JS

JSJ 302: Evaluating Web Frameworks with Kitson Kelly

Feb 27, 2018 53:44

Description:

Panel: 

Charles Max Wood

Aimee Knight

AJ O'Neal

Special Guests: Kitson Kelly

In this episode, the JavaScript Jabber panelists talk with Kitson Kelly about evaluating web frameworks. Kitson is currently in Australia working for ThoughtWorks as a principle technologist. He has written many articles on frameworks and urges that people don’t get stuck on one framework in their programming. He talks about how using only frameworks that you know could hurt you in the long run. This episode is great for understanding when to use certain JavaScript frameworks and how branching out from what is comfortable might make your job easier.

In particular, we dive pretty deep on:

Articles on web frameworks How do you pick a JavaScript framework to use? The framework depends on your changing needs Recommending less popular frameworks Angular, Ember, React React vs Redux Certain domains with different frameworks? Each framework takes a different approach How to decide which framework to use? Only give it a couple days to see if your app works with the framework Is it ever appropriate to not use a certain framework? Frameworks are there to make your job easier Don’t be afraid to try new frameworks Choose a framework that will “be there tomorrow” What is the future for frameworks? Experiment and be honest with what you need And much, much more!

Links:

Linode ThoughtWorks Kendo UI LootCrate @KitsonK Kitson’s GitHub

Picks:

Charles

Facebook The 12 Week Year by Brian P. Moore Google Drive for Business

Aimee

Would College Students Retain More If Professors Dialed Back The Pace? URL to PDF Converter CSS History

AJ

Tylenol Cold and Flu Severe

Kitson

Microsoft Azure Zype

MJS 049: Sean Merron

Feb 21, 2018 58:56

Description:

Panel: Charles Max Wood

Guest: Sean Merron

This week on My JavaScript Story, Charles speaks with Sean Merron. Sean is currently in Austin, Texas and is originally from Virginia Beach, Virginia. He is a full-time software engineer, and has been for a little over 15 years now, and runs a podcast called 2 Frugal Dudes. He first got into programming when he was in high school and went to a trade school for computer networking. This trade school really gave him a leg up with his certifications and led him to his first job where he did tech support for an office. Sean urges new programmers to always have a project and to never be afraid to learn something new.

In particular, we dive pretty deep on:

2 Frugal Dudes How did you get into programming? CCNA and A+ certification Frist experience learning programming AP Computer Science C++ and Java How did you get into JavaScript? Gaming led to him wanting to build websites GeoCities HTML files HTML application Any advice for new programmers? Scripting Life-long learning What have your contributed to the programming community? Teaching, meetups, and conferences How did 2 Frugal Dudes come about? The importance of learning about finances The goal of podcasts His podcast audience demographics They discuss finances in layman’s terms What are you working on now and what are your future plans? And much, much more!

Links: 

Linode 2 Frugal Dudes EarlyRetirementRoadmap.com @SeanMerron

Picks

Charles

React and View Podcast coming up PodWrench.com

Sean

Mr. Money Mustache BogleHeads The Little Book of Common Sense Investing by John Bogle

JSJ 301: CSS Grids: The Future of Frontend Layout with Dave Geddes

Feb 20, 2018 1:03:42

Description:

Panel: 

Charles Max Wood

Aimee Knight

Cory House

AJ O'Neal

Joe Eames

Aaron Frost

Special Guests: Dave Geddes

In this episode, the JavaScript Jabber panelists talk with Dave Geddes about CSS Grids. Dave quit his job about a year ago and has been living the entrepreneur and programmer life since then. Now, he builds mastery games to help people learn CSS. Dave discusses the differences between Flexbox and CSS Grid and how the games that he creates can help people learn CSS Grid in a fun and interactive way.

In particular, we dive pretty deep on:

CSS Mastery games FlexboxZombies.com GridCritters.com Uses spaced repetition and delayed recall to learn CSS Grid Flexbox CSS Grid as the cake and Flexbox as the frosting Edge spec What Flexbox can do Sub-Grids Geddski.com Nesting Grids Old Grid vs New Grid layout Why would you move from Flexbox to CSS Grid? CSS Grid tools GridByExample.com Education and Gamification Pick a UI that interests you For a discount on Grid Critters: enter JS Jabber for 20% off And much, much more!

Links:

Linode FlexboxZombies.com GridCritters.com Geddski.com GridByExample.com FreshBooks @Geddski

Picks:

Charles

R Pods Earphones

Aimee

NEU Cleanse “At Age 6, Girls Are Less Likely to Identify Females As ‘Really, Really Smart’”

Cory

Cory Tweet

AJ

How to Start a Startup Made in America by Sam Walton

Joe

The Dungeoneers by John David Anderson NG Conf

Aaron

Fire and Fury by Michael Wolff

Dave

They Are Billions

MJS 048: JC Hiatt

Feb 14, 2018 34:01

Description:

Panel: Charles Max Wood

Guest: JC Hiatt

This week on My JavaScript Story, Charles speaks with JC Hiatt. JC is a 25-year-old software consultant from Jackson, Mississippi. He first got into programming in the 7th grade when he had the desire to create a website. He has since done a lot of work with WordPress, helped to found DevLifts, and much more. Now, he is doing a lot of little things to help make an impact on the programming world, including running multiple podcasts and creating tutorials for new programmers.

In particular, we dive pretty deep on:

How did you get into programming? w3schools.com HTML and CSS What got you into JavaScript? Hackers HackThisSite.com jQuery WordPress What are you most proud of? Tutorial involving React and WordPress Consulting Cryptocurrencies Podcast: HODL Daily DevLifts and DevLifts Podcast Cryptocurrency interest Balance And much, much more!

Links: 

Linode w3schools.com DevLifts Website and Podcast HODL Daily Podcast FreshBooks JCHiatt.com @JCHiatt  

Picks

JC

CSS Grid The Punisher

Charles

Artemis by Andy Weir Star Wars: The Last Jedi React Dev Summit

JSJ 300: Celebration

Feb 14, 2018 56:58

Description:

Panel: 

Charles Max Wood

Aimee Knight

Cory House

AJ O'Neal

Joe Eames

Special Guests: None

In this episode, the JavaScript Jabber panelists speak on where they are what they are up to today. Aimee is still in Nashville, Tennessee, and it is currently working at

Built Technologies and is working with JavaScript. Cory is still authoring courses for Pluralsite, has more recently been doing consulting with React, and is the principal engineer at Cox Automotive. Joe is doing a lot of Pluralsight work, puts together conferences, and is working on a new podcast with Charles. AJ recently did some side work with Dash, is interested in working on a new domain service, and recently got married. Charles is currently at ngATL conference, and has been attending a lot of conferences recently. He is also starting to head over to the video realm and is creating a new podcast called React Roundup and a View Podcast with Joe. They also talk about what they each have planned in the upcoming year for their careers and their lives.

In particular, we dive pretty deep on:

Built Technologies JavaScript Front End and Full Stack Pluralsite React consulting Cox Automotive Front end apps View and React podcast Angular JS to Angular Pluralsight courses Big Picture React courses Fork of Bitcoin called Dash New domain service ngATL React Roundup Podcast New podcasts on artificial intelligence, IOT, augmented and virtual reality game development, python Node, JavaScript, and Rust And much, much more!

Links:

Linode Built Technologies Pluralsite Cox Automotive Dash ngATL DevChat.tv Youtube FreshBooks

Picks:

Charles

ATR2100 Microphone Zoom H6 Apple AirPods ngATL ngGirls

Aimee

Improving Ourselves to Death What Does Code Readability Mean?

Cory

JavaScript Tip Tweet  

AJ

How to Start a Startup YouTube Series Singham Movie  

Joe

WebFlow.com

MJS 047: Tim Caswell

Feb 9, 2018 41:44

Description:

Panel: Charles Max Wood

Guest: Tim Caswell

This week on My JavaScript Story, Charles speaks with Tim Caswell. Tim got into programming when he was a kid and would mess around on a Commodore 64 he had found. He next moved onto writing games in Cue Basic, and once the internet came into play in the mid to late 90’s, his programming really took off, especially after he got Windows. Tim has since written his own language based on Lua, called Luvit, worked on browser-based IDE systems, like Cloud 9, and so much more. After working on many projects and programs over the years, he is now focusing on building his startup. His advice is to always balance your needs with what you can do and make sure that you are always moving forward.

In particular, we dive pretty deep on:

How did you get into programming? Commodore 64 386SX Games in Cue Basic CompuServe SweetSharks.com startup JavaScript and HTML Learning about CPUs in college Studied at Central Arkansas originally C++ Software engineering at UT Dallas Connect Framework NVM in Bash Luvit computer language Polyglot startup New product, SDK, coming soon Daplie Balance and moving forward Getting paid for value His mission The power to create and to inspire And much, much more!

Links: 

Fresh Books Linode @CreationIX  

Picks

Tim

Daplie Upcoming SDK Beaker Browser Secure Scuttle Butt

Charles

CES Upside.com (CODE: VGCU7O)

JSJ 299: How To Learn JavaScript When You're Not a Developer with Chris Ferdinandi

Feb 7, 2018 1:11:42

Description:

Panel: 

AJ O’Neal

Joe Eames

Aimee Knight

Special Guests: Chris Ferdinandi

In this episode, JavaScript Jabber panelist speak with Chris Ferdinandi. Chris teaches vanilla JavaScript to beginners and those coming from a design background. Chris mentions his background in Web design and Web Develop that led him JavaScript development. Chris and the JSJ panelist discuss the best ways to learn JavaScript, as well as resources for learning JavaScript. Also, some discussion of technologies that work in conjunction with vanilla JavaScript.

In particular, we dive pretty deep on:

Teaching JavaScript - Beginners and Design patrons Web Design and Web Development CSS Tricks  Todd Motto How to do jQuery Things without jQuery Doing things like mentors (Todd) When JavaScript makes sense. CSS is easier to learn then JS? Being good at CSS and JS at the same time? How about Node developers? jRuby, DOM Documentation And much more!

Links:

https://github.com/cferdinandi https://gomakethings.com @ChrisFerdinandi https://www.linkedin.com/in/cferdinandi  

Picks:

AJ

Discover Card Mistborn 

Aimee

Your Smart Phone is Making You Stupid… Crypto Currency

Joe

Mystic Vale Kedi

Chris

https://gomakethings.com Teva Mush

MJS 046: Donovan Brown

Feb 1, 2018 53:50

Description:

Panel: 

Charles Max Wood

Guest: Donovan Brown

This week on My JavaScript Story, Charles speaks with Donovan Brown. Donovan is a principle DevOps Manager at Microsoft. Donovan talks about his journey into programming starting in the 8th grade with Cue Basic to college and writing games in Cue Basic. Donovan talks about different avenues of programming and working independently, and being entrepreneurial, and finally getting a call from Microsoft. Donovan tells many great high energy stories and shares his enthusiasm in his career in DevOps. This is a great episode to hear the possibilities in the programming and developer world.

In particular, we dive pretty deep on:

How did you get into programming? 8th grade Cue Basic Computer Math  Cue Basic Selling notes  -  Chemistry class Board Game creation Teach yourself C in 21 days Change majors Work at Compaq Computers and go promoted as a software engineer Independent, then into Dev Ops Notion Solutions Ending up in Microsoft doing DevOps Hot Topic  - Dev Opts  - Release BrianKellerVM Demos DevOps and the Process Visual Studio and people Pain Points Programmers - Permission to do your job? JQuery Yeoman Generator  Power Shell Plugin Open source and Contributions to the community DevOps Interviews Podcast and much, much more!

Links: 

http://donovanbrown.com https://github.com/DarqueWarrior @DonovanBrown DevOps Interviews Podcast 

Picks

Donovan

Visual Studio Code 

Charles

Installing Windows 10  Docker Support for Windows 

JSJ 298: Angular, Vue and TypeScript with John Papa

Jan 31, 2018 1:03:04

Description:

Panel: 

Charles Max Wood

Cory House

Joe Eames

Aimee Knight

Special Guests: John Papa

In this episode, JavaScript Jabber panelist speak with John Papa. John has been doing web programming for over twenty years on multiple platforms and has been contributing to the developer communities through conferences, authoring books, videos and courses on Pluralsight.

John is on the show to discuss an articles he wrote on A Look at Angular Along Side Vue, and another article on Vue.js  with TypeScript. John talks about the new features with the different versions of Angular technologies, anxiety in the different features, comparisons between the technologies and use case with Angular.

In particular, we dive pretty deep on:

A look at Angular Along Side Vue - Article Angular 5, Amber,Vue,  React, Angular Angular 2 - different features CLI Spell Webpack Comparisons - Why the anxiety? Opinions of Angular and sprinkling in other technologies Vue is the easy to use with Angular Are there breakpoints with the uses case? Choosing technologies Talk about working with Vue and Angular DSL - Domain Specific Language Vue and 3rd party libraries Talk about Vue working with TypeScript Vue.js  with TypeScript Vue with TypeScript looks similar to Angular Vetur What does 2018 have in store for Angular? Native apps and web functionality And much more!

Links:

https://johnpapa.net Vue.js  with TypeScript A Look at Angular Along Side Vue @john_papa https://github.com/johnpapa

Picks:

Corey

cypress.io

Charles

E Myth Revisited Profit First  Dunkirk

Aimee

Crucial Conversations  Ripple or XRP

Joe

The Greatest Showman Better Late Then Never Vue 7 Languages In 7 Weeks  - Book

John

Jumanji 2017 Emotional Intelligence

MJS 045: Gant LaBorde

Jan 25, 2018 49:00

Description:

Panel: 

Charles Max Wood

Guest: Gant LaBorde

This week on My JavaScript Story, Charles speaks with Gant LaBorde. Gant is a regular in React Native Radio of Dev Chat TV. Gant works for Infinite Red and works with Ignite, a toolkit/framework for React Native. Infinite Red is a mobile app consulting company.

Gant talks about his journey in programming and working in the development world. Gant describes his early introduction to programming through the fascination of home computers and friends. Gant talks about his experience in learning  Javascript, PHP, Data Base, Desktop apps, and much more. Lastly, Gant talks about his contributions to React Native, and other platforms, and his current projects.

In particular, we dive pretty deep on:

How did you get into programming? Got into programming by help his dad with technology and computers Started his intro into programming through a friend programming on their home computer Basic AOL world - Visual Basic Programming Backend web ASP PHP Javascript talk Typescript talk Cardboard talk How did you get into React Native? Ruby Motion Building the Story How does React Native allow you to build the story? Components and structures Reactotron  What are you working on now? Out of sync Yarn files and much, much more!

Links: 

https://infinite.red https://infinite.red/ignite http://blog.npmjs.org/post/81600398588/npm-install-ben-coe-g Yargs InstanbulJS gantlaborde.com  

Picks

Gant

Chain React Conference

Charles

Avengers Infinity  forum.devchat.tv Donate React Podcast for Dev Chat TV 

JSJ 297: Scrollytelling with Russell Goldenberg and Adam Pearce

Jan 24, 2018 42:12

Description:

Panel: 

Charles Max Wood

Joe Eames

Aimee Knight

Special Guests: Russell Goldenberg and Adam Pearce

In this episode, JavaScript Jabber panelist speak with Russell Goldenberg and Adam Pearce Russell creates visualizations, interactive graphics, and documentaries for the web. Currently an editor at The Pudding.  Adam is a graphics editor at The New York Times and a journalist engineers/developer  Russell and Adam are on the show to talk about what Scrollytelling is, as well as Scrollama. Scrollama is a modern and lightweight JavaScript library for scrollytelling using IntersectionObserver in favor of scroll events. This is a great episode to understand another technology/tool created with JavaScript.

In particular, we dive pretty deep on:

What is Scrollytelling! Graph Scroll library What is the intersection Observerable? How long does it take to build an interactive graphic…? How do you test something like this? Test on a lot of different devices Can you do automated testing? Do you have to understand the use cases or can you implement quickly? Recommendation for getting started? Is this a skill set people have to have before that some on board? How do design these interactions? Scroll jacking What JS developers should know about this technology. Position sticky What are other uses cases? What can devs use it for? Tax calculator And much more!

Links:

  https://github.com/russellgoldenberg/scrollama https://pudding.cool/process/introducing-scrollama/ @codenberg @adamrpearce https://pudding.cool/ http://russellgoldenberg.github.io https://github.com/1wheel?direction=desc&sort=created&tab=stars https://roadtolarissa.com

Picks:

Adam

Dominion - Broad Game

Charles

Smoker Tiny Epic Galaxies Indiegogo Dev Chat TV

Aimee

Deadlines Quest Protein Powder

Joe

Giving! Board Game - Azul

Russel

Crokinole Bust Out

MJS 044: Ben Coe

Jan 17, 2018 35:11

Description:

Panel: 

Charles Max Wood

Guest: Ben Coe

This week on My JavaScript Story, Charles speaks with Ben Coe. Ben is the co-founder of attachments.me. Currently, work for NPM, and had worked for Freshbooks where he began his professional development career.  Ben talks about his journey into programming and learning JavaScript, and the many experiences into his successful dev career. Ben shares his contributions to the Javascript community and the open source world with technologies like Yargs and InstanbulJS.

In particular, we dive pretty deep on:

How did you get into programming? Noodling around with old computers from Waterloo Geo cites How did you get into Javascript? Working at Freshbooks Backend infrastructure at NPM How did you end up working at NPM? Operations person at NPM Dev Ops What was it like being there in the early days? Automation Yargs InstanbulJS Product management at NPM C8 What is next? and much, much more!

Links: 

https://github.com/bcoe @BenjaminCoe http://blog.npmjs.org/post/81600398588/npm-install-ben-coe-g Yargs InstanbulJS

Picks

Ben

https://www.hackillinois.org C8 tool

JSJ 296: Changes in React and the license with Azat Mardan

Jan 17, 2018 57:34

Description:

Panel: 

Charles Max Wood

Cory House

Joe Eames

Aimee Knight

Special Guests: Azat Mardan

In this episode, JavaScript Jabber panelist speak with Azat Mardan. Azat is a return guest, previously on JSJ Episode 230. Azat is an author of 14 books on Node JS, JavaScript, and React JS. Azat works at Capital One on the technology team. Azat is the founder and creator of Node University.

Azat is on the show to talk about changes in React and licensing. Some of the topics cover Facebook,  licensing with React, using the wrong version of React, patent wars, and much more in-depth information on current events in React.

In particular, we dive pretty deep on:

Facebook - Licensing with React Using the Wrong version of React in some companies BSD licensing Patent wars Facebook developing React Difference in Preact and Inferno Rewriting applications What did Capital One do about the changes? React 16 Pure React Was the BSD patents - Med and Sm Companies Patents explained React Developers at Facebook Fiber - New Core Architecture And much more!

Links:

http://azat.co https://node.university https://devchat.tv/js-jabber/230-jsj-node-at-capital-one-with-azat-mardan

Picks:

Cory

Axel Rauschmayer post Prettier

Charles

Indiegogo for Dev Chat forum.devchat.tv

Aimee

Dev Tees Hacker News - Question on Stack Exchange and Estimates 

Joe

Heroku  El Camino Christmas

Azat

PMP  Azat - Short Lecture

MJS 043: Nick Disabato

Jan 11, 2018 28:15

Description:

Panel: 

Charles Max Wood

Guest: Nick Disabato

This week on My JavaScript Story, Charles speaks with Nick Disabato. Nick is a return guest how was recent on JavaScript Jabber episode 283   talking about AB testing. Also, Nick is an interaction designer from Chicago and runs a consultancy called Draft, who do research AB testing for online stores to increase conversion rate without increase ad spend. Nick talks about his current work, and his journey into programming, more on testing, and contributions to the JavaScript Community.

In particular, we dive pretty deep on:

How much programming do you do day today? Programming activities Interacting with programmers to deliver products What was your introduction to programmer Logo - Turtle Cue Basic How did that get you to where you are today? Did not want to be a mathematician Never been to art school? Being a creative person but not visual Describe the creative, design, position you are in. Wire Frames Verbal communication Web development, etc. Front facing pages How did you get into JavaScript and how much do you have to know? Where are the bottlenecks? Which framework is the best? What are you working on now? and much, much more!

Links: 

https://draft.nu https://nickd.org/bio/ draftsletters.com @nickd

Picks

Charles

Dash Pro  convo.com

Nick

Visual Web Optimizer  Designing for Accessibility 

JSJ 295: Developers as Entrepreneurs with Ryan Glover

Jan 9, 2018 1:05:42

Description:

Panel: 

Charles Max Wood 

Cory House

Joe Eames

Aimee Knight  

Special Guests: Ryan Glover

In this episode, JavaScript Jabber panelist speak with Ryan Glover. Ryan is on JavaScript Jabber to talks about Entrepreneurship as a developer.  Ryan runs Clever Beagle in Chicago Illinois. Clever Beagle is a mentorship company that helps people build their first software Product. Ryan and the panel discuss the many roads of entrepreneurship, startup business ideas, servicing and teaching the community, how to’s, and psychological challenges, hiring, seeing your ideas through to the end, and privilege. 

In particular, we dive pretty deep on:

How do you get started as an entrepreneur?  Clever Beagle The Meteor Chef Where are people getting stuck on the builds?  Fear, unknowns Simple, but not easy  Drive and ability to step into the unknown Survival of the fittest Hire before you are already  Losing your marbles Starting on a smaller scale How do I know my idea is going to work?  Book - Brick by Brick Multiple lines of business Managing a portfolio of business  Revenue streams  Marketing  Quitter When do I quit?  6-12 months of cash before you quit Making mistakes in entrepreneurship? Be a reader and study Go out a read books!  Experiential not taught  Luck and Privilege Video - Life of Privilege Explained in a $100 Race Procrastinate on Purpose And much more! 

Links:

Clever Beagle  The Meteor Chef https://www.linkedin.com/in/ryangglover http://www.ryanglover.net Brick by Brick Quitter Procrastinate on Purpose Do Thing That Don’t Scale @rglover

Picks:

Cory

The Power of Moments The 50th Law

Charles

ReactDevSummit.com Indiegogo for Dev Chat .NetRocks

Aimee

Life of Privilege Explained in a $100 Race

Joe

Everybody Lies Murder on the Orient Express  

Ryan

Turning Pro - Steven Pressfield series The Power of Beliefs in Business

MJS 042: Kassandra Perch

Jan 5, 2018 50:27

Description:

Panel: 

Charles Max Wood

Guest: Kassandra Perch

This week on My JavaScript Story, Charles speaks with Kassandra Perch. Kassandra is a return guest from JavaScript Jabber episode 197. Kassandra is a developer relations engineer for IOpipe, that does AWS Lambda monitoring and visibility in the server-less space. 

Kassandra talks about her journey into program through game sharks or programming game cartridges. Also, furthering her interest in programming was taking computer science courses in college, and getting a part-time job in the technology field during college while networking. Kassandra shares her favorite contributions to javascript and open source projects. 

In particular, we dive pretty deep on:

How did you get into programming? Game Sharks Game Cartridges Austin Meetup Group and JavaScript Working in the open source community  College courses Contributions - Nodebotanist  Interest in education  and being autistic  Child of a teacher  Serving the community  Helping people with projects  IOT - Internet of Things Building Robots Serverless  What are you working on now?  AVR Girl and much, much more!

Links: 

https://www.iopipe.com https://github.com/nodebotanist https://github.com/noopkat/avrgirl http://johnny-five.io IOpipe

Picks

Kassandra

Sue Hitten Johnny 5  Serverless Framework 

Charles 

VS Code Azure pluggin  Serverless Framework Amanda Silver interview  More VS Code Interviews on Dev Chat TV

JSJ 294: Node Security with Adam Baldwin

Jan 4, 2018 1:08:31

Description:

Panel: 

Charles Max Wood

AJ O’Neal

Joe Eames

Special Guests: Adam Baldwin

In this episode, JavaScript Jabber panelist speak with Adam Baldwin. Adam is a return guest and has many years of application security experience. Currently, Adam runs the Node Security Project/Node Security Platform, and Lift Security. Adam discusses the latest of security of Node Security with Charles and AJ. Discussion topics cover security in other platforms, dependencies, security habits, breaches, tokens, bit rot or digital atrophy, and adding security to your development.

In particular, we dive pretty deep on:

What is  the Node Security Project/Node Security Platform Dependency trees NPM Tokens and internal data What does Node Security do for me? NPX and NSP Command Line CIL Bit Rot or Digital Atrophy How often should you check repos. Advisories If I NPM install? Circle CI or Travis NSP Check What else could I add to the securities? Incorporate security as you build things How do you find the vulnerabilities in the NPM packages Two Factor authentication for NPM Weak Passwords OL Dash? Install Scripts Favorite Security Story? And much more!

Links:

Node Security  Lift Security https://github.com/evilpacket @nodesecurity @liftsecurity @adam_baldwin

Picks:

Adam

Key Base Have I been Pwned?

Charles

Nettie Pot  convo.com

AJ

This Episode with Adam Baldwin Free the Future of Radical Price Made In America Sam Walton Sonic - VGM Album

Joe

Pych - Movie NG Conf Why We Don’t Suck

JSJ 293: Big Data with Nishant Thacker

Dec 28, 2017 34:16

Description:

Panel: 

Charles Max Wood

Special Guests: Nishant Thacker

In this episode, JavaScript Jabber speaks with Nishant Thacker. Nishant is the technical product manager for all things big data at Microsoft. Nishant mentions the many new technologies and announcements he is in-charge of at Microsoft.

Nishant is on the show to talk about Big Data and gives advice on how to process data and acquire deep insight of your customers. This is a great episode to understand the development of data systems that are the backbone of some marketing tools.

In particular, we dive pretty deep on:

Processing Metrics Processing into report and usable information Data lake Collecting data points Creating and maintaining the data lake in its raw form Scale up engines and limits Commodity machines and leverage Big data means to scale out Specialized engines for audio and video files How to have a cohesive report? Writing and Querying across data Storing raw data and retrieve data Data cluster What does the data box look like? And much more!

Links:

https://www.linkedin.com/in/nishantthacker @nishantthacker

Picks:

Nishant

Robot I

Charles

Zoom H6 Shure SM 58 Lavalier Mics

MJS 041: Austin McDaniel

Dec 28, 2017 40:10

Description:

Panel: 

Charles Max Wood

Guest: Austin McDaniel

This week on My JavaScript Story/My Angular Story, Charles speaks with Austin McDaniel. Austin is a return guest and was previously featured on JavaScript Jabber episode 275 . Austin talks about his journey getting into programming as an 11year old, to recently, as a web developer with more complex technologies. Austin talks about building widgets, working in Angular, JavaScript, and more in-depth web development on many different platforms. Lastly, Austin talks about his contributions to NGX Charts and speaking at a variety of developer conferences.

In particular, we dive pretty deep on: 

How did you get into programming? 11 years old Cue Basic Web developer College jobs was in web developing IE6 Building Widgets Components jquery  Web is the future How did you get into Angular? 2013, v1.2 Backbone Angular 1 & 2 NG X Charts Speaking at Conferences Augmented Reality and VR Web AR Angular Air Podcast Working as a contractor with Google and much, much more!

Links: 

JavaScript Jabber episode 275 jquery http://amcdnl.com Angular Air Podcast @amcdnl github.com/amcdnl  

Picks

Austin

Todd Motto 

Charles

NG Conf Angular Dev Summit Angular Air Podcast

MJS 040: Kitson Kelly

Dec 22, 2017 48:13

Description:

Panel: 

Charles Max Wood

Guest: Kitson Kelly

This week on My JavaScript Story, Charles speaks with Kitson Kelly. Kitson is a return guest, previously on JavaScript Jabber 277. Kitson is the CTO at SitePen, and has been working and maintaining Dojo 2 for the last couple years.

Kitson talks about his journey as a developer. First, sparking his interest with old Atari games and getting his first computer in his early years.  Kitson talks about his education background and introduction to computers in high school and hang out with other in the same programming niche. Kitson talks about his challenges not having a degree in computer science, but still very successful as a developer after climbing the corporate latter.

In particular, we dive pretty deep on:

Atari Games and old first computer Hangout with the computer nerds Community college No actual formal computer science degree Tech Support and Self Taught Challenges with not degree Climbing the latter Troubles even with a degree Is a degree in computer science really needed? Experience verses degree Working with other people is important Getting into JavaScript and Dojo What kept you working in JavaScript How do you get to being CTO and SitePen? What are you most proud of with the work on Dojo Contributions Side Projects  - Dojo 2 and much, much more!

Links: 

https://github.com/kitsonk Kistson Kelly https://www.sitepen.com https://dojo.io

Picks:

Kitson

SVG  Noun Project

Charles

adminlte.io Ruby on Rails, Jquery podwrench.com

JSJ 292: CosmosDB with Kirill Gavrylyuk

Dec 20, 2017 29:59

Description:

Panel: 

Charles Max Wood

Special Guests: Kirill Gavrylyuk

In this episode, JavaScript Jabber speaks with Kirill Gavrylyuk. Kirill is a dev manager at Cosmos DB, and works professionally with Azure CosmosDB. Kirill is on JavaScript Jabber to talk about what CosmosDB is in the world of development technology. Chuck and Kirill discuss the nuances of this database technology, how it is implemented, and how to manage and migrate data, among other great features.

In particular, we dive pretty deep on:

What is Cosmos DB? Bring your data anywhere your users are It is a website Multimodel database Works with Mongodb  Cassandra Started as database DB Throughput Key data pairs Switching from MongoDB to Azure How do you decide what goes into this? It looks like an everything database. Migration path Uses cases, problems solved Supporting APIs Does it only exist in the Cloud? An emulator is available. Subscription info. And much more!

Links:

@kirillg-msft https://www.linkedin.com/in/kirillgavrylyuk

Picks:

Kirill

Shared Debugging with VS Code - Keynote

Charles

USB Powered Monitor on Amazon 

 

 

 

MJS 039: Tyler Renelle

Dec 13, 2017 47:44

Description:

Panel: 

Charles Max Wood

Guest: Tyler Renelle

This week on My JavaScript Story, Charles speaks with Tyler Renelle. Tyler is a contractor and developer who has worked in many web technologies like Angular, Rails, React and much more! Tyler is a return guest, previously on Adventure in Angular and JavaScript Jabber talking Ionic and Machine learning.

Tyler has recently expanded his work beyond JavaScript and is on the show to talk his interest in AI or Artificial intelligence and Machine Learning. Furthermore, Tyler talks about his early journey as a game developer, web developer, and work with some content management systems, and more recently, his development in various technologies.

In particular, we dive pretty deep on:

Writing games out of college Studies computer science in college Did web development to pay for college working with PHP and ASP Content management Working with various technologies Working with React, is this it? Problems React has solved with web apps What is the next big innovation? View Creating Podcasts Machine Learning Specialized application of AI NLP Never use his computer science degree as a web developer You don’t study code to be a developer AI and machine learn is based on Computer Science Tensor Flow Data Skeptic - podcast Performance Graphics cards Philosophy of Consciousness The subjective experience Job displacement phenomenon and much, much more!

Links: 

http://ocdevel.com http://ocdevel.com/podcasts/machine-learning Tensor Flow Data Skeptic - podcast https://devchat.tv/js-jabber/jsj-278-machine-learning-tyler-renelle https://www.linkedin.com/in/lefnire

Picks

Tyler

The Great Courses 

Charles

CES Email beforehand and set up an appointment VRBO.com Autonomous.ai  

JSJ 291: Serverless For JavaScript with Gareth McCumskey

Dec 12, 2017 54:26

Description:

Panel:

Charles Max Wood 

Aimee Knight

AJ O’Neal

Joe Eames 

Special Guests: Gareth McCumskey

In this episode, JavaScript Jabber speaks with Gareth McCumskey about Serverless For JavaScript. Gareth leads the dev team at Expat Explore in Cape Town, South Africa. Gareth and this team specialize in exploring the Serverless realm in JavaScript. The JavaScript Jabbers panel and Gareth discuss the many different types of serverless systems, and when to implement them, how serverless system work, and when to go in the direction of using Serverless. 

In particular, we dive pretty deep on:

What does it mean to be Serverless?  Since platform as a service. Microservice on Docker  Firebase “no backend”  Backend systems  Cloud functions and failure in systems  How do you start to think about a serverless system?  How do decide what to do? AWS Lambda  Working in a different vendor Node 4  Programming JS to deploy  Using libraries for NPM How is works with AWS Lambda Where is the database? More point of failure?  Calls to Slack? Authentication Micro Services Elastic Bean Stalk Static Assets, S3, Managing Testing the services  Integration testing And much more! 

Links:

@garethmcc @expatexplore gareth.mccumskey.com https://github.com/garethmcc serverless.com

Picks:

Aimee

Serverless Architectures  NG-BE Conference 

AJ

Documentary on Enron Hard Thing about Hard Things 

Charles

Serverless Framework The Storm Light Achieves  Avengers: Infinity War

Gareth

Building MicroServices  Skeptics Guide To The Universe Podcast Expate Explore 

Joe 

Wonder -  Movie Gloom In Space - Board Game   

MJS 038: Peter Cooper

Dec 6, 2017 52:17

Description:

MJS 038: Peter Cooper

Panel: 

Charles Max Wood

Guest: Peter Cooper

This week on My JavaScript Story, Charles speaks with Peter Cooper. Peter was one the original panelist on Ruby Rogues and JavaScript Jabber. Currently, Peter runs several weekly new letters on JS, Ruby, Go, React, etc. Peter talks about his journey as a programmer, which started at an early age tinkering with his father’s computer at home. Peter describes the beginning as a hobby until he learned the skills to being programming on many platforms. Peter talks about how he learn Ruby and JavaScript, and in early stages of noodling or learning code. Lastly, Peter talks about his contributions to the community and giving back.

In particular, we dive pretty deep on:

How did you get into programming? Playing with computers at an early age Computers were a hobby, rather than a career builder then Being heavily into to anything can become your career, age does not matter Finding the skill or passion in programming Natural ability to see and make sense of code UseNet AJax Directness Blogging  New Letters rubyflow.com What is the ultimate goal of the new letters? Contributions Helping host podcasts Current work? and much, much more!

Links: 

http://peterc.org https://rubyweekly.com https://github.com/peterc/ Cooper Press

Picks

Peter

Litmus Cheap Gaming consoles on eBay Jason Scott of archive.org

Charles

Hyper Drive J5 Dash Pro In-Ear Headphones

 

 

JSJ 290: Open Source Software with Dirk Hohndel - VMWare Chief Open Source Officer

Dec 5, 2017 1:13:59

Description:

Panel:

Charles Max Wood

Aimee Knight

Corey House

Joe Eames

Special Guests: 

In this episode, JavaScript Jabber speaks with Dirk Hohndel about Open Source Software. Dirk is the Chief Open Source Officer at VMWare and has been working with open source for over 20 years. Dirk duties as the Chief Open Source Officer is to engage with the open source community and help promote the development between the community, companies, and customers.

Dirk provides historical facts about open sources to current processes. The discussion covers vision and technological advances with languages, security, and worries of using open source software, view/consumption and burnout on maintaining a project. This is a great episode to learn about more different avenues of Open Source.

In particular, we dive pretty deep on:

What does the Chief Open Source Officer do? What is really different and has stayed the same in open source? Technological advances Good engineering and looking ahead or forward 100 million lines of code running a car… This is in everything.. Production environments Security Bugs in the software and the security issues Scaling and paying attention Where should we be worried about open source Notation and data sets Write maintainable software How does VMWare think about open source? View and Consumption of open source The burnout of open source projects - how to resolve this abandonment To much work to maintain open source  - not a money issue Scaling the team workload not the money Contribution and giving back Companies who do and don’t welcome open source What to do to make a project open source? Adopting an API And much more!

Links:

@_drikhh VMWare Drikhh - everywhere! https://github.com/dirkhh

Picks:

Aimee

De Contact  Dodow 

Dirk

Track This Critical Thinking

Charles

Nicholas Zakas - Books 

Corey

Fun Fun Function Show

Joe

Dice Forge Concept of empathy

 

 

MJS 037: Nader Dabit

Nov 30, 2017 38:33

Description:

Panel: 

Charles Max Wood

Guest: Nader Dabit

This week on My JavaScript Story, Charles speaks with Nader Dabit. Nader is a familiar guest on JavaScript Jabber, talking about the state of React Native. Nader is the host of React Native Radio, another podcast on the Dev Chat TV network. Nader is a React Native trainer that does consulting and workshops in major cities in the US.

Nader dives into his background and how he began his journey as a developer. Interestingly, Nader became successful as a developer without any formal training, but, by only learning to code on the job. This is a great episode to learn specific ways to build a career without formal training, and how to present yourself for the job.

In particular, we dive pretty deep on:

React Native Radio and the React Native world React Training and pop up workshops How Nader got into programming Learning HTML and Web Development E-commerce, WordPress Nader talks about getting his first job Positioning  yourself as a developer for success Specialization Presenting yourself for the job How Nader learn to do JavaScript Learning a viable option Ionic What is it about React Native that interest you? React Native In Action - Book! React Native Elements  Sharing Content and much, much more!

Links: 

React Native In Action reactnative.training https://github.com/react-native-training Ideas anyone?

Picks

Nader

Audio Book- A Guide To the Good Life 

Charles

The Way of Kings Scratching your own itch!

 

 

JSJ 289: Visual Studio Code and Live Sharing with Chris Dias and PJ Meyer LIVE at Microsoft Connect 2017

Nov 29, 2017 1:03:26

Description:

Panel:

Charles Max Wood

Special Guests: 

Chris Dias

PJ Meyer

In this episode, Charles is at Microsoft Connect 2017 in NYC. Charles speaks with Chris Dias and PJ Meyer about Visual Studio Code and Live Sharing. Chris and PJ explain more on their demo at Microsoft Connect on Live Collaborative Editing and Debugging. Learn more about the new features with Visual Studio Code and the efficient workflows with screen sharing, and much more.

In particular, we dive pretty deep on:

Demo of Live Collaborative Editing and Debugging explained New Features with VS Code Developer productive Debugging pain points Getting feedback New in VS Code Language support and Java Debugger Live Share Debugging from different machines and platforms Multi-Stage Docker File TypeScript compiler More on debugging with Cosmos db Debugging in the Cloud? Docker Extensions Data Bricks Updated python tools Coming up with Visual Studio Code in the next 6 months TypeScript and Refactoring Getting the word out about code -  Word of mouth? Number of people using VS Code? Envision for what VS Code is becoming? Preparing for a keynote and processes? And much more!

Links:

https://code.visualstudio.com https://github.com/chrisdias GitHub.com/microsoft @code

Picks:

Chris

Pizza

PJ

Deli

Charles

Coupon Pass for tourist in NYC  

MJS 036: Ryan Glover

Nov 23, 2017 32:43

Description:

Panel: 

Charles Max Wood

Guest: Ryan Glover

This week on My JavaScript Story, Charles speaks with Ryan Glover, Ryan is the COO of Clever Beagle. Clever Beagle is a company that helps people create their first products and begin selling to their customers. Clever Beagle uses platforms like  Meteor JS, Node JS, and React to provide frameworks for help build applications.

Ryan describes their business as a technical therapist for bringing ideas to fruition. Ryan shares his journey into programming by learning to build websites with Geocities. Thereafter, Ryan had began his self-taught journey with programming after learning he did not like his college major. Ryan talks about his contribution to the JS community, his website called Meteor Chef designed to help newbies learn to build with Meteor JS.

In particular, we dive pretty deep on:

Learning Geocites Becoming a Self Taught programmer Freelancing Building WordPress websites and learning JS By trade a  being a designer Building with JavaScript Learning about Meteor on Hacker News in 2013 Sacha Greif  Apollo Raw Node JS Understanding Webpack? Gearheads vs. Builders Boilerplates and much, much more!

Links: 

Sacha Greif Clever Beagle https://www.meteor.com https://themeteorchef.com/info/about https://cleverbeagle.com/subcribe @rglover ryanglover.net

Picks

Ryan

Halt and Catch Fire Sacha Greif State of JavaScript Tom Coleman

Charles

React Developer Summit JavaScript Developer Summit How To Find A Job Course  Stranger Things Season 2 moviepass.com

 

 

JSJ 288: TypeScript with Amanda Silver

Nov 22, 2017 1:04:40

Description:

Charles Max Wood

Special Guests: 

Amanda Silver

In this episode, Charles is at Microsoft Connect 2017 in NYC. Charles speaks with Amanda Silver. Amanda is deemed the  TypeScript and future of JavaScript guru, and this year's speakers at Microsoft Connect with Visual Studio Live Share. Amanda shares what is new with TypeScript and how that is a kind of subscript to JavaScript. Amanda explains the big picture of TypeScript’s inception and where she believes the language will be most efficient and effective for JavaScript and TypeScript developers.

In particular, we dive pretty deep on:

What is new in TypeScript? Keep JavaScript and TypeScript aligned TypeScript is implemented to create larger scaled applications Integration with VS Code, etc. Building better tools for JavaScript Developers When would this be taken on by users Defaults in Visual Studio TypeScript replacing JavaScript type service TypeScript is written in TypeScript Chakra runtime Diaspora The different faces of JavaScript Optimized JavaScript runtime Languages should be created with tooling A satisfying tooling experience Foot Guns New Tokens Eco-systems and metadata Multi-phase Minimum common denominator constantly changing Collaborating on the same code Open Source and the impact How to move to open source Contributing The next thing for TypeScript The future of JavaScript And much more!

Links:

@amandaksilver  

Picks:

Amanda

Visual Studio Live Share Instinct of learning technology

Charles

Visual Studio Live Share AI

 

 

 

JSJ 287: Blockchain and JS with Ari Lerner

Nov 14, 2017 56:59

Description:

Panel:

Aimee Knight

AJ O’Neal

Charles Max Wood

Special Guests: 

Ari Lerner

In this episode, Java Script Jabbers speak with Ari Lerner. Ari is the author of NG Book: The Complete Book on AugularJS, Full Stack React,  and a few others.  Ari co-runs newline.co a platform that teaches about the Block Chain, Ethereum, New Contracts, etc. Ari mentions a few upcoming books on Machine Learning, Elixir, and react Native.

Ari gives a rundown on what the Block Chain is about, and an explanation of a Hash. Ari explains the value of a Hash and 6-bit strings of a Hash. Also, Ari explains the exchange of currency in Bitcoin and the rate of exchange in the Block Chain. Next Ari covers web 3.0 and much more.

In particular, we dive pretty deep on:

What is the Block Chain? A Hash? The blockchain is an order of ledger. The blockchain is a  list of transactions How is a Hash used? Sha 256 Bitcoin and Block Chains What If two machines get the same answer? Describe a transaction in a blockchain? Exchanging currency The cost of Bitcoin Web 3.0 Everything on the Block Chain is public! Where else is Block Chain is used besides bitcoin type currency Public Key. What should JS developer be doing to prepare? And much more!

Links:

https://www.ng-book.com/ http://www.newline.co.bw/ The History of Money @Auser Stack.io

Picks:

Amiee

Article -  Learn Block Chain by Building One The Source Bar

Charles

Microsoft Connect - Meet up at 7pm Stranger Thing Season 2

AJ

Spice Labels and Spice Jars Marriage

Ari

Moving to NYC Learn Block Chain by Building One

JSJ 286: Creating a CSS-in-JS Library from Scratch and Emotion with Kye Hohenberger

Nov 8, 2017 50:56

Description:

Panel:

Amiee Knight

Charles Max Wood

Special Guests: 

Kye Hohenberger

In this episode, JavaScript Jabbers speak with Kye Hohenberger. Kye is a developer and co-founder of Side Way. One of Kye’s most notable works and library is Emotion, a CSS and JS library.

Kye talks about what CSS and JS library is about in the context of the Emotion library system. Kye discusses why this is practical for the writing process, in comparison to other types of tools that do similar jobs. Kye explains the how this tool reduces the number of lines of code and is compact and clearer.

In particular, we dive pretty deep on:

What is a CSS and JS library? Controlling CSS with JS, what does this solve? Style bugs What kind of styling are you using vs. complex styles? Media query A more declarative style Using Sass Where do you see people using this? Class names and you can apply to anything How Emotion works! Style tags Object styles What are some of the problems you are solving React Emotion - dynamic styles How does this compare to other style components? Glamor Styles How do you test something like this? Just Glamor React with Emotion Can people use the Babel plugin Pure flag and function calls And much more!

Links:

Emotion.sh Emotion-js/emotion emotion.now.sh @TKH44

Picks:

Amiee

Article on Medium Antibiotics and Steroids RX Bars 

Charles

Disney Emoji Blitz  How To Get A Job  -  JavaScriptJabber.com

Kye

Styled System Face Paint Aussie Bites 

JSJ 285 : Finding a Job Even If You're Not a Senior Developer by Charles Max Wood

Nov 2, 2017 46:30

Description:

Panel:

Charles Max Wood

In this episode of JavaScript Jabber, Charles does a solo episode talking about entrepreneurship and the topic/course on “How to Get a Job.” This is an informative episode for those looking for a job as a developer and how to prepare your resume for your career search. Charles covers the core pieces of the course and specific areas of tailoring your credentials for the job you want to acquire.

In particular, we dive pretty deep on:

How do I get a great job? Companies are only hiring Senior Devs. Your selling point as a Jr. Dev. Framing your experience for the companies to better see your experience. I don’t want a ( this kind of boss) Feeling like you are making a difference in your job. Who do you want to work for, with, where, and how, etc? Working in a facility or remotely. What do you want? Check out the meet-up places or workplaces (WeWork), Glassdoor Check out the people who work that these companies, LinkedIn. Check out company’s Slack rooms, forum, etc. to make connections Visit the companies personally Look into contacting the Meetup Organizers Building rapport Resume mistakes - how to properly format it so it is skim-able Top 3 bullet points and tailor you resume for each job Unnecessary material in your resume - again tailor to the company Important material to include on your resume, contributions on projects The cover letter - How to do this correctly with a personal touch What to do when you get the interview - the offer! And much more!

Links:

devchat.tv/get-a-coder-job-full-accessfull-access WeWork Expert Salary Negotiation

JSJ 284 : Helping Developers Build Healthy Bodies

Oct 26, 2017 57:01

Description:

Panel:

Amiee Knight

Charles Max Wood

Special Guests: 

JC Hiatt

In this episode, JavaScript Jabbers speak with JC Hiatt. JC is a software consultant, and working a starting a company called DevLifts. DevLifts is a company that helps developers learn to live healthier lives. JC mentions this business was base on this health journey.

JC and the panel discuss output and mental clarity to get work done in a healthy fashion. Also, the benefits of eating a healthy diet, rather it is the Keto Diet or others types of healthy clean eating, there is a physical and mental benefit. JC and the panel talk about count macros, healthy food intake, and a basic outline of getting into ketosis. Also, the panel discusses finding the motivation to get into a healthy lifestyle to benefit work and your lifestyle.

In particular, we dive pretty deep on:

Mental Clarity Keto Diet Cutting out processed foods Counting Macros Getting into Ketosis Supporting brain function Motivation for a healthy lifestyle Gaining energy Getting started  - Walking, Eat Whole. Etc. Pack your own lunch Mindset change -  you are responsible for anyone else’s healthy choices Drink Water You can find a healthy balance and practice moderation Cheat day? Sugar Sitting to0 long at work Sleep - brain wave activity, caffeine, and light Naps And much more!

Links:

@jchiatt

@devlifts

devlifts.io

Picks:

Amiee

https://www.womenwhotech.com/panelist-bios https://github.com/AllThingsSmitty/css-protips

Charles

Gunnar blue blockers  Flux ReactDevSummit.com JSDevSummit.com  

JC

American Vandal Confession Tapes  Qalo https://lodash.com

JSJ BONUS: Cloud Services and Manifold with Matthew Creager and Peter Cho

Oct 18, 2017 46:30

Description:

Panel:

Amiee Knight

Charles Max Wood

Joe Eames

Special Guests: 

Matthew Creager and Peter Cho

In this episode, JavaScript Jabbers speak with Matthew Ceager and Peter Cho. Matthew and Peter are part of the team at Manifold. Manifold is a marketplace for developer services. Matthew takes care of growth and relations, and Peter oversee products at Manifold.

The panel discusses with Peter and Matthew what Manifold does and the benefits of a Cloud Service. Matthew gives perspective on how developers can get their cloud product on the market compared to open source.  Further discussion goes into how this will help the developer to get their products or services turned into a business quicker and save time  Also learn about when it is the ideal time to move to cloud services vs. running a server yourself.

In particular, we dive pretty deep on:

Different kinds of definition of Cloud Services Anything you would rely on as a third party service What is the cloud service ecosystem - Services that connect to an application Independent market place -  because it is difficult to turn a product into a business Where are people using cloud services or running their own server Spinning up a version of it is easier. Time verses doing it yourself? Experts running the services Focusing on your product instead of managing the server and such Where does the data live and who has access to that? Lock In’s? Tourist - Credentials management How do I get this setup? Command Line or register online And much more!

Links:

Manifold

https://github.com/mattcreager

@manifoldco

@etcpeter

@matt_creager

blog.manifold.com

Picks:

Amiee

Ryan McDermott

Charles

GitLab  AdminLTE

Joe

What You Can’t Say

Matt

Star Trek Puppeteer

Peter

Player Unknown Battle Ground  Sourdough   by Robin Sloan

JSJ 283: A/B Testing with Nick Disabato

Oct 17, 2017 42:32

Description:

Panel:

Amy Knight

Charles Max Wood

Special Guests: 

Nick Disabato

In this episode, Java Script Jabbers talk with Nick Disabato. Nick is a newbie to JavaScript Jabber. Nick is the founder of Draft, an interaction design agency where he does research driven A/B testing of E-commerce business.

This is a practical episode for those who are running a business and doing marketing for the products and services. Nick talks about A/B testing for a number scenarios within the company, such as for websites, funnels, and various marketing mechanisms. Nick further goes into how this helps companies strategically increase revenue by changing things such as websites design or building funnels.

In particular, we dive pretty deep on:

Testing of changes of Copy, Websites, etc. What does it mean of changes, Tools, Framework, Plugins, etc Does it matter what tools you use? Framework that works within your stack How do make we company money Researching for the next test Testing for conversion rate to decide which design to go implement - Variant Responsibility for the designs Feature and getting pay for the service Learn more about the resources and Copy Hackers Large organization or developers, or a QA department Optimization teams Usability tests and coming up with A/B tests Expertise Why should be care? And much more!

Links:

Draft

Nick Disabato

@nickd

ConversionXL

AB Testing Manual

Wider Funnels 

Copy Hackers

Picks:

Amiee

Nodevember 

Charles

Mike Gehard  Admin LTE

Nick

HotJar.com

JSJ 282: Trails.js with Scott Wyatt

Oct 10, 2017 45:31

Description:

Panel:

Joe Amies

Aimee Knight

Charles Max Wood

Cory House

Special Guests: 

Scott Wyatt

In this episode, JavaScript Jabbers talk with Scott Wyatt. Scott is the Co-founder, CTO, UEX at Cali StyleTechnologies, and is a Node developer and graphic designer.  Scott is on JavaScript Jabber to talk about Trails.js. and its simplistic build, but many useful functions.

Scott mentions that Trails.js was created by Travis Webb. Scott gives us an introduction to the Trails.js framework, as the Jabbers take apart and dive deep into the build, functions, and uses.  Scott goes into what trail packs are, and the similar or related projects. Scott talks about the ease of using trails to build with, and not ending up in frustration.

In particular, we dive pretty deep on:

Trails.js is Node Framework and lightweight or Blueprint Similar to Redux? Is it MVC like Rails You don’t need to understand it, it is all under the hood. Tuple Space Is this sole for server-side rendering? Closest projects - Sails Avoid problems like React. Not dealing with corporations Why would you want to use trails instead of other projects like Sails, rails, etc. How do you get started - trailjs.io Quickest way to learn Trails is to build a Trail Pack Don’t be afraid to kill you darlings Testing It Trails production ready? It is a particular type of app where Trails shines?

Links

trailsjs.io

Travis Webb

Picks

Amy

Full Stack Developers by Brad Frost Tracking Macros

Joe

The Behavior Gap

Charles

Profit First  Keto Diet scott-wyatt/GitHub  

Cory

Never write another high Order Component

Scott

Proxy Engine

JSJ 281: CodeSponsor - Sustaining Open-Source Software through Ethical Advertising with Eric Berry

Oct 2, 2017 1:01:12

Description:

Panel: 

Amie

AJ

Charles Max Wood

Guest: Eric Berry

This week on Ruby Rogues, we interview our very own, Eric Berry, to talk about the sustainability of open-source projects through ethical advertising. The team talks about once open source projects like PhantomJS, Cancan, and many others.

The Rogues dive into the many different scenarios that lead open source projects astray. Problems like working on the project without compensation, be overworked, and no interest are many of the reasons these are not sustained in the long run.

However, are there solutions like donations or sponsorship to sustain such projects? And how do we go about finding funding or compensation for these open source projects? Eric describes that advertising tactics and strategies for open source. Eric talks about his work with Code Sponsor and how they support the open source community with funding.

In particular, we dive pretty deep on:

Ruby Rogues talk about burnout on projects Working on projects for free and the project falls apart Solutions behind the more popular projects like Ruby on Rails and NPM. Lemonade Stand - Sustaining and bounty sourced projects Sponsorship or company supported projects. Crowdfunding - not sustainable, but helps. Donation buttons, do they work? Who would pay developers for this? Developers taking care of other developers Advertising, and helping pay for projects to stay alive! Help developers stay funded without a spam haven. and much, much more!

Links: 

Cancan

PhantomJS

Code Sponsor

Timber 

Rollbar

CoreLogic

TrackJS 

CircleCI

CodeConf. 

Picks

Amie

Positive Experience for Women in Tech Hand Written Cards

Charles

Keto Diet - Fat Head Ruby Dev. Summit

AJ

Real Love by Greg Baer

Eric

Nate Hopkins

Open Collective

CarbonAds.Etc.

JSJ 280: Stackblitz with Eric Simons and Albert Pai

Sep 26, 2017 51:19

Description:

Panel:

Joe 

Amy 

Charles 

 

Special Guests: 

Eric Simmons 

Albert Pai

In this episode, JavaScript Jabbers talk to Eric Simmons and Albert Pai, the co-founder of thinkster.io, where their team teaches the bleeding edge of javascript technology’s various frameworks and backend. Also, with the recent creation of Stalkblitz, which is the center topic of today discussion. 

Stackblitz it an online VS Code IDE for Angular, React, and a few more others are supported. This is designed to run web pack and vs code inside your browser at blazing fast speeds. Eric and Albert dive into the many different advantages and services available by StackBlitz and thinker.io

In particular, we dive pretty deep on:

Similarities  and differences to Heroku  System JS  Stacklets   Testing and creating an in-browser system file system Creating a type of VS Code experience, Working Off Line  Updating of the Stacklets Deployment tools or exporting  Hot Reloading Integrated terminals Monaco Language Services  How do you architect this implementation  The innovation of browsers Guy Bedford  Financing vs. Chipotle Burritos  Will this product in the future cost money

Links

thinkster.io https://medium.com/@ericsimons/stackblitz-online-vs-code-ide-for-angular-react-7d09348497f4 @stackblitz  stackblitz.com

 

Picks

Amy

Promises Series by Andrew Del Prete Crossfit 

Joe

Wholesome Meme Sara Cooper

Charles

Pivotal Tracker  MatterMost  asana.com Zapier

Eric 

realworld.io  David East 

Albert 

thinkster.io Thing Explainer

MJS 035: John-Daniel Trask

Sep 20, 2017 28:27

Description:

Tweet this Episode John-Daniel Trask is the CEO and developer at Raygun.io.

JD and Chuck talk in this episode about learning to program as a kid, the arc of JD's career, and entrepreneurship.

Links:

154 JSJ Raygun.io Error Reporting and Workflow with John-Daniel Trask JSJ 263 Moving from Node.js to .NET and Raygun.io with John-Daniel Trask C C++ Delphi NetScape Navigator VBScript JQuery Mindscape Raygun.io CoffeeScript Visual Studio Scott Hanselman on Dark Matter Developers Tensorflow Stripe @traskjd

Picks:

JD:

Keygen.sh Octopus Deploy JavaScript x86

Chuck:

The Miracle Morning Meditations App Vision Board App LootCrate Game of Thrones Journal Zelda Theme Journal

JSJ 279: ES Modules in Node Today! with John-David Dalton

Sep 19, 2017 56:54

Description:

Tweet this Episode John-David Dalton is probably best known for the Lodash library. He's currently working at Microsoft on the Edge team. He makes sure that libraries and frameworks work well in Edge.

The JavaScript Jabber panel discusses the ECMAScript module system port to Node.js. John wanted to ship the ES module system to Node.js for Lodash to increase speed and decrease the disk space that it takes up. This approach allows you to gzip the library and get it down to 90 kb.

This episode dives in detail into:

ES Modules, what they are and how they work The Node.js and NPM package delivery ecosystem Module loaders in Node.js Babel (and other compilers) versus ES Module Loader and much, much more...

Links:

Lodash ES Module Loader for Node Node CommonJS Babel TypeScript FlowType Microsoft ESM Blog Post Meteor Reify ESM Spec PhantomJS zlib module in Node AWS Lambda NPM Webpack Rollup John-David Dalton on Twitter

Picks:

Cory:

Trending Developer Skills The Devops Handbook

Aimee:

Nodevember ES Modules in Node Today (blog post) Dating is Dead

Aaron:

Ready Player One trailer breakdown Jim Jefferies  Show I Can't Make This Up by Kevin Hart Work with Aaron at SaltStack

Chuck:

Angular Dev Summit ZohoCRM Working on Cars - Therapeutic working with your hands doing physical work

John:

TC39 Proposal for Optional Chaining ToyBox 3D Printer

MJS #034 John-David Dalton

Sep 13, 2017 48:30

Description:

Tweet this Episode MJS 034: John-David Dalton

Today’s episode is a My JavaScript Story with John-David Dalton. JD talked about his contributions to the JavaScript community like Lo-Dash, Sandboxed Native, etc. Listen to learn more about JD!

[01:15] – Introduction to JD

JD has been on JavaScript Jabber. He talked about Lo-Dash.

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

First website

This was when JD was a junior in high school. Then, he got involved with a flight squadron for a World War 1 online game. They needed a website so he created a GeoCities website for them. That’s what got him into JavaScript. He’d have to enhance the page with mouseover effects - cursor trail, etc.

JavaScript

From there, JD started created a Dr. Wiley little-animated bot that would say random things in a little speech bubble with the HTML on your page like a widget. He also passed an assignment turning a web page into an English class paper. He used to spend his lunch breaks learning JavaScript and programming. He also created a little Mario game engine – Mario 1 with movable blocks that you could click and drag and Mario could jump over it. That was back with the document.layers and Netscape Navigator.

Animation

JD wanted to be an animator in animation so he started getting into macro media flash. That led him to ActionScript, which was another ECMAScript-based language. He took a break from JavaScript and did ActionScript and flash animations for a while as his day job too.

PHP and JavaScript

JD started learning PHP and they needed to create a web app that got him right back into JavaScript in 2005. That was when AJAX was coined and that’s when Prototype JS came up. He was reading AJAX blog posts back then because that was the place to find all of your JavaScript news.

JS Specification

JD remembers being really intimidated by JavaScript libraries so he started reading the JavaScript specification. It got him into a deeper understanding of why the language does what it does and realized that there’s actually a document that he could go to and look up exactly why things do what they do.

[06:45] – What was it about JavaScript?

JD has been tinkering with programming languages but what he liked about ActionScript at the time was it is so powerful. You could create games with it or you could script during animations. He eventually created a tool that was a Game Genie for flash games that you could get these decompilers that would show you the variables in the game, and then, you could use JavaScript to manipulate the variables in the flash game. He created a tool that could, for example, change your lives to infinite life, grow your character or access hidden characters that they don’t actually put in the game but they have the animations for it.

JD was led to a page on the web archive called Layer 51 or Proto 51. That was a web page that had a lot of JavaScript or ActionScript snippets. There were things for extending the built-in prototypes - adding array methods or string methods or regex methods. That was how JavaScript became appealing to him. He has been doing JavaScript for almost 20 years. PHP also made him appreciate JavaScript more because, at the time, you couldn’t have that interface.

[09:30] – Lo-Dash, Sandboxed Native, Microsoft

Lo-Dash

Eventually, JD grew to respect jQuery because I became a library author. jQuery is the example of how to create a successful library. It’s almost on 90% of the Internet. He likes that right now but before, he was a hardcore Prototype fanboy. He didn’t like new tools either. He liked augmenting prototypes but over time, he realized that augmenting prototypes wasn’t so great whenever you wanted to include other code on your page because it would have conflict and collisions. Later on, he took Prototype, forked it, and he made it faster and support more things, which is essentially what he did with Lo-Dash.

Sandboxed Native

JD created something called Sandboxed Native, which got him into talking on conferences. Sandboxed Native extends the prototypes for the built-ins for your current frame. It would import new built-ins so you got a new array constructor, a new date constructor, a new regex, or a new string. It wouldn’t collide or step on the built-ins of the current page.

Microsoft

After that, JD ended up transitioning to performance and benchmarking. That landed him his Microsoft job a couple years later.

Picks

John-David Dalton

JS Foundation Sonarwhal Twitter / Github: @jdalton

Charles Max Wood

Aaron Walker Interview Valet

 

JSJ 278 Machine Learning with Tyler Renelle

Sep 12, 2017 58:40

Description:

Tweet this Episode

Tyler Renelle is a contractor and developer who has worked in various web technologies like Node, Angular, Rails, and much more. He's also build machine learning backends in Python (Flask), Tensorflow, and Neural Networks.

The JavaScript Jabber panel dives into Machine Learning with Tyler Renelle. Specifically, they go into what is emerging in machine learning and artificial intelligence and what that means for programmers and programming jobs.

This episode dives into:

Whether machine learning will replace programming jobs Economic automation Which platforms and languages to use to get into machine learning and much, much more...

Links:

Raspberry Pi Arduino Hacker News Neural Networks (wikipedia) Deep Mind Shallow Algorithms Genetic Algorithms Crisper gene editing Wix thegrid.io Codeschool Codecademy Tensorflow Keras Machine Learning Guide Andrew Ng Coursera Course Python R Java Torch PyTorch Caffe Scikit learn Tensorfire DeepLearn.js The Singularity is Near by Ray Kurzweil Tensorforce Super Intelligence by Nick Bostrom

Picks:

Aimee

Include media Nodevember Phone cases

AJ

Data Skeptic Ready Player One

Joe

Everybody Lies

Tyler

Ex Machina Philosophy of Mind: Brains, Consciousness, and Thinking Machines

JSJ BONUS: Web Apps on Linux with Jeremy Likness and Michael Crump

Sep 12, 2017 59:19

Description:

Tweet this episode JSJ BONUS: Web Apps on Linux with Jeremy Likness and Michael Crump

In this episode Aimee Knight and Charles Max Wood discuss Microsoft's Web Apps on Linux offering with Jeremy Likness and Michael Crump.

[00:37] Michael Crump Introduction

Michael is on the developer experience team for Azure.

[00:52] Jeremy Likness Introduction

Jeremy is on the cloud developer advocacy team. Their mission is to remove friction and support developers and work with teams to build a positive experience.

The NodeJS team is headed up by John Papa. They have teams around the world and involved in many open source communities.

They're focused on building documentation and creating great experiences

[02:54] What is it about Azure that people should be getting excited about?

Azure is a huge platform. It can be overwhelming. They're trying to help you start with your problem and then see the solution as it exists on Azure.

Azure is growing to embrace the needs of developers as they solve these problems.

The experience is intended to be open and easy to use for any developer in any language on any platform. It allows you to work in whatever environment you want.

Standing up applications in production is tough. Azure provides services and facilities (and interfaces) that make it easy to manage infrastructure.

You don't have to be an operations expert.

Chuck mentions this messaging as he heard it at Microsoft Connect() last year.

It's not about bringing you to .NET. It's about making it easy where you're at.

Aimee adds that as a new-ish person in the community and Azure excites her because the portal and tutorials are easy to follow for many new programmers.

A lot of these features are available across command lines, tools, and much more.

The documentation is great. See our interview with Dan Fernandez on the Microsoft Docs.

[12:04] Web Apps on Linux

Web application as a service offering from Microsoft. I don't need to worry about the platform, just what's different about my application.

Web Apps has traditionally been on Windows. Web Apps on Linux is in preview.

You can choose the size of your infrastructure. You only get billed for what you use and can scale up.

Setting up multiple servers, managing synchronization and load balancing is a pain. Web Apps gives you a clean interface that makes this management easy.

You can also scale across multiple datacenters around the world.

[15:06] Why Linux? What's hard about Windows?

Node was originally created on Linux and many tools run nicely on Linux. It was later ported to Windows.

The toolchains and IDE's and build processes is in an ecosystem that is targeted more toward Linux than Windows.

This allows people to work in an environment that operates how they expect instead of trying to map to an underlying Windows kernel.

Aimee gives the example of trying to set up ImageMagick on Windows.

Web Apps on Linux also allows you to build integrations with your tools that let you build, test, and deploy your application automatically.

[19:12] Supported Runtimes

Web Apps on Linux supports Node, PHP, Ruby, and .NET Core.

You can run a docker container with Node up to 6.x. If you want Node 7.x and 8.x you can create your own Docker container.

Web Apps on Linux is build on Docker.

The containers also have SSH, so developers can log into the docker container and troubleshoot problems on the container.

If you can build a container, you can also run it on this service.

At certain levels, there's automatic scaling.

[22:06] Consistency between containers? Shared ownership of state or assets

It depends on how you build your app. The Docker containers have a shared storage where all the containers have access to the same data and state.

There's a system called kudu that makes this really simple.

You can also pull logs across all systems.

You can also use SSH in the browser

[25:23] What's painful about Linux and containers?

How is the application built and how does it manage state so that you can isolate issues.

If you have 20 containers, can you connect to the right one.

It's up to you to manage correlation between containers so you can find the information you need.

Knowing your traffic and understanding what to do to prepare for it with scaling and automation is sometimes more art than science.

[28:28] How should you manage state?

A lot of these systems lend themselves to running stateless, but you don't want to run mongodb on each container versus running one mongodb instance that everything attaches. You want a common place to store data for the entire app for shared state.

[30:34] CosmosDB (was DocumentDB)

It's an API equivalent to MongoDB. It's a database as a service and you can connect your containers to the CosmosDB in Azure using your portal to make it super easy.

You may need to open up some firewall rules, but it should be pretty straightforward.

[34:14] Third Party Logging Management Apps

Azure has a service that provides metrics (Application Insights) and a logging service. Many other companies use elasticsearch based solutions that solve some of these problems as well.

[36:06] How do people use Web Apps on Linux?

Companies building new applications many times want to run without managing any infrastructure. So, they use Azure Functions, and other services on Azure.

Lift and shift: Take a virtual machine and change it into a web app container that they can run in the cloud. They also move from SQL Server on a server to SQL Server on the cloud. Moving from hosted MongoDB to CosmosDB.

You can also use any images on DockerHub.

[40:06] Continuous Integration and Continuous Deployment

Whether you're using a private registry or cloud registry. When you publish a new image, it'll use a webhook to pull the custom image and deploy it. Or to run it through Continuous Integration and then deploy it without any human interaction.

Chuck mentions the case when you haven't logged into a server for a while, there's a huge backlog of system updates. Updating your container definitions makes upkeep automatic.

[42:02] Process files and workers with PM2 format

You can set up instances to run across cores with the PM2 definitions. You can also make it run various types of workers on different containers.

Why did you use PM2? What other uses are there for this kind of setup?

You can tell it which processes to start up on boot. You can also have it restart processes when a file is changed, for example, with a config file you can have it restart the processes that run off that config file.

[45:38] How to get started

Getting started with Node

docs.microsoft.com

Trial account with a few hundred dollars in Azure credit.

Michael's Links michaelcrump.net @mbcrump github.com/mbcrump Jeremy's Links bit.ly/coderblog @jeremylikness github/jeremylikness Picks

Aimee

Having a little bit of mindfulness while waiting on code and tests to run.

Joe

Ozark on Netflix Star Wars: Rogue One

Chuck

Travelers on Netflix

Jeremy

Ozark filming in Woodstock, GA Autonomous Smart Desk LED light strips

Michael

Conference Call Bingo Life (Movie) Get Out (Movie)

MJS #033 Dylan Schiemann

Sep 6, 2017 36:44

Description:

MJS 033: Dylan Schiemann

Today's episode is a My JavaScript Story with Dylan Schiemann. Dylan talked about his contributions to the JavaScript community to what JavaScript is back in 2004. Listen to learn more about Dylan!

[01:10] – Introduction to Dylan Schiemann

Dylan was on episode 62 of JavaScript Jabber, which was about 4 years ago. We had him on to talk about the Dojo Toolkit.

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

When Dylan was 7 or 8 years old, he and his father took basic programming class together. In Junior high, probably mid-1980’s, he received his first Commodore 64 computer. He picked up the Programmer’s Reference Guide, toppled on Assembly, and tried to write data to a tape drive. It got updated to a floppy drive. And then in high school, he took some Pascal classes. He learned the basics - ranging from BASIC, Pascal, and to Assembly.

[03:00] – How did you get into JavaScript?

As an undergraduate, Dylan studied Chemistry and Mathematics. He did some basic HTML and discovered the web roughly when he was a junior year in college. And then, he went to graduate school and studied Physical Chemistry at UCLA. He was studying the topology and reality of quasi-two-dimensional phone. If you imagine a bunch of beer bubbles at the top of a glass, and you spin it around really quickly, you watch how the bubbles rearrange as force is applied to it. He wanted to put his experiments on the web so he started learning this new language that had just been invented called JavaScript. So, he dropped out of graduate school a few years later. Eight years after that point in time, it was possible to show his experiments with Dojo and SVG.

[04:25] – How did you get into Dojo and the other technologies?

SitePen

Right after grad school, Dylan helped start a company called SitePen. That let him really learn how JavaScript works. He started doing some consulting work. And he started working with Alex Russell, who had a project called netWindows at the time, which is a predecessor to any JavaScript framework that most people have worked with.

Dojo

Dylan got together and decided to create a next generation version of the HTML toolkit, which ended up becoming Dojo back in 2004. Things that they created back then are now part of the language - asynchronous patterns such as Promises, or even modules, widgets, which led to the web components pack. Over the years, they’ve built on that and done various utilities for testing and optimizing applications.

[06:20] – Ideas that stood the test of time

A lot of the things that Dylan and his team did in Dojo were on the right path but first versions ended up iterating before they’ve met their way into the language. Other things are timing. They were there very early and but to tell people in 2005 and 2006 that you need to architect the front-end application met some confusion of why you would want to do that. According to him, they never created Dojo to say that they want to create the world’s leading framework.

[07:45] – JavaScript

Dylan no longer answers the question of, “Oh, JavaScript, you mean, Java?”

The expectations of 2004 were the hope of making something that might work in a browser. The expectation today is we are competing against every platform and trying to create the best possible software in the world, and do it in a way that’s distributable everywhere in the browser. The capabilities have grown. There are audio, video and real-time capabilities. They were ways to do those things but they were brutal and fragile. And now, we have real engineering solutions to many of those things but there are still going to be ways to do this. There were few people who are interested in this and maybe this wasn’t even their day job. But now, literally hundreds and thousands of engineers who write code in JavaScript every day.

Picks

Dylan Schiemann

JavaScript user groups JavaScript conferences SeattleJS Phoenix TypeScript Meet-up London HalfStack

Charles Max Wood

Focuster BusyCal Asana Trello

JSJ 277: Dojo 2 with Dylan Schiemann and Kitson Kelly

Sep 6, 2017 1:02:52

Description:

JSJ 277: Dojo 2 with Dylan Schiemann and Kitson Kelly

This episode of JavaScript Jabber features panelists Aimee Knight, Cory House, and Charles Max Wood. They talk with Dylan Schiemann and Kitson Kelly about Dojo 2.

[00:02:03] Introduction to Dylan Schiemann

Dylan is the CEO at Sitepen and co-founder of the Dojo Toolkit.

[00:02:22] Introduction to Kitson 

Kitson is the CTO at Sitepen and project lead for Dojo 2.

[00:02:43] Elevator Pitch for Dojo

Dojo 1 has been around forever. Started back in 2004 as a way to solve the challenge of "I want to build something cool in a browser." Promises and web components were inspired by or created by Dojo. It's been a huge influence on the web development community.

Dojo 2 is a ground up re-write with ES 2015, TypeScript and modern API's. It's a modernized framework for Enterprise applications.

[00:04:29] How is Dojo different from other frameworks?

There's a spectrum: small libraries like React with an ecosystem and community of things you add to it to Angular which is closer to the MV* framework with bi-directional data binding. Vue lands somewhere in the middle. Dojo 2 is also somewhere in the middle as well. It's written in TypeScript and has embraced the TypeScript experience.

[00:06:00] Did the Angular 2 move influence the Dojo 2 development and vice-versa?

Dojo 2 had moved to TypeScript and 2 days later Angular announced that they were going to TypeScript. Angular also moved very quickly through their BETA phase, which caused some challenges for the Angular community.

With Dojo 2, they didn't start the public discussion and BETA until they knew much better what was and wasn't going to change. They've also been talking about Dojo 2 for 6 or 7 years.

The update was held up by adoption of ES6 and other technologies.

Dojo 1 was also responsible for a lot of the low-level underpinning that Angular didn't have to innovate on. Dojo 2 was built around a mature understanding of how web applications are built now.

People doing Enterprise need a little more help and assistance from their framework. Dojo provides a much more feature rich set of capabilities.

Angular could have pushed much more of TypeScript's power through to the developer experience. Dojo much more fully adopts it.

It's also easier if all of your packages have the same version number.

Call out to Angular 4 vs Angular 2.

[00:12:44] AMD Modules

Why use AMD instead of ES6 modules?

You can use both. Dojo 2 was involved in the creation of UMD. James Burke created UMD while working on Dojo.

ES6 modules and module loading systems weren't entirely baked when Dojo 2 started to reach maturity, so they went with UMD. It's only been a few months since Safari implemented the ES6 module system. Firefox and friends are still playing catchup.

The Dojo CLI build tool uses webpack, so it's mostly invisible at this point.

So, at this point, should I be using UMD modules? or ES6? Is there an advantage to using AMD?

With TypeScript you'd use ES6 modules, but UMD modules can be loaded on the fly.

[00:16:00] Are you using Grunt?

Internally, for tasks we use Grunt. But for users, we have a CLI tool that wraps around Webpack.

For package builds and CI, Grunt is used.

[00:18:30] What is the focus on Enterprise all about?

There are a lot of different challenges and complexities to building Enterprise apps. Dojo was the first framework with internationalization, large data grids, SVG charts, etc. Dojo has spend a long time getting this right. Many other systems don't handle all the edge cases.

Internationalization in Angular 2 or 4 seems unfinished.

Most Dojo users are building for enterprises like banks and using the features that handle large amounts of data and handle those use cases better.

[00:21:05] If most application frameworks have the features you listed, is there a set of problems it excels at?

The Dojo team had a hard look at whether there was a need for their framework since many frameworks allow you to build great applications. Do we want to invest into something like this?

React has internationalization libraries. But you'll spend a lot of time deciding which library to use and how well it'll integrate with everything else. A tradeoff in decision fatigue.

In the Enterprise, development isn't sexy. It's necessary and wants to use boring but reliable technology. They like to throw bodies at a problem and that requires reliable frameworks with easily understood decision points.

Producing code right is a strong case for TypeScript and they pull that through to the end user.

Many frameworks start solving a small set of problems, become popular, and then bolt on what they need to solve everything else...

Dojo tried to make sure it had the entire package in a clear, easy to use way.

You can build great apps with most of the big frameworks out there. Dojo has been doing this for long enough that they know where to optimize for maintainability and performance.

[00:29:00] Where is Dojo's sweet spot? 

The Sitepen Blog series on picking a framework

The biggest reason for using Dojo over the years is the data grid component.

They also claim to have the best TypeScript web development experience.

You may also want a component based system with the composition hassles of React.

The composability of components where one team may write components that another uses is a big thing in Dojo where one person doesn't know the entire app you're working on.

Theming systems is another selling point for Dojo.

[00:34:10] Ending the framework wars

Try Dojo out and try out the grid component and then export it to your Angular or React app.

There are a lot of frameworks out there that do a great job for the people who use them. The focus is on how to build applications better, rather than beating out the competition.

Sitepen has build apps with Dojo 2, Angular, React, Dojo + Redux, etc.

[00:39:01] The Virtual DOM used by Dojo

2 years ago or so they were looking for a Virtual DOM library that was small and written in TypeScript. They settled on Maquette.

The more you deal with the DOM directly, the more complex your components and libraries become.

Makes things simpler for cases like server side rendering getting fleshed out in BETA 3.

It also allows you to move toward something like React Native and WebVR components that aren't coupled to the DOM.

They moved away from RxJS because they only wanted observables and shimmed in (or polyfilled) the ES-Next implementation instead of getting the rest of the RxJS  that they're not using.

[00:46:40] What's coming next?

They're finishing Dojo 2. They're polishing the system for build UI components and architecture and structuring the app. They plan to release before the end of the year.

They're also wrapping up development on the Data Grid, which only renders what shows on the screen plus a little instead of millions of rows.

[00:49:08] Testing

They've got intern.

It pulls together unit testing, functional testing, continuous integration hooks, accessibility testing, etc.

It's rewritten in TypeScript to take advantage of modern JavaScript.

The Dojo CLI uses intern as the default test framework.

Kitson build the test-extras library to help with Dojo testing with intern.

Dojo Links

dojo.io github.com/dojo/meta sitepen.com/blog gitter channel github.com/dylans twitter.com/dylans twitter.com/sitepen twitter.com/dojo github.com/kitsonk twitter.com/kitsonk

Picks

Cory

Amateur vs Professional

Aimee

DevFest Florida (use code 'jsjabber')

Chuck

Taking some time off AudioTechnica ATR2100 How to define your life purpose in 5 minutes

Dylan

zenhub HalfStack Conference How to choose a framework series on the Sitepen Blog

Kitson

Dunbar Number

 

MJS #032 Feross Aboukhadijeh

Aug 30, 2017 29:20

Description:

MJS 032: Feross Aboukhadijeh

Today's episode is a My JavaScript Story with Feross Aboukhadijeh. Feross talked about his contributions to the JavaScript community to the decentralized web. Listen to learn more about Mike!

[01:00] – Introduction to Feross Aboukhadijeh

Feross was on episode 155 and he talked about Webtorrent. It was 2 years ago.

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

Toddler

Feross has always been interested in computers and technology. His mom told him a story about how when he was a toddler, he was always watching people whenever they’re using technology – the television, the microwave, or the VCR. She said that he’s trying to imitate what he saw.

HTML and Web proxies

According to Feross, he became seriously interested when he was in middle school when he learned about HTML and wanted to make a personal site. In high school, there was this class that you could take. It’s a tech team where they went around and fixed teachers’ computers because they were understaffed. Some of the computers have administrator privileges turned on for the student accounts as well because some of the software that was required for certain classes needed it. The computers always had viruses on them because people would install first-person shooters and play during class time. They actually have school-wide filtering system so students can’t access certain sites. One of the categories they blocked was downloading sites. In order to even do their job, they have to figure out web proxies to get around the filters. He ended up setting up one of those on his own server.

First website

Feross’ real programming experience was PHP. It was in his junior year of high school. He bought a book in Barnes & Noble about PHP and MySQL. He wanted to build a site to host his favorite flash animations. That project was a database-driven website where people can segment their flash animations and soundboards, prank phone calls, and other internet humor. The site was called freetoflash. That was the first website that he built.

[07:10] – How did you get into JavaScript?

Feross thinks JavaScript is one of those languages that you don’t actually really bother to sit down and learn. There weren’t any good resources. According to him, He really didn’t know JavaScript until he started a company right after he graduated from college. He started taking JavaScript seriously because he was learning Node.js and realized that you can build real things from it. The start-up is called PeerCDN. They’re trying to make a content delivery network that would work in the browser using WebRTC. The idea is you would add a script tag to your website and then we would try to find other people visiting your site that already has the content that you want, you’ll fetch it from them over a peer-to-peer connection to save on your hosting build to reduce your CDN bill. That was a big Node application. It also has intense front-end component. He started learning about NPM, how you build things with microservices, and how do you deploy a JavaScript application. That was in 2013.

[09:35] – Webtorrent

Feross has been trying to transition Webtorrent into a distributed contribution model. It’s always been something that he would give out commit rights. If someone makes a good contribution, he’ll just add them to the Github for it. He recently made it into an organization on Github. He’s hoping to make it something that’s not completely dependent on him in order for it to continue existing. He’s going to be involved with it for the foreseeable future but he’s also trying to do new projects as well besides that. The good news is Webtorrent is mostly done in some sense. It works well. There are bugs. But if you use Webtorrent, especially if you use the desktop application to torrent things, it’s really polished and works nicely.

Picks

Feross Aboukhadijeh

Decentralized web Dat Project Beaker Project IPFS Secure Scuttlebutt Patchwork Brave Twitter: @WebTorrentApp Twitter: @feross

Charles Max Wood

Let’s Encrypt Digital Ocean

JSJ 276: Vue.js with Maximilian Schwarzmüller

Aug 29, 2017 50:32

Description:

JSJ 276: Vue.js with Maximilian Schwarzmüller         

This episode of JavaScript Jabber features panelists AJ O’Neal, Aimee Knight, and Charles Max Wood. They talk with special guest Maximilian Schwarzmüller about Vue.js. Tune in to find out more!

[00:02:21] Introduction to Maximilian

Maximilian lives in Germany and is a self-taught web developer. He mostly teaches web development on Udemy and his YouTube channel. Vue.js is just one topic that he teaches. He enjoys teaching and passing on information to other web developers: he believes it is the best thing you can do.

[00:03:10] What other courses do you teach?

He tries to cover basic web development topics. On Udemy Maximilian teaches Angular and generic JavaScript courses. He also teaches courses on Angular and Node.js. On his YouTube channel he teaches more back-end development and Node.js courses.

[00:04:00] Elevator Pitch for Vue.js

Vue.js is a new framework that is popular because it is similar to React but also has Angular features. It is easier to learn than React: not everything is in JavaScript and JXS is not included. It is more also flexible and has better performance than Angular 1. Vue.js is easier than Angular 2 both to learn and master. It is still a JavaScript framework, where developers build single page applications or drop in existing applications to enhance views, control parts of a page with JavaScript, get rid of jQuery, and have an easier time creating applications.

[00:05:10] What are some challenges people run into as they learn it?

If developers are brand new to Vue.js, getting started is easy. It has one thing that a lot of frameworks lack which is awesome documentation. Vuejs.org has a comprehension guide that makes getting started simple. There is a general idea that developers still need to learn of how to structure the app, which is similar to React. Developers have to learn how to build components which is used to build the application. The build template is where everything is controlled with Vue.js. JavaScript code is used as well as template syntax.

[00:06:27] So you build the template and then tell it how each part is supposed to behave with JavaScript?

Yes. To get started use Vue instances, which are JavaScript objects, control parts of the page and it is marked by an id on an HTML element. Then, write a Vue template, which is basically HTML code where extra features can be used to easily output a variable. It makes it much easier to control via Vue instance. Then add a code, add a method which changes the property of Vue instance. It works together and is easy to build up templates and control your page with Vue.

 

[00:11:12] Vue’s Advantages

That depends on the application. Vue.js is easier to learn, which is an advantage when trying to get new developers. The documentation on the website is excellent, which helps when learning the language. Vue also has it’s own single team that develops it’s products, such as the Vue Router and Vue X. It has better performance, but for extremely big projects Angular 4 may be better.

[00:13:38] Does Vue have routing in it?

Vue.js has its own router. The core Vue team develops it, which is a different package that is downloaded separately. The advantage to this is that if you don’t need the router, then you don’t have it in your bundle but can easily add it. Once it is added it integrates nicely.

[00:14:16] How does the Vue router compare to the React router?

The Vue router offers the same features as the React router: nested routes, passing parameters, route guards, etc. The Vue router integrates nicely into the Vue package. It also injects into every component you have and is very simple. All that has to be done is just to execute one line of code and then the router is in the project.

[00:17:10] How often is Vue.js upgraded and how hard is it to keep up?

Vue.js only has two versions. Upgrading from Vue 1 to Vue 2 is easy. The base syntax and framework is still the same, you just need to adjust and move on. Since Vue 2 they released bigger upgrades. There so far haven’t been any issues upgrading, they have added new features, and still use the old code.

[00:19:09] What is the feature with Vue as far as adoption goes?

It is hard to predict but there are indicators that Vue.js has a good future. Vue.js probably will not overtake Angular but it is becoming important for companies in Asia, which is an important market. They have developed an Ionic version of Vue.js. There has also been an ongoing trend on GitHub.

[00:21:20] Why do we keep having new frameworks and versions?

The language of JavaScript itself is seeing rapid development. New features have been added, new web technologies developed, etc. One reason is that developers do more on the web. They want easier ways of building applications. There is no perfect framework so there has to be tradeoffs between the frameworks. There is no perfect solution for every application so need a framework for every application.

[00:23:16] What is left undone in Vue.js?

It is complete as far as something can be complete. Developers are working on service rendering to improve search engine optimization and initial rendering performance. They are also working on progress web app support.

 

[00:28:02] What drives the way that Vue grows?

There is simplicity in their documentation. While the documentation is simple, the framework is also easy to learn. Maximilian believes that the reason Vue.js took off is because the documentation and framework work together nicely.

[00:31:19] What is going to keep Vue around?

The support is not based on corporation, but there is an Asian company that is developing a framework that uses Vue to with their own product. Because of this, can draw an assumption that they will keep Vue.js around. Vue.js also has a strong community and core team, giving it a good support system.

[00:34:15] What are people using if they want to use Native Apps but they want to use Vue?

They are having a hard time right now. Frameworks for Quasar and Weex are in the early stages. A Vue.js app needs to be built but there are packages that are working in that direction.

[00:37:25] How do you structure your Udemy courses and what do you think of that as a whole?

Maximilian started teaching Udemy courses about one and a half years ago. He really enjoys teaching. Each course follows a similar pattern. He starts with a rough topic, researches the topic to see what is in demand, and builds a course around projects. He then fits all the things he wants to teach into the project, plans the course curriculum, records and edits the lecture videos, and then finally releases the course.

[00:39:22] What do you get the most questions about with your Vue course?

Questions are mixed. Students dive into the course quickly but then pause. Most questions are about the basics. They usually have something to do with the first few sections of the course or setup problems.

Picks         

AJ:

Broke Eatery  Dream Dinners

Aimee:

Julie Evans blog  Nodevember

Charles:

The Ketogenic Diet 2 Keto Dudes Podcast 

Max:

Nuxt.js Framework  Slack “Chat with yourself” Channel Links Onsen UI for Vue Twitter Youtube https://academind.com/ Utemy Vue.js Course 

MJS #031 Mike Hostetler

Aug 23, 2017 35:08

Description:

MJS 031: Mike Hostetler

Today's episode is a My JavaScript Story with Mike Hostetler. Mike talked about his contributions to the JavaScript community. Listen to learn more about Mike!

[00:50] – Introduction to Mike Hostetler

Mike was on episode 133 which was like 2.5 years ago.

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

First computer

Mike got their first computer when he was 5 or 6 years old. 286 IBM Clone had a command prompt that he spent several years trying to figure out how to code with it until he stumbled on a few basic books at their local public library in junior high. He began teaching himself how to code with QBasic and Borland C++. He, then, found the internet early high school and downloaded the Mosaic browser. He started coding HTML and early JavaScript, late 90’s. Then, he went off to college to get a Computer Science degree.

First job

When Mike was late high school, he decided that he knew enough coding that he was going to try to get a job. He ended up finding web development companies in the phone book and calling each one of them, trying to explain that his 16-year-old self could help them code and build websites. He ended up landing a job and was paid minimum wage to build HTML sites - a lot of 1x1 pixels transparent gifs, coding HTML by hand and notepad. Then, he ended up working for that company for his first couple of years of college as well.

[05:30] – How did you wind up doing JavaScript?

After college, the job that Mike landed was spent on learning Microsoft technologies and then half on the open-source side of learning the LAMP stack. At that time, it required hand-coding JavaScript. His next role is building a custom mapping application which was a single page application that heavily relied upon JavaScript. This was client-side object-oriented. There were no frameworks but it was enough script to build a URL that called a custom CGI to render the map. So, he immediately jumped in and started using the early JavaScript frameworks and prototypes.

The role that Mike was in next was building a touchscreen capable device. They needed custom plug-ins to provide the highlight focus effect around the button. He needed to write a plugin to do that and jQuery has just been released. So, he stripped all the prototype code, throw JQuery in there, and then, write a plug-in to navigate this interface by keyboard.

[09:20] – Contributions with JavaScript

jQuery

Mike’s first participation was on the JQuery project. If you ever use the JQuery plug-ins site, the old site, that was his contribution. He ended up running infrastructure for JQuery for several years. JQuery launched his business career. He switched into an entrepreneur around 2009. Since then, he’s contributed in numerous ways through speaking, leading training, and writing articles. He was a co-author of the JQuery Cookbook.

Node.js

As Node began to get more popular, Mike switched his attention to Node and found passion around the Sails.js project. It was a Node framework that made it easy to build Express-powered apps with Node and limit a lot of the convention over configuration elements of the Sails framework. That morphed into ES6 rewrite of Sails called the Trails framework. Currently, he is an organizer of the Chicago Node.js Meetup and he’s a contributor to the Trails framework.

[11:50] – JQuery challenges and experiences

jQuery 1.4

Mike and the team made community’s problems their problems so the gravity of what they were working didn’t hit them very much until jQuery 1.4. They had an online conference. They all recorded talks and they’re releasing a talk a day for jQuery that will be going to accommodate the 1.4 release. He remembered that he was setting up, managing the servers, and was doing some last-minute configuration. Then, John had tweeted that 1.4 was ready, pointing to jQuery.com. The web server just ground to a halt as he saw the traffic come in off a tweet.

Open-source community

Mike remain friends with a lot of them. According to Mike, they were just normal people who made a choice to lean in, contribute, where those contributions ended up becoming popular. Looking forward, he said that he’s going to continue to contribute to the open-source community. He wants to help the junior developer that is learning ES6 for the first time and is solving a syntax error. From Mike’s perspective, technologies come in waves. jQuery was a wave but jQuery’s wave focuses its energy into JavaScript’s wave. Certain people catch a contribution wave. React is on the upswing. Node is in an interesting spot because they’ve been on the upswing for many years but there’s new work that could be done. He said that had a shot to be at the forefront of the wave and got to see it.

Advice

For anybody else that maybe listening, find a spot where there’s new ground that you can contribute to and just dive in and do what you can to solve a problem to make it better. You’ll catch your wave.

[21:00] – How to pick frameworks

Node frameworks

There was a Reddit thread about Node frameworks in 2017 that listed out all the possible frameworks. The classic answer is to use the right tool for the right job but Mike’s answer is: Node has grown so big that different frameworks are built to different people on the learning curve of Node. The other thing that Node has done is they have this culture of really running away from any Monolithic one-size-fits-all solution. The community of Node has made sure that they make space for an incredible diversity of solutions and frameworks.

Antipattern

The anti-pattern is: what is the best framework of 2017. That’s the wrong question in the Node culture. Look at your team, look at your project, what framework can you be most productive in and what framework can you contribute back into the community with? That is one of the key reasons that Node itself has remained and continued to grow in popularity.

[23:40] – Role in Sails and Trails

Mike’s not contributing to the Sails project at the moment. He has been focusing on the Trails project. He has written a couple of Trails packs or the equivalent of plug-ins, messed around with GraphQL. He is also helping answer questions in the Gitter chat – small ways.

[24:25] – Best ways to contribute

Stack Overflow

Go on to Stack Overflow. Subscribe to tags where you can answer questions. Every answer on Stack Overflow is a contribution. Go, watch, subscribe to the issue queues for the projects that you use. Just even sharing your experience with how you solve a problem, there is somebody that you could reach down to and answer their questions that take their burden off.

Gitter

Get involved in the Gitter chat. Listen, watch, stand on the sidelines, and see what’s going on how the community works.

Pull request

The next step, if you see a problem, submit a pull request, listen to see what the roadmap is, and see what you can contribute.

Infrastructure

A lot of projects need help in infrastructure in their build scripts to produce better-written code. You can document for them. If you wait for the next sexy thing to do, you’ll never get there. Be humble.

Fun

Remember that open-source is fun. If it becomes a drag, you are doing it wrong. Look for the opportunities that are aligned with what you do so it’s a fun, happy experience.

[26:45] – What are you working on now?

Raise Marketplace

Currently, Mike is taking on a new role as Director of Front-end Engineering at Raise Marketplace. It is a marketplace start-up in Chicago. His focus is rebuilding the front-end of Raise on a micro service Node.js in Go service architecture. They have also been listed to help some folks at Google in the web performance team. They are always hiring. If you are looking for a remote role for a start-up. Feel free to reach out to him on Twitter or on Raise.

ModernWeb

Mike’s side-project now is a website called ModernWeb.com, where they help connect companies with teams of software developers and tell the stories of those software projects. A lot of developers are great at writing code but are terrible at telling the awesome things that we do. So, ModernWeb exists to tell the stories of development. The great side effect is companies want to work with you when you tell your stories. They help complete that circle. Go over to ModernWeb.com and you can contact them through the website or you can drop him an email at mike@modernweb.com.

Picks

Mike Hostetler

App: OmniFocus App: Sleep Cycle App: Life Cycle Zapier Twitter: @mikehostetler Mike-hostetler.com

Charles Max Wood

Talk: Setting up and Contributing to Open-source Projects by Kent C. Dodds JavaScript Jabber Slack  

JSJ 275: Zones in Node with Austin McDaniel

Aug 22, 2017 31:44

Description:

JSJ 275: Zones in Node with Austin McDaniel

The panel for this week on JavaScript Jabber is Cory House, Aimee Knight, and Charles Max Wood. They speak with special guest Austin McDaniel about Zones in Node. Tune in to learn more about this topic!

[00:01:11] Introduction to Austin

Austin has worked in JavaScript for the past ten years. He currently works in Angular development and is a panelist on Angular Air. He has spent most of his career doing work in front-end development but has recently begun working with back-end development. With his move to back-end work he has incorporated front-end ideas with Angular into a back-end concept.

[00:02:00] The Way it Works

NodeJS is an event loop. There is no way to scope the context of a call stack. So for example, Austin makes a Node request to a server and wants to track the life cycle of that Node request. Once deep in the scope, or deep in the code, it is not easy to get the unique id. Maybe he wants to get the user from Passport JS. Other languages – Python, Java – have a concept called thread local storage. They can associate context with the thread and throughout the life cycle of that request, he can retrieve that context.

There is a TC39 proposal for zones. A zone allows you to do what was just described. They can create new zones and associate data with them. Zones can also associate unique ids for requests and can associate the user so they can see who requested later in the stack. Zones also allow to scope and create a context. And then it allows scoping requests and capturing contacts all the way down.

[00:05:40] Zone Uses

One way Zone is being used is to capture stack traces, and associating unique ids with the requests. If there is an error, then Zone can capture a stack request and associate that back to the request that happened. Otherwise, the error would be vague.

Zones are a TC39 proposal. Because it is still a proposal people are unsure how they can use it. Zones are not a new concept. Austin first saw Zones being used back when Angular 2 was first conceived. If an event happened and they wanted to isolate a component and create a scope for it, they used Zones to do so. Not a huge fan of how it worked out (quirky). He used the same library that Angular uses in his backend. It is a specific implementation for Node. Monkey patches all of the functions and creates a scope and passes it down to your functions, which does a good job capturing the information.

[00:08:40] Is installing the library all you need to get this started?

Yes, go to npminstallzone.js and install the library. There is a middler function for kla. To fork the zone, typing zone.current. This takes the Zone you are in and creates a new isolated Zone for that fork. A name can then be created for the Zone so it can be associated back with a call stack and assigned properties. Later, any properties can be retrieved no matter what level you are at.

[00:09:50] So did you create the Zone library or did Google?

The Google team created the Zone library. It was introduced in 2014 with Angular 2. It is currently used in front-end development.

[00:10:12] Is the TC39 proposal based on the Zone library?

While Austin has a feeling that the TC39 proposal came out of the Zone library, he cannot say for sure.

[00:10:39] What stage is the proposal in right now?

Zone is in Stage Zero right now. Zone JS is the most popular version because of its forced adoption to Angular. He recommends people use the Angular version because it is the most tested as it has a high number of people using it for front-end development.

[00:11:50] Is there an easy way to copy the information from one thread to another?

Yes. The best way would probably be to manually copy the information. Forking it may also work.

[00:14:18] Is Stage Zero where someone is still looking to put it in or is it imminent?

Austin believes that since it is actually in a stage, it means it is going to happen eventually but could be wrong. He assumes that it is going to be similar to the version that is out now. Aimee read that Stage Zero is the implementation stage where developers are gathering input about the product. Austin says that this basically means, “Implementation may vary. Enter at your own risk.”

[00:16:21] If I’m using New Relic, is it using Zone JS under the hood?

Austin is unsure but there something like that has to be done if profiling is being used. There has to be a way that you insert yourself in between calls. Zone is doing that while providing context, but probably not using Zone JS. There is a similar implementation to tracing and inserting logging in between all calls and timeouts.

[00:17:22] What are the nuances? Why isn’t everybody doing this?

Zone is still new in the JavaScript world, meaning everyone has a ton of ideas about what should be done. It can be frustrating to work with Zone in front-end development because it has to be manually learned. But in terms of implementation, only trying to create a context. Austin recommends Zone if people want to create direct contacts. The exception would be 100 lines of Zone traces because they can get difficult.

Another issue Austin has is Node’s native basic weight. Weight hooks are still up in the air. The team is currently waiting on the Node JS community to provide additional information so that they can finish. Context can get lost sometimes if the wrong language is used. He is using Typescript and doesn’t have that problem because it is straightforward.

[00:21:44:] Does this affect your ability to test your software at all?

No, there have not been any issues with testing. One thing to accommodate for is if you are expecting certain contexts to be present you have to mock for those in the tests. After that happens, the tests should have no problems.

Picks

Cory:

Apple AirPods

Aimee:​

Blackmill Understanding Zones

Charles:

Classical Reading Playlist on Amazon Building stairs for his dad Angular Dev Summit 

Austin:

NGRX Library Redux  Links Twitter GitHub

MJS 030: Mike North

Aug 16, 2017 33:02

Description:

MJS 030: Mike North

This episode is a My JavaScript Story featuring Mike North. Tune in to learn more about how Mike started his journey as a developer in JavaScript!

[00:01:15] Introduction to Mike

Mike has a Frontend Masters Series for Ember 2 and has two other courses that help developers stand out from the software perspective.

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

Mike describes that he has taken a non-linear path to get to where he is now. He started programming as a teenager. He was laying dry wall with a construction company when he was 15 or 16. At the end of the job, he built a training app for the company in order to decrease their paperwork. Mike states that the programming work he does day-to-day he only learned two or three years ago.

[00:04:13] Is that due to things changing so quickly?

Mike’s role and passion keeps evolving. People pick what is important to them. A goal of his is to always stay learning; he enjoys having a deep understanding of topics. He enjoys using brand new skills and calls himself a “perpetual beginner.” Mike is always talking about something that he has just figured out how to do.

[00:05:20] How do you approach keeping current?

Mike thinks that it is impossible to keep up with everything. It is a full time job to keep track of everything. Developers don’t need to spend so much time going through information. He goes to teams once every quarter and helps them absorb the information in a distilled way so they do not have to filter through stuff such as what frameworks are worth paying attention to. This condenses the information and frees them from having to learn everything. Instead, they are able to focus on their product.

[00:08:27] How did you get into JavaScript and web development?

When Mike entered college, he was going into mechanical engineering and did not want to write code. He thought it was boring. When he began getting into code, it was because he could use it to solve real world problems. When he first started, he wrote engineering simulation code for Formula One racecars. When the iPhone came out, it gave him clarity that he wanted to work with that. He began to work with jQuery Mobile. He liked doing this enough that he ran a consultancy at night. He ran projects that he had no previous experience with in order to learn skills that would help him make JavaScript his full-time job.

[00:13:29] Where does Ember fit in with all of this?

When Mike started working at Yahoo, he became very familiar with Ember. Ember allowed employees to treat engineers as resources towards the larger goal of building and merging all apps together instead of having separate pockets of different technology everywhere. There were only a few Ember experts at the time, so Mike took advantage and spent a lot of time to gain expertise with the framework.

[00:16:50] What kinds of contributions do you feel like you’ve made to the JavaScript community?

Mike believes the way he has contributed to the community has evolved over time. In the past, he wrote libraries and worked with issues in the framework itself. The impact he has now is representing newcomers to a technology. He does workshops at conferences. He loves teaching and enabling people.

[00:19:07] How do you structure the learning to make it that it is approachable for people? How do you address both audiences?

As far as newcomers to programming, there is an alarming statistic of companies hiring computer programmers at 400% of the rate at which CS majors can graduate. The demand for software engineers exceeds the ability to educate conventionality. This means companies have to take people seriously that were educated via boot camps. There is a lot of material for new beginners. For people who are established programmers but new to specific technologies, there is a huge gap of material. Video courses, tutorials, and books should be made more accessible for these people. Mike also believes it is the job of a senior engineer to spend time teaching people.

Books, tutorials, and trainings that scrape the surface disappoint Mike. This has informed the techniques he uses to teach during his workshops. Students spend 50% of their time solving problems. His students are given code tests and spend time working how to solve problems. It takes a long time to build his curriculum but it is his main focus right now.

Picks

Mike:

TypeScript Deep Dive by Basarat Ali Syed Proposal for Async Iteration

Charles

Visual Studio Code Frontend Masters  Links Twitter www.mike.works

JSJ 274: Amazon Voice Services and Echo Skills with Terrance Smith

Aug 15, 2017 49:37

Description:

JSJ 274 Amazon Voice Services and Echo Skills with Terrance Smith

On today’s episode of JavaScript Jabber, we have panelists Joe Eames, Aimee Knight, Charles Max Wood, and we have special guest Terrance Smith. He’s here today to talk about the Amazon Alexa platform. So tune in and learn more about Amazon Voice Services!

[01:00] – Introduction to Terrance Smith

Terrance is from Hacker Ferrer Software. They hack love into software.

[01:30] – Amazon Voice Service

What I’m working on is called My CareTaker named probably pending change. What it will do and what it is doing will be to help you be there as a caretaker’s aid for the person in your life. If you have to take care an older parent, My CareTaker will be there in your place if you have to work that day. It will be your liaison to that person. Your mom and dad can talk to My CareTaker and My CareTaker could signal you via SMS or email message or tweet, anything on your usage dashboard, and you would be able to respond. It’s there when you’re not.

[04:35] – Capabilities

Getting started with it, there are different layers. The first layer is the Skills Kit for generally getting into the Amazon IoT. It has a limited subset of the functionality. You can give commands. The device parses them, sends them to Amazon’s endpoint, Amazon sends a call back to your API endpoint, and you can do whatever you want. That is the first level. You can make it do things like turn on your light switch, start your car, change your thermostat, or make an API call to some website somewhere to do anything.

[05:50] – Skills Kit

Skills Kit is different with AVS. Skills Kit, you can install it on any device. You’re spinning up a web service and register it on Amazon’s website. As long as you have an endpoint, you can register, say, the Amazon Web Services Lambda. Start that up and do something. The Skills Kit is literally the web endpoint response. Amazon Voice Services is a bit more in-depth.

[07:00] – Steps for programming

With the Skills Kit, you register what would be your utterance, your skill name, and you would give it a couple of sets of phrases to accept. Say, you have a skill that can start a car, your skill is “Car Starter.” “Alexa tell Car Starter to start the car.” At which point, your web service will be notified that that is the utterance. It literally has a case statement. You can have any number of individual conditional branches outside of that. The limitation for the Skills Kit is you have to have the “tell” or “ask” and the name of the skill to do whatever. It’s also going to be publicly accessible. For the most part, it’s literally a web service.

[10:55] – Boilerplates for AWS Lambda

Boilerplates can be used if you want to develop for production. If you publish a skill, you get free AVS instance time. You can host your skill for free for some amount of time. There are GUI tools to make it easier but if you’re a developer, you’re probably going to do the spin up a web service and deal it that way.

[11:45] – Do you have to have an Amazon Echo?

At one point, you have to have the Echo but now there is this called Echoism, which allows you to run it in your browser. In addition to that, you can potentially install it on a device like a Raspberry Pi and run Amazon Voice Services. The actual engine is on your PC, Mac, or Linux box. You have different options.

[12:35] – Machine learning

There are certain things that Amazon Alexa understand now that it did last year or time before that like understanding utterances and phrases better. A lot of the machine learning is definitely under the covers. The other portion of it Alexa Voice Service, which is a whole engine that you have untethered access to other portions like how to handle responses. That’s where you can build a custom device and take it apart. So the API that we’re working with here is just using JSON and HTTP.

[16:40] – Amazon Echo Show

You have that full real-time back and forth communication ability but there is no video streaming or video processing ability yet. You can utilize the engine in such a way that Amazon Voice Services can work with your existing tool language. If you have a Raspberry Pi and you have a camera to it, you can potentially work within that. But again, the official API’s and docs for that are not available yet.

[27:20] – Challenges

There’s an appliance in this house that listens to everything I say. There’s that natural inclination to not trust it, especially with the older generations. Giving past that is getting people to use the device. Some of the programming sides of it are getting the communication to work, doing something that Alexa isn’t pre-programmed to do. There isn’t a lot of documentation out there, just a couple of examples. The original examples are written in Java and trying to convert it to Node or JavaScript would be some of the technical challenges. In addition, getting it installed and setup takes at least an hour at the beginning. There’s also a learning curve involved.

[29:35] – Is your product layered in an Echo or is your product a separate device?

Terrance’s product is a completely separate device. One of the functionality of his program is medicine reminders. It can only respond to whatever the API calls from Amazon tells you to respond to but it can’t do anything like send something back. It can do an immediate audio response with a picture or turn on and off a light switch. But it can’t send a message back in like two hours from now. You do want your Alexa device to have (verbally) a list of notifications like on your phone. TLDR, Terrance can go a little further with just the Skills Kit.

[32:00] – Could you set it up through a web server?

Yes. There are examples out there. There’s Alexa in the browser. You can open up a browser and communicate with that. There are examples of it being installed like an app. You can deploy it to your existing iPhone app or Android app and have it interact that way. Or you can have it interact independently on a completely different device like a Raspberry Pi. But not a lot of folks are using it that way.

[33:10] – Monetization

Amazon isn’t changing anything in terms of monetization. They make discovery a lot easier though. If you knew the name of the app, you could just say, “Alexa, [tell the name of the app].” It will do a lazy load of the actual skill and it will add it to your available skill’s list.

However, there is something called the Alexa Fund, which is kind of a startup fund that they have, which you can apply for. If you’re doing something interesting, there is a number of things you have to do. Ideally, you can get funding for whatever your product is. It is an available avenue for you.

[36:25] – More information, documentation, walkthroughs

The number one place to go to as far as getting started is the Amazon websites. They have the Conexant 4-Mic Far-Field Dev Kit. It has 4 mics and it has already a lot of what you need. You have to boot it up and/or SSH into it or plug it up and code it. They have a couple of these kits for $300 to $400. It’s one of the safe and simpler options.

There are also directions for the AVS sites which is under Alexa Voice Services, where you can go to the Github from there. There will give you directions using the Raspberry Pi.  If not that, there’s also the Slack chatroom. It is alexaslack.com. Travis Teague is the guy in charge in there.

Picks

Joe Eames

Cosmic Engineers by Clifford D. Simak

Aimee Knight

Conference: React Rally Pancakes

Charles Max Wood

Conference: Angular Dev Summit Conference: React Dev Summit JavaScript Jabber Slack

Terrance Smith

Language: Elm Youtube channel: The School of Life Game: Night in the Woods Hacker Ferret Software Hackerferret.com

MJS #029 Matt Creager

Aug 9, 2017 45:26

Description:

MJS 029: Matt Creager

On this episode, we have another My JavaScript Story, our guest is Matt Creager. Matt works for Manifold. He's here with us today to tell us his story. Stay tuned!

[01:00] – Introduction to Matt Creager

Matt works for an interesting company called Manifold. They sponsored the show.

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

Before Matt fell in love with programming, he was in love with technology. They bought his first computer. It was a Gateway 2000 and he got access to the internet around the same time. He spent all of his time on that computer because they were moving around so much. That became the way that he stayed in touch with people. He remembers taking it apart and formatting the hard drive accidentally.

His uncle has been in the IT industry since he was a kid too. Matt was always associating him with spending time with his computer programming, a role model, and stabilizer in his life. He was switching tapes. And then, his cousin decided that he was going to start scripting his character’s actions in a game that they were playing. And now, looking back, it was some combination of Lua and C++. He started taking his cousin’s scripts apart to automate his own character in the game. He was 13 or 14.

The first programming book that he bought was a result of not being able to figure out how to get his character what it wants to do. It was one of the C++ bibles. And then, he became active in the forums around the scripting language. He was sharing the scripts and he started to realize that he can harvest stuff in the game and sell it for real cash.

Matt never considered himself technical and never considered programming a career. He was just translating CPU and RAM for people who were shopping for computers. And then, he wanted people to measure theirs so he built tools that took the data they had in an office and turn them into reports. When the manager started using that, it became a nationwide program and suddenly, he was on the map. He was leading a team.

When Blackberry started a technical interview, he realized that he has the answers to these questions. Initially, he was just a Technical Issues Manager. He had a Data Science team and that team was responsible for identifying and prioritizing issues. They were using Node 0.4, very early version of Node. And then, he discovered Angular and dived head first to the Angular community.

[13:10] – BlackBerry got Matt to JavaScript

Matt looked at Node because he was trying to figure out how he could do real time analytics. He wanted these dashboards that data scientists are looking at. That was the stepping stone into JavaScript.

[15:30] – Hackathon

On the side, a couple of local companies started to run hackathons. Matt was going to hackathons all the time. Then, he ended up of hopping from BlackBerry to becoming a full time front-end developer at a start-up.

Matt was talking with one of the organizers at LA Hacks. She was telling him that the reason why people are going to these hackathons is because they want to win and they want to put that fact on their resumes. In his day, that was not hackathons were like. The prizes can act as a negative incentive. They really work hard for the prizes. Sometimes they actually end up becoming more creative as a result because they know they need to use this specific combination of API’s.

[18:45] – Contributions to JavaScript community

When Matt joined GoInstant, it was very early days of RTC. Web sockets are new at that point. You’re probably more familiar with Firebase. In the early days, GoInstant and Firebase are competing for the same developers. They’re working on the same problems. The tools that they are building were real time synchronization between the state you have on the client and the state you have on the server. A lot of those that they build, open-source tools, they went with GoInstant to Salesforce. But they inspired the libraries and a lot of it is probably on the same code base that you now see in libraries that pretty much does the same things with Firebase.

And then, most recently, Matt and the team built Torus. They realized that if they are going to be building smaller applications, going to start to use more cloud services, more services tailored towards developers, and going to manage a lot more credential, a lot of credentials that need to be secured and shared with the teammates, they needed to take those credentials and put them on applications wherever they are running, whether that’s a Docker container or Heroku. That’s his most recent open-source project.

[20:50] – What are you working on now?

Manifold is their latest project. They’re trying to build a market place for developer services. It’s been 3 months. They moved from Torus to building Manifold earlier this year. The official launch hasn’t happened yet. That’s hopefully to come earlier this year – September. If it’s something that you want to try out and experiment with, there is a coupon for My JS. Give it a try before they launch a $25 credit that they can use to provision a logging instance, monitoring, or database. You can use it with any type of services that you might need to build your app.

Picks

Matt Creager

OpenCollective.com Scaphold GraphQL Elixir Manifold.co Twitter, Github: @matt_creager

Charles Max Wood

AWS Lambda Zapier Heroku Udemy course for Ionic Framework

JSJ 273: Live to Code, Don't Code to Live with 2 Frugal Dudes Sean Merron and Kevin Griffin

Aug 8, 2017 68:49

Description:

JSJ 273: Live to Code, Don't Code to Live with 2 Frugal Dudes Sean Merron and Kevin Griffin

This episode of JavaScript Jabber features panelists Aimee Knight, Cory House, and Charles Max Wood. Special guests Sean Merron and Kevin Griffin discuss how to live frugally. Tune in to hear their advice!

[00:02:14] Introduction to Sean and Kevin

Sean and Kevin are the hosts of the 2 Frugal Dudes Podcast. They are middle class software engineers. Sean works a 9 to 5 job, while Kevin owns a small business called Swift Kick. Swift Kick is a company that focuses on independent consulting, software development, and training companies for software development.

[00:05:50] Different Types of Financial Advisors

There is no legal reason that financial advisors have to work in your best interest. On the 2 Frugal Dudes Podcast, Sean and Kevin advise people to use fiduciary advisors. These types of advisors are not legally allowed to accept kickbacks from different funds. This means that they are more likely to help you to the best of their ability. They get paid for their services. Laws are currently changing so that everyone has to be a fiduciary advisor unless clients sign a specific form.

[00:10:00] What do I do with money left over at the end of the month that I can’t put into a 401K and Roth IRA?

They suggest that you put only the amount of money in your 401K that your company will match. Then, put the rest into a Roth IRA and max that out. Before you decide to do what next, you need to decide why you are saving money. When will you need the money? What will you need it for? Once you know the answer to these questions, you will be able to assess what your money will best be placed. For example, if you are saving to buy a house you need to put your money in a safe investment. A Roth IRA can be used as a savings vehicle or as an emergency fund. Sean believes that a Bank CD is the safest return you can get.

[00:14:30] Best Way to Save 

For those who are self-employed, it is a good idea to have two emergency funds – a personal and a business fund. Business emergency funds should have five months of personal salary. Kevin built his up over two or three years and uses it as self-insurance.

Sean says that the employee world is different. For him, he only keeps the minimum amount in his emergency fund. He knows that he is in a field where his job is in high demand, so feels comfortable with being able to get a job quickly. For others, this may not be the case. Have to evaluate how much to save based on how long you think you may need the money. 

[00:18:50] What is the first thing people should be doing for their own financial well being?

Kevin follows Dave Ramsey’s advice.

Basic emergency fund. He uses $1,000. Most emergencies fall under that amount of money. Get rid of all consumer debt. This includes car payments, credit cards, and student loans. Mortgage is not consumer debt. Grow an emergency fund to three or six months of expenses. Investments. Setting up retirement funds, paying for college, or mortgages.

Sean values early retirement so he focuses on that. What does retirement mean to me? What does rich mean? You should always track your money through a budget. Then you can funnel money towards emergency funds and tackling debt.

Self-insurance means that you don’t have to worry about funds. It helps lower your stress knowing that you have your finances in order. It is a peaceful place to be and opens up opportunities for you. If someone has stressors in their life – for example, their car breaks down – and they have no money to fix it, they now have car and money problems. This stress can then potentially lead to other problems such as marriage problems. If the money to fix the broken car would have been there, it would alleviate stress.

[00:28:23] Difference between 401k, IRA, and Roth IRAs

A 401k is an employer provided, long-term retirement savings account. This is where you put in money before it is taxed. With this plan you are limited with the funds you can choose from to invest in.

IRAs are long-term retirement plans as well. The first type of IRA is a Traditional IRA, which is similar to a 401k. You get tax reduction for the money you put in the account. You pay taxes once you withdraw money. A Roth IRA is where you already pay taxes on money that you are putting in, but don’t have to pay taxes when withdrawing money. You can withdraw contributions at anytime without being penalized, you just can’t take out any earnings.

Another thing that is potentially good for early retirement is a Roth IRA conversion ladder. This is where you take money from a 401k and convert it into a Roth IRA and use it before 60 years old to fund early retirement.

Traditional IRAs are good for business owners looking for tax deductions now. An HSA (Health Savings Account) can also be used as a retirement device. It goes towards medical expenses if needed.

[00:34:20] Are there tools or algorithms I can use to figure this stuff out?

There are some. Portfolio Visualizer allows you to choose different portfolio mixes and put different amounts of money in each one. Portfolio Charts is similar to Portfolio Visualizer but gives nice graphics. Sean created a JavaScript website to help people use to figure out early retirement.

The hardest part is calculating return because you have to estimate what your return will be each year.

[00:39:00] Put Your Money Somewhere

The only bad investment is not making an investment. Even making a bad investment is better than not having any at all. Inflation eats away at money that is just sitting.

[00:42:05] If you get one of these advisors what advice should you be looking for?

Need someone that tries to understand your particular situation. “It depends” is very true and your advisor should know that. No two people will have the same financial goals. They should want to help reach your goals in the least costly way possible. Other things they should be able to do is be honest and help you control your emotions during upswings and downswings. 

[00:47:08] Why index funds?

As an investor, you can buy an index fund cheaper than buying the whole index. A mutual fund will try to buy and sell the stocks in that index in order to follow the index's performance. As an investor, you have the opportunity to buy into a mutual fund that handles it for you.

You don’t have to independently invest in companies either. You can invest in an index instead that will look at, for example, top performing technology companies. It is usually a better value.

[00:53:33] How much do I invest in my business verses putting money into a Roth IRA or 401k?

Sean thinks it comes down to retirement goals. At some point you will want money to come in passively and retire in the future. If you can passively put X amount of dollars into your company then it can be looked at as a form of investment.

Kevin evaluates his business goals every quarter. He creates a business budget based off of those goals.

Picks

Cory

Random Walk Down Wall Street by Burton Malkiel  Rich Dad, Poor Dad by Robert Kiyosaki  Ego is the Enemy by Ryan Holiday

Aimee

Hacker News Thread – How to Not Bring Emotions Home With You Phantogram 

Charles

Money Master the Game by Tony Robbins  ELPs (Endorsed Local Providers) Dave Ramsey

Sean

The Little Book of Common Sense Investing by John Bogle Mr. Money Mustache Blog  www.mint.com

Kevin

Unshakable by Tony Robbins YNABS  The Millionaire Next Door by Thomas Stanley Links 2 Frugal Dudes Twitter Sean's Twitter Kevin's Twitter www.swiftkick.in www.kevgriffin.com http://earlyretirementroadmap.com/ 2 Frugal Dudes Podcast

MJS #028 Zach Kessin

Aug 2, 2017 34:48

Description:

MJS 028 Zach Kessin

In this episode we have another JavaScript Story, this time our guest is Zach Kessin. Zach is a Developer and consultant. On the server side he works with Erlang and Elixir. On the front end he works on Elm. He also also written a few books for O’Reilly and a video course for Manning available sometime in the fall. He was a guest on episode 57 and is here with us today to tell us his story. Stay tuned!

[2:48] How did you get into programming.

Zack tells the story about how when he was 7 he asked his mother for a computer. She agreed that if he paid for half of it somehow, then she would help him get it. He Gathered his half by calling relatives and gathering funds. His mom taught him Basic and Logo. He also learned Pascal. While in University he picked up the book Structure and Interpretation of Computer Programs and loved it. He talks about remembering writing a HTML forum but not knowing how to submit entries. After college he started working.

[4:38] Resources then vs now.

Charles adds that if you’re tenacious enough to call your family members to find funding to buy a computer to learn, then you probably have the drive it takes to be a programmer. Charles and Zack talk about how in the 80s it was rare to have access to a computer, and now homes have multiple computers throughout. The resources are more readily available now with the internet. If you’re looking to get into development, there are plenty of great resources.

[7:45] How did you get into JavaScript and Erlang?

Zach starts explaining by telling how he get into JavaScript before the internet really existed. His first JavaScript program exposure was a loan calculator at a bank. Early on the only thing you could do was validate forms, but over time it grew. He started working for a company writing php. He felt like it wasn’t as functional or elegant as he was hoping for. He found various languages and landed on Erlang. Erland was designed to work for programming telephone switches. Due to phone services nature, It handles high scale, high reliability, has to be upgraded on the fly, etc. Zach talks about how server programming looks very similar to phone line programming. Zach adds that a few years ago he wanted work on some front end and after looking around finally he learned about Elm. He says that he is always looking for what’s new and useful.

[14:26] Programming Languages Change the Way We Think

Charles points out that it’s very interesting out about how functional programming has played out. He mentions that many JavaScript programmers use functional style programming to help with speed or efficiency. He adds that a fully functional programming language is very interesting and could be helpful. Zach talks about how learning new languages helps adjust the way we think.

[16:45] How have you contributed to the development community?

Charles starts off with mentioning Zach’s podcast that was called Mostly Erlang. Zach adds that he has wrote two books for O’ Reilly, one on HTML5 and Erlang. He has done some blogging and is creating a video course called Startup Elm. He mentions that he spends most of his time teaching. He admires people who write libraries and sustains them over years, but it isn’t something he sees himself getting into. He adds that having the libraries are useless unless you have someone to communicate about it and teach it. Charles mentions that contributions come in various ways and the community needs those sort of teachers. Zach mentions that he often speaks at conferences and meet ups. Public speaking can be a great way to progress your career. Charles brings up the idea of “Sweeping the dojo floor”. He was introduced to this idea by Dave Hoover. Sweeping the dojo floor means that you’ve got enough experience to talk about the topic, but maybe not fully contribute and so you do things like document code, or write articles and outreach for the topic. Talks can lead to work. You can easily find research papers and do talks on that. Zach adds that sometimes in a community, you see the same speakers over and over and new speakers are needed. Zach also mentions that there are plenty of opportunities to do talks in something other than english.

[26:36] What are you working on now?

Zach talks about the list of things he is working on. Starting with Startup Elm and it’s live course that will be happening in October. He is also working on a SaSS product for Instagram marketers called SquareTarget. He adds that he has a day job as well.

Picks Zach

Intrepid Large Format Camera Kickstarter

Charles

Toast Masters
Zapier
Javascriptjabber.com/slack

JSJ 272: Functional Programming and ClojureScript with Eric Normand

Aug 1, 2017 48:24

Description:

JSJ 272: Functional Programming and ClojureScript with Eric Normand

This episode of JavaScript Jabber features panelists Aimee Knight and Charles Max Wood. Special guest Eric Normand is here to talk about functional programming and ClojureScript. Tune in to learn more!

[00:1:14] Introduction to Eric Normand

Eric works for purelyfunctional.tv. The main target market for his company is those people who want to transition into functional programming from their current job. He offers them support, shows them where to find jobs, and gives them the skills they need to do well.

[00:02:22] Address that quickly

Functional programming is used at big companies such as Wal-Mart, Amazon, EBay, Paypal, and banks. They all have Clojure but it is not used at the scale of Java or Ruby.

So yes, people are using it and it is influencing the mainstream programming industry.

[00:3:48] How do you build an application?

A common question Eric gets is, “How do I structure my application?” People are used to using frameworks. Most start from an existing app. People want a process to figure out how to take a set of features and turn it into code. Most that get into functional programming have development experience. The attitude in functional programming is that they do not want a framework. Clojure needs to be more beginner friendly. His talk is a four-step process on how to turn into code.

[00:05:56] Can you expand on that a little?

There are four steps to the process of structuring an application.

Develop a metaphor for what you are trying to do. Developing the first implementation. How would you build it if you didn’t have code? Develop the operations. What are their properties? Example: will have to sort records chronological. Develop relationships between the operations. Run tests and refactor the program. Once you have that, you can write the prototype.

[00:13:13] Why can’t you always make the code better?

Rules can’t be refactored into new concepts. They have to be thrown away and started completely over. The most important step is to think before beginning to write code. It may be the hardest part of the process, but it will make the implementation easier.

[00:17:20] What are your thoughts on when people take it too far and it makes the code harder to read?

He personally has written many bad abstractions. Writing bad things is how you get better as a programmer. The ones that go too far are the ones that don’t have any basis or are making something new up. They are trying to be too big and use no math to back up their code.

[00:20:05] Is the hammock time when you decide if you want to make something abstract or should you wait until you see patterns develop?

He thinks people should think about it before, although always be making experiments that do not touch production.

[00:23:33] Is there a trade off between using ClojureScript and functional JavaScript?

In terms of functional programming in JavaScript don’t have some of the niceties that there are in Clojure script. Clojure Script has a large standard library. JavaScript is not as well polished for functional programming; it is a lot of work to do functional programming it and not as much support.

[00:27:00:] Dave Thomas believes that the future of software is functional programming. Do you agree?

Eric thinks that it seems optimistic. He doesn’t see functional programming take over the world but does think that it has a lot to teach. The main reason to learn functional programming is to have more tools in your toolbox.

[00:31:40] If this is a better way to solve these problems, why aren’t people using it?

There is a prejudice against functional programming. When Eric was first getting into it, people would ask why he was wasting his time. Believes that people are jaded. Functional programming feels foreign because people are used to a familiar way of programming; they usually start with a language and get comfortable.

[00:40:58] If people want to get started with it, is there an easy way in?

Lodash is great to start replacing for loops. It will clean up code. There are other languages that compile to JavaScript. For example, Elm is getting a lot of attention right now. It is a Haskell like syntax. If you want more of a heavyweight language, use TypeScript or PureScript. ClojureScript is into live programming. You are able to type, save, and see results of the code immediately on the screen in front of you.

Picks

Aimee:

The Hidden Cost of Abstraction  What Functional Language Should I Learn 

Eric

Steven King, On Writing  Youtube Channel: Tested  

Charles

Ionic Framework Links Purely Functional TV  Blog  Building Composable Abstractions 

MJS #027 Chris Anderson

Jul 26, 2017 31:31

Description:

MJS 027 Chris Anderson

This episode is a My JavaScript Story with guest Chris Anderson. Chris works at Microsoft, specifically on Azure Functions and WebJobs SDK. Hear how he got his start, how he has contributed to the community, as well as a bit about what it’s like being a Program Manager for Microsoft. 

[00:01:50] ]How did you get into programming?

In college Chris was an aerospace engineer. His first taste of working with code was at an internship at Lockheed Martin. Most of his daily work was with spread sheets so he learned Visual Basic to help handle that. He found himself interested in writing code more so he took an intro in C summer course and then things snowballed. When he finished that semester, he talked to advisor about switching to Computer Science. Immediately landed into JavaScript. Chris talks about having a ‘clicking moment’ while in a topics class. A classmate was talking about NodeJS and so he tried it out and hasn’t stopped using it since.

[00:03:36] What about programing appealed to you?

Chris says that programming made him have a sense of having superpowers. In aerospace he learned how planes worked and that was fun, but programming had an immediately feedback on what he was working on. He adds that it made sense in the way that programming is a universal toolset for no matter what field you’re in. Charles adds that he dug into coding after working in tech support and needing it.

[00:05:22] Have you worked with JavaScript before learning about Node?

Chris’ first real coding experience was with his internship. He taught himself JavaScript on the job and after a few months found himself really liking it. He felt like JavaScript felt more natural and expressive. Javascript empowered him to work on the client side and the server side and he felt empowered to do full stack.

[00:06:55] Was this before Microsoft?

Microsoft’s hiring process for college graduates you apply the year you graduate and go through a handful of interviews. He got hired into a team working on databases, working in SQL server. He wanted to work in developer tools and learned how to use power shell and SQL works and how powerful it was. He started moving back and pushing NodeJS onto SQL. There was a driver for SQL purely in JavaScript called TDS and he would make pull requests and contributed to that. He talks about searching internally looking for other work and finding a mobile services team that needed a NodeJS person so he started there. Later he started WebJobs and then later Functions, as an effort to make NodeJS technology work with a .Net technology called Webjobs SDK. Functions exists because he wanted to add a NodeJS to a .Net product.

[00:11:07] ] Did you find pushing NodeJS into a well developed language ecosystem risky?

Chris talks about helping push adoption of .Net and creating prototype ideas, and it sparking from that. His goal was to make customers more productive.

[00:12:02] Having fun at work

Chris talks about the team culture being fun at times. Sometimes as a developer you get buffered by Project Managers, but in the case developers spend a lot of time talking to customers. They are excited so they have loads of interactions, helping develop diverse ideas. Charles adds that the preconception to how the environment feels in Microsoft tends to be negative but from talking to people who work there, things seem to be more open than expected. Chris points to open source concepts that really makes working with Microsoft great.

[14:40] What does a Program Manager do on a team?

Chris talks about how his job is to explore the issues and talk to customers and then prioritize how to make things better. He talks about doing whatever he can to make the product successful with the customers, including building a prototype of an idea, taking a sort of position similar to an entrepreneur. Charles adds that it’s refreshing to find that someone in the Program Manager also being technical sufficient and hands on. Chris talks about how teams are built naturally and pulled together with a group of people who love what they are doing.

[00:16:52] Does the Azure Functions team use Azure Functions to make Azure Functions work?

Chris talks about not using Azure functions under the covers, for the most part it’s built on top of the app service technology stack like web apps and mobile apps. Things that power that is what powers the Azure functions, like Angular. A lot of the engineering pieces are on top of that. They do use Azure for various Microsoft internal things. All of the tests they build are functions to test functions.

[00:18:24] How did you and your team come to use Angular?

Chris was working on the prototype for Azure Functions. Amed had experience with working on front end applications and he wanted to try out Angular 2 even though it was still in beta. He found that had the right amount of stuff out of the box. Additionally it had typescript which meshed well. They tend to pick things that people on the team know well and not as much as trying to stay tied into Microsoft supported systems. Chris talks about doing one or two major refactoring.

How much Angular have you worked on yourself?

Amed works the most on Angular, Chris’ job as Program Manager puts in him in a place where his commits don’t go into production, but he will often write prototypes. He played around a lot with the Monaco editor and adding features for that. As far as outside of that, he has written a few tutorials for using Functions plus Angular as well as written his wedding website with Angular.

[00:22:33] What other extracurricular projects have you worked on?

Chris talks about doing a lot of side projects for a while. One working with ExpressSocket.io. He also built a middleware project where you can write middleware into Functions. Plenty of little projects he puts on GitHub and never finishes. Chris talks about wishing he could switch hats between being the Program Manager and a developer.

[00:23:42] Is there anything in particular you feel like you’ve contributed to Angular?

Chris talks about improving by putting in loads of pull requests for tons of JavaScript libraries and a few NodeJS libraries. He would like to be more involved in the start of those processes. Chris says he hopes to maybe be involved in the next Node version update. He really likes the Node community.

Picks Chris

Mountain Dew Pitch Black
The Expanse Series on SciFi
Application Insights

Charles

Wheel of Time
Coolage
Dog Company
Data Dog

Links

Twitter
GitHub

JSJ 271: SharePoint Extensions in JavaScript with Mike Ammerlaan and Vesa Juvonen

Jul 25, 2017 53:17

Description:

JSJ 271: SharePoint Extensions in JavaScript with Mike Ammerlaan and Vesa Juvonen

This episode is a live episode from Microsoft Build where AJ O'Neal and Charles Max Wood interview Mike Ammerlaan and Vesa Juvonent about building extensions for SharePoint with JavaScript.

[00:01:28] Mike Ammerlaan introduction
Mike has worked at Microsoft for a long time on multiple Microsoft products and projects. He's currently on the Office Ecosystem Marketing Team.

[00:01:52] Vesa Juvonen introduction
Ves a is Senior Program Manager for the SharePoint Splat team. He's been with Microsoft for about 11 years and manages the community and documentation for the SharePoint framework.

[00:02:18] What is the SharePoint Framework?
This is how you write SharePoint extensions with JavaScript. SharePoint has changed. It now works with common modern development tools and web development techniques. SharePoint consolodates the extension effort

[00:03:32] What is SharePoint?
File sharing, team sites, communication points for teams. Part of Office 365. You use Web Parts to add functionality to SharePoint. Web Parts provide functionality like widgets and are scoped to a team, group, or set of users. It's usually hosted on premises, but you can also use it with Office 365 as a hosted solution.

[00:05:56] What extensions can you build for SharePoint?
You can build widgets for your front page or intranet. You can also add user management or data management or document management.

Examples:

Dashboards Mini Applications Scheduling and Time Tracking Document Storage Source code repositories

[00:07:39] What is WebDAV and how does it relate?
WebDAV is a protocol for accessing documents and SharePoint supports it among other protocols for managing documents.

[00:08:36] Do I have to build front-end and back-end components to get full functionality?
You can build the front-end UI with Angular and other frameworks. And then build a service in Azure on the backend. The backend systems can then access Line of Business systems or other data systems.

It really does take multiple skill sets to build extensions for SharePoint.

[00:11:10] SharePoint on Mobile
There is a mobile web app and the Web Parts work through the mobile application. You can also use any browser to connect to the application.

[00:12:08] Building extensions with standard Angular or React component libraries
There are standard Yeoman templates. You can also pull in the components through React or Angular just like what Microsoft does.

Newer Angular versions are designed for Single Page Apps and SharePoint isn't necessarily set up to work that way. The Web Parts are isolated from each other and Angular requires some workarounds.

[00:14:30] Getting around sandboxing
Google and Microsoft are talking to each other to see how to work around this when there are multiple sandboxed applications that can't talk to each other in very simple ways.

[00:15:39] Application library or naming collisions if my UI uses different versions or clobber page wide settings
There are guides for a lot of this. React does a bunch of the isolation work.

Addons are iframed in and an API token is given to grant access to the data and APIs.

Microsoft also reviews and approves plugins.

[00:18:30] How do you get started and make money at this?
Look at the SharePoint store. You can build things through websites and pages and offer the plugins through the store.

You can request a SharePoint tenant installation from the Microsoft Dev Tools for free. Then you can build into the tenant site. The rest of the tools are available on npm.

SharePoint Developer Tools

[00:22:13] Automated testing for SharePoint extensions
Unit testing is built in for JavaScript. Testing the UI's require you to sign into Office 365. There are people doing it, though.

[00:22:54] Building internal-only extensions
SharePoint is an enterprise tool, so a lot of enterprises may not want to install extensions from the store. You can definitely build and install private plugins for SharePoint setups. They also have their own backend systems that will require custom development.

[00:25:50] Office 365, SharePoint, and OneDrive
Office 365 is used by people across many different sized organizations and SharePoint is much more enterprise. Office 365 tools store files and information in SharePoint.

What about OneDrive versus Sharepoint? OneDrive is focused for one person. SharePoint is focused around a team. But they have the same APIs and use the same technology stack.

[00:29:05] The history and future of SharePoint
It started out on premises and has moved to the cloud. The SharePoint team is working to keep it available and useful in the modern cloud based era.

[00:30:25] What does the API footprint look like?
It spans modifying lists, data objects, attributes, items in a list, put Web Parts on a page, modify the experience, and manage and modify access, users, and documents. SharePoint is a way of building a way of conveying information.

SharePoint is layers of data and scopes.

[00:35:26] Tutorials and Open Source
dev.office.com
The Sharepoint framework is not open source yet, but they're working on that. They also need to open source the Yeoman templates.
Open source samples are available at github.com/sharepoint.

Picks

Charles Max Wood

BlueTick Zapier ScheduleOnce Moo.com Advice: Take the time to go talk to people.
Vesa adds that you should go to a session that's on something completely outside your experience.

AJ O'Neal

The Circle Spontaneity/Happiness: AJ tells a story about a woman he saw running through sprinklers. Oh the places you'll go by Dr. Seuss: AJ talks about a journal entry he read at a yard sale.

Mike Ammerlaan

Super hot VR on Oculus Rift

Vesa Juvonen

Family

A big thanks to Microsoft, DotNetRocks, and Build!

MJS #026 Chris Coyier

Jul 19, 2017 42:51

Description:

MJS 026 Chris Coyier

This week’s episode is a My JavaScript Story with Chris Coyier. He is from the ShopTalk Show and CodePen. Listen to learn more about Chris!

How did you get started programming?
Chris has an atypical story. good time in life. He is from a small town in Madison, Wisconsin and had a very privileged upbringing. He went to a nice high school that had a programming elective in his high school. He took a class that taught Turbo Pascal and loved it. He had a lot of fun doing it and became set on doing it in college.

How do you go from that to professional web developer?

Have to give up on it first. He almost got a degree in university management computer systems, which was more management focused than programming focused. He tried and gave up on Java. He then tried graphic design and ended up getting a degree in that. He got into digital prepress at print jobs where he designed documents. It was fun but it was not as fun as being a “real programmer” would be in his mind. He then got a job at an agency doing web developer work. During this time JavaScript was not on his radar.

How do you get from front-end work to building something like CodePen and starting a front-end podcast?

He has made his career his hobby. He loves doing this stuff. When he was building websites for the first time he started CSS tricks. It became really fun. He grew it over ten years. Because it’s his career and hobby he got better over time. All of his time was spent helping friends, writing, or at conferences. He then decided to build CodePen with some of his friends.

What are you working on these days?

Chris wants to be careful not to be working on too many things at once. His top priority is CodePen, which he says is hard to keep up with what developers want there. The second priority is CSS tricks. He likes to publish quality articles for people to read. This third priority is his podcast.

What’s the thing you’ve done that you’re the proudest of?

CodePen is what has been so continually rewarding. This last month he is all money accounted for. He is really proud of CodePen because they made a company from nothing. He and his coworkers have made the podcast over a decade of growing an audience and it feels entrepreneurial.

Charles’ most proud thing is the decision to go full time with his podcast for the last year and a half.

Picks

Chris:

CodePen https://codepen.io/ ShopTalk www.shoptalkshow.com Alien Covenant http://www.alien-covenant.com/

Charles:

www.getacoderjob.com React Native www.reactnative.com www.gocd.org JS Dev Summit https://jsdevsummit.com/

Links

GitHub https://github.com/chriscoyier Twitter https://twitter.com/chriscoyier https://chriscoyier.net/

JSJ 270 The Complete Software Developers Career Guide with John Sonmez

Jul 18, 2017 60:43

Description:

JSJ 270 The Complete Software Developers Career Guide with John Sonmez

This episode features a panel of Joe Eames, AJ O’Neal, as well as host Charles Maxwell. Special guest John Sonmez runs the website SimpleProgrammer.com that is focused on personal development for software developers. He works on career development and improving the non-technical life aspects of software developers. Today’s episode focuses on John’s new book The Complete Software Developers Career Guide.

Did the book start out being 700 pages?

No. My goal was 200,000 words. During the editing process a lot of questions came up, so pages were added. There were side sections called “Hey John” to answer questions that added 150 pages.

Is this book aimed at beginners?

It should be valuable for three types of software developers: beginner, intermediate, and senior developers looking to advance their career. The book is broken up into five sections, which build upon each other. These sections are: - How to get started as a software developer - How to get a job and negotiate salary - The technical skills needed to know to be a software developer - How to work as a software developer - How to advance in career

Is it more a reference book, not intended to read front to back?

The book could be read either way. It is written in small chapters. Most people will read it start to finish, but it is written so that you can pick what you’re interested in and each chapter still makes sense by itself.

Where did you come up with the idea for the book?

It was a combination of things. At the time I wanted new blog posts, a new product, and a new book. So I thought, “What if I wrote a book that could release chapters as blog posts and could be a product later on?” I also wanted to capture everything I learned about software development and put it on paper so that didn’t lose it.

What did people feel like they were missing (from Soft Skills) that you made sure went into this book?

All the questions that people would ask were about career advice. People would ask things regarding: - How do I learn programming? - What programming language should I learn? - Problems with co-workers and boss - Dress code

What do you think is the most practical advice from the book for someone just getting started?

John thinks that the most important thing to tell people is to come up with a plan on how you’re going to become educated in software development. And then to decide what you’re going to pursue. People need to define what they want to be. After that is done, go backwards and come up with a plan in order to get there. If you set a plan, you’ll learn faster and become a valuable asset to a team. Charles agrees that this is how to stay current in the job force.

What skills do you actually need to have as a developer?

Section 3 of the book answers this question. There was some frustration when beginning as a software developer, so put this list together in the book. - Programming language that you know - Source control understanding - Basic testing - Continuous integration and build systems - What kinds of development (web, mobile, back end) - Databases - Sequel

Were any of those surprises to you?

Maybe DevOps because today’s software developers need to, but I didn’t need to starting out. We weren’t involved in production. Today’s software developers need to understand it because they will be involved in those steps.

What do you think is the importance of learning build tools and frameworks, etc. verses learning the basics?

Build tools and frameworks need to be understood in order to understand how your piece fits into the bigger picture. It is important to understand as much as you can of what’s out there. The basics aren’t going to change so you should have an in depth knowledge of them. Problems will always be solved the same way. John wants people to have as few “unknown unknowns” as possible. That way they won’t be lost and can focus on more timeless things.

What do you think about the virtues of self-taught verses boot camp verses University?

This is the first question many developers have so it is addressed it in the book. If you can find a good coding boot camp, John personally thinks that’s the best way. He would spend money on boot camp because it is a full immersion. But while there, you need to work as hard as possible to soak up knowledge. After a boot camp, then you can go back and fill in your computer science knowledge. This could be through part time college classes or even by self-teaching.

Is the classic computer science stuff important?

John was mostly self-taught; he only went to college for a year. He realized that he needed to go back and learn computer science stuff. Doesn’t think that there is a need to have background in computer science, but that it can be a time saver.

A lot of people get into web development and learn React or Angular but don’t learn fundamentals of JavaScript. Is that a big mistake?

John believes that it is a mistake to not fully understand what you’re doing. Knowing the function first, knowing React, is a good approach. Then you can go back and learn JavaScript and understand more. He states that if you don’t learn the basics, you will be stunted and possibly solve things wrong. Joe agrees with JavaScript, but not so much with things algorithms. He states that it never helped him once he went back and learned it. John suggests the book Algorithms to Live By – teaches how to apply algorithms to real life.

Is there one question you get asked more than anything else you have the answer to in the book?

The most interesting question is regarding contract verses salary employment and how to compare them. It should all be evaluated based on monetary value. Salary jobs look good because of benefits. But when looking at pay divided by the hours of work, usually a salary job is lower paid. This is because people usually work longer hours at salary jobs without being paid for it.

What’s the best place for people to pick up the book?

simpleprogrammer.com/careerguide and it will be sold on Amazon. The book will be 99 cents on kindle – want it to be the best selling software development book ever.

Picks Joe

Wonder Woman

AJ

The Alchemist

Charles

Artificial Intelligence with Python

John

Algorithms to Live by: The Computer Science of Human Decisions Apple Airpods

Links

Simple Programmer Youtube

MJS #025 Helen V. Holmes

Jul 12, 2017 29:24

Description:

MJS 025: Helen V. Holmes

This episode features a My JavaScript story with Helen V. Holmes. Helen has never before been a guest on the show. She is both a designer and front-end programmer who previously worked for Mozilla. In January, she started her own freelancing business. Listen to Charles Max Wood and Helen discuss how she got into programming, what made her decide to open a freelance business, and more!

How did you get into programming?

Helen started by making themes for herself and friends in LiveJournal using other people's CSS themes. Once she got to college she realized that although this wasn't a career, it was an aspect of a career. She then majored in graphic design, going on to do internships in both front-end development and design. Since college, she has gone back and forth between front-end development and design work.

How long ago was that?

Helen graduated college in 2013.

Did you graduate in computer science?

Helen did not even minor in computer science. At the time, she was focused on making stuff. The computer science major was too heavily focused on theory. She did take a couple of classes in it, but the graphic design major was more focused on building prototypes. Her graphic design major didn't teach her how to do anything - she said that you're on your own, and you have to figure out how to show off your ideas. The major appealed to her at the time because of that reason. Now Helen thinks majoring in computer science would have been really helpful for her career.

Charles points out that you don't have to have a computer science degree to do this work. Helen agrees; it can be wasted on you if you don't have the right enthusiasm to learn everything. Both say that you can get the education you want through self-education. Helen explains that so much of successful programming is good communication - this can be learned in college, while the specifics of how to code can be learned later.

How do you get from a graphic design major to "serious programming?"

Helen doesn't know how serious the programming she does is now. Her first real job was at Capital One as a front-end developer on their design team. She was doing prototypes and communicating between the design and production/engineering teams. She realized that nobody knew how to write JavaScript when trying to communicate between the two teams, so she decided that she should learn. A lot of the engineers came to the same realization at the same time. She started to write React as she was leaving Capital One. Everyone was trying to improve his or her JavaScript chops at the same time.

Did you get into Angular or React at Capital One?

When she first started at Capital One everyone was writing Angular. She wrote a lot of Angular in the beginning of her work. Most of the prototypes could be solved with React. Near the end of her time, she started using a lot of React.

What do you see is the difference between Angular and React?

Angular solves a lot more problems than React. It brings logic to the client side. React is only about solving visual problems. That's why it appealed to Helen. The design team she worked with was all about solving visual problems.

Why did you choose the front end?

Helen mainly chose it because she was a graphic design major. She believes that because the web is so accessible that it is the easiest thing. She also thinks the front end is fun.

How'd you wind up at Mozilla?

She met James Long through a mutual friend. Once they met, he thought she'd be a good addition to their team. He told her why it'd be a good switch for her - they were doing React work and they were looking for someone to understand problems that engineers go through.

What do they use React on?

She was on the browser team. The front-end of the developer tools was a JavaScript application that wasn't Angular. They were working on moving it to become a more documented framework. They wanted to use Redux and React. The team was converting it panel by panel.

What made you decide you were going to go freelance?

Helen had been missing things that she had done in college such as branding and illustration work. She had done some illustration work while at Firefox. She ultimately wanted to do a variety of different things instead of just product work. What gave her courage to go into freelance work was that James Long was also going freelance at the same time, so she thought that she was in good company. She also is related to a lawyer, so it wasn't as scary filing the paperwork because she had someone to ask for help during the process.

What contributions do you feel like you've made to the JavaScript community?

Helen believes that the highest impact work she has done has been on the Firefox browser. She didn't write a lot of code, but feels like what she did write is being used by a lot of people. She is most proud of the CSS grid because she says that it is exciting for people who do layout stuff on the web.

What are you working on now?

Helen started her own business at the beginning of the year. She is figuring out how she wants her skills to grow and with what kind of clients she wants to work. She has a lot of side projects, one being what she calls an art project. She is translating JPEG to Pixel art. She is taking NeoPixels, which are little programmable LEDs, and taking a matrix of values and displaying them on a sight board.

With everything that's out there in JavaScript, how do you keep current?

Helen answers that she doesn't. She tries to stay current with the tools she is using, which is React. She doesn’t try to be good at everything because she is also a designer, so she says that she has to pick and choose what she stays current on. Charles says that is what he tells people to do. There is so much out there that there is no way that anyone is going to stay current on everything. He says to keep current on what you are doing specifically.

Picks         

Helen:

Wonder Woman http://wonderwomanfilm.com Debt: The First 5,000 Years https://www.amazon.com/Debt-First-5-000-Years/dp/1612191290

Charles:

JavaScript Jabber Slack Room https://devchat.tv/javascript-jabber-slack Monthly Webinars  https://devchat.tv/webinars Angular Remote Conf https://devchat.tv/conferences/angular-remote-conf-2017

Links

Helen V Holmes Twitter https://twitter.com/helenvholmes

JSJ 269 Reusable React and JavaScript Components with Cory House

Jul 11, 2017 57:44

Description:

JSJ 269 Reusable React and JavaScript Components with Cory House

On today’s episode of JavaScript Jabber, we have panelists Joe Eames, Aimee Knight, Charles Max Wood, and playing the part of both host and guest, Cory House. Encourage your team to investigate reusable components, whether that’d be React, Angular, Vue, or Ember. Tune in!

[00:01:35] – Overview

We can finally write reusable components that it is really lightweight. It doesn’t take much framework-specific code to get things done.

Around 3 years ago, the idea of web component standard was all front-end developers could share our components with each other whether someone is in Angular or React. Web components continue to be an interesting standard but people continue to reach for JavaScript libraries instead – React, Angular, Vue. 

[00:04:50] – Browser support issue

The story in JavaScript libraries is easier. You have more power, more flexibility, more choices, and get superior performance, in certain cases, by choosing a JavaScript library over the standard right now. If you try to use the web components standard, you have to Polyfill-in some features so you can run things across browser. You also won’t get JavaScript features like intelligently splitting bundles and lazy load different components.

Whether you’re in Angular or React, you have this model of putting your data in your curly braces. That setup is non-existent in standardized web components. You have to play the game of putting and pulling data into and out the DOM using DOM selectors. You actually take a step backward in developer ergonomics when you choose to leverage the platform instead.

[00:07:50] – Polymer

The reason that Polymer is useful is it adds some goodness on top of web components. One of those things is that it makes it easier to bind in data and not having to do things like writing a DOM query to be able to get your hands on this div and put this text inside of it. With Polymer, you can do something that feels more like Angular, where you can put in your curly braces and just bind in some data into that place. Polymer ends up adding some nice syntactic sugar on top of the web components standard just to make it easier to create web components. Polymer is also used to bundle in Polyfill for the features across browser.   

[00:14:20] – Standards are dead

No. The standard itself has been embraced at different levels by different libraries. What you can see for the near future is popular libraries leveraging pieces of the web components platform to do things in a standard-spaced way. Effectively, Angular, Vue, Aurelia, are going to be abstractions over the web components standard. Arguably the most popular way to do components today is React. But React completely ignores the web components standard. When you look at React, you can’t see what piece of the web components standard would fundamentally make React a better component library.

Cory can’t seem to run to anybody that is actually using the standard in production to build real applications. People continue to reach for the popular JavaScript libraries that we so often hear about.

[00:17:05] – Libraries making reusable components

There is a risk that it would have been a waste for people writing components on Angular, for React, for Vue. But it’s not necessarily safer writing on the web component standard when you have so few people leveraging that standard. There’s always the risk that that standard may shift as well.

As an example, Cory’s team created approximately 100 reusable components in React. If they end up moving to a hot new library, the components are really just functions that take parameters and contain HTML. There is little there

[00:21:20] – Why opt for reusable components

Reusable components are inherently useful in a situation where you’re going to be doing something more than once. If you think about any work that you do as a software developer, we’d like to think that we’re coming in and creating new things but often it is groundhogs day. There are all sorts of opportunities for reuse.

As a company, we want to encapsulate our forms in reusable components so it’s literally impossible for our software developers to do something that goes against our standard. That’s the power of reusable components.  

[00:31:20] – Rigid component vs. flexible component

As component developers, if we try to create a reusable component in a vacuum, bad things happen. If you’re going to do a reusable component, start by solving a specific problem on a given application. If we think that a component’s going to be useful in multiple places, we put it in a folder called reusable right there in our application source folder.

We try to follow that rule of three as well. If we’ve taken that component and used it in 3 places, that’s a good sign that we should extract it out, put it in our NPM package, that way, everybody has this centralized component to utilize. At that point, it has been tested. It’s been through the fire. People have used it in the real world in a few places so we can be confident that the API is truly flexible enough.

Be as rigid as you can upfront. Once you add features, it’s really hard to take features away. But it’s quite easy to add features later. If you start with something rigid, it’s easier to understand. It’s easier to maintain and you can always add a few more switches later.

[00:36:00] – Reusable components

The reason that we can’t reuse code is every time a new project comes up, people are spending up their own ideas rather than leveraging standards that should have been put in place previously.

We’ve had the technical ability to do this for a long time. We just haven’t been around long enough for consolidation to happen, for standardization to happen. You look at how quickly things are changing in our industry. For instance, a couple of years ago, everybody had pretty much decided that two-way binding was the way to build web applications. And then, React came along and shook that up. So today, you have different ways of thinking about that issue.

[00:42:45] – Component development on teams

Aimee’s team has component development and they’re using Angular 1.6. All of our base components are sitting in a seed application. We just go in when we want to create a new property and we just extend all of those components with specific functionalities that we need.

[00:47:45] – Mobile to web crossover

Cory’s team is creating React components but it’s not leveraged on a mobile application. But people use React Native components on the web. And in fact, if you use create-react-app today, you can do that right now. It’s wired up to work in React Native components. In that way, you can literally have these same components running on your Native mobile apps as you do on your web application.

[00:50:00] – Challenge

Cory’s challenge for everybody listening is sit down with your team and have a quick conversation about whether you think components make sense. Look back at the last few months of development and say, "if we have a reusable component library, what would be in it? How often have we found ourselves copying and pasting code between different projects? How much benefit would we get out of this story?"

Once you’ve realized the benefits of the component model, both in the way that makes you think about your application, in a way that it helps you move faster and faster over time, I really think you won’t go back to the old model. I’d encourage people to investigate reusable components, whether that’d be React, Angular, Vue or Ember.

Picks

Cory House

Creating Reusable React Components on Pluralsight Ted Talk: Why You Should Define your Fears Instead of Your Goals by Tim Ferriss

Joe Eames

UI-Router Persistence

Aimee Knight

Ask HN: People who completed a boot camp 3+ years ago, what are you doing now? NgAtlanta

Charles Max Wood

Upwork.com

JSJ 269 Reusable React and JavaScript Components with Cory House

On today’s episode of JavaScript Jabber, we have panelists Joe Eames, Aimee Knight, Charles Max Wood, and playing the part of both host and guest, Cory House. Encourage your team to investigate reusable components, whether that’d be React, Angular, Vue, or Ember. Tune in!

[00:01:35] – Overview

We can finally write reusable components that it is really lightweight. It doesn’t take much framework-specific code to get things done.

Around 3 years ago, the idea of web component standard was all front-end developers could share our components with each other whether someone is in Angular or React. Web components continue to be an interesting standard but people continue to reach for JavaScript libraries instead – React, Angular, Vue. 

[00:04:50] – Browser support issue

The story in JavaScript libraries is easier. You have more power, more flexibility, more choices, and get superior performance, in certain cases, by choosing a JavaScript library over the standard right now. If you try to use the web components standard, you have to Polyfill-in some features so you can run things across browser. You also won’t get JavaScript features like intelligently splitting bundles and lazy load different components.

Whether you’re in Angular or React, you have this model of putting your data in your curly braces. That setup is non-existent in standardized web components. You have to play the game of putting and pulling data into and out the DOM using DOM selectors. You actually take a step backward in developer ergonomics when you choose to leverage the platform instead.

[00:07:50] – Polymer

The reason that Polymer is useful is it adds some goodness on top of web components. One of those things is that it makes it easier to bind in data and not having to do things like writing a DOM query to be able to get your hands on this div and put this text inside of it. With Polymer, you can do something that feels more like Angular, where you can put in your curly braces and just bind in some data into that place. Polymer ends up adding some nice syntactic sugar on top of the web components standard just to make it easier to create web components. Polymer is also used to bundle in Polyfill for the features across browser.   

[00:14:20] – Standards are dead

No. The standard itself has been embraced at different levels by different libraries. What you can see for the near future is popular libraries leveraging pieces of the web components platform to do things in a standard-spaced way. Effectively, Angular, Vue, Aurelia, are going to be abstractions over the web components standard. Arguably the most popular way to do components today is React. But React completely ignores the web components standard. When you look at React, you can’t see what piece of the web components standard would fundamentally make React a better component library.

Cory can’t seem to run to anybody that is actually using the standard in production to build real applications. People continue to reach for the popular JavaScript libraries that we so often hear about.

[00:17:05] – Libraries making reusable components

There is a risk that it would have been a waste for people writing components on Angular, for React, for Vue. But it’s not necessarily safer writing on the web component standard when you have so few people leveraging that standard. There’s always the risk that that standard may shift as well.

As an example, Cory’s team created approximately 100 reusable components in React. If they end up moving to a hot new library, the components are really just functions that take parameters and contain HTML. There is little there

[00:21:20] – Why opt for reusable components

Reusable components are inherently useful in a situation where you’re going to be doing something more than once. If you think about any work that you do as a software developer, we’d like to think that we’re coming in and creating new things but often it is groundhogs day. There are all sorts of opportunities for reuse.

As a company, we want to encapsulate our forms in reusable components so it’s literally impossible for our software developers to do something that goes against our standard. That’s the power of reusable components.  

[00:31:20] – Rigid component vs. flexible component

As component developers, if we try to create a reusable component in a vacuum, bad things happen. If you’re going to do a reusable component, start by solving a specific problem on a given application. If we think that a component’s going to be useful in multiple places, we put it in a folder called reusable right there in our application source folder.

We try to follow that rule of three as well. If we’ve taken that component and used it in 3 places, that’s a good sign that we should extract it out, put it in our NPM package, that way, everybody has this centralized component to utilize. At that point, it has been tested. It’s been through the fire. People have used it in the real world in a few places so we can be confident that the API is truly flexible enough.

Be as rigid as you can upfront. Once you add features, it’s really hard to take features away. But it’s quite easy to add features later. If you start with something rigid, it’s easier to understand. It’s easier to maintain and you can always add a few more switches later.

[00:36:00] – Reusable components

The reason that we can’t reuse code is every time a new project comes up, people are spending up their own ideas rather than leveraging standards that should have been put in place previously.

We’ve had the technical ability to do this for a long time. We just haven’t been around long enough for consolidation to happen, for standardization to happen. You look at how quickly things are changing in our industry. For instance, a couple of years ago, everybody had pretty much decided that two-way binding was the way to build web applications. And then, React came along and shook that up. So today, you have different ways of thinking about that issue.

[00:42:45] – Component development on teams

Aimee’s team has component development and they’re using Angular 1.6. All of our base components are sitting in a seed application. We just go in when we want to create a new property and we just extend all of those components with specific functionalities that we need.

[00:47:45] – Mobile to web crossover

Cory’s team is creating React components but it’s not leveraged on a mobile application. But people use React Native components on the web. And in fact, if you use create-react-app today, you can do that right now. It’s wired up to work in React Native components. In that way, you can literally have these same components running on your Native mobile apps as you do on your web application.

[00:50:00] – Challenge

Cory’s challenge for everybody listening is sit down with your team and have a quick conversation about whether you think components make sense. Look back at the last few months of development and say, "if we have a reusable component library, what would be in it? How often have we found ourselves copying and pasting code between different projects? How much benefit would we get out of this story?"

Once you’ve realized the benefits of the component model, both in the way that makes you think about your application, in a way that it helps you move faster and faster over time, I really think you won’t go back to the old model. I’d encourage people to investigate reusable components, whether that’d be React, Angular, Vue or Ember.

Picks

Cory House

Creating Reusable React Components on Pluralsight Ted Talk: Why You Should Define your Fears Instead of Your Goals by Tim Ferriss

Joe Eames

UI-Router Persistence

Aimee Knight

Ask HN: People who completed a boot camp 3+ years ago, what are you doing now? NgAtlanta

Charles Max Wood

Upwork.com

MJS #024 Aaron Frost

Jul 5, 2017 41:28

Description:

MJS 024 Aaron Frost

This episode can double as a My JavaScript Story and a My Angular Story and features Aaron Frost. Aaron has been on both JavaScript Jabber and Adventures in Angular. He has been a principal engineer for four years and recently organized his fourth NG-Conf.

How did you get into programming?

Aaron was working as a loan officer when he decided he needed a new career. He went to work at an accounting support phone center. There he discovered he was good at Sequel. He tried out for the QA team; the UA automation made sense to him. He became a senior QA and in 2010 jumped to working in development full time. He knew JavaScript; which made everyone wanted to hire him. He learned JQuery too.

What was it about JavaScript that really got you excited about it?

In Utah when he was working for a company, he had never learned JavaScript; he was told he had to learn jQuery to do browser extensions. The first night he learned jQuery he decided he loved the language. He stuck with it for three to four months. After that, he learned actual JavaScript. He explains that it just “fits in his head,” and made him feel well equipped and powerful.

How do you get to Angular?

He worked for a big, local corporation in Utah with powerful developers. The JavaScript community was strong there. They used Backbone and one day he emailed the developers. He suggested they Angular. One of the developers asked Aaron to help with the conversion. They were writing less code in Angular than in Backbone. It saved time.

Sometime after that, his friend Kip Lawrence suggested that they go to an Angular Conference. When they looked up conferences they couldn’t find any. They decided to start their own Angular conference after that.

How do you become a GDE?

There is a GDE app where you nominate yourself. In order to be picked, you have to meet a lot of criteria. You have to answer a lot of questions. There are things they want you to have done to prove you stand out and are a leader in the community. They want more than someone who is just smart. They want people who have presented at conferences, made open source contributions, written books, etc.

What else have you done in JavaScript or Angular?

One of the very first projects Aaron did is one that he considers one of the coolest. He built a browser extension for his twin brother’s real estate website that solved a captcha. He then marketed it to other people. He believes it is one of the most fun problems to solve.

What are you working on these days?                      

Aaron has a side project, which is a remote communication app for remote workers to use. He is working on how to make the NG-Conf bigger and better each year. He is also spending time being a dad.

Is there an overarching thing you’ve learned over the last 7 or so years of programming?

The thing that keeps recurring is that there is a need for engineers to focus on solving problems for users and less on having perfect code. He has noticed that developers make decisions to try to make perfect code that can sink a company. Developers should be more business focused than tech problems. It is more responsible for making a business profitable. Solve problems for the user first and don’t try to replace a language that’s working.

Picks

Aaron:

Superpowers https://www.amazon.com/gp/bookseries/B00YU1C4ZY/ref=dp_st_0141321342 Yarn www.yarnpkg.com Samsung SmartThings  www.smartthings.com

Charles:

Nimble www.nimble.com Bluetick www.bluetick.io Visual studio code www.code.visualstudio.com Wade Anderson interview, Microsoft build https://devchat.tv/js-jabber/jsj-265-wade-anderson-ramya-rao-visual-studio-code www.zapier.com

Links

Twitter: https://twitter.com/js_dev GitHub: https://github.com/aaronfrost

JSJ 268 Building Microsoft Office Extensions with JavaScript with Tristan Davis and Sean Laberee

Jul 4, 2017 01:06:43

Description:

JSJ 268 Building Microsoft Office Extensions with Javascript with Tristan Davis and Sean Laberee

This episode is live at the Microsoft Build 2017 with Charles Max Wood and AJ O’Neal. We have Tristan Davis and Sean Laberee from the Office Team at Microsoft. Tune in and learn more about what’s new with Microsoft Office Extensions!

[00:01:25] – Introduction to Tristan Davis and Sean Laberee

Tristan Davis and Sean Laberee are Program Managers on the Microsoft Office team, focused on Extensibility.

Questions for Tristan and Sean

[00:01:45] – Extending Office functionality with Javascript

Office isn’t just an application on Windows that runs on your PC. It is running on iPhone, iPad, Android tablet, and apps on the browser with Office Online. The team needs a new platform, add-ins, which allow you to build apps that run across all places. It’s HTML and Javascript. HTML for all the UI and a series of Javascript module calls for the document properties. Sometimes we call it OfficeJS.

[00:03:20] – This works on any version of Office?

It works on Office on Windows, Mac, Online and iPad.

[00:03:55] – HTML and CSS suck on mobile?

There are things that you’re going to want to do when you know you’re running on a mobile device. If you look at an add-in running on Outlook for iPhone, the developer does a lot of things to make that feel like part of the iPhone UI. Tristan believes that you could build a great add-in for Office using HTML and JavaScript.

[00:05:20] – Are these apps written with JavaScript or you have a Native with WebView?

Office itself is Native. All of it is Native code but the platform is very much web. The main piece of it is pointing at the URL. Just go load that URL. And then, you can also call functions in your JavaScript.

[00:06:35] – Why would you do this? How does it work?

The add-in platform is a way to help developers turn Word, Excel and PowerPoint into the apps that actually solve user’s business problems. The team will give you the tools with HTML and JavaScript to go and pop into the Word UI and the API’s that let you go manipulate the paragraph and texts inside of Word. Or in Excel, you might want to create custom formulas or visualizations. The team also let people use D3 to generate their own Excel charts.

And developers want to extend Office because it’s where a lot of business workers spend their days 0 in Outlook, Teams, Word, Excel.

[00:10:00] – How did this get delivered to them?

There are 2 ways to get this delivered. One, there’s an Office Store. Second, if you go into Word, Excel, and PowerPoint, there’s a store button and you can see tons of integrations with partners.

For enterprises, IT can deploy add-ins to the users’ desktops without having stress about deploying MSI’s and other software deployments that the web completely rids off. The add-ins make a whole lot of pain the past completely go away.

[00:11:00] – Everybody in the company can use a particular plug-in by distributing it with Office?

That’s right. You can go to Office 365 add-in experience. Here’s the add-in and you can to specific people or everyone who’s part of a group.

For the developer’s perspective, if you have the add-in deployed to your client, you could actually push updates to the web service and your users get the updates instantly. It’s a lot faster turn-around model.

[00:14:20] – What about conversations or bot integrations?

There’s the idea of connectors at Teams. You can subscribe to this web book and it’ll publish JSON. When the JSON is received, a new conversation inside of Teams or Outlook will be created. For example, every time someone posts on Stack Overflow with one of the tags that team cares about, it posts on Outlook.

It’s a great way to bring all the stuff. Rather than have 20 different apps that are shooting 20 different sets of notifications, it’s just all conversations in email, making do all the standard email things.

And in the connector case, it’s a push model. The user could choose what notifications they want.

You’d also learn things like bots. You can have bots in Teams and Skype. The users can interact with them with their natural language.

[00:18:40] – How about authentication?

As long as you’re signed into Office, you can call JavaScript API to give you an identity token for the sign in user and it will hand you a JWT back. That’s coming from Azure Active Directory or from whatever customer directory service. That’s standard.

If you want to do more, you can take that identity token and you can exchange that for a token that can call Microsoft graph. This app wants to get access to phone, are you okay with that? Assuming the user says yes, the user gets a token that can go and grab whatever data he wants from the back-end.

[00:20:00] – Where does it store the token?

That’s up to the developer to decide how they want to handle that but there are facilities that make sure you can pop up a dialog box and you can go to the LO-flow. You could theoretically cache it in the browser or a cookie. Or whatever people think is more appropriate for the scenario.

[00:20:55] – What does the API actually look like from JavaScript?

If you’re familiar with Excel UI, you can look at Excel API. It’s workbook.worksheets.getItem() and you can pass the name of the worksheet. It can also pass the index of the worksheet.

[00:22:30] – What’s the process of getting setup?

There’s a variety of options. You can download Office, write XML manifest, and take a sample, and then, side loads it into Office. You can also do that through web apps. There’s no install required because you can go work against Office Online. In the Insert menu, there’s a way to configure your add-ins. There’s upload a manifest there and you can just upload the XML. That’s going to work against whatever web server you have set up.

So it’s either on your local machine or up in the cloud. It’s as much as like regular web development. Just bring your own tools.

[00:24:15] – How do you protect me as a plug-in developer?

There’s an access add-in that will ask your permission to access, say, a document. Assume, they say yes, pipes are opened and they can just go talk to those things. But the team also tries to sandbox it by iframes. It’s not one page that has everybody’s plug-ins intermingle that people can pole at other people’s stuff.

[00:27:20] – How do you support backward compatibility?

There are cases where we change the behavior of the API. Every API is gated by requirement set. So if a developer needs access to a requirement set, he gets an aggregate instead of API’s that he can work with but it isn’t fixed forever.

But it’s not at that point yet where we end up to remove things completely. In Office JS, we’ve talked about API’s as one JavaScript library but really, it’s a bootstrap that brings in a bunch of other pieces that you need.

[00:30:00] – How does that work on mobile? Do they have to approve download for all components?

You can download components by using the browser that the operating system gives. It’s another one of the virtues of being based on the web. Every platform that has a web browser can have JavaScript execution run-time. It allows for the way that their app guidelines are written.

[00:33:15] – How about testing?

It’s a place where there’s still have work to do. There’s a bunch of open-source projects that partners have started to do that. What they’ve done is they’ve built a testing library. Whatever the mock is, it's just a thing on Github. It is open-source friendly. So the team could be able to contribute to it. “Here’s an interesting test case for this API. I want to make sure that it behaves like this.

[00:35:50] – Could you write it with any version for JavaScript e.g. TypeScript?

A Huge chunk of the team is big TypeScript fans. They’ve done a lot of work to make sure that TypeScript experience is excellence.

Type is basically a collection of typing files for TypeScript. There’s a runtime process that parses your TypeScript, gives you feedback on your code, and checks for errors. You can also run it in the background.

There’s an add-in called Script Lab. Script Lab is literally, you hit the code button and you get a web IDE right there. You can go start typing JavaScript code, play with API’s, and uses TypeScript by default. It’ll just actually load your code in the browser, executes, and you can start watching.

[00:39:25] – Are there any limitations on which JavaScript libraries you can pull in?

There a no limitations in place right now. There are partners that use Angular. There are partners that are big React fans. If you’re a web dev, you can bring whatever preferences around frameworks, around tools, around TypeScript versus JavaScript.

[00:45:20] – What’s the craziest thing you’ve seen done with this API?

Battleship was pretty cool. There’s also Star Wars entering credits theme for PowerPoint.

[00:46:40] – If a developer is building a plug-in and get paid for it, does Microsoft take credit for that?

There are 2 ways that folks can do it. You can do paid add-ins to the store. Either you do the standard perpetual 99 cents or you can do subscriptions, where it’s $2.99/month. Tristan encourages that model because integrations are just a piece of some larger piece of software.

But Microsoft is not in the business of trying to get you to pay me a little bit of 10 cents a dollar. It’s really in the business of making sure that you can integrate with Office as quickly as possibly can.

When the users go to the store, they can use the same Microsoft account that you use to buy Xbox games or movies in the Xbox, Windows apps in the Windows store.

[00:52:00] – The App Model

If folks are interested in the app model, they should go to dev.office.com to learn more about it because that’s where all the documentation is. Check out our Github. Right there in the open, there’s the spec. Literally, the engineers who are coding the product are reading the same marked-down files in the same repo that you, as a developer, can come and look at. And you can comment. You can add issues like you could have a dialogue with that PM. Under the OfficeDev, you’ll find a tunnel repository that contains samples. Our docs are there.

Picks

AJ O'Neal

Lithium

Charles Max Wood

Miracle Morning by Hal Erod Clean Code by Uncle Bob Martin Ketogenic diet

Tristan Davis

Amazon Echo Microbiome

Sean Laberee

Running Garmin watch

MJS #023 Laurie Voss

Jun 28, 2017 27:14

Description:

My JS Story 023 Laurie Voss

This week we have another My JavaScript story. This week’s guest is Laurie Voss. Laurie has worked with NPM from the start and has been a vital piece to getting it off the ground. Hear how Laurie got interested in computers, how Laurie got started with NPM, as well as a few things about the newly released NPM 5.

How did you get into programming?

Laurie started by going into a computer camp, at the time Laurie hadn’t spent time around computers, and it wouldn’t be until the second time that he went to the computer camp that he would see a computer again. Laurie grew up in Trinidad where not many people could afford computers. He started making his first website in Angelfire using HTML before CSS became a thing.

How did you go from web development to hardcore Javascript?

Laurie had been writing JavaScript since it was invented. Laurie started a web development company in high school using JavaScript. Laurie met Issac while working at Yahoo and he introduced Laurie to Node which was a starting point to taking JavaScript more seriously for Laurie. When Node was ready in 2013, NPM Inc was on it’s way.

What do you do at NPM Inc?

IN the beginning of 2014, Laurie was doing a lot of the JavaScript and was the CTO. Laurie says that part of his strategy has always been to hire JavaScript developers that are better at writing JavaScript that he is. Making him the worst JavaScript programmer at NPM. Laurie’s main job was doing what was needed to get NPM happen, including talking to layers and the business side of things. There are many companies that don’t understand how open source works, and in many cases it leads to run ins with lawyers. Many times NPM acts as an umbrella for open source tools that aren’t able to fight overzealous corporations.

What do you think is your biggest contributions to NPM?

Laurie expresses that it has changed over the years. A year ago he would say that he would have to say it leans towards the piece of software that is the registry. It’s very scalable and has worked great for small scale up to very large scale. Laurie works hard to gather funds and help make NPM grow as well as be scalable. He says that he is very proud that he build something that let’s others build things.

How did you get involved?

Laurie has been with NPM since the beginning. He tells us how Issac had been running NPM on donated hardware in spare time while working with Node. NPM would break a lot and be down due to the borrowed equipment. They decided that they needed to create a business model around NPM to help it grow. Laurie had just finished working on a startup and knew how to get funding and got their first round in 2014.

How did you get to being profitable?

Laurie talks about making sure that their plan is in line with their customers. NPM could easily charge for many parts of NPM but they would rather charge for things that make sense to charge, so in this case the private packages. Enough people are using the private package to getting NPM to profitability. Laurie says that even if money stopped coming in they would have to git rid of a few employees but would be able to keep a small team and sustain the NPM registry, but would never build anything new. It’s always between being profitable or using money to build new things.

What are you working on now?

NPM 5 was just released and it’s much faster, five times faster. Laurie talks about being excited about the team and what they are putting into it. Things like making deployments easier. Many developers use NPM to put code together as well as to deploy it. If you didn’t have a lock file, it’s possible that it would change. But the lock file can take a long time, and you already know what needs to go there so they are adding npm store and npm fetch making deploys much faster. Additionally they will be adding a feature called insights. They are able to see information about different users packages, security information, performance information, etc. They can use that information to help developers with suggestions based off of data gathered by what other people are doing. Charles adds that it would be great for coming up with topics for the podcast.

Anything else?

Laurie reminds everyone about NPM Organizations as well as NPM Enterprise. NPM Organizations is a way to organize packaging as well as teams of developers and helps you to collaborate. NPM Enterprise allows for single sign on support, license auditing, and features that corporations care about.

Picks Laurie

Zite and NextJS
Slides.com

Charles

VMWorld
Tweet or email if you’re looking at resources for learning VR AI or Iot

Links

Twitter
NPM Organizations
NPM Enterprise

JSJ 267 Node 8 with Mikeal Rogers, Arunesh Chandra, and Anna Henningsen

Jun 27, 2017 52:16

Description:

JSJ 267 Node 8 with Mikeal Rogers, Arunesh Chandra, and Anna Henningsen

On today’s episode of JavaScript Jabber we have panelists Joe Eames, AJ O’Neil, Amiee Knight and Charles Max Wood and we are talking about Node 8. To help us we have special guests Mikeal Rodgers, Arunesh Chandra, and Anna Henningsen. It’s going to be a great show. Tune in.

[1:56] Is Node 8 just an update or is there more? More than just an update Two main points: Improved Prana support Native API Native APIs are helpful for Native Add-ons. For both the consumer and the developer side. Prior to update these Node Native modules ran in C++ and bound to specific to Node 8 APIs. Causes these modules to be updated or reconciled every time these modules are rereleased. Creates burden for module maintainers. Creates friction in upgrading Node versions in production departments. If you have a deployment depending on a certain Native module, some of the modules may not get updated in time when updating your Node versions. Keeping people from updating Node. Creates compatibility issues with Node users not using Node 8 Experimental support for a Native layer in Node 8 to eliminate these issues as much as possible. Important milestone for the module ecosystem. You can write extensions for Node in C++ and it decouples V8 so you can use something else on the front. Modules takes dependency on V8 API specific to a particular version. So if V8 changes your module will be extracted from that. As a side benefit, you can have another VM to take advantage of that. Major version upgrades mean updating Native modules and usually some of those modules haven’t updated to the newest version of Node and be complicated. Deep dependency wise, about 30% depends on a Native module somewhere In the future, with the Native API, you’ll be able to update Node without breaking modules. [5:51] What kind of work went into this? Most of the work was in C++ First thing that was done was, they looked at the top dependent Native modules in the ecosystem. Looked for what kind of V8 exposure they had and cataloged it Looked at how these APIs and what their purposes were Looked for a way to extract them so that they are part of Node Core Created neutral APIs, now part of the Node core. All C APIs Also has a C++ wrapper to improves usability of the API. [7:17] What’s an example of what you can do with these APIs? Native modules allows for tighter integration and better module performance Specific APIs that you can use in V8 that isn’t available through JavaScript If you have a C++ variable code and you want to expose a variable into JavaScript, that is V8 API note a Node 8 API Having it bound directly to the VM was something they wanted for a long time Google controls V8 and they bind to V8 Created a better relationship with Google starting in IOJS Also worked with Microsoft with their Node Shocker work. Same with SpiderMonkey SpiderNode is in the works [9:23] Have you guys done any testing for performance? Some. There is a performance working group. There is a need to stay on top of V8 V8 team has focused on new language features Many features have been added over the years Many didn’t come in optimized The performance profile has changed with these features If you’re using new language features, you will see a performance boost In core, still tracking down code that was specific to the old optimizer and rewriting i to work the new optimizer Turbo C compiler hasn’t landed yet, but is to come. Will have a completely different performance profile In most real world applications it will be faster Waiting on the release to take a version of V8 to make it easier to upgrade features in the future [11:28] Are the new features picked up from V8 or implemented in Node? It’s all in V8 Better longterm support Promises are made better in Node as a platform Added new method called util.promisify() Implementation comes from V8 Allows for more optimization for promises in Node core Promise support for the one-deprecated domains module. [13:02] Is there anything more than NMP 5? First off, delete your NMP cache. It’s in your home directory usually with a .npm extension [14:09] What are the new features in V8? Unlimited heap sizes, previously had a 4gb limit. No fixed limit. [14:09] Will you see things like chakra come out tuned for servers? Profiles of a server for application process are getting smaller Getting cut into containers and VMs and micro services Vms that have cold boot time and run quickly in a strained environment is looking more like what we will see in the future Yes, especially if you’re using cloud functions V8 is optimized for phones, but Chakra is even more so Looking for opportunities for VMs can be solely optimized for a device target Node take advantage of that VM VM neutrality is an interesting concept VM Vendors trying to optimize it based on workloads of a server Opens opportunities for Node Node Chakra has been proved to iOS. You can cut off jitting off which was a requirement to be able to be in the Apple App Store Node is not just for servers anymore Node doesn’t take a long time configuring it When a developer runs code on an IoT or a mobile app they don’t control the VM that is bundled, they run it on top of Node and it just works. VM neutrality gives a new vector, so you can swam a whole different VM [18:44] When running different engines like iOS vs Android, does the profile change? What it comes down to is if it’s eventive programming The browser is an eventive environment, is very efficient waiting for things to happen before it does something The way that we program servers and nodes are the same as well the basics are the same generally environmental differences exist but the programming model is usually the same What does impact it is memory and processor and hardware and things like that That is where tuning the VM comes into play [20:29] What is the new Async Hooks API used for? Node has been lacking for automated inspection of Async Hook No way for Node to tell you when scheduling and beginning of an Async operation. Hook helps with that it’s a way for developers to write debugging features Node tells the application that it’s working with Asynchronous way. The embedded inspector has been embedded since Node 6 Now has a JavaScript API to use it You can use things like Chrome debugger inside the running node process Old debugging protocol has been removed VM.run is still there but in the process of being deprecated [22:34] How like is the experimental Node API will change? Marked as experimental because it’s the first time in the open Hopefully out of experimental soon Soon can port API to the existing LTS Looking for more people to participate with the new API and give feedback Fix any concerns before it goes to LTS Some other experimental things are in the works like ASync Hooks and how it interacts with promises Renaming some features Another new feature - serializer and deserializer that comes with V8 experimental but will most likely stay [25:31] what is your standard for going to LTS? Major releases every 6 months Next Oct Node 9 will come out and then Node 8 will be LTS Documentation, updates, additions etc will be ready then Plan to do it for 2.5 years Every even releases come out to LTS as the odd release comes out Helps keeps a current line while having something new in the release line Node 6 is the current LTS version [27:26] What are you taking out or deprecating in Node 8? Use the word deprecate sparingly If many people use features, it’s hard to get rid of Security issue with Buffer, constructor argument was ambiguous Had added APIs that were more explicit over time and pushed those Now it will be deprecated [28:43] 21% - 33% Performance increase with some Node updates Someone online updated their React app to Node 8 and found an 21% - 33% increase Benchmarking group tests to make sure things are getting faster V8 is always getting faster as well Code changes fast and so there is a chance performance slows down so they have people to check Benchmark test are all automated by a team [30:47] Is it safe to just switch to Node 8? For front-end, yes clear your NPM cache Back use cases will usually wait until LTS [31:28] Where any of the features hard to implement? The API work took about a year It was a collaboration which made it interesting IBM, Intel, Google were involved The collaboration took a while Also Async hooks took at least a year. Async hooks used to be called async wraps and has been in the work for almost 3 years many of the changes were the accumulation of small chances [33:07] It’s the little things Letting people get small changes in accumulate into a big difference the product gets much better that way [33:57] What versions of Node are you actively updating? Current releases of Node 8 for a half of year Node 6 is LTS Additional year of maintenance of previous LTSs. Schedule is at http://github.com/node8js/lts in a chart Support for Node 4 with only critical updates, Node 6 minor updates, and Node 8 Node 7 doesn’t get much support unless it’s vital security supports. If you’re running 0.10 or 0.12 stop. Those do not get security fixes anymore [35:42] Where do you see things going from here? Mostly still working out Async hooks Maybe add some web worker or worker support for Node JS ES module support Working to make promises better Working on the performance profile and internal systems [20:29] What is the adoption like of Node 8? Node team gets better at getting people to adopt quickly but about 5% - 6% will not upgrade community doubles each year at 8 million users right now Here is a graph on Twitter posted by NPM Limiting breaks and softly deprecating things makes it’s easier to upgrade [40:11] How can people contribute and get involved? NodeToDo.org shows how to make contribution Occasionally major conferences have information on how to contribute Test it out and help make it stronger [42:08] If people install Node 8 and have issues what can they do? If it’s an NPM problem check with them clear cache! install newest version with: npm install -g npm@latest Report problems to either NPM or Node If you’re not sure where the problem is, check github.com/nodejs/help Links

Node8 Node’s Twitter Node’s Medium Node Evangelism Group

Mikael on Twitter and GitHub Arunesh on Twitter Anna on Twitter

Picks AJ

Overclocked Remix Super Mario RPG Window to The Stars

Amiee

Blogpost RisingStack on Node 8
2 Frugal Dudes

Charles

Homeland
House of Cards

Joe

Shimmer Lake

Mikael

Blake2b-wasm

Aremesh

Current Nightly News

MJS #022 Cory House

Jun 21, 2017 46:31

Description:

My JS Story Cory House

On this Episode we have another JS Story, and this time it’s with Cory House, a Pluralsight author, software architect for Cox Automotive, and a consultant with a focus on React. Listen to Charles Max Wood and Cory discuss a bit about how Cory got into programming, how learning how to learn is vital to being a talented developer, as well as using documentation as your development environment to ensure your code’s documentation doesn’t fall behind. This and more right here. Stay tuned.

How did you get into programming?

Cory starts his story as a business major in college but had interest in computers. He spent time around various computers and machines, giving him experience in various operating systems and platforms. On any given day he would be using any of three different operating systems. His interest in computers inspired him to double major. He started learning Cobalt and Visual Basic and C++. He talks about being interested in web development, including Flash. He specialized in Flash throughout college, as well as early on in his software development career. He also talks a bit about that the open web seems to innovate in a way that keeps it relevant. He talks about using Flash to make websites with entering screens and animations and now that is obsolete. Charles mentions that it’s interesting that his main interest was business and computers became something he was interested in later on and that you don’t have to be someone who started young to be proficient. Cory talks about being driven to catch up, being around people who knew things off the top of their head while he was still asking questions and looking things up.

Learning How to Learn

Out of college Cory found that he had a degree, but what he had really learned was how to learn. He never used Cobalt, C ++, or visual basic after school. Learning how to learn combined with being able to create a focus on a specific technology are vital. Charles adds that he would hear often that it took being a natural in programming to get it, and that maybe being a natural was really just being someone who has learned how to learn and to focus.

Getting Good With Your Craft

Cory mentions that working with someone who head and shoulders ahead of everyone else. They were working in Unix and seemed to know every single Unix command and flag. He found it inspiring to see someone take the craft so seriously and to learn a specific technologies tool with so much dedication. Some technologies will be so important that they will be key technologies that will still be useful many years later. Cory suggests that one of those tools seem to be JavaScript. JavaScript is almost mandatory in frontend web development. Additionally, JavaScript is reaching into other new technology types including IoT and VR and other places, constantly expanding.

How did you get into JavaScript?

Cory talks about how it really all got started when Steve Jobs killed Flash. He opened his mind to other technologies and started working with JavaScript. Remembering learning jQuery, he found himself really enjoying it. He started building online business applications. Browser inconsistencies were a huge issue, making it so that you’d have to check your work on each browser to make sure it worked cross platform. Things are moving so quickly that being a full stack developer is becoming less and less prevalent, to the point where he considers himself primarily a JavaScript developer. Being an expert in a single technology can make you really valuable. Companies are running into issues with not finding enough people that are experts in a single tech. Cory suggests that employers should find employees that seem interested and help allow them to focus and learn whatever that tech is. Charles talks about the split between developers that tend to lean full stack and plug in technologies when they need it versus developers that work exclusively in front end. He suggests it may be a case by case situation.

Service Oriented Architecture

Cory suggests that service oriented architecture movement has moved us that way. Once you have a set of services set up, it becomes more realistic to turn on the front end. If there were a good set of services there, Cory adds that he doesn’t think he would be able to build services faster using a server side framework like Rails, Django, or ASP.Net MVC than he could in React today using something like create React app. The front end has become much more mature. Cory mentions that he has had good experiences with ASP.Net NPC and Visual Basic being a Microsoft stack developer. He adds that he doesn’t feel like he has given up anything working with JavaScript. He adds that with the nesting of different models together, he gets to reuse a lot of code in server side development. NPM makes it easy to stand up a new package. If you are planning to create an API, it becomes much harder to use a server side rendering stack, with so many APIs available, it’s a logical move to go client side.

Possible Future for Front-end and Back-end Roles

Charles brings up that the development of things like VR are making changes in the roles that front end and back end development play. The front end will more to taking care of the overall application development of apps, while the back end will become supporting roles as services and APIs. New technology like VR and artificial intelligence will need a high amount of computing power on the backend. The front end will focus more on the overall experience, display, and the way we react with things. Charles talks about how the web may move away from being just an HTML platform. He says that it will be interesting to find where JavaScript and frameworks like React will fall into this shift into this next generation. We already are seeing some of this with the capabilities with canvases, WebVR, and SVG and how they are changing how we experience the web.

Reasonable Component Story

Cory brings up being interested in the Reasonable component story. Sharing code from a traditional web app, to a native app, and to potentially a VR app as well is exciting and he hopes to see it flesh out more in the coming years. He talks about going to conferences and how much we have built and how much we don’t have easily sharable innovation. He hopes to see it solved in the next few years.

What contributions have you made to the JavaScript community?

Cory mentions working on the open source project Slingshot. He was trying to solve issues that many found in React. React isn’t very opinionated. React is for writing reasonable components for the web, but it doesn’t have opinions on how you structure your files, how you minify, bundle, deploy, or make API calls, etc. He realized that telling people to use React and to deal with those issues wasn’t reasonable. He created React Slingshot as a development boilerplate. He put it to use in many applications and it became popular. It’s easy because it did things like allow you to run NPM to pull independencies and pull a file, it would fire up a web browser, watch your files, run tests, hot reloading on save, and had a running Redux application build it. It allowed people to get started very quickly. He talks about how he wasn’t the only person trying to solve this issue. He says that if you look now there are well over one hundred boiler plates for React that do similar things. Most popular being Create React App. Contributions outside of this, he talks about editing documentation on open source projects being part of his biggest contribution, writing it in markdown and then making pull requests.

What are you working on now?

Cory adds that he just finished his 7th or 8th Pluralsight course on creating usable React components. At work they create their own reusable React component library. He says that he realizes that it’s a complicated process, where all decisions you make, in order to have a reusable component story, you have to make a lot of decisions. Things like how granular to make the components, reusable styles and how they are packaged, how they are hosted, will it be open or source, etc.

Publicly Closed - Internally Open Source Projects

Cory talks about the idea of having it as a closed source project, but treating it like an internal open source project for the company, having many people feel invested into the project. He found creating the documentation story was the toughest part. Having solid documentation story that helps with showing how to use the components and it’s features and behaviors. He spends much of his type looking at other documents to help him come up with ways to create his own. He talks about generating the documents automatically with the updates so that they are always in sync. Charles adds that documentation syncing often happens right in the comments, which are also acceptable to being outdated.

Pull-request-Template.md

Cory adds that a useful way to allow for well documented and safe pull requests is to make a pull request template in GitHub by creating a file called pull-request-template.md so that any time someone makes a pull request, that .md template will populate the pull request. Cory has a checklist for a pull request like making sure there are tests for any new components, the file name should have an uppercase character, is there a ticket open, etc. All of the basic things that should happen in a pull will be in the pull-request-template.md. Charles adds that documentation is one of the things that gets ignored. Having a standard process is very important, more so than getting the job done faster. Also having an outlined expectation for how it’s delivered is important as well.

Documentation as Development Environment

A useful trick that Cory uses, is using the documentation as the development environment. Anytime they are working on a new component, they start with a documentation site, making changes within the documentation and then it hot loading your changes live. This way your documentation is front of mind and keeps the documentation fall behind.

Why React instead of the other frameworks?

Cory says that he can sum up React in a single sentence. He says that your HTML sits right in the JavaScript. Which usually sounds bad to a large group of developers. He expects people to react negatively when he talks about it. What he has run into as a common problem, is people separating concerns by filetype and technology, but with React he seems the common problems in terms of components. Cory says that components are the future. Industries that have matured utilize components. For example car manufacturers or even electronic manufactures build things in modules and components. Things that are reusable should be encapsulated into a component instead of trying to hold it in our heads. This makes it so things look the same and reduces many mistakes. You can create components in different frameworks, but React co-mingles markup and javascript with something like JSX. You’re not writing HTML, you’re writing JSX that boils down to HTML. That one element is fundamentally what makes React easier to Cory. For the most part, React can be learned by JavaScript developers in less than a day because many of the things you need to do in React, is just basic JavaScript. Charles adds that components are a concept coming up in various frameworks and is becoming more popular.

Picks Cory’s

Cory’s React Courses on Pluralsight Essentialism the book

Charles’

Get a Better Job Course Angular Remote Conf (now Ruby Dev Summit) React Podcast Kickstarter

Links

Cory’s Twitter

JSJ 266 NPM 5.0 with Rebecca Turner

Jun 20, 2017 40:53

Description:

On today’s episode of JavaScript Jabber, Charles Max Wood and panelist Joe Eames chat with Rebecca Turner, tech lead for NPM, a popular Javascript package manager with the worlds largest software registry. Learn about the newly released NPM 5 including a few of the updated features. Stay tuned!

[1:58] Was the release of node JS 8 tied to NPM5? Features in NPM5 have been in planning for 2 years now. Planned on getting it out earlier this year. Node 8 was coming out and got pushed out a month. Putting NPM5 into Node 8 became doable. Pushed really hard to get NPM5 into Node 8 so that users would get NPM5 and updates to NPM5. [2:58] Why would it matter? NPM doesn’t care right? Right you can use NPM5 with any version of node. Most people don’t update NPM, but upgrade Node. So releasing them together allowed for when people updated Node they would get NPM 5. [3:29] How does the upgrade process work if you’re using NVM or some node version manager? Depends. Different approaches for each NVM gets a fresh copy of Node with new globals. NVM5 and Node 8 are bundled. For some, If you manually upgrade NVM you’ll always have to manually. It will keep the one you manually upgraded to. [4:16] Why NPM 5? It’s night and day faster. 3 to 5 times speed up is not uncommon. Most package managers are slow. NPM 5 is still growing. Will get even faster. [5:18] How did you make it faster? The NPM’s cache is old. It’s very slow. Appalling slow. Rewrote cache Saw huge performance gains [5:49] What is the function of the cache? Cache makes it so you don’t have to reinstall modules from the internet. It has registry information too. It will now obey http headers for timing out cache. [6:50] Other things that made it faster? Had a log file for a long time. It was called shrinkwrap. NPM 5 makes it default. Renamed it to packagelog.json Exactly like shrinkwrap package file seen before In combo with cache, it makes it really fast. Stores information about what the tree should look like and it’s general structure. It doesn’t have to go back and learn versions of packages. [7:50] Can you turn the default Packagelog.json off? Yes. Just: Set packagelog=false in the npmrc [8:01] Why make it default? Why wasn’t it default before? It Didn’t have it before. Shrinkwrap was added as a separate project enfolded in NPM and wasn’t core to the design of NPM. Most people would now benefit from it. Not many scenarios where you wouldn’t want one. Teams not using the same tools causes headaches and issues. [9:38] Where does not having a lock show up as a problem? It records the versions of the packages installed and where NPM put them so that when you clone a project down you will have exactly the same versions across machines. Collaborators have the exact same version. Protects from issues after people introduce changes and patch releases. NPM being faster is just a bonus. Store the sha512 of the package that was installed in the glock file so that we can verify it when you install. It’s Bit for bit what you had previously. [11:12] Could you solve that by setting the package version as the same version as the .Json file? No. That will lock down the versions of the modules that you install personally, not the dependancies, or transitive dependancies. Package log allows you to look into the head of the installer. This is what the install looks like. [12:16] Defaulting the log file speed things up? How? It doesn’t have to figure out dependences or the tree which makes it faster. Shrinkwrap command is still there, it renames it to shrinkwrap but shrinkwrap cannot be published. For application level things or big libraries, using shrinkwrap to lock down versions is popular. [13:42] You’ve Adopted specifications in a ROC process. When did you guys do that? Did it in January Have been using them internally for years. Inviting people into the process. Specifications Written in the form of “Here is the problem and here are the solutions.” Spec folder in NPM docs, things being added to that as they specify how things work. Spec tests have been great. [14:59] The update adds new tools. Will there be new things in registry as well? Yes. Information about a package from registry, it returns document that has info about every version and package json data and full readme for every version. It gets very large. New API to request smaller version of that document. Reduces bandwidth, lower download size, makes it substantially faster. Used to be hashed with sha1, With this update it will be hashed with sha512 as well as sha1 for older clients. [16:20] Will you be stopping support for older versions? LTS version of NPM was a thing for a while. They stopped doing that. Two models, people either use whatever version came with Node or they update to the latest. The NPM team is really small. Hard to maintain old NPM branches. Supports current versions and that’s pretty much it. If there are big problems they will fix old versions. Patches , etc. [17:36] Will there ever be problems with that? Older versions should continue to work. Shouldn’t break any of that. Can’t upgrade from 0.8. It does break with different Node version Does not support Node versions 0.10 or 0.12. [18:47] How do you upgrade to NPM? sudo npm install -gmpm Yes, you may not need sudo. depend on what you’re on. [19:07] How long has it been since version 4? Last October is when it came out. [19:24] Do you already have plans for version 6? Yes! More releases than before coming up. Finally deprecating old features that are only used in a few packages out of the whole registry. Running tests on getting rid of things. [20:50] Self healing cache. What is it and why do we want it? Users are sometimes showing up where installs are broken and tarbols are corrupted. This happens sometimes with complicated containerization setups makes it more likely. It’s unclear where the problem actually is. CaCache - content addressable cache. Take the hash of your package and use it to look up address to look it up in the cache. Compares the Tarbol using an address to look it up in the cache. Compares to see if it’s old. Trashes old and downloads updated one. Came out with the cache. Free side effect of the new cache. [23:14] New information output as part of the update? NPM has always gave back you the tree from what you just installed. Now, trees can be larger and displaying that much information is not useful. User patch - gives you specifically what you asked for. Information it shows will be something like: “I installed 50 items, updated 7, deleted 2.” [24:23] Did you personally put that together? Yes, threw it together and then got feedback from users and went with it. Often unplanned features will get made and will be thrown out to get feedback. Another new things ls output now shows you modules that were deduped. Shows logical tree and it’s relationships and what was deduped. [25:27] You came up to node 4 syntax. Why not go to node 8? To allow people with just node 4 be able to use NPM. Many projects still run Node 4. Once a project has been deployed, people generally don’t touch it. [26:20] Other new features? What about the File Specifier? File specifier is new. File paths can be in package json, usually put inside pointing to something inside your package. It will copy from there to your node modules. Just a node module symlink. Much faster. Verifiable that what’s in your node modules matches the source. If it’s pointing at the right place it’s correct. If not, then it’s not. Earlier, sometimes it was hard to tell. [27:38] Anything else as part of the NPM 5 release? Who do you think will be most affected by it? For the most part, people notice three things: 1st. no giant tree at the end 2nd. Much faster 3rd. Package lock. [28:14] If it’s locked, how do you update it? Run npm installer and then npm update Used to be scary, but works well now. Updates to latest semver, matches semver to package json to all node modules. Updates package lock at the same time Summary in Git shows what’s changed. [28:59] Did Yarn come into play with your decisions with this release? The plans have been in play for a long time for this update. Yarn’s inclusion of similar features and the feedback was an indicator that some of the features were valuable. [29:53] Other plans to incorporate features similar to yarn? Features are already pretty close. There are other alternative package managers out there. PMPM interesting because when it installs it doesn’t copy all the files. It creates hard links. [30:28] Does PMPM and Yarn use NPM registry? Yes! Other than CNPM. The NPM client used in China. CNPM Registry mirror behind firewall. Have their own client to their registry. Their registry is a copy of ours. [31:15] What about RNPM? I wouldn’t be surprised. [31:45] “Won’t you come and say something controversial about your competitor?” We all want it to be collaborative. When we were writing our new cache, we also helped Yarn with their cache and sped things up tremendously. Picks Charles

Rush Limbaugh’s children’s books
Tinker Crate
Kiwi Crate
NPM
Episodes on My JS Story.

Joe

Gravity Falls
Board Games

Rebecca

NPX

Funstream

Links to keep up with NPM and Rebecca

Twitter @rebeccaorg
NPMjS on Twitter
blog.npmjs.com

MJS #021 Justin Meyers

Jun 14, 2017 39:49

Description:

My JS Story Justin Meyers

On this week’s episode of My JS Story, Charles Max Wood interviews Justin Meyers Co­founder and CEO of Bitovi, a Javascript consulting firm focused on simplifying Javascript development through the use and creation of open source tools as well general consulting, training, and web applications. He was on Episode 202 and talked about DoneJS and CanJS. Tune in to hear Justin’s full story!

7th Grade and a TI­82 [3:02]
Justin’s discovery of conditional statements and methods on a classic TI­82 was his first taste of programming. With a little guidance, he soon learned to program games on the TI­82 and then later moved onto bigger and better mediums like C and QBasic.

Grunt work is good for you. [4:51]
While studying Computer Science, Justin finds out that professors often have grunt work, and although they may not pay well now, sometimes they can in time lead to loads of experience and maybe even a bigger job. After 4 years of working on websites and writing documentation, he gets his first real job at Accenture.

Open Source and reducing waste. [6:23]
Accenture, while giving him a great chance to make some impressive projects, provoked Justin to see the efficiency in sharing code. Justin and a college friend get together to work on a project to build a platform that…builds. Although their project was unsuccessful, the tools they started to create for the project had plenty of potential.

The Last desperate gasp. AKA shaving his head. [9:40]
Justin talks about the Ajaxian blog and conference. Ten years ago, the Ajaxian blog was one of the best online resources for Javascript news. Justin was running low on funds and struggling and as his “last desperate gasp” he heads to the Ajaxian conference with his head shaved. Leaving only “Javascript MVC” shaped out of his hair. This stunt gets him remembered by many of the important attendees and also scores him his big break with a consulting job with T­-Mobile. Two to Three weeks later, Justin had a stroke. Justin talks about how incredible the timing was.

How Javascript MVC came to be. [13:23]
Justin talks about starting with JSJunction and modeling after it. Their first steps were to add a model layer as well as Event Delegation. Javascript MVC reflects some of Ruby on Rails. Justin worked with Peter Svensson from Dojo, with a methodology that at the time seemed crazy. Justin reminisces when Steve Jobs “Killed” Flash with HTML5 and CSS.

Bitovi begins. [17:24]
Justin talks about how the T­-Mobile job meant that he would need an official business. Originally dubbing it JupiterIT. Justin found that MVC was too encompassing and that programmers enjoyed a sense of creativity. By pulling Javascript MVC’s tools apart and creating single frameworks from the tools, Justin then created tools like CanJS and DoneJS.

Who does the heavy lifting at Bitovi? [20:48]
As the CEO of Bitovi, Justin has less time to program as before. Working with Open Source, development is a mix between contributors and full time employees. The majority being the employees. Justin talks about not having a sales force and focusing on their product to drive sales. Mainly, long term cost of ownership and the ability for the framework to last, working hard to make sure that clients that have committed to Javascript MVC years ago still have a relevant use for the framework.

Exploring HTTP2 and Push. [23:42]
With the emergence of HTTP2 and Push, Justin talks about working on and exploring different ways for streaming/server side rendering. Justin describes one of the experiments with building an empty skeletons, javascript assets, but also pushing instructions on how to mutate the page to the client. Before the javascript payload is fully loaded, the page starts to mutate. Allowing for optimal performance on slower connections, fantastic for mobile. Problems they are looking at for the future include things like different ways that CDNs can work with HTTP2 and Push. Justin has also worked with using Fetch to enable streaming by building tools around that. He suggests that HTTP2 and Push will maybe bring a renaissance in the developer world.

Justin’s side Parsing Project. [28:45]
Additional to his other work, Justin is working on a generic parsing project. Similar to BISON or JISON. Designed for simple parsing at faster speeds. He describes how to compiles to the code that parses your code. Working in runtime.

A way other companies can learn from Bitovi. [29:52]
We don’t know what the future is going to be for code, so packaging the framework into separate repos allows for better scheduling and a better way to manage long term. Updating a segment of a framework can sometimes break another segment if having it all happen together.

Picks [34:26]

Justin:

Dean Radcliff’s Antares Framework

Charles:

Boom Beach

Clash of Clans

BlueTick.io

Nimble

Keeping up with Justin’s work.

Bitovi.com’s Blog

Justin’s Twitter.

Sponsors

Cachefly.com
Newbie Remote Conf 2017

JSJ 265 Wade Anderson and Ramya Rao on Visual Studio Code

Jun 13, 2017 47:17

Description:

JSJ 265 Wade Anderson and Ramya Rao on Visual Studio Code

This episode is live at the Microsoft Build 2017 with Charles Max Wood and AJ O’Neal. We have Wade Anderson and Ramya Rao from the Visual Studio Code Team at Microsoft. Tune in and learn more about what’s new with Visual Studio Code!

[00:01:20] – Introduction to Ramya Rao and Wade Anderson

Ramya Rao and Wade Anderson are in the Visual Studio Code Team at Microsoft.

Questions for Wade and Ramya

[00:02:00] – Elevator Pitch for Visual Studio Code

Our vision on Visual Studio Code is to take what was best out of the IDE world (Visual Studio, Eclipse, IntelliJ, etc.) and bring what was best from the lightweight editor world (Sublime Text, Notepad++, Atom) and merge those two together. We wanted the lightweight features from text editors and the debugging capabilities of Visual Studio and Eclipse. We did general availability last year. We’ve been stable for a year. Additionally, this is Visual Studio Code for Mac, Windows, or Linux. It’s also built in Electron.

[00:03:45] – What are your roles on the team? Do you have particular parts that each of you work on?

Wade’s title is a Program Manager. He does more non-developer things but Ramya is an engineer on the team so she gets a lot more coding that Wade does. Everybody has a key area to own but nothing stops them to go into another area. We try to share knowledge between people but we always have that one key owner that you always go to.

Ramya is a recent addition to the team. She started out maintaining the Go extension, maintaining and adding features. She’s slowly branching out to the Emmet features of the product.

[00:05:30] What is Emmet?

Emmet, or Zen Coding, is a must-have tool for you. You can write, say abbreviations and that expands to really huge HTML to update tags, rename tags, etc. That is one of the features of Emmet and Sergey actually wrote the library. We have an in built integration in the product. I [Ramya] am currently working on that.

[00:06:28] Does Visual Studio Code make it easy to go to the parts that I need to customize on an HTML?

In that case, we have a multi-cursor software in Visual Studio Code, as well. You could place your cursor in different positions, and then, simultaneously edit things.

[00:07:42] Is Emmet an extension or does it come with Visual Studio Code?

Right now, it’s in Built. If you want to know more about Emmet features, you can to emmet.io. That has all the documentation that you need to learn about Emmet features. In Visual Studio Code right now, we’re looking at making into an extension. We pull it out of the main code and maybe more people can contribute and make it even more better.

[00:08:21] – What’s new in Visual Studio Code?

One of our main pillars for this year is to improve performance of the product. We’ve grown a larger team so we’re adding a lot more features every month. Last few months has been, “How can we get some stability on the issues coming in while making sure we’re reducing our tech load?” We really keep to those core principles that we started with at the beginning, which was, we want a fast, lightweight editor.

We built a few extensions that we call key map extensions. They are just a mapping of key bindings that you learned in Sublime Text. You don’t have to re-learn any key bindings in Visual Studio Code.

We also build this Welcome page where you can flip through and see features really briefly. In that Welcome page, one of the key things is an interactive playground where you can play with existing code in different sections. Additionally, as we’ve mentioned, we also put multi-cursor features.

Another thing is workbench naming. You can change the theme of Visual Studio Code but it will be restricted to the editor and not the rest of the workbench.

[00:13:40] – Do you know how Xterm.js works as it was one of the features that you’ve added in Visual Studio Code?

Daniel’s another engineer that’s here with us today. He was the largest contributor to the Xterm.js project. He built the integrated terminal for Visual Studio code so I can’t speak to the internals of how that works.

[00:14:12] – Are we going to start seeing Visual Studio Code integrated into web experiences with other Microsoft products?

That’s actually where we started. We were Monaco editor where you get this cloud-based editing experience. We’re getting people to use it but we’re only getting people who were already using Microsoft products.  When electron came out, we saw an opportunity of, “Hey, can we port this  Monaco editor to Electron and we could then, run it on Mac and Linux.”

[00:19:45] – What are the performance things that you’ve done?

One thing that we did recently was adding an ability to calculate the start time for Visual Studio Code? That’s one of our full steps to get more information from the user-side. How can you get a profile of what things are running? Which part of the process took much time?

We also need to identify what are the things people are doing that’s causing the editor slow down. An example is when you open a large file and things get laggy.

Another exercise we did was we looked at all of our extension API’s to see which one of those could be a malicious extension.

The difference between VS Code and Atom is that, we ask questions like, “Are we using good data structures? Are we managing our memory properly? Are we removing stuff we don’t need anymore?” That just comes down to all those little things you learn from basic textbooks that have been around for decades about how to write good code. That’s what we have been doing and that’s what we’ll continue to try to do, to try and improve the performance.

[00:25:55] – Do you have problem on the desktop? Are all the modules just load at once?

We definitely don’t load everything at once. Different parts of the editor is loaded differently. When you do the Require, we don’t do it at first load. We do it when we notice that the user wants to use Emmet. We don’t try to load all the library at the beginning and delay the whole process.

We try to lazy load as much as possible, even the extensions. We have a separate process called extension host that takes care of loading all the extensions. Whether the extensions are completed loading or not, that does not stop you from typing in a file. Simple actions shouldn’t be bugged down by fancy actions.

[00:28:25] – What’s coming next for Visual Studio Code?

Every month, when we plan our iteration, we create iteration draft plan. We put it out there for people to see. Performance and helping people get started are probably the top two for us. You can look at github.com/Microsoft/vscode, look for the label ‘iteration plan draft.’ So that’s the current work that we’re doing that month.

Another feature is the multi-root workspace where you can open multiple folders. When you look at the issues and sort by most comments, multi-root is the number one. The second one that is little paper cuts around formatting and auto-intending – just things that make your code prettier.

Picks

AJ O’neal

Breath on the Wild Microsoft’s Intelligent Edge

Charles Max Wood

Boom Beach Bluetick.io Emacs key binding extension for Visual Studio Code

Wade Anderson

Kindle Paperwhite  Twitter @waderyan_

Ramya Rao

Open source Twitter @ramyanexus

JSJ 264 Mendel with Irae Carvalho

Jun 9, 2017 49:54

Description:

MJS #020: Alex Russell

May 24, 2017 44:05