so

Handbook of lithium and natural calcium chloride : their deposits, processing, uses and properties / Donald E. Garrett (Saline Processors, Inc., Ojai, California)

Garrett, Donald E., author




so

Chemical and electrochemical leaching studies of synthetic and natural ilmenite in hydrochloric acid solutions / by Nurul Ain Jabit

Jabit, Nurul Ain, author




so

Physical metallurgy : principles and practice / V. Raghavan (Formerly Professor, Indian Institute of Technology Delhi)

Raghavan, V., author




so

Franklin says sorry to SEBI for official’s remarks

Issue pertains to closure of MF entity’s six debt schemes




so

Isolated heavy rain likely over N. Andhra

Heavy rainfall is likely at isolated places over north-coastal Andhra Pradesh and Yanam on May 10, the IMD said, adding that thunderstorms accompanied




so

VSP fire personnel play key role in containing gas leak

They also helped evacuate people from the affected area




so

New Zealand Veterinary Association (NZVA) Special Interest Branch Proceedings [electronic resource].

Publisher New Zealand : New Zealand Veterinary Association
Location World Wide Web
Call No. SF605




so

Lab animal [electronic resource].

Publisher New York, N.Y. : Nature America Inc.
Location World Wide Web
Call No. SF405.5




so

Proceedings of the Deer Branch of the New Zealand Veterinary Association.

Publisher Palmerston North, N.Z. : Deer Branch, the Association, 1984-
Location World Wide Web
Call No. SF401.D3




so

007 JSJ Online Resources for Javascript Developers

The panelists discuss online resources for JavaScript Developers.




so

013 JSJ Knockout.js with Steven Sanderson

The panelists discuss Knockout.js with Steven Sanderson




so

024 JSJ Strata.js with Michael Jackson




so

053 JSJ Software Team Dynamics

