sh

148 JSJ i.cx and EveryBit.js with Matt Asher and Dann Toliver

02:24 - Dann Toliver Introduction

02:35 - Matt Asher Introduction

02:51 - EveryBit.js and I.CX

03:43 - Architecture

06:54 - Sustainability and The Pieces of the System

21:56 - Decentralization

25:20 - Audience: Why Should I Care?

27:38 - Getting Started: Nuts and Bolts

  • Frontend Agnostic
  • Storage and Performance
  • Users and Data Management
    • Payload Properties
    • Metadata
    • Graph Database
      • Adding New Relationships
      • Adding Heuristics
      • Resource Allocator Component
        • Local Storage
        • RAM

34:55 - Scaling and Server Cost

36:23 - Cloud Storage and Management (Security & Trust)

47:22 - Implementing Cryptographic Primitives

55:13 - The Firefox Sync Tool Project

Picks

[Twitch.tv] Kylelandrypiano (Jamison)
"Visualizing Persistent Data Structures" by Dann Toliver (Jamison)
Probability and Statistics Blog (Jamison)
Seeed Studio (Tim)
Adafruit Industries (Tim)
SparkFun Electronics (Tim)
American Sniper by Chris Kyle, Scott McEwen, and Jim DeFelice (Chuck)
Introducing Relay and GraphQL (Dann)
The Clojurescript Ecosystem (Dann)
Read-Eval-Print-λove (Dann)
React Native (Matt)




sh

165 JSJ ShopTalk with Chris Coyier and Dave Rupert

02:43 - Dave Rupert Introduction

03:42 - Chris Coyier Introduction

06:24 - The ShopTalk Show and Podcasting

  • @shoptalkshow
  • “What do I learn next?” => “Just Build Websites!”
  • Question & Answers Aspect

23:19 - Tech Is A Niche

29:51 - Balancing Technical Content for All Levels of Listeners

  • Community Opinion

38:42 - Learning New CSS Tricks (Writing Blog Posts)

41:54 - The Accessibility Project

56:02 - Favorite & Cool Episodes

Picks

FIFA Women's World Cup (Joe)
Winnipeg (Joe)
The Martian by Andy Weir (Joe)
Zapier (Aimee)
SparkPost (Aimee)
dev.modern.ie/tools/vms (AJ)
remote.modern.ie (AJ)
Microsoft Edge (AJ)
StarFox Zero for Wii U (AJ)
Hot Plate (AJ)
untrusted (AJ)
Skiplagged (Dave)
Judge John Hodgman (Dave)
Wayward Pines (Chris)
Sturgill Simpson (Chris)
The Economic Value of Rapid Response Time (Dave)
The Adventure Zone (Dave)
React Rally (Jamison)
Matsuoka Shuzo: NEVER GIVE UP (Jamison)
DESTROY WITH SCIENCE - Quantum Loop (Jamison)
Serial Podcast (Chuck)
Ruby Remote Conf (Chuck)




sh

183 JSJ Should I go to college?

JS Remote Conf 2016 will be from January 14th-16th from noon-4:30PM ET! Get your early bird tickets or submit a CFP now thru December 14th!

 

02:46 - Panel Consensus and Experience and Career Paths

16:00 - The School Doesn’t Matter

19:59 - Panel Experience and Career Paths (Cont’d)

38:36 - Practically Helpful Knowledge and Disciplines; Interviewing and Hiring

46:38 - Privilege and Navigating Without Opportunity

49:54 - Why get a degree if it’s not necessary?

  • Support Structure

01:02:13 - Consensus Part 2

Picks

The More Things Change (Jamison)
Allison Kaptur: Effective Learning Strategies for Programmers (Jamison)
@Aimee_Knight (Joe)
Star Wars Battlefront (Joe)
Amazing Grass (Aimee)
Daniel Brain: Sane, scalable Angular apps are tricky, but not impossible. Lessons learned from PayPal Checkout. (Aimee)
xkcd: Correlation (Dave)
Lviv, Ukraine (Dave)
CharlesMaxWood.com (Chuck)
Every Time Zone (Chuck)
The Positioning Manual for Technical Firms by Philip Morgan (Chuck)
JS Remote Conf (Chuck)




sh

205 JSJ Shasta with Eric Schoffstall

02:28 - Eric Schoffstall Introduction

02:59 - shasta

07:20 - Getting Started

08:20 - Solidifying on Best Practices

10:37 - Made to Work Together vs Made to be Neatly Modular

11:19 - shasta and redux

12:01 - shasta Ideals

15:07 - Making Choices

17:35 - redux-thunk, redux-saga

19:01 - Lessons Learned from gulp.js

  • Open Source Marketing

23:55 - redux-router

25:20 - React-Specific vs Agnostic

27:35 - Experimentation with shasta

29:50 - Relay and GraphQL Conflict

31:31 - Swapability

35:30 - The Future of front-end development in JavaScript; Where shasta fits in

