da

235 JSJ JavaScript Devops and Tools with Donovan Brown and Jordan Matthiesen

00:50 Intro to guests Donovan Brown and Jordan Matthiesen

1:14 Javascript and Devops

3:49 Node JS and integrating with extensions

11:16 Learning Javascript coming from another language

15:21 Visual Studio Team Services at Microsoft, integration and unit testing

25:10 Visual Studio Code and mobile development

  • Apache Cordova open source project

31:45 TypeScript and tooling

33:03 Unit test tools and methods

38:39 ARM devices and integration

QUOTES:

“It’s not impossible, it’s just a different set of challenges.” - Donovan Brown

“Devops is the union of people, process and products to enable continuous delivery of value to your end users” - Donovan Brown

“Apps start to feel more native. They can actually get form.” - Jordan Matthiesen

PICKS:

Veridian Dynamics (AJ)

Jabberwocky Video (AJ)

Hard Rock Cafe - Atlanta (Charles)

CES (Charles)

3D printers (Donovan)

High-Yield Vegetable Gardening (Jordan)

taco.visualstudio.com

Jordan on Twitter @jmatthiesen

Visualstudio.com

Donovanbrown.com

Donovan on Twitter @donovanbrown

SPONSORS:

Front End Masters

Hired.com




da

239 JSJ Vets Who Code with Jerome Hardaway

00:55 - Introducing Jerome Hardaway

02:10 - Spouses and dependants of Vets Who Code

06:55 - Accepting and rejecting applicants

10:10 - The GI Bill

15:45 - Military language and coding

18:20 - PTSD, trauma, and coding

21:10 - Moving past the veteran stigma

25:45 - Military backgrounds as an asset for jobs

30:45 - The future of Vets Who Code

32:35 - How much does it cost to be part of the program?

36:15 - Is it easier or harder for Vets to get hired?

39:15 - Stories and memories

42:30 - Contributing to Vets Who Code

Picks:

Soft Skills Engineering Podcast (Dave)

Soft Skills Engineering Twitter (Dave)

Awesome Algorithms Github list (Aimee)

“The Churn” blog post by Bob Martin (Aimee)

The 12 Week Year by Brian P. Moran and Michael Lennington (Charles)

Vets Who Code (Jerome)

Practical Javascript (Jerome)




da

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)




da

MJS #002: Mark Nadal

On today's episode of My JS Story, Charles Max Wood welcomes Mark Nadal. Mark  runs GUN, an open source fire-based. He loves open source community that's why he focuses on it. On this, he shares how he got into the world of programming, and we'll find out how he feels about doing it. Tune in to MJS 002 My JS Story Mark Nadal.




da

JSJ 253 Gomix with Daniel X Moore

On today's JavaScript Jabber Show, Aimee Knight, Cory House, and Charles Max Wood discuss Gomix with Daniel X Moore. Daniel is a Software Developer at Fog Creek Software, and has been in the industry for 10 years. Their company currently offers an amazingly convenient way to build apps. Tune in to learn about it!




da

JSJ 254 Contributor Days with Tracy Lee

On today's JavaScript Jabber Show, Aimee Knight and Charles Max Wood discuss Contributor Days with Tracy Lee. Tracy is a Google Developer Expert and a co-founder of This Dot Media and This Dot Labs. She's passionately into helping startups create a connection with investors. Part of what she's been up to lately is what this episode is about. Tune in to learn about it!




da

MJS #016: Adam Baldwin

On this week's episode of My JS Story, Charles Max Wood interviews Adam Baldwin. Adam is the team lead at Lift Security and founder and organizer of the Node Security Project (NSP). He appeared on episode 89, and talked about NSP in 2013. Learn more about what he's passionate about and how his life navigated towards programming. Tune in!




da

JSJ 263 Moving from Node.js to .NET and Raygun.io with John-Daniel Trask

This episode features Moving from Node.js to .NET and Raygun.io with John-Daniel Trask. John-Daniel is the Co-founder and CEO of Raygun, a software intelligence platform for web and mobile. He's been programming for many years, and is originally from New Zealand. Tune in and learn what prompted them to move to the .NET framework!




da

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




da

JSJ 275: Zones in Node with Austin McDaniel

JSJ 275: Zones in Node with Austin McDaniel

The panel for this week on JavaScript Jabber is Cory House, Aimee Knight, and Charles Max Wood. They speak with special guest Austin McDaniel about Zones in Node. Tune in to learn more about this topic!

[00:01:11] Introduction to Austin

Austin has worked in JavaScript for the past ten years. He currently works in Angular development and is a panelist on Angular Air. He has spent most of his career doing work in front-end development but has recently begun working with back-end development. With his move to back-end work he has incorporated front-end ideas with Angular into a back-end concept.

[00:02:00] The Way it Works

NodeJS is an event loop. There is no way to scope the context of a call stack. So for example, Austin makes a Node request to a server and wants to track the life cycle of that Node request. Once deep in the scope, or deep in the code, it is not easy to get the unique id. Maybe he wants to get the user from Passport JS. Other languages – Python, Java – have a concept called thread local storage. They can associate context with the thread and throughout the life cycle of that request, he can retrieve that context.

There is a TC39 proposal for zones. A zone allows you to do what was just described. They can create new zones and associate data with them. Zones can also associate unique ids for requests and can associate the user so they can see who requested later in the stack. Zones also allow to scope and create a context. And then it allows scoping requests and capturing contacts all the way down.

