Cover image of All JavaScript Podcasts by Devchat.tv
(230)

Rank #34 in How To category

Education
How To
News
Tech News

All JavaScript Podcasts by Devchat.tv

Updated 7 days ago

Rank #34 in How To category

Education
How To
News
Tech News
Read more

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

Read more

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

iTunes Ratings

230 Ratings
Average Ratings
146
65
8
4
7

Only listened once

By jaybytez - Oct 24 2019
Read more
One guy commentator kept interrupting the interviewee and seemed defensive every time his beloved technologies weren’t considered the best option. It became super distracting to listen to and disconnected the flow of the discussion.

Just shooting the breeze?

By Montaz Meah II - May 05 2018
Read more
I stopped after hearing 10 minutes of small talk which is really unhelpful to me.

iTunes Ratings

230 Ratings
Average Ratings
146
65
8
4
7

Only listened once

By jaybytez - Oct 24 2019
Read more
One guy commentator kept interrupting the interviewee and seemed defensive every time his beloved technologies weren’t considered the best option. It became super distracting to listen to and disconnected the flow of the discussion.

Just shooting the breeze?

By Montaz Meah II - May 05 2018
Read more
I stopped after hearing 10 minutes of small talk which is really unhelpful to me.

Listen to:

Cover image of All JavaScript Podcasts by Devchat.tv

All JavaScript Podcasts by Devchat.tv

Updated 7 days ago

Read more

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

JSJ 248 Reactive Programming and RxJS with Ben Lesh

Podcast cover
Read more

On today's episode, Charles Max Wood, Joe Eames, and Tracy Lee discuss Reactive Programming and RxJS with Ben Lesh. Ben works at Netflix and also has a side job for Rx Workshop with Tracy. He is the lead author of RxJS 5. Tune in to learn more about RxJS!

Feb 07 2017

1hr 7mins

Play

JSJ 329: Promises, Promise.finally(), and Async/await with Valeri Karpov

Podcast cover
Read more

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:

Sponsors:

Picks:

Charles

Aimee

AJ

Val

Sep 04 2018

1hr 8mins

Play

JSJ 245 Styled Components and react-boilerplate with Max Stoiber

Podcast cover
Read more

On today's episode, Aimee and Chuck welcome Maximillian "Max" Stoiber to the show. Max hails from Austria and is an expert in open source development at Think Mill. Tune in to JSJ 245 Styled Components and React-Boilerplate with Max Stoiber.

Jan 17 2017

49mins

Play

159 JSJ Why JavaScript Is Hard

Podcast cover
Read more

02:54 - Everyone Gets It But Me

04:06 - Tools You “Need” to Know

06:29 - Clojures

07:39 - JavaScript as “Object-Oriented” vs “Event-Oriented”

09:30 - Code That Can’t Be Serialized or Deserialized

10:49 - Clojures (Cont’d)

14:32 - The DOM (Document Object Model)

19:52 - Math Is Hard

  • IEEE754 (Floating-Point Arithmetic)

22:39 - Prototypes

25:43 - Asynchronous Programming

32:23 - Browser Environments

34:48 - Keeping Up with JavaScript

35:46 - Node

  • Nesting
  • Context Switching

42:48 - UTF-8 Conversion

44:56 - Jamison’s Stack

Check out and sign up to get new on React Rally: A community React conference on August 24th and 25th in Salt Lake City, Utah!

Picks

Jason Orendorff: ES6 In Depth (Aimee)
Cat Strollers (Aimee)
Stephano Legacy of the Void (Joe)
A Gentleman's Guide to Love and Murder (Joe)
Gregor Hohpe: Your Coffee Shop Doesn’t Use Two-Phase Commit  (AJ)
Firefox OS (AJ)
Flame (AJ)
OpenWest 2015 (AJ)
801 Labs Hackerspace (AJ)
Stack Overflow Careers (AJ)
Dota 2 (Jamison)
Beats, Rye & Types Podcast (Jamison)
JS Remote Conf Talks (Chuck)
Workflowy (Chuck)

May 13 2015

58mins

Play

220 JSJ Teaching JavaScript with Kyle Simpson

Podcast cover
Read more

Jul 13 2016

1hr 8mins

Play

JSJ 304: React: The Big Picture

Podcast cover
Read more

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:

Picks:

Charles

Aimee

Joe

AJ

Mar 13 2018

51mins

Play

210 JSJ The 80/20 Guide to ES2015 Generators with Valeri Karpov

Podcast cover
Read more

Check out React Remote Conf

01:56 - Valeri Karpov Introduction

02:17 - Booster Fuels

03:06 - ES2015 Generators

05:47 - try-catch

07:49 - Generator Function vs Object

10:39 - Generator Use Cases

12:02 - Why in ES6 would they come out with both native promises and generators?

14:04 - yield star and async await

17:06 - Wrapping a Generator in a Promise

19:51 - Testing

20:56 - Use on the Front-end

22:14 - The 80/20 Guide to ES2015 Generators by Valeri Karpov and Tech Writing

Picks

Why and How Testing Can Make You Happier (Aimee)
Pitango Gelato (Aimee)
The Primal Blueprint by Mark Sisson (Chuck)
The Primal Blueprint 21-Day Total Body Transformation (Chuck)
acquit (Valeri)
nightmare (Valeri)
now (Valeri)
The 80/20 Guide to ES2015 Generators by Valeri Karpov (Valeri)

May 04 2016

42mins

Play

JSJ 270 The Complete Software Developers Career Guide with John Sonmez

Podcast cover
Read more

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

Jul 18 2017

1hr

Play

JSJ 276: Vue.js with Maximilian Schwarzmüller

Podcast cover
Read more

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:

Aimee:

Charles:

Max:

Links

Aug 29 2017

50mins

Play

JSJ 291: Serverless For JavaScript with Gareth McCumskey

Podcast cover
Read more

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:

Picks:

Aimee

AJ

Charles

Gareth

Joe 

Dec 12 2017

54mins

Play

JSJ 298: Angular, Vue and TypeScript with John Papa

Podcast cover
Read more

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:

Picks:

Corey

Charles

Aimee

Joe

John

Jan 31 2018

1hr 3mins

Play