Picks

Victor Savkin: Managing State in Angular 2 Applications (Joe)
Lazer Team (Joe)
Big Black Delta (Jamison)
Learning to Use Google Analytics More Effectively at CodePen (Jamison)
Thing Explainer: Complicated Stuff in Simple Words by Randall Munroe (Dave)
Soft Skills Engineering Podcast (Dave)
RevolutionConf 2016 (Aimee)
[Frontend Masters] Functional-Lite JavaScript (Aimee)
Lush Cosmetics (Aimee)
horizon (Eric)
Shannon and the Clams - Rip Van Winkle (Eric)
shasta (Eric)




sh

207 JSJ Growing Happy Developers with Marcus Blankenship

02:51 - Marcus Blankenship Introduction

03:09 - Panelist Worst Boss Experiences

13:06 - Developer Anarchy vs Having a Hierarchy

20:57 - Transitioning Managers

26:05 - Manager Influence

28:33 - Management vs Leadership

34:37 - Interpersonal Relationships and Happiness

38:24 - What kind of feedback do managers want from their employees?

  • Timesheets

46:17 - Am I manager material? Am I ready to go into management?

48:06 - Following a Technical Track

51:55 - Why would anyone ever want to be a department manager?

Picks

A Plain English Guide to JavaScript Prototypes (Aimee)
Oatmega (Aimee)
Luck by Tom Vek (Jamison)
The 27 Challenges Managers Face: Step-by-Step Solutions to (Nearly) All of Your Management Problems by Bruce Tulgan (Marcus)
React Rally Call for Proposals (Jamison)
React Rally (Jamison)
Multipliers: How the Best Leaders Make Everyone Smarter by Liz Wiseman (Dave)
Soft Skills Engineering Podcast (Dave)




sh

223 JSJ WebStorm with Dennis Ushakov

React Remote Conf and Angular Remote Conf

 

03:18 - Dennis Ushakov Introduction

03:54 - Writing an IDE in Java

04:50 - Specs

05:43 - WebStorm Defined

06:19 - IDEs vs Text Editors

08:31 - Building an IDE

13:00 - Code Reuse

15:07 - Prioritizing Features

17:11 - Why is IDE tooling important?

  • “Code is read a lot more than it’s written.”

19:57 - Refactorings

  • The Dynamic Nature of JavaScript
  • TypeScript-specific Refactorings

23:35 - Next Versions of Webstorm

25:07 - Framework Support; Usage Data

28:12 - Other Technology and Framework Support

31:12 - Working for JetBrains

32:17 - Release Cycles and Procedures

34:39 - Java Source Code Contribution

 

Picks




sh

JSJ 246 GraphQL and Apollo with Uri Goldshtein

On today's episode, Charles Max Wood and Aimee Knight discuss GraphQL and Apollo with Uri Goldshtein. Uri is a core developer at Meteor Development Group, and is an expert with GraphQL and Apollo.




sh

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!




sh

MJS #006: Dennis Ushakov

On today's episode of My JS Story, Charles Max Wood welcomes Dennis Ushakov. Dennis is a team lead of WebStorm and RubyMine at JetBrains. Tune in to My JS Story Dennis Ushakov to learn more about his programming experience in Java and JavaScript.




sh

JSJ 258 Development in a Public Institution with Shawn Clabough

On today's JavaScript Jabber Show, Charles and Aimee discuss Development in a Public Institution with Shawn Clabough. Shawn is a developer and developer manager at Washington State University. He works with the research office, and has been in the industry for 20 years. Tune in to this exciting episode!




sh

JSJ 267 Node 8 with Mikeal Rogers, Arunesh Chandra, and Anna Henningsen


JSJ 267 Node 8 with Mikeal Rogers, Arunesh Chandra, and Anna Henningsen

On today’s episode of JavaScript Jabber we have panelists Joe Eames, AJ O’Neil, Amiee Knight and Charles Max Wood and we are talking about Node 8. To help us we have special guests Mikeal Rodgers, Arunesh Chandra, and Anna Henningsen. It’s going to be a great show. Tune in.


[1:56] Is Node 8 just an update or is there more?
  • More than just an update
  • Two main points:
  • Improved Prana support
  • Native API
  • Native APIs are helpful for Native Add-ons. For both the consumer and the developer side.
  • Prior to update these Node Native modules ran in C++ and bound to specific to Node 8 APIs.
  • Causes these modules to be updated or reconciled every time these modules are rereleased.
  • Creates burden for module maintainers.
  • Creates friction in upgrading Node versions in production departments.
  • If you have a deployment depending on a certain Native module, some of the modules may not get updated in time when updating your Node versions. Keeping people from updating Node.
  • Creates compatibility issues with Node users not using Node 8
  • Experimental support for a Native layer in Node 8 to eliminate these issues as much as possible.
  • Important milestone for the module ecosystem.
  • You can write extensions for Node in C++ and it decouples V8 so you can use something else on the front.
  • Modules takes dependency on V8 API specific to a particular version. So if V8 changes your module will be extracted from that.
  • As a side benefit, you can have another VM to take advantage of that.
  • Major version upgrades mean updating Native modules and usually some of those modules haven’t updated to the newest version of Node and be complicated.
  • Deep dependency wise, about 30% depends on a Native module somewhere
  • In the future, with the Native API, you’ll be able to update Node without breaking modules.