[00:05:40] Zone Uses

One way Zone is being used is to capture stack traces, and associating unique ids with the requests. If there is an error, then Zone can capture a stack request and associate that back to the request that happened. Otherwise, the error would be vague.

Zones are a TC39 proposal. Because it is still a proposal people are unsure how they can use it. Zones are not a new concept. Austin first saw Zones being used back when Angular 2 was first conceived. If an event happened and they wanted to isolate a component and create a scope for it, they used Zones to do so. Not a huge fan of how it worked out (quirky). He used the same library that Angular uses in his backend. It is a specific implementation for Node. Monkey patches all of the functions and creates a scope and passes it down to your functions, which does a good job capturing the information.

[00:08:40] Is installing the library all you need to get this started?

Yes, go to npminstallzone.js and install the library. There is a middler function for kla. To fork the zone, typing zone.current. This takes the Zone you are in and creates a new isolated Zone for that fork. A name can then be created for the Zone so it can be associated back with a call stack and assigned properties. Later, any properties can be retrieved no matter what level you are at.

[00:09:50] So did you create the Zone library or did Google?

The Google team created the Zone library. It was introduced in 2014 with Angular 2. It is currently used in front-end development.

[00:10:12] Is the TC39 proposal based on the Zone library?

While Austin has a feeling that the TC39 proposal came out of the Zone library, he cannot say for sure.

[00:10:39] What stage is the proposal in right now?

Zone is in Stage Zero right now. Zone JS is the most popular version because of its forced adoption to Angular. He recommends people use the Angular version because it is the most tested as it has a high number of people using it for front-end development.

[00:11:50] Is there an easy way to copy the information from one thread to another?

Yes. The best way would probably be to manually copy the information. Forking it may also work.

[00:14:18] Is Stage Zero where someone is still looking to put it in or is it imminent?

Austin believes that since it is actually in a stage, it means it is going to happen eventually but could be wrong. He assumes that it is going to be similar to the version that is out now. Aimee read that Stage Zero is the implementation stage where developers are gathering input about the product. Austin says that this basically means, “Implementation may vary. Enter at your own risk.”

[00:16:21] If I’m using New Relic, is it using Zone JS under the hood?

Austin is unsure but there something like that has to be done if profiling is being used. There has to be a way that you insert yourself in between calls. Zone is doing that while providing context, but probably not using Zone JS. There is a similar implementation to tracing and inserting logging in between all calls and timeouts.

[00:17:22] What are the nuances? Why isn’t everybody doing this?

Zone is still new in the JavaScript world, meaning everyone has a ton of ideas about what should be done. It can be frustrating to work with Zone in front-end development because it has to be manually learned. But in terms of implementation, only trying to create a context. Austin recommends Zone if people want to create direct contacts. The exception would be 100 lines of Zone traces because they can get difficult.

Another issue Austin has is Node’s native basic weight. Weight hooks are still up in the air. The team is currently waiting on the Node JS community to provide additional information so that they can finish. Context can get lost sometimes if the wrong language is used. He is using Typescript and doesn’t have that problem because it is straightforward.

[00:21:44:] Does this affect your ability to test your software at all?

No, there have not been any issues with testing. One thing to accommodate for is if you are expecting certain contexts to be present you have to mock for those in the tests. After that happens, the tests should have no problems.

Picks

Cory:

Aimee:

Charles:

Austin:

Links




da

MJS #034 John-David Dalton

Tweet this Episode

MJS 034: John-David Dalton

Today’s episode is a My JavaScript Story with John-David Dalton. JD talked about his contributions to the JavaScript community like Lo-Dash, Sandboxed Native, etc. Listen to learn more about JD!

[01:15] – Introduction to JD

JD has been on JavaScript Jabber. He talked about Lo-Dash.

[02:00] – How did you get into programming?

First website

This was when JD was a junior in high school. Then, he got involved with a flight squadron for a World War 1 online game. They needed a website so he created a GeoCities website for them. That’s what got him into JavaScript. He’d have to enhance the page with mouseover effects - cursor trail, etc.

JavaScript

From there, JD started created a Dr. Wiley little-animated bot that would say random things in a little speech bubble with the HTML on your page like a widget. He also passed an assignment turning a web page into an English class paper. He used to spend his lunch breaks learning JavaScript and programming. He also created a little Mario game engine – Mario 1 with movable blocks that you could click and drag and Mario could jump over it. That was back with the document.layers and Netscape Navigator.

Animation

JD wanted to be an animator in animation so he started getting into macro media flash. That led him to ActionScript, which was another ECMAScript-based language. He took a break from JavaScript and did ActionScript and flash animations for a while as his day job too.

PHP and JavaScript

JD started learning PHP and they needed to create a web app that got him right back into JavaScript in 2005. That was when AJAX was coined and that’s when Prototype JS came up. He was reading AJAX blog posts back then because that was the place to find all of your JavaScript news.

JS Specification

JD remembers being really intimidated by JavaScript libraries so he started reading the JavaScript specification. It got him into a deeper understanding of why the language does what it does and realized that there’s actually a document that he could go to and look up exactly why things do what they do.

[06:45] – What was it about JavaScript?

