d

JSJ 290: Open Source Software with Dirk Hohndel - VMWare Chief Open Source Officer

Panel:

Charles Max Wood

Aimee Knight

Corey House

Joe Eames

Special Guests: 

In this episode, JavaScript Jabber speaks with Dirk Hohndel about Open Source Software. Dirk is the Chief Open Source Officer at VMWare and has been working with open source for over 20 years. Dirk duties as the Chief Open Source Officer is to engage with the open source community and help promote the development between the community, companies, and customers.

Dirk provides historical facts about open sources to current processes. The discussion covers vision and technological advances with languages, security, and worries of using open source software, view/consumption and burnout on maintaining a project. This is a great episode to learn about more different avenues of Open Source.

In particular, we dive pretty deep on:

  • What does the Chief Open Source Officer do?
  • What is really different and has stayed the same in open source?
  • Technological advances
  • Good engineering and looking ahead or forward
  • 100 million lines of code running a car…
  • This is in everything..
  • Production environments
  • Security
  • Bugs in the software and the security issues
  • Scaling and paying attention
  • Where should we be worried about open source
  • Notation and data sets
  • Write maintainable software
  • How does VMWare think about open source?
  • View and Consumption of open source
  • The burnout of open source projects - how to resolve this abandonment
  • To much work to maintain open source  - not a money issue
  • Scaling the team workload not the money
  • Contribution and giving back
  • Companies who do and don’t welcome open source
  • What to do to make a project open source?
  • Adopting an API
  • And much more!

Links:

  • @_drikhh
  • VMWare
  • Drikhh - everywhere!
  • https://github.com/dirkhh

Picks:

Aimee

Dirk

Charles

Corey

Joe

 

 




d

JSJ 292: CosmosDB with Kirill Gavrylyuk

Panel: 

Charles Max Wood

Special Guests: Kirill Gavrylyuk

In this episode, JavaScript Jabber speaks with Kirill Gavrylyuk. Kirill is a dev manager at Cosmos DB, and works professionally with Azure CosmosDB. Kirill is on JavaScript Jabber to talk about what CosmosDB is in the world of development technology. Chuck and Kirill discuss the nuances of this database technology, how it is implemented, and how to manage and migrate data, among other great features.

In particular, we dive pretty deep on:

  • What is Cosmos DB?
  • Bring your data anywhere your users are
  • It is a website
  • Multimodel database
  • Works with Mongodb 
  • Cassandra
  • Started as database DB
  • Throughput
  • Key data pairs
  • Switching from MongoDB to Azure
  • How do you decide what goes into this? It looks like an everything database.
  • Migration path
  • Uses cases, problems solved
  • Supporting APIs
  • Does it only exist in the Cloud? An emulator is available.
  • Subscription info.
  • And much more!

Links:

  • @kirillg-msft
  • https://www.linkedin.com/in/kirillgavrylyuk

Picks:

Kirill

Charles

 

 

 




d

MJS 041: Austin McDaniel

Panel: 

Charles Max Wood

Guest: Austin McDaniel

This week on My JavaScript Story/My Angular Story, Charles speaks with Austin McDaniel. Austin is a return guest and was previously featured on JavaScript Jabber episode 275 . Austin talks about his journey getting into programming as an 11year old, to recently, as a web developer with more complex technologies. Austin talks about building widgets, working in Angular, JavaScript, and more in-depth web development on many different platforms. Lastly, Austin talks about his contributions to NGX Charts and speaking at a variety of developer conferences.

In particular, we dive pretty deep on: 

  • How did you get into programming? 11 years old
  • Cue Basic
  • Web developer
  • College jobs was in web developing
  • IE6
  • Building Widgets
  • Components
  • jquery 
  • Web is the future
  • How did you get into Angular? 2013, v1.2
  • Backbone
  • Angular 1 & 2
  • NG X Charts
  • Speaking at Conferences
  • Augmented Reality and VR
  • Web AR
  • Angular Air Podcast
  • Working as a contractor with Google
  • and much, much more!

Links: 

Picks

Austin

Charles




d

JSJ 293: Big Data with Nishant Thacker

Panel: 

Charles Max Wood

Special Guests: Nishant Thacker

In this episode, JavaScript Jabber speaks with Nishant Thacker. Nishant is the technical product manager for all things big data at Microsoft. Nishant mentions the many new technologies and announcements he is in-charge of at Microsoft.

Nishant is on the show to talk about Big Data and gives advice on how to process data and acquire deep insight of your customers. This is a great episode to understand the development of data systems that are the backbone of some marketing tools.

In particular, we dive pretty deep on:

  • Processing Metrics
  • Processing into report and usable information
  • Data lake
  • Collecting data points
  • Creating and maintaining the data lake in its raw form
  • Scale up engines and limits
  • Commodity machines and leverage
  • Big data means to scale out
  • Specialized engines for audio and video files
  • How to have a cohesive report?
  • Writing and Querying across data
  • Storing raw data and retrieve data
  • Data cluster
  • What does the data box look like?
  • And much more!

Links:

Picks:

Nishant

  • Robot I

Charles




d

JSJ 294: Node Security with Adam Baldwin

Panel: 

Charles Max Wood

AJ O’Neal

Joe Eames

Special Guests: Adam Baldwin

In this episode, JavaScript Jabber panelist speak with Adam Baldwin. Adam is a return guest and has many years of application security experience. Currently, Adam runs the Node Security Project/Node Security Platform, and Lift Security. Adam discusses the latest of security of Node Security with Charles and AJ. Discussion topics cover security in other platforms, dependencies, security habits, breaches, tokens, bit rot or digital atrophy, and adding security to your development.

In particular, we dive pretty deep on:

  • What is  the Node Security Project/Node Security Platform
  • Dependency trees
  • NPM
  • Tokens and internal data
  • What does Node Security do for me?
  • NPX and NSP
  • Command Line CIL
  • Bit Rot or Digital Atrophy
  • How often should you check repos.
  • Advisories
  • If I NPM install?
  • Circle CI or Travis
  • NSP Check
  • What else could I add to the securities?
  • Incorporate security as you build things
  • How do you find the vulnerabilities in the NPM packages
  • Two Factor authentication for NPM
  • Weak Passwords
  • OL Dash?
  • Install Scripts
  • Favorite Security Story?
  • And much more!

Links:

Picks:

Adam

Charles

AJ

Joe




d

MJS 042: Kassandra Perch

Panel: 

Charles Max Wood

Guest: Kassandra Perch

This week on My JavaScript Story, Charles speaks with Kassandra Perch. Kassandra is a return guest from JavaScript Jabber episode 197. Kassandra is a developer relations engineer for IOpipe, that does AWS Lambda monitoring and visibility in the server-less space. 

Kassandra talks about her journey into program through game sharks or programming game cartridges. Also, furthering her interest in programming was taking computer science courses in college, and getting a part-time job in the technology field during college while networking. Kassandra shares her favorite contributions to javascript and open source projects. 

In particular, we dive pretty deep on:

  • How did you get into programming? Game Sharks
  • Game Cartridges
  • Austin Meetup Group and JavaScript
  • Working in the open source community 
  • College courses
  • Contributions - Nodebotanist 
  • Interest in education  and being autistic 
  • Child of a teacher 
  • Serving the community 
  • Helping people with projects 
  • IOT - Internet of Things
  • Building Robots
  • Serverless 
  • What are you working on now? 
  • AVR Girl
  • and much, much more!

Links: 

Picks

Kassandra

Charles 




d

JSJ 295: Developers as Entrepreneurs with Ryan Glover

Panel: 

Charles Max Wood 

Cory House

Joe Eames

Aimee Knight  

Special Guests: Ryan Glover

In this episode, JavaScript Jabber panelist speak with Ryan Glover. Ryan is on JavaScript Jabber to talks about Entrepreneurship as a developer.  Ryan runs Clever Beagle in Chicago Illinois. Clever Beagle is a mentorship company that helps people build their first software Product. Ryan and the panel discuss the many roads of entrepreneurship, startup business ideas, servicing and teaching the community, how to’s, and psychological challenges, hiring, seeing your ideas through to the end, and privilege. 

In particular, we dive pretty deep on:

  • How do you get started as an entrepreneur? 
  • Clever Beagle
  • The Meteor Chef
  • Where are people getting stuck on the builds? 
  • Fear, unknowns
  • Simple, but not easy 
  • Drive and ability to step into the unknown
  • Survival of the fittest
  • Hire before you are already 
  • Losing your marbles
  • Starting on a smaller scale
  • How do I know my idea is going to work? 
  • Book - Brick by Brick
  • Multiple lines of business
  • Managing a portfolio of business 
  • Revenue streams 
  • Marketing 
  • Quitter
  • When do I quit? 
  • 6-12 months of cash before you quit
  • Making mistakes in entrepreneurship?
  • Be a reader and study
  • Go out a read books! 
  • Experiential not taught 
  • Luck and Privilege
  • Video - Life of Privilege Explained in a $100 Race
  • Procrastinate on Purpose
  • And much more! 

Links:

Picks:

Cory

Charles

Aimee

Joe

Ryan




d

MJS 043: Nick Disabato

Panel: 

Charles Max Wood

Guest: Nick Disabato

This week on My JavaScript Story, Charles speaks with Nick Disabato. Nick is a return guest how was recent on JavaScript Jabber episode 283   talking about AB testing. Also, Nick is an interaction designer from Chicago and runs a consultancy called Draft, who do research AB testing for online stores to increase conversion rate without increase ad spend. Nick talks about his current work, and his journey into programming, more on testing, and contributions to the JavaScript Community.

In particular, we dive pretty deep on:

  • How much programming do you do day today?
  • Programming activities
  • Interacting with programmers to deliver products
  • What was your introduction to programmer
  • Logo - Turtle
  • Cue Basic
  • How did that get you to where you are today?
  • Did not want to be a mathematician
  • Never been to art school?
  • Being a creative person but not visual
  • Describe the creative, design, position you are in.
  • Wire Frames
  • Verbal communication
  • Web development, etc.
  • Front facing pages
  • How did you get into JavaScript and how much do you have to know?
  • Where are the bottlenecks?
  • Which framework is the best?
  • What are you working on now?
  • and much, much more!

Links: 

Picks

Charles

Nick




d

JSJ 296: Changes in React and the license with Azat Mardan

Panel: 

Charles Max Wood

Cory House

Joe Eames

Aimee Knight

Special Guests: Azat Mardan

In this episode, JavaScript Jabber panelist speak with Azat Mardan. Azat is a return guest, previously on JSJ Episode 230. Azat is an author of 14 books on Node JS, JavaScript, and React JS. Azat works at Capital One on the technology team. Azat is the founder and creator of Node University.

Azat is on the show to talk about changes in React and licensing. Some of the topics cover Facebook,  licensing with React, using the wrong version of React, patent wars, and much more in-depth information on current events in React.

In particular, we dive pretty deep on:

  • Facebook - Licensing with React
  • Using the Wrong version of React in some companies
  • BSD licensing
  • Patent wars
  • Facebook developing React
  • Difference in Preact and Inferno
  • Rewriting applications
  • What did Capital One do about the changes?
  • React 16
  • Pure React
  • Was the BSD patents - Med and Sm Companies
  • Patents explained
  • React Developers at Facebook
  • Fiber - New Core Architecture
  • And much more!

Links:

Picks:

Cory

Charles

Aimee

Joe

Azat




d

JSJ 297: Scrollytelling with Russell Goldenberg and Adam Pearce

Panel: 

Charles Max Wood

Joe Eames

Aimee Knight

Special Guests: Russell Goldenberg and Adam Pearce

In this episode, JavaScript Jabber panelist speak with Russell Goldenberg and Adam Pearce Russell creates visualizations, interactive graphics, and documentaries for the web. Currently an editor at The Pudding.  Adam is a graphics editor at The New York Times and a journalist engineers/developer  Russell and Adam are on the show to talk about what Scrollytelling is, as well as Scrollama. Scrollama is a modern and lightweight JavaScript library for scrollytelling using IntersectionObserver in favor of scroll events. This is a great episode to understand another technology/tool created with JavaScript.