Use this link and code JAVAJAB to get 20% off your registration for FluentConf 2013! Panel Joe Eames (twitter github blog) Jamison Dance (twitter github blog) AJ O’Neal (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 02:48 - External Conflicts Dealing with people outside your own team 07:04 - Areas of Expertise 08:45 - Expectations and Deadlines Multiple Layers of Hierarchy Differences in Goals 13:47 - Flatter Structure Approach 15:21 - The Search for Developers Finding the ideal people What makes an ‘A Player’? Intellectual Capability 19:47 - Team Scaling/ Scaling Agile Scaling Agile @ Spotify How Stripe Builds Software, with Greg Brockman 25:10 - Team Diversity 29:57 - Team Dynamics Attitude Different: Escaping the Competitive Herd by Youngme Moon (Joe) 35:00 - Specialization 40:08 - Dealing with someone you don’t like Circumventing Confrontation 50:52 - Dealing with a non-engaged person Picks Honest and open conversations (Merrick) Noah Gundersen (Merrick) Oz the Great and Powerful (Joe) Different: Escaping the Competitive Herd by Youngme Moon (Joe) The Gifts of Imperfection: Let Go of Who You Think You’re Supposed to Be and Embrace Who You Are by Brené Brown (Joe) King of Tokyo (Joe) AngularJS (Joe) Kiki's Delivery Service (Jamison) Local 0.2.2 (Jamison) Ciaran Jessup (AJ) Psych Season 7 (AJ) Google+ Hangouts (AJ) ScreenFlow (AJ) Jing (Chuck) Transmit (Chuck) Next Week JavaScript Parsing, ASTs, and Language Grammar w/ David Herman and Ariya Hidayat Transcript CHUCK:  So, team dynamics this week? JOE:  Sorry, is that our discussion or is that what we decided to call ourselves? [Laughter] CHUCK:  It’s our discussion topic this week. AJ:  We are Team Dynamics. JOE:  Because if we’re going with names, I would like to submit the Wolverines. CHUCK:  The Wolverines? I think it’s taken by a University around here. AJ:  Yeah, and my high school back in Virginia, and that dude from New Zealand who plays in X-Men. CHUCK:  That dude? AJ:  Yeah, that dude, Hugh Jackman. CHUCK:  [Chuckles] [Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] CHUCK:  Hey everybody, and welcome to Episode 53 of the JavaScript Jabber Show. This week on our panel, we have Joe Eames. JOE:  Hi there. CHUCK:  Jamison Dance. JAMISON:  Hello, my mission is to bring calm to the boiling cauldron of hate that is the Internet. CHUCK:  AJ O’Neal. AJ:  Yo! Yo! Yo! Coming at you live from the pulling my hair out over Iowa. CHUCK:  Merrick Christensen. MERRICK:  What up? CHUCK:  I’m Charles Max Wood from DevChat.tv and don’t forget to use that code to get into Fluent Conf. MERRICK:  It’s a big conference. You can go to FluentConf.com for the schedule, happens May 28th to the 30th, it’s at the Hilton Union Square in San Francisco. And for our listeners, you can actually get 20% off on your ticket using JAVAJAB. And that will give you 20% off on the registration. CHUCK:  This week, we’re going to be talking about team dynamics and all the fun stuff that goes with it. To start us off, I kind of want to ask because I always get good stories from people when I ask questions like this. What is your worst team experience? JOE:  That’s quite a way to start it off. It sounds like a good way to get me to burn some bridges. AJ:  No, no, I know this one… JAMISON:  I played little league and I was scared of the ball. And I had the bat and I was really short and they wanted me to bat first because I’d be walked all the time to get on base but I just wanted to quit.




so

071 JSJ JavaScript Strategies at Microsoft with Scott Hanselman

Panel Scott Hanselman (twitter github blog) Joe Eames (twitter github blog) Aaron Frost (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:14 - Scott Hanselman Introduction Community Program Manager for Web Tools at Microsoft Azure and Web Tools ASP.NET Runtime 03:17 - Microsoft and JavaScript Microsoft Build Developer Conference Scott Hanselman: Angle Brackets, Curly Braces, One ASP.NET and the Cloud Json.NET 13:40 - The Cost of Web Development Tooling Sublime Text Visual Studio 18:17 - Libraries and Frameworks Knockout 24:14 - Innovation in Software Befunge 29:48 - Apps Supporting JavaScript Create your first Windows Store app using JavaScript (Windows) Visual Studio Express 34:14 - Windows and Internet Explorer Chakra 40:42 - Microsoft’s Attitude Towards JavaScript Scott Hanselman: Azure for the non-Microsoft Person - How and Why? 45:58 - Open Source 49:12 - asm.js 52:05 - Angle Brackets Conference Picks The Wolverine (Joe) ng-conf (Joe) Cancún (Aaron) @ngconf (Aaron) Wistia (Chuck) Mumford And Sons 'Hopeless Wanderer' Music Video (Scott) Beyoncé Joins the Short Hair Club (Scott) Next Week Screencasting: Sharing What You Know Through Video Transcript [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.]  [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]  [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.] CHUCK:  Hey everybody and welcome to Episode 71 the JavaScript Jabber show. This week on our panel, we have Joe Eames. JOE:  Hey. CHUCK:  Aaron Frost. AARON:  Hello. CHUCK:  I’m Charles Max Wood from DevChat.TV. And we have a special guest that is Scott Hanselman. SCOTT:  Hello. CHUCK:  Since you’re new to the show, do you want to introduce yourself really quickly? SCOTT:  My name is Scott Hanselman. You can learn more about me on the internet by googling for Scott. I’m in an epic battle right now with the Scott toilet paper people. You’ll find me just below Scott toilet tissue. I’ve been blogging for ten years. More than ten years, 13 years. I work at Microsoft right now. Before that I worked in finance at a company called Corillian that is now Fiserv. I’ve been building big systems on the web for as long as the web’s been around. CHUCK:  Wow. What do you do at Microsoft? SCOTT:  I work in Azure and Web Tools. I’m a program manager. I’m in charge of the experience from file new project until deployment. I call myself the PM of miscellaneous. I spend time going through that experience making sure that it doesn’t suck. My focus is on web tools but also ASP.NET Runtime and what the experience is when you deploy something into Azure. That might be everything from what’s it like editing JavaScript in Visual Studio and I’ll find some issue and go and work with the guys that own that, or it might be someone’s trying to do something in Node on Azure and that experience is not good. I’m like an ombudsman or a customer liaison. But the simplest way would be to say I’m the community PM, community program manager, for web tools at Microsoft. CHUCK:  Okay. AARON:  Cool. CHUCK:  So, is JavaScript your primary focus? SCOTT:  I would say that my primary focus is just anything that makes the web better and moves the web forward. While I work for ASP.NET and most of my work is in C#,




so

081 JSJ Promises for Testing Async JavaScript with Pete Hodgson

Pete Hodgson crosses over from the iPhreaks podcasts to talk with the Jabber gang about testing asynchronous Javascript with promises.




so

083 JSJ FRP and RxJS with Matthew Podwysocki

In this episode, the panelists talk to Matthew Podwysocki about Functional Reactive Programming and RxJS.




so

091 JSJ JSON APIs

The panelists discuss JSON APIs.




so

095 JSJ AngularUI with Dean Sofer

The panelists talk to Dean Sofer about AngularUI.




so

100 JSJ Centennial Episode Celebration

The panelists celebrate their 100th episode!




so

102 JSJ Angular and Open Source Projects with Brad Green

The panelists talk to Brad Green of Google, about Angular.js and managing open source projects.




so

120 JSJ Google Polymer with Rob Dodson and Eric Bidelman

The panelists talk to Rob Dodson and Eric Bidelman about the Google Polymer project and Google I/O.




so

122 JSJ Socket.IO with Guillermo Rauch

The panelists talk to Guillermo Rauch about Socket.io.




so

123 JSJ Traceur with Erik Arvidsson

The panelists chat with Erik Arvidsson about Traceur.




so

134 JSJ Quilljs with Jason Chen

The panelists discuss Quilljs with its' creator, Jason Chen.




so

141 JSJ Firefox OS with Jason Weathersby

The panelists talk about Firefox OS with Jason Weathersby.




so

156 JSJ Soft Skills and Marketing Yourself as a Software Developer with John Sonmez

Check out ReactRally: A community React conference in Salt Lake City, UT from August 24th-25th!

03:36 - John Sonmez Introduction

04:29 - Mastermind Groups

05:53 - “Soft Skills”

  • Why Care About Soft Skills?
    • People Skills
    • Finances
    • Fitness

11:53 - Learned vs Innate

  • Lifting Limited Beliefs
  • Practice

14:14 - Promotion (Managerial) Paths

17:52 - “Marketing”

29:53 - Get Up and CODE!

33:47 - Burnout

Get John’s How to Market Yourself as a Software Developer Course for $100 off using the code JSJABBER

Comment on this episode for your chance to win one of two autographed copies of Soft Skills: The Software Developer's Life Manual by John Sonmez

Picks

The Recurse Center (Jamison)
Code Words Blog (Jamison)
DayZ Player Sings (And Plays Guitar) For His Life (Jamison)
Demon (Jamison)
Mastodon: Leviathan (Jamison)
Jan Van Haasteren Puzzles (Joe)
Hobbit Tales from the Green Dragon Inn (Joe)
AngularJS-Resources (Aimee)
Superfeet Insoles (Aimee)
Good Mythical Morning (AJ)
The Magic of Thinking Big by David J. Schwartz (Chuck)
Streak (John)
The E-Myth Revisited: Why Most Small Businesses Don't Work and What to Do About It by Michael E. Gerber (John)
Influence: The Psychology of Persuasion, Revised Edition by Robert B. Cialdini (John)
Do the Work by Steven Pressfield (John)
The War of Art: Break Through the Blocks and Win Your Inner Creative Battles by Steven Pressfield (John)

 




so

162 JSJ ESLint with Jamund Ferguson

02:15 - Jamund Ferguson Introduction

02:47 - Lint (Background)

04:48 - Keeping ESLint Up-to-date

08:09 - Abstract Syntax Tree (ASTs)

13:28 - Using Lint Tools

20:42 - Are there a downsides to linting?

  • The Social Problem

23:40 - Establishing Rules

25:12 - Cool ESLint Features

30:45 - How ESLint Works Internally

40:07 - Getting Started with Linting

43:03 - Autofixer

44:41 - Plugins

46:47 - Linter Feedback From the Panel

Picks

Mozilla (AJ)
We Will All Be Game Programmers (Aimee)
Search Inside Yourself: The Unexpected Path to Achieving Success, Happiness (and World Peace) by Chade-Meng Tan (Aimee)
Good Mythical Morning (Dave)
Salt Lake City (Dave)
BB King Calls This One Of His Best Performances (Jamison)
json-server (Jamison)
Austenland (Joe)
Supergirl (Joe)
A Short History of Nearly Everything by Bill Bryson (Jamund)
The Book of Mormon (Jamund)

 

 

 

 

 




so

163 JSJ Flow with Jeff Morrison and Avik Chaudhuri

03:32 - Jeff Morrison Introduction

03:46 - Avik Chaudhuri Introduction

04:27 - Flow

05:36 - Static Type Checking

09:52 - Flow and Unit Testing

12:39 - Gradual Typing

15:07 - Type Inference

17:50 - Keeping Up with New Features in JavaScript

20:49 - Generators

24:46 - Working on Flow

28:27 - Flow vs TypeScript

35:41 - Putting the “Java” Back in JavaScript

  • Server/Client Overview
  • Prototyping

45:26 - Flow and the JavaScript Community

46:43 - React Support

48:39 - Documentation

Picks

Nolan Lawson: We have a problem with promises (Aimee)
Jim 'N Nick's BBQ Restaurant (Aimee)
Frank McSherry: Scalability! But at what COST? (Jamison)
Frank McSherry: Bigger data; same laptop (Jamison)
Greg Wilson: What We Actually Know About Software Development, and Why We Believe It's True (Jamison)
Marron: Time-Travel Debugging for JavaScript/HTML Applications (Jeff)
Real World OCaml (Jeff)

Muse (Jeff)
Shtetl-Optimized (Avik)
Chef's Table (Avik)




so

172 JSJ NodeSchool with Jason Rhodes

Check out Angular Remote Conf!

 

02:22 - Jason Rhodes Introduction

03:46 - NodeSchool

06:05 - “Workshopper(s)”

07:13 - How Meetups Run (Format), Target Audience

11:09 - Pair Programming and Peer Learning

14:34 - Starting a NodeSchool Chapter

15:53 - Implementing Diversity

18:07 - Mentoring and Mentorship

20:49 - Time Commitment and Effort

24:02 - Appealing to All Experience Levels of Attendees

26:48 - The NodeSchool Community

30:45 - Being a Member of an Open Source Community

Picks

Better Off Ted (Joe)
Cat Exercise Wheel (Aimee)
That Conference (Joe)
primitive.io (Joe)
React Rally (Aimee)
Falcor YouTube Playlist (Aimee)
javascriptjabber.com/15minutes (Chuck)
Entreprogrammers Retreat 2015  (Chuck)
Love Letter (Jason)
charmCityJS (Jason)
Mad Max: Fury Road (Jason)




so

182 JSJ RxJS with Matthew Podwysocki

02:19 - Matthew Podwysocki Introduction

04:01 - RxJS

10:18 - Practical Experience of Use

  • Observables

17:28 - observable-spec

21:43 - Observables and Promises

25:06 - Using RxJS in Common Frameworks

27:53 - Are there places where observables might not be better than callbacks/Promises?

29:16 - Why would someone use RxJS on the backend in place of Node streams?

32:28 - Are Promises dying?

36:13 - Observable Gotchas

  • Hot vs Cold Observables

40:29 - Influence

47:47 - Will observables in ES2016 replace RxJS?

Picks

A cartoon guide to Flux (Aimee)
Promisees (Aimee)
The Dear Hunter - Act IV Rebirth in Reprise (Jamison)
Jessie Char: Expert On Nothing @ NSConf7 (Jamison)
XHR Breakpoints (Dave)
Glove and Boots (Dave)
Computer Programming (Joe)
Evan Czaplicki’s Thesis for Elm (Joe)
The Alchemist by Paulo Coelho (Chuck)
thaliproject (Matthew)
BBC Micro Bit (Matthew)
Minutemen (Matthew)




so

185 JSJ PouchDB with Nolan Lawson

Check out JS Remote Conf!

 

02:29 - Nolan Lawson Introduction

04:19 - PouchDB (vs CouchDB)

05:25 - CouchDB Emulation

06:45 - How CouchDB Works

08:26 - Syncing and Replication

10:43 - PouchDB vs Other Paradigms for Building Client-side Apps and Managing Data

13:58 - AP Databases / CP Databases / CA Databases

17:25 - Ignoring Merge Conflicts

20:08 - Mutability vs Immutability

  • “Accountants don’t use erasers”

21:29 - Offline First

24:59 - Client-to-client Syncing

25:54 - IndexDB and Local Storage

28:50 - Authentication and Authorization

30:30 - Mobile Support

31:42 - Resource Usage When Syncing

33:06 - Use Cases

34:53 - Partitioning Data

36:22 - Getting Started

37:09 - Contribution

38:53 - Upcoming Features

Picks

source-map-explorer (Jamison)
Facebook: Managing Bias Videos (Jamison)
Computers Are Fast (Jamison)
86 Mac Plus Vs. 07 AMD DualCore. You Won't Believe Who Wins (Jamison)
Authy App (AJ)
Chip Network Channel on YouTube (AJ)
Oregon (AJ)
Browser Authenticator (AJ)
Node Authenticator (AJ)
AngularConnect (Aimee)
Kevin Old (@kevinold) (Aimee)
Jordan Kasper (@jakerella) (Aimee)
Highrise (Chuck)
Streak (Chuck)
The Accursed Kings Series by Maurice Druon (Nolan)
The Smash Brothers (Nolan)
Super Smash Bros. Melee (Nolan)




so

200 JSJ EPISODE 200!!!

02:52 - What’s up Merrick Christensen?

03:43 - Favorite Episodes

08:58 - How have ideas about JavaScript changed since being a panelist on the show?

15:01 - Off the Air Experiences        

20:23 - Work/Job Changes

23:54 - JS Jabber = Newbie-Friendly

24:58 - Work/Job Changes (Cont’d)

35:25 - Organizing Conferences and Name Recognition

40:55 - Spinoff Shows

45:08 - Podcast Administration and Organization; Episode Release Timeline

Picks

JavaScript Jabber (Joe)
The Harry Potter Audiobooks (Joe)
Calamity by Brandon Sanderson (Joe)
AngularConnect (Joe)
Dennis Overbye: Gravitational Waves Detected, Confirming Einstein’s Theory (AJ)
The God Who Weeps: How Mormonism Makes Sense of Life by Terryl Givens (AJ)
Julia Evans: Have high expectations for your computers (Jamison)
January 28th GitHub Incident Report (Aimee)
Denzel Brade: Front End Dev — Running before you can walk (Aimee)
Captivating Revised and Updated: Unveiling the Mystery of a Woman's Soul by John Eldredge and Stasi Eldredge (Aimee)
drone (Merrick)
Haskell Book (Merrick)
Amazon Prime (Chuck)
nexxt Maine Wall Shelf/Floating Ledge (Chuck)
Read the presidential candidate’s books (Chuck)




so

204 JSJ Free Code Camp with Quincy Larson

03:10 - Quincy Larson Introduction

03:20 - Free Code Camp

04:47 - Quincy’s Background

06:43 - Curriculum and Non-Profit Projects

09:47 - Keeping the Curriculum Updated

10:30 - Enrollment; Starting & Finishing

12:20 - Resources for Learning

15:39 - Funding

16:06 - Working Through a Self-Paced System vs Structure

17:17 - Nonprofits

19:51 - Learning to Work on Non-Greenfield Code

21:47 - Getting Hired After the Program

23:21 - Marketing and Media

26:07 - Sustaining Living While Running This Program

27:31 - The Future of Free Code Camp

28:34 - Long-term Sustainability

29:44 - Hypothetical Monetization and Contribution

33:51 - Coding as a form of art or function?

36:55 - Partnerships

37:53 - Making Free Code Camp More Effective

39:18 - Criticism?

40:29 - Curriculum Development and Evolution

43:02 - Is Free Code Camp for everybody?

  • Read, Search, Ask

46:09 - The Community

51:07 - Getting Involved in Free Code Camp

Picks

Our Greatest Fear — Marianne Williamson (AJ)
The Rabbit Joint - The Legend of Zelda (AJ)
Nintendo (Twilight Princess HD Soundtrack) (AJ)
Steve Wozniak: The early days @ TEDxBerkeley (AJ)
Favor of the Pharaoh (Joe)
The Goldbergs (Joe)
The Best Podcast Rap (Chuck)
Word Swag (Chuck)
Cecily Carver: Things I Wish Someone Had Told Me When I Was Learning How to Code (Quincy)
Code for the Kingdom (Aimee)
diff-so-fancy (Aimee)





so

216 JSJ Angular with Rob Wormald Live from Microsoft Build 2016

This episode was recorded live from The Microsoft Build Conference 2016. In this episode we chatted with Rob Wormald of the Angular Core team at Google about Angular. You can follow him on Twitter, or check out what he’s done over on GitHub.

 

Picks




so

220 JSJ Teaching JavaScript with Kyle Simpson

02:25 - Kyle Simpson Introduction

04:43 - Development => Teaching

16:20 - Inheritance and Delegation

29:40 - Evolving a Language

36:23 - Cohersion

50:37 - Performance

  • The Width Keyword

54:33 - Developer Education Programs and The Skill of Teaching

 

Picks




so

221 JSJ Visual Studio Code with Wade Anderson Live From Microsoft Build 2016

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

 

Picks

 

A special thanks again goes out to Richard Campbell and Carl Franklin from .NETRocks for putting this podcast series together! You rock!




so

233 JSJ Google Chrome Extensions with John Sonmez

02:50 The definition of a plug-in

03:31 The definition of an extension

05:09 The way to determine the plug-ins and extensions you are running

08:22 How to create an extension file

11:02 The appeal of creating extensions

13:26 How John got into creating extensions

15:48 Ways to organize extensions

19:38 Aspects of chrome that will affect extensions

23:23 Packaging for the Chrome store

26:22 Using dev tools

29:42 Conflicting plug-ins/extensions and how to deal with them

31:30 Open source extensions

32:32 A quick way to create an extension

QUOTES:

“I teach software developers how to be cool.” –John Sonmez

“There wasn’t an ability to extend the dev tools, but now there is.” –John Sonmez

“One quick way to create an extension is just to take one of these sample apps…and then just start modifying it…” –John Sonmez

PICKS:

“Django Unchained” Website

“Using Angular 2 Patterns in Angular 1.x” Apps Egghead Course

Girls’ Life vs. Boys’ Life on Refinery29

Webinar Jam Software

 

“Five Mistakes That are Keeping You From Getting Hired” Webinar

Screencastify Chrome Extension

How to Fail at Almost Everything and Still Win Big Book on Amazon

The Complete Software Developers Career Guide Book in Progress

Simple Programmer Website

Simple Programmer on Youtube




so

236 JSJ Interview with Mads Kristensen from Microsoft Ignite

TOPICS:

4:00 Things that make web development more difficult

7:40 The developer experience with Angular

10:40 How cognitive cost affects the user experience

16:52 The variety of users for whom Mads’ software is built

22:14 Creating accessible javascript tools that aren’t immediately outdated

28:20 Why people shouldn’t be using dependency installers

34:00 Node updates

QUOTES:

“The massive introduction of new tools all the time is a big part of what makes web development harder.” -Mads Kristensen

“I’m not a pretty pixels person, I’m a code and algorithms person.” -AJ O’Neill

“I’m not hearing hype about people using HTTP2 to get those benefits, I’m only hearing hype around tools that Static built.” -AJ O’Neill

PICKS:

Death Note Anime Show

JS Remote Conference

The Alloy of Law Book by Brandon Sanderson

Zig Zigler Books on Audible

Mr. Robot TV Show

RESOURCES & CONTACT INFO:

Mads on Twitter

Mads’ Website

 




so

238 JSJ Intellectual Property and Software Forensics with Bob Zeidman

TOPICS:

03:08 The level of difficulty in determining code creators on the Internet

04:28 How to determine if code has been copied

10:00 What defines a trade secret

12:11 The pending Oracle v Google lawsuit

25:29 Nintendo v Atari

27:38 The pros and cons of a patent

29:59 Terrible patents

33:48 Fighting patent infringement and dealing with “patent trolls”

39:00 How a company tried to steal Bob Zeidman’s software

44:13 How to know if you can use open source codes

49:15 Using detective work to determine who copied whom

52:55 Extreme examples of unethical behavior

56:03 The state of patent laws

PICKS:

Cognitive Bias Cheat Sheet Blog Post

Bagels by P28 Foods

Let’s Encrypt Indigogo Generosity Campaign

Super Cartography Bros Album

MicroConf 2017

MindMup Mind Mapping Tool

Words with Friends Game

Upcoming Conferences via Devchat.tv

Good Intentions Book by Bob Zeidman

Horror Flick Book by Bob Zeidman

Silicon Valley Napkins




so

241 JSJ Microsoft Docs with Dan Fernandez

0:55 - Dan Fernandez and his work

7:50 - Walkthrough of the doc experience

15:00 - Editable nature of the doc

21:00 - Test driving a language

26:30 - Catering to the user

32:30 - Open Source

34:40 - User feedback

37:30 - Filters and Tables of Content

40:45 - Form submissions

41:50 - Community contributors

Picks:

Ghostbusters (AJ)

Daplie (AJ)

Daplie Wefunder (AJ)

.NET Rocks (Charles)

ScheduleOnce (Charles)

Devchat.tv 2017 Conferences (Charles)

Disable HTML5 Autoplay (Dan)

Visual Studio Code (Dan)

JSJ episode Visual Studio Code with Chris Diaz and Eric Gamma (Charles)




so

JSJ Special Episode: Azure with Jonathan Carter

On today's episode, Aimee Knight, AJ O'Neal, Cory House, Joe Eames, and Charles Max Wood discuss Azure with Jonathan Carter. Jonathan has been working at Microsoft for 10 years. He currently focuses on Node.js and Azure. Tune in to learn how you can use Azure in building applications and services.




so

JSJ 262 Mozilla Firefox Developer Tools with Jason Laster

Join AJ, Aimee, and Joe as they discuss Mozilla Firefox Developer Tools with Jason Laster. Jason just started working at Mozilla since March. But even before that, he has been working on Chrome's dev tool extension called Marionette. That's when he discovered that the browser is an open source that anyone can play with. Now, he is working on a new debugger in Firefox. Tune in!




so

JSJ 265 Wade Anderson and Ramya Rao on Visual Studio Code

JSJ 265 Wade Anderson and Ramya Rao on Visual Studio Code

This episode is live at the Microsoft Build 2017 with Charles Max Wood and AJ O’Neal. We have Wade Anderson and Ramya Rao from the Visual Studio Code Team at Microsoft. Tune in and learn more about what’s new with Visual Studio Code!

[00:01:20] – Introduction to Ramya Rao and Wade Anderson

Ramya Rao and Wade Anderson are in the Visual Studio Code Team at Microsoft.

Questions for Wade and Ramya

[00:02:00] – Elevator Pitch for Visual Studio Code

Our vision on Visual Studio Code is to take what was best out of the IDE world (Visual Studio, Eclipse, IntelliJ, etc.) and bring what was best from the lightweight editor world (Sublime Text, Notepad++, Atom) and merge those two together. We wanted the lightweight features from text editors and the debugging capabilities of Visual Studio and Eclipse. We did general availability last year. We’ve been stable for a year. Additionally, this is Visual Studio Code for Mac, Windows, or Linux. It’s also built in Electron.

[00:03:45] – What are your roles on the team? Do you have particular parts that each of you work on?

Wade’s title is a Program Manager. He does more non-developer things but Ramya is an engineer on the team so she gets a lot more coding that Wade does. Everybody has a key area to own but nothing stops them to go into another area. We try to share knowledge between people but we always have that one key owner that you always go to.

Ramya is a recent addition to the team. She started out maintaining the Go extension, maintaining and adding features. She’s slowly branching out to the Emmet features of the product.

[00:05:30] What is Emmet?

Emmet, or Zen Coding, is a must-have tool for you. You can write, say abbreviations and that expands to really huge HTML to update tags, rename tags, etc. That is one of the features of Emmet and Sergey actually wrote the library. We have an in built integration in the product. I [Ramya] am currently working on that.

[00:06:28] Does Visual Studio Code make it easy to go to the parts that I need to customize on an HTML?

In that case, we have a multi-cursor software in Visual Studio Code, as well. You could place your cursor in different positions, and then, simultaneously edit things.

[00:07:42] Is Emmet an extension or does it come with Visual Studio Code?

Right now, it’s in Built. If you want to know more about Emmet features, you can to emmet.io. That has all the documentation that you need to learn about Emmet features. In Visual Studio Code right now, we’re looking at making into an extension. We pull it out of the main code and maybe more people can contribute and make it even more better.

[00:08:21] – What’s new in Visual Studio Code?

One of our main pillars for this year is to improve performance of the product. We’ve grown a larger team so we’re adding a lot more features every month. Last few months has been, “How can we get some stability on the issues coming in while making sure we’re reducing our tech load?” We really keep to those core principles that we started with at the beginning, which was, we want a fast, lightweight editor.

We built a few extensions that we call key map extensions. They are just a mapping of key bindings that you learned in Sublime Text. You don’t have to re-learn any key bindings in Visual Studio Code.

We also build this Welcome page where you can flip through and see features really briefly. In that Welcome page, one of the key things is an interactive playground where you can play with existing code in different sections. Additionally, as we’ve mentioned, we also put multi-cursor features.

Another thing is workbench naming. You can change the theme of Visual Studio Code but it will be restricted to the editor and not the rest of the workbench.

[00:13:40] – Do you know how Xterm.js works as it was one of the features that you’ve added in Visual Studio Code?

Daniel’s another engineer that’s here with us today. He was the largest contributor to the Xterm.js project. He built the integrated terminal for Visual Studio code so I can’t speak to the internals of how that works.

[00:14:12] – Are we going to start seeing Visual Studio Code integrated into web experiences with other Microsoft products?

That’s actually where we started. We were Monaco editor where you get this cloud-based editing experience. We’re getting people to use it but we’re only getting people who were already using Microsoft products.  When electron came out, we saw an opportunity of, “Hey, can we port this  Monaco editor to Electron and we could then, run it on Mac and Linux.”

[00:19:45] – What are the performance things that you’ve done?

One thing that we did recently was adding an ability to calculate the start time for Visual Studio Code? That’s one of our full steps to get more information from the user-side. How can you get a profile of what things are running? Which part of the process took much time?

We also need to identify what are the things people are doing that’s causing the editor slow down. An example is when you open a large file and things get laggy.

Another exercise we did was we looked at all of our extension API’s to see which one of those could be a malicious extension.

The difference between VS Code and Atom is that, we ask questions like, “Are we using good data structures? Are we managing our memory properly? Are we removing stuff we don’t need anymore?” That just comes down to all those little things you learn from basic textbooks that have been around for decades about how to write good code. That’s what we have been doing and that’s what we’ll continue to try to do, to try and improve the performance.

[00:25:55] – Do you have problem on the desktop? Are all the modules just load at once?

We definitely don’t load everything at once. Different parts of the editor is loaded differently. When you do the Require, we don’t do it at first load. We do it when we notice that the user wants to use Emmet. We don’t try to load all the library at the beginning and delay the whole process.

We try to lazy load as much as possible, even the extensions. We have a separate process called extension host that takes care of loading all the extensions. Whether the extensions are completed loading or not, that does not stop you from typing in a file. Simple actions shouldn’t be bugged down by fancy actions.

[00:28:25] – What’s coming next for Visual Studio Code?

Every month, when we plan our iteration, we create iteration draft plan. We put it out there for people to see. Performance and helping people get started are probably the top two for us. You can look at github.com/Microsoft/vscode, look for the label ‘iteration plan draft.’ So that’s the current work that we’re doing that month.

Another feature is the multi-root workspace where you can open multiple folders. When you look at the issues and sort by most comments, multi-root is the number one. The second one that is little paper cuts around formatting and auto-intending – just things that make your code prettier.

Picks

AJ O’neal

  • Breath on the Wild
  • Microsoft’s Intelligent Edge

Charles Max Wood

  • Boom Beach
  • Bluetick.io
  • Emacs key binding extension for Visual Studio Code

Wade Anderson

  • Kindle Paperwhite
  •  Twitter @waderyan_

Ramya Rao

  • Open source
  • Twitter @ramyanexus




so

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




so

JSJ 270 The Complete Software Developers Career Guide with John Sonmez


JSJ 270 The Complete Software Developers Career Guide with John Sonmez

This episode features a panel of Joe Eames, AJ O’Neal, as well as host Charles Maxwell. Special guest John Sonmez runs the website SimpleProgrammer.com that is focused on personal development for software developers. He works on career development and improving the non-technical life aspects of software developers. Today’s episode focuses on John’s new book The Complete Software Developers Career Guide.


Did the book start out being 700 pages?

No. My goal was 200,000 words. During the editing process a lot of questions came up, so pages were added. There were side sections called “Hey John” to answer questions that added 150 pages.

Is this book aimed at beginners?

It should be valuable for three types of software developers: beginner, intermediate, and senior developers looking to advance their career. The book is broken up into five sections, which build upon each other. These sections are: - How to get started as a software developer - How to get a job and negotiate salary - The technical skills needed to know to be a software developer - How to work as a software developer - How to advance in career

Is it more a reference book, not intended to read front to back?

The book could be read either way. It is written in small chapters. Most people will read it start to finish, but it is written so that you can pick what you’re interested in and each chapter still makes sense by itself.

Where did you come up with the idea for the book?

It was a combination of things. At the time I wanted new blog posts, a new product, and a new book. So I thought, “What if I wrote a book that could release chapters as blog posts and could be a product later on?” I also wanted to capture everything I learned about software development and put it on paper so that didn’t lose it.

What did people feel like they were missing (from Soft Skills) that you made sure went into this book?

All the questions that people would ask were about career advice. People would ask things regarding: - How do I learn programming? - What programming language should I learn? - Problems with co-workers and boss - Dress code

What do you think is the most practical advice from the book for someone just getting started?

John thinks that the most important thing to tell people is to come up with a plan on how you’re going to become educated in software development. And then to decide what you’re going to pursue. People need to define what they want to be. After that is done, go backwards and come up with a plan in order to get there. If you set a plan, you’ll learn faster and become a valuable asset to a team. Charles agrees that this is how to stay current in the job force.

What skills do you actually need to have as a developer?

Section 3 of the book answers this question. There was some frustration when beginning as a software developer, so put this list together in the book. - Programming language that you know - Source control understanding - Basic testing - Continuous integration and build systems - What kinds of development (web, mobile, back end) - Databases - Sequel

Were any of those surprises to you?

Maybe DevOps because today’s software developers need to, but I didn’t need to starting out. We weren’t involved in production. Today’s software developers need to understand it because they will be involved in those steps.

What do you think is the importance of learning build tools and frameworks, etc. verses learning the basics?

Build tools and frameworks need to be understood in order to understand how your piece fits into the bigger picture. It is important to understand as much as you can of what’s out there. The basics aren’t going to change so you should have an in depth knowledge of them. Problems will always be solved the same way. John wants people to have as few “unknown unknowns” as possible. That way they won’t be lost and can focus on more timeless things.

What do you think about the virtues of self-taught verses boot camp verses University?

This is the first question many developers have so it is addressed it in the book. If you can find a good coding boot camp, John personally thinks that’s the best way. He would spend money on boot camp because it is a full immersion. But while there, you need to work as hard as possible to soak up knowledge. After a boot camp, then you can go back and fill in your computer science knowledge. This could be through part time college classes or even by self-teaching.

Is the classic computer science stuff important?

John was mostly self-taught; he only went to college for a year. He realized that he needed to go back and learn computer science stuff. Doesn’t think that there is a need to have background in computer science, but that it can be a time saver.

A lot of people get into web development and learn React or Angular but don’t learn fundamentals of JavaScript. Is that a big mistake?

John believes that it is a mistake to not fully understand what you’re doing. Knowing the function first, knowing React, is a good approach. Then you can go back and learn JavaScript and understand more. He states that if you don’t learn the basics, you will be stunted and possibly solve things wrong. Joe agrees with JavaScript, but not so much with things algorithms. He states that it never helped him once he went back and learned it. John suggests the book Algorithms to Live By – teaches how to apply algorithms to real life.

Is there one question you get asked more than anything else you have the answer to in the book?

The most interesting question is regarding contract verses salary employment and how to compare them. It should all be evaluated based on monetary value. Salary jobs look good because of benefits. But when looking at pay divided by the hours of work, usually a salary job is lower paid. This is because people usually work longer hours at salary jobs without being paid for it.

What’s the best place for people to pick up the book?

simpleprogrammer.com/careerguide and it will be sold on Amazon. The book will be 99 cents on kindle – want it to be the best selling software development book ever.


Picks

Joe

Wonder Woman

AJ

The Alchemist

Charles

Artificial Intelligence with Python

John

Algorithms to Live by: The Computer Science of Human Decisions Apple Airpods


Links

Simple Programmer Youtube




so

MJS #027 Chris Anderson

MJS 027 Chris Anderson

This episode is a My JavaScript Story with guest Chris Anderson. Chris works at Microsoft, specifically on Azure Functions and WebJobs SDK. Hear how he got his start, how he has contributed to the community, as well as a bit about what it’s like being a Program Manager for Microsoft. 


[00:01:50] ]How did you get into programming?

In college Chris was an aerospace engineer. His first taste of working with code was at an internship at Lockheed Martin. Most of his daily work was with spread sheets so he learned Visual Basic to help handle that. He found himself interested in writing code more so he took an intro in C summer course and then things snowballed. When he finished that semester, he talked to advisor about switching to Computer Science. Immediately landed into JavaScript. Chris talks about having a ‘clicking moment’ while in a topics class. A classmate was talking about NodeJS and so he tried it out and hasn’t stopped using it since.

[00:03:36] What about programing appealed to you?

Chris says that programming made him have a sense of having superpowers. In aerospace he learned how planes worked and that was fun, but programming had an immediately feedback on what he was working on. He adds that it made sense in the way that programming is a universal toolset for no matter what field you’re in. Charles adds that he dug into coding after working in tech support and needing it.

[00:05:22] Have you worked with JavaScript before learning about Node?

Chris’ first real coding experience was with his internship. He taught himself JavaScript on the job and after a few months found himself really liking it. He felt like JavaScript felt more natural and expressive. Javascript empowered him to work on the client side and the server side and he felt empowered to do full stack.

[00:06:55] Was this before Microsoft?

Microsoft’s hiring process for college graduates you apply the year you graduate and go through a handful of interviews. He got hired into a team working on databases, working in SQL server. He wanted to work in developer tools and learned how to use power shell and SQL works and how powerful it was. He started moving back and pushing NodeJS onto SQL. There was a driver for SQL purely in JavaScript called TDS and he would make pull requests and contributed to that. He talks about searching internally looking for other work and finding a mobile services team that needed a NodeJS person so he started there. Later he started WebJobs and then later Functions, as an effort to make NodeJS technology work with a .Net technology called Webjobs SDK. Functions exists because he wanted to add a NodeJS to a .Net product.

[00:11:07] ] Did you find pushing NodeJS into a well developed language ecosystem risky?