JD has been tinkering with programming languages but what he liked about ActionScript at the time was it is so powerful. You could create games with it or you could script during animations. He eventually created a tool that was a Game Genie for flash games that you could get these decompilers that would show you the variables in the game, and then, you could use JavaScript to manipulate the variables in the flash game. He created a tool that could, for example, change your lives to infinite life, grow your character or access hidden characters that they don’t actually put in the game but they have the animations for it.

JD was led to a page on the web archive called Layer 51 or Proto 51. That was a web page that had a lot of JavaScript or ActionScript snippets. There were things for extending the built-in prototypes - adding array methods or string methods or regex methods. That was how JavaScript became appealing to him. He has been doing JavaScript for almost 20 years. PHP also made him appreciate JavaScript more because, at the time, you couldn’t have that interface.

[09:30] – Lo-Dash, Sandboxed Native, Microsoft

Lo-Dash

Eventually, JD grew to respect jQuery because I became a library author. jQuery is the example of how to create a successful library. It’s almost on 90% of the Internet. He likes that right now but before, he was a hardcore Prototype fanboy. He didn’t like new tools either. He liked augmenting prototypes but over time, he realized that augmenting prototypes wasn’t so great whenever you wanted to include other code on your page because it would have conflict and collisions. Later on, he took Prototype, forked it, and he made it faster and support more things, which is essentially what he did with Lo-Dash.

Sandboxed Native

JD created something called Sandboxed Native, which got him into talking on conferences. Sandboxed Native extends the prototypes for the built-ins for your current frame. It would import new built-ins so you got a new array constructor, a new date constructor, a new regex, or a new string. It wouldn’t collide or step on the built-ins of the current page.

Microsoft

After that, JD ended up transitioning to performance and benchmarking. That landed him his Microsoft job a couple years later.

Picks

John-David Dalton

Charles Max Wood

 




da

JSJ 279: ES Modules in Node Today! with John-David Dalton

Tweet this Episode

John-David Dalton is probably best known for the Lodash library. He's currently working at Microsoft on the Edge team. He makes sure that libraries and frameworks work well in Edge.

The JavaScript Jabber panel discusses the ECMAScript module system port to Node.js. John wanted to ship the ES module system to Node.js for Lodash to increase speed and decrease the disk space that it takes up. This approach allows you to gzip the library and get it down to 90 kb.

This episode dives in detail into:

  • ES Modules, what they are and how they work
  • The Node.js and NPM package delivery ecosystem
  • Module loaders in Node.js
  • Babel (and other compilers) versus ES Module Loader
  • and much, much more...

Links:

Picks:

Cory:

Aimee:

Aaron:

Chuck:

John:




da

MJS 035: John-Daniel Trask

Tweet this Episode

John-Daniel Trask is the CEO and developer at Raygun.io.

JD and Chuck talk in this episode about learning to program as a kid, the arc of JD's career, and entrepreneurship.

Links:

Picks:

JD:

Chuck:




da

JSJ 288: TypeScript with Amanda Silver

Charles Max Wood

Special Guests: 

Amanda Silver

In this episode, Charles is at Microsoft Connect 2017 in NYC. Charles speaks with Amanda Silver. Amanda is deemed the  TypeScript and future of JavaScript guru, and this year's speakers at Microsoft Connect with Visual Studio Live Share. Amanda shares what is new with TypeScript and how that is a kind of subscript to JavaScript. Amanda explains the big picture of TypeScript’s inception and where she believes the language will be most efficient and effective for JavaScript and TypeScript developers.

In particular, we dive pretty deep on:

  • What is new in TypeScript?
  • Keep JavaScript and TypeScript aligned
  • TypeScript is implemented to create larger scaled applications
  • Integration with VS Code, etc.
  • Building better tools for JavaScript Developers
  • When would this be taken on by users
  • Defaults in Visual Studio
  • TypeScript replacing JavaScript type service
  • TypeScript is written in TypeScript
  • Chakra runtime
  • Diaspora
  • The different faces of JavaScript
  • Optimized JavaScript runtime
  • Languages should be created with tooling
  • A satisfying tooling experience
  • Foot Guns
  • New Tokens
  • Eco-systems and metadata
  • Multi-phase
  • Minimum common denominator constantly changing
  • Collaborating on the same code
  • Open Source and the impact
  • How to move to open source
  • Contributing
  • The next thing for TypeScript
  • The future of JavaScript
  • And much more!

Links:

  • @amandaksilver
  •  

Picks:

Amanda

Charles

 

 

 




da

MJS 037: Nader Dabit

Panel: 

Charles Max Wood

Guest: Nader Dabit

This week on My JavaScript Story, Charles speaks with Nader Dabit. Nader is a familiar guest on JavaScript Jabber, talking about the state of React Native. Nader is the host of React Native Radio, another podcast on the Dev Chat TV network. Nader is a React Native trainer that does consulting and workshops in major cities in the US.

Nader dives into his background and how he began his journey as a developer. Interestingly, Nader became successful as a developer without any formal training, but, by only learning to code on the job. This is a great episode to learn specific ways to build a career without formal training, and how to present yourself for the job.