In particular, we dive pretty deep on:

  • What is Scrollytelling!
  • Graph Scroll library
  • What is the intersection Observerable?
  • How long does it take to build an interactive graphic…?
  • How do you test something like this?
  • Test on a lot of different devices
  • Can you do automated testing?
  • Do you have to understand the use cases or can you implement quickly?
  • Recommendation for getting started?
  • Is this a skill set people have to have before that some on board?
  • How do design these interactions?
  • Scroll jacking
  • What JS developers should know about this technology.
  • Position sticky
  • What are other uses cases?
  • What can devs use it for?
  • Tax calculator
  • And much more!

Links:

Picks:

Adam

Charles

Aimee

Joe

Russel




d

MJS 045: Gant LaBorde

Panel: 

Charles Max Wood

Guest: Gant LaBorde

This week on My JavaScript Story, Charles speaks with Gant LaBorde. Gant is a regular in React Native Radio of Dev Chat TV. Gant works for Infinite Red and works with Ignite, a toolkit/framework for React Native. Infinite Red is a mobile app consulting company.

Gant talks about his journey in programming and working in the development world. Gant describes his early introduction to programming through the fascination of home computers and friends. Gant talks about his experience in learning  Javascript, PHP, Data Base, Desktop apps, and much more. Lastly, Gant talks about his contributions to React Native, and other platforms, and his current projects.

In particular, we dive pretty deep on:

  • How did you get into programming?
  • Got into programming by help his dad with technology and computers
  • Started his intro into programming through a friend programming on their home computer
  • Basic
  • AOL world - Visual Basic
  • Programming
  • Backend web
  • ASP
  • PHP
  • Javascript talk
  • Typescript talk
  • Cardboard talk
  • How did you get into React Native?
  • Ruby Motion
  • Building the Story
  • How does React Native allow you to build the story?
  • Components and structures
  • Reactotron 
  • What are you working on now?
  • Out of sync Yarn files
  • and much, much more!

Links: 

Picks

Gant

Charles




d

JSJ 298: Angular, Vue and TypeScript with John Papa

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




d

MJS 046: Donovan Brown

Panel: 

Charles Max Wood

Guest: Donovan Brown

This week on My JavaScript Story, Charles speaks with Donovan Brown. Donovan is a principle DevOps Manager at Microsoft. Donovan talks about his journey into programming starting in the 8th grade with Cue Basic to college and writing games in Cue Basic. Donovan talks about different avenues of programming and working independently, and being entrepreneurial, and finally getting a call from Microsoft. Donovan tells many great high energy stories and shares his enthusiasm in his career in DevOps. This is a great episode to hear the possibilities in the programming and developer world.

In particular, we dive pretty deep on:

  • How did you get into programming?
  • 8th grade Cue Basic
  • Computer Math  Cue Basic
  • Selling notes  -  Chemistry class
  • Board Game creation
  • Teach yourself C in 21 days
  • Change majors
  • Work at Compaq Computers and go promoted as a software engineer
  • Independent, then into Dev Ops
  • Notion Solutions
  • Ending up in Microsoft doing DevOps
  • Hot Topic  - Dev Opts  - Release
  • BrianKellerVM
  • Demos
  • DevOps and the Process
  • Visual Studio and people
  • Pain Points
  • Programmers - Permission to do your job?
  • JQuery
  • Yeoman Generator 
  • Power Shell Plugin
  • Open source and Contributions to the community
  • DevOps Interviews Podcast
  • and much, much more!

Links: 

Picks

Donovan

Charles




d

JSJ 299: How To Learn JavaScript When You're Not a Developer with Chris Ferdinandi

Panel: 

AJ O’Neal

Joe Eames

Aimee Knight

Special Guests: Chris Ferdinandi

In this episode, JavaScript Jabber panelist speak with Chris Ferdinandi. Chris teaches vanilla JavaScript to beginners and those coming from a design background. Chris mentions his background in Web design and Web Develop that led him JavaScript development. Chris and the JSJ panelist discuss the best ways to learn JavaScript, as well as resources for learning JavaScript. Also, some discussion of technologies that work in conjunction with vanilla JavaScript.

In particular, we dive pretty deep on:

  • Teaching JavaScript - Beginners and Design patrons
  • Web Design and Web Development
  • CSS Tricks 
  • Todd Motto
  • How to do jQuery Things without jQuery
  • Doing things like mentors (Todd)
  • When JavaScript makes sense.
  • CSS is easier to learn then JS?
  • Being good at CSS and JS at the same time?
  • How about Node developers?
  • jRuby, DOM
  • Documentation
  • And much more!

Links:

Picks:

AJ

Aimee

Joe

Chris




d

JSJ 301: CSS Grids: The Future of Frontend Layout with Dave Geddes

Panel: 

Charles Max Wood

Aimee Knight

Cory House

AJ O'Neal

Joe Eames

Aaron Frost

Special Guests: Dave Geddes

In this episode, the JavaScript Jabber panelists talk with Dave Geddes about CSS Grids. Dave quit his job about a year ago and has been living the entrepreneur and programmer life since then. Now, he builds mastery games to help people learn CSS. Dave discusses the differences between Flexbox and CSS Grid and how the games that he creates can help people learn CSS Grid in a fun and interactive way.

In particular, we dive pretty deep on:

  • CSS Mastery games
  • FlexboxZombies.com
  • GridCritters.com
  • Uses spaced repetition and delayed recall to learn
  • CSS Grid
  • Flexbox
  • CSS Grid as the cake and Flexbox as the frosting
  • Edge spec
  • What Flexbox can do
  • Sub-Grids
  • Geddski.com
  • Nesting Grids
  • Old Grid vs New Grid layout
  • Why would you move from Flexbox to CSS Grid?
  • CSS Grid tools
  • GridByExample.com
  • Education and Gamification
  • Pick a UI that interests you
  • For a discount on Grid Critters: enter JS Jabber for 20% off
  • And much, much more!

Links:

Picks:

Charles

Aimee

Cory

AJ

Joe

Aaron

Dave




d

MJS 050: Azat Mardan

Panel: Charles Max Wood

Guest: Azat Mardan

This week on My JavaScript Story, Charles speaks with Azat Mardan. Azat is the author of 14 books on Node JS, JavaScript, and React JS. He also founded Node University, speaks at conferences, and works at Capitol One. Azat first got into programming when he was in college and his major was Informatics in eastern Europe and then when he graduated, he taught himself JavaScript and PHP and did some freelance work. Once he came to the United States, he got his master’s degree in Information Systems Technology and was building websites for country embassies. His main advice to people new to programming and IT is to just focus on one thing and give yourself enough time to get comfortable with that technology, and then move on to a new technology to conquer.

In particular, we dive pretty deep on:

  • How did you get into programming?
  • Major in informatics
  • PHP, JavaScript, CSS, and HTML
  • Freelancing
  • Masters in Information Systems Technology
  • C++ class
  • FDIC
  • Advice to new programmers
  • The importance of focus
  • His startup experience
  • Ruby on Rails
  • Mac vs Windows
  • Taught himself different frameworks and languages
  • Location matters
  • MongoDB
  • The best way to learn is to teach others
  • What was it about JavaScript that really clicked for you?
  • JavaScript has expressiveness
  • The Talent Code
  • What led you to React?
  • Which contributions are you most proud of?
  • And much, much more!

Links: 

Picks

Charles

Azat




d

JSJ 303: Test Coverage Tools with Ben Coe, Aaron Abramov, and Issac Schleuter

Panel: 

Charles Max Wood

Aimee Knight

Corey House

AJ O'Neal

Special Guests: Ben Coe, Aaron Abramov, and Issac Schleuter

In this episode, the JavaScript Jabber panelists talk with Ben Coe, Aaron Abramov, and Issac Schleuter about test coverage and testing tools. They talk about the different tools and libraries that they have contributed to the coding community, such as NYC, conf, and Jest. They also discuss what test coverage is actually about and when using test coverage tools is necessary.

In particular, we dive pretty deep on:

  • What have you contributed to the testing tools community?
  • npm
  • NYC tool and instanbul project
  • conf
  • Jest
  • These libraries were developed to be easy and have “batteries included”
  • False positives with test coverage
  • Encourage testing practices that don’t practice in a superficial way
  • Test coverage is about making sure you test every state a public API can get into
  • Think through the test you’re writing first
  • Barriers against testing
  • Don’t spike the code too quickly
  • Provides guardrails for newer developers to contribute to open source projects
  • Use tests to understand the system
  • How to spend your time better
  • When you need tests
  • Value is very short term
  • TDD
  • And much, much more!

Links:

Picks:

Charles

Aimee

AJ

Corey

Ben

Aaron

Issac




d

MJS 051: Todd Gardner

Panel: Charles Max Wood

Guest: Todd Gardner

This week on My JavaScript Story, Charles speaks with Todd Gardner. Todd is one of the co-founders of Track JS, which is a JavaScript error monitoring service. He first got into programming in Jr. High when he and his friends played around with computers they had dumpster dived for from their school in order to play video games. In High School, he learned how to create websites so that people could register for his LAN parties online. They also discuss the importance of finding passion in what you do as well as what Todd is most proud of contributing to the JS community.

In particular, we dive pretty deep on:

  • Track JS
  • Stack trace
  • Telemetry
  • Decodes errors that are actually good to focus on
  • How did you get into programming?
  • Warcraft video game
  • Started programming past gaming in High School
  • LAN parties
  • Pearl
  • The importance of passion in programming
  • C#
  • He didn’t start off with programming as his focus
  • Find the thing that inspires you and go do it!
  • How did you wind up on JavaScript?
  • Working as a consultant
  • Knockout vs Backbone
  • .net contractor to JS contractor
  • Node JS
  • What are you most proud of in JS?
  • Understand that you’re never done with a JS app
  • What are you doing now?
  • And much, much more!

Links: 

Picks

Charles

Todd




d

JSJ 305: Continuous Integration, Processes, and DangerJS with Orta Therox

Panel:

  • Charles Max Wood
  • Aimee Knight
  • Joe Eames
  • AJ O'Neal
  • Special Guests: Orta Therox

In this episode, the JavaScript Jabber panelists talk about the tool Danger with Orta Therox. Danger allows you to create cultural rules about your pole request workflow. They discuss what Danger is, how it works, and how it can help you to catch errors and speed up code review. Danger lets you erase discussions so that you can focus on the things that you should really be focusing on, like the code. They also compare Danger to other ways of doing test converge.

In particular, we dive pretty deep on:

  • What is DangerJS?
  • Think of it as being on the PR level
  • Provides an eval context
  • Used on larger projects
  • React, React Native, Apollo, and RxJS
  • Experimenting with moving Danger onto a server
  • Danger can run as a linting step
  • Pre-commit hooks
  • Prettier
  • How do you use Danger on your own machine?
  • Danger Ruby vs Danger JS
  • NPM install
  • How is using Danger better that other ways of test coverage?
  • What kinds of rules can you write for this system?
  • Can use with Ruby or JavaScript
  • React Storybooks
  • Retrospectives
  • And much, much more!

Links:

Picks:

Charles

Aimee

Joe

AJ

Orta




d

MJS 054: Gordon Zhu

Panel: Charles Max Wood

Guest: Gordon Zhu

This week on My JavaScript Story, Charles speaks with Gordon Zhu. Gordon is the founder of Watch and Code. The mission of the company is to take total beginners and turn them into amazing developers. He first got into programming by trying to avoid programming. He studied business in college and was really interested in the internet, leading him to have to learn coding. He talks about the importance of being focused, especially in the beginning, and the ability to figure things out.

In particular, we dive pretty deep on:

  • Watch and Code
  • How did you first get into programming?
  • Studied business in college
  • Peak
  • Two different eras of programmers
  • There is more than one way to get into programming
  • Culture is promoting a new way of thinking about technology
  • Black Mirror
  • How did you get into JavaScript?
  • Marketing, product management, and engineering
  • Angular
  • Tried to avoid JS and focused on Python
  • Importance of focus
  • The ability to figure things out
  • How to spend your time in the beginning
  • Current focus
  • Focus gives you freedom
  • Reading a lot of code
  • What are you proud of?
  • And much, much more!

Links:

Picks

Charles

Gordon




d

JSJ 308: D3.js with Ben Clinkinbeard

Panel:

  • Joe Eames
  • Cory House
  • Aimee Knight

Special Guests: Ben Clinkinbeard