Chris talks about helping push adoption of .Net and creating prototype ideas, and it sparking from that. His goal was to make customers more productive.

[00:12:02] Having fun at work

Chris talks about the team culture being fun at times. Sometimes as a developer you get buffered by Project Managers, but in the case developers spend a lot of time talking to customers. They are excited so they have loads of interactions, helping develop diverse ideas. Charles adds that the preconception to how the environment feels in Microsoft tends to be negative but from talking to people who work there, things seem to be more open than expected. Chris points to open source concepts that really makes working with Microsoft great.

[14:40] What does a Program Manager do on a team?

Chris talks about how his job is to explore the issues and talk to customers and then prioritize how to make things better. He talks about doing whatever he can to make the product successful with the customers, including building a prototype of an idea, taking a sort of position similar to an entrepreneur. Charles adds that it’s refreshing to find that someone in the Program Manager also being technical sufficient and hands on. Chris talks about how teams are built naturally and pulled together with a group of people who love what they are doing.

[00:16:52] Does the Azure Functions team use Azure Functions to make Azure Functions work?

Chris talks about not using Azure functions under the covers, for the most part it’s built on top of the app service technology stack like web apps and mobile apps. Things that power that is what powers the Azure functions, like Angular. A lot of the engineering pieces are on top of that. They do use Azure for various Microsoft internal things. All of the tests they build are functions to test functions.

