2

MJS #026 Chris Coyier

MJS 026 Chris Coyier

This week’s episode is a My JavaScript Story with Chris Coyier. He is from the ShopTalk Show and CodePen. Listen to learn more about Chris!

How did you get started programming?
Chris has an atypical story. good time in life. He is from a small town in Madison, Wisconsin and had a very privileged upbringing. He went to a nice high school that had a programming elective in his high school. He took a class that taught Turbo Pascal and loved it. He had a lot of fun doing it and became set on doing it in college.

How do you go from that to professional web developer?

Have to give up on it first. He almost got a degree in university management computer systems, which was more management focused than programming focused. He tried and gave up on Java. He then tried graphic design and ended up getting a degree in that. He got into digital prepress at print jobs where he designed documents. It was fun but it was not as fun as being a “real programmer” would be in his mind. He then got a job at an agency doing web developer work. During this time JavaScript was not on his radar.

How do you get from front-end work to building something like CodePen and starting a front-end podcast?

He has made his career his hobby. He loves doing this stuff. When he was building websites for the first time he started CSS tricks. It became really fun. He grew it over ten years. Because it’s his career and hobby he got better over time. All of his time was spent helping friends, writing, or at conferences. He then decided to build CodePen with some of his friends.

What are you working on these days?

Chris wants to be careful not to be working on too many things at once. His top priority is CodePen, which he says is hard to keep up with what developers want there. The second priority is CSS tricks. He likes to publish quality articles for people to read. This third priority is his podcast.

What’s the thing you’ve done that you’re the proudest of?

CodePen is what has been so continually rewarding. This last month he is all money accounted for. He is really proud of CodePen because they made a company from nothing. He and his coworkers have made the podcast over a decade of growing an audience and it feels entrepreneurial.

Charles’ most proud thing is the decision to go full time with his podcast for the last year and a half.

Picks

Chris:

Charles:

Links




2

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

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

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

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

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

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

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

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

Examples:

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

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

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

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

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

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

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

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

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

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

Microsoft also reviews and approves plugins.

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

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

SharePoint Developer Tools

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

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

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

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

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

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

SharePoint is layers of data and scopes.

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

Picks

Charles Max Wood

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

AJ O'Neal

Mike Ammerlaan

Vesa Juvonen

  • Family

A big thanks to Microsoft, DotNetRocks, and Build!




2

MJS #027 Chris Anderson

MJS 027 Chris Anderson

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


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

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

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

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

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

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

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

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

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

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

[00:12:02] Having fun at work

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

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

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

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

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

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

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

How much Angular have you worked on yourself?

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

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

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

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

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


Picks

Chris

Mountain Dew Pitch Black
The Expanse Series on SciFi
Application Insights

Charles

Wheel of Time
Coolage
Dog Company
Data Dog


Links

Twitter
GitHub




2

JSJ 272: Functional Programming and ClojureScript with Eric Normand

JSJ 272: Functional Programming and ClojureScript with Eric Normand

This episode of JavaScript Jabber features panelists Aimee Knight and Charles Max Wood. Special guest Eric Normand is here to talk about functional programming and ClojureScript. Tune in to learn more!

[00:1:14] Introduction to Eric Normand

Eric works for purelyfunctional.tv. The main target market for his company is those people who want to transition into functional programming from their current job. He offers them support, shows them where to find jobs, and gives them the skills they need to do well.

[00:02:22] Address that quickly

Functional programming is used at big companies such as Wal-Mart, Amazon, EBay, Paypal, and banks. They all have Clojure but it is not used at the scale of Java or Ruby.

So yes, people are using it and it is influencing the mainstream programming industry.

[00:3:48] How do you build an application?

A common question Eric gets is, “How do I structure my application?” People are used to using frameworks. Most start from an existing app. People want a process to figure out how to take a set of features and turn it into code. Most that get into functional programming have development experience. The attitude in functional programming is that they do not want a framework. Clojure needs to be more beginner friendly. His talk is a four-step process on how to turn into code.

[00:05:56] Can you expand on that a little?

There are four steps to the process of structuring an application.

  1. Develop a metaphor for what you are trying to do. Developing the first implementation. How would you build it if you didn’t have code?
  2. Develop the operations. What are their properties? Example: will have to sort records chronological.
  3. Develop relationships between the operations.
  4. Run tests and refactor the program. Once you have that, you can write the prototype.

[00:13:13] Why can’t you always make the code better?

Rules can’t be refactored into new concepts. They have to be thrown away and started completely over. The most important step is to think before beginning to write code. It may be the hardest part of the process, but it will make the implementation easier.

[00:17:20] What are your thoughts on when people take it too far and it makes the code harder to read?

He personally has written many bad abstractions. Writing bad things is how you get better as a programmer. The ones that go too far are the ones that don’t have any basis or are making something new up. They are trying to be too big and use no math to back up their code.

[00:20:05] Is the hammock time when you decide if you want to make something abstract or should you wait until you see patterns develop?

He thinks people should think about it before, although always be making experiments that do not touch production.

[00:23:33] Is there a trade off between using ClojureScript and functional JavaScript?

In terms of functional programming in JavaScript don’t have some of the niceties that there are in Clojure script. Clojure Script has a large standard library. JavaScript is not as well polished for functional programming; it is a lot of work to do functional programming it and not as much support.

[00:27:00:] Dave Thomas believes that the future of software is functional programming. Do you agree?

Eric thinks that it seems optimistic. He doesn’t see functional programming take over the world but does think that it has a lot to teach. The main reason to learn functional programming is to have more tools in your toolbox.

[00:31:40] If this is a better way to solve these problems, why aren’t people using it?

There is a prejudice against functional programming. When Eric was first getting into it, people would ask why he was wasting his time. Believes that people are jaded. Functional programming feels foreign because people are used to a familiar way of programming; they usually start with a language and get comfortable.

[00:40:58] If people want to get started with it, is there an easy way in?

Lodash is great to start replacing for loops. It will clean up code. There are other languages that compile to JavaScript. For example, Elm is getting a lot of attention right now. It is a Haskell like syntax. If you want more of a heavyweight language, use TypeScript or PureScript. ClojureScript is into live programming. You are able to type, save, and see results of the code immediately on the screen in front of you.

Picks

Aimee:

Eric

Charles

  • Ionic Framework

Links




2

MJS #028 Zach Kessin

MJS 028 Zach Kessin

In this episode we have another JavaScript Story, this time our guest is Zach Kessin. Zach is a Developer and consultant. On the server side he works with Erlang and Elixir. On the front end he works on Elm. He also also written a few books for O’Reilly and a video course for Manning available sometime in the fall. He was a guest on episode 57 and is here with us today to tell us his story. Stay tuned!

[2:48] How did you get into programming.

Zack tells the story about how when he was 7 he asked his mother for a computer. She agreed that if he paid for half of it somehow, then she would help him get it. He Gathered his half by calling relatives and gathering funds. His mom taught him Basic and Logo. He also learned Pascal. While in University he picked up the book Structure and Interpretation of Computer Programs and loved it. He talks about remembering writing a HTML forum but not knowing how to submit entries. After college he started working.

[4:38] Resources then vs now.

Charles adds that if you’re tenacious enough to call your family members to find funding to buy a computer to learn, then you probably have the drive it takes to be a programmer. Charles and Zack talk about how in the 80s it was rare to have access to a computer, and now homes have multiple computers throughout. The resources are more readily available now with the internet. If you’re looking to get into development, there are plenty of great resources.

