be

111 JSJ The Ember.js Project with Erik Bryn

The panelists talk to Erik Bryn about the Ember.js project.




be

114 JSJ Asynchronous UI and Non-Blocking Interactions with Elliott Kember

The panelists talk to Elliot Kember about asynchronous UI and non-blocking interactions.




be

115 JSJ The ES6 Module Loader Polyfill, SystemJS, and jspm with Guy Bedford

the panelists discuss the ES6 module loader polyfill, SystemJS, and jspm with Guy Bedford.




be

127 JSJ Changes in npm-Land with Forrest Norvell, Rebecca Turner, Ben Coe, and Isaac Z. Schlueter

The panelists discuss changes in the npm package manager with Forrest Norvell, Rebecca Turner, Ben Coe, and Isaac Z. Schlueter.




be

137 JSJ &yet with Henrik Joreteg and Phil Roberts

The panelists talk to Henrik Joreteg and Philip Roberts of &yet.




be

145 JSJ Meteor.js with Matt DeBergalis

The panelists talk to Matt DeBergalis about Meteor.js.




be

160 JSJ Stormpath with Robert Damphousse

02:24 - Robert Damphousse Introduction

02:40 - OAuth

07:15 - Stormpath

08:38 - Authorization Information Storage

11:29 - Stormpath Authentication vs OAuth Authentication

14:43 - Caching

15:41 - Building Backends as a Service?

18:21 - Security

19:12 - Using Cassandra

20:27 - Use Cases

22:27 - Authentication as a Service

23:40 - 2FA (Two Factor Authentication)?

24:07 - REST APIs

25:39 - Making Complete Apps

26:33 - Security (Cont’d)

27:34 - In-Between Layer (Authentication API)

28:40 - Browser-Based vs Mobile Application Use

29:44 - Angular, React, Flux,

32:02 - React Native?

33:05 - Stormpath Life Expectancy

35:09 - Customers

36:12 - Active Directory, LDAP (Lightweight Directory Access Protocol)

37:05 - Support and Pricing

Picks

Putting the "fun" back in "funeral"! Celebrating the death of old IE browsers on January 12! (Dave)
Giant Star Wars LEGO Super Star Destroyer Shattered at 1000 fps | Battle Damage (Dave)
GitLab (Dave)
Allen Pike: JavaScript Framework Fatigue (Aimee)
The Cult of
Work You Never Meant to Join (Aimee)
Serial (AJ)
HotPlate (AJ)
Design Patterns in C (AJ)
OAuth3 (AJ)
JS Remote Conf Videos (Chuck)
Ruby Remote Conf (Chuck)
Traction: Get a Grip on Your Business by Gino Wickman (Chuck)
Startups For the Rest of Us (Chuck)
The Guest House: A Poem (Robert)
The Hiring Post (Robert)
Front-end Job Interview Questions (Robert)




be

166 JSJ New Relic with Wraithan and Ben Weintraub

02:27 - Coding House Scholarship Winners with AJ and Aimee

  • Emily Dreisbach (50% scholarship winner)
  • Blake Gilmore (50% scholarship winner)
  • Berlin Sohn (100% scholarship winner)

Congratulations from the panelists of JavaScript Jabber!

 

09:48 - Ben Weintraub Introduction

10:40 - Wraithan Introduction

11:01 - Why Care About Monitoring?

13:08 - Mixedpanel

13:57 - How it Works on the Backend

17:26 - New Relic’s CEO: Lew Cirne

18:37 - How the Node Agent Works

23:27 - Deciding Which Databases to Support

26:41 - Browser Monitoring

32:54 - Using Zombie.js?

34:11 - Tree of Causality

39:37 - Monetizing Aspect, Viewable Source/Source Available Code

47:28 - Performance

01:00:53 - New Relic

Picks

mraleph Blog (Wraithan)
v8-perf (Wraithan)
The Dear Hunter: A Night on the Town (Jamison)
React Rally (Jamison)
caddy (AJ)
Windows 10: Setup your Raspberry Pi 2 (AJ)
Remote debugging protocol (Ben)
Chrome Dev Tools Filmstrip View (Ben)




be

171 JSJ Babel with Sebastian McKenzie

02:28 - Sebastian McKenzie Introduction

02:53 - Babel (Pronunciation Clarification)

05:56 - History

09:14 - The State of Babel

09:59 - Babel and the TC39 Process

11:54 - Features That Can’t Be Transpiled

  • Weak Maps and Proxies    

13:45 - Readability and Performance Output

18:12 - Plugin Architecture

19:58 - ES6/2015 Feature Implementation

  • Blockscoping
  • Labels
  • Exceptions
  • Destructuring

25:49 - The Birth of Babel

26:45 - Babel vs Traceur

28:08 - Future Babel Features

  • Code Optimization
  • Minification
  • Linting

30:15 - The Status of ES2015 and ES2016

31:01 - Browser Support

35:03 - Marketing

35:59 - TypeScript

37:24 - Babel Development and Labor

Picks

Primitive.io (Joe)
Armada: The Novel by Ernest Cline (Joe)
How to Win Friends & Influence People by Dale Carnegie (AJ)
Web Security Warriors Podcast (AJ)
Nodevember (Aimee)
The Hitchhiker's Guide to the Galaxy by Douglas Adams (Dave)
Yellowstone National Park (Dave)
React Rally (Dave)
Iterativ: AngularJS Kurs (Chuck)
Hire Thom Parkin! (Chuck)
The Martian by Andy Weir (Sebastian)
Five Guys Burgers and Fries (Sebastian)




be

174 JSJ npm 3 with Rebecca Turner and Forrest Norvell

Don’t miss out! Sign up for Angular Remote Conf!

 

02:28 - Forrest Norvell Introduction

02:37 - Rebecca Turner Introduction

03:05 - Why npm 3 Exists and Changes in npm 2 => 3

  • Debugging
  • Life Cycle Ordering
  • Deduplication

08:36 - Housekeeping

09:47 - Peer Dependency Changes

15:38 - The Rewrite Process and How That Enabled Some of the Changes Coming Out

22:50 - shrinkwrapping

27:00 - Other Breaking Changes?

  • Permissions

30:40 - Tiny Jewels

33:24 - Why Rewrite?

36:00 - npm’s Focus on the Front End

42:04 - Transitioning to npm 3

42:54 - Installing npm 3

44:11 - Packaging with io.js and Node.js

45:16 - Being in Beta

Picks

Slack List (Aimee)
Perceived Performance Fluent Conf Talks (Aimee)
Paul Irish: How Users Perceive the Speed of The Web Keynote @ Fluent 2015 (Aimee)
Subsistence Farming (AJ)
Developer On Fire Episode 017 - Charles Max Wood - Get Involved and Try New Things (Chuck)
Elevator Saga (Chuck)
BrazilJS (Forrest)
NodeConf Brazil (Forrest)

For quick testing: `npm init -y`, configure init (Forrest)
Where Can I Put Your Cheese? (Or What to Expect From npm@3) @ Boston Ember, May 2015 (Rebecca)
Open Source & Feelings Conference (Rebecca)
bugs [npm Documentation] (Rebecca)
docs [npm Documentation] (Rebecca)
repo [npm Documentation] (Rebecca)




be

203 JSJ Aurelia with Rob Eisenberg

Check out React Remote Conf!

 

02:31 - Rob Eisenberg Introduction

02:55 - Aurelia

03:43 - Selling People on Aurelia vs Other Frameworks

11:09 - Using Aurelia Without Directly Engaging with the API

  • Web Components

15:10 - Production Usage

18:46 - Specific Uses

23:03 - Durandal

25:26 - Aurelia and Angular 2

30:32 - Convention Over Configuration

34:56 - Web Components

  • Content Projection (Transclusion)
  • Polymer

