OwlTail

Cover image of Nicholas Zakas

Nicholas Zakas

19 Podcast Episodes

Latest 26 Nov 2022 | Updated Daily

Episode artwork

Episode 142: Nicholas Zakas on Sponsoring Dependencies, All The Way Down

Sustain

Guest Nicholas Zakas Panelists Richard Littauer | Justin Dorfman Show Notes Hello and welcome to Sustain! The podcast where we talk about sustaining open source for the long haul. Our guest today is a returning guest that we’ve had on before. We are excited to have joining us, Nicholas Zakas, who’s one of the maintainers on ESLint, which is a tool that helps you find and fix problems in your JavaScript code. Today, we’ll learn all about ESLint, the maintainers, contributors, and how they get paid. Also, we’ll find out the success behind ESLint, and a post about sponsoring dependencies that Nicholas wrote on his blog. Go ahead and download this episode now to learn more! [00:02:23] Nicholas tells us all about ESLint, their maintainers that work on the project, and how many people have contributed to the project on GitHub. [00:07:29] Nicholas tells us how maintainers get paid as part of his governance strategy. [00:10:04] Justin asked about the fact that ESLint not only pays contributors, but also pays downstream dependencies. [00:12:04] Richard wonders where all the money comes from that gave ESLint this huge surplus, and Nicholas explains how they raised so much and what it is about ESLint that makes that possible. [00:16:10] We hear some reflections from Richard as he congratulates Nicholas and makes some important points about the success of ESLint. [00:20:19] Nicholas fills us in on the OpenJS Foundation Project. [00:23:57] Richard talks about a blog post Nicholas wrote on his blog about sponsoring dependencies, and Nicholas explains the difference between large charismatic projects and smaller projects and how he sees the role of large projects in funding the smaller ones. [00:31:41] We hear what ESLint did with sponsoring dependencies, and Nicholas tells us about some projects that they wanted to support financially, but turned them down. [00:38:06] Find out where you can follow Nicholas and ESLint online. Quotes [00:07:43] “Everybody on the team, the committers, reviewers, technical steering committee, gets paid an hourly rate for their contributions.” [00:07:53] “Contributions can be anything that contributes to the project, reviewing issues and pull requests, attending meetings, helping people on discord, helping people on GitHub discussions, and if people ever go to conferences or meetings representing the team, they can also charge for that.” [00:10:15] “We made a decision the beginning of last year that it was time to start supporting our dependencies.” [00:12:28] “I do think we are lucky in a lot of ways that we’ve had champions inside of companies who were working within their company to get ESLint’s support.” [00:13:13] “In the beginning, we were hesitant to start spending the money because we didn’t know how reliable that source of income would be, and we were worried we wouldn’t be able to pay a living wage.” [00:21:25] “Being in a foundation is one type of a reputational check mark that an open source project can get.” [00:26:15] “I think OpenSSL is a great example of [the funding problem]. It’s a foundational piece of internet infrastructure.” [00:28:31] “We went on backyourstack.com and started looking for the projects that we were depending on that had Open Collective pages and said, as a project, what is good for open source in general, is also good for ESLint.” [00:29:20] “Open source, in general, is this collective of projects that are built on top of projects that are built on top of projects that are built on top of projects, and we have no problem giving that recognition when we’re talking about what the project is built upon.” Spotlight [00:39:47] Justin’s spotlight is the new book, What if? 2 by Randall Munroe. [00:40:31] Richard’s spotlight is David Troupes, Buttercup Festival comic strips. [00:41:03] Nicholas’s spotlight is the book, WebAssembly: The Definitive Guide by Brian Sletten Links SustainOSS SustainOSS Twitter SustainOSS Discourse podcast@sustainoss.org Richard Littauer Twitter Justin Dorfman Twitter Nicholas Zakas Twitter Nicholas Zakas GitHub ESLint ESLint Twitter ESLint GitHub ESLint-Open Collective Sustain Podcast-Episode 101: Nicholas Zakas and ESLint Sponsoring dependencies: The next step in open source sustainability (Human Who Codes Blog) Sustain Podcast-Episode 117: Mike McQuaid of Homebrew on Sustainably Working on OSS Projects Sustain Podcast-Episode 126: GitHub Maintainer Month with Mike McQuaid of Homebrew and Nina Breznik of DatDot BackYourStack Securing Open Source Software Act of 2022 (Sustain) What if? 2 by Randall Munroe David Troupes-Buttercup Festival comic strips (Patreon) WebAssembly: The Definitive Guide by Brian Sletten Credits Produced by Richard Littauer Edited by Paul M. Bahr at Peachtree Sound Show notes by DeAnn Bahr Peachtree Sound Special Guest: Nicholas Zakas.Support Sustain

43mins

14 Oct 2022

Episode artwork

Sustaining Open Source - Nicholas Zakas (ESLint)

Developer Experience

On today's episode, Sarah Dayan discusses open source sustainability with Nicholas Zakas, creator of ESLint. ESLint is a widely popular JavaScript linter with a giant ecosystem of third-party plugins. If you have a JavaScript project with a continuous integration, you are certainly using ESLint and you do not want it to fail. Nicholas is also a seasoned author who wrote several books about JavaScript since the early 2000s and more blog posts that you can probably afford to read.A recurring meme is that all modern digital infrastructure somehow depends on a project that some random person has been thanklessly maintaining for decades. Sustaining open source projects that support countless enterprise products has been a particularly hot topic in tech for the last couple of years.- How do you actively maintain a project that others rely on but doesn’t bring revenue?- How do you deal with stress and fatigue?- Is the promise of open source still holding?Nicholas Zakas: @slicknet / humanwhocodes.comSarah Dayan: @frontstuff_io / sarahdayan.devESLint: @geteslint / eslint.orgAlgolia: @algolia / algolia.com

1hr 4mins

10 Mar 2022

Similar People

Episode artwork

JSJ 361: Enough with the JS Already with Nicholas Zakas

Devchat.tv Episode Roundup