[5:51] What kind of work went into this?
  • Most of the work was in C++
  • First thing that was done was, they looked at the top dependent Native modules in the ecosystem.
  • Looked for what kind of V8 exposure they had and cataloged it
  • Looked at how these APIs and what their purposes were
  • Looked for a way to extract them so that they are part of Node Core
  • Created neutral APIs, now part of the Node core.
  • All C APIs
  • Also has a C++ wrapper to improves usability of the API.
[7:17] What’s an example of what you can do with these APIs?
  • Native modules allows for tighter integration and better module performance
  • Specific APIs that you can use in V8 that isn’t available through JavaScript
  • If you have a C++ variable code and you want to expose a variable into JavaScript, that is V8 API note a Node 8 API
  • Having it bound directly to the VM was something they wanted for a long time
  • Google controls V8 and they bind to V8
  • Created a better relationship with Google starting in IOJS
  • Also worked with Microsoft with their Node Shocker work.
  • Same with SpiderMonkey
  • SpiderNode is in the works
[9:23] Have you guys done any testing for performance?
  • Some. There is a performance working group.
  • There is a need to stay on top of V8
  • V8 team has focused on new language features
  • Many features have been added over the years
  • Many didn’t come in optimized
  • The performance profile has changed with these features
  • If you’re using new language features, you will see a performance boost
  • In core, still tracking down code that was specific to the old optimizer and rewriting i to work the new optimizer
  • Turbo C compiler hasn’t landed yet, but is to come.
  • Will have a completely different performance profile
  • In most real world applications it will be faster
  • Waiting on the release to take a version of V8 to make it easier to upgrade features in the future
[11:28] Are the new features picked up from V8 or implemented in Node?
  • It’s all in V8
  • Better longterm support
  • Promises are made better in Node as a platform
  • Added new method called util.promisify()
  • Implementation comes from V8
  • Allows for more optimization for promises in Node core
  • Promise support for the one-deprecated domains module.
[13:02] Is there anything more than NMP 5?
  • First off, delete your NMP cache.
  • It’s in your home directory usually with a .npm extension
[14:09] What are the new features in V8?
  • Unlimited heap sizes, previously had a 4gb limit. No fixed limit.
[14:09] Will you see things like chakra come out tuned for servers?
  • Profiles of a server for application process are getting smaller
  • Getting cut into containers and VMs and micro services
  • Vms that have cold boot time and run quickly in a strained environment is looking more like what we will see in the future
  • Yes, especially if you’re using cloud functions
  • V8 is optimized for phones, but Chakra is even more so
  • Looking for opportunities for VMs can be solely optimized for a device target
  • Node take advantage of that VM
  • VM neutrality is an interesting concept
  • VM Vendors trying to optimize it based on workloads of a server
  • Opens opportunities for Node
  • Node Chakra has been proved to iOS. You can cut off jitting off which was a requirement to be able to be in the Apple App Store
  • Node is not just for servers anymore
  • Node doesn’t take a long time configuring it
  • When a developer runs code on an IoT or a mobile app they don’t control the VM that is bundled, they run it on top of Node and it just works.
  • VM neutrality gives a new vector, so you can swam a whole different VM
[18:44] When running different engines like iOS vs Android, does the profile change?
  • What it comes down to is if it’s eventive programming
  • The browser is an eventive environment, is very efficient waiting for things to happen before it does something
  • The way that we program servers and nodes are the same as well
  • the basics are the same generally
  • environmental differences exist but the programming model is usually the same
  • What does impact it is memory and processor and hardware and things like that
  • That is where tuning the VM comes into play
[20:29] What is the new Async Hooks API used for?
  • Node has been lacking for automated inspection of Async Hook
  • No way for Node to tell you when scheduling and beginning of an Async operation. Hook helps with that
  • it’s a way for developers to write debugging features
  • Node tells the application that it’s working with Asynchronous way.
  • The embedded inspector has been embedded since Node 6
  • Now has a JavaScript API to use it
  • You can use things like Chrome debugger inside the running node process
  • Old debugging protocol has been removed
  • VM.run is still there but in the process of being deprecated
[22:34] How like is the experimental Node API will change?
  • Marked as experimental because it’s the first time in the open
  • Hopefully out of experimental soon
  • Soon can port API to the existing LTS
  • Looking for more people to participate with the new API and give feedback
  • Fix any concerns before it goes to LTS
  • Some other experimental things are in the works like ASync Hooks and how it interacts with promises
  • Renaming some features
  • Another new feature - serializer and deserializer that comes with V8
  • experimental but will most likely stay