225 JSJ Functional Programming with John A. De Goes

Podcast cover
Read more

03:08 - John A. De Goes Introduction

04:07 - PureScript

JavaScript Jabber Episode #189: PureScript with John A. De Goes and Phil Freeman

04:58 - “Purely Functional”

09:18 - Weaknesses With Functional Programming

14:36 - Organizing a FP Codebase

17:54 - Beginners and Functional Programming; Getting Started

  • Learning About the History of Functional Programming
  • Hiring Junior Devs to do FP

28:20 - The Rise of Functional Programming in JavaScript-land

32:08 - Handling Existing Applications

36:03 - Complexity Argument

41:53 - Weighing Language Tradeoffs; Alt.js


Picks

Aug 17 2016

56mins

Play

MJS 083: Christine Legge

Podcast cover
Read more

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:

Sponsors:

Picks:

Charles

Christine

Oct 31 2018

34mins

Play

179 JSJ redux and React with Dan Abramov

Podcast cover
Read more

02:25 - Dan Abramov Introduction

02:43 - Dan’s Background and Journey Into Building Stuff with React

05:48 - redux and React    

10:07- The Elm Programming Language

12:19 - Reducers

14:04 - Hot Reloading

17:50 - “React makes you a better JavaScript developer.”

22:10 - Time Travel

28:26 - Storing Data and Managing State

34:43 - [Patreon] Support Dan Abramov Creating Redux and React Hot Loader

36:24 - react-transform

41:34 - Using redux outside React

43:52 - Editors and Programmer Productivity

45:35 - Future Plans

Picks

The OAuth2 RFC (Aimee)
Michael Ries: Hiring Apprentices (Jamison)
@sebmck: "Sometimes having email history isn't always a good thing..." (Jamison)
Metal Gear Solid 5: The Phantom Pain (Jamison)
Firefly (Joe)
The Elm Programming Language (Joe)
Google Keep (Dave)
15 Minute Podcast Listener chat with Charles Wood (Chuck)
Pebble Time (Chuck)
100 Days of Burpees (Chuck)
Broad City (Dan)
Jamie xx: In Colour (Dan)
Cycle.js (Dan)

Sep 30 2015

1hr 1min

Play

JSJ 251 InfoSec for Web Developers with Kim Carter

Podcast cover
Read more

On today's episode, Charles Max Wood and Aimee Knight discuss InfoSec for Web Developers with Kim Carter. Kim is a senior software engineer/architect, an information security professional, and the founder of binarymist.io. He is currently working on his book called Holistic InfoSec for Web Developers. Tune in to learn more on what his book is all about.

Feb 21 2017

48mins

Play

MJS #019: Aimee Knight

Podcast cover
Read more

On today's episode, Charles Max Wood features My JS Story Aimee Knight. Aimee first appeared in episode 153, where talked about her career as a Junior Developer. She eventually became one of the awesome panelists of JavaScript Jabber. Tune in to learn about her journey in programming!

May 17 2017

40mins

Play

JSJ 269 Reusable React and JavaScript Components with Cory House

Podcast cover
Read more

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

Joe Eames

Aimee Knight

Charles Max Wood

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

Joe Eames

Aimee Knight

Charles Max Wood

Jul 11 2017

57mins

Play

JSJ 256 Wordpress and Wordpress API for JavaScript Developers with Roy Sivan

Podcast cover
Read more

On today's JavaScript Jabber Show, Charles, Aimee, Joe, and Cory discuss Wordpress and Wordpress API for JavaScript Developers with Roy Sivan. Roy is a WordPress (WP) developer at Disney Interactive. He has long been a fan of JavaScript and WP. During a WordCamp, the WP Founder announced the need for WP developers to learn JavaScript. But, what's in WP that developers should be interested about? Tune in to learn!

Apr 04 2017

55mins

Play

JSJ 383: What is JavaScript?

Podcast cover
Read more

Sponsors

Panel

  • Charles Max Wood

  • Christopher Beucheler

  • Aimee Knight

Episode Summary

Today’s episode is an exploration of the question “What is JavaScript?”. Each of the panelists describes what they think JavaScript is, giving a definition for both technical and non-technical people. They talk about how the different layers of JavaScript tie into their definitions. They agree that it’s incorrect to call JavaScript one of the ‘easy’ programming languages and some of the challenges unique to JavaScript, such as the necessity of backwards compatibility and that it is used in tandem with CSS and HTML, which require a different thinking method. They discuss the disdain that some developers from other languages hold for JavaScript and where it stems from. They discuss methods to level up from beginner to mid level JavaScript programmer, which can be tricky because it is a rapidly evolving language. They revisit the original question, “What is Java Script?”, and talk about how their definition of JavaScript has changed after this discussion. They finish by talking about the story they want to tell with JavaScript, why they chose JavaScript, and what is it they are trying to do, create, become through using the language. They invite listeners to share their answers in the comments. 

Links

Follow DevChat on Facebook and Twitter

Picks

Charles Max Wood:

Aimee Knight:

Christopher Beucheler:

Aug 15 2019

44mins

Play

JSJ 366: npm with Mikeal Rogers

Podcast cover
Read more

Sponsors

Panel

  • AJ O’Neal
  • Chris Ferdinandi
  • Aimee Knight
  • Charles Max Wood

Joined by special guest: Mikeal Rogers

Episode Summary

This episode of JavaScript Jabber starts with Mikeal Rogers introducing himself and his work in brief. Charles clarifies that he wants to focus this show on some beginner content such as node.js basics, so Mikeal gives some historical background on the concept, elaborates on its modern usage and features and explains what “streams” are, for listeners who are starting to get into JavaScript. The panelists then discuss how languages like Go and Python compare to node.js in terms of growth and individual learning curves. Mikeal answers questions about alternate CLIs, package management, Pika, import maps and their effect on node.js, and on learning JavaScript in general. Chris, Charles and AJ also chip in with their experiences in teaching modern JS to new learners and its difficulty level in comparison to other frameworks. They wrap up the episode with picks.

Links

Follow JavaScript Jabber on Devchat.tvFacebook and Twitter.

Picks

Chris Ferdinandi:

Aimee Knight:

Mikeal Rogers:

Charles Max Wood:

May 28 2019

1hr 11mins

Play

JSJ 410: Iterating on Open Source

Podcast cover
Read more

Today the panel is discussing iterating on open source projects. Aimee and AJ recall a conversation they had in the past on this subject and AJ talks about some of his experience iterating with open source. AJ believes that we have an obligation to capture the value of what you create so that we can reinvest and create more value, though he admits that making money in open source is a unique challenge because donations only really work if you have a project that gets billions of downloads a month. As your project grows, it has to change in order to survive, and eventually you will need to get financial support from your project. The panel agrees that some of the main issues with iterating in open source are maintaining the code and getting feedback from users, financial backing, and roadmapping and integrations.

The panel discusses their methods for getting feedback from their users. This feedback is valuable because it can show you things that you missed. They acknowledge that there can be conflicts of interest between those who only use the project and those who financially support it, and you have to make a choice. Unfortunately, someone is probably going to be inconvenienced no matter what choice you make. When making these decisions, you have to consider who it helps, who it frustrates, and who it may cause problems for. The panelists talk about different ways they’ve handled making these decisions in the past. The JavaScript experts talk about the importance of having data on your user base in order to make good choices for your users. They talk about different methods for notifying your users of upcoming changes and how it will affect compatibility, and some of the challenges with communicating with your users. AJ talks about an iteration he thought was a good idea but that a lot of people hated and how he noticed that the new users liked it but the old users did not. They panel agrees that people in general don’t like change. AJ talks about what he learned from this experience. 

Another common issue is integrating with other services. Integrating with cloud services, or at least giving people the option to integrate gives you an opportunity to reach more people and maintain the project long term. AJ gives some final thoughts to close the show, namely that most projects never go anywhere, and that’s ok. If you’ve got something that starts going somewhere, think early on about how you can better serve the community and remember that these people are mostly grateful and semi-willing to support you. He believes that if you are helping people create value, you deserve to see the fruits of your labor. He advises listeners to stay true to your open source ideals, think about your users perspective, and that the earlier you can think about this and make these choices, the better it is for your project


Panelists

  • Aimee Knight

  • Steve Edwards

  • AJ O’Neal

  • Charles Max Wood

**To receive your 40% OFF coupon for Manning Publications (good for all our products in all formats) visit us on Facebook - click on "Send A Message"and type "YES"**

Sponsors

  • Sentry | Use the code “devchat” for $100 credit

Links

Picks

Aimee Knight:

Steve Edwards:

AJ O’Neal:

Charles Max Wood:

Dec 03 2019

59mins

Play

JSJ 409: Swagger and Open API with Josh Ponelat

Podcast cover
Read more

Today the panel discusses the difference between Swagger and Open API with Josh Ponelat. Josh details the difference between the two. Swagger is a set of protocols around describing restful APIs. Swagger was taken over by a company called SmartBear, who donated the donated the specification to the Open Linux Foundation, and that became the Open API. Swagger is the tooling surrounding these specifications. Open API is a standardized way to describe a restful API in a YAML file. Once you’ve got a YAML file to describe your API, you can use tooling like Swagger to leverage that and take it to the next level. Using the Open API process is useful for situations where you already have an API in place, but want to codify and document it so that it’s controlled. Then going forward, you won’t introduce contradictions and it remains consistent because it’s documented in a YAML file. The process leaves room for enhancement in the future as well. 

Josh talks about some of the benefits of standardizing your API and some of the use cases besides tooling. A standardized API can help show developers how to use your API, SDKs, and service stubs by knowing your API is consistent in style. This makes it easier to find breaking changes and more. Josh talks more about Swagger, a finite set of tooling around Open API, most of which are open source. He talks about other tools that test APIs and do linting on YAML files. Some of the companies that use Open API include Google, Amazon, and Microsoft. Josh talks about how Amazon implements Open API.

Josh talks about the book he’s writing, Designing APIs with Swagger and Open API. The book goes over describing APIs today, how to design APIs without writing code first, and how to get the most out of the system. The show concludes with Josh talking about the power of consistency and writing things down on paper. He discusses where implications that the standardization of APIs has on the text industry. 

Panelists

  • Dan Shapir

  • Charles Max Wood

Guest

  • Josh Ponelat

**To receive your the 40% OFF coupon for Manning Publications (good for all our products in all formats) visit us at Facebook - click on "Send A Message"and type "YES"**

Sponsors

  • Sentry | Use the code “devchat” for $100 credit

Links

Picks

Dan Shapir

Charles Max Wood

Josh Ponelat

Nov 26 2019

45mins

Play

The MaxCoders Guide To Finding Your Dream Developer Job

Podcast cover
Read more

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is available on Amazon. Get your copy here today only for $2.99!

Nov 20 2019

14mins

Play

The MaxCoders Guide To Finding Your Dream Developer Job

Podcast cover
Read more

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is available on Amazon. Get your copy here today only for $2.99!

Nov 20 2019

14mins

Play

MJS 132: Douglas Crockford

Podcast cover
Read more

Douglas Crockford self-described as the person who discovered that JavaScript has good parts is on this week's My JavaScript Story. Charles and Douglas talk about how Douglas got introduced to programming. and how he specialized in JavaScript.

Douglas realized that there's going to be a convergence of TV and computing very early in his career. So a lot of his career has been bridging those two things, helping the evolution toward digital media. After working for Atari he went to work at Lucasfilm where he stayed for 8 years.

Charles asks Douglas what he is working on now, and what his plans are for the future. Douglas is planning to write more books one of which is Math for Programmers.

Host: Charles Max Wood

Joined by Special Guest:  Douglas Crockford

Sponsors

________________________________________________________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood will be out on November 20th on Amazon. Get your copy on that date only for $2.99

________________________________________________________________________________________________

Links

Picks

Charles Max Wood:

Nov 19 2019

44mins

Play

JSJ 408: Reading Source Code with Carl Mungazi

Podcast cover
Read more

Carl Mungazi is a frontend developer at Limejump in London. He is a former journalist and switched to programming in 2016. Today the panel is discussing the benefits of reading source code. Carl began reading source code because he came into programming late and from a different field. His first project was with Mithril, and he read the source code and documentation to help him understand it. The panelists discuss how reading the source code has helped them and others to improve their coding. They compare reading and understanding source code to learning a foreign language, and discuss  different methods. 