Sponsors Triplebyte offers a $1000 signing bonus Sentry use the code “devchat” for $100 credit CacheFly Panel AJ O’Neal Joe Eames Aimee Knight Charles Max Wood Chris Ferdinandi Joined by Special guest: Nicholas Zakas Summary Nicholas Zakas discusses the overuse of JavaScript and the underuse of HTML and CSS. The panel contemplates the talk Nicholas Zakas gave 6 years ago about this very same topic and how this is still a problem in the development community. Nicholas expounds on the negative effects overusing Javascript has on web applications and the things that using HTML and CSS do really well. The panel talks about the need for simplicity and using the right tool to build applications. Nicholas recommends the methods he uses to build greenfield applications and to improve existing applications. Links https://www.youtube.com/watch?v=li4Y0E_x8zE https://www.slideshare.net/nzakas/enough-withthejavascriptalready https://twitter.com/slicknet https://humanwhocodes.com/ https://www.facebook.com/javascriptjabber https://twitter.com/JSJabber Picks Chris Ferdinandi: The Umbrella Academy Official Trailer https://github.com/features/actions AJ O’Neal: Jurassic Park Terminator 2 E6000 adhesive Aimee Knight: https://www.reebok.com/us/reebok-legacy-lifter/BD4730.html https://www.holloway.com/g/equity-compensation Charles Max Wood: https://podfestexpo.com/ http://charlesmaxwood.com/ https://www.11ty.io/ https://www.netlify.com/ Joe Eames: https://www.mysteryscenemag.com/blog-article/5905-tom-straw-the-author-behind-castle Richard Castle books https://vanillajslist.com/ Nicholas Zakas: The Power of Full Engagement: Managing Energy, Not Time, Is the Key to High Performance and Personal Renewal by Jim Loehr and Tony Schwartz https://opencollective.com/eslint

1hr 8mins

23 Apr 2019

Episode artwork

JSJ 361: Enough with the JS Already with Nicholas Zakas

JavaScript Jabber

Sponsors Triplebyte offers a $1000 signing bonus Sentry use the code “devchat” for $100 credit CacheFly Panel AJ O’Neal Joe Eames Aimee Knight Charles Max Wood Chris FerdinandiJoined by Special guest: Nicholas ZakasSummaryNicholas Zakas discusses the overuse of JavaScript and the underuse of HTML and CSS. The panel contemplates the talk Nicholas Zakas gave 6 years ago about this very same topic and how this is still a problem in the development community. Nicholas expounds on the negative effects overusing Javascript has on web applications and the things that using HTML and CSS do really well. The panel talks about the need for simplicity and using the right tool to build applications. Nicholas recommends the methods he uses to build greenfield applications and to improve existing applications.Links https://www.youtube.com/watch?v=li4Y0E_x8zE https://www.slideshare.net/nzakas/enough-withthejavascriptalready https://twitter.com/slicknet https://humanwhocodes.com/ https://www.facebook.com/javascriptjabber https://twitter.com/JSJabber PicksChris Ferdinandi: The Umbrella Academy Official Trailer https://github.com/features/actions AJ O’Neal: Jurassic Park Terminator 2 E6000 adhesive Aimee Knight: https://www.reebok.com/us/reebok-legacy-lifter/BD4730.html https://www.holloway.com/g/equity-compensation Charles Max Wood: https://podfestexpo.com/ http://charlesmaxwood.com/ https://www.11ty.io/ https://www.netlify.com/ Joe Eames: https://www.mysteryscenemag.com/blog-article/5905-tom-straw-the-author-behind-castle Richard Castle books https://vanillajslist.com/ Nicholas Zakas: The Power of Full Engagement: Managing Energy, Not Time, Is the Key to High Performance and Personal Renewal by Jim Loehr and Tony Schwartz https://opencollective.com/eslintSpecial Guest: Nicholas C. Zakas.

1hr 8mins

23 Apr 2019

Most Popular

Episode artwork

JSJ 361: Enough with the JS Already with Nicholas Zakas

All JavaScript Podcasts by Devchat.tv

Sponsors Triplebyte offers a $1000 signing bonus Sentry use the code “devchat” for $100 credit CacheFly Panel AJ O’Neal Joe Eames Aimee Knight Charles Max Wood Chris Ferdinandi Joined by Special guest: Nicholas Zakas Summary Nicholas Zakas discusses the overuse of JavaScript and the underuse of HTML and CSS. The panel contemplates the talk Nicholas Zakas gave 6 years ago about this very same topic and how this is still a problem in the development community. Nicholas expounds on the negative effects overusing Javascript has on web applications and the things that using HTML and CSS do really well. The panel talks about the need for simplicity and using the right tool to build applications. Nicholas recommends the methods he uses to build greenfield applications and to improve existing applications. Links https://www.youtube.com/watch?v=li4Y0E_x8zE https://www.slideshare.net/nzakas/enough-withthejavascriptalready https://twitter.com/slicknet https://humanwhocodes.com/ https://www.facebook.com/javascriptjabber https://twitter.com/JSJabber Picks Chris Ferdinandi: The Umbrella Academy Official Trailer https://github.com/features/actions AJ O’Neal: Jurassic Park Terminator 2 E6000 adhesive Aimee Knight: https://www.reebok.com/us/reebok-legacy-lifter/BD4730.html https://www.holloway.com/g/equity-compensation Charles Max Wood: https://podfestexpo.com/ http://charlesmaxwood.com/ https://www.11ty.io/ https://www.netlify.com/ Joe Eames: https://www.mysteryscenemag.com/blog-article/5905-tom-straw-the-author-behind-castle Richard Castle books https://vanillajslist.com/ Nicholas Zakas: The Power of Full Engagement: Managing Energy, Not Time, Is the Key to High Performance and Personal Renewal by Jim Loehr and Tony Schwartz https://opencollective.com/eslint

1hr 8mins

23 Apr 2019

Episode artwork

MJS 088: Nicholas Zakas

My JavaScript Story