[7:45] How did you get into JavaScript and Erlang?

Zach starts explaining by telling how he get into JavaScript before the internet really existed. His first JavaScript program exposure was a loan calculator at a bank. Early on the only thing you could do was validate forms, but over time it grew. He started working for a company writing php. He felt like it wasn’t as functional or elegant as he was hoping for. He found various languages and landed on Erlang. Erland was designed to work for programming telephone switches. Due to phone services nature, It handles high scale, high reliability, has to be upgraded on the fly, etc. Zach talks about how server programming looks very similar to phone line programming. Zach adds that a few years ago he wanted work on some front end and after looking around finally he learned about Elm. He says that he is always looking for what’s new and useful.

[14:26] Programming Languages Change the Way We Think

Charles points out that it’s very interesting out about how functional programming has played out. He mentions that many JavaScript programmers use functional style programming to help with speed or efficiency. He adds that a fully functional programming language is very interesting and could be helpful. Zach talks about how learning new languages helps adjust the way we think.

[16:45] How have you contributed to the development community?

Charles starts off with mentioning Zach’s podcast that was called Mostly Erlang. Zach adds that he has wrote two books for O’ Reilly, one on HTML5 and Erlang. He has done some blogging and is creating a video course called Startup Elm. He mentions that he spends most of his time teaching. He admires people who write libraries and sustains them over years, but it isn’t something he sees himself getting into. He adds that having the libraries are useless unless you have someone to communicate about it and teach it. Charles mentions that contributions come in various ways and the community needs those sort of teachers. Zach mentions that he often speaks at conferences and meet ups. Public speaking can be a great way to progress your career. Charles brings up the idea of “Sweeping the dojo floor”. He was introduced to this idea by Dave Hoover. Sweeping the dojo floor means that you’ve got enough experience to talk about the topic, but maybe not fully contribute and so you do things like document code, or write articles and outreach for the topic. Talks can lead to work. You can easily find research papers and do talks on that. Zach adds that sometimes in a community, you see the same speakers over and over and new speakers are needed. Zach also mentions that there are plenty of opportunities to do talks in something other than english.

[26:36] What are you working on now?

Zach talks about the list of things he is working on. Starting with Startup Elm and it’s live course that will be happening in October. He is also working on a SaSS product for Instagram marketers called SquareTarget. He adds that he has a day job as well.

Picks

Zach

Intrepid Large Format Camera Kickstarter

Charles

Toast Masters
Zapier
Javascriptjabber.com/slack




2

JSJ 273: Live to Code, Don't Code to Live with 2 Frugal Dudes Sean Merron and Kevin Griffin

JSJ 273: Live to Code, Don't Code to Live with 2 Frugal Dudes Sean Merron and Kevin Griffin

This episode of JavaScript Jabber features panelists Aimee Knight, Cory House, and Charles Max Wood. Special guests Sean Merron and Kevin Griffin discuss how to live frugally. Tune in to hear their advice!

[00:02:14] Introduction to Sean and Kevin

Sean and Kevin are the hosts of the 2 Frugal Dudes Podcast. They are middle class software engineers. Sean works a 9 to 5 job, while Kevin owns a small business called Swift Kick. Swift Kick is a company that focuses on independent consulting, software development, and training companies for software development.

[00:05:50] Different Types of Financial Advisors

There is no legal reason that financial advisors have to work in your best interest. On the 2 Frugal Dudes Podcast, Sean and Kevin advise people to use fiduciary advisors. These types of advisors are not legally allowed to accept kickbacks from different funds. This means that they are more likely to help you to the best of their ability. They get paid for their services. Laws are currently changing so that everyone has to be a fiduciary advisor unless clients sign a specific form.

[00:10:00] What do I do with money left over at the end of the month that I can’t put into a 401K and Roth IRA?

They suggest that you put only the amount of money in your 401K that your company will match. Then, put the rest into a Roth IRA and max that out. Before you decide to do what next, you need to decide why you are saving money. When will you need the money? What will you need it for? Once you know the answer to these questions, you will be able to assess what your money will best be placed. For example, if you are saving to buy a house you need to put your money in a safe investment. A Roth IRA can be used as a savings vehicle or as an emergency fund. Sean believes that a Bank CD is the safest return you can get.

[00:14:30] Best Way to Save 

For those who are self-employed, it is a good idea to have two emergency funds – a personal and a business fund. Business emergency funds should have five months of personal salary. Kevin built his up over two or three years and uses it as self-insurance.

Sean says that the employee world is different. For him, he only keeps the minimum amount in his emergency fund. He knows that he is in a field where his job is in high demand, so feels comfortable with being able to get a job quickly. For others, this may not be the case. Have to evaluate how much to save based on how long you think you may need the money. 

[00:18:50] What is the first thing people should be doing for their own financial well being?

Kevin follows Dave Ramsey’s advice.

  1. Basic emergency fund. He uses $1,000. Most emergencies fall under that amount of money.
  2. Get rid of all consumer debt. This includes car payments, credit cards, and student loans. Mortgage is not consumer debt.
  3. Grow an emergency fund to three or six months of expenses.
  4. Investments. Setting up retirement funds, paying for college, or mortgages.

Sean values early retirement so he focuses on that. What does retirement mean to me? What does rich mean? You should always track your money through a budget. Then you can funnel money towards emergency funds and tackling debt.

Self-insurance means that you don’t have to worry about funds. It helps lower your stress knowing that you have your finances in order. It is a peaceful place to be and opens up opportunities for you. If someone has stressors in their life – for example, their car breaks down – and they have no money to fix it, they now have car and money problems. This stress can then potentially lead to other problems such as marriage problems. If the money to fix the broken car would have been there, it would alleviate stress.

[00:28:23] Difference between 401k, IRA, and Roth IRAs

A 401k is an employer provided, long-term retirement savings account. This is where you put in money before it is taxed. With this plan you are limited with the funds you can choose from to invest in.

IRAs are long-term retirement plans as well. The first type of IRA is a Traditional IRA, which is similar to a 401k. You get tax reduction for the money you put in the account. You pay taxes once you withdraw money. A Roth IRA is where you already pay taxes on money that you are putting in, but don’t have to pay taxes when withdrawing money. You can withdraw contributions at anytime without being penalized, you just can’t take out any earnings.

Another thing that is potentially good for early retirement is a Roth IRA conversion ladder. This is where you take money from a 401k and convert it into a Roth IRA and use it before 60 years old to fund early retirement.

Traditional IRAs are good for business owners looking for tax deductions now. An HSA (Health Savings Account) can also be used as a retirement device. It goes towards medical expenses if needed.

[00:34:20] Are there tools or algorithms I can use to figure this stuff out?

There are some. Portfolio Visualizer allows you to choose different portfolio mixes and put different amounts of money in each one. Portfolio Charts is similar to Portfolio Visualizer but gives nice graphics. Sean created a JavaScript website to help people use to figure out early retirement.

The hardest part is calculating return because you have to estimate what your return will be each year.

[00:39:00] Put Your Money Somewhere

The only bad investment is not making an investment. Even making a bad investment is better than not having any at all. Inflation eats away at money that is just sitting.

[00:42:05] If you get one of these advisors what advice should you be looking for?

Need someone that tries to understand your particular situation. “It depends” is very true and your advisor should know that. No two people will have the same financial goals. They should want to help reach your goals in the least costly way possible. Other things they should be able to do is be honest and help you control your emotions during upswings and downswings. 

[00:47:08] Why index funds?