[25:31] what is your standard for going to LTS?
  • Major releases every 6 months
  • Next Oct Node 9 will come out and then Node 8 will be LTS
  • Documentation, updates, additions etc will be ready then
  • Plan to do it for 2.5 years
  • Every even releases come out to LTS as the odd release comes out
  • Helps keeps a current line while having something new in the release line
  • Node 6 is the current LTS version
[27:26] What are you taking out or deprecating in Node 8?
  • Use the word deprecate sparingly
  • If many people use features, it’s hard to get rid of
  • Security issue with Buffer, constructor argument was ambiguous
  • Had added APIs that were more explicit over time and pushed those
  • Now it will be deprecated
[28:43] 21% - 33% Performance increase with some Node updates
  • Someone online updated their React app to Node 8 and found an 21% - 33% increase
  • Benchmarking group tests to make sure things are getting faster
  • V8 is always getting faster as well
  • Code changes fast and so there is a chance performance slows down so they have people to check
  • Benchmark test are all automated by a team
[30:47] Is it safe to just switch to Node 8?
  • For front-end, yes
  • clear your NPM cache
  • Back use cases will usually wait until LTS
[31:28] Where any of the features hard to implement?
  • The API work took about a year
  • It was a collaboration which made it interesting
  • IBM, Intel, Google were involved
  • The collaboration took a while
  • Also Async hooks took at least a year.
  • Async hooks used to be called async wraps and has been in the work for almost 3 years
  • many of the changes were the accumulation of small chances
[33:07] It’s the little things
  • Letting people get small changes in accumulate into a big difference
  • the product gets much better that way
[33:57] What versions of Node are you actively updating?
  • Current releases of Node 8 for a half of year
  • Node 6 is LTS
  • Additional year of maintenance of previous LTSs.
  • Schedule is at http://github.com/node8js/lts in a chart
  • Support for Node 4 with only critical updates, Node 6 minor updates, and Node 8
  • Node 7 doesn’t get much support unless it’s vital security supports.
  • If you’re running 0.10 or 0.12 stop. Those do not get security fixes anymore
[35:42] Where do you see things going from here?
  • Mostly still working out Async hooks
  • Maybe add some web worker or worker support for Node JS
  • ES module support
  • Working to make promises better
  • Working on the performance profile and internal systems
[20:29] What is the adoption like of Node 8?
  • Node team gets better at getting people to adopt quickly
  • but about 5% - 6% will not upgrade
  • community doubles each year at 8 million users right now
  • Here is a graph on Twitter posted by NPM
  • Limiting breaks and softly deprecating things makes it’s easier to upgrade
[40:11] How can people contribute and get involved?
  • NodeToDo.org shows how to make contribution
  • Occasionally major conferences have information on how to contribute
  • Test it out and help make it stronger
[42:08] If people install Node 8 and have issues what can they do?
  • If it’s an NPM problem check with them
  • clear cache!
  • install newest version with: npm install -g npm@latest
  • Report problems to either NPM or Node
  • If you’re not sure where the problem is, check github.com/nodejs/help

Links

Node8 Node’s Twitter Node’s Medium Node Evangelism Group

Mikael on Twitter and GitHub Arunesh on Twitter Anna on Twitter


Picks

AJ

Overclocked Remix Super Mario RPG Window to The Stars

Amiee

Blogpost RisingStack on Node 8
2 Frugal Dudes

Charles

Homeland
House of Cards

Joe

Shimmer Lake

Mikael

Blake2b-wasm

Aremesh

Current Nightly News





sh

JSJ 271: SharePoint Extensions in JavaScript with Mike Ammerlaan and Vesa Juvonen

JSJ 271: SharePoint Extensions in JavaScript with Mike Ammerlaan and Vesa Juvonen

This episode is a live episode from Microsoft Build where AJ O'Neal and Charles Max Wood interview Mike Ammerlaan and Vesa Juvonent about building extensions for SharePoint with JavaScript.

[00:01:28] Mike Ammerlaan introduction
Mike has worked at Microsoft for a long time on multiple Microsoft products and projects. He's currently on the Office Ecosystem Marketing Team.

[00:01:52] Vesa Juvonen introduction
Ves a is Senior Program Manager for the SharePoint Splat team. He's been with Microsoft for about 11 years and manages the community and documentation for the SharePoint framework.

[00:02:18] What is the SharePoint Framework?
This is how you write SharePoint extensions with JavaScript. SharePoint has changed. It now works with common modern development tools and web development techniques. SharePoint consolodates the extension effort

[00:03:32] What is SharePoint?
File sharing, team sites, communication points for teams. Part of Office 365. You use Web Parts to add functionality to SharePoint. Web Parts provide functionality like widgets and are scoped to a team, group, or set of users. It's usually hosted on premises, but you can also use it with Office 365 as a hosted solution.

