de 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
de 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
de 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
de JSJ 403: Why Developers Need Social Skills with Mani Vaya By devchat.tv Published On :: Thu, 24 Oct 2019 06:00:00 -0400 In this episode of JavaScript Jabber, Charles talks about the new direction he has for the company. He wants to drive people to the point that they have the skills that make people want to hire and work with them, to teach them how to ‘Max out’. Today the panel the skills that developers need to progress in their careers: social skills. The panel talks about their observations from work that the people who advanced and grow in their career were the ones with social skills, not necessarily with technical skills. The company wants to get stuff done, and if your social skills are getting in the way of projects getting done because you can’t work with others, you are not that useful to the company, and you will be stuck in the lower ranks while others who may not have the same technical skills will rise in the ranks because they are pleasant to work with. Mani talks about his personal experience getting laid off for lacking these soft skills. But then he read the book 48 Laws of Power by Robert Green, realized his shortcomings, and started to apply just one lesson from the book. Within 6 months, he was promoted. Mani delves deeper into the first lesson taught in 48 Laws of Power, Never Outshine the Master. Fundamentally, this means that you don’t try to prove in meetings how good you are, or that they’re wrong, or that you think that you are better than them. The more you the aforementioned things, the less likely you will be to get promoted or trusted. Mani talks about how he used to do these things and how it cost him multiple jobs. When he put this lesson into practice, he changed his methods and the boss started to like him, leading to his promotion 6 months later. The panel discusses this lesson and what benefits can come from it. Mani shares another lesson that he learned through the story of a friend trying to get him to invest in his business. After Mani refused to invest multiple times, his friend stopped asking him to invest, but instead asked him for business advice. Eventually, Mani invested in the business because when he saw that his friend was influenced by his advice, it engendered trust between them. The panel agrees that if you want to influence someone, you have to be influenced by them. It is important to treat someone as a person rather than an asset or wallet, and ensure them that their investment is not their end goal. One of the most fundamental social skills that you must be able to like people, because other people can smell manipulation. The panel transitions to talking about the paradoxical nature of social skills and that they are often the opposite of what you think will work in a situation. Unfortunately, there will always be difficult people to work with. To illustrate how to work with difficult people, Mani shares the story of how Gengis Khan was convinced not to destroy a city of artists and engineers by his advisor, Yelu Chucai. Gengis Khan agreed because Yelu Chucai was able to structure his plea in a way that would also benefit Gengis Khan. The conversation shifts to how to conduct an interview to see if a candidate will fit into your team culture. First, you must know what you’re looking for and understand your team culture, and then ask for stories of when they accomplished something in the interview. If every story is all about how they did something and they don’t include other people, then that may indicate their self-centeredness. They discuss the Ben Franklin Effect. For those listeners wondering where to begin with all this self improvement, Mani has read over 2,000 books on business and offers a course on his website, 2000books.com. Mani has teamed up with JavaScript Jabber to offer a special deal to the listeners of this podcast. To get lifetime access to Mani’s courses at a 40% discount, follow the links below. Panelists Steve Edwards Charles Max Wood With special guest: Mani Vaya Sponsors React Native Radio Sentry use the code “devchat” for 2 months free on Sentry’s small plan React Round Up Links 48 Laws of Power by Robert Green The 360 Degree Leader by John C. Maxwell The Ben Franklin Effect javascriptjabber.com/social and 2000books.com 40% off for the first 200 people Coupon code: Jabber Follow DevChatTV on Facebook and Twitter Picks Steve Edwards: Rex Chapman Charles Max Wood: BombBomb IndieHackers.com Stolen bike prank Mani Vaya: How I Built This by NPR As a Man Thinketh Full Article
de JSJ 405: Machine Learning with Gant Laborde By devchat.tv Published On :: Thu, 31 Oct 2019 06:00:00 -0400 Gant Laborde is the Chief Innovation Officer of Infinite Red who is working on a course for beginners on machine learning. There is a lot of gatekeeping with machine learning, and this attitude that only people with PhDs should touch it. In spite of this, Gant thinks that in the next 5 years everyone will be using machine learning, and that it will be pioneered by web developers. One of the strong points of the web is experimentation, and Gant contrasts this to the academic approach. They conversation turns to Gant’s course on machine learning and how it is structured. He stresses the importance of understanding unicode, assembly, and other higher concepts. In his course he gives you the resources to go deeper and talks about libraries and frameworks available that can get you started right away. His first lesson is a splashdown into the jargon of machine learning, which he maps over into developer terms. After a little JavaScript kung fu, he takes some tools that are already out there and converts it into a website. Chris and Gant discuss some different uses for machine learning and how it can improve development. One of the biggest applications they see is to train the computers to figure monotonous tasks out while the human beings focus on other projects, such as watching security camera footage and identifying images. Gant restates his belief that in the next 5 years, AI will be everywhere. People will grab the boring things first, then they will go for the exciting things. Gant talks about his creation NSFW.js, an open source train model to help you catch indecent content. He and Chris discuss different applications for this technology. Next, the panel discusses where machine learning can be seen in everyday life, especially in big companies such as Google. They cite completing your sentences in an email for you as an example of machine learning. They talk about the ethics of machine learning, especially concerning security and personal data. They anticipate that the next problem is edge devices for AI, and this is where JavaScript really comes in, because security and privacy concerns require a developer mindset. They also believe that personal assistant devices, like those from Amazon and Google, will become even more personal through machine learning. They talk about some of the ways that personal assistant devices will improve through machine learning, such as recognizing your voice or understanding your accent. Their next topic of discussion is authenticity, and how computers are actually incredibly good at finding deep fakes. They discuss the practice of placing passed away people into movies as one of the applications of machine learning, and the ethics surrounding that. Since developers tend to be worried about inclusions, ethics, and the implications of things, Gant believes that these are the people he wants to have control over what AI is going to do to help build a more conscious data set. The show concludes with Gant talking about the resources to help you get started with machine learning. He is a panelist on upcoming DevChat show, Adventures in Machine Learning. He has worked with people with all kinds of skill sets and has found that it doesn’t matter how much you know, it matters how interested and passionate you are about learning. If you’re willing to put the pedal to the metal for at least a month, you can come out with a basic understanding. Chris and Gant talk about Tensorflow, which helps you take care of machine learning at a higher level for fast operations without calculus. Gant is working on putting together a course on Tensorflow. If you’re interested in machine learning, go to academy.infinite.red to sign up for Gant’s course. He also announces that they will be having a sale on Black Friday and Cyber Monday. Panelists Christopher Buecheler With special guest: Gant Laborde Sponsors React Round Up Sentry use the code “devchat” for 2 months free on Sentry’s small plan Adventures in Angular Links Machine Learning: How To go from Zero to Hero NSFW.js Tensorflow.js PyTorch Keras Academy.infinite.red Gantlaborde.com Follow DevChatTV on Facebook and Twitter Picks Christopher Buecheler: Next.js Big Wreck, But For The Sun Gant Laborde: Nicornot.com Free 5 day mini course on academy.infinite.red Full Article
de JSJ 406: Security in Node By devchat.tv Published On :: Tue, 05 Nov 2019 05:00:00 -0500 Today the panel is talking about security features that are being added to Node 13. AJ talks about the background and what he’s working with Let’s Encrypt. He talks about changes that Node has made to the TLS module. TLS is a handshake that happens between a client and a server. They exchange certificates, generate some random numbers to use for encryption, and TLS handles the encryption. The move to HTTP/2 is all about fixing legacy bugs and legacy features from the SSL days and reducing the number of handshakes. AJ talks about the difference between TLS and HTTPS. While TLS reduces the handshakes between client and server, HTTPS is just HTTP and has no knowledge that TLS is going on. HTTP/2 is more baked in as both encryption and compression are part of the specification and you get it automatically. HTTP/2 is also supposed to be faster because there’s fewer handshakes, and you can build heuristic based web servers. Since browsers have varying degrees of compatibility, a smart HTTP/2 server will classify the browser and anticipate what files to send to a client based on behavior and characteristics without the client requesting them A lot of these new features will be built into Node, in addition to some other notable features. First, there will now be set context on the TLS object. Second, if you’re connected to a server, and the server manages multiple domains, the certificate will have multiple names on it. Previously, each different server name had a different network request, but now a .gitcertificate will let you get all the metadata about the certificate, including the primary domain and all the secondary domains and reuse the connections. These new features are a great improvement on the old Node. Previously, the TLS module in Node has been an absolute mess. These are APIs that have been long neglected, and are long overdue core editions to Node. Because of these additions, Node Crypto has finally become usable. HTTP/2 is now stable, usable, and has backwards compatable API, and a dictionary of headers to make it more efficient in compression. The conversation turns back to certificates, and AJ explains what a certificate is and what it represents. A certificate has on it a subject, which is a field which contains things like common name, which in the case of HTTPS is the server name or host name. then it will have subject alternative names (SAN), which will have a list of other names that are valid on that certificate. Also included on the certificate is the name of the authority that issued the certificate. AJ talks about some of the different types of certificates, such as DV, OV, and EV certificates. They differentiate between encryption and hashing. Hashing is for verifying the integrity of data, while encryption can be used either as signing to verify identity or to keep data owned privately to the parties that are part of the connection. Encryption does not necessarily guarantee that the data is the original data. The show concludes with AJ talking about how he wants to make encryption available to the average person so that everyone can share securely. Panelists Steve Edwards AJ O’Neal Charles Max Wood Sponsors Tidelift Sentry use the code “devchat” for 2 months free on Sentry’s small plan Ruby Rogues Links Let’s Encrypt Greenlock HTTP/2 Node.js Node Crypto JWK LZMA Gzip Broccoli.js HTTPS GCM ASN.1 OWASP list jwt.io Diffie Hellman Key Exchange Khana Academy Diffie-Hellman Key Exchange pt.2 Follow DevChatTV on Facebook and Twitter Picks Steve Edwards: Panasonic SD-YD250 bread machine AJ O’Neal: Greenlock v.3 Samsung Evo 4 TOB paired with 2012 Macbook Pro Dave Ramsey on Christian Healthcare Ministries Charles Max Wood: Velcro straps Mac Pro Upgrade Guide Full Article
de JSJ 407: Reactive JavaScript and Storybook with Dean Radcliffe By devchat.tv Published On :: Tue, 12 Nov 2019 06:00:00 -0500 Dean is a developer from Chicago and was previously on React Round Up 083. Today he has come over to JavaScript Jabber to talk about reactive programming and Storybook. Reactive programming is the opposite of imperative programming, where it will change exactly when needed instead of change only when told to. Reactivity existed long before React, and Dean talks about his history with reactive programming. He illustrates this difference by talking about Trello and Jira. In Trello, as you move cards from swimlane to another swimlane, everyone on the board sees those changes right away. In Jira, if you have 11 tabs open, and you update data in one tab, probably 10 of your tabs are stale now and you might have to refresh. Reactive programming is the difference between Trello and Jira. The panel discusses why reactive JavaScript is not more widely used. People now tend to look for more focused tools to solve a particular part of the problem than an all in one tool like Meteor.js. Dean talks about the problems that Storybook solves. Storybook has hot reloading environments in frontend components, so you don’t need the backend to run. Storybook also allows you to create a catalogue of UI states. JC and Dean talk about how Storybook could create opportunities for collaboration between engineers and designers. They discuss some causes of breakage that automation could help solve, such as styles not being applied properly and internationalization issues. Dean shares how to solve some network issues, such as having operators in RxJs. RxJs is useful for overlapping calls because it was built with cancelability from the beginning. Dean talks about his tool Storybook Animate, which allows you to see what the user sees. Storybook is an actively updated product, and Dean talks about how to get started with it. The show concludes with Dean talking about some things coming down the pipe and how he is actively involved in looking for good general solutions to help people write bulletproof code. Panelists JC Hiatt With special guest: Dean Radcliffe Sponsors Hasura, Inc. Sentry use the code “devchat” for 2 months free on Sentry’s small plan Adventures in Angular ________________________________________________________________________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood will be out on November 20th on Amazon. Get your copy on that date only for $1. ________________________________________________________________________________________________________________________ Links RRU 083 Knockout.js Node.js Meteor.js RXJS Storybook Animate RX Helper library Follow DevChatTV on Facebook and Twitter Picks JC Hiatt: Joker DevLifts Dean Radcliffe: Twitter @deaniusol and Github @deanius The Keyframers Action for Healthy Kids Full Article
de JSJ 408: Reading Source Code with Carl Mungazi By devchat.tv Published On :: Tue, 19 Nov 2019 06:00:00 -0500 Carl Mungazi is a frontend developer at Limejump in London. He is a former journalist and switched to programming in 2016. Today the panel is discussing the benefits of reading source code. Carl began reading source code because he came into programming late and from a different field. His first project was with Mithril, and he read the source code and documentation to help him understand it. The panelists discuss how reading the source code has helped them and others to improve their coding. They compare reading and understanding source code to learning a foreign language, and discuss different methods. Carl gives some suggestions for reading source code effectively. He advises people to be patient and step through the code. Accept that you will probably take a wrong path at some point or another, but the more you read, the more you will see patterns in how libraries are structured. He also encourages listeners to approach the authors, as they are often happy to lend a hand. Reading source code is an active approach of stepping through, debugging, putting in break points, checking the stack, and so forth. It’s also important to do outside research. Since he has been reading source code, Carl has come to prefer plain JavaScript and libraries with as little code as possible. The panel discusses the benefits of small, simple libraries. Carl gives examples of techniques that he learned from reading a library source code and how he applied it to his own coding style. Reading source code has made him more careful about mixing logic and UI, and now he separates them. He also is more confident in seeing a problem, going to a preexisting library, and just importing the fix for that problem rather than the whole library. Reading source code is really about understanding the code you use in your project. It may slow you down, but you’ll be thankful in the long term because it will help you solve future bugs more efficiently. Carl talks more about his debugging process. He still relies on a debugger, but reading a library helps you to see patterns and guess the output of a function. These patterns persist in other libraries as well. Once you can guess correctly what will happen, you go back to reading the code and find instances where the output is unexpected, and fix it. Carl’s closing thoughts are that through reading source code, he has learned that although code is used differently in each library, they are all written in the same language, and therefore interrelated. This gave him more confidence in reading code because they’re all fundamentally the same. When a bug is discovered, he encourages listeners to look at the source code before googling a solution. Panelists AJ O’Neal Dan Shapir Steve Edwards Charles Max Wood Guest Carl Mungazi Sponsors Hasura.io Sentry | Use the code “devchat” for $100 credit Adventures in Angular Links Mithril.js Preact Limejump Picks AJ O’Neal Zen of Python The Go Proverbs Go with Versions Link’s Awakening soundtrack Dan Shapir Programming Pearls book Lord of Light Steve Edwards Jabra Elite 65T Charles Max Wood Garth Brooks The Rocky movies Carl Mungazi Follow Carl @CarlMungazi and carlmungazi.com EcmaScript Spec HTML 5.2 Snarky Puppy Full Article
de The MaxCoders Guide To Finding Your Dream Developer Job By devchat.tv Published On :: Wed, 20 Nov 2019 14:48:00 -0500 "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is available on Amazon. Get your copy here today only for $2.99! Full Article
de The MaxCoders Guide To Finding Your Dream Developer Job By devchat.tv Published On :: Wed, 20 Nov 2019 15:01:00 -0500 "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is available on Amazon. Get your copy here today only for $2.99! Full Article
de JSJ 416: GraphQL Developer Tools with Sean Grove By devchat.tv Published On :: Tue, 14 Jan 2020 06:00:00 -0500 In this episode of JavaScript Jabber the panel interviews Sean Grove from OneGraph; asking him questions about GraphQL tooling and common complaints about GraphQL. Sean starts by explaining what GraphQL is and how it benefits frontend developers. GraphiQL is a frontend open sourced tool produced by OneGraph, Sean explains how this handy tool simplifies GraphQL. Authentication and authorization are one of the biggest criticisms of GraphQL. Sean walks the panel through the solution, getting a schema definition language and adding directives to build a simple authentication and authorization. The panel defines authentication and authorization and explains the difference. The next issue common with GraphQL that the panel discusses is migration. Sean explains how OneGraph helps with migration using a Rust network layer and how it works. They also discuss how to migrate without this tool. Without the tool it is painful and he recommends incremental migration. Sean explains that another problem in GraphQL is poor documentation. He explains why the documentation is poor and explains how they hope to fix it at OneGraph. The last issue they cover is the length of queries. Sean tells the panel how they can handle this problem with depth analysis or persistent queries. The episode ends with an elevator pitch for Reason. Panelists Aimee Knight AJ O’Neal Charles Max Wood Dan Shappir Guest Sean Grove Sponsors 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 https://github.com/graphql/graphiql https://devchat.tv/js-jabber/jsj-401-hasura-with-tanmai-gopal/ Follow DevChatTV on Facebook and Twitter Picks Aimee Knight: http://ergonomictrends.com/hand-wrist-exercises-computer-users/ Cats in your lap AJ O’Neal: The Grievance Studies Affair Go Proverbs Music Dan Shappir: Guatemala Tigana Sean Grove: Yuki Li: “Breaking Out of Box” Charles Max Wood: A Christmas Story Rudolf the Red-Nosed Reindeer The Little Drummer Boy Santa Claus Is Comin' to Town The Ultimate Gift Frosty the Snowman Full Article
de MJS 136: Kaelig Deloumeau-Prigent By devchat.tv Published On :: Tue, 11 Feb 2020 06:00:00 -0500 This My JavaScript Story episode is a discussion with Kaelig Deloumeau-Prigent. Kaelig works on the Polaris design system from Shopify. We walk through his journey into programming, HTML, and CSS. We wander through is career until he was building design systems at Shopify. Host: Charles Max Wood Joined By Special Guest: Kaelig Deloumeau-Pregent Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan 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 397: Design Systems with Kaelig Deloumeau-Prigent Design Tokens Community Group JSJ 388: Functional Programming with Brian Lonsdorf Polaris Picks Kaelig Deloumeau-Prigent: The Courage to Be Disliked Charles Max Wood: The Name of The Wind Full Article
de JSJ 426: Killing the Release Night with Progressive Delivery with Dave Karow By devchat.tv Published On :: Tue, 24 Mar 2020 06:00:00 -0400 JavaScript Remote Conf 2020 May 14th to 15th - register now! Dave Karow is a developer evangelist for Split. He dives into how you can deliver software sustainably without burning out. His background is in performance and he's moved into smooth deliveries. He pushes the ideas behind continuous delivery and how to avoid getting paid to stay late in "free" pizzas. Panel AJ O’Neal Aimee Knight Charles Max Wood Dan Shappir Guest Dave Karow Sponsors G2i | Enjoy the luxuries of freelancing Taiko - free and open source browser test automation CacheFly ____________________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links Split.io Continuous Delivery zeit.co The Practical Test Pyramid Accelerate The Unicorn Project Ender's Game Ender's Shadow Atlassian Summit DeliveryConf JSJ 418: Security Scary Stories and How to Avoid Them with Kevin A McGrail Feature toggle split.io Dave Karow Progressive Delivery Speaker Deck Dave Karow Learn Enough Command Line to Be Dangerous Beyond Code Bootcamp Picks Aimee Knight: Designing for Performance Early Riser or Night Owl? Dan Shappir: web.dev AJ O’Neal: CineRAID CR-H458 DataCenter 8TB Drives Tiltamax Wireless Follow Focus System Charles Max Wood The Expanse Course Creator PRO Dave Karow: Accelerate Follow JavaScript Jabber on Twitter > @JSJabb Full Article
de JSJ 427: How to Start a Side Hustle as a Programmer with Mani Vaya By devchat.tv Published On :: Tue, 31 Mar 2020 06:00:00 -0400 JavaScript Remote Conf 2020 May 14th to 15th - register now! Mani Vaya joins Charles Max Wood to talk about how developers can add the enterepreneur hat to the others they wear by starting a side gig. They discuss various ideas around entrepreneurship, the books they got them from, and how they've applied them in their own businesses. Panel Charles Max Wood Guest Mani Vaya Sponsors Taiko __________________________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! __________________________________________________ Picks Mani Vaya: Good to Great The Lean Startup Charles Max Wood: Expert Secrets The Masked Singer Follow JavaScript Jabber on Twitter > @JSJabbber Full Article
de JSJ 431: Personal Branding for Developers with Morad Stern By devchat.tv Published On :: Tue, 28 Apr 2020 06:00:00 -0400 JavaScript Remote Conf 2020 May 13th to 15th - register now! The JSJ panel talks with Morad Stern from Wix about personal branding; what it is, why it’s important for developers, and how to build it. Panel Steve Edwards AJ O’Neal Dan Shappir Guest Morad Stern Sponsors Taiko Educative.io | Click here for 10% discount "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! Links Obama asks America to learn computer science Configuring Apache Solr Multi-core With Drupal and Tomcat on Ubuntu 9.10 Picks AJ O’Neal: Follow AJ on Twitter > @coolaj86 War Stories | How Crash Bandicoot Hacked The Original Playstation Crash Bandicoot Co-Creator Andy Gavin: Extended Interview | Ars Technica The Story of Spyro the Dragon | Gaming Historian Utah Node.js: Scaling Node.js at Plaid Steve Edwards: Follow Steve on Twitter > @wonder95, Website Six13 Uptown Passover - an "Uptown Funk" adaptation for Pesach Dan Shappir: Follow Dan on Twitter > @DanShappir Scott Lynch Morad Stern: Follow Morad on Twitter > @morad This Is Marketing: You Can't Be Seen Until You Learn to See: Seth Godin Follow JavaScript Jabber on Twitter > @JSJabber Full Article
de Yeats's poetic codes [electronic resource] / Nicholas Grene By prospero.murdoch.edu.au Published On :: Grene, Nicholas Full Article
de The Yehud stamp impressions [electronic resource] : a corpus of inscribed impressions from the Persian and Hellenistic periods in Judah / Oded Lipschits and David S. Vanderhooft By prospero.murdoch.edu.au Published On :: Lipschitz, Oded Full Article
de Yerkes Observatory, 1892-1950 [electronic resource] : the birth, near death, and resurrection of a scientific research institution / Donald E. Osterbrock By prospero.murdoch.edu.au Published On :: Osterbrock, Donald E Full Article
de Yeshiva fundamentalism [electronic resource] : piety, gender, and resistance in the ultra-Orthodox world / Nurit Stadler By prospero.murdoch.edu.au Published On :: Stadler, Nurit Full Article
de Yiddish fiction and the crisis of modernity, 1905-1914 [electronic resource] / Mikhail Krutikov By prospero.murdoch.edu.au Published On :: Krutikov, Mikhail Full Article
de Yielding gender [electronic resource] : feminism, deconstruction, and the history of philosophy / Penelope Deutscher By prospero.murdoch.edu.au Published On :: Deutscher, Penelope, 1966- Full Article
de Yii 1.1 application development cookbook [electronic resource] / Alexander Makarov By prospero.murdoch.edu.au Published On :: Makarov, Aleksandr Full Article
de Yii rapid application development hotshot [electronic resource] : become a RAD hotshot with Yii, the world's most popular PHP framework / Lauren J. O'Meara, James R. Hamilton III By prospero.murdoch.edu.au Published On :: O'Meara, Lauren J Full Article
de The yipping tiger and other tales from the neuropsychiatric clinic [electronic resource] / Perminder Sachdev By prospero.murdoch.edu.au Published On :: Sachdev, Perminder Full Article
de Yoga for children with autism spectrum disorders [electronic resource] : a step-by-step guide for parents and caregivers / Dion E. Betts and Stacey W. Betts ; forewords by Louise Goldberg and Joshua S. Betts By prospero.murdoch.edu.au Published On :: Betts, Dion E. (Dion Emile), 1963- Full Article
de You did that on purpose [electronic resource] : understanding and changing children's aggression / Cynthia Hudley By prospero.murdoch.edu.au Published On :: Hudley, Cynthia Full Article
de 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
de You gotta deal with it [electronic resource] : Black family relations in a Southern community / Theodore R. Kennedy By prospero.murdoch.edu.au Published On :: Kennedy, Theodore R., 1936- Full Article
de You should see yourself [electronic resource] : Jewish identity in postmodern American culture / edited by Vincent Brook By prospero.murdoch.edu.au Published On :: Full Article
de Young adult poetry [electronic resource] : a survey and theme guide / Rachel Schwedt and Janice DeLong ; foreword by Mel Glenn By prospero.murdoch.edu.au Published On :: Schwedt, Rachel E., 1944- Full Article
de Young adults deserve the best [electronic resource] : YALSA's competencies in action / Sarah Flowers for the Young Adult Library Services Association By prospero.murdoch.edu.au Published On :: Flowers, Sarah, 1952- Full Article
de Young and defiant in Tehran [electronic resource] / Shahram Khosravi By prospero.murdoch.edu.au Published On :: Khosravi, Shahram Full Article
de Young British muslims [electronic resource] : identity, culture, politics and the media / Nahid Afrose Kabir By prospero.murdoch.edu.au Published On :: Kabir, Nahid Afrose Full Article
de Young child observation [electronic resource] : a development in the theory and method of infant observation / edited by Simonetta M. G. Adamo and Margaret Rustin By prospero.murdoch.edu.au Published On :: Full Article
de Young children's health and well-being [electronic resource] / Angela Underdown By prospero.murdoch.edu.au Published On :: Underdown, Angela Full Article
de 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
de Young driver accidents and delinquency [electronic resource] : modeling and general theories of crime / Steven J. Ellwanger By prospero.murdoch.edu.au Published On :: Ellwanger, Steven J., 1971- Full Article
de A young Dutchman views post-Civil War America [electronic resource] : diary of Claude August Crommelin / Claude August Crommelin ; translated by Augustus J. Veenendaal, Jr. ; edited with an introduction by Augustus J. Veenendaal, Jr., and H. Roger Grant By prospero.murdoch.edu.au Published On :: Crommelin, Claude August, 1840-1874 Full Article
de The Young Lords [electronic resource] : a reader / edited by Darrel Enck-Wanzer ; foreword by Iris Morales and Denise Oliver-Velez By prospero.murdoch.edu.au Published On :: Full Article
de Young measures and compactness in measure spaces [electronic resource] / by Liviu C. Florescu, Christiane Godet-Thobie By prospero.murdoch.edu.au Published On :: Florescu, Liviu C Full Article
de The young professional's survival guide [electronic resource] : from cab fares to moral snares / C.K. Gunsalus By prospero.murdoch.edu.au Published On :: Gunsalus, C. K Full Article
de The young reader's Catlin [electronic resource] : My life among the Indians / George Catlin; Edited by M.G. Humphreys By prospero.murdoch.edu.au Published On :: Catlin, George, 1796-1872 Full Article
de Younger people with dementia [electronic resource] : planning, practice, and development / edited by Sylvia Cox and John Keady ; foreword by Mary Marshall By prospero.murdoch.edu.au Published On :: Full Article
de Youngest recruits [electronic resource] : pre-war, war & post-war experiences in Western Côte d'Ivoire / Magali Chelpi-den Hamer By prospero.murdoch.edu.au Published On :: Chelpi-den Hamer, Magali Full Article
de Your boss is not your mother [electronic resource] : eight steps to eliminating office drama and creating positive relationships at work / Debra Mandel By prospero.murdoch.edu.au Published On :: Mandel, Debra Full Article
de 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
de Your chemical science thesis [electronic resource] : an introductory guide to writing up your research project / [written and edited by Natalie Mansfield] By prospero.murdoch.edu.au Published On :: Mansfield, Natalie Full Article
de Your Internet cash machine [electronic resource] : the insiders' guide to making big money, fast! / Joe Vitale, Jillian Coleman Wheeler By prospero.murdoch.edu.au Published On :: Vitale, Joe, 1953- Full Article
de Your options handbook [electronic resource] : the practical reference and strategy guide to trading options / Jared A. Levy By prospero.murdoch.edu.au Published On :: Levy, Jared, 1976- Full Article
de Youth and nation-building in Cameroon [electronic resource] : a study of National Youth Day messages and leadership discourse (1949-2009) / by Churchill Ewumbue-Monono By prospero.murdoch.edu.au Published On :: Ewumbue-Monono, Churchill, 1961- Full Article