As an investor, you can buy an index fund cheaper than buying the whole index. A mutual fund will try to buy and sell the stocks in that index in order to follow the index's performance. As an investor, you have the opportunity to buy into a mutual fund that handles it for you.

You don’t have to independently invest in companies either. You can invest in an index instead that will look at, for example, top performing technology companies. It is usually a better value.

[00:53:33] How much do I invest in my business verses putting money into a Roth IRA or 401k?

Sean thinks it comes down to retirement goals. At some point you will want money to come in passively and retire in the future. If you can passively put X amount of dollars into your company then it can be looked at as a form of investment.

Kevin evaluates his business goals every quarter. He creates a business budget based off of those goals.

Picks

Cory

Aimee

  • Hacker News Thread – How to Not Bring Emotions Home With You
  • Phantogram 

Charles

Sean

Kevin

Links




2

MJS #029 Matt Creager

MJS 029: Matt Creager

On this episode, we have another My JavaScript Story, our guest is Matt Creager. Matt works for Manifold. He's here with us today to tell us his story. Stay tuned!

[01:00] – Introduction to Matt Creager

Matt works for an interesting company called Manifold. They sponsored the show.

[01:35] – How did you get into programming?

Before Matt fell in love with programming, he was in love with technology. They bought his first computer. It was a Gateway 2000 and he got access to the internet around the same time. He spent all of his time on that computer because they were moving around so much. That became the way that he stayed in touch with people. He remembers taking it apart and formatting the hard drive accidentally.

His uncle has been in the IT industry since he was a kid too. Matt was always associating him with spending time with his computer programming, a role model, and stabilizer in his life. He was switching tapes. And then, his cousin decided that he was going to start scripting his character’s actions in a game that they were playing. And now, looking back, it was some combination of Lua and C++. He started taking his cousin’s scripts apart to automate his own character in the game. He was 13 or 14.

The first programming book that he bought was a result of not being able to figure out how to get his character what it wants to do. It was one of the C++ bibles. And then, he became active in the forums around the scripting language. He was sharing the scripts and he started to realize that he can harvest stuff in the game and sell it for real cash.

Matt never considered himself technical and never considered programming a career. He was just translating CPU and RAM for people who were shopping for computers. And then, he wanted people to measure theirs so he built tools that took the data they had in an office and turn them into reports. When the manager started using that, it became a nationwide program and suddenly, he was on the map. He was leading a team.

When Blackberry started a technical interview, he realized that he has the answers to these questions. Initially, he was just a Technical Issues Manager. He had a Data Science team and that team was responsible for identifying and prioritizing issues. They were using Node 0.4, very early version of Node. And then, he discovered Angular and dived head first to the Angular community.

[13:10] – BlackBerry got Matt to JavaScript

Matt looked at Node because he was trying to figure out how he could do real time analytics. He wanted these dashboards that data scientists are looking at. That was the stepping stone into JavaScript.

[15:30] – Hackathon

On the side, a couple of local companies started to run hackathons. Matt was going to hackathons all the time. Then, he ended up of hopping from BlackBerry to becoming a full time front-end developer at a start-up.

Matt was talking with one of the organizers at LA Hacks. She was telling him that the reason why people are going to these hackathons is because they want to win and they want to put that fact on their resumes. In his day, that was not hackathons were like. The prizes can act as a negative incentive. They really work hard for the prizes. Sometimes they actually end up becoming more creative as a result because they know they need to use this specific combination of API’s.

[18:45] – Contributions to JavaScript community

When Matt joined GoInstant, it was very early days of RTC. Web sockets are new at that point. You’re probably more familiar with Firebase. In the early days, GoInstant and Firebase are competing for the same developers. They’re working on the same problems. The tools that they are building were real time synchronization between the state you have on the client and the state you have on the server. A lot of those that they build, open-source tools, they went with GoInstant to Salesforce. But they inspired the libraries and a lot of it is probably on the same code base that you now see in libraries that pretty much does the same things with Firebase.

And then, most recently, Matt and the team built Torus. They realized that if they are going to be building smaller applications, going to start to use more cloud services, more services tailored towards developers, and going to manage a lot more credential, a lot of credentials that need to be secured and shared with the teammates, they needed to take those credentials and put them on applications wherever they are running, whether that’s a Docker container or Heroku. That’s his most recent open-source project.

[20:50] – What are you working on now?

Manifold is their latest project. They’re trying to build a market place for developer services. It’s been 3 months. They moved from Torus to building Manifold earlier this year. The official launch hasn’t happened yet. That’s hopefully to come earlier this year – September. If it’s something that you want to try out and experiment with, there is a coupon for My JS. Give it a try before they launch a $25 credit that they can use to provision a logging instance, monitoring, or database. You can use it with any type of services that you might need to build your app.

Picks

Matt Creager

Charles Max Wood




2

JSJ 274: Amazon Voice Services and Echo Skills with Terrance Smith

JSJ 274 Amazon Voice Services and Echo Skills with Terrance Smith

On today’s episode of JavaScript Jabber, we have panelists Joe Eames, Aimee Knight, Charles Max Wood, and we have special guest Terrance Smith. He’s here today to talk about the Amazon Alexa platform. So tune in and learn more about Amazon Voice Services!

[01:00] – Introduction to Terrance Smith

Terrance is from Hacker Ferrer Software. They hack love into software.

[01:30] – Amazon Voice Service

What I’m working on is called My CareTaker named probably pending change. What it will do and what it is doing will be to help you be there as a caretaker’s aid for the person in your life. If you have to take care an older parent, My CareTaker will be there in your place if you have to work that day. It will be your liaison to that person. Your mom and dad can talk to My CareTaker and My CareTaker could signal you via SMS or email message or tweet, anything on your usage dashboard, and you would be able to respond. It’s there when you’re not.

[04:35] – Capabilities

Getting started with it, there are different layers. The first layer is the Skills Kit for generally getting into the Amazon IoT. It has a limited subset of the functionality. You can give commands. The device parses them, sends them to Amazon’s endpoint, Amazon sends a call back to your API endpoint, and you can do whatever you want. That is the first level. You can make it do things like turn on your light switch, start your car, change your thermostat, or make an API call to some website somewhere to do anything.

[05:50] – Skills Kit

Skills Kit is different with AVS. Skills Kit, you can install it on any device. You’re spinning up a web service and register it on Amazon’s website. As long as you have an endpoint, you can register, say, the Amazon Web Services Lambda. Start that up and do something. The Skills Kit is literally the web endpoint response. Amazon Voice Services is a bit more in-depth.

[07:00] – Steps for programming

With the Skills Kit, you register what would be your utterance, your skill name, and you would give it a couple of sets of phrases to accept. Say, you have a skill that can start a car, your skill is “Car Starter.” “Alexa tell Car Starter to start the car.” At which point, your web service will be notified that that is the utterance. It literally has a case statement. You can have any number of individual conditional branches outside of that. The limitation for the Skills Kit is you have to have the “tell” or “ask” and the name of the skill to do whatever. It’s also going to be publicly accessible. For the most part, it’s literally a web service.

[10:55] – Boilerplates for AWS Lambda

Boilerplates can be used if you want to develop for production. If you publish a skill, you get free AVS instance time. You can host your skill for free for some amount of time. There are GUI tools to make it easier but if you’re a developer, you’re probably going to do the spin up a web service and deal it that way.

[11:45] – Do you have to have an Amazon Echo?