[00:18:24] How did you and your team come to use Angular?

Chris was working on the prototype for Azure Functions. Amed had experience with working on front end applications and he wanted to try out Angular 2 even though it was still in beta. He found that had the right amount of stuff out of the box. Additionally it had typescript which meshed well. They tend to pick things that people on the team know well and not as much as trying to stay tied into Microsoft supported systems. Chris talks about doing one or two major refactoring.

How much Angular have you worked on yourself?

Amed works the most on Angular, Chris’ job as Program Manager puts in him in a place where his commits don’t go into production, but he will often write prototypes. He played around a lot with the Monaco editor and adding features for that. As far as outside of that, he has written a few tutorials for using Functions plus Angular as well as written his wedding website with Angular.

[00:22:33] What other extracurricular projects have you worked on?

Chris talks about doing a lot of side projects for a while. One working with ExpressSocket.io. He also built a middleware project where you can write middleware into Functions. Plenty of little projects he puts on GitHub and never finishes. Chris talks about wishing he could switch hats between being the Program Manager and a developer.

[00:23:42] Is there anything in particular you feel like you’ve contributed to Angular?

Chris talks about improving by putting in loads of pull requests for tons of JavaScript libraries and a few NodeJS libraries. He would like to be more involved in the start of those processes. Chris says he hopes to maybe be involved in the next Node version update. He really likes the Node community.