41:13 - One-directional Data Flow; Data Binding

  • Using a Binding System as Messaging System

46:55 - Routing

49:47 - Animation

52:56 - Code Size

55:06 - Version Support

56:27 - Performance

  • Tools

01:00:20 - Aurelia in ES5

01:01:29 - Data Management

Picks

Crispy Bacon (Joe)
A Gentleman’s Guide to Love and Murder (Joe)
Jamison Dance: Rethinking All Practices: Building Applications in Elm @ React.js Conf 2016 (Joe)
Vessel | Lorn (Jamison)
The Moon Rang Like a Bell | Hundred Waters (Jamison)
The Top 10 Episodes of JavaScript Jabber (Chuck)
Amazon Prime (Chuck)
WiiU (Chuck)
Sketch (Rob)
Zeplin (Rob)
servo (Rob)




be

206 JSJ PostCSS with Ben Briggs

02:30 - Ben Briggs

03:03 - PostCSS

07:16 - What problems was PostCSS designed to solve for developers?

09:46 - Using PostCSS vs Sass

14:02 - Using Future Features

16:28 - Tool Fatigue

23:39 - When should people start thinking about using PostCSS?

31:24 - Postprocessing

33:43 - Shipping Apps with Emojis?

36:21 - Where does PostCSS end and where does css-modules begin?

Picks

Chet Corcos: Functional Programming for JavaScript People (Aimee)
Operation Code Scholarship (Aimee)
Web Platform Daily Digest (Ben)
Cadbury Caramel Eggs (Joe)
Hello World Podcast (Joe)
React Rally (Dave)




be

209 JSJ TypeScript with Anders Hejlsberg

This episode was recorded live from The Microsoft Build Conference 2016. In this episode we chatted with Anders Hejlsberg of Microsoft about Typescript. You can follow him on Twitter, or check out what he’s done over on GitHub

Resources

Picks

Writing Code (Anders)

 




be

211 JSJ Ember and EmberConf with Michael North

02:22 - Michael North Introduction

04:10 - Ember vs React or Angular

07:13 - Convention Over Configuration

09:39 - Changes in Ember

16:04 - Ember FastBoot

18:53 - EmberConf

22:47 - Mobile/Native Experience & Optimization

29:52 - Electron

30:46 - Open Source Empowerment; The Ember Learning Team

33:54 - Michael North's Frontend Masters Ember 2 Series

37:11 - The Ember Community

Picks

React Rally (Jamison)
Embedded (Jamison)
Remy Sharp: A debugging thought process (Jamison)
NashDev Podcast (Aimee)
JS developers who don’t know what closure is are fine. (Aimee)
Sublime Text (Chuck)
DesktopServer (Chuck)
MemberPress (Chuck)
Frontend Masters (Mike)
Wicked Good Ember Conf (Mike)
Debugging Node.js with
Visual Studio Code (Mike)




be

214 JSJ Pebble with Heiko Behrens and François Baldassari

Check out Newbie Remote Conf!

 

02:11 - Heiko Behrens Introduction

02:42 - François Baldassari Introduction

03:04 - JavaScript and Pebble

06:40 - Watch vs Phone

09:32 - Memory Constraints and Code Size Limitations

26:24 - Advantages of Writing in JavaScript

32:09 - Capabilities of the Watch

37:08 - Running Web Servers

39:29 - Resources

41:58 - Voice Capabilities

43:06 - UI For the Round Face vs Square Face

46:18 - Future Pebble Milestones

 

Picks

 

See Also




be

218 JSJ Ember.js with Yehuda Katz

Check out Newbie Remote Conf!

 

02:38 - Yehuda Katz Introduction

05:37 - Batching Updates

10:04 - Naming

14:19 - Communication

16:21 - Decorators

19:46 - “Junior Developer” and Knowledge Bias

28:25 - Termanology in Tech

29:23 - Diversity

 

Picks




be

227 JSJ Fostering Community Through React with Benjamin Dunphy, Berkeley Martinez, and Ian Sinnott

03:08 - Benjamin Dunphy Introduction

04:07 - Berkeley Martinez Introduction

04:19 - Ian Sinnott Introduction

05:19 - The React Codebase

12:38 - Other Important Parts of the React Ecosystem

14:22 - The Angular vs the React Ecosystem and Community

22:07 - Community

Developer Experience

26:56 - Getting Connected to the React Community

29:34 - Conferences

33:28 - Technology From the Community

40:19 - The Future of React

42:39 - Starting More Communities

 

Picks




be

237 JSJ CLls - Ember Angular and React with Tracy Lee

TOPICS:

3:57 The exciting facets of CLI’s

8:25 Advantages of CLI projects

11:25 Coding in RAILS

14:18 Disagreeing with conventions encoded in a CLI

19:30 How REACT CLI functions

20:43 Is Ember cheating by using REACT CLI?

26:52 Which CLI is easiest to use

29:00 How to add commands to a CLI

34:00 The future of current CLI’s

35:30 How well CLI’s are working for their respective communities

37:00 The impact of WebPac

PICKS:

“How Break Points are Set” Hacker News Article

Chocolate Mint Tea

Ten Things Wise Parents Know Book

Strong Fathers, Strong Daughters Book

Boys Should Be Boys Book

“How Half of America Lost its Effing Mind” Blog Post

Elementary TV Show

Recommendation Form for Topics and Guests

Amazon Smile

Angular Cruise

Sweet Licorice Mint Tea by Choice Organic Teas

Van’s Nintendo Sneakers

RESOURCES AND CONTACT INFO:

Tracy's E-mail




be

JSJ 245 Styled Components and react-boilerplate with Max Stoiber

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




be

JSJ 248 Reactive Programming and RxJS with Ben Lesh

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




be

MJS #012: Max Stoiber

Welcome to the 12th My JS Story! Today, Charles Max Wood welcomes Max Stoiber. Max is a frontend JavaScript Developer from Vienna, Austria and currently works as an open source developer for Thinkmill, a company based in Sydney, Austria. Tune in to My JS Story Max Stoiber to learn more how he learned to program and discover what he enjoys doing!




be

MJS #013: Rebecca Turner

Welcome to the 13th My JS Story! Today, Charles Max Wood welcomes Rebecca Turner. Rebecca is a CLI programmer at npm, Inc. She has been in the show around two to three years ago in episode 174 and talked about npm 3. Tune in to My JS Story Rebecca Turner to learn more how she got into programming and what she is up to these days!




be

JSJ 266 NPM 5.0 with Rebecca Turner

On today’s episode of JavaScript Jabber, Charles Max Wood and panelist Joe Eames chat with Rebecca Turner, tech lead for NPM, a popular Javascript package manager with the worlds largest software registry. Learn about the newly released NPM 5 including a few of the updated features. Stay tuned!

[1:58] Was the release of node JS 8 tied to NPM5?
  • Features in NPM5 have been in planning for 2 years now.
  • Planned on getting it out earlier this year.
  • Node 8 was coming out and got pushed out a month.
  • Putting NPM5 into Node 8 became doable.
  • Pushed really hard to get NPM5 into Node 8 so that users would get NPM5 and updates to NPM5.
[2:58] Why would it matter? NPM doesn’t care right?
  • Right you can use NPM5 with any version of node.
  • Most people don’t update NPM, but upgrade Node.
  • So releasing them together allowed for when people updated Node they would get NPM 5.
[3:29] How does the upgrade process work if you’re using NVM or some node version manager?
  • Depends. Different approaches for each
  • NVM gets a fresh copy of Node with new globals. NVM5 and Node 8 are bundled.
  • For some, If you manually upgrade NVM you’ll always have to manually. It will keep the one you manually upgraded to.
[4:16] Why NPM 5?
  • It’s night and day faster.
  • 3 to 5 times speed up is not uncommon.
  • Most package managers are slow.
  • NPM 5 is still growing. Will get even faster.