In this episode, the JavaScript Jabber panelists talk about D3.js with Ben Clinkinbeard. D3.js is a JavaScript library that has you use declarative code to tell it what you want and then it figures out all of the browser inconsistencies and creates the notes for you. He talks about the two main concepts behind D3, scales and selections, which once you understand make D3 a lot more user friendly. He then touches on SPGs and discusses his Learn D3 in 5 Days course.

In particular, we dive pretty deep on:

  • What is D3.js?
  • Stands for Data Driven Documents
  • JavaScript
  • How much of the learning curve is attributed to learning D3?
  • SPG
  • 2 main concepts behind D3: scales and selections
  • Is learning about SPGs a prerequisite to leaning D3?
  • How serious are you talking when saying idiosyncrasies?
  • SPG tag
  • Understanding positioning in SPG
  • Positions with CSS transforms
  • Are you required to use SPG?
  • Not required to use SPG with D3
  • Canvas
  • SPG is vector based
  • SPG utility function
  • Responseivefy
  • Learn D3 in 5 Days course
  • Is there and overlap with D3 and React?
  • And much, much more!

Links:

Picks:

Cory

Joe Eames

Aimee

Ben




d

JSJ 309: WebAssembly and JavaScript with Ben Titzer

Panel:

  • Charles Max Wood
  • Cory House
  • Aimee Knight

Special Guests: Ben Titzer

In this episode, the JavaScript Jabber panelists discuss WebAssembly and JavaScript with Ben Titzer. Ben is a JavaScript VM engineer and is on the V8 team at Google. He was one of the co-inventors of WebAssembly and he now works on VM engineering as well as other things for WebAssembly. They talk about how WebAssembly came to be and when it would be of most benefit to you in your own code.

In particular, we dive pretty deep on:

  • Ben intro
  • JavaScript
  • Co-inventor of WebAssembly (Wasm)
  • Joined V8 in 2014
  • asm.js
  • Built a JIT compiler to make asm.js faster
  • TurboFan
  • What is the role of JavaScript? What is the role of WebAssembly?
  • SIMD.js
  • JavaScript is not a statically typed language
  • Adding SIMD to Wasm was easier
  • Easy to add things to Wasm
  • Will JavaScript benefit?
  • Using JavaScript with Wasm pros and cons
  • Pros to compiling with Wasm
  • Statically typed languages
  • The more statically typed you are, the more you will benefit from Wasm
  • TypeScript
  • Is WebAssembly headed towards being used in daily application?
  • Rust is investing heavily in Wasm
  • WebAssembly in gaming
  • And much, much more!

Links:

Picks:

Charles

Cory

Aimee

Ben

  • American Politics




d

MJS 057: David Luecke

Panel: Charles Max Wood

Guest: David Luecke

This week on My JavaScript Story, Charles speaks with David Luecke. David currently works for Bullish Ventures, which is a company that builds APIs and mobile web applications for clients using their open source tools. He first got into programming when he got his first computer and started programming using Delphi with Pascal. They also touch on how he first got into JavaScript, Feathers JS, and what he is working on now.

In particular, we dive pretty deep on:

  • David intro
  • How did you first get into programming?
  • Tinkered a lot with electronics as a child
  • Delphi with Pascal
  • Planned on doing an apprenticeship computer programming
  • Went to University and got a CS degree
  • How critical do you think a CS degree is?
  • Having a CS degree helps you to pick up things faster
  • How did you get into JavaScript?
  • Did some website development in the beginning of his career
  • Java
  • Dojo and JavaScript MVC
  • Works a lot with React Native now
  • What products have you worked on that you’re proud of?
  • Feathers JS
  • How did you come around to creating this?
  • In-server architecture idea at university
  • What are you working on now?
  • mySam
  • And much, much more!

Links:

Picks

Charles

David




d

JSJ 310: Thwarting Insider Threats with Greg Kushto

Panel:

  • Charles Max Wood
  • Cory House
  • AJ O’Neal
  • Aimee Knight

Special Guests: Greg Kushto

In this episode, the JavaScript Jabber panelists discuss thwarting insider threats with Greg Kushto. Greg is the vice president of sales engineering for Force 3 and has been focused on computer security for the last 25 years. They discuss what insider threats are, what the term includes, and give examples of what insider threats look like. They also touch on some overarching principles that companies can use to help prevent insider threats from occurring.

In particular, we dive pretty deep on:

  • Greg intro
  • Insider threats are a passion of his
  • Most computer attacks come from the inside of the company
  • Insider threats have changed over time
  • What does the term “insider threats” include?
  • Using data in an irresponsible manner
  • Who’s fault is it?
  • Blame the company or blame the employee?
  • Need to understand that insider threats don’t always happen on purpose
  • How to prevent insider threats
  • Very broad term
  • Are there some general principles to implement?
  • Figure out what exactly you are doing and documenting it
  • Documentations doesn’t have to be a punishment
  • Know what data you have and what you need to do to protect it
  • How easy it is to get hacked
  • Practical things to keep people from clicking on curious links
  • The need to change the game
  • Fighting insider threats isn’t fun, but it is necessary
  • And much, much more!

Links:

Picks:

Charles

Cory

  • Plop
  • VS code sync plugin

Aimee

  • Awesome Proposals GitHub

AJ O’Neal

Greg




d

MJS 058: Dean J Sofer

Panel: Charles Max Wood

Guest: Dean J Sofer

This week on My JavaScript Story, Charles speaks with Dean J Sofer. Dean currently works at PlayStation now and has recently taken a step back from open source recently. He first got into programming because his Dad was really into technology, and he first started off with scripting and creating portfolio websites. They also talk about his time using Angular and what he is working on now.

In particular, we dive pretty deep on:

  • Episode 95 JSJ
  • Dean intro
  • Realized he prefers working at larger corporations
  • How did you first get into programming?
  • Dove into computers because of his Dad
  • Started with scripting
  • Creating portfolio websites
  • CSS, HTML, and MVC
  • Node scripts
  • Took a visual basic class in High School
  • Liked being able to create things that other people could interact with
  • Cake PHP and Node
  • What was it that made you want to switch over to JavaScript?
  • Angular
  • What was it about Angular that appealed to you?
  • Why he went searching for Angular
  • Angular UI
  • Don’t be zealot when it comes to frameworks
  • Create states in your application
  • Is there anything that you are particularly proud of in your career?
  • And much, much more!

Links:

Picks

Charles

Dean




d

JSJ 312: Hygen with Dotan Nahum

Panel:

  • Charles Max Wood
  • Aimee Knight
  • AJ ONeal

Special Guests: Dotan Nahum

In this episode, the JavaScript Jabber panelists discuss Hygen with Dotan Nahum. Dotan has worked within open source community, where he created Hygen. They talk about what Hygen is, how it came to be, and code generators in general. He was inspired by the Rails generator to create his own generator and took his inspiration from 12 years prior to creating Hygen. They also touch on how to share generators in separate packages and much more!

In particular, we dive pretty deep on:

  • Dotan intro
  • What is Hygen?
  • Code generators
  • Rails in 2006
  • Ruby on Rails 15-minute blog video
  • PHP and Python
  • Carried Rails wow moment with him into creating Hygen
  • Wanted Rails generators everywhere
  • Can you also modify files?
  • Took the good things from Rails generator
  • The fact that front-end apps have architecture is new
  • Redux
  • The solution of generating code
  • A component is a ray of files and assets
  • JavaScript gives you great freedom
  • A standardized way of doing components
  • GraphQL
  • Everything lives in the “day job” project
  • How the Hygen template is formatted
  • Can have a shell action
  • Is there a way to share generators in a separate package?
  • Go
  • And much, much more!

Links:

Picks:

Charles

Aimee

AJ

Dotan




d

JSJ 314: Visual Studio Code and the VS Code Azure Extension with Matt Hernandez and Amanda Silver LIVE at Microsoft Build

Panel:

  • Charles Max Wood

Special Guests: Matt Hernandez and Amanda Silver

In this episode, the JavaScript Jabber/Adventures In Angular, panelists discuss Visual Studio Code and the VS Code Azure Extension with Matt Hernandez and Amanda Silver at Microsoft Build. Amanda is the director of program management at Microsoft working on Visual Studio and VS Code. Matt works on a mix between the Azure and the VS Code team, where he leads the effort to build the Azure extensions in VS code, trying to bring JavaScript developers to Azure through great experiences in VS Code. They talk about what’s new in VS Code, how the Azure extension works, what log points are, and much more!

In particular, we dive pretty deep on:

  • Amanda intro
  • Matt intro
  • What’s new in VS Code?
  • VS Code core
  • VS Live Share
  • Shared Terminal
  • Now have Linux support
  • Live Share is now public to the world for free
  • What would you use Shared Terminal for?
  • Are there other things coming up in VS Code?
  • Constantly responding to requests from the community
  • Live Share works for any language
  • How does the Azure extension work?
  • Azure App Service
  • Storage extension
  • Azure Cosmos DB
  • What are log points?
  • All a part of a larger plan to create a better experience for JS developers
  • Visual debuggers
  • Is it the same plugin to support everything on Azure?
  • Want to target specific services that node developers will take advantage of
  • And much, much more!

Links:

Picks:

Charles

Matt

Amanda




d

MJS 063: Fred Zirdung

Panel: Charles Max Wood

Guest: Fred Zirdung

This week on My JavaScript Story, Charles speaks with Fred Zirdung. Fred is currently the head of curriculum at Hack Reactor, where he essentially builds all of the tools and learning materials for the students there. He is also an instructor and has been there for five years. Prior to that, he worked for multiple companies such as Walmart Labs as well as many small startups. He first got into programming with the Logo programming language in the 6th grade and he had always been interested in working with computers since a young age. They talk about what got him into web programming, what enthralled him about JavaScript and Ruby on Rails, and what he is proud of contributing to the JavaScript community.

In particular, we dive pretty deep on:

  • JavaScript Jabber Episode 76
  • Fred intro
  • How did you first get into programming?
  • Coding professionally for 20+ years
  • Coding prior to college graduation
  • Logo programming language
  • QNX operating system
  • Were you always interested in programming?
  • Always interested in computers
  • Commodore 64
  • Basic programming in high school
  • Programming didn’t click for him until high school
  • In college when the web became popular
  • Computer engineering degree in college
  • What was it that appealed to you about software over hardware?
  • Software vs hardware
  • Embedded systems software
  • How did you get into web programming?
  • Dolby Laboratories
  • What technologies got you excited?
  • JavaScript, Perl, and Ruby on Rails
  • Loved the flexibility of JS and Rails
  • Found something he could be productive with
  • What are you proud of contributing to the JavaScript community?
  • What are you working on now?
  • And much, much more!

Links:

Picks

Charles

Fred




d

JSJ 316: Visual Studio Code with Rachel MacFarlane and Matt Bierner LIVE at Microsoft Build

Panel:

  • Charles Max Wood

Special Guests: Rachel MacFarlane and Matt Bierner

In this episode, the JavaScript Jabber panelists discuss Visual Studio Code with Rachel MacFarlane and Matt Bierner, who are both developers on Visual Studio Code. They talk about what the workflow at Visual Studio Code looks like, what people can look forward to coming out soon,  and how people can follow along the VS Code improvements on GitHub and Twitter. They also touch on their favorite extensions, like the Docker extension and the Azure extension and their favorite VS Code features.

In particular, we dive pretty deep on:

  • Rachel and Matt intro
  • Month to month workflow of Visual Studio Code
  • VS Code JavaScript, TypeScript, and Mark Down support
  • Working on GitHub and within the community
  • Check out new features incrementally with insiders
  • Community driven work
  • What is coming out in Visual Studio Code?
  • GitHub helps to determine what they work on
  • Working on Grid View
  • Improved settings UI
  • Highlighting unused variables in your code
  • Improvements with JS Docs
  • Dart
  • Visual Studio Extension API
  • How do people follow along with the VS Code improvements?
  • Follow along on GitHub and Twitter
  • Download VS Code Insiders
  • Have a general road map of what the plan is for the year
  • Technical debt week
  • What do you wish people knew about VS Code?
  • Favorite extensions
  • Docker extension and Azure extension
  • And much, much more!

Links:

Sponsors

Picks:

Charles

Rachel

Matt




d

JSJ 318: Cloud-Hosted DevOps with Ori Zohar and Gopinath Chigakkagari LIVE at Microsoft Build

Panel:

  • Charles Max Wood