Picks

Chris

Mountain Dew Pitch Black
The Expanse Series on SciFi
Application Insights

Charles

Wheel of Time
Coolage
Dog Company
Data Dog


Links

Twitter
GitHub




so

JSJ 277: Dojo 2 with Dylan Schiemann and Kitson Kelly

JSJ 277: Dojo 2 with Dylan Schiemann and Kitson Kelly

This episode of JavaScript Jabber features panelists Aimee Knight, Cory House, and Charles Max Wood. They talk with Dylan Schiemann and Kitson Kelly about Dojo 2.

[00:02:03] Introduction to Dylan Schiemann

Dylan is the CEO at Sitepen and co-founder of the Dojo Toolkit.

[00:02:22] Introduction to Kitson 

Kitson is the CTO at Sitepen and project lead for Dojo 2.

[00:02:43] Elevator Pitch for Dojo

Dojo 1 has been around forever. Started back in 2004 as a way to solve the challenge of "I want to build something cool in a browser." Promises and web components were inspired by or created by Dojo. It's been a huge influence on the web development community.

Dojo 2 is a ground up re-write with ES 2015, TypeScript and modern API's. It's a modernized framework for Enterprise applications.

[00:04:29] How is Dojo different from other frameworks?

There's a spectrum: small libraries like React with an ecosystem and community of things you add to it to Angular which is closer to the MV* framework with bi-directional data binding. Vue lands somewhere in the middle. Dojo 2 is also somewhere in the middle as well. It's written in TypeScript and has embraced the TypeScript experience.