At one point, you have to have the Echo but now there is this called Echoism, which allows you to run it in your browser. In addition to that, you can potentially install it on a device like a Raspberry Pi and run Amazon Voice Services. The actual engine is on your PC, Mac, or Linux box. You have different options.

[12:35] – Machine learning

There are certain things that Amazon Alexa understand now that it did last year or time before that like understanding utterances and phrases better. A lot of the machine learning is definitely under the covers. The other portion of it Alexa Voice Service, which is a whole engine that you have untethered access to other portions like how to handle responses. That’s where you can build a custom device and take it apart. So the API that we’re working with here is just using JSON and HTTP.

[16:40] – Amazon Echo Show

You have that full real-time back and forth communication ability but there is no video streaming or video processing ability yet. You can utilize the engine in such a way that Amazon Voice Services can work with your existing tool language. If you have a Raspberry Pi and you have a camera to it, you can potentially work within that. But again, the official API’s and docs for that are not available yet.

[27:20] – Challenges

There’s an appliance in this house that listens to everything I say. There’s that natural inclination to not trust it, especially with the older generations. Giving past that is getting people to use the device. Some of the programming sides of it are getting the communication to work, doing something that Alexa isn’t pre-programmed to do. There isn’t a lot of documentation out there, just a couple of examples. The original examples are written in Java and trying to convert it to Node or JavaScript would be some of the technical challenges. In addition, getting it installed and setup takes at least an hour at the beginning. There’s also a learning curve involved.

[29:35] – Is your product layered in an Echo or is your product a separate device?

Terrance’s product is a completely separate device. One of the functionality of his program is medicine reminders. It can only respond to whatever the API calls from Amazon tells you to respond to but it can’t do anything like send something back. It can do an immediate audio response with a picture or turn on and off a light switch. But it can’t send a message back in like two hours from now. You do want your Alexa device to have (verbally) a list of notifications like on your phone. TLDR, Terrance can go a little further with just the Skills Kit.

[32:00] – Could you set it up through a web server?

Yes. There are examples out there. There’s Alexa in the browser. You can open up a browser and communicate with that. There are examples of it being installed like an app. You can deploy it to your existing iPhone app or Android app and have it interact that way. Or you can have it interact independently on a completely different device like a Raspberry Pi. But not a lot of folks are using it that way.

[33:10] – Monetization

Amazon isn’t changing anything in terms of monetization. They make discovery a lot easier though. If you knew the name of the app, you could just say, “Alexa, [tell the name of the app].” It will do a lazy load of the actual skill and it will add it to your available skill’s list.

However, there is something called the Alexa Fund, which is kind of a startup fund that they have, which you can apply for. If you’re doing something interesting, there is a number of things you have to do. Ideally, you can get funding for whatever your product is. It is an available avenue for you.

[36:25] – More information, documentation, walkthroughs

The number one place to go to as far as getting started is the Amazon websites. They have the Conexant 4-Mic Far-Field Dev Kit. It has 4 mics and it has already a lot of what you need. You have to boot it up and/or SSH into it or plug it up and code it. They have a couple of these kits for $300 to $400. It’s one of the safe and simpler options.

There are also directions for the AVS sites which is under Alexa Voice Services, where you can go to the Github from there. There will give you directions using the Raspberry Pi.  If not that, there’s also the Slack chatroom. It is alexaslack.com. Travis Teague is the guy in charge in there.

Picks

Joe Eames

Aimee Knight

Charles Max Wood

Terrance Smith




2

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




2

JSJ 276: Vue.js with Maximilian Schwarzmüller

JSJ 276: Vue.js with Maximilian Schwarzmüller         

This episode of JavaScript Jabber features panelists AJ O’Neal, Aimee Knight, and Charles Max Wood. They talk with special guest Maximilian Schwarzmüller about Vue.js. Tune in to find out more!

[00:02:21] Introduction to Maximilian

Maximilian lives in Germany and is a self-taught web developer. He mostly teaches web development on Udemy and his YouTube channel. Vue.js is just one topic that he teaches. He enjoys teaching and passing on information to other web developers: he believes it is the best thing you can do.

[00:03:10] What other courses do you teach?

He tries to cover basic web development topics. On Udemy Maximilian teaches Angular and generic JavaScript courses. He also teaches courses on Angular and Node.js. On his YouTube channel he teaches more back-end development and Node.js courses.

[00:04:00] Elevator Pitch for Vue.js

Vue.js is a new framework that is popular because it is similar to React but also has Angular features. It is easier to learn than React: not everything is in JavaScript and JXS is not included. It is more also flexible and has better performance than Angular 1. Vue.js is easier than Angular 2 both to learn and master. It is still a JavaScript framework, where developers build single page applications or drop in existing applications to enhance views, control parts of a page with JavaScript, get rid of jQuery, and have an easier time creating applications.

[00:05:10] What are some challenges people run into as they learn it?

If developers are brand new to Vue.js, getting started is easy. It has one thing that a lot of frameworks lack which is awesome documentation. Vuejs.org has a comprehension guide that makes getting started simple. There is a general idea that developers still need to learn of how to structure the app, which is similar to React. Developers have to learn how to build components which is used to build the application. The build template is where everything is controlled with Vue.js. JavaScript code is used as well as template syntax.

[00:06:27] So you build the template and then tell it how each part is supposed to behave with JavaScript?

Yes. To get started use Vue instances, which are JavaScript objects, control parts of the page and it is marked by an id on an HTML element. Then, write a Vue template, which is basically HTML code where extra features can be used to easily output a variable. It makes it much easier to control via Vue instance. Then add a code, add a method which changes the property of Vue instance. It works together and is easy to build up templates and control your page with Vue.

 

[00:11:12] Vue’s Advantages

That depends on the application. Vue.js is easier to learn, which is an advantage when trying to get new developers. The documentation on the website is excellent, which helps when learning the language. Vue also has it’s own single team that develops it’s products, such as the Vue Router and Vue X. It has better performance, but for extremely big projects Angular 4 may be better.

[00:13:38] Does Vue have routing in it?

Vue.js has its own router. The core Vue team develops it, which is a different package that is downloaded separately. The advantage to this is that if you don’t need the router, then you don’t have it in your bundle but can easily add it. Once it is added it integrates nicely.

[00:14:16] How does the Vue router compare to the React router?

The Vue router offers the same features as the React router: nested routes, passing parameters, route guards, etc. The Vue router integrates nicely into the Vue package. It also injects into every component you have and is very simple. All that has to be done is just to execute one line of code and then the router is in the project.

[00:17:10] How often is Vue.js upgraded and how hard is it to keep up?

Vue.js only has two versions. Upgrading from Vue 1 to Vue 2 is easy. The base syntax and framework is still the same, you just need to adjust and move on. Since Vue 2 they released bigger upgrades. There so far haven’t been any issues upgrading, they have added new features, and still use the old code.

[00:19:09] What is the feature with Vue as far as adoption goes?

It is hard to predict but there are indicators that Vue.js has a good future. Vue.js probably will not overtake Angular but it is becoming important for companies in Asia, which is an important market. They have developed an Ionic version of Vue.js. There has also been an ongoing trend on GitHub.

[00:21:20] Why do we keep having new frameworks and versions?

The language of JavaScript itself is seeing rapid development. New features have been added, new web technologies developed, etc. One reason is that developers do more on the web. They want easier ways of building applications. There is no perfect framework so there has to be tradeoffs between the frameworks. There is no perfect solution for every application so need a framework for every application.

[00:23:16] What is left undone in Vue.js?