[5:18] How did you make it faster?
  • The NPM’s cache is old. It’s very slow. Appalling slow.
  • Rewrote cache
  • Saw huge performance gains
[5:49] What is the function of the cache?
  • Cache makes it so you don’t have to reinstall modules from the internet.
  • It has registry information too.
  • It will now obey http headers for timing out cache.
[6:50] Other things that made it faster?
  • Had a log file for a long time. It was called shrinkwrap.
  • NPM 5 makes it default.
  • Renamed it to packagelog.json
  • Exactly like shrinkwrap package file seen before
  • In combo with cache, it makes it really fast.
  • Stores information about what the tree should look like and it’s general structure.
  • It doesn’t have to go back and learn versions of packages.
[7:50] Can you turn the default Packagelog.json off?
  • Yes. Just:
  • Set packagelog=false in the npmrc
[8:01] Why make it default? Why wasn’t it default before?
  • It Didn’t have it before. Shrinkwrap was added as a separate project enfolded in NPM and wasn’t core to the design of NPM.
  • Most people would now benefit from it. Not many scenarios where you wouldn’t want one.
  • Teams not using the same tools causes headaches and issues.
[9:38] Where does not having a lock show up as a problem?
  • It records the versions of the packages installed and where NPM put them so that when you clone a project down you will have exactly the same versions across machines.
  • Collaborators have the exact same version.
  • Protects from issues after people introduce changes and patch releases.
  • NPM being faster is just a bonus.
  • Store the sha512 of the package that was installed in the glock file so that we can verify it when you install. It’s Bit for bit what you had previously.
[11:12] Could you solve that by setting the package version as the same version as the .Json file?
  • No. That will lock down the versions of the modules that you install personally, not the dependancies, or transitive dependancies.
  • Package log allows you to look into the head of the installer. This is what the install looks like.
[12:16] Defaulting the log file speed things up? How?
  • It doesn’t have to figure out dependences or the tree which makes it faster.
  • Shrinkwrap command is still there, it renames it to shrinkwrap but shrinkwrap cannot be published.
  • For application level things or big libraries, using shrinkwrap to lock down versions is popular.
[13:42] You’ve Adopted specifications in a ROC process. When did you guys do that?
  • Did it in January
  • Have been using them internally for years. Inviting people into the process.
  • Specifications
  • Written in the form of “Here is the problem and here are the solutions.”
  • Spec folder in NPM docs, things being added to that as they specify how things work.
  • Spec tests have been great.
[14:59] The update adds new tools. Will there be new things in registry as well?
  • Yes.
  • Information about a package from registry, it returns document that has info about every version and package json data and full readme for every version.
  • It gets very large.
  • New API to request smaller version of that document.
  • Reduces bandwidth, lower download size, makes it substantially faster.
  • Used to be hashed with sha1, With this update it will be hashed with sha512 as well as sha1 for older clients.
[16:20] Will you be stopping support for older versions?
  • LTS version of NPM was a thing for a while. They stopped doing that.
  • Two models, people either use whatever version came with Node or they update to the latest.
  • The NPM team is really small. Hard to maintain old NPM branches.
  • Supports current versions and that’s pretty much it.
  • If there are big problems they will fix old versions. Patches , etc.
[17:36] Will there ever be problems with that?
  • Older versions should continue to work. Shouldn’t break any of that.
  • Can’t upgrade from 0.8.
  • It does break with different Node version
  • Does not support Node versions 0.10 or 0.12.
[18:47] How do you upgrade to NPM?
  • sudo npm install -gmpm
  • Yes, you may not need sudo. depend on what you’re on.
[19:07] How long has it been since version 4?
  • Last October is when it came out.
[19:24] Do you already have plans for version 6?
  • Yes!
  • More releases than before coming up.
  • Finally deprecating old features that are only used in a few packages out of the whole registry.
  • Running tests on getting rid of things.
[20:50] Self healing cache. What is it and why do we want it?
  • Users are sometimes showing up where installs are broken and tarbols are corrupted.
  • This happens sometimes with complicated containerization setups makes it more likely. It’s unclear where the problem actually is.
  • CaCache - content addressable cache. Take the hash of your package and use it to look up address to look it up in the cache.
  • Compares the Tarbol using an address to look it up in the cache.
  • Compares to see if it’s old. Trashes old and downloads updated one.
  • Came out with the cache. Free side effect of the new cache.
[23:14] New information output as part of the update?
  • NPM has always gave back you the tree from what you just installed.
  • Now, trees can be larger and displaying that much information is not useful.
  • User patch - gives you specifically what you asked for.
  • Information it shows will be something like: “I installed 50 items, updated 7, deleted 2.”
[24:23] Did you personally put that together?
  • Yes, threw it together and then got feedback from users and went with it.
  • Often unplanned features will get made and will be thrown out to get feedback.
  • Another new things ls output now shows you modules that were deduped. Shows logical tree and it’s relationships and what was deduped.
[25:27] You came up to node 4 syntax. Why not go to node 8?
  • To allow people with just node 4 be able to use NPM.
  • Many projects still run Node 4. Once a project has been deployed, people generally don’t touch it.
[26:20] Other new features? What about the File Specifier?
  • File specifier is new. File paths can be in package json, usually put inside pointing to something inside your package.
  • It will copy from there to your node modules.
  • Just a node module symlink.
  • Much faster. Verifiable that what’s in your node modules matches the source. If it’s pointing at the right place it’s correct. If not, then it’s not.
  • Earlier, sometimes it was hard to tell.
[27:38] Anything else as part of the NPM 5 release? Who do you think will be most affected by it?
  • For the most part, people notice three things:
  • 1st. no giant tree at the end
  • 2nd. Much faster
  • 3rd. Package lock.
[28:14] If it’s locked, how do you update it?
  • Run npm installer and then npm update
  • Used to be scary, but works well now.
  • Updates to latest semver, matches semver to package json to all node modules.
  • Updates package lock at the same time
  • Summary in Git shows what’s changed.
[28:59] Did Yarn come into play with your decisions with this release?
  • The plans have been in play for a long time for this update.
  • Yarn’s inclusion of similar features and the feedback was an indicator that some of the features were valuable.
[29:53] Other plans to incorporate features similar to yarn?
  • Features are already pretty close.
  • There are other alternative package managers out there.
  • PMPM interesting because when it installs it doesn’t copy all the files. It creates hard links.
[30:28] Does PMPM and Yarn use NPM registry?
  • Yes! Other than CNPM. The NPM client used in China.
  • CNPM Registry mirror behind firewall. Have their own client to their registry. Their registry is a copy of ours.
[31:15] What about RNPM?
  • I wouldn’t be surprised.
[31:45] “Won’t you come and say something controversial about your competitor?”
  • We all want it to be collaborative.
  • When we were writing our new cache, we also helped Yarn with their cache and sped things up tremendously.

Picks

Charles

Rush Limbaugh’s children’s books
Tinker Crate
Kiwi Crate
NPM
Episodes on My JS Story.

Joe

Gravity Falls
Board Games

Rebecca

NPX

Funstream


Links to keep up with NPM and Rebecca

Twitter @rebeccaorg
NPMjS on Twitter
blog.npmjs.com




be

JSJ 268 Building Microsoft Office Extensions with JavaScript with Tristan Davis and Sean Laberee

JSJ 268 Building Microsoft Office Extensions with Javascript with Tristan Davis and Sean Laberee

This episode is live at the Microsoft Build 2017 with Charles Max Wood and AJ O’Neal. We have Tristan Davis and Sean Laberee from the Office Team at Microsoft. Tune in and learn more about what’s new with Microsoft Office Extensions!

[00:01:25] – Introduction to Tristan Davis and Sean Laberee