Carl gives some suggestions for reading source code effectively. He advises people to be patient and step through the code. Accept that you will probably take a wrong path at some point or another, but the more you read, the more you will see patterns in how libraries are structured. He also encourages listeners to approach the authors, as they are often happy to lend a hand. Reading source code is an active approach of stepping through, debugging, putting in break points, checking the stack, and so forth. It’s also important to do outside research. 

Since he has been reading source code, Carl has come to prefer plain JavaScript and libraries with as little code as possible. The panel discusses the benefits of small, simple libraries. Carl gives examples of techniques that he learned from reading a library source code and how he applied it to his own coding style. Reading source code has made him more careful about mixing logic and UI, and now he separates them. He also is more confident in seeing a problem, going to a preexisting library, and just importing the fix for that problem rather than the whole library. Reading source code is really about understanding the code you use in your project. It may slow you down, but you’ll be thankful in the long term because it will help you solve future bugs more efficiently. Carl talks more about his debugging process. He still relies on a debugger, but reading a library helps you to see patterns and guess the output of a function. These patterns persist in other libraries as well. Once you can guess correctly what will happen, you go back to reading the code and find instances where the output is unexpected, and fix it. Carl’s closing thoughts are that through reading source code, he has learned that although code is used differently in each library, they are all written in the same language, and therefore interrelated. This gave him more confidence in reading code because they’re all fundamentally the same. When a bug is discovered, he encourages listeners to look at the source code before googling a solution. 

Panelists

  • AJ O’Neal

  • Dan Shapir

  • Steve Edwards

  • Charles Max Wood

Guest

  • Carl Mungazi

Sponsors

Links

Picks

AJ O’Neal

Dan Shapir

Steve Edwards

Charles Max Wood

Carl Mungazi

Nov 19 2019

55mins

Play

MJS 131: Chris Biscardi

Podcast cover
Read more

Chris is an independent consultant working with open source startups. He taught himself to program and started in open source. He talks about how he got into programming and how he learned to code.

Chris' first access to programming was writing index.hml files when he was younger and again when he was majoring in Arts in university he was introduced to ActionScript.

Host: Charles Max Wood

Joined by Special Guest:  Chris Biscardi

Sponsors

_______________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood will be out on November 20th on Amazon. Get your copy on that date only for $2.99

_______________________________________________________

Links

Picks

Charles Max Wood:

Chris Biscardi:

  • Follow Chris on Instagram at ChrisBiscardi

Nov 12 2019

48mins

Play

JSJ 407: Reactive JavaScript and Storybook with Dean Radcliffe

Podcast cover
Read more

Dean is a developer from Chicago and was previously on React Round Up 083. Today he has come over to JavaScript Jabber to talk about reactive programming and Storybook. Reactive programming is the opposite of imperative programming, where it will change exactly when needed instead of change only when told to. Reactivity existed long before React, and Dean talks about his history with reactive programming. He illustrates this difference by talking about Trello and Jira. In Trello, as you move cards from swimlane to another swimlane, everyone on the board sees those changes right away. In Jira,  if you have 11 tabs open, and you update data in one tab, probably 10 of your tabs are stale now and you might have to refresh. Reactive programming is the difference between Trello and Jira.

The panel discusses why reactive JavaScript is not more widely used. People now tend to look for more focused tools to solve a particular part of the problem than an all in one tool like Meteor.js. Dean talks about the problems that Storybook solves. Storybook has hot reloading environments in frontend components, so you don’t need the backend to run. Storybook also allows you to create a catalogue of UI states. JC and Dean talk about how Storybook could create opportunities for collaboration between engineers and designers. They discuss some causes of breakage that automation could help solve, such as styles not being applied properly and internationalization issues. Dean shares how to solve some network issues, such as having operators in RxJs. RxJs is useful for overlapping calls because it was built with cancelability from the beginning. 

Dean talks about his tool Storybook Animate, which allows you to see what the user sees. Storybook is an actively updated product, and Dean talks about how to get started with it. The show concludes with Dean talking about some things coming down the pipe and how he is actively involved in looking for good general solutions to help people write bulletproof code. 

Panelists

  • JC Hiatt

With special guest: Dean Radcliffe

Sponsors

________________________________________________________________________________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood will be out on November 20th on Amazon.  Get your copy on that date only for $1.

________________________________________________________________________________________________________________________

Links

Follow DevChatTV on Facebook and Twitter

Picks

JC Hiatt:

Dean Radcliffe: 

Nov 12 2019

43mins

Play

MJS 130: Javan Makhmali

Podcast cover
Read more

This week, My Javascript Story welcomes Javan Makhmali,a Programmer at Basecamp from Ann Arbor, Michigan. Javan attended Community College to study Computer Science but then decided to work as a Freelancer developer. Javan and Charles debate whether having a 4-year college degree is better to become a developer and conclude that it depends on the person. Some people prefer a structured 4 year degree to feel ready for a full time jo and some people do better with bootcamps. Javan mentions he knows several people that switched careers after completing an 8 week bootcamp and that the industry was really flexible to accomodate both options.

Charles and Javan then continue talking about Javan's journey as a developer and particularly his journey with Basecamp. Javan started out working with Ruby on Rails and after a couple of years applied for a job at Basecamp (then known as 37 Signals). Javan then started working with CoffeeScript which helped him understand working with JavaScript.

Charles and Javan talk about the projects Javan is working on currently at Basecamp. Outside of work Javan, is a new parent and enjoys spending time with his daughter. He feels ever since he has become a parent, his work life balance has been better.

Host: Charles Max Wood

Joined by Special Guest:  Javan Makhmali

Links

Sponsors

Picks

Charles Max Wood:

Nov 05 2019

34mins

Play

JSJ 406: Security in Node

Podcast cover
Read more

Today the panel is talking about security features that are being added to Node 13. AJ talks about the background and what he’s working with Let’s Encrypt. He talks about changes that Node has made to the TLS module. TLS is a handshake that happens between a client and a server. They exchange certificates, generate some random numbers to use for encryption, and TLS handles the encryption. The move to HTTP/2 is all about fixing legacy bugs and legacy features from the SSL days and reducing the number of handshakes.