It is complete as far as something can be complete. Developers are working on service rendering to improve search engine optimization and initial rendering performance. They are also working on progress web app support.

 

[00:28:02] What drives the way that Vue grows?

There is simplicity in their documentation. While the documentation is simple, the framework is also easy to learn. Maximilian believes that the reason Vue.js took off is because the documentation and framework work together nicely.

[00:31:19] What is going to keep Vue around?

The support is not based on corporation, but there is an Asian company that is developing a framework that uses Vue to with their own product. Because of this, can draw an assumption that they will keep Vue.js around. Vue.js also has a strong community and core team, giving it a good support system.

[00:34:15] What are people using if they want to use Native Apps but they want to use Vue?

They are having a hard time right now. Frameworks for Quasar and Weex are in the early stages. A Vue.js app needs to be built but there are packages that are working in that direction.

[00:37:25] How do you structure your Udemy courses and what do you think of that as a whole?

Maximilian started teaching Udemy courses about one and a half years ago. He really enjoys teaching. Each course follows a similar pattern. He starts with a rough topic, researches the topic to see what is in demand, and builds a course around projects. He then fits all the things he wants to teach into the project, plans the course curriculum, records and edits the lecture videos, and then finally releases the course.

[00:39:22] What do you get the most questions about with your Vue course?

Questions are mixed. Students dive into the course quickly but then pause. Most questions are about the basics. They usually have something to do with the first few sections of the course or setup problems.

Picks         

AJ:

Aimee:

Charles:

Max:

Links




2

MJS #032 Feross Aboukhadijeh

MJS 032: Feross Aboukhadijeh

Today's episode is a My JavaScript Story with Feross Aboukhadijeh. Feross talked about his contributions to the JavaScript community to the decentralized web. Listen to learn more about Mike!

[01:00] – Introduction to Feross Aboukhadijeh

Feross was on episode 155 and he talked about Webtorrent. It was 2 years ago.

[01:35] – How did you get into programming?

Toddler

Feross has always been interested in computers and technology. His mom told him a story about how when he was a toddler, he was always watching people whenever they’re using technology – the television, the microwave, or the VCR. She said that he’s trying to imitate what he saw.

HTML and Web proxies

According to Feross, he became seriously interested when he was in middle school when he learned about HTML and wanted to make a personal site. In high school, there was this class that you could take. It’s a tech team where they went around and fixed teachers’ computers because they were understaffed. Some of the computers have administrator privileges turned on for the student accounts as well because some of the software that was required for certain classes needed it. The computers always had viruses on them because people would install first-person shooters and play during class time. They actually have school-wide filtering system so students can’t access certain sites. One of the categories they blocked was downloading sites. In order to even do their job, they have to figure out web proxies to get around the filters. He ended up setting up one of those on his own server.

First website

Feross’ real programming experience was PHP. It was in his junior year of high school. He bought a book in Barnes & Noble about PHP and MySQL. He wanted to build a site to host his favorite flash animations. That project was a database-driven website where people can segment their flash animations and soundboards, prank phone calls, and other internet humor. The site was called freetoflash. That was the first website that he built.

[07:10] – How did you get into JavaScript?

Feross thinks JavaScript is one of those languages that you don’t actually really bother to sit down and learn. There weren’t any good resources. According to him, He really didn’t know JavaScript until he started a company right after he graduated from college. He started taking JavaScript seriously because he was learning Node.js and realized that you can build real things from it. The start-up is called PeerCDN. They’re trying to make a content delivery network that would work in the browser using WebRTC. The idea is you would add a script tag to your website and then we would try to find other people visiting your site that already has the content that you want, you’ll fetch it from them over a peer-to-peer connection to save on your hosting build to reduce your CDN bill. That was a big Node application. It also has intense front-end component. He started learning about NPM, how you build things with microservices, and how do you deploy a JavaScript application. That was in 2013.

[09:35] – Webtorrent

Feross has been trying to transition Webtorrent into a distributed contribution model. It’s always been something that he would give out commit rights. If someone makes a good contribution, he’ll just add them to the Github for it. He recently made it into an organization on Github. He’s hoping to make it something that’s not completely dependent on him in order for it to continue existing. He’s going to be involved with it for the foreseeable future but he’s also trying to do new projects as well besides that. The good news is Webtorrent is mostly done in some sense. It works well. There are bugs. But if you use Webtorrent, especially if you use the desktop application to torrent things, it’s really polished and works nicely.

Picks

Feross Aboukhadijeh

Charles Max Wood




2

JSJ 277: Dojo 2 with Dylan Schiemann and Kitson Kelly

JSJ 277: Dojo 2 with Dylan Schiemann and Kitson Kelly

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

[00:02:03] Introduction to Dylan Schiemann

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

[00:02:22] Introduction to Kitson 

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

[00:02:43] Elevator Pitch for Dojo

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

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

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

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

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

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

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

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

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

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

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

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

Call out to Angular 4 vs Angular 2.

[00:12:44] AMD Modules

Why use AMD instead of ES6 modules?

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

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

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

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

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

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

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

For package builds and CI, Grunt is used.

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

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

Internationalization in Angular 2 or 4 seems unfinished.

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

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

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

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

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

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

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

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

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

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

The Sitepen Blog series on picking a framework

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

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

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

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

Theming systems is another selling point for Dojo.

[00:34:10] Ending the framework wars

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

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

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

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

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

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

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

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

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

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

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

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

[00:49:08] Testing

They've got intern.

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

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

The Dojo CLI uses intern as the default test framework.

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

Dojo Links

Picks

Cory

Aimee

Chuck

Dylan

Kitson

 




2

JSJ 278 Machine Learning with Tyler Renelle

Tweet this Episode

Tyler Renelle is a contractor and developer who has worked in various web technologies like Node, Angular, Rails, and much more. He's also build machine learning backends in Python (Flask), Tensorflow, and Neural Networks.

The JavaScript Jabber panel dives into Machine Learning with Tyler Renelle. Specifically, they go into what is emerging in machine learning and artificial intelligence and what that means for programmers and programming jobs.

This episode dives into:

  • Whether machine learning will replace programming jobs
  • Economic automation
  • Which platforms and languages to use to get into machine learning
  • and much, much more...

Links:

Picks:

Aimee

AJ

Joe

Tyler




2

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:




2

JSJ 280: Stackblitz with Eric Simons and Albert Pai

Panel:

Joe 

Amy 

Charles 

 

Special Guests: 

Eric Simmons 

Albert Pai

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

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

In particular, we dive pretty deep on:

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

Links

 

Picks

Amy

Joe

Charles

Eric 

Albert 




2

JSJ 282: Trails.js with Scott Wyatt

Panel:

Joe Amies

Aimee Knight

Charles Max Wood

Cory House

Special Guests: 

Scott Wyatt

In this episode, JavaScript Jabbers talk with Scott Wyatt. Scott is the Co-founder, CTO, UEX at Cali StyleTechnologies, and is a Node developer and graphic designer.  Scott is on JavaScript Jabber to talk about Trails.js. and its simplistic build, but many useful functions.

Scott mentions that Trails.js was created by Travis Webb. Scott gives us an introduction to the Trails.js framework, as the Jabbers take apart and dive deep into the build, functions, and uses.  Scott goes into what trail packs are, and the similar or related projects. Scott talks about the ease of using trails to build with, and not ending up in frustration.