Tristan Davis and Sean Laberee are Program Managers on the Microsoft Office team, focused on Extensibility.

Questions for Tristan and Sean

[00:01:45] – Extending Office functionality with Javascript

Office isn’t just an application on Windows that runs on your PC. It is running on iPhone, iPad, Android tablet, and apps on the browser with Office Online. The team needs a new platform, add-ins, which allow you to build apps that run across all places. It’s HTML and Javascript. HTML for all the UI and a series of Javascript module calls for the document properties. Sometimes we call it OfficeJS.

[00:03:20] – This works on any version of Office?

It works on Office on Windows, Mac, Online and iPad.

[00:03:55] – HTML and CSS suck on mobile?

There are things that you’re going to want to do when you know you’re running on a mobile device. If you look at an add-in running on Outlook for iPhone, the developer does a lot of things to make that feel like part of the iPhone UI. Tristan believes that you could build a great add-in for Office using HTML and JavaScript.

[00:05:20] – Are these apps written with JavaScript or you have a Native with WebView?

Office itself is Native. All of it is Native code but the platform is very much web. The main piece of it is pointing at the URL. Just go load that URL. And then, you can also call functions in your JavaScript.

[00:06:35] – Why would you do this? How does it work?

The add-in platform is a way to help developers turn Word, Excel and PowerPoint into the apps that actually solve user’s business problems. The team will give you the tools with HTML and JavaScript to go and pop into the Word UI and the API’s that let you go manipulate the paragraph and texts inside of Word. Or in Excel, you might want to create custom formulas or visualizations. The team also let people use D3 to generate their own Excel charts.

And developers want to extend Office because it’s where a lot of business workers spend their days 0 in Outlook, Teams, Word, Excel.

[00:10:00] – How did this get delivered to them?

There are 2 ways to get this delivered. One, there’s an Office Store. Second, if you go into Word, Excel, and PowerPoint, there’s a store button and you can see tons of integrations with partners.

For enterprises, IT can deploy add-ins to the users’ desktops without having stress about deploying MSI’s and other software deployments that the web completely rids off. The add-ins make a whole lot of pain the past completely go away.

[00:11:00] – Everybody in the company can use a particular plug-in by distributing it with Office?

That’s right. You can go to Office 365 add-in experience. Here’s the add-in and you can to specific people or everyone who’s part of a group.

For the developer’s perspective, if you have the add-in deployed to your client, you could actually push updates to the web service and your users get the updates instantly. It’s a lot faster turn-around model.

[00:14:20] – What about conversations or bot integrations?

There’s the idea of connectors at Teams. You can subscribe to this web book and it’ll publish JSON. When the JSON is received, a new conversation inside of Teams or Outlook will be created. For example, every time someone posts on Stack Overflow with one of the tags that team cares about, it posts on Outlook.

It’s a great way to bring all the stuff. Rather than have 20 different apps that are shooting 20 different sets of notifications, it’s just all conversations in email, making do all the standard email things.

And in the connector case, it’s a push model. The user could choose what notifications they want.

You’d also learn things like bots. You can have bots in Teams and Skype. The users can interact with them with their natural language.

[00:18:40] – How about authentication?

As long as you’re signed into Office, you can call JavaScript API to give you an identity token for the sign in user and it will hand you a JWT back. That’s coming from Azure Active Directory or from whatever customer directory service. That’s standard.

If you want to do more, you can take that identity token and you can exchange that for a token that can call Microsoft graph. This app wants to get access to phone, are you okay with that? Assuming the user says yes, the user gets a token that can go and grab whatever data he wants from the back-end.

[00:20:00] – Where does it store the token?

That’s up to the developer to decide how they want to handle that but there are facilities that make sure you can pop up a dialog box and you can go to the LO-flow. You could theoretically cache it in the browser or a cookie. Or whatever people think is more appropriate for the scenario.

[00:20:55] – What does the API actually look like from JavaScript?

If you’re familiar with Excel UI, you can look at Excel API. It’s workbook.worksheets.getItem() and you can pass the name of the worksheet. It can also pass the index of the worksheet.

[00:22:30] – What’s the process of getting setup?

There’s a variety of options. You can download Office, write XML manifest, and take a sample, and then, side loads it into Office. You can also do that through web apps. There’s no install required because you can go work against Office Online. In the Insert menu, there’s a way to configure your add-ins. There’s upload a manifest there and you can just upload the XML. That’s going to work against whatever web server you have set up.

So it’s either on your local machine or up in the cloud. It’s as much as like regular web development. Just bring your own tools.

[00:24:15] – How do you protect me as a plug-in developer?

There’s an access add-in that will ask your permission to access, say, a document. Assume, they say yes, pipes are opened and they can just go talk to those things. But the team also tries to sandbox it by iframes. It’s not one page that has everybody’s plug-ins intermingle that people can pole at other people’s stuff.

[00:27:20] – How do you support backward compatibility?

There are cases where we change the behavior of the API. Every API is gated by requirement set. So if a developer needs access to a requirement set, he gets an aggregate instead of API’s that he can work with but it isn’t fixed forever.

But it’s not at that point yet where we end up to remove things completely. In Office JS, we’ve talked about API’s as one JavaScript library but really, it’s a bootstrap that brings in a bunch of other pieces that you need.

[00:30:00] – How does that work on mobile? Do they have to approve download for all components?

You can download components by using the browser that the operating system gives. It’s another one of the virtues of being based on the web. Every platform that has a web browser can have JavaScript execution run-time. It allows for the way that their app guidelines are written.

[00:33:15] – How about testing?

It’s a place where there’s still have work to do. There’s a bunch of open-source projects that partners have started to do that. What they’ve done is they’ve built a testing library. Whatever the mock is, it's just a thing on Github. It is open-source friendly. So the team could be able to contribute to it. “Here’s an interesting test case for this API. I want to make sure that it behaves like this.

[00:35:50] – Could you write it with any version for JavaScript e.g. TypeScript?

A Huge chunk of the team is big TypeScript fans. They’ve done a lot of work to make sure that TypeScript experience is excellence.

Type is basically a collection of typing files for TypeScript. There’s a runtime process that parses your TypeScript, gives you feedback on your code, and checks for errors. You can also run it in the background.

There’s an add-in called Script Lab. Script Lab is literally, you hit the code button and you get a web IDE right there. You can go start typing JavaScript code, play with API’s, and uses TypeScript by default. It’ll just actually load your code in the browser, executes, and you can start watching.

[00:39:25] – Are there any limitations on which JavaScript libraries you can pull in?

There a no limitations in place right now. There are partners that use Angular. There are partners that are big React fans. If you’re a web dev, you can bring whatever preferences around frameworks, around tools, around TypeScript versus JavaScript.

[00:45:20] – What’s the craziest thing you’ve seen done with this API?

Battleship was pretty cool. There’s also Star Wars entering credits theme for PowerPoint.

[00:46:40] – If a developer is building a plug-in and get paid for it, does Microsoft take credit for that?

There are 2 ways that folks can do it. You can do paid add-ins to the store. Either you do the standard perpetual 99 cents or you can do subscriptions, where it’s $2.99/month. Tristan encourages that model because integrations are just a piece of some larger piece of software.

But Microsoft is not in the business of trying to get you to pay me a little bit of 10 cents a dollar. It’s really in the business of making sure that you can integrate with Office as quickly as possibly can.

When the users go to the store, they can use the same Microsoft account that you use to buy Xbox games or movies in the Xbox, Windows apps in the Windows store.

[00:52:00] – The App Model

If folks are interested in the app model, they should go to dev.office.com to learn more about it because that’s where all the documentation is. Check out our Github. Right there in the open, there’s the spec. Literally, the engineers who are coding the product are reading the same marked-down files in the same repo that you, as a developer, can come and look at. And you can comment. You can add issues like you could have a dialogue with that PM. Under the OfficeDev, you’ll find a tunnel repository that contains samples. Our docs are there.