AJ talks about the difference between TLS and HTTPS. While TLS reduces the handshakes between client and server, HTTPS is just HTTP and has no knowledge that TLS is going on. HTTP/2 is more baked in as both encryption and compression are part of the specification and you get it automatically. HTTP/2 is also supposed to be faster because there’s fewer handshakes, and you can build heuristic based web servers. Since browsers have varying degrees of compatibility, a smart HTTP/2 server will classify the browser and anticipate what files to send to a client based on behavior and characteristics without the client requesting them

A lot of these new features will be built into Node, in addition to some other notable features. First, there will now be set context on the TLS object. Second, if you’re connected to a server, and the server manages multiple domains, the certificate will have multiple names on it. Previously, each different server name had a different network request, but now a .gitcertificate will let you get all the metadata about the certificate, including the primary domain and all the secondary domains and reuse the connections. 

These new features are a great improvement on the old Node. Previously, the TLS module in Node has been an absolute mess. These are APIs that have been long neglected, and are long overdue core editions to Node. Because of these additions, Node Crypto has finally become usable. HTTP/2 is now stable, usable, and has backwards compatable API, and a dictionary of headers to make it more efficient in compression.

The conversation turns back to certificates, and AJ explains what a certificate is and what it represents. A certificate has on it a subject, which is a field which contains things like common name, which in the case of HTTPS is the server name or host name. then it will have subject alternative names (SAN), which will have a list of other names that are valid on that certificate. Also included on the certificate is the name of the authority that issued the certificate. AJ talks about some of the different types of certificates, such as DV, OV, and EV certificates. They differentiate between encryption and hashing. Hashing is for verifying the integrity of data, while encryption can be used either as signing to verify identity or to keep data owned privately to the parties that are part of the connection. Encryption does not necessarily guarantee that the data is the original data. The show concludes with AJ talking about how he wants to make encryption available to the average person so that everyone can share securely. 

Panelists

  • Steve Edwards

  • AJ O’Neal

  • Charles Max Wood

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Steve Edwards:

AJ O’Neal:

Charles Max Wood: 

Nov 05 2019

1hr 16mins

Play

JSJ 405: Machine Learning with Gant Laborde

Podcast cover
Read more

Gant Laborde is the Chief Innovation Officer of Infinite Red who is working on a course for beginners on machine learning. There is a lot of gatekeeping with machine learning, and this attitude that only people with PhDs should touch it. In spite of this, Gant thinks that in the next 5 years everyone will be using machine learning, and that it will be pioneered by web developers. One of the strong points of the web is experimentation, and Gant contrasts this to the academic approach. 

They conversation turns to Gant’s course on machine learning and how it is structured. He stresses the importance of understanding unicode, assembly, and other higher concepts. In his course he gives you the resources to go deeper and talks about libraries and frameworks available that can get you started right away. His first lesson is a splashdown into the jargon of machine learning, which he maps over into developer terms. After a little JavaScript kung fu, he takes some tools that are already out there and converts it into a website.

Chris and Gant discuss some different uses for machine learning and how it can improve development. One of the biggest applications they see is to train the computers to figure monotonous tasks out while the human beings focus on other projects, such as watching security camera footage and identifying images. Gant restates his belief that in the next 5 years, AI will be everywhere. People will grab the boring things first, then they will go for the exciting things. Gant talks about his creation NSFW.js, an open source train model to help you catch indecent content. He and Chris discuss different applications for this technology.

Next, the panel discusses where machine learning can be seen in everyday life, especially in big companies such as Google. They cite completing your sentences in an email for you as an example of machine learning. They talk about the ethics of machine learning, especially concerning security and personal data. They anticipate that the next problem is edge devices for AI, and this is where JavaScript really comes in, because security and privacy concerns require a developer mindset. They also believe that personal assistant devices, like those from Amazon and Google, will become even more personal through machine learning. They talk about some of the ways that personal assistant devices will improve through machine learning, such as recognizing your voice or understanding your accent. 

Their next topic of discussion is authenticity, and how computers are actually incredibly good at finding deep fakes. They discuss the practice of placing passed away people into movies as one of the applications of machine learning, and the ethics surrounding that. Since developers tend to be worried about inclusions, ethics, and the implications of things, Gant believes that these are the people he wants to have control over what AI is going to do to help build a more conscious data set. 

The show concludes with Gant talking about the resources to help you get started with machine learning. He is a panelist on upcoming DevChat show, Adventures in Machine Learning. He has worked with people with all kinds of skill sets and has found that it doesn’t matter how much you know, it matters how interested and passionate you are about learning. If you’re willing to put the pedal to the metal for at least a month, you can come out with a basic understanding. Chris and Gant talk about Tensorflow, which helps you take care of machine learning at a higher level for fast operations without calculus. Gant is working on putting together a course on Tensorflow. If you’re interested in machine learning, go to academy.infinite.red to sign up for Gant’s course. He also announces that they will be having a sale on Black Friday and Cyber Monday.

Panelists

  • Christopher Buecheler

With special guest: Gant Laborde

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Christopher Buecheler:

Gant Laborde: 

Free 5 day mini course on academy.infinite.red

Oct 31 2019

42mins

Play

MJS 129: Filipa Lacerda

Podcast cover
Read more

Charles Max Wood talks to Filipa Lacerda in this week's My JavaScript Story. Filipa has been working as a front end engineer since 2011 and she currently works at GitLab.

Filipa originally wanted to study Economy but when she got to university she decided to major in Communications thinking it would be a lot more about communication and not as much about coding. At first she really didn't like the coding aspect of it but then as time went by she actually started to enjoy coding.

When she first started working she started out on the User Experience side, but then she wanted to switch to building stuff with code because she wanted to see results really fast and enjoyed that aspect of coding.

Charles asks why she stuck with that degree instead of switching it and Filipa explains that at first because she didn't want to go back and re - take the exams and also decided that this degree offered many job opportunities in many different industries and now she can't imagine herself doing anything else.

Filipa then talks about why she is working with Vue and all the different kind of projects she has done using Vue as well as what working for GitLab looks like on a day to day basis.