In particular, we dive pretty deep on:

  • React Native Radio and the React Native world
  • React Training and pop up workshops
  • How Nader got into programming
  • Learning HTML and Web Development
  • E-commerce, WordPress
  • Nader talks about getting his first job
  • Positioning  yourself as a developer for success
  • Specialization
  • Presenting yourself for the job
  • How Nader learn to do JavaScript
  • Learning a viable option
  • Ionic
  • What is it about React Native that interest you?
  • React Native In Action - Book!
  • React Native Elements 
  • Sharing Content
  • and much, much more!

Links: 

Picks

Nader

Charles

 

 




da

MJS 041: Austin McDaniel

Panel: 

Charles Max Wood

Guest: Austin McDaniel

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

In particular, we dive pretty deep on: 

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

Links: 

Picks

Austin

Charles




da

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




da

JSJ 294: Node Security with Adam Baldwin

Panel: 

Charles Max Wood

AJ O’Neal

Joe Eames

Special Guests: Adam Baldwin

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

In particular, we dive pretty deep on:

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

Links:

Picks:

Adam

Charles

AJ

Joe




da

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

Panel: 

Charles Max Wood

Cory House

Joe Eames

Aimee Knight

Special Guests: Azat Mardan

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

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

In particular, we dive pretty deep on:

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

Links:

Picks:

Cory

Charles

Aimee

Joe

Azat




da

JSJ 297: Scrollytelling with Russell Goldenberg and Adam Pearce

Panel: 

Charles Max Wood

Joe Eames

Aimee Knight

Special Guests: Russell Goldenberg and Adam Pearce

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

In particular, we dive pretty deep on:

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

Links:

Picks:

Adam

Charles

Aimee

Joe

Russel




da

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

Panel: 

Charles Max Wood

Aimee Knight

Cory House

AJ O'Neal

Joe Eames

Aaron Frost

Special Guests: Dave Geddes

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

In particular, we dive pretty deep on:

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

Links:

Picks:

Charles

Aimee

Cory

AJ

Joe

Aaron

Dave




da

MJS 050: Azat Mardan

Panel: Charles Max Wood

Guest: Azat Mardan

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

In particular, we dive pretty deep on:

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

Links: 

Picks

Charles

Azat




da

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

Panel:

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

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

In particular, we dive pretty deep on:

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

Links:

Picks:

Charles

Aimee

Joe

AJ

Orta




da

MJS 057: David Luecke

Panel: Charles Max Wood

Guest: David Luecke

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

In particular, we dive pretty deep on:

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

Links:

Picks

Charles

David




da

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

Panel:

  • Charles Max Wood

Special Guests: Matt Hernandez and Amanda Silver

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

In particular, we dive pretty deep on:

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

Links:

Picks:

Charles

Matt

Amanda




da

JSJ 319: Winamp2-js with Jordan Eldredge

Panel:

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

Special Guests: Jordan Eldredge

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

In particular, we dive pretty deep on:

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

Links:

Sponsors

Picks:

Charles

AJ

Aimee

Joe

Jordan




da

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




da

MJS 070: Jerome Hardaway

 

Panel: Charles Max Wood

 

Guest: Jerome Hardaway

 

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

In particular, we dive pretty deep on:

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

 

Links: 

 

Sponsors: 

Picks

Charles 

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

Jerome




da

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

Panel:

  • Joe Eames
  • Aimee Knight
  • AJ ONeal

Special Guests: Tom Dale

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

In particular, we dive pretty deep on:

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

Links:

Sponsors

Picks:

Joe

Aimee

AJ

  • James Veitch

Tom




da

JSJ 328: Functional Programming with Ramda with Christine Legge

Panel: 

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

Special Guests: Christine Legge

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

In particular, we dive pretty deep on:

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

Links:

Sponsors

Picks:

Charles

Aimee

AJ

  • Goat’s Milk

Joe

Christine




da

JSJ 330: “AWS: Amplify” with Nader Dabit

Panel:

  • AJ O’Neal
  • Aimee Knight
  • Joe Eames

Special Guests: Nader Dabit

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

Show Topics:

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

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

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

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

5:12 – Nader answers AJ’s question.

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

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

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

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

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

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

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

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

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

22:04 – Acronym fun!

22:45 – Node

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

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

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

27:52 – Advertisement

28:56 – What should we be talking about?

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

33:52 – Apple T.V.

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

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

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

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

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

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

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

43:27 AJ: What about for the hobbyist?

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

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

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

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

45:48 – Cloud services.

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

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

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

51:10 – Nader saw a demonstration recently.

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

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

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

56:49 – Let’s do Picks!

56:50 – Advertisement

Links:

Sponsors:

Picks:

AJ O’Neal

Joe Eames

Nader Dabit




da

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




da

MJS 086: James Adams

Panel: Charles Max Wood

Guest: James Adams

This week on My JavaScript Story, Charles speaks with James Adams who is a web and a full stack developer who currently resides in Melbourne, Australia. Chuck and James talk about James’ background, current projects, JavaScript, Ruby, Meetups, and much more! Check out today’s episode to hear all of the details.

In particular, we dive pretty deep on:

0:00 – Advertisement: Get A Coder Job!

0:55 – Chuck: Welcome to My Java Script story! You are the 4th person I have talk to today. I have only talked to one person in the U.S. Other people were from Denmark, Tennessee (USA), and Bulgaria.

1:39 – Guest: I am in Australia!

1:48 – Chuck: I try to open it up for different times and different locations. I started making my own program. I want one tool to manage my podcast company.