In particular, we dive pretty deep on:

  • Trails.js is Node Framework and lightweight or Blueprint
  • Similar to Redux?
  • Is it MVC like Rails
  • You don’t need to understand it, it is all under the hood.
  • Tuple Space
  • Is this sole for server-side rendering?
  • Closest projects - Sails
  • Avoid problems like React.
  • Not dealing with corporations
  • Why would you want to use trails instead of other projects like Sails, rails, etc.
  • How do you get started - trailjs.io
  • Quickest way to learn Trails is to build a Trail Pack
  • Don’t be afraid to kill you darlings
  • Testing
  • It Trails production ready?
  • It is a particular type of app where Trails shines?

Links

trailsjs.io

Travis Webb

Picks

Amy

Joe

Charles

Cory

Scott




2

JSJ 283: A/B Testing with Nick Disabato

Panel:

Amy Knight

Charles Max Wood

Special Guests: 

Nick Disabato

In this episode, Java Script Jabbers talk with Nick Disabato. Nick is a newbie to JavaScript Jabber. Nick is the founder of Draft, an interaction design agency where he does research driven A/B testing of E-commerce business.

This is a practical episode for those who are running a business and doing marketing for the products and services. Nick talks about A/B testing for a number scenarios within the company, such as for websites, funnels, and various marketing mechanisms. Nick further goes into how this helps companies strategically increase revenue by changing things such as websites design or building funnels.

In particular, we dive pretty deep on:

  • Testing of changes of Copy, Websites, etc.
  • What does it mean of changes, Tools, Framework, Plugins, etc
  • Does it matter what tools you use? Framework that works within your stack
  • How do make we company money
  • Researching for the next test
  • Testing for conversion rate to decide which design to go implement - Variant
  • Responsibility for the designs
  • Feature and getting pay for the service
  • Learn more about the resources and Copy Hackers
  • Large organization or developers, or a QA department
  • Optimization teams
  • Usability tests and coming up with A/B tests
  • Expertise
  • Why should be care?
  • And much more!

Links:

Draft

Nick Disabato

@nickd

ConversionXL

AB Testing Manual

Wider Funnels 

Copy Hackers

Picks:

Amiee

Charles

Nick




2

JSJ 284 : Helping Developers Build Healthy Bodies

Panel:

Amiee Knight

Charles Max Wood

Special Guests: 

JC Hiatt

In this episode, JavaScript Jabbers speak with JC Hiatt. JC is a software consultant, and working a starting a company called DevLifts. DevLifts is a company that helps developers learn to live healthier lives. JC mentions this business was base on this health journey.

JC and the panel discuss output and mental clarity to get work done in a healthy fashion. Also, the benefits of eating a healthy diet, rather it is the Keto Diet or others types of healthy clean eating, there is a physical and mental benefit. JC and the panel talk about count macros, healthy food intake, and a basic outline of getting into ketosis. Also, the panel discusses finding the motivation to get into a healthy lifestyle to benefit work and your lifestyle.

In particular, we dive pretty deep on:

  • Mental Clarity
  • Keto Diet
  • Cutting out processed foods
  • Counting Macros
  • Getting into Ketosis
  • Supporting brain function
  • Motivation for a healthy lifestyle
  • Gaining energy
  • Getting started  - Walking, Eat Whole. Etc.
  • Pack your own lunch
  • Mindset change -  you are responsible for anyone else’s healthy choices
  • Drink Water
  • You can find a healthy balance and practice moderation
  • Cheat day?
  • Sugar
  • Sitting to0 long at work
  • Sleep - brain wave activity, caffeine, and light
  • Naps
  • And much more!

Links:

@jchiatt

@devlifts

devlifts.io

Picks:

Amiee

  • https://www.womenwhotech.com/panelist-bios
  • https://github.com/AllThingsSmitty/css-protips

Charles

JC




2

JSJ 285 : Finding a Job Even If You're Not a Senior Developer by Charles Max Wood

Panel:

Charles Max Wood

In this episode of JavaScript Jabber, Charles does a solo episode talking about entrepreneurship and the topic/course on “How to Get a Job.” This is an informative episode for those looking for a job as a developer and how to prepare your resume for your career search. Charles covers the core pieces of the course and specific areas of tailoring your credentials for the job you want to acquire.

In particular, we dive pretty deep on:

  • How do I get a great job? Companies are only hiring Senior Devs.
  • Your selling point as a Jr. Dev.
  • Framing your experience for the companies to better see your experience.
  • I don’t want a ( this kind of boss)
  • Feeling like you are making a difference in your job.
  • Who do you want to work for, with, where, and how, etc?
  • Working in a facility or remotely. What do you want?
  • Check out the meet-up places or workplaces (WeWork), Glassdoor
  • Check out the people who work that these companies, LinkedIn.
  • Check out company’s Slack rooms, forum, etc. to make connections
  • Visit the companies personally
  • Look into contacting the Meetup Organizers
  • Building rapport
  • Resume mistakes - how to properly format it so it is skim-able
  • Top 3 bullet points and tailor you resume for each job
  • Unnecessary material in your resume - again tailor to the company
  • Important material to include on your resume, contributions on projects
  • The cover letter - How to do this correctly with a personal touch
  • What to do when you get the interview - the offer!
  • And much more!

Links:




2

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

Panel:

Amiee Knight

Charles Max Wood

Special Guests: 

Kye Hohenberger

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

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

In particular, we dive pretty deep on:

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

Links:

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

Picks:

Amiee

  • Article on Medium
  • Antibiotics and Steroids
  • RX Bars 

Charles

Kye




2

JSJ 287: Blockchain and JS with Ari Lerner

Panel:

Aimee Knight

AJ O’Neal

Charles Max Wood

Special Guests: 

Ari Lerner

In this episode, Java Script Jabbers speak with Ari Lerner. Ari is the author of NG Book: The Complete Book on AugularJS, Full Stack React,  and a few others.  Ari co-runs newline.co a platform that teaches about the Block Chain, Ethereum, New Contracts, etc. Ari mentions a few upcoming books on Machine Learning, Elixir, and react Native.

Ari gives a rundown on what the Block Chain is about, and an explanation of a Hash. Ari explains the value of a Hash and 6-bit strings of a Hash. Also, Ari explains the exchange of currency in Bitcoin and the rate of exchange in the Block Chain. Next Ari covers web 3.0 and much more.

In particular, we dive pretty deep on:

  • What is the Block Chain?
  • A Hash?
  • The blockchain is an order of ledger.
  • The blockchain is a  list of transactions
  • How is a Hash used?
  • Sha 256
  • Bitcoin and Block Chains
  • What If two machines get the same answer?
  • Describe a transaction in a blockchain?
  • Exchanging currency
  • The cost of Bitcoin
  • Web 3.0
  • Everything on the Block Chain is public!
  • Where else is Block Chain is used besides bitcoin type currency
  • Public Key.
  • What should JS developer be doing to prepare?
  • And much more!

Links:

Picks:

Amiee

Charles

AJ

  • Spice Labels and Spice Jars
  • Marriage

Ari




2

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

 

 

 




2

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

Panel:

Charles Max Wood

Special Guests: 

Chris Dias

PJ Meyer

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

In particular, we dive pretty deep on:

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

Links:

Picks:

Chris

  • Pizza

PJ

  • Deli

Charles

  • Coupon Pass for tourist in NYC
 




2

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

Panel:

Charles Max Wood

Aimee Knight

Corey House

Joe Eames

Special Guests: 

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

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

In particular, we dive pretty deep on:

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

Links:

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

Picks:

Aimee

Dirk

Charles

Corey

Joe

 

 




2