[00:05:56] What extensions can you build for SharePoint?
You can build widgets for your front page or intranet. You can also add user management or data management or document management.

Examples:

  • Dashboards
  • Mini Applications
  • Scheduling and Time Tracking
  • Document Storage
  • Source code repositories

[00:07:39] What is WebDAV and how does it relate?
WebDAV is a protocol for accessing documents and SharePoint supports it among other protocols for managing documents.

[00:08:36] Do I have to build front-end and back-end components to get full functionality?
You can build the front-end UI with Angular and other frameworks. And then build a service in Azure on the backend. The backend systems can then access Line of Business systems or other data systems.

It really does take multiple skill sets to build extensions for SharePoint.

[00:11:10] SharePoint on Mobile
There is a mobile web app and the Web Parts work through the mobile application. You can also use any browser to connect to the application.

[00:12:08] Building extensions with standard Angular or React component libraries
There are standard Yeoman templates. You can also pull in the components through React or Angular just like what Microsoft does.

Newer Angular versions are designed for Single Page Apps and SharePoint isn't necessarily set up to work that way. The Web Parts are isolated from each other and Angular requires some workarounds.

[00:14:30] Getting around sandboxing
Google and Microsoft are talking to each other to see how to work around this when there are multiple sandboxed applications that can't talk to each other in very simple ways.

[00:15:39] Application library or naming collisions if my UI uses different versions or clobber page wide settings
There are guides for a lot of this. React does a bunch of the isolation work.

Addons are iframed in and an API token is given to grant access to the data and APIs.

Microsoft also reviews and approves plugins.

[00:18:30] How do you get started and make money at this?
Look at the SharePoint store. You can build things through websites and pages and offer the plugins through the store.

You can request a SharePoint tenant installation from the Microsoft Dev Tools for free. Then you can build into the tenant site. The rest of the tools are available on npm.

SharePoint Developer Tools

[00:22:13] Automated testing for SharePoint extensions
Unit testing is built in for JavaScript. Testing the UI's require you to sign into Office 365. There are people doing it, though.

[00:22:54] Building internal-only extensions
SharePoint is an enterprise tool, so a lot of enterprises may not want to install extensions from the store. You can definitely build and install private plugins for SharePoint setups. They also have their own backend systems that will require custom development.

[00:25:50] Office 365, SharePoint, and OneDrive
Office 365 is used by people across many different sized organizations and SharePoint is much more enterprise. Office 365 tools store files and information in SharePoint.

What about OneDrive versus Sharepoint? OneDrive is focused for one person. SharePoint is focused around a team. But they have the same APIs and use the same technology stack.

[00:29:05] The history and future of SharePoint
It started out on premises and has moved to the cloud. The SharePoint team is working to keep it available and useful in the modern cloud based era.

[00:30:25] What does the API footprint look like?
It spans modifying lists, data objects, attributes, items in a list, put Web Parts on a page, modify the experience, and manage and modify access, users, and documents. SharePoint is a way of building a way of conveying information.

SharePoint is layers of data and scopes.

[00:35:26] Tutorials and Open Source
dev.office.com
The Sharepoint framework is not open source yet, but they're working on that. They also need to open source the Yeoman templates.
Open source samples are available at github.com/sharepoint.

Picks

Charles Max Wood

  • BlueTick
  • Zapier
  • ScheduleOnce
  • Moo.com
  • Advice: Take the time to go talk to people.
    Vesa adds that you should go to a session that's on something completely outside your experience.

AJ O'Neal

Mike Ammerlaan

Vesa Juvonen

  • Family

A big thanks to Microsoft, DotNetRocks, and Build!




sh

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
 




sh

JSJ 293: Big Data with Nishant Thacker

Panel: 

Charles Max Wood

Special Guests: Nishant Thacker

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

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

In particular, we dive pretty deep on:

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

Links:

Picks:

Nishant

  • Robot I

Charles




sh

JSJ 310: Thwarting Insider Threats with Greg Kushto

Panel:

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

Special Guests: Greg Kushto

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

In particular, we dive pretty deep on:

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

Links:

Picks:

Charles

Cory

  • Plop
  • VS code sync plugin

Aimee

  • Awesome Proposals GitHub

AJ O’Neal

Greg




sh

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

Panel:

  • Charles Max Wood
  • Alyssa Nicholl
  • Ward Bell

Special Guests: David Cramer

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

In particular, we dive pretty deep on:

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

Links:

Sponsors

Picks:

Charles

  • Socks as Swag

David




sh

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

Panel:

Charles Max Wood

Special Guests: Vesa Juvonen

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

In particular, we dive pretty deep on:

Links:

Sponsors

Picks:

Charles

Vesa




sh

JSJ 334: “Web Performance API” with Dan Shappir

Panel:

Special Guests: Dan Shappir (Tel Aviv)

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