2:20 – Guest.

2:26 – Chuck: Introduce yourself, please!

2:33 – Guest: I have been working in JavaScript for 2 years now, and I just FOUND it. I could have been put anywhere but working with a large company. I discovered React.js. I went to study Math and Chemistry originally.

3:24 – Chuck: What was it – why did you change from mathematics to programming?

3:38 – Guest: I like solving problems and that has been true my whole life.

4:25 – Chuck: I identify with that – you’re right – for me, it’s more tangible and it’s neat to see something being built.

White line on a black floor is mentioned.

5:30 – Guest: I had a great education, but seems like the education in the U.S. is more fun. We didn’t get to program and stuff like that.

5:51 – Chuck: My experience was that I got to do really interesting things in High School.

6:20 – Guest: I think you reap benefits by diving into one topic.

6:36 – Chuck: We were building little circuits that were turning on/off LED. We then went to building robots and then computer chips. How did you get into JavaScript?

7:01 – Guest: We didn’t touch JavaScript until my 3rd year. I went to a school in Jerusalem for a while.

9:05 – Chuck: How did you get your first programming job?

9:10 – Guest: I wasn’t really applying – I thought I would travel for a year or so. It was weird I didn’t think I had to apply to jobs right away. I applied to a few jobs, and my friend started sharing my resume around and I ended up doing some contract work for that company. I used RUBY for that team.

10:18 – Chuck: First few jobs I got were through the “spray-and-pray” method. The best jobs I got are because I KNEW somebody.

10:30 – Guest and Chuck go back-and-forth.

11:31 – Guest mentions networking.

11:41 – Chuck: What have you done with JavaScript that you are especially proud of?

11:45 – Guest.

13:43 – Chuck: I didn’t know that honestly. I never really thought of integrating React Native into a native app.

14:00 – Guest: Yeah, it’s really cool. I didn’t think about it before either!

14:24 – Chuck: What are you working on now?

14:28 – Guest: Actually, I am working on some integration with different parties. Now we are routing everything back to the backend.

15:46 – Chuck: I think I have heard of Pro...

15:52 – Guest: Yeah, they are located in the U.S.

16:01 – Chuck: Every community/country is different, but what is it like to be a programmer in Melbourne, Australia?

16:16 – Guest: It’s cool and I think it has a way to go. We have a React Meetup.

16:55 – Chuck: Sounds like you have a healthy community down there. So in Denmark if you get away from the bigger cities then you have a harder time finding a community in the rural areas.

17:30 – Guest: Do you spend more time online?

17:50 – Chuck: Yeah, I don’t know. I live in Utah. It is hard because there is a community North in Logan, UT.

18:13 – Guest: You have 5-6 main cities in Australia. We don’t have medium-sized cities. In the U.S. you have a mixture out there.

18:42 – Chuck talks about the population throughout Utah.

19:03 – Guest asks a question to Chuck.

19:09 – Chuck: Yes, Facebook is putting in Data Center about 20 minutes away from my house. They have built satellite offices here. The startup scene is picking up, too.

19:49 – Chuck: We are fairly large land wise. We can spread-out more.

20:07 – Guest talks about the population density in Australia vs. U.S.

20:20 – Chuck: It’s interesting to see what the differences are.

If you are in a community that HAS a tech community you are set.

20:39 – Guest: I find it really interesting.

21:25 – Guest: Humans are a funny species – you can put out your hand, shake it, and you start talking.

21:45 – Chuck talks about the tech hubs in Fort Lauderdale, Florida in U.S.

22:17 – Guest: Yeah, if you aren’t interested than you aren’t interested.

22:28 – Chuck.

22:37 – Guest.

22:53 – Chuck: Join the mailing list, get involved and there are online groups, too.

23:11 – Guest: I really didn’t get into functional programming at first. I got to talk about this at a React Meetup.

24:25 – Chuck: The logic is the same.

24:32 – Guest: You put these functions together and there you go!

24:40 – Chuck: Go ahead.

24:48 – The guest is talking about React’s integrations.

24:56 – Chuck: Anything that is shared and put in some functional component, hook it up, and that’s it. Picks!

25:09 – Advertisement – Fresh Books! 30-Day Trial!

END – Cache Fly

29:55 – Guest: Shout-out to my mentors. I am really blessed to have these mentors in my life and I wouldn’t be here today if it wasn’t for them. Lucas is one of them who work with Prettier.

Links:

Sponsors:

Picks:

Chuck

  • Presser switch for my Furnace – Goggle Search

James




da

JSJ 351: Dinero.js with Sarah Dayan

Sponsors

Panel:

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

Special Guest - Sarah Dayan

In this episode of JavaScript Jabber, the panelists talk to Sarah Dayan, who is a Frontend Software Engineer working for Algolia in Paris. They about the complications in handling money in software development and ask Sarah about the journey that led to the creation of Dinero.js, it’s implementation details, importance of maintaining good documentation, dealing with issues faced along the way, various features of Dinero and working with open source projects in general. Check it out!

Show Topics:

0.40 - Advertisement : Netlify

1:44 - Sarah introduces herself and Chris talks about his interest in learning more about Dinero and compliments Sarah on its great documentation.