JSJ 291: Serverless For JavaScript with Gareth McCumskey

Panel:

Charles Max Wood 

Aimee Knight

AJ O’Neal

Joe Eames 

Special Guests: Gareth McCumskey

In this episode, JavaScript Jabber speaks with Gareth McCumskey about Serverless For JavaScript. Gareth leads the dev team at Expat Explore in Cape Town, South Africa. Gareth and this team specialize in exploring the Serverless realm in JavaScript. The JavaScript Jabbers panel and Gareth discuss the many different types of serverless systems, and when to implement them, how serverless system work, and when to go in the direction of using Serverless. 

In particular, we dive pretty deep on:

  • What does it mean to be Serverless? 
  • Since platform as a service.
  • Microservice on Docker 
  • Firebase
  • “no backend” 
  • Backend systems 
  • Cloud functions and failure in systems 
  • How do you start to think about a serverless system? 
  • How do decide what to do?
  • AWS Lambda 
  • Working in a different vendor
  • Node 4 
  • Programming JS to deploy 
  • Using libraries for NPM
  • How is works with AWS Lambda
  • Where is the database?
  • More point of failure? 
  • Calls to Slack?
  • Authentication
  • Micro Services
  • Elastic Bean Stalk
  • Static Assets, S3, Managing
  • Testing the services 
  • Integration testing
  • And much more! 

Links:

Picks:

Aimee

AJ

Charles

Gareth

Joe 

 




2

JSJ 292: CosmosDB with Kirill Gavrylyuk

Panel: 

Charles Max Wood

Special Guests: Kirill Gavrylyuk

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

In particular, we dive pretty deep on:

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

Links:

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

Picks:

Kirill

Charles

 

 

 




2

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




2

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




2

MJS 042: Kassandra Perch

Panel: 

Charles Max Wood

Guest: Kassandra Perch

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

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

In particular, we dive pretty deep on:

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

Links: 

Picks

Kassandra

Charles 




2

JSJ 295: Developers as Entrepreneurs with Ryan Glover

Panel: 

Charles Max Wood 

Cory House

Joe Eames

Aimee Knight  

Special Guests: Ryan Glover

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

In particular, we dive pretty deep on:

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

Links:

Picks:

Cory

Charles

Aimee

Joe

Ryan




2

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




2

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




2

JSJ 298: Angular, Vue and TypeScript with John Papa

Panel: 

Charles Max Wood

Cory House

Joe Eames

Aimee Knight

Special Guests: John Papa

In this episode, JavaScript Jabber panelist speak with John Papa. John has been doing web programming for over twenty years on multiple platforms and has been contributing to the developer communities through conferences, authoring books, videos and courses on Pluralsight.

John is on the show to discuss an articles he wrote on A Look at Angular Along Side Vue, and another article on Vue.js  with TypeScript. John talks about the new features with the different versions of Angular technologies, anxiety in the different features, comparisons between the technologies and use case with Angular.

In particular, we dive pretty deep on:

  • A look at Angular Along Side Vue - Article
  • Angular 5, Amber,Vue,  React, Angular
  • Angular 2 - different features
  • CLI
  • Spell Webpack
  • Comparisons - Why the anxiety?
  • Opinions of Angular and sprinkling in other technologies
  • Vue is the easy to use with Angular
  • Are there breakpoints with the uses case?
  • Choosing technologies
  • Talk about working with Vue and Angular
  • DSL - Domain Specific Language
  • Vue and 3rd party libraries
  • Talk about Vue working with TypeScript
  • Vue.js  with TypeScript
  • Vue with TypeScript looks similar to Angular
  • Vetur
  • What does 2018 have in store for Angular?
  • Native apps and web functionality
  • And much more!

Links:

Picks:

Corey

Charles

Aimee

Joe

John




2

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

Panel: 

AJ O’Neal

Joe Eames

Aimee Knight

Special Guests: Chris Ferdinandi

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

In particular, we dive pretty deep on:

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

Links:

Picks:

AJ

Aimee

Joe

Chris




2

JSJ 302: Evaluating Web Frameworks with Kitson Kelly

Panel: 

Charles Max Wood

Aimee Knight

AJ O'Neal

Special Guests: Kitson Kelly

In this episode, the JavaScript Jabber panelists talk with Kitson Kelly about evaluating web frameworks. Kitson is currently in Australia working for ThoughtWorks as a principle technologist. He has written many articles on frameworks and urges that people don’t get stuck on one framework in their programming. He talks about how using only frameworks that you know could hurt you in the long run. This episode is great for understanding when to use certain JavaScript frameworks and how branching out from what is comfortable might make your job easier.

In particular, we dive pretty deep on:

  • Articles on web frameworks
  • How do you pick a JavaScript framework to use?
  • The framework depends on your changing needs
  • Recommending less popular frameworks
  • Angular, Ember, React
  • React vs Redux
  • Certain domains with different frameworks?
  • Each framework takes a different approach
  • How to decide which framework to use?
  • Only give it a couple days to see if your app works with the framework
  • Is it ever appropriate to not use a certain framework?
  • Frameworks are there to make your job easier
  • Don’t be afraid to try new frameworks
  • Choose a framework that will “be there tomorrow”
  • What is the future for frameworks?
  • Experiment and be honest with what you need
  • And much, much more!

Links:

Picks:

Charles

Aimee

AJ

Kitson




2

MJS 052: Jeremy Likness

Panel: Charles Max Wood

Guest: Jeremy Likness

This week on My JavaScript Story, Charles speaks with Jeremy Likness. Jeremy works for Microsoft currently and first got into programming when he was kept home while having a sunburn and taught himself how to type in a program into his family’s TI-99 4A computer and then later moved on to the Commodore 64. They stress the fact that you can be a successful programmer, no matter your background and they talk about the pros and cons of being a cloud developer advocate.

In particular, we dive pretty deep on:

  • How did you first get into programming?
  • How much Microsoft is in the different programming aspects
  • Cloud developer advocates
  • Azure
  • TI-99 4A and Commodore 64
  • C and C+
  • You don’t have to go the traditional route to be a programmer
  • Having a CS major is not the only way
  • How did you get into JavaScript?
  • Discovered the internet in college
  • Career focused on Web apps
  • jQuery
  • Backbone.js
  • Hands-on career with the code
  • He did consulting for 10 years
  • Linux
  • How has your earning changed?
  • His biggest fear was getting out of touch with the realities of day-to-day programming
  • Pros and cons of being a cloud developer advocate
  • Community, Content, and Connection with engineering
  • And much, much more!

Links:

Picks

Charles

Jeremy




2

JSJ 312: Hygen with Dotan Nahum

Panel:

  • Charles Max Wood
  • Aimee Knight
  • AJ ONeal

Special Guests: Dotan Nahum

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

In particular, we dive pretty deep on:

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

Links:

Picks:

Charles

Aimee

AJ

Dotan




2

MJS 062: Zachary Kessin

Panel: Charles Max Wood

Guest: Zachary Kessin

This week on My JavaScript Story, Charles speaks with Zachary Kessin. Zach is a web developer who has written Programming HTML5 Applications and Building Web Applications with Erlang. Currently, he works a lot with functional programming. He first got into programming because his mother used to write in Lisp and he earned his first computer by begging his relatives to help pitch in to get him one when he was seven. They talk about what led him to Erlang and Elm, why he wanted to be a programmer from a young age, and what he is most proud of in his career.