Special Guests: Ori Zohar and Gopinath Chigakkagari

In this episode, the JavaScript Jabber panelists discuss Cloud-Hosted DevOps with Ori Zohar and Gopinath Chigakkagari at Microsoft Build. Ori is on the product team at VSTS focusing on DevOps specifically on Azure. Gopinath is the group program manager in VSTS primarily working on continuous integration, continuous delivery, DevOps, Azure deployment, etc. They talk about the first steps people should take when getting into DevOps, define DevOps the way Microsoft views it, the advantages to automation, and more!

In particular, we dive pretty deep on:

  • Ori and Gopi intro
  • VSTS – Visual Studio Team Services
  • VSTS gives developers the ability to be productive
  • Developer productivity
  • What’s the first big step people should be taking if they’re getting into DevOps?
  • The definition of DevOps
  • The people and the processes as the most important piece
  • DevOps as the best practices
  • Automating processes
  • What people do when things go wrong is what really counts
  • Letting the system take care of the problems
  • Have the developers work on what they are actually getting paid for
  • Trend of embracing DevOps
  • Shifting the production responsibility more onto the developer’s
  • Incentivizing developers
  • People don’t account for integration
  • Continuous integration
  • Trends on what customers are asking for
  • Safety
  • Docker containers
  • And much, much more!

Links:

Sponsors

Picks:

Charles

Ori

  • Fitbit
  • Pacific Northwest Hiking

Gopinath

  • Seattle, WA




d

JSJ 319: Winamp2-js with Jordan Eldredge

Panel:

  • Charles Max Wood
  • AJ ONeal
  • Aimee Knight
  • Joe Eames

Special Guests: Jordan Eldredge

In this episode, the JavaScript Jabber panelists discuss Winamp2-js with Jordan Eldredge. Jordan is the creator of Winamp2-js and was inspired to create this media player from the old Winamp media player that he used back in the day. They talk about the importance of limitations, the value of having fun side projects, and pushing the boundaries. They also touch on skin parsing, making Webamp an electron app, and more!

In particular, we dive pretty deep on:

  • What is Winamp2-js?
  • The history and future of Winamp
  • WACUP
  • Winamp was the first big mp3 player that you could style
  • Webamp’s features and the technical challenges associated with them
  • Why JavaScript?
  • Creative solutions
  • Limitations of browser and creating something that previously existed
  • The importance of limitations
  • Hadn’t done very much JavaScript prior to this project
  • Originally created with jQuery
  • Led him into a career in JavaScript
  • Pushing the boundaries
  • Skin parsing
  • “Bitrot” and making Winamp skins accessible again
  • The value of side projects, even stupid ones
  • Architecture docs
  • What made you choose React and Redux?
  • Spotiamp (Soptify’s canceled Winamp client)
  • Making Webamp an Electron app
  • Winamp visualizers being ported to the web
  • The domain name webamp.org
  • And much, much more!

Links:

Sponsors

Picks:

Charles

AJ

Aimee

Joe

Jordan




d

JSJ 320: Error Tracking and Troubleshooting Workflows with David Cramer LIVE at Microsoft Build

Panel:

  • Charles Max Wood
  • Alyssa Nicholl
  • Ward Bell

Special Guests: David Cramer

In this episode, the JavaScript Jabber panelists talk to David Cramer about error tracking and troubleshooting workflows. David is the founder and CEO of Sentry, and is a software engineer by trade. He started this project about a decade ago and it was created because he had customers telling him that things were broken and it was hard to help them fix it. They talk about what Sentry is, errors, workflow management, and more!

In particular, we dive pretty deep on:

  • David intro
  • Founder and CEO of Sentry
  • What is Sentry?
  • Working with PHP
  • De-bugger for production
  • Focus on workflow
  • Goal of Sentry
  • Triaging the problem
  • Workflow management
  • Sentry started off as an open-source side project
  • Instrumentation for JavaScript
  • Ember, Angular, and npm
  • Got their start in Python
  • Logs
  • Totally open-source
  • Most compatible with run-time
  • Can work with any language
  • Deep contexts
  • Determining the root cause
  • And much, much more!

Links:

Sponsors

Picks:

Charles

  • Socks as Swag

David




d

JSJ 321: Babel and Open Source Software with Henry Zhu

Panel:

  • Charles Max Wood
  • Aimee Knight
  • AJ ONeal
  • Joe Eames

Special Guests: Henry Zhu

In this episode, the JavaScript Jabber panel talks to Henry Zhu about Babel and open source software. Henry is one of the maintainers on Babel, which is a JavaScript compiler, and recently left this job to work on doing open source full time as well as working on Babel. They talk about where Babel is today, what it actually is, and his focus on his open source career. They also touch on how he got started in open source, his first PR, and more!

In particular, we dive pretty deep on:

  • Henry intro
  • Babel update
  • Sebastian McKenzie was the original creator of Babel
  • Has learned a lot about being a maintainer
  • What is Babel?
  • JavaScript compiler
  • You never know who your user is
  • Has much changed with Babel since Sebastian left?
  • Working on open source
  • How did you get started in pen source?
  • The ability to learn a lot from open source
  • Atrocities of globalization
  • More decentralization from GitHub
  • Gitea and GitLab
  • Gitea installer
  • Open source is more closed now
  • His first PR
  • JSCS
  • Auto-fixing
  • Prettier
  • Learning more about linting
  • You don’t have to have formal training to be successful
  • Codefund.io
  • Sustainability of open source
  • And much, much more!

Links:

Sponsors

Picks:

Charles

Aimee

AJ

Joe

Henry




d

JSJ 322: Building SharePoint Extensions with JavaScript with Vesa Juvonen LIVE at Microsoft Build

Panel:

Charles Max Wood

Special Guests: Vesa Juvonen

In this episode, the JavaScript Jabber panel talks to Vesa Juvonen about building SharePoint extensions with JavaScript. Vesa is on the SharePoint development team and is responsible for the SharePoint Framework, which is the modern way of implementing SharePoint customizations with JavaScript. They talk about what SharePoint is, why they chose to use JavaScript with it, and how he maintains isolation. They also touch on the best way to get started with SharePoint, give some great resources to help you use it, and more!

In particular, we dive pretty deep on:

Links:

Sponsors

Picks:

Charles

Vesa




d

MJS 070: Jerome Hardaway

 

Panel: Charles Max Wood

 

Guest: Jerome Hardaway

 

This week on My JavaScript Story, Charles speaks with Jerome Hardaway. Jerome used to be a panelist on Ruby Rogues and loved the ability to share his knowledge and interact with so many people from the community. He first got into programming by accident when he couldn’t find a job after becoming a veteran. He saw a commercial about job opportunities in coding, ended up finding a book on SQL and taught himself how to program. They talk about where he ran across Ruby on Rails, what he has worked on that he is particularly proud of, what he is doing currently, and more!

In particular, we dive pretty deep on:

  • Jerome’s experience being a panelist on Ruby Rogues
  • Loves being able to reach his goals in a speedy manner
  • Ruby Rogues Episode 279
  • JavaScript Jabber Episode 239
  • How did you first get into programming?
  • In the military during the recession and had trouble finding a job
  • Saw a commercial about coding
  • Taught himself SQL
  • Wordpress
  • Focusing on making Vets Who Code better
  • People would go for products over projects any day
  • Chose Ruby on Rails 
  • Setting himself apart by picking to focus on Ruby on Rails
  • Where did you come across Ruby on Rails?
  • From PHP to Ruby on Rails
  • Ruby
  • Have you found the learning curve has gotten steeper for Rails?
  • Keeping up with the JavaScript community
  • What have you done on Ruby in Rails that you are proud of?
  • Being the right person for the job when you don’t look like it on paper
  • What are you working on now?
  • And much, much more!

 

Links: 

 

Sponsors: 

Picks

Charles 

  • Take some time with the people you care about
  • Mattermost

Jerome




d

JSJ 323: "Building a JavaScript platform that gives you the power to build your own CDN" with Kurt Mackey

Panel:

  • Charles Max Wood
  • AJ ONeal

Special Guests: Kurt Mackey

In this episode, the JavaScript Jabber panel talks to Kurt Mackey about Fly.io. At Fly.io, they are "building a JavaScript platform that gives you the power to build your own CDN." They talk about how Fly.io came to fruition, how CDN caching works, and what happens when you deploy a Fly app. They also touch on resizing images with Fly, how you actually build JavaScript platforms using Fly, and more!

In particular, we dive pretty deep on:

  • Fly.io
  • Building a programmable CDN
  • High level overview of Fly.io
  • How did this project come together?
  • CDNs didn’t work with dynamic applications
  • Has been working on this since 2008
  • Extend application logic to the “edge”
  • Putting burden of JavaScript “nastiest” onto the web server
  • Fly is the proxy layer
  • Getting things closer to visitors and users
  • CDN caching
  • Cache APIs
  • Writing logic to improve your lighthouse score
  • Have you built in resizing images into Fly?
  • Managing assets closer to the user
  • Can you modify your own JavaScript files?
  • What happens when you deploy a Fly app
  • Having more application logic
  • DOM within the proxy
  • Ghost
  • React and Gatsby
  • Intelligently loading client JavaScript
  • How do you build the JavaScript platform?
  • And much, much more!

Links:

Sponsors

Picks:

Charles

AJ

Kurt




d

JSJ 325: Practical functional programming in JavaScript and languages like Elm with Jeremy Fairbank

Panel:

  • Aimee Knight
  • Joe Eames
  • AJ ONeal

Special Guests: Jeremy Fairbank

In this episode, the JavaScript Jabber panel talks to Jeremy Fairbank about his talk Practical Functional Programming. Jeremy is a remote software developer and consultant for Test Double. They talk about what Test Double is and what they do there and the 6 things he touched on in his talk, such as hard to follow code, function composition, and mutable vs immutable data. They also touch on the theory of unit testing, if functional programming is the solution, and more!

In particular, we dive pretty deep on:

  • Jeremy intro
  • Works for Test Double
  • What he means by “remote”
  • What is Test Double?
  • They believe software is broken and they are there to fix it
  • His talk - Practical Functional Programming
  • The 6 things he talked about in his talk
  • Practical aspects that any software engineer is going to deal with
  • Purity and the side effects of programming in general
  • Hard to follow code
  • Imperative VS declarative code
  • Code breaking unexpectedly
  • Mutable data VS immutable data
  • The idea of too much code
  • Combining multiple functions together to make more complex functions
  • Function composition
  • Elm, Elixir, and F#
  • Pipe operator
  • Scary to refactor code
  • Static types
  • The idea of null
  • The theory of unit testing
  • Is functional programming the solution?
  • His approach from the talk
  • And much, much more!

Links:

Sponsors

Picks:

Aimee

AJ

Joe

Jeremy




d

JSJ 326: Conversation with Ember co-creator Tom Dale on Ember 3.0 and the future of Ember

Panel:

  • Joe Eames
  • Aimee Knight
  • AJ ONeal

Special Guests: Tom Dale

In this episode, the JavaScript Jabber panel talks to Tom Dale about Ember 3.0 and the future of Ember. Tom is the co-creator of Ember and is a principle staff engineer at LinkedIn where he works on a team called Presentation Infrastructure. They talk about being in the customer service role, having a collaborative culture, and all the information on Ember 3.0. They also touch on the tendency towards disposable software, the Ember model, and more!

In particular, we dive pretty deep on:

  • How Joe met Tom
  • Programmers as rule breakers
  • The pressure to conform
  • Tom intro
  • Staff engineer at LinkedIn
  • Customer service role
  • Having a way to role improvements out to a lot of different people
  • JavaScript and Ember at LinkedIn
  • Having a collaborative culture
  • All about Ember 3.0
  • Banner feature – there is nothing new
  • Cracked how you develop software in the open source world that has longevity
  • Major competition in Backbone previously
  • The Ember community has never been more vibrant
  • Tendency towards disposable software
  • The idea of steady iteration towards improvement
  • The Ember model
  • Being different from different frameworks
  • Ember adoption rates
  • Python 3
  • Valuable from a business perspective to use Ember
  • Ember community being friendly to newbies
  • How much Ember VS how much JavaScript will a new developer have to learn?
  • And much, much more!

Links:

Sponsors

Picks:

Joe

Aimee

AJ

  • James Veitch

Tom