3.10 - Sarah gives some background saying that she created and published Dinero around a year ago. She goes on to explain that the Dinero library helps in handling monetary values. It comes with several methods to parse, manipulate and format these values. The reason behind creating it is that there is no consensus on representing money in software development currently. She shares the story from her previous job where her work was to maintain legacy accounting software, and along the way they realized, that since JavaScript did not have a way to natively represent decimal values, it led to adding large numbers of rounded up numbers continuously, eventually leading to wrong computations.

6:50 - Aimee asks about ways to handle different currencies in Dinero. Sarah answers that she has followed Martin Fowler’s money pattern where two different currencies were not allowed to be worked on directly, conversion was mandatory, just like in real life.

7:50 - Charles talks about his old freelance work where he was overwhelmed while handling and representing money in software.

8:25 - Aimee enquires if Dinero can be used for both frontend and backend. Sarah replies that it can be used anywhere and explains that there is no such thing as just a number when it comes to money, there must be a currency associated with it.

9:30 - Charles asks how to figure out the direction to go to when dealing with money and to make sure that all use-cases are covered. Sarah answers that in cases such as floating-point math where the computations don’t end up being accurate as handling is not supported, numbers can be used if treated as subunits (for e.g. 100cents = 1$). However, even then, there are issues in dividing money. She then explains the procedure of “allocation” from the Fowler pattern and she says that Dinero helps in doing the same in such scenarios.

12:54 - They discuss how they did not realize how difficult it was dealing with monetary values in development. Sarah talks about the fact that there are numerous aspects involved in it, giving the example of rounding off and stating that there are even factors such as different laws in different countries that need to be considered.

16:00 - AJ asks details about crafting the library, maintaining the centralized code and covering of edge cases and using inheritance. Sarah explains the concept of domain driven development and the importance of being an expert in the respective domains. She talks about the library structure briefly, describing that is kept very simple with a module pattern and it has allowed her to manage visibility, make it immutable, include currency converters, formatters and so on.

19:34 - AJ asks about the internal complexity of the implementation. Sarah answers that code wise it is extremely simple and easy, anyone with a limited JavaScript experience can understand it.

20:50 - AJ asks if it’s open source to which Sarah answers in affirmative and says that she would like external help with implementing some features too.

22:10 - Chris asks about Sarah’s excellent documentation approach, how has she managed to do it in a very detailed manner and how important it is in an open source project. Sarah says that she believes that documentation is extremely important, and not having good docs is a big hindrance to developers and to anyone who is trying to learn in general. She talks about her love for writing which explains the presence of annotations and examples in the source code.

27:50 - Charles discusses how autogenerated documentation gives an explanation about the methods and functions in the code but there is no guidance as such, so it is important to have guides. Sarah agrees by saying that searching for exact solutions is much simpler with it, leading to saving time as well.

29:43 - Chris speaks about Vue also being quite good at having guides and links and thanks Sarah for her work on Dinero.

30:15 - Advertisement - Sentry - Use code “devchat” to get two months free on Sentry’s small plan.

31:23 - Chris asks what the process is, for creating and running Dinero in different places. Sarah explains that she uses rollup.js which is a bundler suited for libraries, it takes in the ES module library and gives the output in any format. She states that the reason for using the ES module library is that she wanted to provide several builds for several environments with a clean and simple source and goes on to explain that these modules are native, have a terse syntax, easy to read and can be statically analyzed. She also gives the disadvantages in choosing webpack over rollup.

36:05 - Charles asks if anyone else is using Dinero. Sarah replies that around two or three people are using it, not much, but she is happy that it is out there to help people and she enjoyed working on it.

37:50 - Joe asks if there are any interesting stories about issues such as involving weird currency. Sarah answers in affirmative and gives the example of the method “hasCents”. She explains that she had to deprecate it because the unit “cents” does not have any value in non-Western currencies, and has created “hasSubUnits” method instead. She explains some problems like dealing with currencies that don’t support the ISO 4217 standard.

42:30 - Joe asks if social and political upheavals that affect the currencies have any effect on the library too. Sarah gives the example of Chinese and Japanese currencies where there are no sub-units and states that it is important to be flexible in developing stuff in an ever-changing domain like money. She also says that she does not include any third-party dependency in the library.

46:00 - AJ says that BigInts have arrived in JavaScript but there is no way to convert between typed arrays, hexadecimal or other storage formats. But later (1:10:55), he corrects that statement saying that BigInts in fact, does have support for hexadecimals. Sarah talks about wanting to keep the code simple and keep developer experience great.

49:08 - Charles asks about the features in Dinero. Sarah elaborates on wanting to work more on detecting currencies, improve the way it is built, provide better support for type libraries and get much better at documentation.

52:32 - Charles says that it is good that Sarah is thinking about adopting Dinero to fit people’s needs and requirements and asks about different forms of outreach. Sarah says that she blogs a lot, is active on Twitter and attends conferences as well. Her goal is not popularity per se but to help people and keep on improving the product.

55:47 - Chris talks about the flip side that as the product grows and becomes popular, the number of support requests increases too. Sarah agrees that open source projects tend to eat up a lot of time and that doing such projects comes with a lot of responsibility but can also help in getting jobs.

59:47 - Sarah says that she is available online on her blog - frontstuff, on Twitter as Sarah Dayan and on GitHub as sarahdayan.

1:00:06 - Advertisement - Clubhouse