In particular, we dive pretty deep on:

  • JavaScript Jabber Episode 57
  • JavaScript Jabber Episode 169
  • Zach intro
  • Elm and Erlang
  • How did you first get into programming?
  • Mother was writing Lisp when he was a kid
  • RadioShack color computer
  • Mother taught him Basic
  • Pascal and AP Computer Science
  • Studied CS originally in college and then switches to Physics
  • First web app written in Pearl 4
  • Did PHP for a living for a while and hated it
  • Elm saves him time and effort
  • What was it that made you want to program from a young age?
  • Don’t be afraid to jump into programming at a late age
  • Elm error messages
  • Writes fewer tests in Elm code that JS code
  • What are you most proud of?
  • Loves mentoring
  • Making a difference in the community
  • It’s not just about the code, it’s about the people
  • What are you doing now?
  • And much, much more!

Links:

Picks

Charles

Zach




2

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




2

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




2

JSJ 321: Babel and Open Source Software with Henry Zhu

Panel:

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

Special Guests: Henry Zhu

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

In particular, we dive pretty deep on:

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

Links:

Sponsors

Picks:

Charles

Aimee

AJ

Joe

Henry




2

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

Panel:

Charles Max Wood

Special Guests: Vesa Juvonen

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

In particular, we dive pretty deep on:

Links:

Sponsors

Picks:

Charles

Vesa




2

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

Panel:

  • Charles Max Wood
  • AJ ONeal

Special Guests: Kurt Mackey

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

In particular, we dive pretty deep on:

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

Links:

Sponsors

Picks:

Charles

AJ

Kurt




2

JSJ 324: with Kent Beck

Panel:

  • Charles Max Wood
  • Joe Eames
  • Aimee Knight

Special Guests: Kent Beck

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

In particular, we dive pretty deep on:

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

Links:

Sponsors

Picks:

Charles

Aimee

Joe

Kent




2

MJS 072: Orta Therox

Panel: Charles Max Wood

Guest: Orta Therox

This week on My JavaScript Story, Charles speaks with Orta Therox. Orta is a native engineer that believes that the right way to build systems is to understand as many systems as possible. He works predominately on iOS programming at a company called Artsy, where they make it easy to buy and sell art on the internet. He first got into programming because he loved playing video games as a child, loved creating his own video games, and worked his way up from there. They talk about his work at Artsy, how he used open source to learn himself how program, how he got into Ruby and then React and React Native, and more!

In particular, we dive pretty deep on:

  • JavaScript Jabber Episode 305
  • Orta intro
  • Artsy
  • iOS programming
  • Hates lack of documentation
  • CocoaPods
  • Trouble with building native apps
  • His move to React and React Native
  • Used to run iOS team at Artsy
  • How did you get into programming?
  • Played video games as a kid
  • Taught himself with books
  • Using open source to learn
  • Open source by default idea
  • Loves giving back through blogging and open source
  • How did you get into Ruby?
  • MacRuby
  • Boundaries are very obvious in React Native
  • How did you get into React and React Native?
  • Native developers building stuff in JavaScript
  • Culture conflicts
  • How they dealt with dependencies in their apps
  • And much, much more!

Links:

Sponsors:

Picks

Charles

Orta




2

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

Panel:

  • Aimee Knight
  • Joe Eames
  • AJ ONeal

Special Guests: Jeremy Fairbank

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

In particular, we dive pretty deep on:

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

Links:

Sponsors

Picks:

Aimee

AJ

Joe

Jeremy




2

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




2

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

Panel:

  • Charles Max Wood
  • Joe Eames

Special Guests: AJ O'Neal

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

In particular, we dive pretty deep on:

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

Links:

Sponsors

Picks:

Charles

  • Take some time off

AJ




2

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




2

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

Panel:

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

Special Guests: Valeri Karpov 

In this episode, the panel talks with programmer, Valerie Karpov from Miami, Florida. He is quite knowledgeable with many different programs, but today’s episode they talk specifically about Async/Await and Promise Generators. Val is constantly busy through his different endeavors and recently finished his e-book, “Mastering Async/Await.” Check-out Val’s social media profiles through LinkedIn, GitHub, Twitter, and more.

Show Topics:

1:20 – Val has been on previous episodes back in 2013 & 2016.

1:37 – Val’s background. He is very involved with multiple companies. Go checkout his new book!

2:39 – Promises generators. Understand Promises and how things sync with Promises. Val suggests that listeners have an integrated understanding of issues like error handling.

3:57 – Chuck asks a question.

6:25 – Aimee’s asks a question: “Can you speak to why someone would want to use Async/Await?”

8:53 – AJ makes comments.

10:09 – “What makes an Async/Await not functional?” – Val

10:59 – “What’s wrong with Promises or Async/Await that people don’t like it?” - AJ

11:25 – Val states that he doesn’t think there really is anything wrong with these programs it just depends on what you need it for. He thinks that having both gives the user great power.

12:21 – AJ’s background is with Node and the Python among other programs.

12:55 – Implementing Complex Business Logic.

15:50 – Val discusses his new e-book.

17:08 – Question from Aimee.

17:16 – AJ answers question. Promises should have been primitive when it was designed or somewhat event handling.

17:46 – The panel agrees that anything is better than Call Backs.

18:18 – Aimee makes comments about Async/Await.

20:08 – “What are the core principles of your new e-book?” – Chuck

20:17 – There are 4 chapters and Val discusses, in detail, what’s in each chapter.

22:40 – There could be some confusion from JavaScript for someone where this is their first language. Does Async/Await have any affect on the way you program or does anything make it less or more confusing in the background changes?

24:30 – Val answers the before-mentioned question. Async/Await does not have anyway to help with this (data changes in the background).

25:36 – “My procedural code, I know that things won’t change on me because it is procedural code. Is it hard to adjust to that?” – AJ

26:01 – Val answers the question.

26:32 – Building a webserver with Python

27:31 – Aimee asks a question: “Do you think that there are cases in code base, where I would want to use Promises? Not from a user’s perspective, but what our preferences are, but actual performance. Is there a reason why I would want to use both or be consistent across the board?”

28:17 – Val asks for some clarification to Aimee’s question.

29:14 – Aimee: “My own personal preference is consistency. Would I want to use Promises in ‘x’ scenario and/or use Async/Await in another situation?”

32:28 – Val and AJ are discussing and problem solving different situations that these programs

33:05 – “When would you not want to use Async/Await?” – AJ

33:25 – Val goes through the different situations when he would not use Async/Await. 

33:44 – Chuck is curious about other features of Async/Await and asks Val.

36:40 – Facebook’s Regenerator

37:11 – AJ: “Back in the day, people would be really concerned with JavaScript’s performance even with Chrome.” He continues his thoughts on this topic.

38:11 – Val answers the AJ’s question.

39:10 – Duck JS probably won’t include generators.

41:18 – Val: “Have anyone used Engine Script before?” The rest of the panel had never heard of this before.

42:09 – Windows Scripting Host

42:56 – Val used Rhino in the past.

43:40 – Val: “Going back to the web performance question...”

47:08 – “Where do you see using Async/Await the most?” – Chuck

47:55 – Val uses Async/Await for everything on the backend because it has made everything so easy for him.

48:23 – “So this is why you really haven’t used Web Pack?” – AJ

49:20 – Let’s go to Aimee’s Picks!

50:18 – AJ’s story, first, before we get to Promises.

54:44 – Let’s transition to Promises Finally.

54:53 – Val talks about Promises Finally.

59:20 – Picks

Links:

Sponsors:

Picks:

Charles

Aimee

AJ

Val