Picks

AJ O'Neal

  • Lithium

Charles Max Wood

Tristan Davis

Sean Laberee




be

JSJ 280: Stackblitz with Eric Simons and Albert Pai

Panel:

Joe 

Amy 

Charles 

 

Special Guests: 

Eric Simmons 

Albert Pai

In this episode, JavaScript Jabbers talk to Eric Simmons and Albert Pai, the co-founder of thinkster.io, where their team teaches the bleeding edge of javascript technology’s various frameworks and backend. Also, with the recent creation of Stalkblitz, which is the center topic of today discussion. 

Stackblitz it an online VS Code IDE for Angular, React, and a few more others are supported. This is designed to run web pack and vs code inside your browser at blazing fast speeds. Eric and Albert dive into the many different advantages and services available by StackBlitz and thinker.io

In particular, we dive pretty deep on:

  • Similarities  and differences to Heroku 
  • System JS 
  • Stacklets  
  • Testing and creating an in-browser system file system
  • Creating a type of VS Code experience, Working Off Line 
  • Updating of the Stacklets
  • Deployment tools or exporting 
  • Hot Reloading
  • Integrated terminals
  • Monaco
  • Language Services 
  • How do you architect this implementation 
  • The innovation of browsers
  • Guy Bedford 
  • Financing vs. Chipotle Burritos 
  • Will this product in the future cost money

Links

 

Picks

Amy

Joe

Charles

Eric 

Albert 




be

JSJ 286: Creating a CSS-in-JS Library from Scratch and Emotion with Kye Hohenberger

Panel:

Amiee Knight

Charles Max Wood

Special Guests: 

Kye Hohenberger

In this episode, JavaScript Jabbers speak with Kye Hohenberger. Kye is a developer and co-founder of Side Way. One of Kye’s most notable works and library is Emotion, a CSS and JS library.

Kye talks about what CSS and JS library is about in the context of the Emotion library system. Kye discusses why this is practical for the writing process, in comparison to other types of tools that do similar jobs. Kye explains the how this tool reduces the number of lines of code and is compact and clearer.

In particular, we dive pretty deep on:

  • What is a CSS and JS library?
  • Controlling CSS with JS, what does this solve?
  • Style bugs
  • What kind of styling are you using vs. complex styles?
  • Media query
  • A more declarative style
  • Using Sass
  • Where do you see people using this?
  • Class names and you can apply to anything
  • How Emotion works!
  • Style tags
  • Object styles
  • What are some of the problems you are solving
  • React Emotion - dynamic styles
  • How does this compare to other style components?
  • Glamor Styles
  • How do you test something like this?
  • Just Glamor React with Emotion
  • Can people use the Babel plugin
  • Pure flag and function calls
  • And much more!

Links:

  • Emotion.sh
  • Emotion-js/emotion
  • emotion.now.sh
  • @TKH44

Picks:

Amiee

  • Article on Medium
  • Antibiotics and Steroids
  • RX Bars 

Charles

Kye




be

MJS 044: Ben Coe

Panel: 

Charles Max Wood

Guest: Ben Coe

This week on My JavaScript Story, Charles speaks with Ben Coe. Ben is the co-founder of attachments.me. Currently, work for NPM, and had worked for Freshbooks where he began his professional development career.  Ben talks about his journey into programming and learning JavaScript, and the many experiences into his successful dev career. Ben shares his contributions to the Javascript community and the open source world with technologies like Yargs and InstanbulJS.

In particular, we dive pretty deep on:

  • How did you get into programming?
  • Noodling around with old computers from Waterloo
  • Geo cites
  • How did you get into Javascript?
  • Working at Freshbooks
  • Backend infrastructure at NPM
  • How did you end up working at NPM?
  • Operations person at NPM
  • Dev Ops
  • What was it like being there in the early days?
  • Automation
  • Yargs
  • InstanbulJS
  • Product management at NPM
  • C8
  • What is next?
  • and much, much more!

Links: 

Picks

Ben

  • https://www.hackillinois.org
  • C8 tool




be

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




be

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




be

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




be

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




be

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




be

MJS 071: Kye Hohenberger

Panel: Charles Max Wood

Guest: Kye Hohenberger

This week on My JavaScript Story, Charles speaks with Kye Hohenberger. Kye is a senior front-end engineer at Gremlin, where they do chaos as a service and break your stuff on purpose so that you can fix it and it hopefully won’t happen again. He also created the Emotion library, which is a CSS-in-JS library. He first got into programming because his Grandpa was always working on computers and Kye was curious about how they worked. They talk about how he got into JavaScript, what he's built in JavaScript that he’s proud of, what he’s working on now, and more!

In particular, we dive pretty deep on:

  • JavaScript Jabber Episode 286
  • Kye intro
  • Works at Gremlin as a front-end engineer
  • How did you first get into programming?
  • Always had a burning curiosity for computers
  • Worked on HTML first
  • Worked with flash in High School
  • Tried to major in Computer Science and dropped out of it
  • Job in IT
  • Wordpress maintenance
  • Hooked on wanting to learn more
  • Python with Django
  • What was it that caught your attention?
  • How did you get into JavaScript?
  • Job at cPanel
  • What led you to build something like Emotion?
  • Didn’t like having to use the Sass compiler
  • What problem were you trying to solve?
  • Have you worked on anything else in JavaScript that you’re proud of?
  • What are you working on now?
  • APIs from Java to Node
  • Wrote Qordoba apps for 2 years
  • What made you switch from Angular to React?
  • Learning WebPack
  • And much, much more!

Links:

Sponsors:

Picks

Charles

Kye




be

JSJ 324: with Kent Beck

Panel:

  • Charles Max Wood
  • Joe Eames
  • Aimee Knight

Special Guests: Kent Beck

In this episode, the JavaScript Jabber panel talks to Kent Beck. Kent left Facebook 4 months ago after working for them for 7 years and is now self-unemployed so that he can decompress from the stressful environment that he was a part of for so long. He now travels, writes, creates art, thinks up crazy programming ideas, and is taking a breather.  They talk about what he did at Facebook, what his coaching engagement sessions consisted of, and the importance of taking time for yourself sometimes. They also touch on what he has learned from his experience coaching, how to create a healthy environment within the workplace, and more!

In particular, we dive pretty deep on:

  • Kent intro/update
  • Ruby Rogues Episode 23
  • Worked at Facebook for 7 years
  • What were you doing at Facebook?
  • Unique culture at Facebook
  • His strengths as a developer didn’t match with the organization’s
  • Coaching developers
  • TDD and Patterns
  • Advantages as an old engineer
  • What did coaching engagement consist of?
  • Takes time to build trust
  • Discharging shame
  • Need permission to take care of what you need to
  • Being at your best so you can do your best work
  • Vacation in place
  • What have you learned in your time working with people?
  • The nice thing about coaching
  • Everyone is different
  • How do we create a healthy environment within the workplace?
  • Mentor in Ward Cunningham
  • What is it costing us?
  • Why did you decide to leave?
  • And much, much more!

Links:

Sponsors

Picks:

Charles

Aimee

Joe

Kent




be

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




be

MJS 082: Benjamin Hong

Panel: Charles Max Wood

Guest: Benjamin Hong

This week on My JavaScript Story, Charles speaks with Benjamin Hong who is a Senior UI Developer at Politico where he lives in the Washington, D.C. area. He has worked with other companies including Treehouse, Element 84, and Udacity. Charles and Benjamin talk about his past and current projects, and how it’s different working for the government vs. working for a business. Check it out!

In particular, we dive pretty deep on:

1:06 – Chuck: Tell us a brief introduction, please.

1:23 – Ben: I am a lead frontend developer at Politico.