1:01:01 - Picks!

1:11:42  - END - Advertisement - CacheFly!

Picks:

Sarah

AJ O’Neal

Chris

Joe

Aimee

Charles

  •  




da

MJS 107: Dan Fernandez

Sponsors

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

Host: Charles Max Wood

Special Guest:  Dan Fernandez

Episode Summary

In this episode of My JavaScript Story, Charles hosts Dan Fernandez, Principal Group Program Manager at Microsoft.

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

Dan went to a programming camp and fell in love with programming. He majored in Computer Science in college and started working for IBM upon graduation.  Listen to the show for Dan’s journey into programming and much more!

Links

Picks

Dan Fernandez:

 




da

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:




da

MAS 082: James Daniels and Alex Okrushko




da

MJS 113: Sarah Dayan

Sponsors

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

  • CacheFly

Host: Charles Max Wood

Joined By Special Guest: Sarah Dayan

Episode Summary

Sarah Dayan is a Frontend Software Engineer working for Algolia in Paris. She is also the author of Dinero.js which was the result of a production bug they discovered in JavaScript. Sarah first got introduced to computers when she was a child. She spent hours playing on her grandmother's computer with dial-up internet. At age 15, she created her first HTML website. Sarah and Charles discuss the evolution of front-end development. Listen to the show to find out more about Sarah's journey as a front-end developer and the projects she is working on now.

Links

Picks

Sarah Dayan:

Charles Max Wood:




da

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:




da

JSJ 376: Trix: A Rich Text Editor for Everyday Writing with Javan Makhmali

Sponsors

Panel

  • Aimee Knight

  • Chris Ferdinandi

  • Christopher Beucheler

  • AJ O’Neal

With Special Guest: Javan Makhmali

Episode Summary

Today’s guest is Javan Makhmali, who works for Basecamp and helped develop Trix. Trix is a rich text editor for the web, made purposefully simple for everyday use instead of a full layout tool. Trix is not the same as Tiny MCE, and Javan discusses some of the differences. He talks about the benefits of using Trix over other native browser features for text editing. He talks about how Trix has simplified the work at Basecamp, especially when it came to crossing platforms. Javan talks more about how Trix differs from other text editors like Google Docs and contenteditable, how to tell if Trix is functioning correctly, and how it works with Markdown.

The panel discusses more specific aspects of Trix, such as Exec command. One of the features of Trix is it is able to output consistently in all browsers and uses semantic, clean HTML instead of classnames. Javan talks about how Trix handles getting rid of the extraneous cruft of formatting when things are copy and pasted, the different layers of code, and the undo feature. He talks about whether or not there will be more features added to Trix. The panel discusses who could benefit from using Trix. The show finishes with Javan talking about Basecamp’s decision to make Trix open source and why they code in CoffeeScript. 

Links

Follow DevChat on Facebook and Twitter

Picks

Javan Makhmali:

Chris Ferdinandi:

AJ O’Neal:

Christopher Beucheler: 

Aimee Knight:




da

JSJ 390: Transposit with Adam Leventhal

Episode Summary

Adam Leventhal is the CEO and cofounder of Transposit. Transposit was born from the desire to build a way for developers to work with lots of different APIs, take authentication and pagination off the table, and let developers focus on the problems they’re trying to solve. Transposit is a serverless platform that’s free and gives you a combination of SQL or JavaScript to start playing with your API.

Since interacting with API data securely can be difficult, the panel discusses how Transposit might replace the personally built tools and how does it compare to JAMstack. They talk about some common things that people do wrong with security. 

Transposit is often used as the full backend, and Adam shares how that works. There is a list of APIs that Transposit can talk to, and you can build your own connector. You can also work with JavaScript and SQL simultaneously. 

Chris Ferdinandi asks some more specific questions about how Transposit can work with email lists. Adam clarifies the difference between connectors and apps in Transposit. He delves into more detail on what makes it work under the hood. 

There are some 450,000 Stack applications but the majority have one user because they built it to communicate specifically with their API. The panel discusses how Transposit can help with this. Since Transposit is still in startup mode, it is free for now, and can connect to any public facing API. Adam talks about their decision not to make it open source and gives more details on where the authentications occur. The show wraps up with the panel talking about the pros of going serverless

Panelists

  • Chris Ferdinandi

  • Christopher Buecheler

With special guest: Adam Leventhal 

Sponsors

Links

Follow DevChat on Facebook and Twitter

Picks

Christopher Buecheler:

Chris Ferdinandi:

Adam Leventhal:




da

MJS 124: Daniel Gruesso

This episode of My JavaScript Story is coming to you live from OSCON. Joining Charles Max Wood is Daniel Gruesso from GitLab to talk about developing in the Open Source and the Developer Report.

GitLab works with an open core model, Daniel talks about the trade - offs of having code open to public, the first of which is having everything up-to-date so any contributions made will work with the latest version. Daniel calls this the "bus-factor" where if one of the team members gets hit by a bus, the rest of the team will have everything to work with.

They then talk about the GitLab 2019 Global Developer Report results. One of the most interesting results of this survey with over 4,000 respondents, was that remote teams outperformed on site teams. This ties into the current Twitter discussion about "10x Performing Engineers". Remote teams are able to work on their own most productive hours and are not disturbed by their teammates when they are doing dedicated work on a deadline. Also remote teams by nature have to be more conscious of security.