Panel: Charles Max WoodGuest: Nicholas ZakasThis week on My JavaScript Story, Charles talks with Nicholas Zakas who is a blogger, author, and software engineer. Nicholas’ website is titled, Human Who Codes – check it out! You can find him on Twitter, GitHub, and LinkedIn among other social media platforms. Today, Nicholas and Chuck talk about Nicholas’ background, JavaScript, and current projects.In particular, we dive pretty deep on:0:00 – Advertisement: Get A Coder Job!1:00 – Chuck: Welcome! Give us a background, please, Nicholas!1:14 – Guest: I am probably best known for making ESLint and I have written a bunch of books, too! (See links below.)1:36 – Chuck: JSJ 336 and JSJ 075 episodes are the two past episodes we’ve had you on! (See links below.) Let’s go back and how did you get into programming?1:58 – Guest: I think the first was written in BASIC, which was on a Laser computer. It was a cheaper knockoff version. I think I was into middle school when I got into BASIC. Then when I got into high school I did this computer project, which was the first time someone else used one of my programs.4:02 – Chuck: Was it all in BASIC or something else?4:13 – Guest: Just BASIC, but then transferred to something else when we got our first PC.5:13 – Chuck: How did you get to use JavaScript?5:18 – Guest: 1996 was my freshman year in college. Netscape 3 got into popularity around this time. I had decided that I wanted to setup a webpage to stay in-touch with high school friends who were going into different directions.I got annoyed with how static the [web] pages were. At the time, there was no CSS and the only thing you could change was the source of an image (on webpages).On the you could do...8:35 – Chuck: You get into JavaScript and at what point did you become a prolific operator and author?8:52 – Guest: It was not an overnight thing. It definitely was fueled by my own curiosity. The web was so new (when I was in college) that I had to explore on my own. I probably killed a few trees when I was in college. Printing off anything and everything I could to learn about this stuff!10:03 – Guest (continues): Professors would ask ME how to do this or that on the departmental website. When I was graduating from college I knew that I was excited about the WEB. I got a first job w/o having to interview.12:32 – Guest (continues): I got so deep into JavaScript!13:30 – Guest (continued): They couldn’t figure out what I had done. That’s when I got more into designing JavaScript APIs. About 8 months after graduating from college I was unemployed. I had extra time on my hands. I was worried that I was going to forget the cool stuff that I just developed there. I went over the code and writing for myself how I had constructed it. My goal was to have an expandable tree. This is the design process that I went through. This is the API that I came up with so you can insert and how I went about implementing it. At some point, I was on a discussion with my former colleagues: remember that JavaScript tree thing I wrote – I wrote a description of how I did it. Someone said: Hey this is really good and you should get this published somewhere. Huh! I guess I could do that. I went to websites who were publishing articles on JavaScript. I went to submit the article to one of them. I think it was DevX or WebReference.18:03 – Guest: A book is a compilation of different articles?! I can do that. I wanted to write a book that would fill in that next step that was missing. I didn’t know what the book was going to be, and I decided to start writing. Once I’ve had enough content I would take a step back and see what it was about. (Check out Nicholas’ books here!)19:01 – Chuck: Oh you can turn this into a book!19:10 – Guest: There was very little that I had planned out ahead of time. Anything that happened to me that was exciting had stumbled into my lap!19:37 – Chuck: That’s how I felt about podcasting – it fell into my lap/life!19:50 – Chuck: Listeners – check out the past episodes with Nicholas, please. Nicholas, what are you proud of?20:10 – Guest: In 2006, I was at Yahoo and started off with My Yahoo Team. This was the first time that I was exposed to a massive amount of JavaScript in a single web application.26:21 – Chuck: Can you talk about your health issues? People would definitely benefit from your example and your story.26:44 – Guest: I think it is something important for people to understand.The guest talks about Lyme Disease. 35:49 – Chuck: Yep taking care of yourself is important!36:00 – Guest: Yes to enjoy time with friends and explore other hobbies. Help yourself to de-stress is important. Cognitive work is very draining. When you aren’t getting the right amount of sleep your body is going to get stressed out. Take the time to do nonsense things. You need to let your brain unwind! I love these adult coloring books that they have!38:07 – Chuck: I love to take a drive up the canyon.38:12 – Guest.38:24 – Chuck: Yeah to focus on ourselves is important.38:36 – Guest: Your body will make it a point to say: pay attention to me! Your body goes into flight or fight mode and your systems shut-off, which of course is not good. You don’t want your body to stay in that state.New parents get sick frequently with newborns, because they aren’t getting enough sleep.41:08 – Guest: Get some R&R!41:20 – Chuck: This is great, but I have another call! Let’s do some Picks!41:35 – Advertisement – Fresh Books! 30-Day Trial!END – Cache FlyLinks: React Angular Vue.js JavaScript Ember Elm jQuery Node DevX WebReference Nicholas C. Zakas’ Books ESLint NPM – ESLint Signs and Symptoms of Untreated Lyme Disease Lyme Disease Nicholas’ Twitter JSJ 336 Episode with Zakas JSJ 075 Episode with Zakas Sponsors: Cache Fly Get A Coder Job Fresh Books Picks:Charles Max Wood Wall Calendars – 6 ft. x3 ft. Nicholas Zakas Book: The Better Angels of Our Nature: Why Violence Has Declined by Steven Pinker Adult Coloring Books

46mins

5 Dec 2018

Episode artwork

MJS 088: Nicholas Zakas

All JavaScript Podcasts by Devchat.tv