d

JSJ 327: "Greenlock and LetsEncrypt" with AJ O'Neal

Panel:

  • Charles Max Wood
  • Joe Eames

Special Guests: AJ O'Neal

In this episode, the JavaScript Jabber panel talks to AJ O'Neal about Greenlock and LetsEncrypt. LetsEncrypt is a brand name and is the first of its kind in automated SSL and Greenlock does what Certbot does in a more simplified form. They talk about what led him to create Greenlock, compare Greenlock to Certbot, and what it’s like to use Greenlock. They also touch on Greenlock-express, how they make Greenlock better, and more!

In particular, we dive pretty deep on:

  • Greenlock and LetsEncrypt overview
  • LetsEncrypt is free to get your certificate
  • Why Charles uses LetsEncrypt
  • Wildcard domains
  • Certbot
  • Why he originally created Greenlock
  • Working towards home servers
  • Wanted to get HTTP on small devices
  • Manages a certificate directory
  • Greenlock VS Certbot
  • Greenlock can work stand alone
  • The best use case for Greenlock
  • Excited about how people are using his tool
  • What is it like to use Greenlock?
  • Working on a desktop client
  • Greenlock-express
  • Acme servers
  • CAA record
  • Making Greenlock better by knowing how people are using it
  • Using Greenlock-express
  • Let's Encrypt v2 Step by Step by AJ
  • And much, much more!

Links:

Sponsors

Picks:

Charles

  • Take some time off

AJ




d

JSJ 328: Functional Programming with Ramda with Christine Legge

Panel: 

  • Joe Eames
  • Aimee Knight
  • AJ O'Neal
  • Joe Eames

Special Guests: Christine Legge

In this episode, the JavaScript Jabber panel talks to Christine Legge about functional programming with Ramda. Christine is a front-end software engineer and just recently got a new job in New York working at Google. Ramda is a utility library in JavaScript that focuses on making it easier to write JavaScript code in a functional way. They talk about functional programming and what it is, using Ramda in Redux, and referential transparency. They also touch on why she first got into Ramda, compare Ramda to Lodash and Underscore, and more!

In particular, we dive pretty deep on:

  • Chirstine intro 
  • Works as a front-end software engineer
  • What is Ramda
  • JavaScript
  • Utility library like Lodash and Underscore
  • Lodash and Underscore VS Ramda
  • Functional programming
  • Ramda and Functional programming as a mindset
  • Ramda at ZenHub
  • Ramda with Redux and React
  • What is referential transparency?
  • Why would you use Ramda VS Lodash or Underscore?
  • Why she first got into Ramda
  • Didn’t always want to be a programmer
  • Background in Math
  • Learning functional programming as a new programmer
  • Erlang
  • DrRacket and Java
  • Ramda makes it easy to compose functions
  • Creating clean and reusable code
  • How do you start using Ramda?
  • And much, much more! 

Links:

Sponsors

Picks:

Charles

Aimee

AJ

  • Goat’s Milk

Joe

Christine




d

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

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




d

JSJ 330: “AWS: Amplify” with Nader Dabit

Panel:

  • AJ O’Neal
  • Aimee Knight
  • Joe Eames

Special Guests: Nader Dabit

In this episode, the panel talks with programmer, Nader Dabit, who has been with Amazon’s AWS for the past six months. They discuss the new innovations that Amazon is currently working on, and the exciting new projects that Nader gets to be involved with. Check out this episode to hear all the latest!

Show Topics:

1:45 – There are two main things that Nader works with. Check out this timestamp to see what they are.

3:29 – AJ to Nader: Tell me more about manage cloud. I am not sure about Cognito.

3:56 – Yes, Cognito is used by/through Amazon.

5:06 – What are the other manage cloud services that companies want to offer through the tools you have?

5:12 – Nader answers AJ’s question.

7:30 – Can you give me more specifics on the storage solutions you are offering?

8:03 – Nader answers AJ’s question. People store websites there for example. Frontend developers are using S3 buckets, and they are using the library, which is a storage solution.

9:10 – AJ and Nader are having a dialogue between different situations, and Nader is giving the solutions to those hypothetical situations.

10:17 – AJ: “I am interested in what you are talking about AppSync. Can you tell me how that works?” AJ is picking Nader’s brain about how AppSync works.

11:05 – Nader: “It is a single API layer for a point of entry. You can have multi-data sources.” Nader continues, in detail, answering AJ’s question.

12:36 – AJ: As a frontend developer, it sounds like I will have to become familiar with the backend, too. How is it providing the most value? What is it that I do not have to touch, because I am using this?

15:37 – How would these relations work? As a frontend developer, and I do not want to learn sequel, how would that might look like; currently or in the future? How do you extract that knowledge?

16:18 – Yes, it is not an easy solution to solve. Nader goes into detail about how he would approach this situation.

18:26 – AJ: Are these resolvers written in JavaScript?

22:04 – Acronym fun!

22:45 – Node

23:51 – Summarizing these pasts 20-some-minutes: Off-Storage, AppSync, Landis, and others are what people are using Amplify for. New Question/New Topic: Simplify.

25:45 – AWS MOBILE – is not mobile specific.

26:44 – If you are using Angular, we have a plugin in Angular to help you. We also have that for React and Vue as well.

27:52 – Advertisement

28:56 – What should we be talking about?

29:04 – Let’s talk about Amazon’s Lex, Chat Bot. Nader goes into full detail of this service.

33:52 – Apple T.V.

34:00 – AJ: Sounds like this is more platform/ more agnostic than getting different things to come together, and the Microsoft one is more hybrid and the Amazon one is more open?

35:13 – Joe, let’s go back to what you had to ask.

35:28 – Nader, you talked about PUSH notifications earlier. What is Pub/Sub?

36:30 – Is this like traditional hooks? Or custom?

37:25 – What is the “stuff” that gets you up in the morning and gets you excited to go to work at AWS?

38:40 – Nader: I really had no desire to change career paths, but it happened.

41:30 – AJ: I totally agree with the idea in that finding the common patterns, so that way someone on the lower-level can participate. AJ wants a platform that is open or purchase that can offer some of these benefits. It could be open-source or you used to buy the different tools.

43:27 AJ: What about for the hobbyist?

43:40 – Nader: I agree, that would be really nice. I can’t think of any free services that would be nice.

44:03 AJ – Not free in “free,” but “free” towards the idea of “free speech.” They would all be available and you get to choose what works well for you.

45:00 – SHOUTOUT to LISTENERS: Have an idea about this? Shoot the panel an e-mail!

45:33 – Hopefully this opens the listeners’ eyes to what’s out there.

45:48 – Cloud services.

46:55 – Innovation follows niche markets. When something gets big and established, innovation comes to a plateau. The innovation will develop in a new economic area like hydraulics. AJ thinks a niche will develop.

49:03 – Is there anything, Dabit, which you would like to talk about?

49:15 – Can we talk about AI as a service?

51:10 – Nader saw a demonstration recently.

52:26 – Hearing these implications is so cool, but when it comes to ML a panelist dabbled a little bit. He watched some videos, unless you want to devote a year or two to learning it then it’s too complex to put together. Do you have to be genius-level to get through?

53:29 – ML you are passing data. Nader is not quite sure.

56:00 Nader just did a blog post  check-it-out!

56:49 – Let’s do Picks!

56:50 – Advertisement

Links:

Sponsors:

Picks:

AJ O’Neal

Joe Eames

Nader Dabit




d

JSJ 331: “An Overview of JavaScript Testing in 2018” with Vitali Zaidman

Panel:

Special Guests: Vitali Zaidman

In this episode, the panel talks with programmer, Vitali Zaidman, who is working with Software Solutions Company. He researches technologies and starts new projects all the time, and looks at these new technologies within the market. The panel talks about testing JavaScript in 2018 and Jest.

Show Topics:

1:32 – Chuck: Let’s talk about testing JavaScript in 2018.

1:53 – Vitali talks about solving problems in JavaScript.

2:46 – Chuck asks Vitali a question.

3:03 – Vitali’s answer.

3:30 – Why Jest? Why not Mocha or these other programs?

3:49 – Jest is the best interruption of what testing should look like and the best practice nowadays. There are different options, they can be better, but Jest has this great support from their community. There are great new features.

4:31 – Chuck to Joe: What are you using for testing nowadays?

4:43 – Joe: I use Angular, primarily.

6:01 – Like life, it’s sometimes easier to use things that make things very valuable.

7:55 – Aimee: I have heard great things about Cypress, but at work we are using another program.

8:22 – Vitali: Check out my article.

8:51 – Aimee: There are too many problems with the program that we use at work.

9:39 – Panelist to Vitali: I read your article, and I am a fan. Why do you pick Test Café over Cypress, and how familiar are you with Cypress? What about Selenium and other programs?

10:12 – Vitali: “Test Café and Cypress are competing head-to-head.”

Listen to Vitali’s suggestions and comments per the panelists’ question at this timestamp.

11:25 – Chuck: I see that you use sign-on...

12:29 – Aimee: Can you talk about Puppeteer? It seems promising.

12:45 – Vitali: Yes, Puppeteer is promising. It’s developed by Google and by Chrome. You don’t want to use all of your tests in Puppeteer, because it will be really hard to do in other browsers.

13:26: Panelist: “...5, 6, 7, years ago it was important of any kind of JavaScript testing you had no idea if it worked in one browser and it not necessarily works in another browser. That was 10 years ago. Is multiple browsers testing as important then as it is now?

14:51: Vitali answers the above question.

15:30 – Aimee: If it is more JavaScript heavy then it could possibly cause more problems.

15:56 – Panelist: I agree with this.

16:02 – Vitali continues this conversation with additional comments.

16:17 – Aimee: “I see that Safari is the new Internet Explorer.”

16:23: Chuck: “Yes, you have to know your audience. Are they using older browsers? What is the compatibility?”

17:01 – Vitali: There are issues with the security. Firefox has a feature of tracking protection; something like that.

17:33 – Question to Vitali by Panelist.

17:55 – Vitali answers the question.

18:30 – Panelist makes additional comments.

18:43 – If you use Safari, you reap what you sow.

18:49 – Chuck: I use Chrome on my iPhone. (Aimee does, too.) Sometimes I wind up in Safari by accident.

19:38 – Panelist makes comments.

19:52 – Vitali tells a funny story that relates to this topic.

20:45 – There are too many standards out there.

21:05 – Aimee makes comments.

21:08 – Brutalist Web Design. Some guy has this site – Brutalist Web Design – where he says use basic stuff and stop being so custom. Stop using the web as some crazy platform, and if your site is a website that can be scrolled through, that’s great. It needs to be just enough for people to see your content.

22:16 – Aimee makes additional comments about this topic of Brutalist Web Design.

22:35 – Panelist: I like it when people go out and say things like that.

22:45 – Here is the point, though. There is a difference between a website and a web application. Really the purpose is to read an article.

23:37 – Vitali chimes in.

24:01 – Back to the topic of content on websites.

25:17 – Panelist: Medium is very minimal. Medium doesn’t feel like an application.

26:10 – Is the website easy enough for the user to scroll through and get the content like they want to?

26:19 – Advertisement.

27:22 – See how far off the topic we got?

27:31 – These are my favorite conversations to have.

27:39 – Vitali: Let’s talk about how my article got so popular. It’s an interesting thing, I started researching “testing” for my company. We wanted to implement one of the testing tools. Instead of creating a presentation, I would write first about it in Medium to get feedback from the community as well. It was a great decision, because I got a lot of comments back. I enjoyed the experience, too. Just write about your problem in Medium to see what people say.

28:48 – Panelist: You put a ton of time and energy in this article. There are tons of links. Did you really go through all of those articles?

29:10 – Yes, what are the most permanent tools? I was just reading through a lot of comments and feedback from people. I tested the tools myself, too!

29:37 – Panelist: You broke down the article, and it’s a 22-minute read.

30:09 – Vitali: I wrote the article for my company, and they ad to read it.

30:24 – Panelist: Spending so much time – you probably felt like it was apart of your job.

30:39 – Vitali: I really like creating and writing. It was rally amazing for me and a great experience. I feel like I am talented in this area because I write well and fast. I wanted to express myself.

31:17 – Did you edit and review?

31:23 – Vitali: I wrote it by myself and some friends read it. There were serious mistakes, and that’s okay I am not afraid of mistakes. This way you get feedback.