Show Topics:

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

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

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

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

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

3:52 – Aimee makes her comments.

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

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

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

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

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

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

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

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

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

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

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

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

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

13:27 – Christopher asks Dan a question.

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

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

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

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

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

17:44 – Christopher asks Dan a question.

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

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

Different stages:

1.) Development stage

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

3.) Check it out!

It’s beneficial to use these APIs.

21:11 – Christopher: What is performance APIs?

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

Dan continues explaining this topic in detail.

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

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

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

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

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

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

Dan mentions: Performance.mark

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

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

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

Go back to fonts as an example.

Pre-connect for example, too.

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

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

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

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

Dan continues to go in-depth about this topic.

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

44:10 – Aimee: Makes sense.

44:15 – Dan continues talking about this topic.

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

2 Questions:

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

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

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

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

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

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

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

57:31 – Advertisement – Get a Coder Job!

58:10 – Picks!

Links:

Sponsors:

Picks:

Aimee:

Chris:

Charles:

Dan




sh

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

Sponsors

Panel

  • AJ O’Neal

  • Aimee Knight

  • Joe Eames

  • Charles Max Wood

Special Guest: James Shore

Episode Summary

James Shore is a developer who specializing in extreme programming, an Agile method. He also used to host a screencast called Let’s Code Test-Driven JavaScript. They begin by discussing the core of Agile development, which James believes is being responsive to customers and business partners in a way that’s sustainable and humane for the programmers involved. It prioritizes individuals and interactions over processes and tools. More can be found in The Agile Manifesto.

James delves into the historical context of the immersion of Agile and how things have changed from the 90’s. Now, the name Agile is everywhere, but the ideals of agile are not as common. There is a tendency to either take Agile buzzwords and apply them to the way it was done long ago, or it’s absolute chaos. James talks about ways to implement Agile in the workplace. He believes that the best way to learn Agile is work with someone who knows Agile, or read a book on it and then apply it. James recommends his book The Art of Agile Development: Pragmatic Guide to Agile Software Development for people who want to started with Agile development. The panelists talk about where people often get stuck with implementing Agile. The hosts talk about their own processes in their company.

They discuss how people involved in the early days of Agile are disappointed in how commercial it has become.They agree that what’s really the most important is the results. If you can respond to a request to change direction in less than two weeks and you don’t have to spend months and months preparing something, and you do that in a way where the people on the team feel like their contributing, then you’re doing Agile. James thinks that the true genius of Agile is in the way the actual work is done rather than in the way your organize the work.

Links

Picks

AJ O’Neal:

Aimee Knight:

Joe Eames:

  • The Ballad of Buster Scruggs on Netflix

Charles Max Wood:

  • Getting up early

  • John Sonmez Kanbanflow video

  • Drip

James Shore:




sh

MJS 092: Shashank Shekhar

Sponsors

Host: Charles Max Wood

Special Guest: Shashank Shekhar

Episode Summary

In this episode of My JavaScript Story, Charles Max Wood hosts Shashank Shekhar, a product developer at Localtrip from India.

Shashank was introduced to programming when he was in school with Logo language. He then attended freeCodeCamp and learned JavaScript. Shashank talks about his journey as a developer and the projects he is working on now at Localtrip.

Links

Picks

Shashank Shekhar:

  • Do what you love

Charles Max Wood:




sh

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




sh

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

Sponsors

 

Episode Summary  

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

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

Links

 

Picks

Joe

Aimee

Chris

Charles

Tommy




sh

JSJ 360: Evolutionary Design with James Shore

Sponsors

Panel

  • Aaron Frost
  • AJ O’Neal
  • Joe Eames
  • Aimee Knight
  • Chris Ferdinandi

Joined by special guest: James Shore

Episode Summary

Special guest James Shore returns for another episode of JavaScript Jabber. Today the panel discusses the idea of evolutionary design. Evolutionary design comes from Agile development. It is based on the principles of continuous integration and delivery and test driven development. In short, evolutionary design is designing your code as you go rather than in advance.

The panelists discuss the difficulties of evolutionary design and how to keep the code manageable.  James Shore introduces the three types of design that make up evolutionary design, namely simple design, incremental design, and continuous design. They talk about the differences between evolutionary design and intelligent design and the correlations between evolutionary design increasing in popularity and the usage of Cloud services. They talk about environments that are and are not conducive to evolutionary design and the financial ramifications of utilizing evolutionary design.

The panelists talk about the difficulties of planning what is needed in code and how it could benefit from evolutionary design. James enumerates the steps for implementing evolutionary design, which are upfront design, reflective design, and refactoring . The team ends by discussing the value of frameworks and how they fit with evolutionary design.

Links

Picks

AJ O’Neal:

Aimee Knight:

James Shore:

Aaron Frost:

Joe Eames:

Chronicles of Crime board game




sh

MJS 108: Dan Shappir

Sponsors

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