Panel: Charles Max Wood Guest: Nicholas Zakas This week on My JavaScript Story, Charles talks with Nicholas Zakas who is a blogger, author, and software engineer. Nicholas’ website is titled, Human Who Codes – check it out! You can find him on Twitter, GitHub, and LinkedIn among other social media platforms. Today, Nicholas and Chuck talk about Nicholas’ background, JavaScript, and current projects. In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 1:00 – Chuck: Welcome! Give us a background, please, Nicholas! 1:14 – Guest: I am probably best known for making ESLint and I have written a bunch of books, too! (See links below.) 1:36 – Chuck: JSJ 336 and JSJ 075 episodes are the two past episodes we’ve had you on! (See links below.) Let’s go back and how did you get into programming? 1:58 – Guest: I think the first was written in BASIC, which was on a Laser computer. It was a cheaper knockoff version. I think I was into middle school when I got into BASIC. Then when I got into high school I did this computer project, which was the first time someone else used one of my programs. 4:02 – Chuck: Was it all in BASIC or something else? 4:13 – Guest: Just BASIC, but then transferred to something else when we got our first PC. 5:13 – Chuck: How did you get to use JavaScript? 5:18 – Guest: 1996 was my freshman year in college. Netscape 3 got into popularity around this time. I had decided that I wanted to setup a webpage to stay in-touch with high school friends who were going into different directions. I got annoyed with how static the [web] pages were. At the time, there was no CSS and the only thing you could change was the source of an image (on webpages). On the you could do... 8:35 – Chuck: You get into JavaScript and at what point did you become a prolific operator and author? 8:52 – Guest: It was not an overnight thing. It definitely was fueled by my own curiosity. The web was so new (when I was in college) that I had to explore on my own. I probably killed a few trees when I was in college. Printing off anything and everything I could to learn about this stuff! 10:03 – Guest (continues): Professors would ask ME how to do this or that on the departmental website. When I was graduating from college I knew that I was excited about the WEB. I got a first job w/o having to interview. 12:32 – Guest (continues): I got so deep into JavaScript! 13:30 – Guest (continued): They couldn’t figure out what I had done. That’s when I got more into designing JavaScript APIs. About 8 months after graduating from college I was unemployed. I had extra time on my hands. I was worried that I was going to forget the cool stuff that I just developed there. I went over the code and writing for myself how I had constructed it. My goal was to have an expandable tree. This is the design process that I went through. This is the API that I came up with so you can insert and how I went about implementing it. At some point, I was on a discussion with my former colleagues: remember that JavaScript tree thing I wrote – I wrote a description of how I did it. Someone said: Hey this is really good and you should get this published somewhere. Huh! I guess I could do that. I went to websites who were publishing articles on JavaScript. I went to submit the article to one of them. I think it was DevX or WebReference. 18:03 – Guest: A book is a compilation of different articles?! I can do that. I wanted to write a book that would fill in that next step that was missing. I didn’t know what the book was going to be, and I decided to start writing. Once I’ve had enough content I would take a step back and see what it was about. (Check out Nicholas’ books here!) 19:01 – Chuck: Oh you can turn this into a book! 19:10 – Guest: There was very little that I had planned out ahead of time. Anything that happened to me that was exciting had stumbled into my lap! 19:37 – Chuck: That’s how I felt about podcasting – it fell into my lap/life! 19:50 – Chuck: Listeners – check out the past episodes with Nicholas, please. Nicholas, what are you proud of? 20:10 – Guest: In 2006, I was at Yahoo and started off with My Yahoo Team. This was the first time that I was exposed to a massive amount of JavaScript in a single web application. 26:21 – Chuck: Can you talk about your health issues? People would definitely benefit from your example and your story. 26:44 – Guest: I think it is something important for people to understand. The guest talks about Lyme Disease. 35:49 – Chuck: Yep taking care of yourself is important! 36:00 – Guest: Yes to enjoy time with friends and explore other hobbies. Help yourself to de-stress is important. Cognitive work is very draining. When you aren’t getting the right amount of sleep your body is going to get stressed out. Take the time to do nonsense things. You need to let your brain unwind! I love these adult coloring books that they have! 38:07 – Chuck: I love to take a drive up the canyon. 38:12 – Guest. 38:24 – Chuck: Yeah to focus on ourselves is important. 38:36 – Guest: Your body will make it a point to say: pay attention to me! Your body goes into flight or fight mode and your systems shut-off, which of course is not good. You don’t want your body to stay in that state. New parents get sick frequently with newborns, because they aren’t getting enough sleep. 41:08 – Guest: Get some R&R! 41:20 – Chuck: This is great, but I have another call! Let’s do some Picks! 41:35 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly Links: React Angular Vue.js JavaScript Ember Elm jQuery Node DevX WebReference Nicholas C. Zakas’ Books ESLint NPM – ESLint Signs and Symptoms of Untreated Lyme Disease Lyme Disease Nicholas’ Twitter JSJ 336 Episode with Zakas JSJ 075 Episode with Zakas Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Charles Max Wood Wall Calendars – 6 ft. x3 ft. Nicholas Zakas Book: The Better Angels of Our Nature: Why Violence Has Declined by Steven Pinker Adult Coloring Books

46mins

5 Dec 2018

Episode artwork

MJS 088: Nicholas Zakas

Devchat.tv Episode Roundup