1:43 – Chuck: It’s an area that can affect everyone. How did you get into developing?

1:52: Ben: I had everything you can think of to develop at first.

2:10 – Chuck: For me it was a TI90 calculator!

2:18 – Chuck: Was it somebody or something that pushed you towards this area?

2:32 – Ben: I wanted to change something with the theme, Googled it, and it went from there, and the Marquis Tag.

2:51 – Chuck: And the Blink Tag! The goodies. So you got the he HTML book – and what website did you build that was your first big project?

3:07 – Ben: It was fiddling around, but it was fortune cookie universe.

3:20 – Chuck: You will have to recreate it!

3:27 – Ben: I think this was 1993/1995 timeframe.

3:40 – Chuck: Yep, me too same time frame. If you had something move on your website it was so cool. You went to building...

4:02 – Ben: JavaScript was a roadblock for me. There was nobody to correct me. I had a JavaScript book and it was a massive failure.

4:33 – Chuck: You took a break and you came back?

4:40 – Ben: Oh – people will PAY you to do this?!

4:54 – Chuck: Did you go to college?

5:01 – Ben: Yes, I have a Master’s in a different field. I was always a tech junkie. I just wanted to put things together.

5:20 – Chuck: Take us through your journey through JS?

5:30 – Ben: I started off with the jQuery piece of it. I needed Java, and it took me awhile to wrap my head around it at first. Through the trial and process of trying to get into Angular and React, too.

6:19 – Chuck: Did you play with Backbone, Knockout, or Ember?

6:32 – Ben: I did do SOME Ember and some Knockout. Those were my first interactions.

6:49 – Chuck: What got you into the profession? How did you get from your Master’s to being a tech guy?

7:14 – Ben: From the Master’s field I learned a lot about human experience, and anted to breed the two together. Also, consulting and helping to build things, too.

7:44 – Charles: What was the career change like?

7:53 – Ben: I went to the federal government at first around the recession – it was good having a stable job. I was bored, though. While I was working for the government I was trying to get my foot in the door. From there I have been building my way up.

8:30 – Ben: I was working on Medicare.gov and then later...

8:46 – Charles: We won’t use the word “disaster”!

What is it like to work for the government?

9:20 – Ben: Yep. The federal government is a different area because they are stake holders. They were about WHO owned the content, and who do we have to talk to get something approved. It was not product oriented like a business. I made my transition to Politico, because I wanted to find solutions and diversify the problems I was having.

10:31 – Chuck: Have you been there from the beginning?

10:39 – Ben answers the question.

Ben: They were looking for frontend developers

10:54 – Chuck: You are the lead there now. What was that like with the transition?

11:08 – Ben talks about the beginnings stages of his time with Politico and the current situation. He talks about the different problems, challenges, and etc.

11:36 – Chuck: Do you consider yourself a news organization or?

11:47 – Ben: We have Politico Pro, too. I have been working with this site more so. There are updates about campaign and voting data. People will pay a fee.

12:25 – Chuck: Do they pain themselves as leaning one way or another or nonpartisan?

12:38 – Ben: We are objective and nonpartisan.

12:51 – Chuck: I know, I was hesitant to ask. What’s the mission of the company and into what you do?

13:09 – Ben: The projects get dumped to us and we are about solving the problems. What is the best route for solving it? I had to help pioneer the new framework into the tech staff is one of my roles.

13:48 – Chuck: What’s your tech stack?

13:55 – Ben: JavaScript and Vue.js. We are experimenting with other software, too.

14:16 – Chuck: We should get you talking about Vue on the other show!

Are you working at home?

14:32 – Ben answers the question.

Ben: One thing I am helping with Meetup. Community outreach is important and I’m apart of that.

15:09 – Chuck: Yep, it’s interesting to see various fields into the tech world. I am not one of those liberal arts majors, I do have a computer science degree. It’s interesting to see the different perspectives. How little it is for someone to be able to dive-in right away.

What are you working on?

16:09 – Ben: Meetup population and helping with the work at Politico.

16:27 – Chuck: Reusable components. Are those opensource or only internal?

16:41 – Ben: They are now opensource but we are seeing which portions can be opensource or not.

17:01 – Chuck: Different companies have come out and offered their opensource.

Where do they find you?

17:20 – BenCodeZen! They are more than welcome to message me.

17:36 – Chuck: Any advice on newbies to this field?

17:46 – Ben: Attending those meetings and making those connections.

18:18 – Chuck: I have been writing a book on HOW to get a job as a coder. That’s the same advice that I am giving, too.

18:46 – Chuck: Picks!

18:51 – Advertisement – Fresh Books! 30-Day Trial!

Links:

Sponsors:

Picks:

Charles

Ben




be

MJS 087: Rob Eisenberg

Panel: Charles Max Wood

Guest: Rob Eisenberg

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

In particular, we dive pretty deep on:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

24:33 – Rob comments.

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

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

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

It’s a fun and exciting time if you are

28:41 – Charles: What are you

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

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

31:03 – Rob comments.

Rob: How we all work together.

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

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

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

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

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

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

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

39:17 – Chuck: Picks?

39:23 – Rob dives in!

Links:

Sponsors:

Picks:

Rob

Charles




be

JSJ 343: The Power of Progressive Enhancement with Andy Bell

Panel:

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

Special Guest: Andy Bell

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

Show Topics:

0:00 – Advertisement: KENDO UI

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

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

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

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

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

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

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

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

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

6:48 – Guest.

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

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

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

10:14 – Panelist chimes-in.

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

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

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

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

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

11:52 – Guest.

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

Chris: Most of those sites were inaccessible to me.

13:17 – Guest.

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

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

15:47 – Chuck.

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

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

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

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

18:57 – Guest answers the question.

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

Hamburger menu is mentioned, too.

20:20 – Guest.

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

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

Aimee refers to his blog.

21:44 – Guest.

22:13 – Chuck: I use stock overflow!

22:20 – Guest.

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

22:33 – Guest (continues).

23:42 – Aimee.

23:54 – Chris.

24:09 – Chris

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

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

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

25:03 – Guest answers the question.

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

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

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

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

28:18 – Advertisement – Sentry.io

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

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

30:50 – Guest answers the question.

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

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

31:41 – Guest.

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

Note: “Cutting the Mustard Test” is mentioned.

33:37 – Guest.

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

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

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

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

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

36:20 – Guest.

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

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

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

40:25 – Aimee.

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

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

41:45 – Guest answers the question.

45:07 – Chris.

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

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

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

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

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

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

49:30 – Chuck: Picks!

END – Advertisement: CacheFly!

Links:

Sponsors:

Picks:

Aimee

Chris

AJ

Charles

Andy




be

JSJ 350: JavaScript Jabber Celebrates Episode 350!

Sponsors

Panel:

  • Charles Max Wood
  • AJ O’Neal
  • Aimee Knight
  • Aaron Frost
  • Chris Ferdinandi
  • Joe Eames
  • Tim Caswell

Notes:

This episode of JavaScript Jabber has the panelists reminiscing on the past. First, they discuss the projects they’re working on. Tim has joined MagicLeap doing JavaScript and C++. Aaron Frost is one of the founders of HeroDevs. AJ works at Big Squid, a company that takes spreadsheets and turns them into business actions, and is expecting a daughter. Aimee has been exploring developer advocacy, but wants to focus primarily on engineering. She is currently working at MPM. Joe has taken over the CEO position for thinkster.io, a company for learning web development online. Chris switched from being a general web developer specializing in JavaScript and has started blogging daily rather than once a week, and has seen an increase in sales of his vanilla JavaScript educational products. Charles discusses his long term goal for Devchat.tv. He wants to help people feel free in programming, and help people find opportunities though the Devchat.tv through empowering content.

Next, the panelists discuss their favorite episodes. Some of the most highly recommended episodes are