32:10 – Chuck: “Some people see testing in JavaScript, and people look at this and say there are so much here. Is there a place where people can start, so that way they don’t’ get too overwhelmed? Is there a way to ease into this and take a bite-size at a time?”

32:52 – Vitali: “Find something that works for them. Read the article and start writing code.”

He continues this conversation from here on out.

34:03 – Chuck continues to ask questions and add other comments.

34:16 – Vitali chimes-in. 

34:38 – Chuck. 

34:46 – Vitali piggybacks off of Chuck’s comments.

36:14 – Panelist: Let’s go back to Jest. There is a very common occurrence where we see lots of turn and we see ideas like this has become the dominant or the standard, a lot of people talk about stuff within this community. Then we get this idea that ‘this is the only thing that is happening.’ Transition to jQuery to React to... With that context do you feel like Jest will be a dominant program? Are we going to see Jest used just as common as Mocha and other popular programs?

38:15 – Vitali comments on the panelist’s question.

38:50 – Panelist: New features. Are the features in Jest (over Jasmine, Mocha, etc.) so important that it will drive people to it by itself?

40:30 – Vitali comments on this great question.

40:58 – Panelist asks questions about features about Jest.

41:29 – Vitali talks about this topic.

42:14 – Let’s go to picks!

42:14 – Advertisement.

Links:

Sponsors:

Picks:

AJ O’Neal

Joe Eames

Aimee Knight

Chuck

Vitali




d

JSJ 332: “You Learned JavaScript, Now What?” with Chris Heilmann

Panel:

Special Guests: Chris Heilmann

In this episode, the panel talks with programmer, Chris Heilmann. He has written books about JavaScript, in addition to writing a blog about it and is an educator about this program.  He currently resides in Berlin, Germany. Let’s welcome our special guest and listen to today’s episode!

Show Topics:

2:19 – Chuck talks.

2:41 – Chris: He has talked about JavaScript in Berlin upon an invitation. You can get five different suggestions about how to use JavaScript. The best practices, I have found, are on the projects I am on now. JavaScript was built in ten days. My goal is to help people navigate through JavaScript and help them feel not disenfranchised. 

5:47 – Aimee: The overall theme is...

5:54 – Panelist: I really like what you said about helping people not feeling disenfranchised.

6:47 – Chris: There is a lot of peer pressure at peer conferences

7:30 – Aimee chimes in with some comments.

7:50: Chris: I think we need to hunt the person down that put...

8:03 – Panelist: A good point to that is, I try to avoid comments like, “Well, like we ALL know...”

8:27 – Chris: There are things NOT to say on stage. It happens, but we don’t want to say certain things while we are teaching people. We are building products with different groups, so keep that in mind.

9:40 – Aimee: My experience in doing this is that I have found it very rewarding to share embarrassing experiences that I’ve had. My advice would to tell people to let their guard down. It’s encouraging for me.

10:26 – Chris: It helps to show that you are vulnerable and show that you are still learning, too. We are all learning together. 90% of our job is communicating with others.

11:05 – Chuck: Now, I do want to ask this...

11:35 – Chris answers.

12:24 – What makes you say that? (Question to Chris)

12:25 – Chris answers.

13:55 – Chuck: The different systems out there are either widely distributed or...

You will have to work with other people. There is no way that people can make that on their own. If you can’t work with other people, then you are a hindrance.

14:31 – Aimee chimes in.

14:53 – Chris: They have to be very self-assured. I want to do things that are at the next level. Each developer has his or her own story. I want to move up the chain, so I want to make sure these developers are self-assured.

16:07 – Chris: Back to the article...

18:26 – Chuck: Yes, I agree. Why go and fight creating a whole system when it exists.

18:54 – Chris chimes in with some comments.

19:38 – Panelist: I still use console logs.

19:48 – Chris: We all do, but we have to...

19:55 – Aimee: In the past year, I can’t tell you how much I rely on this. Do I use Angular? Do I learn Vue? All those things that you can focus on – tools.

10:21 – Chris: We are talking about the ethics of interfaces. Good code is about accessibility, privacy and maintainability, among others. Everything else is sugar on top. We are building products for other people.

22:10 – Chuck: That is the interesting message in your post, and that you are saying: having a deep, solid knowledge of React (that is sort of a status thing...). It is other things that really do matter. It’s the impact we are having. It’s those things that will make the difference. Those things people will want to work with and solves their problems.

23:00 – Chris adds his comments. He talks about Flash.

24:05 – Chris: The librarian motto: “I don’t know everything, but I can look “here” to find the answer.” We don’t know everything.

24:31 – Aimee: Learn how to learn.

24:50 – Chris: There is a big gap in the market. Scratch is a cool tool and it’s these puzzle pieces you put together. It was hard for me to use that system. No, I don’t want to do that. But if you teach the kids these tools then that’s good. 

24:56 – Chuck: Here is the link, and all I had to do was write React components.

26:12 – Chris: My first laptop was 5x more heavy then this one is. Having access to the Internet is a blessing.

27:24 – Advertisement

28:21 – Chuck: Let’s bring this back around. If someone has gone through boot camp, you are recommending that they get use to know their editor, debugging, etc.

Chris: 28:47 – Chris: Yes, get involved within your community. GitHub. This is a community effort. You can help. Writing code from scratch is not that necessary anymore. Why rebuild something if it works. Why fix it if it’s not broken?

31:00 – Chuck talks about his experience.

31:13 – Chris continues his thoughts.

Chris: Start growing a community.

32:01 – Chuck: What ways can people get involved within their community?

32:13 – Chris: Meetup. There are a lot of opportunities out there. Just going online and seeing where the conferences

34:08 – Chris: It’s interesting when I coach people on public speaking. Sharing your knowledge and learning experience is great!

34:50 – Chuck: If they are learning how to code then...by interacting with people you can get closer to what you need/want.

35:30 – Chris continues this conversation.

35:49 – Chris: You can be the person that helps with x, y, z. Just by getting your name known then you can get a job offer.

36:23 – Chuck: How do you find out what is really good content – what’s worth your time vs. what’s not worth your time?

36:36 –Chris says, “That’s tricky!” Chris answers the question.

37:19: Chris: The best things out there right now is...

38:45 – Chuck: Anything else that people want to bring up?

39:00 – Chris continues to talk.

42:26 – Aimee adds in her thoughts.

Aimee: I would encourage people to...

43:00 – Chris continues the conversation.

Chris: Each project is different, when I build a web app is different then when I build a...

45:07 – Panelist: I agree. You talked about abstractions that don’t go away. You use abstractions in what you use. At some point, it’s safe to rly on this abstraction, but not this one. People may ask themselves: maybe CoffeeScript wasn’t the best thing for me.

46:11 – Chris comments and refers to jQuery.

48:58 – Chris continues the conversation.

Chris: I used to work on eight different projects and they worked on different interfaces. I learned about these different environments. This is the project we are now using, and this will like it for the end of time. This is where abstractions are the weird thing. What was the use of the abstraction if it doesn’t have longevity? I think we are building things too soon and too fast.

51:04 – Chris: When I work in browsers and come up with brand new stuff.

52:21 – Panelist: Your points are great, but there are some additional things we need to talk about. Let’s take jQuery as an example. There is a strong argument that if you misuse the browser...

53:45 – Chris: The main issue I have with jQuery is that people get an immediate satisfaction. What do we do besides this?

55:58 – Panelist asks Chris further questions.

56:25 – Chris answers.

Chris: There are highly frequent websites that aren’t being maintained and they aren’t maintainable anymore.

57:09 – Panelist: Prototypes were invented because...

57:51 – Chris: It’s a 20/20 thing.

58:04 – Panelist: Same thing can be said about the Y2K.

58:20 – Panelist: Yes, they had to solve that problem that day. The reality is...

58:44 – Chris: We learned from that whole experience.

1:00:51 – Chris: There was a lot of fluff around it.

1:01:35 – Panelist: Being able to see the future would be a very helpful thing.

1:01:43 – Chris continues the conversation.

1:02:44 – Chuck: How do people get ahold of you?

1:03:04 – Twitter is probably the best way.

1:03:32 – Let’s go to picks!

1:03:36 - Advertisement

Links:

Sponsors:

Picks :

Amiee

AJ

Joe

Charles

Chris




d

MJS 078: Steve Edwards

Panel: Charles Max Wood

Guest: Steve Edwards

This week on My JavaScript Story, Charles speaks with Steve Edwards who is a website developer and lives in Portland, OR. He is a senior developer at an international corporation called, Fluke. Today’s main topic of conversation is Drupal. Check out the episode to hear about this and much more! 

In particular, we dive pretty deep on:

1:05 – Chuck: Welcome! I appreciate your contributions with hooking me up with some people.

2:22 – Started in IT in 1995.

2:38 – Chuck: How did you get into software development?

2:46 – Steve: In high school not much courses on it. Then in college did some programming there. After college, I was supposed to get married. I was thinking finance. Never nailed down what I wanted to do. Called Bank of America in 1991 – called them. He said let me put in touch with someone. One of the things I got to put classes on “how does this system work.” I got into the banking job and realized not for me. Did realize that I do like teaching. Got software support for another bank. My banking software experience got me the job. We did interfaces – data from PC base to main systems like IBM, etc. I dealt with the source. Same time, I was a diehard racket ball player; on the board state organization. Someone organizing a website for group through Front Page. Hey do you want to take this over? Got to know Front Page. It’s painful to think about it. Same time a position opened up. I got PHP books, and created a new website for our racket ball organization. Off-time learning this. At work I used other tools for the job. That’s where I got into programming and developing. I was an analyst and wanted to program. I created a website from nothing in 2004 for a mountain bike shop. Learned a lot about PHB – and learned that I never want to build anything from scratch ever again. 2006 I start looing for a CMS and I got into some evaluations and got into Drupal. Now I got to do fulltime Drupal. Some guys left the company and got to do Drupal, also. There’s a book on basic JavaScript, and haven’t gotten into it. It’s nice because since 2009 I have been working from home. 3-4 years ago I heard about Angular and how it was used in Drupal. Weather.com – they did things with Angular. I started diving into Angular. Then a small project – worked with Travis then we started with our new ideas/projects. Then I went and took some Angular classes, and I was working on my project. I had these questions. They said that this was used for a one-time use. Okay, I had to figure it out. Travis one day asked: What are you doing? I showed him with the calendar and integrated with... Travis asked if I wanted to go to work with him. Then the past few years I have been working with Vue.js.

12:41 – Chuck: In 2006 I got into Ruby on Rails. I got into jQuery and did some backbone and progressed the same way you did. Worked with Angular and Vue. There is a lot going on there. Interesting to see how this has all progressed. At what point did you decide – JavaScript is the focus to some of these projects?

13:42 – Steve: Lightweight functions.

15:25 – Advertisement – Coder Job

16:05 – Chuck: What are you proud of with the work you’ve done?

16:20 – Steve: Article - All the different projects that it looks like for a developer – I have 5 or 6 projects that I want to get to that I haven’t had time to get to.

Steve talks about one of the projects he is working on.

17:55 – Chuck: What are you working on now?

17:59 – Steve: My company, Fluke, we have a cool setup. It has a three-legged system. In that we have all the background data, another for digital assets, and...

Steve: It’s so fast – I am trying to enhance it to make it even faster.

Another thing that I am working on is that we have a scheduling website for the fire department I am apart of. Band-Aids and glue hold it together. I am trying to work with a calendar so it can integrate – take over the data of a cell and put y stuff in there.  It would be efficient so I don’t get all these errors with this old system. It would give me grand control.

20:16 – Steve: I want to get more and more into JavaScript. The one thing that I like about my story is that you did in your spare time. That’s how I got into Google. Multiple years working up late, working with people and different modules. I got good enough (in 2009) and got good enough – it got me into the door.

21:13 – Chuck talks about his course on how to get a job.

Chuck: All you have to do to level-up is to put into the time. Working on open-source project

21:56 – Steve: Learning – find a project you want to do. What is something you want to tackle? What and how can you get it done with your tools? Stack overflow, or Slack questions. We started a new Meetup (last meeting was last month) and people do Vue on a regular basis. Slack room. That’s how I got into...

Personal experience you can help people and find