Panel: Charles Max Wood Guest: Nicholas Zakas This week on My JavaScript Story, Charles talks with Nicholas Zakas who is a blogger, author, and software engineer. Nicholas’ website is titled, Human Who Codes – check it out! You can find him on Twitter, GitHub, and LinkedIn among other social media platforms. Today, Nicholas and Chuck talk about Nicholas’ background, JavaScript, and current projects. In particular, we dive pretty deep on: 0:00 – Advertisement: Get A Coder Job! 1:00 – Chuck: Welcome! Give us a background, please, Nicholas! 1:14 – Guest: I am probably best known for making ESLint and I have written a bunch of books, too! (See links below.) 1:36 – Chuck: JSJ 336 and JSJ 075 episodes are the two past episodes we’ve had you on! (See links below.) Let’s go back and how did you get into programming? 1:58 – Guest: I think the first was written in BASIC, which was on a Laser computer. It was a cheaper knockoff version. I think I was into middle school when I got into BASIC. Then when I got into high school I did this computer project, which was the first time someone else used one of my programs. 4:02 – Chuck: Was it all in BASIC or something else? 4:13 – Guest: Just BASIC, but then transferred to something else when we got our first PC. 5:13 – Chuck: How did you get to use JavaScript? 5:18 – Guest: 1996 was my freshman year in college. Netscape 3 got into popularity around this time. I had decided that I wanted to setup a webpage to stay in-touch with high school friends who were going into different directions. I got annoyed with how static the [web] pages were. At the time, there was no CSS and the only thing you could change was the source of an image (on webpages). On the you could do... 8:35 – Chuck: You get into JavaScript and at what point did you become a prolific operator and author? 8:52 – Guest: It was not an overnight thing. It definitely was fueled by my own curiosity. The web was so new (when I was in college) that I had to explore on my own. I probably killed a few trees when I was in college. Printing off anything and everything I could to learn about this stuff! 10:03 – Guest (continues): Professors would ask ME how to do this or that on the departmental website. When I was graduating from college I knew that I was excited about the WEB. I got a first job w/o having to interview. 12:32 – Guest (continues): I got so deep into JavaScript! 13:30 – Guest (continued): They couldn’t figure out what I had done. That’s when I got more into designing JavaScript APIs. About 8 months after graduating from college I was unemployed. I had extra time on my hands. I was worried that I was going to forget the cool stuff that I just developed there. I went over the code and writing for myself how I had constructed it. My goal was to have an expandable tree. This is the design process that I went through. This is the API that I came up with so you can insert and how I went about implementing it. At some point, I was on a discussion with my former colleagues: remember that JavaScript tree thing I wrote – I wrote a description of how I did it. Someone said: Hey this is really good and you should get this published somewhere. Huh! I guess I could do that. I went to websites who were publishing articles on JavaScript. I went to submit the article to one of them. I think it was DevX or WebReference. 18:03 – Guest: A book is a compilation of different articles?! I can do that. I wanted to write a book that would fill in that next step that was missing. I didn’t know what the book was going to be, and I decided to start writing. Once I’ve had enough content I would take a step back and see what it was about. (Check out Nicholas’ books here!) 19:01 – Chuck: Oh you can turn this into a book! 19:10 – Guest: There was very little that I had planned out ahead of time. Anything that happened to me that was exciting had stumbled into my lap! 19:37 – Chuck: That’s how I felt about podcasting – it fell into my lap/life! 19:50 – Chuck: Listeners – check out the past episodes with Nicholas, please. Nicholas, what are you proud of? 20:10 – Guest: In 2006, I was at Yahoo and started off with My Yahoo Team. This was the first time that I was exposed to a massive amount of JavaScript in a single web application. 26:21 – Chuck: Can you talk about your health issues? People would definitely benefit from your example and your story. 26:44 – Guest: I think it is something important for people to understand. The guest talks about Lyme Disease. 35:49 – Chuck: Yep taking care of yourself is important! 36:00 – Guest: Yes to enjoy time with friends and explore other hobbies. Help yourself to de-stress is important. Cognitive work is very draining. When you aren’t getting the right amount of sleep your body is going to get stressed out. Take the time to do nonsense things. You need to let your brain unwind! I love these adult coloring books that they have! 38:07 – Chuck: I love to take a drive up the canyon. 38:12 – Guest. 38:24 – Chuck: Yeah to focus on ourselves is important. 38:36 – Guest: Your body will make it a point to say: pay attention to me! Your body goes into flight or fight mode and your systems shut-off, which of course is not good. You don’t want your body to stay in that state. New parents get sick frequently with newborns, because they aren’t getting enough sleep. 41:08 – Guest: Get some R&R! 41:20 – Chuck: This is great, but I have another call! Let’s do some Picks! 41:35 – Advertisement – Fresh Books! 30-Day Trial! END – Cache Fly Links: React Angular Vue.js JavaScript Ember Elm jQuery Node DevX WebReference Nicholas C. Zakas’ Books ESLint NPM – ESLint Signs and Symptoms of Untreated Lyme Disease Lyme Disease Nicholas’ Twitter JSJ 336 Episode with Zakas JSJ 075 Episode with Zakas Sponsors: Cache Fly Get A Coder Job Fresh Books Picks: Charles Max Wood Wall Calendars – 6 ft. x3 ft. Nicholas Zakas Book: The Better Angels of Our Nature: Why Violence Has Declined by Steven Pinker Adult Coloring Books

46mins

5 Dec 2018

Episode artwork

JSJ 336: “The Origin of ESLint” with Nicholas Zakas

All JavaScript Podcasts by Devchat.tv

