ai MJS #019: Aimee Knight By devchat.tv Published On :: Wed, 17 May 2017 06:00:00 -0400 On today's episode, Charles Max Wood features My JS Story Aimee Knight. Aimee first appeared in episode 153, where talked about her career as a Junior Developer. She eventually became one of the awesome panelists of JavaScript Jabber. Tune in to learn about her journey in programming! Full Article
ai JSJ 280: Stackblitz with Eric Simons and Albert Pai By devchat.tv Published On :: Tue, 26 Sep 2017 06:00:00 -0400 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 thinkster.io https://medium.com/@ericsimons/stackblitz-online-vs-code-ide-for-angular-react-7d09348497f4 @stackblitz stackblitz.com Picks Amy Promises Series by Andrew Del Prete Crossfit Joe Wholesome Meme Sara Cooper Charles Pivotal Tracker MatterMost asana.com Zapier Eric realworld.io David East Albert thinkster.io Thing Explainer Full Article
ai JSJ 282: Trails.js with Scott Wyatt By devchat.tv Published On :: Tue, 10 Oct 2017 06:00:00 -0400 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 Full Stack Developers by Brad Frost Tracking Macros Joe The Behavior Gap Charles Profit First Keto Diet scott-wyatt/GitHub Cory Never write another high Order Component Scott Proxy Engine Full Article
ai JSJ 287: Blockchain and JS with Ari Lerner By devchat.tv Published On :: Tue, 14 Nov 2017 00:04:00 -0500 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: https://www.ng-book.com/ http://www.newline.co.bw/ The History of Money @Auser Stack.io Picks: Amiee Article - Learn Block Chain by Building One The Source Bar Charles Microsoft Connect - Meet up at 7pm Stranger Thing Season 2 AJ Spice Labels and Spice Jars Marriage Ari Moving to NYC Learn Block Chain by Building One Full Article
ai JSJ 325: Practical functional programming in JavaScript and languages like Elm with Jeremy Fairbank By devchat.tv Published On :: Tue, 07 Aug 2018 06:00:00 -0400 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: Test Double His talk - Practical Functional Programming Elm Elixir F# @elpapapollo jeremyfairbank.com Jeremy’s GitHub Jeremy’s YouTube Sponsors Kendo UI Sentry Digital Ocean Picks: Aimee American Dollar Force with lease AJ Superfight Joe The 2018 Web Developer Roadmap by Brandon Morelli Svelte Jeremy Programming Elm The Secrets of Consulting by Gerald M. Weinberg Connect.Tech Full Article
ai JSJ 329: Promises, Promise.finally(), and Async/await with Valeri Karpov By devchat.tv Published On :: Tue, 04 Sep 2018 06:00:00 -0400 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: JavaScript Valeri Karpov’s GitHub Valeri Karpov’s Twitter Valeri Karpov’s LinkedIn New E-Book: Mastering Async/Await Node Python Windows Scripting Host Facebook’s Regenerator Rhino Sponsors: Kendo UI Sentry Digital Ocean Picks: Charles YouTube Video “IKEA” by Coulton Conference Amazon Prime Day Aimee Blog Post Article AJ IKEA https://ppl.family Val https://www.npmjs.com/package/serve http://bit.ly/ultimate-skiing http://asyncawait.net/jsjabber New E-Book: Mastering Async/Await Full Article
ai JSJ 331: “An Overview of JavaScript Testing in 2018” with Vitali Zaidman By devchat.tv Published On :: Tue, 18 Sep 2018 06:00:00 -0400 Panel: AJ O’Neal Aimee Knight Joe Eames Charles Max Wood Special Guests: Vitali Zaidman In this episode, the panel talks with programmer, Vitali Zaidman, who is working with Software Solutions Company. He researches technologies and starts new projects all the time, and looks at these new technologies within the market. The panel talks about testing JavaScript in 2018 and Jest. Show Topics: 1:32 – Chuck: Let’s talk about testing JavaScript in 2018. 1:53 – Vitali talks about solving problems in JavaScript. 2:46 – Chuck asks Vitali a question. 3:03 – Vitali’s answer. 3:30 – Why Jest? Why not Mocha or these other programs? 3:49 – Jest is the best interruption of what testing should look like and the best practice nowadays. There are different options, they can be better, but Jest has this great support from their community. There are great new features. 4:31 – Chuck to Joe: What are you using for testing nowadays? 4:43 – Joe: I use Angular, primarily. 6:01 – Like life, it’s sometimes easier to use things that make things very valuable. 7:55 – Aimee: I have heard great things about Cypress, but at work we are using another program. 8:22 – Vitali: Check out my article. 8:51 – Aimee: There are too many problems with the program that we use at work. 9:39 – Panelist to Vitali: I read your article, and I am a fan. Why do you pick Test Café over Cypress, and how familiar are you with Cypress? What about Selenium and other programs? 10:12 – Vitali: “Test Café and Cypress are competing head-to-head.” Listen to Vitali’s suggestions and comments per the panelists’ question at this timestamp. 11:25 – Chuck: I see that you use sign-on... 12:29 – Aimee: Can you talk about Puppeteer? It seems promising. 12:45 – Vitali: Yes, Puppeteer is promising. It’s developed by Google and by Chrome. You don’t want to use all of your tests in Puppeteer, because it will be really hard to do in other browsers. 13:26: Panelist: “...5, 6, 7, years ago it was important of any kind of JavaScript testing you had no idea if it worked in one browser and it not necessarily works in another browser. That was 10 years ago. Is multiple browsers testing as important then as it is now? 14:51: Vitali answers the above question. 15:30 – Aimee: If it is more JavaScript heavy then it could possibly cause more problems. 15:56 – Panelist: I agree with this. 16:02 – Vitali continues this conversation with additional comments. 16:17 – Aimee: “I see that Safari is the new Internet Explorer.” 16:23: Chuck: “Yes, you have to know your audience. Are they using older browsers? What is the compatibility?” 17:01 – Vitali: There are issues with the security. Firefox has a feature of tracking protection; something like that. 17:33 – Question to Vitali by Panelist. 17:55 – Vitali answers the question. 18:30 – Panelist makes additional comments. 18:43 – If you use Safari, you reap what you sow. 18:49 – Chuck: I use Chrome on my iPhone. (Aimee does, too.) Sometimes I wind up in Safari by accident. 19:38 – Panelist makes comments. 19:52 – Vitali tells a funny story that relates to this topic. 20:45 – There are too many standards out there. 21:05 – Aimee makes comments. 21:08 – Brutalist Web Design. Some guy has this site – Brutalist Web Design – where he says use basic stuff and stop being so custom. Stop using the web as some crazy platform, and if your site is a website that can be scrolled through, that’s great. It needs to be just enough for people to see your content. 22:16 – Aimee makes additional comments about this topic of Brutalist Web Design. 22:35 – Panelist: I like it when people go out and say things like that. 22:45 – Here is the point, though. There is a difference between a website and a web application. Really the purpose is to read an article. 23:37 – Vitali chimes in. 24:01 – Back to the topic of content on websites. 25:17 – Panelist: Medium is very minimal. Medium doesn’t feel like an application. 26:10 – Is the website easy enough for the user to scroll through and get the content like they want to? 26:19 – Advertisement. 27:22 – See how far off the topic we got? 27:31 – These are my favorite conversations to have. 27:39 – Vitali: Let’s talk about how my article got so popular. It’s an interesting thing, I started researching “testing” for my company. We wanted to implement one of the testing tools. Instead of creating a presentation, I would write first about it in Medium to get feedback from the community as well. It was a great decision, because I got a lot of comments back. I enjoyed the experience, too. Just write about your problem in Medium to see what people say. 28:48 – Panelist: You put a ton of time and energy in this article. There are tons of links. Did you really go through all of those articles? 29:10 – Yes, what are the most permanent tools? I was just reading through a lot of comments and feedback from people. I tested the tools myself, too! 29:37 – Panelist: You broke down the article, and it’s a 22-minute read. 30:09 – Vitali: I wrote the article for my company, and they ad to read it. 30:24 – Panelist: Spending so much time – you probably felt like it was apart of your job. 30:39 – Vitali: I really like creating and writing. It was rally amazing for me and a great experience. I feel like I am talented in this area because I write well and fast. I wanted to express myself. 31:17 – Did you edit and review? 31:23 – Vitali: I wrote it by myself and some friends read it. There were serious mistakes, and that’s okay I am not afraid of mistakes. This way you get feedback. 32:10 – Chuck: “Some people see testing in JavaScript, and people look at this and say there are so much here. Is there a place where people can start, so that way they don’t’ get too overwhelmed? Is there a way to ease into this and take a bite-size at a time?” 32:52 – Vitali: “Find something that works for them. Read the article and start writing code.” He continues this conversation from here on out. 34:03 – Chuck continues to ask questions and add other comments. 34:16 – Vitali chimes-in. 34:38 – Chuck. 34:46 – Vitali piggybacks off of Chuck’s comments. 36:14 – Panelist: Let’s go back to Jest. There is a very common occurrence where we see lots of turn and we see ideas like this has become the dominant or the standard, a lot of people talk about stuff within this community. Then we get this idea that ‘this is the only thing that is happening.’ Transition to jQuery to React to... With that context do you feel like Jest will be a dominant program? Are we going to see Jest used just as common as Mocha and other popular programs? 38:15 – Vitali comments on the panelist’s question. 38:50 – Panelist: New features. Are the features in Jest (over Jasmine, Mocha, etc.) so important that it will drive people to it by itself? 40:30 – Vitali comments on this great question. 40:58 – Panelist asks questions about features about Jest. 41:29 – Vitali talks about this topic. 42:14 – Let’s go to picks! 42:14 – Advertisement. Links: Vitali Zaidman’s Facebook Vitali Zaidman’s Medium Vitali Zaidman’s GitHub Vitali Zaidman’s NPM Vitali Zaidman’s LinkedIn Vitali Zaidman’s Medium Article JavaScript Brutalist Web Design Jasmine Cypress React jQuery Jest Protractor – end to end testing for Angular Test Café Intern Sinon XKCD Sponsors: Kendo UI Sentry Digital Ocean Cache Fly Picks: AJ O’Neal Continuous from last week’s episode: Crossing the Chasm – New Technologies from Niche to General Adaptation. Go Lang Joe Eames Board Game: Rajas of the Ganges Framework Summit Conference in Utah React Conference Aimee Knight Hacker News – “Does Software Understand Complexity” via Michael Feathers Cream City Code Chuck E-Book: How do I get a job? Express VPN Vitali Book: The Square and The Tower: Networks and Power, from the Freemasons to Facebook by Niall Ferguson My article! Full Article
ai MJS 098: Vitali Zaidman By devchat.tv Published On :: Wed, 13 Mar 2019 06:00:00 -0400 Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Triplebyte offers a $1000 signing bonus Clubhouse CacheFly Host: Charles Max Wood Guest: Vitali Zaidman Episode Summary In this episode of My JavaScript Story, Charles hosts Vitali Zaidman, Technical Lead at WellDone Software Solutions. He is also the author of the popular blog piece: “An Overview of JavaScript Testing in 2019”. Vitali has been writing code since he was 13 years old. After completing his military service, he attended The Open University of Israel where he took computer science courses. He picked JavaScript not knowing that it was going to be so popular. He has been working for WellDone Software Solutions since he was a student where he has had the chance to work in many different projects. Vitali feels in order to keep up with technology it is important to work in different projects. Vitali talks about projects he has worked on that he is proud of, one of which is his library at https://github.com/welldone-software/why-did-you-render Links JSJ 331: An Overview of JavaScript Testing in 2018 with Vitali Zaidman https://www.facebook.com/vzaidman https://twitter.com/vzaidman https://github.com/vzaidman https://medium.com/@vzaidman https://bitsrc.io/vzaidman https://www.welldone-software.com/ https://www.powtoon.com/home/? Picks Vitali Zaidman: https://www.testim.io/ https://applitools.com/ An Overview of JavaScript Testing in 2019 by Vitali Zaidman https://github.com/welldone-software/why-did-you-render Charles Max Wood: https://www.vrbo.com/ https://paradehomes.com/web/ https://www.tripit.com/web Player's Handbook Dungeons & Dragons Core Rule Book Full Article
ai JSJ 367: Pair Programming By devchat.tv Published On :: Tue, 04 Jun 2019 06:00:00 -0400 Sponsors Triplebyte offers a $1000 signing bonus Sentry use the code “devchat” for $100 credit Linode offers $20 credit CacheFly Panel Aimee Knight AJ O’Neal Chris Ferdinandi Episode Summary In this episode of JavaScript Jabber, the panelists discuss each one’s definition of the term ‘pairing’ in programming, including factors like being remote or local, having different seniority levels and the various approaches of going about it in general. They talk about how valuable pairing is, in terms of benefiting the individual as well as how productive it is for the company or the overall business. The panel also discuss prototyping, pseudo-coding and the advantages and trade-offs involved in pair programming. They talk about their own experiences in which pairing had proven to be extremely beneficial and the ones where it went completely wrong, thereby helping listeners understand the dos and don’ts of the technique. In the end, they elaborate on what actually happens in pairing interviews and the overall hiring process while sharing anecdotes from their own lives. Links Follow JavaScript Jabber on Devchat.tv, Facebook and Twitter. Picks Chris Ferdinandi: Enso Rings Vanilla JS Projects AJ O’Neal: Salt and Pepper Grinder set Peppercorn blend Pink Himalayan salt Aimee Knight: Enneagram test Kittyrama Full Article
ai MJS 116: Jeremy Fairbank By devchat.tv Published On :: Tue, 16 Jul 2019 06:00:00 -0400 Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan CacheFly Host: Charles Max Wood Joined By Special Guest: Jeremy Fairbank Episode Summary Jeremy is a Software Developer at Test Double and the author of Programming Elm book. Even though Jeremy majored in Chemistry in college, he was always interested in programming since middle school. After he graduated from college he went to work as a web developer at Plastic Industries and relied on blog posts and other online resources to teach himself how to code. Gradually as the company’s needs changed, Jeremy transitioned into an application developer. He taught himself JavaScript using the book Professional JavaScript for Web Developers . He then attented a Coursera classto learn on principles of functional programming and gained experience with many front end frameworks and libraries, including Elm, React, Redux, Backbone.js, and Marionette.js. Jeremy is based out of Hawaii and when he isn't coding, he spends his time playing his guitar and hiking and going to the beach with his family. Links JSJ 325: Practical functional programming in JavaScript and languages like Elm with Jeremy Fairbank Jeremy’s GitHub Jeremy's LinkedIn Jeremy’s Blog Professional JavaScript for Web Developers by Nicholas C. Zakas Professional JavaScript for Web Developers by Matt Frisbie https://knockoutjs.com/ https://marionettejs.com/ https://www.coursera.org/ https://www.coursera.org/learn/programming-languages elm-lang.org https://www.facebook.com/javascriptjabber https://twitter.com/JSJabber https://www.facebook.com/DevChattv Picks Jeremy Fairbank: Programming Elm The Umbrella Academy Beyond Burger Charles Max Wood: Orphan Black https://devchat.tv/ https://www.netlify.com/ https://www.11ty.io/ https://github.com/cmaxw/devchat-eleventy JavaScript Jabber - Devchat.tv Full Article
ai JSJ 398: Node 12 with Paige Niedringhaus By devchat.tv Published On :: Tue, 08 Oct 2019 06:00:00 -0400 Guest Paige Niedringhaus has been a developer full time for 3 years, and today she is here to talk about Node 12. One of the things she is most excited about is the ES6 support that is now available, so things that used to require React, Angular, or Vue can now be done in Node. The require function will not have to be used in Node 12. AJ is worried about some of these changes and expresses his concerns. Paige assures him that in the beginning you won’t have to switch things to imports. You may have to change file extensions/types so Node can pick up what it’s supposed to be using. They are also trying to make it compatible with CommonJS. Node 12 also boasts an improved startup time. The panel discusses what specifically this means. They talk about the code cache and how Node caches the built in libraries that it comes prepackaged with. The V8 engine is also getting many performance enhancements. Paige talks about the shift from promises to async. In Node 12, async functions will actually be faster than promises. They discuss some of the difficulties they’ve had in the past with Async08, and especially callbacks. Another feature of Node 12 is better security. The transcripted security layer (TLS), which is how Node handles encrypted strains of communication, is upgrading to 1.3. The protocol is simpler to implement, quicker to negotiate sessions between the applications, provides increased end user privacy, and reduces request time. Overall, this means less latency for everybody. 1.3 also gets rid of the edge cases that caused TLS to be way far slower than it needed to be. The conversation turns to properly configuring default heap limits to prevent an ‘out of memory’ error. Configuring heap limits is something necessary when constructing an incredibly large object or array of objects. Node 12 also offers formatted diagnostic summaries, which can include information on total memory, used memory, memory limits, and environment lags. It can report on uncaught exceptions and fatal errors. Overall, Node 12 is trying to help with the debugging process. They talk about the different parsers available and how issues with key pairing in Node have been solved. Paige talks about using worker threads in Node 12. Worker threads are really beneficial for CPU intensive JavaScript operations. Worker threads are there for those things that eat up all of your memory, they can alleviate the load and keep your program running efficiently while doing their own operations on the sideline, and returning to the main thread once they’ve finished their job. None of the panelists have really used worker threads, so they discuss why that is and how they might use Worker Threads in Node 12. In addition, Node 12 is making Native module creation and support easier, as well as all the different binaries a node developer would want to support. Paige makes it a point to mention the new compiler and minimum platform standards. They are as follows: GCC minimum 6 GLIVC minimum 2.17 on platforms other than Mac and Windows (Linux) Mac users need at least 8 and Mac OS 10.10 If you’ve been running node 11 builds in Windows, you’re up to speed Linux binaries supported are Enterprise Linux 7, Debian 8, and Ubuntu 14.04 If you have different requirements, go to the Node website Panelists J.C. Hyatt Steve Edwards AJ O’Neal With special guest: Paige Niedringhaus Sponsors Tidelift Sentry use the code “devchat” for 2 months free on Sentry’s small plan Sustain Our Software Links Async CommonJS njs Promise Node Event Stream llhttp llparse LLVM Papa Parse Json.stringify Json.parse Optimizing Web Performance TLS 1.3 Overlocking SSL Generate Keypair Follow DevChatTV on Facebook and Twitter Picks J.C. Hyatt: AWS Amplify framework 12 Rules for Life: An Antidote to Chaos by Jordan Petersen React and Gatsby workshops Steve Edwards: The Farside comic coming back? AJ O’Neal: Field of Hopes and Strings Link’s Awakening Dune Paige Niedringhaus: DeLonghi Magnifica XS Automatic Espresso Machine, Cappuccino Maker CONNECT.TECH Conference Follow Paige on Twitter, Medium, and Github Full Article
ai JSJ 399: Debugging with Async/Await with Valeri Karpov By devchat.tv Published On :: Thu, 10 Oct 2019 06:00:00 -0400 Valeri Karpov is a maintainer on Mongoose, has started a few companies, and works for a company called Booster Fuels. Today’s topic debugging with Async/Await. The panel talks about some of the challenges of debugging with Async. AJ, however, has never encountered the same problems, so he shares his debugging method. Valeri differentiates between .catch vs try...catch, and talks about why he prefers .catch. There are two ways to handle all errors in an async function without leading to an unhandled promise rejection. The first is to wrap the entire body of the async function in a try...catch, has some limitations. Calling an async function always returns a promise, so the other approach is calling .catch on the promise to handle any errors that occur in that function body. One of the key differences is if you return a promise within an async function, and that return promise is wrapped in a try...catch, the catch block won’t get called if that promise is rejected, whereas if you call .catch on the promise that the function returns, you’ll actually catch that error. There are rare instances where this can get tricky and unintuitive, such as where you have to call new promise and have resolve and reject, and you can get unexpected behavior. The panel discusses Valeri’s current favorite JS interview question, which is, “Given a stream, implement a function called ‘stream to promise’ that, given a stream, returns a promise that resolves to the concatenation of all the data chunks emitted by the stream, or rejects if the stream emits an error event.” It’s really simple to get this qustion right, and really simple to get it wrong, and the difference can be catastrophic. AJ cautions listeners to never use the data event except in the cases Val was talking about, only use the readable event. The conversation turns to the function of a readable event. Since data always pushes data, when you get a readable event, it’s up to you to call read inside the function handler, and then you get back a chunk of data, call read again and again until the read returns null. When you use readable, you are in control and you avoid piling functions into RAM. In addition, the right function will return true or false to let you know if the buffer is full or not. This is a way to mix imperative style into a stream. The next discussion topics are the differences between imperative style and reactive style and how a waits and promises work in a normal four loop. A wait suspends the execution of a function until the promise is resolved. Does a wait actually stop the loop or is it just transpiling like a promise and it doesn’t stop the loop. AJ wrote a module called Batch Async to be not as greedy as promise.all but not as limited as other options. The JavaScript panelists talk about different async iterators they’ve used, such as Babel. They discuss the merits of Babel, especially since baseline Android phones (which a significant portion of the population of the world uses) run UC Browser that doesn’t support Babel, and so a significant chunk of the population of the world. On the other hand, if you want to target a large audience, you need to use Babel. Since frameworks in general don’t handle async very well, the panel discusses ways to mitigate this. They talk about different frameworks like Vue, React, and Express and how they support async functions. They discuss why there is no way for you to actually cancel an async option in an actual case, how complex canceling is, and what you are really trying to solve for in the cancellation process. Canceling something is a complex problem. Valeri talks about his one case where he had a specific bug that required non-generic engineering to solve, and cancelling actually solved something. When AJ has come across cancellation issues, it’s very specific to that use case. The rest of the panelists talk about their experiences with having to cancel something. Finally, they talk about their experience with async generator functions. A generator is a function that lets you enter into the function later. This makes sense for very large or long running data sets, but when you have a bounded items, don’t complicate your code this way. When an async generator function yields, you explicitly need to call next in order for it to pick up again. If you don’t call ‘next’, it’s essentially cancelled. Remember that object.keys and object.values are your friends. Panelists Christopher Buecheler AJ O’Neal Charles Max Wood With special guest: Valeri Karpov Sponsors The DevEd Podcast Sentry use the code “devchat” for 2 months free on Sentry’s small plan Adventures in DevOps Links Mongoose Express 5 Node Streams Pull Streams Masteringjs.io MongoDB Babel HTML Webpack Vue Express RxJS Console.log Json.stringify Batchasync.js How to Write Batch Async Functions Follow DevChatTV on Facebook and Twitter Picks AJ O’Neal: Ethan Garofolo YouTube Christopher Buecheler: Functional Design Patterns for Express.js Charles Max Wood: Microsoft Ignite Maxcoders.io Valeri Karpov: Follow Valeri on Twitter @code_barbarian and Github @vkarpov15 Masteringjs.io Jurassic Park: A Novel Full Article
ai JSJ 401: Hasura with Tanmai Gopal By devchat.tv Published On :: Thu, 17 Oct 2019 06:00:00 -0400 Tanmai is one of the founders at Hasura. Hasura gives you instant graphQL APIs on top of a Postgres database. The eventual idea is to make data access secure and easy. Tanmai explains the challenges of doing this in the cloud. He talks about some of the difficulties with the tooling around using GraphQL and its bias towards working well with a monolith. Since GraphQL is basically a shared type system that describes your API, that means all your types need to be in the same code base. This is at odds with the folks who want to do microservices and serverless functions, because since their API is split across multiple services they have different types, and forcing these types to work together defeats the purpose of using microservices. Also, storing state across requests doesn’t work well with serverless and cloud native stuff. In short, learning to live without state is one of the general challenges with going serverless. This is where Hasura comes into play, and Tanmai explains how it works. Hasura is metadata driven, and each instance of the server can leverage multiple calls and exhibit a high amount of concurrency. It’s designed to be a little more CPU bound than memory bound, which means that configuring auto scaling on it is very easy and allows you to utilize the elasticity of cloud native applications. Tanmai clarifies his usage of the word ‘cloud native’, by which he means microservices. He explains that when you have a metadata based engine, this metadata has a language that allows you to bring to bring in types from multiple upstream microservices, and create a coherent graphQL API on top of that. Hasura is a middle man between the microservices and the consumer that converts multiple types into a single coherent graphQL API. Next, Tanmai explains how Hasura handles data fetching and a high volume of requests. They also invented PostgresQL, RLS-like semantics within Hasura. He explains the process for merging your microservices into a single graphQL interface. Back on data fetching, Tanmai explains that when the product is an app, preventing an overabundance of queries becomes easier because during one of the staging processes that they have, they extract all of the queries that the app is actually making, and in the production version it only allows the queries that it has seen before. Hasura is focused on both the public interface and private use cases, though private is slightly better supported. Tanmai talks about the customizations available with Hasura. Hasura supports two layers. One is an aliasing layer that lets you rename tables, columns, etc as exposed by PostgresQL. The other is a computer column, so that you can add computer columns so you can extend the type that you get from a data model, and then you can point that to something that you derive. The panelist discusses the common conception of why it is a bad idea to expose the data models to the frontend folks directly. They discuss the trend of ‘dumbing down’ available tooling to appeal to junior developers, at the cost of making the backend more complicated. They talk about some of the issues that come from this, and the importance of tooling to solve this concern. Finally, Tanmai talks about the reasons to use Hasura over other products. There are 2 technologies that help with integrating arbitrary data sources. First is authorization grammar, their version of RLS that can extend to any system of types and relationships, The second is the data wrapper, part of the compiler that compiles from the graphQL metadata AST to the actual SQL AST. That is a generic interface, so anyone can come in and plug in a Haskell module that has that interface and implement a backend compiler for a native query language. This allows us to plug in other sources and stitch microservices together. The show concludes with Tanmai talking about their choice to use Haskell to make Hasura. Panelists AJ O’Neal Dan Shapir Steve Edwards Charles Max Wood With special guest: Tanmai Gopal Sponsors Adventures in DevOps Sentry use the code “devchat” for 2 months free on Sentry’s small plan The Dev Ed Podcast Links Hasura Haskell Node.js Cloud Native Microservices PostGraphile Postgres PostgresQL RLS Swagger JAMstack Soap Rest Follow DevChatTV on Facebook and Twitter Picks AJ O’Neal: The Economic Singularity Capital Cities GameCube Homebrew Dan Shapir: Romania JSCamp Steve Edwards: Cold Blooded: The Clutter Family Murders Charles Max Wood: Maxcoders.io TripIt St. George Marathon VO2 Max app Tanmai Gopal: Follow Tanmai on Twitter @tanmaigo Broken Earth Trilogy The Three-Body Problem graphQL Asia Full Article
ai JSJ 402: SEO for Developers with Vitali Zaidman By devchat.tv Published On :: Tue, 22 Oct 2019 06:00:00 -0400 Vitali Zaidman is a full stack developer who works for WellDone Software Solutions and is currently working on a SEO project. Today’s show is about SEO for developers. SEO stands for search engine optimization, which helps your website appear higher on search engines. SEO has changed a lot in the past 10 years. It has become much more regulated, and the “dirty tricks” of the past will actually penalize you, so it is important to do it properly. Today the best way to promote yourself on Google besides making good content is for developers to optimize the content, make it small, operational, secure, accessible, and operate on mobile. Much of it goes back to using semantic HTML since Google looks at it before looking at the structure of your website, how valuable it is, and how users interact with it. Having good semantics helps Google determine how valuable it is, so semantic HTML should be a top priority. Semantic HTML can also make your site more accessible to users, which will in turn give you a larger audience. The panel talks about some of the challenges of SEO faced by companies. While bigger companies have the privilege of dedicated SEO teams, small companies often lack these specialists. Thankfully, Google has made their guidelines for SEO very accessible and gives you a lot of tools to track your optimization. The panel talks about different methods of SEO, such as including FAQ at the bottom of the web page, optimizing page speed, and image optimization. Structured data like questions and answers enriches the data that is shown for users on the search results page. To score your website’s SEO, Google released the tool PageSpeed Insights, which will assign your website a performance score. Google uses two main tools to track a website’s SEO. First, they use real field data. If you opt in to ‘help improve Chrome’s features and performance’ when you install Chrome, it tracks how fast websites load on your Chrome, and they collect this information to understand how webpages load. It is required that your website has a certain amount of visitors to be tracked and added to the database. Second, Google has their own devices that will check your website. Currently, they are using a Moto G4 to test for mobile access, and a slow internet connection. Because of this, it is pretty easy to get a good score on desktop, but difficult to get a good score on mobile. The technology that drives all this is called Lighthouse. Overall, performance is the main thing users look for, so aim for good performance and fast websites. The panel discusses the correlation between performance and SEO. For example, Fox News and CNN are two of the top search results for ‘news’, but they have a dismal Google PSI score. They conclude that performance shouldn’t be ignored, but be careful about directly correlating performance and SEO. They also caution against getting obsessed over certain aspects of SEO by themselves. Panelists Dan Shapir Aimee Knight Charles Max Wood With special guest: Vitali Zaidman Sponsors Tidelift Sentry use the code “devchat” for 2 months free on Sentry’s small plan Elixir Mix Links SEO JSON Google Webmaster guidelines Google PageSpeed Insights Chrome CrUX Lighthouse Here's How the Google Speed Update Will Impact Your Site SEO for Developers - A Quick Overview Google Quality Guidelines Follow DevChatTV on Facebook and Twitter Picks Aimee Knight: Spotify CLI Dan Shapir: Chrome Dev Summit 2019 Dan Shapir on Twitter The Anubis Gates Charles Max Wood: St. George Marathon Vitali Zaidman: Vitali’s website Arzamas Academy Follow Vitali on Medium and Twitter Full Article
ai JSJ 418: Security Scary Stories and How to Avoid Them with Kevin A McGrail By devchat.tv Published On :: Tue, 28 Jan 2020 06:00:00 -0500 In this episode of JavaScript Jabber the panel interviews security expert, Kevin A. McGrail. He starts by explaining what security frameworks and what they do. The panel wonders how to know if your developers are capable of self-auditing your security or if you need help. Kevin shares recommendations for companies to look at to answer that question. Aimee Knight explains the hell she has been in making changes to be compliant with CCPA. The panel considers how policies like this complicate security, are nearly impossible to be compliant with and how they can be weaponized. They discuss the need for technical people to be involved in writing these laws. Kevin explains how you can know how secure your systems actually are. He shares the culture of security first he tries to instill in the companies he trains. He also trains them on how to think like a bad guy and explains how this helps developers become security first developers. The panel discusses how scams have evolved and how the same scams are still being run. They consider the importance of automated training and teaching developers to do it right the first time. Finally, they consider the different ways of authentication, passwords, passphrases, sim card, biometrics. Kevin warns against oversharing or announcing vacations. The panel discusses real-world tactics bad guys use. Kevin explains what he trains people to do and look out for to increase security with both social engineering and technical expertise. Panelists Aimee Knight AJ O’Neal Charles Max Wood Dan Shappir Steve Edwards Guest Kevin A McGrail Sponsors ABOUT YOU | aboutyou.com/apply Split CacheFly ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links Ghost in the Wires https://www.infrashield.com/ Follow DevChatTV on Facebook and Twitter Picks Aimee Knight: The More Gender Equality, the Fewer Women in STEM AJ O’Neal: I'll Let Myself In: Tactics of Physical Pen Testers Copying Keys from Photos, Molds & More The LED Traffic Light and the Danger of "But Sometimes!" Regina Spektor The Weepies Dan Shappir: This is what happens when you reply to spam email What is Your Password? Kevin A McGrail: XKCD Security IT Crowd https://spamassassin.apache.org/ Steve Edwards: XKCD Password Generator Nerd Sniping Full Article
ai MJS 143: Paige Niedringhaus By devchat.tv Published On :: Tue, 31 Mar 2020 06:00:00 -0400 JavaScript Remote Conf 2020 May 14th to 15th - register now! Paige Niedringhaus started her career as a Digital Marketer before making the move to becoming a software developer at the Home Depot. She current works with React and Node building internal apps for them. This episode discusses the ins and outs of making that transition in a semi-recent world and community. Host: Charles Max Wood Joined By Special Guest: Paige Niedringhaus Sponsors G2i | Enjoy the luxuries of freelancing CacheFly ______________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ______________________________________ Links JSJ 398: Node 12 with Paige Niedringhaus Syntax. GitHub testing-library/react-testing-library Gatsby NextJS Interview Cake Medium - Paige Niedringhaus Follow Paige on Twitter: @pniedri Picks Paige Niedringhaus: Breville Milk Frother Stuff You Should Know Charles Max Wood: Instant Pot Sphero BB-8 Full Article
ai Agritech start-up Brainwired raises funding By www.thehindubusinessline.com Published On :: Fri, 08 May 2020 15:53:35 +0530 Agritech start-up Brainwired, which provides livestock health monitoring and tracking solution has raised undisclosed funding from Mumbai Angels. The Full Article Agri Business
ai Yet I loved Jacob [electronic resource] : reclaiming the biblical concept of election / Joel S. Kaminsky By prospero.murdoch.edu.au Published On :: Kaminsky, Joel S., 1960- Full Article
ai Yiddish fiction and the crisis of modernity, 1905-1914 [electronic resource] / Mikhail Krutikov By prospero.murdoch.edu.au Published On :: Krutikov, Mikhail Full Article
ai You failed your math test, comrade Einstein [electronic resource] : adventures and misadventures of young mathematicians or test your skills in almost recreational mathematics / edited by M. Shifman By prospero.murdoch.edu.au Published On :: Full Article
ai The young and the digital [electronic resource] : what the migration to social-network sites, games, and anytime, anywhere media means for our future / S. Craig Watkins By prospero.murdoch.edu.au Published On :: Watkins, S. Craig (Samuel Craig) Full Article
ai Young children's literacy development and the role of televisual texts [electronic resource] / Naima Browne By prospero.murdoch.edu.au Published On :: Browne, Naima Full Article
ai Young Tel Aviv [electronic resource] : a tale of two cities / Anat Helman ; translated by Haim Watzman By prospero.murdoch.edu.au Published On :: Helman, Anat Full Article
ai Your brain on Latino comics [electronic resource] : from Gus Arriola to Los Bros Hernandez / Frederick Luis Aldama By prospero.murdoch.edu.au Published On :: Aldama, Frederick Luis, 1969- Full Article
ai Yours the power [electronic resource] : faith-based organizing in the USA / edited by Katie Day, Esther McIntosh and William Storrar By prospero.murdoch.edu.au Published On :: Full Article
ai Youth employment and training programs [electronic resource] : the YEDPA years / Charles L. Betsey, Robinson G. Hollister, Jr., and Mary R. Papageorgiou, editors ; Committee on Youth Employment Programs, Commission on Behavioral and Social Sciences and Ed By prospero.murdoch.edu.au Published On :: Full Article
ai Youth employment in Sierra Leone [electronic resource] : sustainable livelihood opportunities in a post-conflict setting / Pia Peeters ... [et al.] By prospero.murdoch.edu.au Published On :: Full Article
ai Youth, HIV/AIDS, and social transformations in Africa [electronic resource] / Donald Anthony Mwiturubani ... [et al.] By prospero.murdoch.edu.au Published On :: Full Article
ai Youth, media and culture in the Asia Pacific region [electronic resource] / edited by Usha M. Rodrigues and Belinda Smaill By prospero.murdoch.edu.au Published On :: Full Article
ai Youth policy in Ukraine [electronic resource] : conclusions of the Council of Europe international review team / Ewa Krzaklewska, Howard Williamson, members of the Council of Europe International Youth Policy Review Team By prospero.murdoch.edu.au Published On :: Krzaklewska, Ewa , author Full Article
ai Youthscapes [electronic resource] : the popular, the national, the global / edited by Sunaina Maira and Elisabeth Soep By prospero.murdoch.edu.au Published On :: Full Article
ai Yuchi Indian histories before the removal era [electronic resource] / edited and with an introduction by Jason Baird Jackson By prospero.murdoch.edu.au Published On :: Full Article
ai The Yugoslav drama [electronic resource] / Mihailo Crnobrnja By prospero.murdoch.edu.au Published On :: Crnobrnja, Mihailo Full Article
ai Yugoslavia and its historians [electronic resource] : understanding the Balkan wars of the 1990s / edited by Norman M. Naimark and Holly Case By prospero.murdoch.edu.au Published On :: Full Article
ai Yupik transitions [electronic resource] : change and survival at Bering Strait, 1900-1960 / Igor Krupnik and Michael Chlenov By prospero.murdoch.edu.au Published On :: Krupnik, Igor Full Article
ai Zany, zeal, zeat and zing [electronic resource] : the z way to happiness / Zaibun By prospero.murdoch.edu.au Published On :: Zaibun Nissa Siraj Full Article
ai Zelotti's epic frescoes at Cataio [electronic resource] : the Obizzi saga / Irma B. Jaffe ; with Gernando Colombardo By prospero.murdoch.edu.au Published On :: Jaffe, Irma B Full Article
ai Zen and the brain [electronic resource] : toward an understanding of meditation and consciousness / James H. Austin By prospero.murdoch.edu.au Published On :: Austin, James H., 1925- Full Article
ai Zen-brain reflections [electronic resource] : reviewing recent developments in meditation and states of consciousness / James H. Austin By prospero.murdoch.edu.au Published On :: Austin, James H., 1925- Full Article
ai A Zen wave [electronic resource] : Basho's haiku and Zen / Robert Aitken ; foreword by W.S. Merwin By prospero.murdoch.edu.au Published On :: Aitken, Robert, 1917-2010 Full Article
ai Zeppo's first wife [electronic resource] : new and selected poems / Gail Mazur By prospero.murdoch.edu.au Published On :: Mazur, Gail Full Article
ai Zimbabwe [electronic resource] : the blame game / Tendai R. Mwanaka By prospero.murdoch.edu.au Published On :: Mwanaka, Tendai R Full Article
ai Zinc, copper, or magnesium supplementation against cadmium toxicity [electronic resource] / Vesna Matović ... [et al.] By prospero.murdoch.edu.au Published On :: Full Article
ai Global Differences in Characteristics, Precipitants, and Initial Management of Patients With Heart Failure By jamanetwork.com Published On :: Wed, 01 Apr 2020 00:00:00 GMT This cohort study compares the characteristics and management of acute heart failure in global regions comprising 44 countries. Full Article
ai A Woman in Her 20s With Chest Pain and Arm Claudication By jamanetwork.com Published On :: Wed, 01 Apr 2020 00:00:00 GMT This case report describes bilateral calcified coronary aneurysms with a significant proximal left anterior descending and right coronary artery stenoses immediately distal to the aneurysms. Full Article
ai Predicting Mortality and Morbidity in Chronic Heart Failure By jamanetwork.com Published On :: Wed, 01 Apr 2020 00:00:00 GMT This study developed and validated a prognostic prediction model for patients with heart failure. Full Article
ai Inpatient PCI Volume and Transcatheter Aortic Valve Replacement or Mitral Valve Repair Outcomes By jamanetwork.com Published On :: Wed, 01 Apr 2020 00:00:00 GMT This cross-sectional study investigates whether hospital inpatient percutaneous coronary intervention volume is associated with rates of 30-day risk-adjusted mortality and hospital readmission after transcatheter aortic valve replacement and transcatheter mitral valve repair. Full Article
ai Bad Gene Hunting—Sudden Unexplained Death and Familial Long QT Syndrome By jamanetwork.com Published On :: Wed, 01 Apr 2020 00:00:00 GMT This essay describes a physician’s experience of the sudden, unexplained death of her brother and her family’s discovery of the genetic cause. Full Article
ai McManus-Young clipping collection of materials on magic, 1870-1955 [Revised Finding Aid] By hdl.loc.gov Published On :: Wed, 18 March 2020 01:29:26 PM EDT With a date span of 1779 through 1955, the McManus-Young Collection provides a rich survey of the literature of "illusion practices," which includes works on conjuring, ventriloquism, fortune-telling, spiritualism, witchcraft, gambling, hypnotism, automata, and mind reading comprised of a gathering of thousands of pamphlets and offprints. This ephemeral literature is the backbone of modern... Full Article Finding Aid Rare Book and Special Collections Division Library of Congress Washington D.C.
ai Robert Evett collection, 1942-2001 [New Finding Aid] By hdl.loc.gov Published On :: Wed, 18 March 2020 01:29:26 PM EDT Robert Evett (1922-1975) was a composer, arts editor, and critic who made his home primarily in the Washington, D.C., area. This collection contains several scores, sketches, and instrument parts for works composed by Evett; biographical information collected by Evett's family after his death; and his published book and music reviews for the "Atlantic Monthly," "New Republic," and "Washington... Full Article Finding Aid Music Division Library of Congress Washington D.C.