23:00 – Chuck: People want to level-up for different reasons. Whether you are trying to get better, or learn new things – getting to know people and having these conversations will shape your thinking.

23:33 – Steve: Also, networking.

24:10 – Chuck: I wasn’t happy where I was at and talked to people. Hey – what else is out there?

24:37 – Chuck: Any recommendations?

24:42 – Steve: The amount of courses that are out there, and it can be overwhelming. Find courses when they go on sale. I found some courses that were only $10.00. There is stuff that is free and things that you can pay for. It can be inexpensive.

26:38 – Chuck: I do the same thing. I wait for things to go on sale first. I’ve done that with courses. However you learn it. Some people work through a book and for others that’s not the way. Sometimes I will start with a video course then I get frustrated. It helps, though. There are different ways to do it. Go do it.

27:39 – Steve: There is a lot of good jobs – get your foot in the door as a junior guy. Getting the real-life experience.

28:15 – Chuck: How do people get ahold of you?

28:18 – Steve: Twitter, GitHub, wherever...

28:48 – Picks!

28:53 – Advertisement for Digital Ocean

Links:

Sponsors:

Picks:

Charles

Steve Edwards




d

JSJ 333: “JavaScript 2018: Things You Need to Know, and a Few You Can Skip” with Ethan Brown

Panel:

Special Guests: Ethan Brown

In this episode, the panel talks with Ethan Brown who is a technological director at a small company. They write software to facilitate large public organizations and help make projects more effective, such as: rehabilitation of large construction projects, among others. There is a lot of government work through the endeavors they encounter. Today, the panel talks about his article he wrote, and other topics such as Flex, Redux, Ruby, Vue.js, Automerge, block chain, and Elm. Enjoy!

Show Topics:

2:38 – Chuck: We are here to talk about the software side of things.

Let’s dive into what you are looking at mid-year what we need to know for 2018. You wrote this.

3:25 – Ethan: I start off saying that doing this podcast now, how quickly things change. One thing I didn’t think people needed to know was symbols, and now that’s changed. I had a hard time with bundling and other things. I didn’t think the troubles were worth it. And now a couple of moths ago (an open source project) someone submitted a PR and said: maybe we should be using symbols? I told them I’ve had problems in the past. They said: are you crazy?!

It’s funny to see how I things have changed.

4:47 – Panel: Could you talk about symbols?

4:58 – Aimee: Are they comparable to Ruby?

5:05 – Ethan talks about what symbols are and what they do!

5:52 – Chuck: That’s pretty close to how that’s used in Ruby, too.

6:04 – Aimee: I haven’t used them in JavaScript, yet. When have you used them recently?

6:15 – Ethan answers the question.

7:17 – Panelist chimes in.

7:27 – Ethan continues his answer. The topic of “symbols” continues. Ethan talks about Automerge.

11:18 – Chuck: I want to dive-into what you SHOULD know in 2018 – does this come from your experience? Or how did you drive this list?

11:40 – Ethan: I realize that this is a local business, and I try to hear what people are and are not using. I read blogs. I think I am staying on top of these topics being discussed.

12:25 – Chuck: Most of these things are what people are talking.

12:47 – Aimee: Web Assembly. Why is this on the list?

12:58 – Ethan: I put on the list, because I heard lots of people talk about this. What I was hearing the echoes of the JavaScript haters. They have gone through a renaissance. Along with Node, and React (among others) people did get on board. There are a lot of people that are poisoned by that. I think the excitement has died down. If I were to tell a story today – I would

14:23 – Would you put block chain on there? And AI?

14:34 – Panel: I think it’s something you should be aware of in regards to web assembly. I think it will be aware of. I don’t know if there is anything functional that I could use it with.

15:18 – Chuck: I haven’t really played with it...

15:27 – Panel: If you wrote this today would you put machine learning on there?

15:37 – Ethan: Machine Learning...

16:44 – Chuck: Back to Web Assembly. I don’t think you were wrong, I think you were early. Web Assembly isn’t design just to be a ... It’s designed to be highly optimized for...

17:45 – Ethan: Well-said. Most of the work I do today we are hardly taxing the devices we are using on.

18:18 – Chuck and panel chime in.

18:39 – Chuck: I did think the next two you have on here makes sense.

18:54 – Panel: Functional programming?

19:02 – Ethan: I have a lot of thoughts on functional programming and they are mixed. I was exposed to this in the late 90’s. It was around by 20-30 years. These aren’t new. I do credit JavaScript to bring these to the masses. It’s the first language I see the masses clinging to. 10 years ago you didn’t see that. I think that’s great for the programming community in general. I would liken it to a way that Ruby on Rails really changed the way we do web developing with strong tooling. It was never really my favorite language but I can appreciate what it did for web programming. With that said...(Ethan continues the conversation.)

Ethan: I love Elm.

21:49 – Panelists talks about Elm.

*The topic diverts slightly.

22:23 – Panel: Here’s a counter-argument. Want to stir the pot a little bit.

I want to take the side of someone who does NOT like functional programming.

24:08 – Ethan: I don’t disagree with you. There are some things I agree with and things I do disagree with. Let’s talk about Data Structures. I feel like I use this everyday. Maybe it’s the common ones. The computer science background definitely helps out.

If there was one data structure, it would be TREES. I think STACKS and QUEUES are important, too. Don’t use 200-300 hours, but here are the most important ones. For algorithms that maybe you should know and bust out by heart.

27:48 – Advertisement for Chuck’s E-book Course: Get A Coder Job

28:30 – Chuck: Functional programming – people talk bout why they hate it, and people go all the way down and they say: You have to do it this way....

What pay things will pay off for me, and which things won’t pay off for me? For a lot of the easy wins it has already been discussed. I can’t remember all the principles behind it. You are looking at real tradeoffs.  You have to approach it in another way. I like the IDEA that you should know in 2018, get to know X, Y, or Z, this year. You are helping the person guide them through the process.

30:18 – Ethan: Having the right tools in your toolbox.

30:45 – Panel: I agree with everything you said, I was on board, until you said: Get Merge Conflicts.

I think as developers we are being dragged in...

33:55 – Panelist: Is this the RIGHT tool to use in this situation?

34:06 – Aimee: If you are ever feeling super imposed about something then make sure you give it a fair shot, first.

34:28 – That’s the only reason why I keep watching DC movies.

34:41 – Chuck: Functional programming and...

I see people react because of the hype cycle. It doesn’t fit into my current paradigm. Is it super popular for a few months or...?

35:10 – Aimee: I would love for someone to point out a way those pure functions that wouldn’t make their code more testable.

35:42 – Ethan: Give things a fair shake. This is going back a few years when React was starting to gain popularity. I had young programmers all about React. I tried it and mixing it with JavaScript and...I thought it was gross. Everyone went on board and I had to make technically decisions. A Friend told me that you have to try it 3 times and give up 3 times for you to get it. That was exactly it – don’t know if that was prophecy or something. This was one of my bigger professional mistakes because team wanted to use it and I didn’t at first. At the time we went with Vue (old dog like me). I cost us 80,000 lines of code and how many man hours because I wasn’t keeping an open-mind?

37:54 – Chuck: We can all say that with someone we’ve done.

38:04 – Panel shares a personal story.

38:32 – Panel: I sympathize because I had the same feeling as automated testing. That first time, that automated test saved me 3 hours. Oh My Gosh! What have I been missing!

39:12 – Ethan: Why should you do automated testing? Here is why...

You have to not be afraid of testing. Not afraid of breaking things and getting messy.

39:51 – Panel: Immutability?

40:00 – Ethan talks about this topic.

42:58 – Chuck: You have summed up my experience with it.

43:10 – Panel: Yep. I agree. This is stupid why would I make a copy of a huge structure, when...

44:03 – Chuck: To Joe’s point – but it wasn’t just “this was a dumb way” – it was also trivial, too. I am doing all of these operations and look my memory doesn’t go through the roof. They you see it pay off. If you don’t see how it’s saving you effort, at first, then you really understand later.

44:58 – Aimee: Going back to it being a functional concept and making things more testable and let it being clearly separate things makes working in code a better experience.

As I am working in a system that is NOT a pleasure.

45:31 – Chuck: It’s called legacy code...

45:38 – What is the code year? What constitutes a legacy application?

45:55 – Panel: 7 times – good rule.

46:10 – Aimee: I am not trolling. Serious conversation I was having with them this year.

46:27 – Just like cars.

46:34 – Chuck chimes in with his rule of thumb.

46:244 – Panel and Chuck go back-and-forth with this topic.

47:14 – Dilbert cartoons – check it out.

47:55 – GREAT QUOTE about life lessons.

48:09 – Chuck: I wish I knew then what I know now.

Data binding. Flux and Redux. Lots of this came out of stuff around both data stores and shadow domes. How do you tease this out with the stuff that came out around the same time?

48:51 – Ethan answers question.

51:17 – Panel chimes in.

52:01 – Picks!

Links:

Sponsors:

Picks:

Aimee

Joe

Charles

Ethan




d

JSJ 334: “Web Performance API” with Dan Shappir

Panel:

Special Guests: Dan Shappir (Tel Aviv)

In this episode, the panel talks with Dan Shappir who is a computer software developer and performance specialist at Wix.com. As Dan states, his job is to make 100 million websites (hosted on the Wix platform) load and execute faster! Past employment includes working for companies, such as: Ericom, Ericom Software, and BackWeb. He studied at Technion Institute of Management and currently lives in Tel Aviv, Israel. The panel talks about web performance API among other things. Check it out!

Show Topics:

1:29 – Charles: Let us know who you are and why you’re famous!

1:39 – “Hello!” from Dan Shappir.

2:25 – Charles: You should say that you go to EACH site EVERY day out of the millions of sites out there.

2:53 – Charles: My mom mentioned Wix to me at first. My mom teaches High School Math.

3:16 – Dan: Yes that is our mission statement. That everyone can get a website without the knowledge of how to build a website.

3:52 – Aimee makes her comments.

3:59 – Dan: On our platform we try to offer people flexibility. There are bounds and limits, but people can do their very own thing, though. To make Wix faster because as we add more features and functionality that is our goal.

4:40 – Chuck: Okay, I know how to make X perform a little bit better. You are looking at a platform that controls TONS of sites, how do you even go about that?

4:58 – Dan: It is more difficult then that. We have millions of users leveraging the platform but there are a lot of developers in Wix who are developing the platform. I don’t think anyone at Wix has a total grasp of the complexity of the platform that we built. We have hundreds of frontend people working on our platform. All of them have pieces to the kingdom. We have processes in place with code reviews and whatnot, but there is so much going on. There is a change every 2 minutes, 24/7. We need to make sure progressing instead of regressing. 

6:54 – Aimee: I think it was interesting in one of the links you sent over. Because you know when something is getting worse you consider that a bug.

7:15 – Dan: It is more than a bug because if we see regression in performance then that is a problem. I can literally see any part of the organization and say, “stop” if it will

7:57 – Chuck: We are talking about performance, but what does that mean? What measures are there?

8:15: Dan: We are looking at performance can mean different things in different contents. User sites, for example, most important aspect is load time. How quickly the page loads and gets open to the viewer to that specific site. When they click something they want it instantly and no drag time. It does change in different contexts.

9:58 – Chuck: People do talk about load time. People have different definitions of it.

10:12: Dan: Excellent question. When you look at the different sites through Wix. Different people who build sites – load time can mean something else to everybody. It can mean when you see the MAIN text or the MAIN image. If it’s on an ECON site then how soon can they purchase or on a booking site, how long can the person book X product.

I heard someone at a conference say that load time is when: HERO TEXT And HERO IMAGE are displayed.

12:14 – Chuck: What is faster React or Vue?

12:21 – NEW HOST: Not sure. It all depends.

12:34 – Dan: We are big into React. We are one of the big React users outside of Facebook. I joined Wix four years ago, and even back then we were rebuilding our framework using React. One of our main modifications is because we wanted to do server-side rendered.

13:27 – Christopher asks Dan a question.

14:16 – Dan: We are in transition in this regard. Before we were totally client-site rendered, and that was the case until middle of last year. Then we deployed...

Dan: We are 100% server-side rendered now. Some things we are still using JavaScript. We have another project going on now and it’s fully CSS, and little JavaScript as possible. What you might want to do with that site is...

You might get in a few months every Wix site will be visible even if JavaScript is disabled.