Panel: Aimee Knight Charles Max Wood (DevChat TV) Christopher Ferdinandi (Boston) Cory House (Kansas City) Joe Eames Special Guests: Nicholas Zakas In this episode, the panel talks with Nicholas Zakas who writes on his site, Human Who Codes. He is the creator of ESLint, also the author of several books, and he blogs, too. He was employed through Box and today he talks about ESLint in full detail! Check it out!  Show Topics: 0:05 – Advertisement: KENDO UI 0:37 – Hello! The panel is...(Chuck introduces everyone). 1:04 – Nicholas who are you? 1:17 – Nicholas: Yeah it’s been about 5 years and then you invited me again, but I couldn’t come on to talk about ESLint back then. That’s probably what people know me most for at this point. I created ESLint and I kicked that off and now a great team of people is maintaining it. 1:58 – Chuck: What is it? 2:04 – It’s a Linter for JavaScript. It falls into the same category as JSLint. The purpose of ESLint is to help you find problems with your code. It has grown quite a bit since I’ve created it. It can help with bugs and enforcing style guides and other things. 2:53 – Where did it come from? 2:57 – Guest: The idea popped into my head when I worked at Pop. One of my teammates was working on a bug and at that time we were using... Nothing was working and after investigating someone had written a JavaScript code that was using a native code to make an Ajax request. It wasn’t the best practice for the company at the time. For whatever reason the person was unaware of that. When using that native XML...there was a little bit of trickiness to it because it was a wrapper around the... We used a library to work around those situations and add a line (a Linter) for all JavaScript files. It was a text file and when you tried to render code through the process it would run and run the normal expression and it would fail if any of the...matched. I am not comfortable using normal expressions to write code for this. You could be matching in side of a string and it’s not a good way to be checking code for problems. I wanted to find a better way. 6:04 – Why did you choose to create a product vs. using other options out there? 6:15 – Guest: Both of those weren’t around. JSHint was pretty much the defector tool that everyone was using. My first thought was if JSHint could help with this problem? I went back to look at JSHint and I saw that on their roadmap you could create your own rules, and I thought that’s what we need. Why would I build something new? I didn’t see anything on GitHub and didn’t see the status of that. I wanted to see what the plan was, and they weren’t going to get to it. I said that I really needed this tool and I thought it would be helpful to others, too. 8:04 – My history was only back when it was customizable. 8:13 – Aimee: It’s interesting to see that they are basing it on regular expressions. 8:32 – Guest: Interesting thing at Box was that there was...I am not sure but one of the engineers at Box wrote... 9:03 – Aimee: I was going to ask in your opinion what do you think ES Lint is the standard now? 9:16 – Guest: How easy it is to plug things in. That was always my goal because I wanted the tool not to be boxed in – in anyway. The guest continues to talk about how pluggable ESLint is and the other features of this tool. 13:41 – One thing I like about ESLint is that it can be an educational tool for a team. Did you see that being an educational tool? 14:24 – Guest: How do you start introducing new things to a team that is running at full capacity? That is something that I’ve wondered throughout my career. As a result of that, I found that a new team there were some problems I the code base that were really hard to get resolved, because when one person recognizes it there isn’t a god way to share that information within a team in a non-confrontational way. It’s better to get angry at a tool rather than a person. Guest goes into what this can teach people. 18:07 – Panelist: I am not surprised. Is there a best practice to get a team to start with ESLint? Do you get the whole team in a room and show them the options or take the best guess and turn it on? 18:34 – Guest: The thing I recommend is that first and foremost get ESLint in your system with zero rules on. It starts that mindset into your development process. We can do something to automatically check... Get Syntax checking and you will se improvements on the number of bugs that are getting out of production. I recommend using the default the ESLint configuration. This has all of the things that we have found that are most likely errors and runtime errors vs. syntax errors. You can go through with those and sometimes it is easier to run that check with... Using those ESLint rules will clean up a lot of problems that you didn’t know you had with your code. There are too many problems with those rules. I recommend instead of turning them off then put the severity to warning and not error. That is something we started with in the beginning. We turned on as many rules as we could and it drove people crazy. They didn’t feel like when they were committing to a file why should I be... The idea with the different scenario levels you don’t’ want to turn off rules so people don’t know there is a problem. There can be a rule on so people will know that there is a problem, but... Doing that alone will give you a lot of benefit in using ESLint. How do you decide as a team on the rules that are maybe not for finding errors but for stylistic in error? Do we use four spaces, semi-colons, etc. To figure that out I am a big component on finding a pre-existing style guide and adapting it. Get everyone to agree. There is no right or wrong when it comes to stylistic preferences. It really is just getting everyone to do the same thing. I think it was Crawford that said: Whether you drive on the right side of the left side of the road – it doesn’t matter as long as everyone is dong the same thing. I agree with that and it applies to style guides. It can get heated but for the best thing for the team is stick with a guide and work together. 24:36 – Aimee: I can go through the options to pick one of the style guides out there and then it will automatically create my configuration for me is helpful. Question: If you had to pick 2 or 3 rules that you are super helpful what would they be? 25:30 – Guest: To touch briefly on indentation. Whether you like four spaces or whether you are wild and like tabs, I think the indent rule is very helpful. Just for wiping out and eliminating that discussion through your team. Have your editor setup however they want but on the pre-hook... But my favorite rules I tend to lean towards the ones that saved me. The Guest goes through his favorite rules with ESLint. Check it out! 26:51 – Guest mentions his second favorite rule, here! 28:24 – Guest mentions his third favorite rule, here! 29:03 – Guest mentions the rule that makes him giggle a lot, here! 30:07 – Advertisement – Sentry! 31:22 – What is your take on running Fix? Does it make sense to run Fix? 32:00 – Guest: It depends and the idea behind Fix is the idea of doing a one time (at the start) fix everything that it can find wrong b/c I don’t want to do it by hand. It morphed into a more of a tool that people are using all the time. I too have mixed feelings about it. I think the greatest value you get out of Fix is that when you first install it or when you enable a new rule. I think in those situations you get a lot of value out of Fix. I think that when people were getting aggressive with their code styles it took us down a path where we... As a pre-commit hook it could be to fix things and part of the built system you wouldn’t want... People are probably wondering: Why doesn’t ESLint doesn’t fix all the time? It can be a team decision: do you want to run Fix at the point that the developer is writing the code, do you want to use Fix as running it as a build when you are bundling? It really seems more of a personal preference. I am on the fence about it. Even though I am leaning more towards... 35:16 – Do you run Premier? 35:20 – Guest: No I don’t. I don’t have anything against Premier but I think Prettier uses a very interesting space. 37:50 – Chuck: What is next for ESLint and what is next for you? 37:55 – Guest: Well, to be honest I am not sure what is next for ESLint. I haven’t been involved with keeping it maintained for the last few years. I do help out with feedback with decisions. But in general the ESLint the direction is that let’s add tings that help people avoid language hazards and make sure that ESLint is still pluggable. Lastly, that we will be there to help people and the community. There is this virtuosic cycle and tools like Babble and then tools like ESLint introducing rules adapting new rules and features better. For myself, and the future, I haven’t been involved with ESLint because I am focusing on my health. I was diagnosed with Lyme Disease and it meant that I needed to focus on my health. That’s why, too, I wasn’t able to join a few years ago. I am doing better but I am a few years away for working fulltime and writing books and blogging, again. The trajectory is upward. I want to stress that you need to take care of yourself. There is interesting stuff that we are doing and I love it, but make sure you take care of yourself! If you don’t have your health then nothing will really matter. I want to encourage you all to take care of yourselves better. This industry can take a toll on your body b/c it is high-stressed. If you are stressed your immune system will shut down. For a lot of us we are working too much and there isn’t an off-switch. I would like to encourage people to examine their life and their time. When you take time to turn off your analytic brain, and work on your creative brain then the pathways will connect better. Please save your money! Lyme disease is spread through tick bites. 44:30 – Aimee: Thank you for sharing that! 44:38 – Chuck: It’s encouraging to me that you are still trying to come back even after this disease. I think we take things for granted sometimes. You can’t always count on things going the way you want it to go. 45:19 – Guest: What happened to me was I left work and one Friday afternoon I had a normal weekend. My health was on the decline, and I rested all weekend. And Monday I couldn’t get out of bed. That started this whole period where I stopped leaving the house completely. That’s how quickly things can change for you. I harp on people a lot to save their money. If I didn’t have savings there would be a very different end to my story. I want to encourage people to save. 46:33 – Chuck: I think on that note let’s go to picks. Where can people find you? 46:45 – Guest: My blog is Human Who Codes. 47:10 – Chuck: Anything people can do to help you? Check out his books you won’t regret it! 47:33 – Guest: Buying books is always helpful. I would say that if you can spend some time contributing to ESLint that is always a great help. Anything you can do to help them will help me. I want to make sure that those folks are happy, healthy and productive. For me, personally, I love when people Tweet at me and say HI! I love hearing other people’s stories of how they have overcome past diseases or illnesses. If you want to send monetary gifts – donate to a wonderful organization that helps children with Lyme disease. I would encourage you to support if you feel inclined. 50:49 – Chuck: We appreciate it, and I appreciate you being so open about your personal story. 51:11 – Advertisement – eBook: Get a coder job! Links: JavaScript jQuery React Elixir Elm Vue GitHub – Prettier GitHub – Premier Lyme Light Foundation Inclusive Components ESLint – Disallow Specific Imports State of JS Learn JavaScript Book: Total Recall Goodbye Redux YouTube Channel – Sideways Human Who Codes – Nicholas Zakas Nicholas’ Books Nicholas’ Twitter Nicholas’ GitHub Nicholas’ LinkedIn Sponsors: Kendo UI Sentry Cache Fly Get a Coder Job Picks: Aimee Technical debt Professional JavaScript for Web Developers Chris Inclusive Components Blog CSS Cascade JS Jabber - code Cory No Restricted Imports State of JS Total Recall Charles My JavaScript Story Joe Thought bubbles... Goodbye Redux Sideways Channel Nicholas The Brain that Changes Its Self Ghost Boy Tip - Turn off your Wi-Fi before Bed