[00:06:00] Did the Angular 2 move influence the Dojo 2 development and vice-versa?

Dojo 2 had moved to TypeScript and 2 days later Angular announced that they were going to TypeScript. Angular also moved very quickly through their BETA phase, which caused some challenges for the Angular community.

With Dojo 2, they didn't start the public discussion and BETA until they knew much better what was and wasn't going to change. They've also been talking about Dojo 2 for 6 or 7 years.

The update was held up by adoption of ES6 and other technologies.

Dojo 1 was also responsible for a lot of the low-level underpinning that Angular didn't have to innovate on. Dojo 2 was built around a mature understanding of how web applications are built now.

People doing Enterprise need a little more help and assistance from their framework. Dojo provides a much more feature rich set of capabilities.

Angular could have pushed much more of TypeScript's power through to the developer experience. Dojo much more fully adopts it.

It's also easier if all of your packages have the same version number.

Call out to Angular 4 vs Angular 2.

[00:12:44] AMD Modules

Why use AMD instead of ES6 modules?

You can use both. Dojo 2 was involved in the creation of UMD. James Burke created UMD while working on Dojo.

ES6 modules and module loading systems weren't entirely baked when Dojo 2 started to reach maturity, so they went with UMD. It's only been a few months since Safari implemented the ES6 module system. Firefox and friends are still playing catchup.