16:26 – Aimee adds in her comments and observations to this topic.

16:55 – Dan: We don’t want things displayed incorrectly before it lays out. We hide the content while it’s downloading then make it visible. They lay-outing are done faster, because...

17:44 – Christopher asks Dan a question.

18:04 – Dan: I got into API...

Either you are moving forward or are you moving back. AKA – You are either progressing or regressing.

Different stages:

1.) Development stage

2.) Pre-Production (automated tools that check the performance with specific use cases)

3.) Check it out!

It’s beneficial to use these APIs.

21:11 – Christopher: What is performance APIs?

21:38 – Dan: There is a working group – Todd from Microsoft and others who are exposing the information (that is available in the browser) out into the browser. When the browser downloads a certain source (image, font, etc.) it can measure the various stages of downloading that feature.  You have these different sages of downloading this resource. The browser can measure each of these stages and then expose them to you. Basically it’s for the browser to expose this information to you and in a way that is coherent and uniform. It essentially maintains this buffer that puts performance entries sequentially.

Dan continues explaining this topic in detail.

25:55 – Dan: You have this internal buffer...

28:45 – Advertisement – Sentry – They support opensource.

29:39 – Christopher: everything you are saying seems that I can use this or that tab right now...

Why would I prefer the API to something visual, hypothetically?

30:03 – Dan: Three Different Stages. (See above.)

This information is very, very helpful during the developmental stage. Say you got a link from someone...

Dan mentions: Performance.mark

34:04 – Aimee: When you were talking about resource-ends. Many people don’t know what this is. Can you spend 2-3 minutes about how you guys are using these? Are there people can add for big bang for their buck?

34:41 – Dan: This might want to be a topic for its own podcast show.

Dan gives a definition of what a resource-end means.

Go back to fonts as an example.

Pre-connect for example, too.

39:03 – Dan: Like I said, it’s a huge topic.

You have to exercise some care. Bandwidth is limited. Make sure you aren’t blocking other resources that you do need right now.

40:02 – Aimee: Sounds like a lot of great things to tap into. Another question I have is about bundling.

40:27 – Dan: One of the things that we try to do (given that we are depending on the JavaScript we are downloading) we need to download JavaScript content to the client side. It has been shown often that JS is the most impactful resources that you need to download. You really want to be as smart as possible with that. What is even more challenging is the network protocols are changing.

Dan continues to go in-depth about this topic.

Dan: What we have found is that you want to strive to bundle resources together.

44:10 – Aimee: Makes sense.

44:15 – Dan continues talking about this topic.

45:23 – Chuck asks two questions. (First question is now and second question is at 51:32.)

2 Questions:

1. You gather information from web performance AI - What system is that?

45:42 – Dan: I am not the expert in that. I will try not to give misleading information. Actually let me phrase it different. There are 3rd party tools that you can use leverage in your website. IF you are building for commercial reasons I highly recommend that you use performance-monitoring solution. I am not going to advertise one because there are tons out there. We ended up rolling out our own infrastructure because our use case is different than most.

At a conference I talked with a vendor and we talked about...

51:32 – 2nd Question from Charles to Dan: Now you’ve gathered this information now what to you do? What patterns? What do you look for? And how do you decide to optimize things?

54:23 – Chuck: Back to that question, Dan. How should they react to it and what are they looking for

54:41 – Dan: Three main ways: 1.) Generate alerts 2.) See trends over long period of time 3.) Looking at real-time graphs.

Frontend developer pro is that likely being woken up in the middle of the night is lower. We might be looking at the real time graph after we deployed...

57:31 – Advertisement – Get a Coder Job!

58:10 – Picks!

Links:

Sponsors:

Picks:

Aimee:

Chris:

Charles:

Dan




d

JSJ 338: It’s Supposed To Hurt, Get Outside of Your Comfort Zone to Master Your Craft with Christopher Buecheler

Panel:

Special Guests: Christopher Buecheler

In this episode, the panel talks with Christopher Buecheler who is an author, blogger, web developer, and founder of CloseBrace. The panel and Christopher talk about stepping outside of your comfort zone. With a technological world that is ever changing, it is important to always be learning within your field. Check out today’s episode to learn more!

Show Topics:

0:00 – Advertisement: KENDO UI

1:08 – Aimee: Our guest is Christopher Buecheler – tell us about yourself and what you do.

1:22 – Guest: I run a site and help mid-career developers. I put out a weekly newsletter, too.

2:01 – Aimee: It says that you are a fan of “getting comfortable being uncomfortable”?

2:15 – Guest: I am a self-taught developer, so that means I am scrambling to learn new things all the time. You are often faced with learning new things. When I learned React I was dumped into it. The pain and the difficulty are necessary in order to improve. If you aren’t having that experience then you aren’t learning as much as you could be.

3:26 – Aimee: I borrow lessons that I learned from ice-skating to programming.

3:49 – Guest: I started running a few years ago for better health. It was exhausting and miserable at the start and wondered why I was doing it. Now I run 5 times a week, and there is always a level of being uncomfortable, but now it’s apart of the run. It’s an interesting comparison to coding. It’s this idea of pushing through.

5:01 – Aimee: If you are comfortable you probably aren’t growing that much. In our industry you always have to be learning because things change so much!

5:25 – Guest: Yes, exactly. If you are not careful you can miss opportunities.

6:33 – Panel: You have some ideas about frameworks and libraries – one thing that I am always anxious about is being able to make sense of “what are some new trends that I should pay attention to?” I remember interviewing with someone saying: this mobile thing is just a fad. I remember thinking that she is going to miss this opportunity. I am worried that I am going to be THAT guy. How do you figure out what sort of things you should / shouldn’t pay attention to?

7:47 – Guest: It is a super exhausting thing to keep up with – I agree. For me, a lot of what I pay attention to is the technology that has the backing of a multi-million dollar company then that shows that technology isn’t going anywhere, anytime soon. The other thing I would look at is how ACTIVE is the community around it?

9:15 – Panel: Is there a strategic way to approach this? There is so many different directions that you can grow and push yourself within your career? Do you have any kinds of thoughts/tips on how you want your career to evolve?

10:00 – Guest: I am trying to always communicate better to my newsletter audience. Also, a good approach, too, is what are people hiring for? 

11:06 – Aimee: Again, I would say: focus on learning.

11:30 – Panel: And I agree with Aimee – “learn it and learn it well!”

12:01 – Panel: I want to ask Chris – what is CloseBrace?

12:17 – Guest: I founded it in November 2016, and started work on it back in 2013.

14:20 – Panel: It was filled with a bunch of buzz worthy words/title.

14:32 – Guest continues his thoughts/comments on CloseBrace.

16:54 – Panel: How is the growth going?

17:00 – Guest: It is growing very well. I put out a massive, massive tutorial course – I wouldn’t necessarily advice that people do this b/c it can be overwhelming. However, growth this year I have focused on marketing. I haven’t shared numbers or anything but it’s increased 500%, and I am happy about it.

18:05 – Panel: Are you keeping in-house?

18:13 – Guest: I think it would be cool to expand, but now it is in-house. I don’t want to borrow Egg Head’s setup. I would love to cover MORE topics, though.

19:05 – Panel: You are only one person.

19:08 – Guest: If I can get the site creating more revenue than I can hire someone to do video editing, etc.

19:35 – Panel: I think you are overthinking it.

19:45 – Guest.

19:47 – Advertisement – Sentry.io

20:47 – Guest.

21:30 – Aimee: There are SO many resources out there right now. Where do you think you fit into this landscape?

21:44 – The landscape is cluttered, but I feel that I am different b/c of my thoroughness. I don’t always explain line by line, but I do say how and why things work. I think also is my VOICE. Not my radio voice, but the tone and the approach you take with it.

23:25 – Panel: I was trying to copy folks in the beginning of my career. And at some point I realized that I needed to find my own style. It always came down to the reasons WHY I am different rather than the similarities. Like, Chris, you have these quick hits on CloseBrace, but some people might feel like they don’t have the time to get through ALL of your content, because it’s a lot. For me, that’s what I love about your content.

24:46 – Christopher: Yeah, it was intentional.

25:36 – Panel: Good for you.

25:49 – Guest: I am super device agnostic: Android, Mac, PC, etc. I have a lot of people from India that are more Microsoft-base.

26:28 – Aimee: I think Egghead is pretty good about this...do you cover testing at all with these things that you are doing? It’s good to do a “Hello World” but most of these sites don’t get into MORE complex pieces. I think that’s where you can get into trouble. It’s nice to have some boiler point testing, too.

27:18 – Guest answers Aimee’s question.

28:43 – Aimee: We work with a consultancy and I asked them to write tests for the things that we work with. That’s the value of the testing. It’s the code that comes out.

29:10 – Panel: Can you explain this to me. Why do I need to write tests? It’s always working (my code) so why do I have to write a test?

29:39 – Guest: When working with AWS I was writing...

31:01 – Aimee: My biggest thing is that I have seen enough that the people don’t value testing are in a very bad place, and the people that value testing are in a good place. It even comes back to the customers, because the code gets so hard that you end up repeatedly releasing bugs. Customers will stop paying their bills if this happens too often for them.

33:00 – Panel: Aimee / Chris do you have a preferred tool? I have done testing before, but not as much as I should be doing.

33:25 – Aimee: I like JEST and PUPPETEER.

33:58 – Guest: I like JEST, too.

34:20 – Aimee: Let’s go to PICKS!

34:35 – Advertisement – eBook: Get a coder job!

Links:

Sponsors:

Picks:

Aimee

Chris F.

AJ

Aaron

Christopher




d

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

Panel:

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

Special Guest: PJ Evans

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

Show Topics:

0:00 – Advertisement: KENDO UI

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

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

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

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

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

3:20 – Aimee.

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

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

4:13 – Chuck.

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

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

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

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

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

They are arguing about how to implement it. 

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

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

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

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

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

7:38 – PJ.

8:11 – Panel.

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

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

8:30 – PJ.

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

9:05 – PJ.

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

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

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

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

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

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

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

10:52 – Panel.

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

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

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

Chuck asks two questions.

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

13:22 – Chuck: What are those things?

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

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

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

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

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

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

Aimee mentions Vanilla Node.

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

19:45 – Advertisement – Sentry.io

20:43 – Chuck: I never used Pug.

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

20:56 – Aimee.

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

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

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

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

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

24:21 – Chuck: No pun intended.

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

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

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

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

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

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

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

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

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

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

30:00 – PJ answers the question.

30:23 – Aimee.

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

31:20 – Aimee.

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

32:18 – Aimee.

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

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

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

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

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

34:38 – PJ answers the question.

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

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

35:31 – PJ answers the question.

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

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

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

Google Classroom and Google Calendar.

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

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

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

40:31 – PJ: Yep!

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

40:45 – PJ: Twitter! Blog!

41:04 – Picks!

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

Links:

Sponsors:

Picks:

Aimee

AJ

Charles

PJ




d

JSJ 340: JavaScript Docker with Julian Fahrer

Panel:

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

Special Guest: Julian Fahrer

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

Show Topics:

0:00 – Advertisement: KENDO UI

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

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

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

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

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

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

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

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

4:12 – Chuck.

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

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

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

5:59 – Julian. Yes, exactly.

Julian talks about containers some more!

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

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

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

7:46 – Guest.

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

8:25 – Guest.

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

8:57 – Guest: Awesome!

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

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

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

10:19 – Guest: Yes!

Julian answers the question.

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

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

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

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

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

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

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

Guest continues with his answer.

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

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

16:09 – Chuck asks a question.

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

Guest continues.

17:13 – Chuck.

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

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

Chuck asks a question.

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

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

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

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

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

19:32 – Aimee answers the question.

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

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

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

21:20 – Guest answers the question.

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

22:35 – Guest: Yes.

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

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

The guest goes through the different steps to use Docker.

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

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

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

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

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

28:22 – Advertisement – Sentry.io

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

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

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

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

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

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

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

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

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

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

35:06 – Chuck.

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

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

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

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

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

37:29 – Chuck asks a question.

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

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

39:17 – Chuck: Gottcha.

39:18 – Guest.

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

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

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

40:30 – Chuck.

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

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

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

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

42:35 – Guest.

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

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

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

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

Links:

Sponsors:

Picks:

AJ

Aimee

Chris

Joe

Charles

Julian