1hr 8mins

23 Oct 2018

Episode artwork

JSJ 336: “The Origin of ESLint” with Nicholas Zakas

Devchat.tv Episode Roundup

Panel: Aimee Knight Charles Max Wood (DevChat TV) Christopher Ferdinandi (Boston) Cory House (Kansas City) Joe Eames Special Guests: Nicholas Zakas In this episode, the panel talks with Nicholas Zakas who writes on his site, Human Who Codes. He is the creator of ESLint, also the author of several books, and he blogs, too. He was employed through Box and today he talks about ESLint in full detail! Check it out!  Show Topics: 0:05 – Advertisement: KENDO UI 0:37 – Hello! The panel is...(Chuck introduces everyone). 1:04 – Nicholas who are you? 1:17 – Nicholas: Yeah it’s been about 5 years and then you invited me again, but I couldn’t come on to talk about ESLint back then. That’s probably what people know me most for at this point. I created ESLint and I kicked that off and now a great team of people is maintaining it. 1:58 – Chuck: What is it? 2:04 – It’s a Linter for JavaScript. It falls into the same category as JSLint. The purpose of ESLint is to help you find problems with your code. It has grown quite a bit since I’ve created it. It can help with bugs and enforcing style guides and other things. 2:53 – Where did it come from? 2:57 – Guest: The idea popped into my head when I worked at Pop. One of my teammates was working on a bug and at that time we were using... Nothing was working and after investigating someone had written a JavaScript code that was using a native code to make an Ajax request. It wasn’t the best practice for the company at the time. For whatever reason the person was unaware of that. When using that native XML...there was a little bit of trickiness to it because it was a wrapper around the... We used a library to work around those situations and add a line (a Linter) for all JavaScript files. It was a text file and when you tried to render code through the process it would run and run the normal expression and it would fail if any of the...matched. I am not comfortable using normal expressions to write code for this. You could be matching in side of a string and it’s not a good way to be checking code for problems. I wanted to find a better way. 6:04 – Why did you choose to create a product vs. using other options out there? 6:15 – Guest: Both of those weren’t around. JSHint was pretty much the defector tool that everyone was using. My first thought was if JSHint could help with this problem? I went back to look at JSHint and I saw that on their roadmap you could create your own rules, and I thought that’s what we need. Why would I build something new? I didn’t see anything on GitHub and didn’t see the status of that. I wanted to see what the plan was, and they weren’t going to get to it. I said that I really needed this tool and I thought it would be helpful to others, too. 8:04 – My history was only back when it was customizable. 8:13 – Aimee: It’s interesting to see that they are basing it on regular expressions. 8:32 – Guest: Interesting thing at Box was that there was...I am not sure but one of the engineers at Box wrote... 9:03 – Aimee: I was going to ask in your opinion what do you think ES Lint is the standard now? 9:16 – Guest: How easy it is to plug things in. That was always my goal because I wanted the tool not to be boxed in – in anyway. The guest continues to talk about how pluggable ESLint is and the other features of this tool. 13:41 – One thing I like about ESLint is that it can be an educational tool for a team. Did you see that being an educational tool? 14:24 – Guest: How do you start introducing new things to a team that is running at full capacity? That is something that I’ve wondered throughout my career. As a result of that, I found that a new team there were some problems I the code base that were really hard to get resolved, because when one person recognizes it there isn’t a god way to share that information within a team in a non-confrontational way. It’s better to get angry at a tool rather than a person. Guest goes into what this can teach people. 18:07 – Panelist: I am not surprised. Is there a best practice to get a team to start with ESLint? Do you get the whole team in a room and show them the options or take the best guess and turn it on? 18:34 – Guest: The thing I recommend is that first and foremost get ESLint in your system with zero rules on. It starts that mindset into your development process. We can do something to automatically check... Get Syntax checking and you will se improvements on the number of bugs that are getting out of production. I recommend using the default the ESLint configuration. This has all of the things that we have found that are most likely errors and runtime errors vs. syntax errors. You can go through with those and sometimes it is easier to run that check with... Using those ESLint rules will clean up a lot of problems that you didn’t know you had with your code. There are too many problems with those rules. I recommend instead of turning them off then put the severity to warning and not error. That is something we started with in the beginning. We turned on as many rules as we could and it drove people crazy. They didn’t feel like when they were committing to a file why should I be... The idea with the different scenario levels you don’t’ want to turn off rules so people don’t know there is a problem. There can be a rule on so people will know that there is a problem, but... Doing that alone will give you a lot of benefit in using ESLint. How do you decide as a team on the rules that are maybe not for finding errors but for stylistic in error? Do we use four spaces, semi-colons, etc. To figure that out I am a big component on finding a pre-existing style guide and adapting it. Get everyone to agree. There is no right or wrong when it comes to stylistic preferences. It really is just getting everyone to do the same thing. I think it was Crawford that said: Whether you drive on the right side of the left side of the road – it doesn’t matter as long as everyone is dong the same thing. I agree with that and it applies to style guides. It can get heated but for the best thing for the team is stick with a guide and work together. 24:36 – Aimee: I can go through the options to pick one of the style guides out there and then it will automatically create my configuration for me is helpful. Question: If you had to pick 2 or 3 rules that you are super helpful what would they be? 25:30 – Guest: To touch briefly on indentation. Whether you like four spaces or whether you are wild and like tabs, I think the indent rule is very helpful. Just for wiping out and eliminating that discussion through your team. Have your editor setup however they want but on the pre-hook... But my favorite rules I tend to lean towards the ones that saved me. The Guest goes through his favorite rules with ESLint. Check it out! 26:51 – Guest mentions his second favorite rule, here! 28:24 – Guest mentions his third favorite rule, here! 29:03 – Guest mentions the rule that makes him giggle a lot, here! 30:07 – Advertisement – Sentry! 31:22 – What is your take on running Fix? Does it make sense to run Fix? 32:00 – Guest: It depends and the idea behind Fix is the idea of doing a one time (at the start) fix everything that it can find wrong b/c I don’t want to do it by hand. It morphed into a more of a tool that people are using all the time. I too have mixed feelings about it. I think the greatest value you get out of Fix is that when you first install it or when you enable a new rule. I think in those situations you get a lot of value out of Fix. I think that when people were getting aggressive with their code styles it took us down a path where we... As a pre-commit hook it could be to fix things and part of the built system you wouldn’t want... People are probably wondering: Why doesn’t ESLint doesn’t fix all the time? It can be a team decision: do you want to run Fix at the point that the developer is writing the code, do you want to use Fix as running it as a build when you are bundling? It really seems more of a personal preference. I am on the fence about it. Even though I am leaning more towards... 35:16 – Do you run Premier? 35:20 – Guest: No I don’t. I don’t have anything against Premier but I think Prettier uses a very interesting space. 37:50 – Chuck: What is next for ESLint and what is next for you? 37:55 – Guest: Well, to be honest I am not sure what is next for ESLint. I haven’t been involved with keeping it maintained for the last few years. I do help out with feedback with decisions. But in general the ESLint the direction is that let’s add tings that help people avoid language hazards and make sure that ESLint is still pluggable. Lastly, that we will be there to help people and the community. There is this virtuosic cycle and tools like Babble and then tools like ESLint introducing rules adapting new rules and features better. For myself, and the future, I haven’t been involved with ESLint because I am focusing on my health. I was diagnosed with Lyme Disease and it meant that I needed to focus on my health. That’s why, too, I wasn’t able to join a few years ago. I am doing better but I am a few years away for working fulltime and writing books and blogging, again. The trajectory is upward. I want to stress that you need to take care of yourself. There is interesting stuff that we are doing and I love it, but make sure you take care of yourself! If you don’t have your health then nothing will really matter. I want to encourage you all to take care of yourselves better. This industry can take a toll on your body b/c it is high-stressed. If you are stressed your immune system will shut down. For a lot of us we are working too much and there isn’t an off-switch. I would like to encourage people to examine their life and their time. When you take time to turn off your analytic brain, and work on your creative brain then the pathways will connect better. Please save your money! Lyme disease is spread through tick bites. 44:30 – Aimee: Thank you for sharing that! 44:38 – Chuck: It’s encouraging to me that you are still trying to come back even after this disease. I think we take things for granted sometimes. You can’t always count on things going the way you want it to go. 45:19 – Guest: What happened to me was I left work and one Friday afternoon I had a normal weekend. My health was on the decline, and I rested all weekend. And Monday I couldn’t get out of bed. That started this whole period where I stopped leaving the house completely. That’s how quickly things can change for you. I harp on people a lot to save their money. If I didn’t have savings there would be a very different end to my story. I want to encourage people to save. 46:33 – Chuck: I think on that note let’s go to picks. Where can people find you? 46:45 – Guest: My blog is Human Who Codes. 47:10 – Chuck: Anything people can do to help you? Check out his books you won’t regret it! 47:33 – Guest: Buying books is always helpful. I would say that if you can spend some time contributing to ESLint that is always a great help. Anything you can do to help them will help me. I want to make sure that those folks are happy, healthy and productive. For me, personally, I love when people Tweet at me and say HI! I love hearing other people’s stories of how they have overcome past diseases or illnesses. If you want to send monetary gifts – donate to a wonderful organization that helps children with Lyme disease. I would encourage you to support if you feel inclined. 50:49 – Chuck: We appreciate it, and I appreciate you being so open about your personal story. 51:11 – Advertisement – eBook: Get a coder job! Links: JavaScript jQuery React Elixir Elm Vue GitHub – Prettier GitHub – Premier Lyme Light Foundation Inclusive Components ESLint – Disallow Specific Imports State of JS Learn JavaScript Book: Total Recall Goodbye Redux YouTube Channel – Sideways Human Who Codes – Nicholas Zakas Nicholas’ Books Nicholas’ Twitter Nicholas’ GitHub Nicholas’ LinkedIn Sponsors: Kendo UI Sentry Cache Fly Get a Coder Job Picks: Aimee Technical debt Professional JavaScript for Web Developers Chris Inclusive Components Blog CSS Cascade JS Jabber - code Cory No Restricted Imports State of JS Total Recall Charles My JavaScript Story Joe Thought bubbles... Goodbye Redux Sideways Channel Nicholas The Brain that Changes Its Self Ghost Boy Tip - Turn off your Wi-Fi before Bed

1hr 8mins

23 Oct 2018

Loading