The Dojo CLI build tool uses webpack, so it's mostly invisible at this point.

So, at this point, should I be using UMD modules? or ES6? Is there an advantage to using AMD?

With TypeScript you'd use ES6 modules, but UMD modules can be loaded on the fly.

[00:16:00] Are you using Grunt?

Internally, for tasks we use Grunt. But for users, we have a CLI tool that wraps around Webpack.

For package builds and CI, Grunt is used.

[00:18:30] What is the focus on Enterprise all about?

There are a lot of different challenges and complexities to building Enterprise apps. Dojo was the first framework with internationalization, large data grids, SVG charts, etc. Dojo has spend a long time getting this right. Many other systems don't handle all the edge cases.

Internationalization in Angular 2 or 4 seems unfinished.

Most Dojo users are building for enterprises like banks and using the features that handle large amounts of data and handle those use cases better.

[00:21:05] If most application frameworks have the features you listed, is there a set of problems it excels at?

The Dojo team had a hard look at whether there was a need for their framework since many frameworks allow you to build great applications. Do we want to invest into something like this?

React has internationalization libraries. But you'll spend a lot of time deciding which library to use and how well it'll integrate with everything else. A tradeoff in decision fatigue.

In the Enterprise, development isn't sexy. It's necessary and wants to use boring but reliable technology. They like to throw bodies at a problem and that requires reliable frameworks with easily understood decision points.