Host: Charles Max Wood

Joined by Special Guest:  Filipa Lacerda

Links

Sponsors

  • Sentry use the code “devchat” for 2 months free on Sentry small plan

  • Adventures in .NET

  • Elixir Mix

  • CacheFly

Picks

Filipa Lacerda:

Charles Max Wood:

Oct 29 2019

25mins

Play

JSJ 404: Edge on Chromium with Chris Heilmann

Podcast cover
Read more

Guests Chris heilmann and Zohair Ali are developers for Microsoft working on the Edge project. Today they are talking about Edge on Chromium and the future of developer tools. Edge will now be built in Chromium rather than being its own engine, aligning it more with what is being used on the open web right now. The Edge team wanted to seize the opportunity to bring something into the Chromium project based on the needs of real users and contribute to the open source web. Edge on Chromium won’t be limited to Windows 10 either, but will be available on Mac, Windows 7, and Windows 8. This project is still in beta with no set release date, so the Edge team is looking for people to test it out on Mac and tell them how it works. 

Chris and Zohair talk about the different parts of a web browser and what distinguishes Chrome from Chromium.  Chromium is not just a platform, it’s an entire browser that you can install. Google adds a bunch of Google services to Chromium, such as being able to sign into your Google account,  and that’s how you get Google Chrome. Similarly, the new Edge adds its own features on top of Chromium, so you can sign into your Microsoft account. By now the browser engines are so similar to each other that the users are looking for the user experience, interface, and services around it, so it made more sense for the Edge team to contribute to Chromium than to maintain their own engine and help it improve.

Chris and Zohair talk about some of the features in Edge on Chromium. One service they’re particularly excited about is the Collections feature, where you can drag images, text, etc into Collections and export it to Excel or Word. Collections was inspired by what users need, and they talk about some of the different use cases for it. The new Edge on Chromium will also have an IE mode for products that still require IE 11. If you define what services need IE 11, Edge will open an IE 11 tab within the browser so you will not have to jump between browsers. Unfortunately, this feature is only available on Windows. Edge on Chromium will also offer an integration with VS Code, called Elements for VS Code, which takes part of the developer tools from Edge and puts it inside VS Code. Since the tools are based on Chromium, it stays in the same context all the time so you don’t have to jump back and forth, and you can see the changes live in your browser. This feature is in beta right now and they are looking for people to test it. 

The Edge team talks about their process for creating tools. They are working on putting their tools into other languages so that they are accessible to more people. They talk about how they want to avoid creating Edge specific tools as much as possible because they want to make it better for everybody. One of their biggest struggles is everybody demands developer tools, but nobody wants to contribute, so they don’t have as much feedback and not as much outside contribution. That’s why they keep calling for people to try out the new Edge on Chromium and give them feedback. They want to make that change more transparent so that they build things that people want. They will have to make some of their own tools, but they make sure that they don’t have any third party dependencies. They mention that all Chrome extensions are compatible with Edge, so if it’s available in the Chrome webstore, you can add it to Edge, you just have to be sure to allow it. They talk about some of the testing tools available. The show concludes with a discussion of the fate of Chakra Node. 

Panelists

  • AJ O’Neal

  • Aimee Knight

  • Dan Shapir

  • Steve Edwards

With special guests: Chris Heilmann and Zohair Ali

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Aimee Knight:

Steve Edwards: 

Dan Shapir:

AJ O’Neal:

Chris Heilmann:

Zohair Ali:

Oct 29 2019

58mins

Play

JSJ 403: Why Developers Need Social Skills with Mani Vaya

Podcast cover
Read more

In this episode of JavaScript Jabber, Charles talks about the new direction he has for the company. He wants  to drive people to the point that they have the skills that make people want to hire and work with them, to teach them how to ‘Max out’. Today the panel the skills that developers need to progress in their careers: social skills. 

The panel talks about their observations from work that the people who advanced and grow in their career were the ones with social skills, not necessarily with technical skills. The company wants to get stuff done, and if your social skills are getting in the way of projects getting done because you can’t work with others, you are not that useful to the company, and you will be stuck in the lower ranks while others who may not have the same technical skills will rise in the ranks because they are pleasant to work with. Mani talks about his personal experience getting laid off for lacking these soft skills. But then he read the book 48 Laws of Power by Robert Green, realized his shortcomings, and started to apply just one lesson from the book. Within 6 months, he was promoted.

Mani delves deeper into the first lesson taught in 48 Laws of Power, Never Outshine the Master. Fundamentally, this means that you don’t try to prove in meetings how good you are, or that they’re wrong, or that you think that you are better than them. The more you the aforementioned things, the less likely you will be to get promoted or trusted. Mani talks about how he used to do these things and how it cost him multiple jobs. When he put this lesson into practice, he changed his methods and the boss started to like him, leading to his promotion 6 months later. The panel discusses this lesson and what benefits can come from it. 

Mani shares another lesson that he learned through the story of a friend trying to get him to invest in his business. After Mani refused to invest multiple times, his friend stopped asking him to invest, but instead asked him for business advice. Eventually, Mani invested in the business because when he saw that his friend was influenced by his advice, it engendered trust between them. The panel agrees that if you want to influence someone, you have to be influenced by them. It is important to treat someone as a person rather than an asset or wallet, and ensure them that their investment is not their end goal. One of the most fundamental social skills that you must be able to like people, because other people can smell manipulation. 

The panel transitions to talking about the paradoxical nature of social skills and that they are often the opposite of what you think will work in a situation. Unfortunately, there will always be difficult people to work with. To illustrate how to work with difficult people, Mani shares the story of how Gengis Khan was convinced not to destroy a city of artists and engineers by his advisor, Yelu Chucai. Gengis Khan agreed because Yelu Chucai was able to structure his plea in a way that would also benefit Gengis Khan. 

The conversation shifts to how to conduct an interview to see if a candidate will fit into your team culture. First, you must know what you’re looking for and understand your team culture, and then ask for stories of when they accomplished something in the interview. If every story is all about how they did something and they don’t include other people, then that may indicate their self-centeredness. They discuss the Ben Franklin Effect. 