Sponsors

Host: Charles Max Wood

Joined by Special Guest: Daniel Gruesso

Links




da

MJS 125: Dan Pastori

In this episode of My JavaScript Story, Charles talks to Dan Pastori, Co-Founder, Software Architect at 521 Dimensions.

Charles asks about Dan's average day and what his life looks like before diving into his coding journey. Dan talks about how he got into web development. Dan taught himself PHP and JavaScript.

Charles talks about the Views on Vue episode Dan was on VoV 012: Re-using VueJS Mixins and Filtering Google Map Data with Dan Pastori, and wants to know how Dan got into Vue. Dan compares learning times of Vue and Angular and mentions he learned Vue in a week as opposed to the months he spent learning Angular.

Dan talks about his involvement in the Vue community and the future of Vue as well as the projects he is currently working on. Dan then talks about his future projects and plans. They finish off with picks.

Host: Charles Max Wood

Joined by Special Guest: Dan Pastori

Sponsors

Links

Picks

Dan Pastori:

Charles Max Wood:




da

MJS 129: Filipa Lacerda

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

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

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

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

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

Host: Charles Max Wood

Joined by Special Guest:  Filipa Lacerda

Links

Sponsors

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

  • Adventures in .NET

  • Elixir Mix

  • CacheFly

Picks

Filipa Lacerda:

Charles Max Wood:




da

JSJ 411: Unit Testing Jest with Daniel Caldas

Daniel Caldas is calling from Singapore. He currently works as a software engineer for Zendesk and has also worked in Portugal and Germany. He has worked primarily on the frontend with Node and JavaScript. He talks about his experience testing JavaScript, how he got started with Jest, and why he likes it. Daniel finds Jest very easy to use and straightforward. He likes that  Jest has a single reference page for documentation. He feels that Jest is largely complete out of the box and has only made a small add on to get rid of Boilerplate in some tests.

Daniel explains what a snapshot, how they work, and why he prefers fixtures over factories. He gives tips on how to set up your tests so that they are easy to follow. He finds it helps to structure your scenarios in the fixture description. He talks about gotchas in Jest. While Jest is largely easy to use, Jest has been around for a while and breaking changes do happen. It’s important to check what version your code base is using. While there are a lot of free sources around Jest online, he advises listeners to stick as close to the official documentation as possible, or to people associated with Jest, and to read recent stuff. As for conventions, Jest has pretty much everything out of the box and the built in conventions make it easy to navigate any project that uses Jest.

Daniel talks about some of the features available in Jest, converting observables into promises, and tricks he has used to make tests easier to put together. He talks about his method for keeping his mocks and stubs straight. He advises listeners to have some organizational rules, such as starting the imports alphabetically, and to always follow those rules. He talks about how he runs tests and what environments he uses. While Jest is normally used for unit testing, Daniel has also used it for end to end tests, and he talks about his experience with an open source project doing both types in Jest. Daniel concludes the show by advising listeners starting with JavaScript and frontend, don’t think too much about the library you’re going to use because you’ll probably end up using Jest. It’s more important to have unit tests and a proper testing framework at the beginning than anything else. He also invites listeners to check out his open source work on Github.

Panelists

  • Aimee Knight

  • AJ O’Neal

  • Charles Max Wood

 

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

Guest

  • Danile Caldas

Sponsors

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

Links

Picks

Aimee Knight:

AJ O’Neal:

Charles Max Wood:

Daniel Caldas:




da

JSJ 420: OpenAPI, Redoc, and API Documentation with Adam Altman

Adam dives into how to document your application using OpenAPI (formerly Swagger) and then how to generate great documentation for your API's using Redoc. He gives us the history of Redoc, breaks down the process for building API documentation, and understanding the OpenAPI specification.

Panelists

  • Aimee Knight

  • Dan Shappir

  • AJ ONeal

  • Steve Edwards

Guest

  • Adam Altman

Sponsors

____________________________

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

____________________________________________________________

Links

Picks

Steve Edwards:

Aimee Knight:

Dan Shappir:

AJ O’Neal:

Adam Altman:




da

JSJ 426: Killing the Release Night with Progressive Delivery with Dave Karow

JavaScript Remote Conf 2020

May 14th to 15th - register now!


Dave Karow is a developer evangelist for Split. He dives into how you can deliver software sustainably without burning out. His background is in performance and he's moved into smooth deliveries. He pushes the ideas behind continuous delivery and how to avoid getting paid to stay late in "free" pizzas.

Panel

  • AJ O’Neal

  • Aimee Knight

  • Charles Max Wood

  • Dan Shappir

Guest

  • Dave Karow

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

Aimee Knight:

Dan Shappir:

AJ O’Neal:

Charles Max Wood

Dave Karow:

Follow JavaScript Jabber on Twitter > @JSJabb




da

MJS 142: Daniel Caldas

Daniel Caldas is a Portuguese developer working and living in Singapore. He learned to code in high school programming in Pascal. He moved up to the university and that's where he encountered JavaScript. He wound up doing a bunch of design work, static websites, and jQuery. He explains his journey and learning methods leading to a job working for Zendesk on their CRM.

Host: Charles Max Wood

Joined By Special Guest: Daniel Caldas

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

Daniel Caldas:

Charles Max Wood:




da

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




da

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