JSJ 124: The Origin of Javascript with Brendan Eich (1:44:07)

JSJ 161: Rust with David Herman (1:05:05)

JSJ 336: “The Origin of ESLint with Nicholas Zakas” (1:08:01)

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

JSJ 218: Ember.js with Yehuda Katz (42:47)

Last, the panelists discuss what they do to unwind. Activities include working out, reading, playing Zelda and Mario Kart, studying other sciences like physics, painting miniatures, and Dungeons and Dragons.

Picks:

Charles Max Wood

Joe Eames

AJ O’Neal

Aimee Knight

Aaron Frost

Chris Ferdinandi

Tim Caswell




be

MJS 093: Ben Lesh

Sponsors

Episode Summary

In this episode of My JavaScript Story, Charles Max Wood hosts Ben Lesh, RxJS Lead and senior software engineer at Google.

Ben studied to be an illustrator in Columbus College of Art & Design, but upon graduation he realized he wanted to work in web development. Ben thinks having an interest in problem solving was a key factor on his journey in becoming a developer.

For his first programming job, he applied to a position and when he didn’t hear back he kept calling them until they gave him an opportunity. He then worked as a consultant at several other positions before he was offered a job at Netflix where he became the development lead for RxJS 5. Ben then switched over to Google’s Angular team. He is currently working on Angular Ivy at Google.

Ben then talks about the projects he has worked on that he is proud of. In his journey as a developer, Ben believes that the take-away lesson is asking lots of questions. He himself had no formal programming training and he got to where he is today by asking sometimes embarrassingly simple questions.

Links




be

JSJ 364: Ember Octane with Sam Selikoff

Sponsors

Panel

  • AJ O’Neal

Joined by special guest: Sam Selikoff

Episode Summary

In this episode of JavaScript Jabber, Sam Selikoff, Co-Founder at EmberMap, Inc. starts with giving a brief background about himself and his work followed by a discussion with AJ O’Neal about the Ember community. Sam mentions some of the biggest advantages in using Ember, and what it should and should not be used for. He explains the architecture of Ember apps, addresses some of the performance concerns and then dives into Octane in detail. He talks about a bunch of Ember components, compiler compatibility, relative weight of Ember apps compared to other frameworks, the underlying build system, and security considerations. Sam then helps listeners understand the usage of ES6 classes and decorators in Ember at length. At the end, they discuss component rendering and element modifiers and move onto picks.

Links

Follow JavaScript Jabber on Devchat.tv, Facebook and Twitter.

Picks

AJ O’Neal:

Sam Selikoff:




be

JSJ 371: The Benefits and Challenges of Server-Side Rendering (SSR) with Dan Shappir

Sponsors

Panel

  • Charles Max Wood
  • Joe Eames
  • Christopher Buecheler
  • Aimee Knight
  • AJ O’Neal

Joined by special guest: Dan Shappir

Episode Summary

In this episode of JavaScript Jabber, special guest Dan Shappir, Performance Tech Lead at Wix, kicks off the discussion by defining server-side rendering (SSR) along with giving its historical background, and touches on the differences between server rendering and server-side rendering. He helps listeners understand in detail how SSR is beneficial for the web and takes questions from the panel about how it affects web performance in cases where first-time users and returning users are involved, and how does SSR fare against technologies such as pre-rendering. He then elaborates on the pitfalls and challenges of SSR including managing and declaring variables, memory leaks, performance issues, handling SEO, and more, along with ways to mitigate them. In the end, Dan sheds some light on when should developers use SSR and how should they start working with it.

Links

Follow JavaScript Jabber on Devchat.tv, Facebook and Twitter.

Picks

Christopher Buecheler:

  • Tip - Take some time off once in a while

Aimee Knight:

AJ O’Neal:

  • Fatherhood!

Joe Eames:

Charles Max Wood:

Dan Shappir:




be

JSJ 372: Kubernetes Docker and Devops with Jessica Deen LIVE from Microsoft BUILD

Sponsors

Panel

  • Charles Max Wood

Joined by Special Guest: Jessica Deen

Episode Summary

Coming to you live from the podcast booth at Microsoft BUILD is Charles Max Wood with The Deen of DevOps aka Jessica Deen. Jessica is a Senior Cloud Advocate at Microsoft. As an advocate she acts a liaison between developer communities and Microsoft to help understand developer pain points and road blocks especially in areas such as Linux, open-source technologies, infrastructure, Kubernetes, containers and DevOps. Jessica explains how to go about setting up a containerized application, Kubernetes and how to use Dockerfiles. Charles and Jessica then talk about how to get started with a Kubernetes cluster and the resources available for developers that don't have any infrastructure. Jessica advises that developers start with Azure DevOps Services and then go to Microsoft Learn Resource.

Charles also encourages listeners to also check out the Views on Vue podcast Azure DevOps with Donovan Brown for further references. Jessica also recommends following people on Twitter and GitHub to find out about solutions and resources.

Links

Follow Adventures in Angular on tv, Facebook and Twitter.

Picks

Jessica Deen:

Charles Max Wood:




be

JSJ 393: Why You Should Be Using Web Workers with Surma

Episode Summary

Surma is an open web advocate for Google currently working with WebAssembly team. He was invited on the show today to talk about using web workers and how to move work away from the browser’s main thread. His primary platform is bringing multithreading out of the fringes and into the web. 

The panel talks about their past experience with web workers, and many of them found them isolated and difficult to use. Surma believes that web workers should pretty much always be sued because the main thread is an inherently bad place to run your code because it has to do so much. Surma details the differences between web workers, service workers, and worklets and explains what the compositer is. 

The panel discusses what parts should be moved off the main thread and how to move the logic over. Surma notes that the additional cost of using a worker is basically nonexistent, changes almost nothing in your workflow, and takes up only one kilobyte of memory. Therefore, the cost/benefit ratio of using web workers gets very large. They discuss debugging in a web worker and Surma details how debugging is better in web workers. 

Surma wants to see people use workers not because it will make it faster, but because it will make your app more resilient across all devices. Every piece of JavaScript you run could be the straw that breaks the camel’s back. There’s so much to do on the main thread for the browser, especially when it has a weaker processor, that the more stuff you can move away, the better.

The web is tailored for the most powerful phones, but a large portion of the population does not have the most powerful phone available, and moving things over to a web worker will benefit the average phone. Surma talks about his experience using the Nokia 2, on which simple apps run very slow because they are not being frugal with the user’s resources. Moving things to another thread will help phones like this run faster.  

The panel discusses the benefit of using web workers from a business standpoint. The argument is similar to that for accessibility. Though a user may not need that accessibility all the time, they could become in need of it. Making the app run better on low end devices will also increase the target audience, which is helpful is user acquisition is your principle metric for success. 

Surma wants businesses to understand that while this is beneficial for people in countries like India, there is also a very wide spectrum of phone performance in America. He wants to help all of these people and wants companies acknowledge this spectrum and to look at the benefits of using web workers to improve performance.

Panelists

  • Charles Max Wood

  • Christopher Buecheler

  • Aimee Knight

  • AJ O’Neal

With special guest: Surma

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Charles Max Wood:

Surma:

AJ O’Neal:

Christopher Buecheler




be

JSJ 395: The New Ember with Mike North

Mike North is the Ember guy at Frontend Masters and LinkedIn’s web developer trainer. Today the panel is talking about the upcoming Ember update, which Mike calls a total reinvention of the way you build with Ember. Finally, they are letting go of the cruft and stuff they had to hold on to in order to support IE8 and using modern interface

The panel talks about some of the issues with IE8, and agree that the reason Ember felt its age because it was built for IE8. Ember 314 is moving from the past into the present, a sleek modern way to build apps. Mike talks about how easy the new Ember is to use. 