Host: Charles Max Wood

Special Guest: Dan Shappir

Episode Summary

In this episode of My JavaScript Story, Charles hosts Dan Shappir from Tel Aviv, Israel, who is a computer software developer and performance specialist at Wix.

Listen to Dan on the podcast JavaScript Jabber on this episode.

Dan got a TI-99/4 when he was very young and enjoyed programming games. He first started with Basic language. After he studied Computer Science at the Hebrew University of Jerusalem, he joined the Israel army to serve his military service. While in the military he also obtained his Masters Degree in Computer Science.

Currently Dan is working as a Performance Tech Lead at Wix, he works on  speeding up the delivery and execution of 50+ million websites hosted on the Wix platform, as well as Wix own applications and services.

Links

Picks

Dan Shappir:

Charles Max Wood:




sh

MJS 109: James Shore

Sponsors

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

Host: Charles Max Wood

Joined By Special Guest: James Shore

Episode Summary

James Shore, the author of the book, “The Art of Agile Development” and a thought leader in the Agile software development community, talks about his journey in Agile development. James and Charles discuss how Agile has transformed software development process and the traits that a good software developer should have. James talks about his contributions to the developer community, his CSS testing tool quixote and the Agile Fluency Project.

Links

Picks

James Shore:

Charles Max Wood:

 

 




sh

MAS 082: James Daniels and Alex Okrushko




sh

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:




sh

JSJ 378: Stencil and Design Systems with Josh Thomas and Mike Hartington

Sponsors

Panel

  • Aimee Knight

  • Chris Ferdinandi

  • Joe Eames

  • AJ O’Neal

  • Charles Max Wood

With Special Guests: Josh Thomas and Mike Hartington

Episode Summary

Today’s guests Josh Thomas and Mike Hartington are developers for Ionic, with Josh working on the open source part of the framework on Ionic. They talk about their new compiler for web components called Stencil. Stencil was originally created out of work they did for Ionic 4 (now available for Vue, React, and Angular) and making Ionic 4 able to compliment all the different frameworks. They talk about their decision to build their own compiler and why they decided to open source it. Now, a lot of companies are looking into using Stencil to build design systems

The panel discusses when design systems should be implemented. Since Ionic is a component library that people can pull from and use themselves, Jeff and Mike talk about how they are using Stencil since they’re not creating a design system.

The panel discusses some of the drawbacks of web components. They discuss whether or not Cordova changes the game at all. One of the big advantages of using Stencil is the code that is delivered to a browser is generated in such a way that a lot of things are handled for you, unlike in other systems.The panelists talk about their thoughts on web components and the benefits of using a component versus creating a widget the old fashioned way. One such benefit of web components is that you can change the internals of how it works without affecting the API. Josh and Mike talk about some of the abilities of Stencil and compare it to other things like Tachyons. There is a short discussion of the line between frameworks and components and the dangers of pre optimization. If you would like to learn more about Stencil, go to stenciljs.com and follow Josh and Mike @Jtoms1 and @mhartington.

Click here to cast your vote NOW for JavaScript Jabber - Best Dev Podcast Award

Links

Follow DevChat on Facebook and Twitter

Picks

Aimee Knight:

AJ O’Neal:

Chris Ferdinandi:

Charles Max Wood:

Joe Eames:

Josh Thomas:

Mike Hartington:




sh

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




sh

JSJ 396: Publishing Your Book with Jonathan Lee Martin

Jonathan Lee Martin is an instructor and developer. He got his start in teaching at Big Nerd Ranch doing 1-2 week trainings for mid to senior developers, and then transitioned to 16 week courses for career switchers. He also worked for Digital Crafts for a year, and then wanted to focus on building out his own personal teaching brand. One of his first steps toward building his own brand was to publish his book, Functional Design Patterns for Express.js.The inspiration for Jonathan’s book came from his experience teaching career switchers. He wanted to experiment in the classroom with teaching functional programming in a way that would be very approachable and applicable and dispel some of the magic around backend programming, and that became the template for the book. 

Jonathan loves the minimalist nature of Express.js and talks about its many uses. He believes that it knowing design patterns can take you pretty far in programming, and this view is related to his background in Rails. When he was working in Rails taming huge middleware stacks, he discovered that applying design patterns made builds take less time. He talks about other situations where knowing design patterns has helped. Express.js leans towards object oriented style over functional programming, and so it takes to these patterns well. Express.js has its shortcomings, and that’s where Jonathan’s favorite library Koa comes into play. 

The conversation switches back to Jonathan’s book, which is a good way to start learning these higher level concepts. He purposely made it appealing to mid and senior level programmers, but at the same time it does not require a lot of background knowledge. Jonathan talks about his teaching methods that give people a proper appreciation for the tool. Jonathan talks more about why he likes to use Express.js and chose to use it for his book. He cautions that his book is not a book of monads, but rather about being influenced by the idea of composition over inheritance. He talks about the role of middleware in programming. 