For those listeners wondering where to begin with all this self improvement, Mani has read over 2,000 books on business and offers a course on his website, 2000books.com. Mani has teamed up with JavaScript Jabber to offer a special deal to the listeners of this podcast. To get lifetime access to Mani’s courses at a 40% discount, follow the links below. 

Panelists

  • Steve Edwards

  • Charles Max Wood

With special guest: Mani Vaya

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Steve Edwards:

Charles Max Wood:

Mani Vaya: 

Oct 24 2019

1hr 9mins

Play

MJS 128: Mike Hartington

Podcast cover
Read more

In this episode of My JavaScript Story is Charles talks to Mike Hartington. Mike Hartington is a Developer Advocate for Ionic Framework and a Google Developer Expert, but he is most famous in the developer community because of his beard.

Charles asks how Mike got introduced to development. Mike tried to code Tic-Tac-Toe and that was a challenge because knowing the rules to the game and trying to tell a computer the rules are two very two different things.

Mike then majored in Graphic Design at Rhode Island College, and started learning Flash and ActionScript. Mike talks about what kind of projects he created with Flash and ActionScript and then the process of teaching himself JavaScript.

Host: Charles Max Wood

Joined by Special Guest: Mike Hartington

Links

Sponsors

Picks

Mike Hartington

Charles Max Wood:

Oct 22 2019

40mins

Play

MJS 128: Mike Hartington

Podcast cover
Read more

In this episode of My JavaScript Story is Charles talks to Mike Hartington. Mike Hartington is a Developer Advocate for Ionic Framework and a Google Developer Expert, but he is most famous in the developer community because of his beard.

Charles asks how Mike got introduced to development. Mike tried to code Tic-Tac-Toe and that was a challenge because knowing the rules to the game and trying to tell a computer the rules are two very two different things.

Mike then majored in Graphic Design at Rhode Island College, and started learning Flash and ActionScript. Mike talks about what kind of projects he created with Flash and ActionScript and then the process of teaching himself JavaScript.

Host: Charles Max Wood

Joined by Special Guest: Mike Hartington

Links

Sponsors

Picks

Mike Hartington

Charles Max Wood:

Oct 22 2019

40mins

Play

JSJ 402: SEO for Developers with Vitali Zaidman

Podcast cover
Read more

Vitali Zaidman is a full stack developer who works for WellDone Software Solutions and is currently working on a SEO project. Today’s show is about SEO for developers. SEO stands for search engine optimization, which helps your website appear higher on search engines.

 SEO has changed a lot in the past 10 years. It has become much more regulated, and the “dirty tricks” of the past will actually penalize you, so it is important to do it properly. Today the best way to promote yourself on Google besides making good content is for developers to optimize the content, make it small, operational, secure, accessible, and operate on mobile. Much of it goes back to using semantic HTML since Google looks at it before looking at the structure of your website, how valuable it is, and how users interact with it. Having good semantics helps Google determine how valuable it is, so semantic HTML should be a top priority. Semantic HTML can also make your site more accessible to users, which will in turn give you a larger audience. 

The panel talks about some of the challenges of SEO faced by companies. While bigger companies have the privilege of dedicated SEO teams, small companies often lack these specialists. Thankfully, Google has made their guidelines for SEO very accessible and gives you a lot of tools to track your optimization. The panel talks about different methods of SEO, such as including FAQ at the bottom of the web page, optimizing page speed, and image optimization. Structured data like questions and answers enriches the data that is shown for users on the search results page. To score your website’s SEO, Google released the tool PageSpeed Insights, which will assign your website a performance score. 

Google uses two main tools to track a website’s SEO. First, they use real field data. If you opt in to ‘help improve Chrome’s features and performance’ when you install Chrome, it tracks how fast websites load on your Chrome, and they collect this information to understand how webpages load. It is required that your website has a certain amount of visitors to be tracked and added to the database. Second, Google has their own devices that will check your website. Currently, they are using a Moto G4 to test for mobile access, and a slow internet connection. Because of this, it is pretty easy to get a good score on desktop, but difficult to get a good score on mobile. The technology that drives all this is called Lighthouse. 

Overall, performance is the main thing users look for, so aim for good performance and fast websites. The panel discusses the correlation between performance and SEO. For example, Fox News and CNN are two of the top search results for ‘news’, but they have a dismal Google PSI score. They conclude that performance shouldn’t be ignored, but be careful about directly correlating performance and SEO. They also caution against getting obsessed over certain aspects of SEO by themselves. 

Panelists

  • Dan Shapir

  • Aimee Knight

  • Charles Max Wood

With special guest: Vitali Zaidman

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Aimee Knight:

Dan Shapir:

Charles Max Wood:

Vitali Zaidman: 

Oct 22 2019

38mins

Play

JSJ 401: Hasura with Tanmai Gopal

Podcast cover
Read more

Tanmai is one of the founders at Hasura. Hasura gives you instant graphQL APIs on top of a Postgres database. The eventual idea is to make data access secure and easy. Tanmai explains the challenges of doing this in the cloud. He talks about some of the difficulties with the tooling around using GraphQL and its bias towards working well with a monolith. Since GraphQL is basically a shared type system that describes your API, that means all your types need to be in the same code base. This is at odds with the folks who want to do microservices and serverless functions, because since their API is split across multiple services they have different types, and forcing these types to work together defeats the purpose of using microservices. Also, storing state across requests doesn’t work well with serverless and cloud native stuff. In short, learning to live without state is one of the general challenges with going serverless. 

This is where Hasura comes into play, and Tanmai explains how it works. Hasura is metadata driven, and each instance of the server can leverage multiple calls and exhibit a high amount of concurrency. It’s designed to be a little more CPU bound than memory bound, which means that configuring auto scaling on it is very easy and allows you to utilize the elasticity of cloud native applications. Tanmai clarifies his usage of the word ‘cloud native’, by which he means microservices. He explains that when you have a metadata based engine, this metadata has a language that allows you to bring to bring in types from multiple upstream microservices, and create a coherent graphQL API on top of that. Hasura is a middle man between the microservices and the consumer that converts multiple types into a single coherent graphQL API.