Mike talks about the excitement in the Ember community because the new build is focused on stability and seamlessness. Charles talks about his less seamless experience with the Angular community. For context, Mike North’s first frontend masters course was recorded in 2014, and he’s only had to change two lines of code. Ember is the only framework that has managed to go all the way from IE7/IE8 to today without a major gap,breaks, or rewrites.

They transition to talking about what keeps Ember going. There is an effort to make sure things are decentralized and not tied to any specific company, although Apple, Netflix, Nasa, and PlaysStation all use it. LinkedIn has also been hiring Ember core member to continue working on it, and sponsoring open source work. 

Next, they talk about how Ember works with TypeScript. You can install an Ember add on with one terminal command that will enable TypeScript in an Ember app.There are some issues that could cause misalignment with JavaScript and TypeScript, but Ember has designed things around it. MIke talks about the major change in the learning curve with using Ember and how far Vanilla JS will take you. Overall, it is a lot more approachable than it used to be. 

They move on to talk about the availability of third party solutions with Ember. Mike assures them that Ember has add-ons, and parts of the framework are opening up to allow experimentation with components. There are lots of ways to make Ember your own without running the risk of diverging, giving more flexibility than ever while maintaining the happy path. Testing within Ember is also a priority, and they want the code to be as readable as possible.

The last topic discussed in this show is the importance of developer education. LinkedIn looks at employment numbers and the rate at which new jobs open, and software engineering is growing like crazy and will likely continue to grow.The rate at which new people are graduating with computer science and programming degrees, as well as those from unconventional backgrounds, is not keeping up with the number of jobs. This means that there will be fewer senior people spread across bigger groups of developers with less experience. The panel agrees that it is the responsibility of people who have been around or learned something period to pass on the knowledge because the more knowledge is passed on, the more stable things will remain as seniors become more scarce. It is also important for companies to level up junior developers. They conclude by talking about tools available for people who want to learn more about Ember Octane, and Mike makes an open request to the JS community. 

Panelists

  • Charles Max Wood

  • Steve Emmerich

  • Chris Ferdinandi

  • Aimee Knight

  • AJ O’Neal

  • Christopher Buecheler

With special guest: Mike North

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Chris Ferdinandi:

Steve Emmerich:

Aimee Knight:

AJ O’Neal:

Charles Max Wood:

Christopher Buecheler:

Mike North:




be

JSJ 400: The Influence of JavaScript Jabber

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

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

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

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

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

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

Panelists

  • Dan Shapir

  • Christopher Buecheler

  • Steve Edwards

  • Dave Smith

  • Charles Max Wood

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Steve Edwards:

Christopher Buecheler:

Charles Max Wood:

Dan Shapir:

Dave Smith:




be

JSJ 413: JavaScript Jabber at RxJs Live

In this episode of JavaScript Jabber Charles Max Wood does interviews at RxJS Live. His first interview is with Hannah Howard at RxJS Live about her talk. Hannah is really enthusiastic about RxJS especially when it comes to frontend development. Her talk is about how to architect full-scale apps with RxJS. Hannah gives a brief summary of her talk. Charles having met Hanna previously at Code Beam asks her how functional programming and reactive programming work together in her mind. Hannah describes how she sees programming. 

 

Charles’s next interview is with Ben Lesh, a core team member of RxJS. Ben has been working on RxJS for the last four years. In his talk, he shares the future of RxJs, the timeline for versions 7 and 8. With Charles, he discusses his work on RxJS and the adoption of RxJS. 

 

Next, Charles interviews Sam Julien and Kim Maida. They gave a talk together covering the common problems developers have when learning RxJS. In the talk, they share tips for those learning RxJS. Charles wonders what inspired them to give this talk. Both share experiences where they encouraged someone to use RxJS but the learning curve was to steep. They discuss the future of RxJS adoptions and resources. 

 

Finally, Charles interviews Kim alone about her second talk about RxJS and state management. She explains to Charles that many state management libraries are built on RxJS and that it is possible to roll out your own state management solution with RxJS. They discuss why there are so many different state management libraries. Kim shares advice for those looking to roll out their own solutions.

Panelists

  • Charles Max Wood

Guests

  • Hannah Howard

  • Ben Lesch

  • Sam Julien

  • Kim Maida

Sponsors

Links




be

JSJ 414: JavaScript Jabber Still at RxJs Live

In this episode of JavaScript Jabber Charles Max Wood continues interviewing speakers at RxJS Live. First, he interviews Mike Ryan and Sam Julien. They gave a talk about Groupby, a little known operator. They overview the common problems other mapping operators have and how Groupby addresses these problems. The discuss with Charles where these types of operators are most commonly used and use an analogy to explain the different mapping operators. 

 

Next, Charles talks to Tracy Lee. Her talk defines and explains the top twenty operators people should use. In her talk, she shows real-world use cases and warns against gotchas. Tracy and Charles explain that you don’t need to know all 60 operators, most people only need about 5-10 to function. She advises people to know the difference between the different types of operators. Tracy ends her interview by explaining her desire to inspire women and people of minority groups. She and Charles share their passion for diversity and giving everyone the chance to do what they love.

 

Dean Radcliffe speaks with Charles next and discusses his talk about making React Forms reactive. They discuss binding observables in React and how Dean used this in his business. He shares how he got inspired for this talk and how he uses RxJS in his everyday work.  

 

The final interview is with Joe Eames, CEO of Thinkster. Joe spoke about error handling. He explains how he struggled with this as did many others so he did a deep dive to find answers to share. In his talk, he covers what error handling is and what it is used for. Joe outlines where most people get lost when it comes to error handling. He also shares the three strategies used in error handling, Retry, Catch and Rethrow and, Catch and Replace. Charles shares his admiration for the Thinkster teaching approach. Joe explains what Thinkster is about and what makes them special. He also talks about The DevEd podcast. 

Panelists

  • Charles Max Wood

Guests

  • Mike Ryan 

  • Sam Julien

  • Tracy Lee

  • Dean Radcliffe

  • Joe Eames

Sponsors

____________________________________________________________
"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!
___________________________________________________________

Links




be

JSJ 419: Google App Script with Ben Collins

Today’s guest is Ben Collins, who creates online courses, writes tutorials, and teaches workshops around G Suite and App Script. Apps Script is a scripting platform developed by Google for light-weight application development in the G Suite platform. It is an implementation of JavaScript with the express purpose of extending Google apps. App Script was started 10 years ago as a side project, and it eventually took on its own life. Ben talks about some of the different things that App Script can do and where things are stored. They discuss different ways you can get into the script and how to import external scripts from a CDN. Ben gives two examples, one simple and one sophisticated, that you might build from App Script. He talks about event triggers and how authentication is handled. He goes over the three deployment options, namely web app, app executable, sheets add-on, and deploying from the manifest. Ben talks about how triggers are managed in App Script and options for debugging. There is also the option to develop locally as well as in the browser. The show ends with him talking about how to build using HTML in App Script.

Panelists

  • Aimee Knight

  • Steve Edwards

  • Dan Shapir

Guest

  • Ben Collins

Sponsors

____________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Picks

Steve Edwards:

Aimee Knight:

Dan Shapir:

AJ O’Neal:

Bem Collins:




be

JSJ 428: The Alphabet Soup of Performance Measurements

JavaScript Remote Conf 2020

May 14th to 15th - register now!

Dan Shappir takes the lead to explain all of the acronyms and metrics for measuring the performance of your web applications. He leads a discussion through the ins and outs of monitoring performance and then how to improve and check up on how your website is doing.

Panel

  • AJ O’Neal
  • Aimee Knight
  • Steve Edwards
  • Dan Shappir

Sponsors

____________________________________________________________

"The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today!

____________________________________________________________

Links

Picks

AJ O’Neal:

Aimee Knight:

Dan Shappir:

Follow JavaScript Jabber on Twitter > @JSJabber