Producing code right is a strong case for TypeScript and they pull that through to the end user.

Many frameworks start solving a small set of problems, become popular, and then bolt on what they need to solve everything else...

Dojo tried to make sure it had the entire package in a clear, easy to use way.

You can build great apps with most of the big frameworks out there. Dojo has been doing this for long enough that they know where to optimize for maintainability and performance.

[00:29:00] Where is Dojo's sweet spot? 

The Sitepen Blog series on picking a framework

The biggest reason for using Dojo over the years is the data grid component.

They also claim to have the best TypeScript web development experience.

You may also want a component based system with the composition hassles of React.

The composability of components where one team may write components that another uses is a big thing in Dojo where one person doesn't know the entire app you're working on.

Theming systems is another selling point for Dojo.

[00:34:10] Ending the framework wars

Try Dojo out and try out the grid component and then export it to your Angular or React app.

There are a lot of frameworks out there that do a great job for the people who use them. The focus is on how to build applications better, rather than beating out the competition.

Sitepen has build apps with Dojo 2, Angular, React, Dojo + Redux, etc.

[00:39:01] The Virtual DOM used by Dojo

2 years ago or so they were looking for a Virtual DOM library that was small and written in TypeScript. They settled on Maquette.

The more you deal with the DOM directly, the more complex your components and libraries become.

Makes things simpler for cases like server side rendering getting fleshed out in BETA 3.

It also allows you to move toward something like React Native and WebVR components that aren't coupled to the DOM.

They moved away from RxJS because they only wanted observables and shimmed in (or polyfilled) the ES-Next implementation instead of getting the rest of the RxJS  that they're not using.

[00:46:40] What's coming next?

They're finishing Dojo 2. They're polishing the system for build UI components and architecture and structuring the app. They plan to release before the end of the year.

They're also wrapping up development on the Data Grid, which only renders what shows on the screen plus a little instead of millions of rows.

[00:49:08] Testing

They've got intern.

It pulls together unit testing, functional testing, continuous integration hooks, accessibility testing, etc.

It's rewritten in TypeScript to take advantage of modern JavaScript.

The Dojo CLI uses intern as the default test framework.

Kitson build the test-extras library to help with Dojo testing with intern.

Dojo Links

Picks

Cory

Aimee

Chuck

Dylan

Kitson

 




so

JSJ 289: Visual Studio Code and Live Sharing with Chris Dias and PJ Meyer LIVE at Microsoft Connect 2017

Panel:

Charles Max Wood

Special Guests: 

Chris Dias

PJ Meyer

In this episode, Charles is at Microsoft Connect 2017 in NYC. Charles speaks with Chris Dias and PJ Meyer about Visual Studio Code and Live Sharing. Chris and PJ explain more on their demo at Microsoft Connect on Live Collaborative Editing and Debugging. Learn more about the new features with Visual Studio Code and the efficient workflows with screen sharing, and much more.

In particular, we dive pretty deep on:

  • Demo of Live Collaborative Editing and Debugging explained
  • New Features with VS Code
  • Developer productive
  • Debugging pain points
  • Getting feedback
  • New in VS Code
  • Language support and Java Debugger
  • Live Share
  • Debugging from different machines and platforms
  • Multi-Stage Docker File
  • TypeScript compiler
  • More on debugging with Cosmos db
  • Debugging in the Cloud?
  • Docker Extensions
  • Data Bricks
  • Updated python tools
  • Coming up with Visual Studio Code in the next 6 months
  • TypeScript and Refactoring
  • Getting the word out about code -  Word of mouth?
  • Number of people using VS Code?
  • Envision for what VS Code is becoming?
  • Preparing for a keynote and processes?
  • And much more!

Links:

Picks:

Chris

  • Pizza

PJ

  • Deli

Charles

  • Coupon Pass for tourist in NYC
 




so

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

Panel:

Charles Max Wood

Aimee Knight

Corey House

Joe Eames

Special Guests: 

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

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

In particular, we dive pretty deep on:

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

Links:

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

Picks:

Aimee

Dirk

Charles

Corey

Joe