The panel asks about Jonathan’s toolchain and approach to writing books, and he explains how his books are set up to show code. They discuss the different forms required when publishing a book such as epub, MOBI, and PDF. Jonathan found it difficult to distribute his book through Amazon, so he talks about how he built his own server. Charles notes that your method of distributing your book will depend on your goal. If you want to make the most money possible, make your own site. If you want to get it into as many hands as possible, get it on Amazon.

Many of the JavaScript Jabber panelists have had experience publishing books, and Jonathan shares that you can reach out to a publisher after you’ve self-published a book and they can get it distributed. Jonathan believes that If he had gone straight to a publisher, he would have gotten overwhelmed and given up on the book, but the step by step process of self-publishing kept things manageable. The panelists discuss difficulties encountered when publishing and editing books, especially with Markdown. Jonathan compares the perks of self-editing to traditional editing. Though he does not plan to opensource his entire editing pipeline, he may make some parts available. The show concludes with the panelists discussing the clout that comes with being a published author. 

Panelists

  • Charles Max Wood

  • Christopher Buecheler 

  • J.C. Hyatt

With special guest: Jonathan Lee Martin

Sponsors

Links

Follow DevChatTV on Facebook and Twitter

Picks

Christopher Buecheler:

J.C. Hyatt:

Charles Max Wood:

Jonathan Lee Martin:




sh

JSJ 409: Swagger and Open API with Josh Ponelat

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

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

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

Panelists

  • Dan Shapir

  • Charles Max Wood

Guest

  • Josh Ponelat

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

Sponsors

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

Links

Picks

Dan Shapir

Charles Max Wood

Josh Ponelat




sh

MJS 144: Josh Ponelat

JavaScript Remote Conf 2020

May 14th to 15th - register now!

Josh Ponelat is Software Architect at SmartBear working on Swagger and OpenAPI. He's from South Africa. Josh's father is a programmer and was heavily influenced by his father. He started with ANSI-C and hacking on shells. He studied graphic design in school. He got back into programming in PHP and MySQL and wound up transitioning to JavaScript.

Host: Charles Max Wood

Joined By Special Guest: Josh Ponelat

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

Josh Ponelat:

  • Miro

  • Pour Over Coffee

Charles Max Wood:




sh

Yearbook of cultural property law. 2006 [electronic resource] / Sherry Hutt, editior, David Tarler, assistant editor




sh

Yearbook of cultural property law. 2007 [electronic resource] / Sherry Hutt, editior, David Tarler, assistant editor




sh

Yearbook of cultural property law. 2008 [electronic resource] / edited by Sherry Hutt, David Tarler




sh

Yearbook of cultural property law. 2009 [electronic resource] / Sherry Hutt, editor; David Tarler, assistant editor




sh

Yearbook of cultural property law. 2010 [electronic resource] / Sherry Hutt, editor; David Tarler, assistant editor




sh

Yellow dogs and Republicans [electronic resource] : Allan Shivers and Texas two-party politics / Ricky F. Dobbs

Dobbs, Ricky F




sh

"The yellow wall-paper" by Charlotte Perkins Gilman [electronic resource] : a dual-text critical edition / edited by Shawn St. Jean

Gilman, Charlotte Perkins, 1860-1935




sh

Yeshiva fundamentalism [electronic resource] : piety, gender, and resistance in the ultra-Orthodox world / Nurit Stadler

Stadler, Nurit




sh

Yiddish fiction and the crisis of modernity, 1905-1914 [electronic resource] / Mikhail Krutikov

Krutikov, Mikhail




sh

Yiddish language structures [electronic resource] / edited by Marion Aptroot and Björn Hansen




sh

Yiddishlands [electronic resource] : a memoir / David G. Roskies

Roskies, David G., 1948-




sh

Yii rapid application development hotshot [electronic resource] : become a RAD hotshot with Yii, the world's most popular PHP framework / Lauren J. O'Meara, James R. Hamilton III

O'Meara, Lauren J




sh

Yoga [electronic resource] : a gateway to curb social evils / Ramesh Kumar

Ramesh Kumar




sh

Yoga for children with autism spectrum disorders [electronic resource] : a step-by-step guide for parents and caregivers / Dion E. Betts and Stacey W. Betts ; forewords by Louise Goldberg and Joshua S. Betts

Betts, Dion E. (Dion Emile), 1963-




sh

You failed your math test, comrade Einstein [electronic resource] : adventures and misadventures of young mathematicians or test your skills in almost recreational mathematics / edited by M. Shifman




sh

You never call! you never write! [electronic resource] : a history of the Jewish mother / Joyce Antler

Antler, Joyce




sh

You should see yourself [electronic resource] : Jewish identity in postmodern American culture / edited by Vincent Brook




sh

Young and defiant in Tehran [electronic resource] / Shahram Khosravi

Khosravi, Shahram