JavaScript Jabber

JavaScript Jabber

Download on the App Store

JavaScript Jabber episodes

  • MJS 128: Mike Hartington

    In this episode of My JavaScript Story is Charles talks to Mike Hartington. Mike Hartington is a Developer Advocate for Ionic Framework and a Google Developer Expert, but he is most famous in the developer community because of his beard.

    Charles asks how Mike got introduced to development. Mike tried to code Tic-Tac-Toe and that was a challenge because knowing the rules to the game and trying to tell a computer the rules are two very two different things.

    Mike then majored in Graphic Design at Rhode Island College, and started learning Flash and ActionScript. Mike talks about what kind of projects he created with Flash and ActionScript and then the process of teaching himself JavaScript.

    Host: Charles Max Wood

    Joined by Special Guest: Mike Hartington

    Links
    • Mike's Twitter

    • Ionic

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

      • Adventures in DevOps

      • Adventures in Blockchain

      • CacheFly

        Picks

         Mike Hartington

        • Star Wars: The Rise of Skywalker Trailer

          Charles Max Wood:

          • Atomic Habits by James Clear

          • Superfans by Pat Flynn

            41 min
          • MJS 128: Mike Hartington

            In this episode of My JavaScript Story is Charles talks to Mike Hartington. Mike Hartington is a Developer Advocate for Ionic Framework and a Google Developer Expert, but he is most famous in the developer community because of his beard.

            Charles asks how Mike got introduced to development. Mike tried to code Tic-Tac-Toe and that was a challenge because knowing the rules to the game and trying to tell a computer the rules are two very two different things.

            Mike then majored in Graphic Design at Rhode Island College, and started learning Flash and ActionScript. Mike talks about what kind of projects he created with Flash and ActionScript and then the process of teaching himself JavaScript.

            Host: Charles Max Wood

            Joined by Special Guest: Mike Hartington

            Links
            • Mike's Twitter

            • Ionic

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

              • Adventures in DevOps

              • Adventures in Blockchain

              • CacheFly

                Picks

                 Mike Hartington

                • Star Wars: The Rise of Skywalker Trailer

                  Charles Max Wood:

                  • Atomic Habits by James Clear

                  • Superfans by Pat Flynn

                    41 min
                  • JSJ 401: Hasura with Tanmai Gopal
                    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 GopalSponsors
                    • 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 PicksAJ 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
                    Special Guest: Tanmai Gopal.

                    Support this podcast at — https://redcircle.com/javascript-jabber/donations

                    Privacy & Opt-Out: https://redcircle.com/privacy

                    Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
                    1 hr 11 min
                  • JSJ 400: The Influence of JavaScript Jabber
                    JavaScript Jabber celebrates its 400th episode with former host Dave Smith and some other familiar voices. Each of the panelists talks about what they’ve been up to. Dave hasn’t been on the show for 3 years, but he and Jameson Dance have started a podcast called Soft Skills Engineering where they answer questions about the non-technical side of engineering. When he left the show he was the director of engineering on Hire View, and currently he works for Amazon on Alexa. Christopher Buecheler has been on several JSJ, RRU, and MJS episodes. His time is divided between contracting for startups and his own company closebrace.com, a tutorial and resource site for JavaScript developers.  Dan Shapir has also been on JSJ as a guest, and is currently works for Wix doing performance tech. He enjoys speaking at conferences, such as JS Camp in Bucharest, Romania and the YGLF conference. Steve Edwards was previously on MJS 078. He started on Drupal in the PHP world, switched to JavaScript, and then a few years ago he started looking at Vue. Now he does Vue fulltime for ImageWare Systems.As for Charles, his primary focus is the podcasts, since DevChat.tv produces around 20 episodes per week. 5 new shows were started in July, and he talks about some of the challenges that that brought. One of his most popular shows recently was JSJ 389: What makes a 10x Engineer? This helped him realize that he wants to help teach people how to be a successful engineer, so he’s working on launching a new show about it. The panelists share some of their favorite JSJ episodes. They discuss the tendency of JSJ to get early access to these fascinating people when the conversation was just beginning, such as the inventor of Redux Dan Abramov, before their rise to stardom. The talk about the rise in popularity of podcasting in general. They agree that even though JavaScript is evolving and changing quickly, it’s still helpful to listen to old episodes. Charles talks about the influence JavaScript Jabber has had on other podcasts. It has spawned several spinoffs, including My JavaScript Story. He’s had several hosts start their own DevChat.tv shows based off JavaScript Jabber, including Adventures in Angular and The DevEd Podcast. JavaScript Jabber has also been the inspiration for other podcasts that aren’t part of DevChat.tv. There aren’t many podcast companies that produce as many shows as they do and they’re developing their own tools. DevChat.tv moved off of WordPress and is in the process of moving over to Podwrench. Charles talks about all the new shows that have been launched, and his view on ‘competing’ podcasts. Charles is also considering doing an audio drama that happens in a programming office, so if you would like to write and/or voice that  show, he invites you to contact him. The show concludes with the panel talking about the projects they’ve been working on that they want listeners to check out. Christopher invites listeners to check out closebrace.com. He also has plans to write a short ebook on unit testing with jest, considered doing his own podcast, and invites people to check out his fiction books on his website. Dan talks about his involvement with Wix, a drag and drop website service, that recently released a technology called Corvid which lets you write JS into the website you build with Wix. This means you can design your user interface using Wix, but then automate it, add events functionality, etc. Dan is also going to be at the Chrome Dev Summit conference. Dave invites listeners to check out the Soft Skills Engineering podcast, and Charles invites listeners to subscribe to his new site maxcoders.io. Panelists
                    - Dan Shapir
                    - Christopher Buecheler
                    - Steve Edwards
                    - Dave Smith
                    - Charles Max Wood
                    Sponsors
                    - https://tidelift.com/
                    - http://sentry.io/ use the code “devchat” for 2 months free on Sentry’s small plan
                    - https://devchat.tv/adventures-in-dotnet/
                    Links
                    - https://devchat.tv/dev-rev/
                    - https://devchat.tv/my-javascript-story/mjs-099-christopher-buecheler/
                    - https://devchat.tv/js-jabber/jsj-338-its-supposed-to-hurt-get-outside-of-your-comfort-zone-to-master-your-craft-with-christopher-buecheler/#viewport
                    - https://devchat.tv/react-round-up/rru-029-christopher-buecheler-getting-ready-to-teach-lessons-learned-from-building-an-84-tutorial-software-course/#viewport
                    - https://devchat.tv/my-javascript-story/mjs-108-dan-shappir/#viewport
                    - https://devchat.tv/js-jabber/jsj-334-web-performance-api-with-dan-shappir/#viewport
                    - https://devchat.tv/js-jabber/jsj-371-the-benefits-and-challenges-of-server-side-rendering-ssr-with-dan-shappir/#viewport
                    - https://devchat.tv/my-javascript-story/mjs-078-steve-edwards/#viewport
                    - https://devchat.tv/js-jabber/179-jsj-redux-and-react-with-dan-abramov/
                    - https://devchat.tv/js-jabber/187-jsj-vue-js-with-evan-you/
                    - https://devchat.tv/js-jabber/jsj-383-what-is-javascript/
                    - https://devchat.tv/js-jabber/jsj-385-what-can-you-build-with-javascript/
                    - https://devchat.tv/js-jabber/jsj-390-transposit-with-adam-leventhal/
                    - https://devchat.tv/js-jabber/jsj-395-the-new-ember-with-mike-north/
                    - https://devchat.tv/js-jabber/220-jsj-teaching-javascript-with-kyle-simpson/
                    - https://devchat.tv/js-jabber/jsj-313-light-functional-javascript-with-kyle-simpson/
                    - https://devchat.tv/js-jabber/124-jsj-the-origin-of-javascript-with-brendan-eich/
                    - https://devchat.tv/js-jabber/073-jsj-react-with-pete-hunt-and-jordan-walke/
                    - https://devchat.tv/js-jabber/jsj-392-the-murky-past-and-misty-future-of-javascript-with-douglas-crockford/
                    - https://player.fm/series/all-javascript-podcasts-by-devchattv/jsj-391-debugging-with-todd-gardner
                    - https://devchat.tv/js-jabber/jsj-389-what-makes-a-10x-engineer/
                    - http://cwbuecheler.com/
                    - https://closebrace.com
                    - https://www.wix.com/corvid 
                    - https://softskills.audio/
                    - https://maxcoders.io/                                                                                                                                                                          
                    Follow DevChatTV on https://www.facebook.com/DevChattv/?__tn__=%2Cd%2CP-R&eid=ARDBDrBnK71PDmx_8gE_IeIEo5SnM7cyzylVBjAwfaOo1ck_6q3GXuRBfaUQZaWVvFGyEVjrhDwnS_tV and https://twitter.com/devchattv?lang=en PicksSteve Edwards:
                    - https://github.com/formio/formio
                    Christopher Buecheler:
                    - https://www.apollographql.com/docs/apollo-server/testing/graphql-playground/
                    - https://twitter.com/TheTimeCowboy Jake Lawrence
                    Charles Max Wood:
                    - https://www.stgeorgemarathon.com/
                    -

                    Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
                    1 hr 11 min
                  • MJS 127: Thorsten Lünborg

                    In this episode of My JavaScript Story, Charles talks to Thorsten Lünborg. Thorsten is a Business Service Manager at MVV Energy Solutions from Frankfurt Germany. Charles asks about Thorsten's developer journey in particular how he was introduced to JavaScript.

                    Thorsten is also a core team member for Vue.js and he talks about his involvement with the Vue community. Thorsten mainly focuses on working on Vue CLI and answering questions in forums. He describes the Vue community as a very friendly and helpful one. According to Thorsten, Vue is very stable and seems to satisfy a lot of the needs of Vue community and so people are not looking for the "next best thing" with Vue. Out of all the frameworks i tried to learn, i found Vue was the one that i liked the most and i started answering questions about Vue on the forums.

                    Host: Charles Max Wood

                    Joined by Special Guest: Thorsten Lünborg

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

                    • Sustain Our Software

                    • Adventures in DevOps

                    • CacheFly

                      Links
                      • VoV 060: Our Least Favorite Parts of Vue with An Phan and Thorsten Lunborg

                      • VoV 022: How I became a Vue.js core team member without a professional background‌ with Thorsten Luenborg

                      • Thorsten's Twitter

                        Picks

                        Thorsten Lünborg

                        • Preacher TV Series

                        • Borderlands 3

                        • Vue.js London 2019

                        • https://github.com/vuejs/rfcs

                          Charles Max Wood

                          • Running a Marathon

                          • Honeywell wifi thermometer

                            37 min
                          • JSJ 399: Debugging with Async/Await with Valeri Karpov
                            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 KarpovSponsors
                            • 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 PicksAJ 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
                            Special Guest: Valeri Karpov.

                            Support this podcast at — https://redcircle.com/javascript-jabber/donations

                            Privacy & Opt-Out: https://redcircle.com/privacy

                            Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
                            1 hr 4 min
                          • JSJ 398: Node 12 with Paige Niedringhaus
                            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 NiedringhausSponsors
                            • 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 PicksJ.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 Special Guest: Paige Niedringhaus.

                            Support this podcast at — https://redcircle.com/javascript-jabber/donations

                            Privacy & Opt-Out: https://redcircle.com/privacy

                            Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
                            1 hr 5 min
                          • MJS 126: Eduardo San Martin Morote

                            In this episode of My JavaScript Story is Charles talks to Eduardo San Martin Morote. Eduardo is a freelance developer, a core team member of Vue.js, and loves contributing to open source. Eduardo started web development with games. He then majored in Computer Science and Mathematics.

                            Eduardo works as a freelancer so he can work on Open Source projects in his free time. One of the problems he draws attention to is the sustainability of Open Source Projects. The developers that maintain the projects on Open Source are not funded, and even though many companies use Open Source code they don't have sponsor it even though they have the financial means to do so.

                            Charles Max Wood recommends another podcast Devchat.tv hosts, Sustain Our Software that addresses this problem among others for Open Source.

                            Eduardo and Charles talk about characters that have accents that have to be encoded and how they deal with this problem. Eduardo then talks about some of the projects he is working on currently with Vue.js.

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

                            • Adventures in Blockchain

                            • Adventures in DevOps

                            • CacheFly

                              Host: Charles Max Wood

                              Joined by Special Guest: Eduardo San Martin Morote

                              Links
                              • VoV 038: Webassembly and Typescript with Eduardo San Martin Morote

                              • VoV 010: “Vue Libraries, Open Source, Meetups” with Eduardo San Martin Morote

                              • Eduardo's LİnkedIn

                              • Eduardo's Twitter

                              • J2EE

                              • jQuery

                                Picks

                                Eduardo San Martin Morote

                                • Tajin

                                • Eduardo's GitHub

                                  Charles Max Wood

                                  • Subscribers

                                  • Subscribe to your favorite podcast on Devchat.tv

                                  • https://canny.io

                                  • Suggest a Topic or a Guest for your Favorite Podcast on Devchat.tv by clicking on Suggest A Topic Or Guest

                                    36 min
                                  • JSJ 397: Design Systems with Kaelig Deloumeau-Prigent
                                    Kaelig Deloumeau-Prigent is a self taught web developer from west France. He has worked for BBC, The Guardian, and The Financial Times in the UK. He has also worked in the US for SalesForce and currently works for Shopify on their Polaris design system. Shopify has multiple design systems, and Polaris is open source. Today the panel is talking about design systems and developer tooling around design systems. To begin, Kaelig explains what a design system is. A design system is all of the cultural practices around design and shipping a product. It includes things like the words, colors, spacing grid system, and typography, plus guidance on how to achieve that in code. The panelists discuss what has made design systems so popular. Design systems have been around for a while, but became popular due to the shift to components, which has been accelerated by the popularity of React. The term design system is also misused by a lot of people, for it is much more than having a Sketch file. Next, they talk about whether design systems fall under the jurisdiction of a frontend developer or web designers. Kaelig has found that a successful design system involves a little bit of everyone and shouldn’t be isolated to one team. They talk about what the developer workflow looks like in a design system. It begins with thinking of a few common rules, a language, and putting it into code. As you scale, design systems can become quite large and it’s impossible for one person to know everything. You either give into the chaos, or you start a devops practice where people start to think about how we build, release, and the path from designer’s brain to production.The panelists then talk about how to introduce a design system into a company where there are cultural conflicts. Kaelig shares his experience working with SalesForce and introducing a design system there. They discuss what aspects of a design system that would make people want to use it over what the team is currently doing. Usually teams are thankful for the design system. It’s important to build a system that’s complete, flexible, and extensible so that you can adapt it to your team. A good design system incorporates ‘subatomic’ parts like the grid system, color palette, and typography, referred to as design tokens. Design systems enable people to take just the bits of the design system that are interesting to them and build the components that are missing more easily. The conversation turns to the installation and upgrade process of a design system. Upgrading is left up to the customer to do on their own time in most cases, unless it’s one of the big customers. They talk about the role of components in upgrading a design system. Kaelig talks about the possibility of Shopify transitioning to web components. Kaelig shares some of his favorite tools for making a design system and how to get started making one. A lot of design teams start by taking a ton of screen shots and looking at all the inconsistencies.Giving them that visibility is a good thing because it helps get everyone get on the same page. The panelists talk about the role of upper management in developing components and how to prioritize feature development. Kaelig talks about what drives the decision to take a feature out. The two main reasons a feature would be removed is because the company wants to change the way things are done and there’s a different need that has arisen. The show concludes by discussing the possibility of a design system getting bloated over time. Kaelig says that Design systems takes some of the burden off your team, help prevent things from getting bloated, allow you to ship less code. Panelists
                                    • Chris Ferdinandi
                                    • Aimee Knight
                                    • Steve Emmerich
                                    With special guest: Kaelig Deloumeau-PrigentSponsors
                                    • Sustain Our Software
                                    • Sentry use the code “devchat” for 2 months free on Sentry’s small plan
                                    • Adventures in Blockchain
                                    Links
                                    • Shopify Polaris
                                    • Bootstrap
                                    • React
                                    • Sketch.ui
                                    • Figma.ui 
                                    • CSS
                                    • StoryBook
                                    • ESLint
                                    • Jest
                                    • Ensign
                                    • Webpacker
                                    Follow DevChatTV on Facebook and Twitter PicksSteve Emmerich:
                                    • CedarWorks play beds 
                                    • Azure’s container instances
                                    Aimee Knight:
                                    • Awesome Actions for Github
                                    Chris Ferdinandi:
                                    • Free Meek docuseries
                                    • Simplicity: Part 2 by Bastian Allgeier
                                    Kaelig Deloumeau-Prigent:
                                    • Dependabot
                                    • Ink by Vadim Demedez
                                    • Follow Kaelig on Twitter @kaelig
                                    Special Guest: Kaelig Deloumeau-Prigent.

                                    Support this podcast at — https://redcircle.com/javascript-jabber/donations

                                    Privacy & Opt-Out: https://redcircle.com/privacy

                                    Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
                                    40 min
                                  • JSJ 396: Publishing Your Book with Jonathan Lee Martin
                                    Jonathan Lee Martin is an instructor and developer. He got his start in teaching at Big Nerd Ranch doing 1-2 week trainings for mid to senior developers, and then transitioned to 16 week courses for career switchers. He also worked for Digital Crafts for a year, and then wanted to focus on building out his own personal teaching brand. One of his first steps toward building his own brand was to publish his book, Functional Design Patterns for Express.js.The inspiration for Jonathan’s book came from his experience teaching career switchers. He wanted to experiment in the classroom with teaching functional programming in a way that would be very approachable and applicable and dispel some of the magic around backend programming, and that became the template for the book. Jonathan loves the minimalist nature of Express.js and talks about its many uses. He believes that it knowing design patterns can take you pretty far in programming, and this view is related to his background in Rails. When he was working in Rails taming huge middleware stacks, he discovered that applying design patterns made builds take less time. He talks about other situations where knowing design patterns has helped. Express.js leans towards object oriented style over functional programming, and so it takes to these patterns well. Express.js has its shortcomings, and that’s where Jonathan’s favorite library Koa comes into play. The conversation switches back to Jonathan’s book, which is a good way to start learning these higher level concepts. He purposely made it appealing to mid and senior level programmers, but at the same time it does not require a lot of background knowledge. Jonathan talks about his teaching methods that give people a proper appreciation for the tool. Jonathan talks more about why he likes to use Express.js and chose to use it for his book. He cautions that his book is not a book of monads, but rather about being influenced by the idea of composition over inheritance. He talks about the role of middleware in programming. The panel asks about Jonathan’s toolchain and approach to writing books, and he explains how his books are set up to show code. They discuss the different forms required when publishing a book such as epub, MOBI, and PDF. Jonathan found it difficult to distribute his book through Amazon, so he talks about how he built his own server. Charles notes that your method of distributing your book will depend on your goal. If you want to make the most money possible, make your own site. If you want to get it into as many hands as possible, get it on Amazon.Many of the JavaScript Jabber panelists have had experience publishing books, and Jonathan shares that you can reach out to a publisher after you’ve self-published a book and they can get it distributed. Jonathan believes that If he had gone straight to a publisher, he would have gotten overwhelmed and given up on the book, but the step by step process of self-publishing kept things manageable. The panelists discuss difficulties encountered when publishing and editing books, especially with Markdown. Jonathan compares the perks of self-editing to traditional editing. Though he does not plan to opensource his entire editing pipeline, he may make some parts available. The show concludes with the panelists discussing the clout that comes with being a published author. Panelists
                                    • Charles Max Wood
                                    • Christopher Buecheler 
                                    • J.C. Hyatt
                                    With special guest: Jonathan Lee MartinSponsors
                                    • Adventures in Blockchain
                                    • Sentry use the code “devchat” for 2 months free on Sentry’s small plan
                                    • The Freelancers’ Show
                                    Links
                                    • Big Nerd Ranch
                                    • Digital Crafts
                                    • JSJ 070: Book Club JavaScript Allonge with Reginald Braithwaite
                                    • JavaScript Allonge by Reginald Braithwaite
                                    • Functional Design Patterns for Express JS by Jonathan Lee Martin
                                    • Node.js
                                    • Express.js
                                    • Koa
                                    • Minjs 
                                    • Sinatra
                                    • Http.createserver
                                    • Monads
                                    • Middleware 
                                    • Markdown
                                    • Pandoc
                                    • Diff-match-path library
                                    • Epub
                                    • MOBI
                                    • LaTeX 
                                    • Stripe Checkout
                                    • Fstoppers
                                    • Softcover
                                    • Bookseller API 
                                    Follow DevChatTV on Facebook and Twitter PicksChristopher Buecheler:
                                    • Cluisbrace.com newsletter
                                    J.C. Hyatt:
                                    • Corsair wireless charging mouse pad
                                    Charles Max Wood:
                                    • Magnetic whiteboard baskets
                                    • Mrs. Piggle-Wiggle books
                                    Jonathan Lee Martin:
                                    • Eric Elliot JS
                                    • YellowScale
                                    • Follow Jonathan and find his book at jonathanleemartin.com
                                    Special Guest: Jonathan Lee Martin.

                                    Support this podcast at — https://redcircle.com/javascript-jabber/donations

                                    Privacy & Opt-Out: https://redcircle.com/privacy

                                    Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
                                    59 min

                                  About JavaScript Jabber

                                  From the publisher's feed

                                  Stay current on JavaScript, Node, and Front-End development. Learn from experts in programming, careers, and technology every week.

                                  Become a supporter of this podcast:

                                  More shows like JavaScript Jabber

                                  Freakonomics Radio by Freakonomics Radio + Stitcher

                                  Freakonomics Radio

                                  31,931 Listeners

                                  The Tim Ferriss Show by Tim Ferriss: Bestselling Author, Human Guinea Pig

                                  The Tim Ferriss Show

                                  16,045 Listeners

                                  The Changelog: Software Development, Open Source by Changelog Media

                                  The Changelog: Software Development, Open Source

                                  286 Listeners

                                  Ruby Rogues by Charles M Wood

                                  Ruby Rogues

                                  45 Listeners

                                  The Freelancers' Show by Charles M Wood

                                  The Freelancers' Show

                                  23 Listeners

                                  The a16z Show by Andreessen Horowitz

                                  The a16z Show

                                  1,093 Listeners

                                  Software Engineering Daily by Software Engineering Daily

                                  Software Engineering Daily

                                  623 Listeners

                                  Talk Python To Me by Michael Kennedy

                                  Talk Python To Me

                                  581 Listeners

                                  iPhreaks by Charles M Wood

                                  iPhreaks

                                  17 Listeners

                                  React Native Radio by Jamon Holmgren, Robin Heinze, Mazen Chami

                                  React Native Radio

                                  67 Listeners

                                  Adventures in Angular by Charles M Wood

                                  Adventures in Angular

                                  15 Listeners

                                  JavaScript Jabber by Charles M Wood

                                  JavaScript Jabber

                                  62 Listeners

                                  Ruby Rogues by Charles M Wood

                                  Ruby Rogues

                                  21 Listeners

                                  My JavaScript Story by Charles M Wood

                                  My JavaScript Story

                                  4 Listeners

                                  My Ruby Story by Charles M Wood

                                  My Ruby Story

                                  0 Listeners

                                  Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

                                  Syntax - Tasty Web Development Treats

                                  983 Listeners

                                  The Indicator from Planet Money by NPR

                                  The Indicator from Planet Money

                                  9,520 Listeners

                                  Tech Brew Ride Home by Morning Brew

                                  Tech Brew Ride Home

                                  959 Listeners

                                  All-In with Chamath, Jason, Sacks & Friedberg by All-In Podcast, LLC

                                  All-In with Chamath, Jason, Sacks & Friedberg

                                  10,177 Listeners

                                  Deep Questions with Cal Newport by Cal Newport

                                  Deep Questions with Cal Newport

                                  1,346 Listeners

                                  Dwarkesh Podcast by Dwarkesh Patel

                                  Dwarkesh Podcast

                                  550 Listeners

                                  Latent Space: The AI Engineer Podcast by Latent.Space

                                  Latent Space: The AI Engineer Podcast

                                  105 Listeners

                                  BG2Pod with Brad Gerstner and Bill Gurley by BG2Pod

                                  BG2Pod with Brad Gerstner and Bill Gurley

                                  454 Listeners

                                  AI + a16z by a16z

                                  AI + a16z

                                  31 Listeners