Next, Tanmai explains how Hasura handles data fetching and a high volume of requests. They also invented PostgresQL, RLS-like semantics within Hasura. He explains the process for merging your microservices into a single graphQL interface. Back on data fetching, Tanmai explains that when the product is an app, preventing an overabundance of queries becomes easier because during one of the staging processes that they have, they extract all of the queries that the app is actually making, and in the production version it only allows the queries that it has seen before. Hasura is focused on both the public interface and private use cases, though private is slightly better supported. 

Tanmai talks about the customizations available with Hasura. Hasura supports two layers. One is an aliasing layer that lets you rename tables, columns, etc as exposed by PostgresQL. The other is a computer column, so that you can add computer columns so you can extend the type that you get from a data model, and then you can point that to something that you derive. 

The panelist discusses the common conception of why it is a bad idea to expose the data models to the frontend folks directly. They discuss the trend of ‘dumbing down’ available tooling to appeal to junior developers, at the cost of making the backend more complicated. They talk about some of the issues that come from this, and the importance of tooling to solve this concern. 

Finally, Tanmai talks about the reasons to use Hasura over other products. There are 2 technologies that help with integrating arbitrary data sources. First is authorization grammar, their version of RLS that can extend to any system of types and relationships, The second is the data wrapper, part of the compiler that compiles from the graphQL metadata AST to the actual SQL AST. That is a generic interface, so anyone can come in and plug in a Haskell module that has that interface and implement a backend compiler for a native query language. This allows us to plug in other sources and stitch microservices together. The show concludes with Tanmai talking about their choice to use Haskell to make Hasura. 

Panelists

  • AJ O’Neal

  • Dan Shapir

  • Steve Edwards

  • Charles Max Wood

With special guest: Tanmai Gopal

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

AJ O’Neal:

Dan Shapir:

Steve Edwards:

Charles Max Wood:

Tanmai Gopal: 

Oct 17 2019

1hr 10mins

Play

MJS 127: Thorsten Lünborg

Podcast cover
Read more

In this episode of My JavaScript Story, Charles talks to Thorsten Lünborg. Thorsten is a Business Service Manager at MVV Energy Solutions from Frankfurt Germany. Charles asks about Thorsten's developer journey in particular how he was introduced to JavaScript.

Thorsten is also a core team member for Vue.js and he talks about his involvement with the Vue community. Thorsten mainly focuses on working on Vue CLI and answering questions in forums. He describes the Vue community as a very friendly and helpful one. According to Thorsten, Vue is very stable and seems to satisfy a lot of the needs of Vue community and so people are not looking for the "next best thing" with Vue. Out of all the frameworks i tried to learn, i found Vue was the one that i liked the most and i started answering questions about Vue on the forums.

Host: Charles Max Wood

Joined by Special Guest: Thorsten Lünborg

Sponsors

Links

Picks

Thorsten Lünborg

Charles Max Wood

Oct 15 2019

36mins

Play

JSJ 400: The Influence of JavaScript Jabber

Podcast cover
Read more

JavaScript Jabber celebrates its 400th episode with former host Dave Smith and some other familiar voices. Each of the panelists talks about what they’ve been up to. Dave hasn’t been on the show for 3 years, but he and Jameson Dance have started a podcast called Soft Skills Engineering where they answer questions about the non-technical side of engineering. When he left the show he was the director of engineering on Hire View, and currently he works for Amazon on Alexa. 

Christopher Buecheler has been on several JSJ, RRU, and MJS episodes. His time is divided between contracting for startups and his own company closebrace.com, a tutorial and resource site for JavaScript developers.  Dan Shapir has also been on JSJ as a guest, and is currently works for Wix doing performance tech. He enjoys speaking at conferences, such as JS Camp in Bucharest, Romania and the YGLF conference. Steve Edwards was previously on MJS 078. He started on Drupal in the PHP world, switched to JavaScript, and then a few years ago he started looking at Vue. Now he does Vue fulltime for ImageWare Systems.

As for Charles, his primary focus is the podcasts, since DevChat.tv produces around 20 episodes per week. 5 new shows were started in July, and he talks about some of the challenges that that brought. One of his most popular shows recently was JSJ 389: What makes a 10x Engineer? This helped him realize that he wants to help teach people how to be a successful engineer, so he’s working on launching a new show about it. 

The panelists share some of their favorite JSJ episodes. They discuss the tendency of JSJ to get early access to these fascinating people when the conversation was just beginning, such as the inventor of Redux Dan Abramov, before their rise to stardom. The talk about the rise in popularity of podcasting in general. They agree that even though JavaScript is evolving and changing quickly, it’s still helpful to listen to old episodes. 

Charles talks about the influence JavaScript Jabber has had on other podcasts. It has spawned several spinoffs, including My JavaScript Story. He’s had several hosts start their own DevChat.tv shows based off JavaScript Jabber, including Adventures in Angular and The DevEd Podcast. JavaScript Jabber has also been the inspiration for other podcasts that aren’t part of DevChat.tv. There aren’t many podcast companies that produce as many shows as they do and they’re developing their own tools. DevChat.tv moved off of WordPress and is in the process of moving over to Podwrench. Charles talks about all the new shows that have been launched, and his view on ‘competing’ podcasts. Charles is also considering doing an audio drama that happens in a programming office, so if you would like to write and/or voice that  show, he invites you to contact him. 

The show concludes with the panel talking about the projects they’ve been working on that they want listeners to check out. Christopher invites listeners to check out closebrace.com. He also has plans to write a short ebook on unit testing with jest, considered doing his own podcast, and invites people to check out his fiction books on his website. Dan talks about his involvement with Wix, a drag and drop website service, that recently released a technology called Corvid which lets you write JS into the website you build with Wix. This means you can design your user interface using Wix, but then automate it, add events functionality, etc. Dan is also going to be at the Chrome Dev Summit conference. Dave invites listeners to check out the Soft Skills Engineering podcast, and Charles invites listeners to subscribe to his new site maxcoders.io

Panelists

  • Dan Shapir

  • Christopher Buecheler

  • Steve Edwards

  • Dave Smith

  • Charles Max Wood

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Steve Edwards:

Christopher Buecheler:

Charles Max Wood:

Dan Shapir:

Dave Smith:

Oct 15 2019

1hr 10mins

Play