ma MJS #017: Bob Zeidman By devchat.tv Published On :: Thu, 11 May 2017 06:00:00 -0400 On this week's episode of My JS Story, Charles Max Wood interviews Bob Zeidman. Bob focuses on software forensics, but he also does consultations whenever he sells the intellectual property of a startup. He was on episode 238 and talked about intellectual property and software forensics. How did his life navigate towards programming? Tune in! Full Article
ma JSJ 272: Functional Programming and ClojureScript with Eric Normand By devchat.tv Published On :: Tue, 01 Aug 2017 06:00:00 -0400 JSJ 272: Functional Programming and ClojureScript with Eric Normand This episode of JavaScript Jabber features panelists Aimee Knight and Charles Max Wood. Special guest Eric Normand is here to talk about functional programming and ClojureScript. Tune in to learn more! [00:1:14] Introduction to Eric Normand Eric works for purelyfunctional.tv. The main target market for his company is those people who want to transition into functional programming from their current job. He offers them support, shows them where to find jobs, and gives them the skills they need to do well. [00:02:22] Address that quickly Functional programming is used at big companies such as Wal-Mart, Amazon, EBay, Paypal, and banks. They all have Clojure but it is not used at the scale of Java or Ruby. So yes, people are using it and it is influencing the mainstream programming industry. [00:3:48] How do you build an application? A common question Eric gets is, “How do I structure my application?” People are used to using frameworks. Most start from an existing app. People want a process to figure out how to take a set of features and turn it into code. Most that get into functional programming have development experience. The attitude in functional programming is that they do not want a framework. Clojure needs to be more beginner friendly. His talk is a four-step process on how to turn into code. [00:05:56] Can you expand on that a little? There are four steps to the process of structuring an application. Develop a metaphor for what you are trying to do. Developing the first implementation. How would you build it if you didn’t have code? Develop the operations. What are their properties? Example: will have to sort records chronological. Develop relationships between the operations. Run tests and refactor the program. Once you have that, you can write the prototype. [00:13:13] Why can’t you always make the code better? Rules can’t be refactored into new concepts. They have to be thrown away and started completely over. The most important step is to think before beginning to write code. It may be the hardest part of the process, but it will make the implementation easier. [00:17:20] What are your thoughts on when people take it too far and it makes the code harder to read? He personally has written many bad abstractions. Writing bad things is how you get better as a programmer. The ones that go too far are the ones that don’t have any basis or are making something new up. They are trying to be too big and use no math to back up their code. [00:20:05] Is the hammock time when you decide if you want to make something abstract or should you wait until you see patterns develop? He thinks people should think about it before, although always be making experiments that do not touch production. [00:23:33] Is there a trade off between using ClojureScript and functional JavaScript? In terms of functional programming in JavaScript don’t have some of the niceties that there are in Clojure script. Clojure Script has a large standard library. JavaScript is not as well polished for functional programming; it is a lot of work to do functional programming it and not as much support. [00:27:00:] Dave Thomas believes that the future of software is functional programming. Do you agree? Eric thinks that it seems optimistic. He doesn’t see functional programming take over the world but does think that it has a lot to teach. The main reason to learn functional programming is to have more tools in your toolbox. [00:31:40] If this is a better way to solve these problems, why aren’t people using it? There is a prejudice against functional programming. When Eric was first getting into it, people would ask why he was wasting his time. Believes that people are jaded. Functional programming feels foreign because people are used to a familiar way of programming; they usually start with a language and get comfortable. [00:40:58] If people want to get started with it, is there an easy way in? Lodash is great to start replacing for loops. It will clean up code. There are other languages that compile to JavaScript. For example, Elm is getting a lot of attention right now. It is a Haskell like syntax. If you want more of a heavyweight language, use TypeScript or PureScript. ClojureScript is into live programming. You are able to type, save, and see results of the code immediately on the screen in front of you. Picks Aimee: The Hidden Cost of Abstraction What Functional Language Should I Learn Eric Steven King, On Writing Youtube Channel: Tested Charles Ionic Framework Links Purely Functional TV Blog Building Composable Abstractions Full Article
ma MJS #029 Matt Creager By devchat.tv Published On :: Wed, 09 Aug 2017 06:00:00 -0400 MJS 029: Matt Creager On this episode, we have another My JavaScript Story, our guest is Matt Creager. Matt works for Manifold. He's here with us today to tell us his story. Stay tuned! [01:00] – Introduction to Matt Creager Matt works for an interesting company called Manifold. They sponsored the show. [01:35] – How did you get into programming? Before Matt fell in love with programming, he was in love with technology. They bought his first computer. It was a Gateway 2000 and he got access to the internet around the same time. He spent all of his time on that computer because they were moving around so much. That became the way that he stayed in touch with people. He remembers taking it apart and formatting the hard drive accidentally. His uncle has been in the IT industry since he was a kid too. Matt was always associating him with spending time with his computer programming, a role model, and stabilizer in his life. He was switching tapes. And then, his cousin decided that he was going to start scripting his character’s actions in a game that they were playing. And now, looking back, it was some combination of Lua and C++. He started taking his cousin’s scripts apart to automate his own character in the game. He was 13 or 14. The first programming book that he bought was a result of not being able to figure out how to get his character what it wants to do. It was one of the C++ bibles. And then, he became active in the forums around the scripting language. He was sharing the scripts and he started to realize that he can harvest stuff in the game and sell it for real cash. Matt never considered himself technical and never considered programming a career. He was just translating CPU and RAM for people who were shopping for computers. And then, he wanted people to measure theirs so he built tools that took the data they had in an office and turn them into reports. When the manager started using that, it became a nationwide program and suddenly, he was on the map. He was leading a team. When Blackberry started a technical interview, he realized that he has the answers to these questions. Initially, he was just a Technical Issues Manager. He had a Data Science team and that team was responsible for identifying and prioritizing issues. They were using Node 0.4, very early version of Node. And then, he discovered Angular and dived head first to the Angular community. [13:10] – BlackBerry got Matt to JavaScript Matt looked at Node because he was trying to figure out how he could do real time analytics. He wanted these dashboards that data scientists are looking at. That was the stepping stone into JavaScript. [15:30] – Hackathon On the side, a couple of local companies started to run hackathons. Matt was going to hackathons all the time. Then, he ended up of hopping from BlackBerry to becoming a full time front-end developer at a start-up. Matt was talking with one of the organizers at LA Hacks. She was telling him that the reason why people are going to these hackathons is because they want to win and they want to put that fact on their resumes. In his day, that was not hackathons were like. The prizes can act as a negative incentive. They really work hard for the prizes. Sometimes they actually end up becoming more creative as a result because they know they need to use this specific combination of API’s. [18:45] – Contributions to JavaScript community When Matt joined GoInstant, it was very early days of RTC. Web sockets are new at that point. You’re probably more familiar with Firebase. In the early days, GoInstant and Firebase are competing for the same developers. They’re working on the same problems. The tools that they are building were real time synchronization between the state you have on the client and the state you have on the server. A lot of those that they build, open-source tools, they went with GoInstant to Salesforce. But they inspired the libraries and a lot of it is probably on the same code base that you now see in libraries that pretty much does the same things with Firebase. And then, most recently, Matt and the team built Torus. They realized that if they are going to be building smaller applications, going to start to use more cloud services, more services tailored towards developers, and going to manage a lot more credential, a lot of credentials that need to be secured and shared with the teammates, they needed to take those credentials and put them on applications wherever they are running, whether that’s a Docker container or Heroku. That’s his most recent open-source project. [20:50] – What are you working on now? Manifold is their latest project. They’re trying to build a market place for developer services. It’s been 3 months. They moved from Torus to building Manifold earlier this year. The official launch hasn’t happened yet. That’s hopefully to come earlier this year – September. If it’s something that you want to try out and experiment with, there is a coupon for My JS. Give it a try before they launch a $25 credit that they can use to provision a logging instance, monitoring, or database. You can use it with any type of services that you might need to build your app. Picks Matt Creager OpenCollective.com Scaphold GraphQL Elixir Manifold.co Twitter, Github: @matt_creager Charles Max Wood AWS Lambda Zapier Heroku Udemy course for Ionic Framework Full Article
ma JSJ 274: Amazon Voice Services and Echo Skills with Terrance Smith By devchat.tv Published On :: Tue, 15 Aug 2017 06:00:00 -0400 JSJ 274 Amazon Voice Services and Echo Skills with Terrance Smith On today’s episode of JavaScript Jabber, we have panelists Joe Eames, Aimee Knight, Charles Max Wood, and we have special guest Terrance Smith. He’s here today to talk about the Amazon Alexa platform. So tune in and learn more about Amazon Voice Services! [01:00] – Introduction to Terrance Smith Terrance is from Hacker Ferrer Software. They hack love into software. [01:30] – Amazon Voice Service What I’m working on is called My CareTaker named probably pending change. What it will do and what it is doing will be to help you be there as a caretaker’s aid for the person in your life. If you have to take care an older parent, My CareTaker will be there in your place if you have to work that day. It will be your liaison to that person. Your mom and dad can talk to My CareTaker and My CareTaker could signal you via SMS or email message or tweet, anything on your usage dashboard, and you would be able to respond. It’s there when you’re not. [04:35] – Capabilities Getting started with it, there are different layers. The first layer is the Skills Kit for generally getting into the Amazon IoT. It has a limited subset of the functionality. You can give commands. The device parses them, sends them to Amazon’s endpoint, Amazon sends a call back to your API endpoint, and you can do whatever you want. That is the first level. You can make it do things like turn on your light switch, start your car, change your thermostat, or make an API call to some website somewhere to do anything. [05:50] – Skills Kit Skills Kit is different with AVS. Skills Kit, you can install it on any device. You’re spinning up a web service and register it on Amazon’s website. As long as you have an endpoint, you can register, say, the Amazon Web Services Lambda. Start that up and do something. The Skills Kit is literally the web endpoint response. Amazon Voice Services is a bit more in-depth. [07:00] – Steps for programming With the Skills Kit, you register what would be your utterance, your skill name, and you would give it a couple of sets of phrases to accept. Say, you have a skill that can start a car, your skill is “Car Starter.” “Alexa tell Car Starter to start the car.” At which point, your web service will be notified that that is the utterance. It literally has a case statement. You can have any number of individual conditional branches outside of that. The limitation for the Skills Kit is you have to have the “tell” or “ask” and the name of the skill to do whatever. It’s also going to be publicly accessible. For the most part, it’s literally a web service. [10:55] – Boilerplates for AWS Lambda Boilerplates can be used if you want to develop for production. If you publish a skill, you get free AVS instance time. You can host your skill for free for some amount of time. There are GUI tools to make it easier but if you’re a developer, you’re probably going to do the spin up a web service and deal it that way. [11:45] – Do you have to have an Amazon Echo? At one point, you have to have the Echo but now there is this called Echoism, which allows you to run it in your browser. In addition to that, you can potentially install it on a device like a Raspberry Pi and run Amazon Voice Services. The actual engine is on your PC, Mac, or Linux box. You have different options. [12:35] – Machine learning There are certain things that Amazon Alexa understand now that it did last year or time before that like understanding utterances and phrases better. A lot of the machine learning is definitely under the covers. The other portion of it Alexa Voice Service, which is a whole engine that you have untethered access to other portions like how to handle responses. That’s where you can build a custom device and take it apart. So the API that we’re working with here is just using JSON and HTTP. [16:40] – Amazon Echo Show You have that full real-time back and forth communication ability but there is no video streaming or video processing ability yet. You can utilize the engine in such a way that Amazon Voice Services can work with your existing tool language. If you have a Raspberry Pi and you have a camera to it, you can potentially work within that. But again, the official API’s and docs for that are not available yet. [27:20] – Challenges There’s an appliance in this house that listens to everything I say. There’s that natural inclination to not trust it, especially with the older generations. Giving past that is getting people to use the device. Some of the programming sides of it are getting the communication to work, doing something that Alexa isn’t pre-programmed to do. There isn’t a lot of documentation out there, just a couple of examples. The original examples are written in Java and trying to convert it to Node or JavaScript would be some of the technical challenges. In addition, getting it installed and setup takes at least an hour at the beginning. There’s also a learning curve involved. [29:35] – Is your product layered in an Echo or is your product a separate device? Terrance’s product is a completely separate device. One of the functionality of his program is medicine reminders. It can only respond to whatever the API calls from Amazon tells you to respond to but it can’t do anything like send something back. It can do an immediate audio response with a picture or turn on and off a light switch. But it can’t send a message back in like two hours from now. You do want your Alexa device to have (verbally) a list of notifications like on your phone. TLDR, Terrance can go a little further with just the Skills Kit. [32:00] – Could you set it up through a web server? Yes. There are examples out there. There’s Alexa in the browser. You can open up a browser and communicate with that. There are examples of it being installed like an app. You can deploy it to your existing iPhone app or Android app and have it interact that way. Or you can have it interact independently on a completely different device like a Raspberry Pi. But not a lot of folks are using it that way. [33:10] – Monetization Amazon isn’t changing anything in terms of monetization. They make discovery a lot easier though. If you knew the name of the app, you could just say, “Alexa, [tell the name of the app].” It will do a lazy load of the actual skill and it will add it to your available skill’s list. However, there is something called the Alexa Fund, which is kind of a startup fund that they have, which you can apply for. If you’re doing something interesting, there is a number of things you have to do. Ideally, you can get funding for whatever your product is. It is an available avenue for you. [36:25] – More information, documentation, walkthroughs The number one place to go to as far as getting started is the Amazon websites. They have the Conexant 4-Mic Far-Field Dev Kit. It has 4 mics and it has already a lot of what you need. You have to boot it up and/or SSH into it or plug it up and code it. They have a couple of these kits for $300 to $400. It’s one of the safe and simpler options. There are also directions for the AVS sites which is under Alexa Voice Services, where you can go to the Github from there. There will give you directions using the Raspberry Pi. If not that, there’s also the Slack chatroom. It is alexaslack.com. Travis Teague is the guy in charge in there. Picks Joe Eames Cosmic Engineers by Clifford D. Simak Aimee Knight Conference: React Rally Pancakes Charles Max Wood Conference: Angular Dev Summit Conference: React Dev Summit JavaScript Jabber Slack Terrance Smith Language: Elm Youtube channel: The School of Life Game: Night in the Woods Hacker Ferret Software Hackerferret.com Full Article
ma JSJ 276: Vue.js with Maximilian Schwarzmüller By devchat.tv Published On :: Tue, 29 Aug 2017 06:00:00 -0400 JSJ 276: Vue.js with Maximilian Schwarzmüller This episode of JavaScript Jabber features panelists AJ O’Neal, Aimee Knight, and Charles Max Wood. They talk with special guest Maximilian Schwarzmüller about Vue.js. Tune in to find out more! [00:02:21] Introduction to Maximilian Maximilian lives in Germany and is a self-taught web developer. He mostly teaches web development on Udemy and his YouTube channel. Vue.js is just one topic that he teaches. He enjoys teaching and passing on information to other web developers: he believes it is the best thing you can do. [00:03:10] What other courses do you teach? He tries to cover basic web development topics. On Udemy Maximilian teaches Angular and generic JavaScript courses. He also teaches courses on Angular and Node.js. On his YouTube channel he teaches more back-end development and Node.js courses. [00:04:00] Elevator Pitch for Vue.js Vue.js is a new framework that is popular because it is similar to React but also has Angular features. It is easier to learn than React: not everything is in JavaScript and JXS is not included. It is more also flexible and has better performance than Angular 1. Vue.js is easier than Angular 2 both to learn and master. It is still a JavaScript framework, where developers build single page applications or drop in existing applications to enhance views, control parts of a page with JavaScript, get rid of jQuery, and have an easier time creating applications. [00:05:10] What are some challenges people run into as they learn it? If developers are brand new to Vue.js, getting started is easy. It has one thing that a lot of frameworks lack which is awesome documentation. Vuejs.org has a comprehension guide that makes getting started simple. There is a general idea that developers still need to learn of how to structure the app, which is similar to React. Developers have to learn how to build components which is used to build the application. The build template is where everything is controlled with Vue.js. JavaScript code is used as well as template syntax. [00:06:27] So you build the template and then tell it how each part is supposed to behave with JavaScript? Yes. To get started use Vue instances, which are JavaScript objects, control parts of the page and it is marked by an id on an HTML element. Then, write a Vue template, which is basically HTML code where extra features can be used to easily output a variable. It makes it much easier to control via Vue instance. Then add a code, add a method which changes the property of Vue instance. It works together and is easy to build up templates and control your page with Vue. [00:11:12] Vue’s Advantages That depends on the application. Vue.js is easier to learn, which is an advantage when trying to get new developers. The documentation on the website is excellent, which helps when learning the language. Vue also has it’s own single team that develops it’s products, such as the Vue Router and Vue X. It has better performance, but for extremely big projects Angular 4 may be better. [00:13:38] Does Vue have routing in it? Vue.js has its own router. The core Vue team develops it, which is a different package that is downloaded separately. The advantage to this is that if you don’t need the router, then you don’t have it in your bundle but can easily add it. Once it is added it integrates nicely. [00:14:16] How does the Vue router compare to the React router? The Vue router offers the same features as the React router: nested routes, passing parameters, route guards, etc. The Vue router integrates nicely into the Vue package. It also injects into every component you have and is very simple. All that has to be done is just to execute one line of code and then the router is in the project. [00:17:10] How often is Vue.js upgraded and how hard is it to keep up? Vue.js only has two versions. Upgrading from Vue 1 to Vue 2 is easy. The base syntax and framework is still the same, you just need to adjust and move on. Since Vue 2 they released bigger upgrades. There so far haven’t been any issues upgrading, they have added new features, and still use the old code. [00:19:09] What is the feature with Vue as far as adoption goes? It is hard to predict but there are indicators that Vue.js has a good future. Vue.js probably will not overtake Angular but it is becoming important for companies in Asia, which is an important market. They have developed an Ionic version of Vue.js. There has also been an ongoing trend on GitHub. [00:21:20] Why do we keep having new frameworks and versions? The language of JavaScript itself is seeing rapid development. New features have been added, new web technologies developed, etc. One reason is that developers do more on the web. They want easier ways of building applications. There is no perfect framework so there has to be tradeoffs between the frameworks. There is no perfect solution for every application so need a framework for every application. [00:23:16] What is left undone in Vue.js? It is complete as far as something can be complete. Developers are working on service rendering to improve search engine optimization and initial rendering performance. They are also working on progress web app support. [00:28:02] What drives the way that Vue grows? There is simplicity in their documentation. While the documentation is simple, the framework is also easy to learn. Maximilian believes that the reason Vue.js took off is because the documentation and framework work together nicely. [00:31:19] What is going to keep Vue around? The support is not based on corporation, but there is an Asian company that is developing a framework that uses Vue to with their own product. Because of this, can draw an assumption that they will keep Vue.js around. Vue.js also has a strong community and core team, giving it a good support system. [00:34:15] What are people using if they want to use Native Apps but they want to use Vue? They are having a hard time right now. Frameworks for Quasar and Weex are in the early stages. A Vue.js app needs to be built but there are packages that are working in that direction. [00:37:25] How do you structure your Udemy courses and what do you think of that as a whole? Maximilian started teaching Udemy courses about one and a half years ago. He really enjoys teaching. Each course follows a similar pattern. He starts with a rough topic, researches the topic to see what is in demand, and builds a course around projects. He then fits all the things he wants to teach into the project, plans the course curriculum, records and edits the lecture videos, and then finally releases the course. [00:39:22] What do you get the most questions about with your Vue course? Questions are mixed. Students dive into the course quickly but then pause. Most questions are about the basics. They usually have something to do with the first few sections of the course or setup problems. Picks AJ: Broke Eatery Dream Dinners Aimee: Julie Evans blog Nodevember Charles: The Ketogenic Diet 2 Keto Dudes Podcast Max: Nuxt.js Framework Slack “Chat with yourself” Channel Links Onsen UI for Vue Twitter Youtube https://academind.com/ Utemy Vue.js Course Full Article
ma JSJ 277: Dojo 2 with Dylan Schiemann and Kitson Kelly By devchat.tv Published On :: Tue, 05 Sep 2017 20:43:00 -0400 JSJ 277: Dojo 2 with Dylan Schiemann and Kitson Kelly This episode of JavaScript Jabber features panelists Aimee Knight, Cory House, and Charles Max Wood. They talk with Dylan Schiemann and Kitson Kelly about Dojo 2. [00:02:03] Introduction to Dylan Schiemann Dylan is the CEO at Sitepen and co-founder of the Dojo Toolkit. [00:02:22] Introduction to Kitson Kitson is the CTO at Sitepen and project lead for Dojo 2. [00:02:43] Elevator Pitch for Dojo Dojo 1 has been around forever. Started back in 2004 as a way to solve the challenge of "I want to build something cool in a browser." Promises and web components were inspired by or created by Dojo. It's been a huge influence on the web development community. Dojo 2 is a ground up re-write with ES 2015, TypeScript and modern API's. It's a modernized framework for Enterprise applications. [00:04:29] How is Dojo different from other frameworks? There's a spectrum: small libraries like React with an ecosystem and community of things you add to it to Angular which is closer to the MV* framework with bi-directional data binding. Vue lands somewhere in the middle. Dojo 2 is also somewhere in the middle as well. It's written in TypeScript and has embraced the TypeScript experience. [00:06:00] Did the Angular 2 move influence the Dojo 2 development and vice-versa? Dojo 2 had moved to TypeScript and 2 days later Angular announced that they were going to TypeScript. Angular also moved very quickly through their BETA phase, which caused some challenges for the Angular community. With Dojo 2, they didn't start the public discussion and BETA until they knew much better what was and wasn't going to change. They've also been talking about Dojo 2 for 6 or 7 years. The update was held up by adoption of ES6 and other technologies. Dojo 1 was also responsible for a lot of the low-level underpinning that Angular didn't have to innovate on. Dojo 2 was built around a mature understanding of how web applications are built now. People doing Enterprise need a little more help and assistance from their framework. Dojo provides a much more feature rich set of capabilities. Angular could have pushed much more of TypeScript's power through to the developer experience. Dojo much more fully adopts it. It's also easier if all of your packages have the same version number. Call out to Angular 4 vs Angular 2. [00:12:44] AMD Modules Why use AMD instead of ES6 modules? You can use both. Dojo 2 was involved in the creation of UMD. James Burke created UMD while working on Dojo. ES6 modules and module loading systems weren't entirely baked when Dojo 2 started to reach maturity, so they went with UMD. It's only been a few months since Safari implemented the ES6 module system. Firefox and friends are still playing catchup. The Dojo CLI build tool uses webpack, so it's mostly invisible at this point. So, at this point, should I be using UMD modules? or ES6? Is there an advantage to using AMD? With TypeScript you'd use ES6 modules, but UMD modules can be loaded on the fly. [00:16:00] Are you using Grunt? Internally, for tasks we use Grunt. But for users, we have a CLI tool that wraps around Webpack. For package builds and CI, Grunt is used. [00:18:30] What is the focus on Enterprise all about? There are a lot of different challenges and complexities to building Enterprise apps. Dojo was the first framework with internationalization, large data grids, SVG charts, etc. Dojo has spend a long time getting this right. Many other systems don't handle all the edge cases. Internationalization in Angular 2 or 4 seems unfinished. Most Dojo users are building for enterprises like banks and using the features that handle large amounts of data and handle those use cases better. [00:21:05] If most application frameworks have the features you listed, is there a set of problems it excels at? The Dojo team had a hard look at whether there was a need for their framework since many frameworks allow you to build great applications. Do we want to invest into something like this? React has internationalization libraries. But you'll spend a lot of time deciding which library to use and how well it'll integrate with everything else. A tradeoff in decision fatigue. In the Enterprise, development isn't sexy. It's necessary and wants to use boring but reliable technology. They like to throw bodies at a problem and that requires reliable frameworks with easily understood decision points. Producing code right is a strong case for TypeScript and they pull that through to the end user. Many frameworks start solving a small set of problems, become popular, and then bolt on what they need to solve everything else... Dojo tried to make sure it had the entire package in a clear, easy to use way. You can build great apps with most of the big frameworks out there. Dojo has been doing this for long enough that they know where to optimize for maintainability and performance. [00:29:00] Where is Dojo's sweet spot? The Sitepen Blog series on picking a framework The biggest reason for using Dojo over the years is the data grid component. They also claim to have the best TypeScript web development experience. You may also want a component based system with the composition hassles of React. The composability of components where one team may write components that another uses is a big thing in Dojo where one person doesn't know the entire app you're working on. Theming systems is another selling point for Dojo. [00:34:10] Ending the framework wars Try Dojo out and try out the grid component and then export it to your Angular or React app. There are a lot of frameworks out there that do a great job for the people who use them. The focus is on how to build applications better, rather than beating out the competition. Sitepen has build apps with Dojo 2, Angular, React, Dojo + Redux, etc. [00:39:01] The Virtual DOM used by Dojo 2 years ago or so they were looking for a Virtual DOM library that was small and written in TypeScript. They settled on Maquette. The more you deal with the DOM directly, the more complex your components and libraries become. Makes things simpler for cases like server side rendering getting fleshed out in BETA 3. It also allows you to move toward something like React Native and WebVR components that aren't coupled to the DOM. They moved away from RxJS because they only wanted observables and shimmed in (or polyfilled) the ES-Next implementation instead of getting the rest of the RxJS that they're not using. [00:46:40] What's coming next? They're finishing Dojo 2. They're polishing the system for build UI components and architecture and structuring the app. They plan to release before the end of the year. They're also wrapping up development on the Data Grid, which only renders what shows on the screen plus a little instead of millions of rows. [00:49:08] Testing They've got intern. It pulls together unit testing, functional testing, continuous integration hooks, accessibility testing, etc. It's rewritten in TypeScript to take advantage of modern JavaScript. The Dojo CLI uses intern as the default test framework. Kitson build the test-extras library to help with Dojo testing with intern. Dojo Links dojo.io github.com/dojo/meta sitepen.com/blog gitter channel github.com/dylans twitter.com/dylans twitter.com/sitepen twitter.com/dojo github.com/kitsonk twitter.com/kitsonk Picks Cory Amateur vs Professional Aimee DevFest Florida (use code 'jsjabber') Chuck Taking some time off AudioTechnica ATR2100 How to define your life purpose in 5 minutes Dylan zenhub HalfStack Conference How to choose a framework series on the Sitepen Blog Kitson Dunbar Number Full Article
ma MJS #033 Dylan Schiemann By devchat.tv Published On :: Wed, 06 Sep 2017 06:00:00 -0400 MJS 033: Dylan Schiemann Today's episode is a My JavaScript Story with Dylan Schiemann. Dylan talked about his contributions to the JavaScript community to what JavaScript is back in 2004. Listen to learn more about Dylan! [01:10] – Introduction to Dylan Schiemann Dylan was on episode 62 of JavaScript Jabber, which was about 4 years ago. We had him on to talk about the Dojo Toolkit. [02:00] – How did you get into programming? When Dylan was 7 or 8 years old, he and his father took basic programming class together. In Junior high, probably mid-1980’s, he received his first Commodore 64 computer. He picked up the Programmer’s Reference Guide, toppled on Assembly, and tried to write data to a tape drive. It got updated to a floppy drive. And then in high school, he took some Pascal classes. He learned the basics - ranging from BASIC, Pascal, and to Assembly. [03:00] – How did you get into JavaScript? As an undergraduate, Dylan studied Chemistry and Mathematics. He did some basic HTML and discovered the web roughly when he was a junior year in college. And then, he went to graduate school and studied Physical Chemistry at UCLA. He was studying the topology and reality of quasi-two-dimensional phone. If you imagine a bunch of beer bubbles at the top of a glass, and you spin it around really quickly, you watch how the bubbles rearrange as force is applied to it. He wanted to put his experiments on the web so he started learning this new language that had just been invented called JavaScript. So, he dropped out of graduate school a few years later. Eight years after that point in time, it was possible to show his experiments with Dojo and SVG. [04:25] – How did you get into Dojo and the other technologies? SitePen Right after grad school, Dylan helped start a company called SitePen. That let him really learn how JavaScript works. He started doing some consulting work. And he started working with Alex Russell, who had a project called netWindows at the time, which is a predecessor to any JavaScript framework that most people have worked with. Dojo Dylan got together and decided to create a next generation version of the HTML toolkit, which ended up becoming Dojo back in 2004. Things that they created back then are now part of the language - asynchronous patterns such as Promises, or even modules, widgets, which led to the web components pack. Over the years, they’ve built on that and done various utilities for testing and optimizing applications. [06:20] – Ideas that stood the test of time A lot of the things that Dylan and his team did in Dojo were on the right path but first versions ended up iterating before they’ve met their way into the language. Other things are timing. They were there very early and but to tell people in 2005 and 2006 that you need to architect the front-end application met some confusion of why you would want to do that. According to him, they never created Dojo to say that they want to create the world’s leading framework. [07:45] – JavaScript Dylan no longer answers the question of, “Oh, JavaScript, you mean, Java?” The expectations of 2004 were the hope of making something that might work in a browser. The expectation today is we are competing against every platform and trying to create the best possible software in the world, and do it in a way that’s distributable everywhere in the browser. The capabilities have grown. There are audio, video and real-time capabilities. They were ways to do those things but they were brutal and fragile. And now, we have real engineering solutions to many of those things but there are still going to be ways to do this. There were few people who are interested in this and maybe this wasn’t even their day job. But now, literally hundreds and thousands of engineers who write code in JavaScript every day. Picks Dylan Schiemann JavaScript user groups JavaScript conferences SeattleJS Phoenix TypeScript Meet-up London HalfStack Charles Max Wood Focuster BusyCal Asana Trello Full Article
ma JSJ 278 Machine Learning with Tyler Renelle By devchat.tv Published On :: Tue, 12 Sep 2017 08:00:00 -0400 Tweet this Episode Tyler Renelle is a contractor and developer who has worked in various web technologies like Node, Angular, Rails, and much more. He's also build machine learning backends in Python (Flask), Tensorflow, and Neural Networks. The JavaScript Jabber panel dives into Machine Learning with Tyler Renelle. Specifically, they go into what is emerging in machine learning and artificial intelligence and what that means for programmers and programming jobs. This episode dives into: Whether machine learning will replace programming jobs Economic automation Which platforms and languages to use to get into machine learning and much, much more... Links: Raspberry Pi Arduino Hacker News Neural Networks (wikipedia) Deep Mind Shallow Algorithms Genetic Algorithms Crisper gene editing Wix thegrid.io Codeschool Codecademy Tensorflow Keras Machine Learning Guide Andrew Ng Coursera Course Python R Java Torch PyTorch Caffe Scikit learn Tensorfire DeepLearn.js The Singularity is Near by Ray Kurzweil Tensorforce Super Intelligence by Nick Bostrom Picks: Aimee Include media Nodevember Phone cases AJ Data Skeptic Ready Player One Joe Everybody Lies Tyler Ex Machina Philosophy of Mind: Brains, Consciousness, and Thinking Machines Full Article
ma JSJ BONUS: Cloud Services and Manifold with Matthew Creager and Peter Cho By devchat.tv Published On :: Wed, 18 Oct 2017 06:00:00 -0400 Panel: Amiee Knight Charles Max Wood Joe Eames Special Guests: Matthew Creager and Peter Cho In this episode, JavaScript Jabbers speak with Matthew Ceager and Peter Cho. Matthew and Peter are part of the team at Manifold. Manifold is a marketplace for developer services. Matthew takes care of growth and relations, and Peter oversee products at Manifold. The panel discusses with Peter and Matthew what Manifold does and the benefits of a Cloud Service. Matthew gives perspective on how developers can get their cloud product on the market compared to open source. Further discussion goes into how this will help the developer to get their products or services turned into a business quicker and save time Also learn about when it is the ideal time to move to cloud services vs. running a server yourself. In particular, we dive pretty deep on: Different kinds of definition of Cloud Services Anything you would rely on as a third party service What is the cloud service ecosystem - Services that connect to an application Independent market place - because it is difficult to turn a product into a business Where are people using cloud services or running their own server Spinning up a version of it is easier. Time verses doing it yourself? Experts running the services Focusing on your product instead of managing the server and such Where does the data live and who has access to that? Lock In’s? Tourist - Credentials management How do I get this setup? Command Line or register online And much more! Links: Manifold https://github.com/mattcreager @manifoldco @etcpeter @matt_creager blog.manifold.com Picks: Amiee Ryan McDermott Charles GitLab AdminLTE Joe What You Can’t Say Matt Star Trek Puppeteer Peter Player Unknown Battle Ground Sourdough by Robin Sloan Full Article
ma JSJ 285 : Finding a Job Even If You're Not a Senior Developer by Charles Max Wood By devchat.tv Published On :: Wed, 01 Nov 2017 17:09:00 -0400 Panel: Charles Max Wood In this episode of JavaScript Jabber, Charles does a solo episode talking about entrepreneurship and the topic/course on “How to Get a Job.” This is an informative episode for those looking for a job as a developer and how to prepare your resume for your career search. Charles covers the core pieces of the course and specific areas of tailoring your credentials for the job you want to acquire. In particular, we dive pretty deep on: How do I get a great job? Companies are only hiring Senior Devs. Your selling point as a Jr. Dev. Framing your experience for the companies to better see your experience. I don’t want a ( this kind of boss) Feeling like you are making a difference in your job. Who do you want to work for, with, where, and how, etc? Working in a facility or remotely. What do you want? Check out the meet-up places or workplaces (WeWork), Glassdoor Check out the people who work that these companies, LinkedIn. Check out company’s Slack rooms, forum, etc. to make connections Visit the companies personally Look into contacting the Meetup Organizers Building rapport Resume mistakes - how to properly format it so it is skim-able Top 3 bullet points and tailor you resume for each job Unnecessary material in your resume - again tailor to the company Important material to include on your resume, contributions on projects The cover letter - How to do this correctly with a personal touch What to do when you get the interview - the offer! And much more! Links: devchat.tv/get-a-coder-job-full-accessfull-access WeWork Expert Salary Negotiation Full Article
ma JSJ 288: TypeScript with Amanda Silver By devchat.tv Published On :: Tue, 21 Nov 2017 20:22:00 -0500 Charles Max Wood Special Guests: Amanda Silver In this episode, Charles is at Microsoft Connect 2017 in NYC. Charles speaks with Amanda Silver. Amanda is deemed the TypeScript and future of JavaScript guru, and this year's speakers at Microsoft Connect with Visual Studio Live Share. Amanda shares what is new with TypeScript and how that is a kind of subscript to JavaScript. Amanda explains the big picture of TypeScript’s inception and where she believes the language will be most efficient and effective for JavaScript and TypeScript developers. In particular, we dive pretty deep on: What is new in TypeScript? Keep JavaScript and TypeScript aligned TypeScript is implemented to create larger scaled applications Integration with VS Code, etc. Building better tools for JavaScript Developers When would this be taken on by users Defaults in Visual Studio TypeScript replacing JavaScript type service TypeScript is written in TypeScript Chakra runtime Diaspora The different faces of JavaScript Optimized JavaScript runtime Languages should be created with tooling A satisfying tooling experience Foot Guns New Tokens Eco-systems and metadata Multi-phase Minimum common denominator constantly changing Collaborating on the same code Open Source and the impact How to move to open source Contributing The next thing for TypeScript The future of JavaScript And much more! Links: @amandaksilver Picks: Amanda Visual Studio Live Share Instinct of learning technology Charles Visual Studio Live Share AI Full Article
ma JSJ 296: Changes in React and the license with Azat Mardan By devchat.tv Published On :: Tue, 16 Jan 2018 11:47:00 -0500 Panel: Charles Max Wood Cory House Joe Eames Aimee Knight Special Guests: Azat Mardan In this episode, JavaScript Jabber panelist speak with Azat Mardan. Azat is a return guest, previously on JSJ Episode 230. Azat is an author of 14 books on Node JS, JavaScript, and React JS. Azat works at Capital One on the technology team. Azat is the founder and creator of Node University. Azat is on the show to talk about changes in React and licensing. Some of the topics cover Facebook, licensing with React, using the wrong version of React, patent wars, and much more in-depth information on current events in React. In particular, we dive pretty deep on: Facebook - Licensing with React Using the Wrong version of React in some companies BSD licensing Patent wars Facebook developing React Difference in Preact and Inferno Rewriting applications What did Capital One do about the changes? React 16 Pure React Was the BSD patents - Med and Sm Companies Patents explained React Developers at Facebook Fiber - New Core Architecture And much more! Links: http://azat.co https://node.university https://devchat.tv/js-jabber/230-jsj-node-at-capital-one-with-azat-mardan Picks: Cory Axel Rauschmayer post Prettier Charles Indiegogo for Dev Chat forum.devchat.tv Aimee Dev Tees Hacker News - Question on Stack Exchange and Estimates Joe Heroku El Camino Christmas Azat PMP Azat - Short Lecture Full Article
ma MJS 050: Azat Mardan By devchat.tv Published On :: Wed, 28 Feb 2018 06:00:00 -0500 Panel: Charles Max Wood Guest: Azat Mardan This week on My JavaScript Story, Charles speaks with Azat Mardan. Azat is the author of 14 books on Node JS, JavaScript, and React JS. He also founded Node University, speaks at conferences, and works at Capitol One. Azat first got into programming when he was in college and his major was Informatics in eastern Europe and then when he graduated, he taught himself JavaScript and PHP and did some freelance work. Once he came to the United States, he got his master’s degree in Information Systems Technology and was building websites for country embassies. His main advice to people new to programming and IT is to just focus on one thing and give yourself enough time to get comfortable with that technology, and then move on to a new technology to conquer. In particular, we dive pretty deep on: How did you get into programming? Major in informatics PHP, JavaScript, CSS, and HTML Freelancing Masters in Information Systems Technology C++ class FDIC Advice to new programmers The importance of focus His startup experience Ruby on Rails Mac vs Windows Taught himself different frameworks and languages Location matters MongoDB The best way to learn is to teach others What was it about JavaScript that really clicked for you? JavaScript has expressiveness The Talent Code What led you to React? Which contributions are you most proud of? And much, much more! Links: Node University The Talent Code Azat’s Blog: WebAppLog.com Picks Charles Gardenscapes Starcraft II The Osiris Method Azat Echo JS Full Article
ma JSJ 314: Visual Studio Code and the VS Code Azure Extension with Matt Hernandez and Amanda Silver LIVE at Microsoft Build By devchat.tv Published On :: Tue, 22 May 2018 08:32:00 -0400 Panel: Charles Max Wood Special Guests: Matt Hernandez and Amanda Silver In this episode, the JavaScript Jabber/Adventures In Angular, panelists discuss Visual Studio Code and the VS Code Azure Extension with Matt Hernandez and Amanda Silver at Microsoft Build. Amanda is the director of program management at Microsoft working on Visual Studio and VS Code. Matt works on a mix between the Azure and the VS Code team, where he leads the effort to build the Azure extensions in VS code, trying to bring JavaScript developers to Azure through great experiences in VS Code. They talk about what’s new in VS Code, how the Azure extension works, what log points are, and much more! In particular, we dive pretty deep on: Amanda intro Matt intro What’s new in VS Code? VS Code core VS Live Share Shared Terminal Now have Linux support Live Share is now public to the world for free What would you use Shared Terminal for? Are there other things coming up in VS Code? Constantly responding to requests from the community Live Share works for any language How does the Azure extension work? Azure App Service Storage extension Azure Cosmos DB What are log points? All a part of a larger plan to create a better experience for JS developers Visual debuggers Is it the same plugin to support everything on Azure? Want to target specific services that node developers will take advantage of And much, much more! Links: Visual Studio VS Code Azure Live Share Azure Cosmos DB Microsoft Build Azure App Service Amanda’s GitHub @amandaksilver Matt’s GitHub @fiveisprime Picks: Charles Orphan Black Shout out to VS Code team Battle of the Books Matt The Customer-Driven Playbook by Travis Lowdermilk The Speed of Trust by Stephen M.R. Covey Yes, And by Kelly Leonard Digital Marketing For Dummies by Ryan Deiss Ed Gets His Power Back Kickstarter Amanda Microsoft Quantum Development Kit for Visual Studio Code Iggy Peck, Architect Tek by Patrick McDonnell Full Article
ma JSJ 316: Visual Studio Code with Rachel MacFarlane and Matt Bierner LIVE at Microsoft Build By devchat.tv Published On :: Tue, 05 Jun 2018 06:00:00 -0400 Panel: Charles Max Wood Special Guests: Rachel MacFarlane and Matt Bierner In this episode, the JavaScript Jabber panelists discuss Visual Studio Code with Rachel MacFarlane and Matt Bierner, who are both developers on Visual Studio Code. They talk about what the workflow at Visual Studio Code looks like, what people can look forward to coming out soon, and how people can follow along the VS Code improvements on GitHub and Twitter. They also touch on their favorite extensions, like the Docker extension and the Azure extension and their favorite VS Code features. In particular, we dive pretty deep on: Rachel and Matt intro Month to month workflow of Visual Studio Code VS Code JavaScript, TypeScript, and Mark Down support Working on GitHub and within the community Check out new features incrementally with insiders Community driven work What is coming out in Visual Studio Code? GitHub helps to determine what they work on Working on Grid View Improved settings UI Highlighting unused variables in your code Improvements with JS Docs Dart Visual Studio Extension API How do people follow along with the VS Code improvements? Follow along on GitHub and Twitter Download VS Code Insiders Have a general road map of what the plan is for the year Technical debt week What do you wish people knew about VS Code? Favorite extensions Docker extension and Azure extension And much, much more! Links: Visual Studio Code JavaScript TypeScript Dart VS Code GitHub @Code VS Code Insiders Docker extension Azure extension Rachel’s GitHub Matt’s GitHub MattBierner.com @mattbierner Sponsors Kendo UI Linode FreshBooks Picks: Charles Orphan Black Avengers: Infinity War Fishing Rachel GitLens Matt The Bronx Warriors Full Article
ma JSJ 317: Prisma with Johannes Schickling By devchat.tv Published On :: Tue, 12 Jun 2018 06:00:00 -0400 Panel: Charles Max Wood AJ O’Neal Special Guests: Johannes Schickling In this episode, the JavaScript Jabber panelists discuss Prisma with Johannes Schickling. Johannes is the CEO and co-founder of GraphCool and works with Prisma. They talk about the upcoming changes within GraphCool, what Prisma is, and GraphQL back-end operations. They also touch on the biggest miscommunication about Prisma, how Prisma works, and much more! In particular, we dive pretty deep on: JSJ Episode 257 MJS Episode 055 Raised a seed round Rebranding of GraphCool What are you wanting to do with the seed money you raised? Focused on growing his team currently Making GraphQL easier to do The change in the way people build software What is Prisma? Two things you need to do as you want to adopt GraphQL Apollo Client and Relay GraphQL on the back-end Resolvers Resolving data in one query Prisma supports MySQL and PostgreSQL How do you control access to the GraphQL endpoint that Prisma gives you? Biggest miscommunication about Prisma Prisma makes it easier for you to make your own GraphQL server Application schemas How do you blend your own resolvers with Prisma? And much, much more! Links: JSJ Episode 257 MJS Episode 055 GraphCool Prisma GraphQL Apollo Client Relay MySQL PostgreSQL @schickling Johannes’ GitHub Schickling.me Prisma Slack Sponsors Kendo UI Linode FreshBooks Picks: Charles Audible The 5 Love Languages of Children by Gary Chapman Facebook Backyard Homesteader Groups CharlesMaxWood.com Sling TV Roku Express AJ The Legend of Zelda: Breath of the Wild Johannes Figma Netlify Functions GraphQL Europe Full Article
ma JSJ 323: "Building a JavaScript platform that gives you the power to build your own CDN" with Kurt Mackey By devchat.tv Published On :: Thu, 26 Jul 2018 15:50:00 -0400 Panel: Charles Max Wood AJ ONeal Special Guests: Kurt Mackey In this episode, the JavaScript Jabber panel talks to Kurt Mackey about Fly.io. At Fly.io, they are "building a JavaScript platform that gives you the power to build your own CDN." They talk about how Fly.io came to fruition, how CDN caching works, and what happens when you deploy a Fly app. They also touch on resizing images with Fly, how you actually build JavaScript platforms using Fly, and more! In particular, we dive pretty deep on: Fly.io Building a programmable CDN High level overview of Fly.io How did this project come together? CDNs didn’t work with dynamic applications Has been working on this since 2008 Extend application logic to the “edge” Putting burden of JavaScript “nastiest” onto the web server Fly is the proxy layer Getting things closer to visitors and users CDN caching Cache APIs Writing logic to improve your lighthouse score Have you built in resizing images into Fly? Managing assets closer to the user Can you modify your own JavaScript files? What happens when you deploy a Fly app Having more application logic DOM within the proxy Ghost React and Gatsby Intelligently loading client JavaScript How do you build the JavaScript platform? And much, much more! Links: Fly.io JavaScript Ghost Gatsby React @flydotio @mrkurt Kurt at ARS Technica Kurt’s GitHub Sponsors Kendo UI Sentry Digital Ocean Picks: Charles GitLab AJ Gitea Black Panther Kurt Packet.net The Three-Body Problem by Cixin Liu Full Article
ma MJS 073: Tara Z. Manicsic By devchat.tv Published On :: Wed, 08 Aug 2018 06:00:00 -0400 Panel: Charles Max Wood Guest: Tara Z. Manicsic This week on My JavaScript Story, Charles speaks with Tara Z. Manicsic. Tara is a developer advocate for Progress, is on their Kendo UI team, and is also a Google developer expert on the Web Technologies team. She first got into programming in the second grade when she learned Logo and came back to development when she was asked to do Crystal Reports at Harvard Law School. They talk about how she found Women Who Code, the importance of understanding open source software, having a support system, what is was about Node that got her excited, and more! In particular, we dive pretty deep on: Tara intro Very excited and fascinated with the web Helped to start up React Round Up as a panelist Her experience as a developer Started out as a business school dropout How did you first get into programming? Learned Logo in the second grade Loved the ability to help people and create change Crystal Reports at Harvard Law CS courses with tuition assistance Getting back into CS Being a non-traditional student Finding Women Who Code First job as a Node software engineer How did Women Who Code help you? OpenHatch Being familiar with open source software The importance of having support How did you first get into JavaScript? Seeing jobs for Ruby on Rails Matt Hernandez on JavaScript Jabber NG conf Her intro to the Angular community in person And much, much more! Links: Progress React Round Up Crystal Reports Women Who Code Node OpenHatch JavaScript Ruby on Rails Matt Hernandez on JavaScript Jabber NG conf Angular @Tzmanics tzmanics.com Tara’s GitHub Sponsors: Loot Crate FreshBooks Picks Charles Get a Coder Job Course Golf Clash Tara Connect.Tech DevFest Atlanta Cedar Point Full Article
ma JSJ 331: “An Overview of JavaScript Testing in 2018” with Vitali Zaidman By devchat.tv Published On :: Tue, 18 Sep 2018 06:00:00 -0400 Panel: AJ O’Neal Aimee Knight Joe Eames Charles Max Wood Special Guests: Vitali Zaidman In this episode, the panel talks with programmer, Vitali Zaidman, who is working with Software Solutions Company. He researches technologies and starts new projects all the time, and looks at these new technologies within the market. The panel talks about testing JavaScript in 2018 and Jest. Show Topics: 1:32 – Chuck: Let’s talk about testing JavaScript in 2018. 1:53 – Vitali talks about solving problems in JavaScript. 2:46 – Chuck asks Vitali a question. 3:03 – Vitali’s answer. 3:30 – Why Jest? Why not Mocha or these other programs? 3:49 – Jest is the best interruption of what testing should look like and the best practice nowadays. There are different options, they can be better, but Jest has this great support from their community. There are great new features. 4:31 – Chuck to Joe: What are you using for testing nowadays? 4:43 – Joe: I use Angular, primarily. 6:01 – Like life, it’s sometimes easier to use things that make things very valuable. 7:55 – Aimee: I have heard great things about Cypress, but at work we are using another program. 8:22 – Vitali: Check out my article. 8:51 – Aimee: There are too many problems with the program that we use at work. 9:39 – Panelist to Vitali: I read your article, and I am a fan. Why do you pick Test Café over Cypress, and how familiar are you with Cypress? What about Selenium and other programs? 10:12 – Vitali: “Test Café and Cypress are competing head-to-head.” Listen to Vitali’s suggestions and comments per the panelists’ question at this timestamp. 11:25 – Chuck: I see that you use sign-on... 12:29 – Aimee: Can you talk about Puppeteer? It seems promising. 12:45 – Vitali: Yes, Puppeteer is promising. It’s developed by Google and by Chrome. You don’t want to use all of your tests in Puppeteer, because it will be really hard to do in other browsers. 13:26: Panelist: “...5, 6, 7, years ago it was important of any kind of JavaScript testing you had no idea if it worked in one browser and it not necessarily works in another browser. That was 10 years ago. Is multiple browsers testing as important then as it is now? 14:51: Vitali answers the above question. 15:30 – Aimee: If it is more JavaScript heavy then it could possibly cause more problems. 15:56 – Panelist: I agree with this. 16:02 – Vitali continues this conversation with additional comments. 16:17 – Aimee: “I see that Safari is the new Internet Explorer.” 16:23: Chuck: “Yes, you have to know your audience. Are they using older browsers? What is the compatibility?” 17:01 – Vitali: There are issues with the security. Firefox has a feature of tracking protection; something like that. 17:33 – Question to Vitali by Panelist. 17:55 – Vitali answers the question. 18:30 – Panelist makes additional comments. 18:43 – If you use Safari, you reap what you sow. 18:49 – Chuck: I use Chrome on my iPhone. (Aimee does, too.) Sometimes I wind up in Safari by accident. 19:38 – Panelist makes comments. 19:52 – Vitali tells a funny story that relates to this topic. 20:45 – There are too many standards out there. 21:05 – Aimee makes comments. 21:08 – Brutalist Web Design. Some guy has this site – Brutalist Web Design – where he says use basic stuff and stop being so custom. Stop using the web as some crazy platform, and if your site is a website that can be scrolled through, that’s great. It needs to be just enough for people to see your content. 22:16 – Aimee makes additional comments about this topic of Brutalist Web Design. 22:35 – Panelist: I like it when people go out and say things like that. 22:45 – Here is the point, though. There is a difference between a website and a web application. Really the purpose is to read an article. 23:37 – Vitali chimes in. 24:01 – Back to the topic of content on websites. 25:17 – Panelist: Medium is very minimal. Medium doesn’t feel like an application. 26:10 – Is the website easy enough for the user to scroll through and get the content like they want to? 26:19 – Advertisement. 27:22 – See how far off the topic we got? 27:31 – These are my favorite conversations to have. 27:39 – Vitali: Let’s talk about how my article got so popular. It’s an interesting thing, I started researching “testing” for my company. We wanted to implement one of the testing tools. Instead of creating a presentation, I would write first about it in Medium to get feedback from the community as well. It was a great decision, because I got a lot of comments back. I enjoyed the experience, too. Just write about your problem in Medium to see what people say. 28:48 – Panelist: You put a ton of time and energy in this article. There are tons of links. Did you really go through all of those articles? 29:10 – Yes, what are the most permanent tools? I was just reading through a lot of comments and feedback from people. I tested the tools myself, too! 29:37 – Panelist: You broke down the article, and it’s a 22-minute read. 30:09 – Vitali: I wrote the article for my company, and they ad to read it. 30:24 – Panelist: Spending so much time – you probably felt like it was apart of your job. 30:39 – Vitali: I really like creating and writing. It was rally amazing for me and a great experience. I feel like I am talented in this area because I write well and fast. I wanted to express myself. 31:17 – Did you edit and review? 31:23 – Vitali: I wrote it by myself and some friends read it. There were serious mistakes, and that’s okay I am not afraid of mistakes. This way you get feedback. 32:10 – Chuck: “Some people see testing in JavaScript, and people look at this and say there are so much here. Is there a place where people can start, so that way they don’t’ get too overwhelmed? Is there a way to ease into this and take a bite-size at a time?” 32:52 – Vitali: “Find something that works for them. Read the article and start writing code.” He continues this conversation from here on out. 34:03 – Chuck continues to ask questions and add other comments. 34:16 – Vitali chimes-in. 34:38 – Chuck. 34:46 – Vitali piggybacks off of Chuck’s comments. 36:14 – Panelist: Let’s go back to Jest. There is a very common occurrence where we see lots of turn and we see ideas like this has become the dominant or the standard, a lot of people talk about stuff within this community. Then we get this idea that ‘this is the only thing that is happening.’ Transition to jQuery to React to... With that context do you feel like Jest will be a dominant program? Are we going to see Jest used just as common as Mocha and other popular programs? 38:15 – Vitali comments on the panelist’s question. 38:50 – Panelist: New features. Are the features in Jest (over Jasmine, Mocha, etc.) so important that it will drive people to it by itself? 40:30 – Vitali comments on this great question. 40:58 – Panelist asks questions about features about Jest. 41:29 – Vitali talks about this topic. 42:14 – Let’s go to picks! 42:14 – Advertisement. Links: Vitali Zaidman’s Facebook Vitali Zaidman’s Medium Vitali Zaidman’s GitHub Vitali Zaidman’s NPM Vitali Zaidman’s LinkedIn Vitali Zaidman’s Medium Article JavaScript Brutalist Web Design Jasmine Cypress React jQuery Jest Protractor – end to end testing for Angular Test Café Intern Sinon XKCD Sponsors: Kendo UI Sentry Digital Ocean Cache Fly Picks: AJ O’Neal Continuous from last week’s episode: Crossing the Chasm – New Technologies from Niche to General Adaptation. Go Lang Joe Eames Board Game: Rajas of the Ganges Framework Summit Conference in Utah React Conference Aimee Knight Hacker News – “Does Software Understand Complexity” via Michael Feathers Cream City Code Chuck E-Book: How do I get a job? Express VPN Vitali Book: The Square and The Tower: Networks and Power, from the Freemasons to Facebook by Niall Ferguson My article! Full Article
ma JSJ 332: “You Learned JavaScript, Now What?” with Chris Heilmann By devchat.tv Published On :: Tue, 25 Sep 2018 06:00:00 -0400 Panel: AJ O’Neal Aimee Knight Joe Eames Charles Max Wood Special Guests: Chris Heilmann In this episode, the panel talks with programmer, Chris Heilmann. He has written books about JavaScript, in addition to writing a blog about it and is an educator about this program. He currently resides in Berlin, Germany. Let’s welcome our special guest and listen to today’s episode! Show Topics: 2:19 – Chuck talks. 2:41 – Chris: He has talked about JavaScript in Berlin upon an invitation. You can get five different suggestions about how to use JavaScript. The best practices, I have found, are on the projects I am on now. JavaScript was built in ten days. My goal is to help people navigate through JavaScript and help them feel not disenfranchised. 5:47 – Aimee: The overall theme is... 5:54 – Panelist: I really like what you said about helping people not feeling disenfranchised. 6:47 – Chris: There is a lot of peer pressure at peer conferences 7:30 – Aimee chimes in with some comments. 7:50: Chris: I think we need to hunt the person down that put... 8:03 – Panelist: A good point to that is, I try to avoid comments like, “Well, like we ALL know...” 8:27 – Chris: There are things NOT to say on stage. It happens, but we don’t want to say certain things while we are teaching people. We are building products with different groups, so keep that in mind. 9:40 – Aimee: My experience in doing this is that I have found it very rewarding to share embarrassing experiences that I’ve had. My advice would to tell people to let their guard down. It’s encouraging for me. 10:26 – Chris: It helps to show that you are vulnerable and show that you are still learning, too. We are all learning together. 90% of our job is communicating with others. 11:05 – Chuck: Now, I do want to ask this... 11:35 – Chris answers. 12:24 – What makes you say that? (Question to Chris) 12:25 – Chris answers. 13:55 – Chuck: The different systems out there are either widely distributed or... You will have to work with other people. There is no way that people can make that on their own. If you can’t work with other people, then you are a hindrance. 14:31 – Aimee chimes in. 14:53 – Chris: They have to be very self-assured. I want to do things that are at the next level. Each developer has his or her own story. I want to move up the chain, so I want to make sure these developers are self-assured. 16:07 – Chris: Back to the article... 18:26 – Chuck: Yes, I agree. Why go and fight creating a whole system when it exists. 18:54 – Chris chimes in with some comments. 19:38 – Panelist: I still use console logs. 19:48 – Chris: We all do, but we have to... 19:55 – Aimee: In the past year, I can’t tell you how much I rely on this. Do I use Angular? Do I learn Vue? All those things that you can focus on – tools. 10:21 – Chris: We are talking about the ethics of interfaces. Good code is about accessibility, privacy and maintainability, among others. Everything else is sugar on top. We are building products for other people. 22:10 – Chuck: That is the interesting message in your post, and that you are saying: having a deep, solid knowledge of React (that is sort of a status thing...). It is other things that really do matter. It’s the impact we are having. It’s those things that will make the difference. Those things people will want to work with and solves their problems. 23:00 – Chris adds his comments. He talks about Flash. 24:05 – Chris: The librarian motto: “I don’t know everything, but I can look “here” to find the answer.” We don’t know everything. 24:31 – Aimee: Learn how to learn. 24:50 – Chris: There is a big gap in the market. Scratch is a cool tool and it’s these puzzle pieces you put together. It was hard for me to use that system. No, I don’t want to do that. But if you teach the kids these tools then that’s good. 24:56 – Chuck: Here is the link, and all I had to do was write React components. 26:12 – Chris: My first laptop was 5x more heavy then this one is. Having access to the Internet is a blessing. 27:24 – Advertisement 28:21 – Chuck: Let’s bring this back around. If someone has gone through boot camp, you are recommending that they get use to know their editor, debugging, etc. Chris: 28:47 – Chris: Yes, get involved within your community. GitHub. This is a community effort. You can help. Writing code from scratch is not that necessary anymore. Why rebuild something if it works. Why fix it if it’s not broken? 31:00 – Chuck talks about his experience. 31:13 – Chris continues his thoughts. Chris: Start growing a community. 32:01 – Chuck: What ways can people get involved within their community? 32:13 – Chris: Meetup. There are a lot of opportunities out there. Just going online and seeing where the conferences 34:08 – Chris: It’s interesting when I coach people on public speaking. Sharing your knowledge and learning experience is great! 34:50 – Chuck: If they are learning how to code then...by interacting with people you can get closer to what you need/want. 35:30 – Chris continues this conversation. 35:49 – Chris: You can be the person that helps with x, y, z. Just by getting your name known then you can get a job offer. 36:23 – Chuck: How do you find out what is really good content – what’s worth your time vs. what’s not worth your time? 36:36 –Chris says, “That’s tricky!” Chris answers the question. 37:19: Chris: The best things out there right now is... 38:45 – Chuck: Anything else that people want to bring up? 39:00 – Chris continues to talk. 42:26 – Aimee adds in her thoughts. Aimee: I would encourage people to... 43:00 – Chris continues the conversation. Chris: Each project is different, when I build a web app is different then when I build a... 45:07 – Panelist: I agree. You talked about abstractions that don’t go away. You use abstractions in what you use. At some point, it’s safe to rly on this abstraction, but not this one. People may ask themselves: maybe CoffeeScript wasn’t the best thing for me. 46:11 – Chris comments and refers to jQuery. 48:58 – Chris continues the conversation. Chris: I used to work on eight different projects and they worked on different interfaces. I learned about these different environments. This is the project we are now using, and this will like it for the end of time. This is where abstractions are the weird thing. What was the use of the abstraction if it doesn’t have longevity? I think we are building things too soon and too fast. 51:04 – Chris: When I work in browsers and come up with brand new stuff. 52:21 – Panelist: Your points are great, but there are some additional things we need to talk about. Let’s take jQuery as an example. There is a strong argument that if you misuse the browser... 53:45 – Chris: The main issue I have with jQuery is that people get an immediate satisfaction. What do we do besides this? 55:58 – Panelist asks Chris further questions. 56:25 – Chris answers. Chris: There are highly frequent websites that aren’t being maintained and they aren’t maintainable anymore. 57:09 – Panelist: Prototypes were invented because... 57:51 – Chris: It’s a 20/20 thing. 58:04 – Panelist: Same thing can be said about the Y2K. 58:20 – Panelist: Yes, they had to solve that problem that day. The reality is... 58:44 – Chris: We learned from that whole experience. 1:00:51 – Chris: There was a lot of fluff around it. 1:01:35 – Panelist: Being able to see the future would be a very helpful thing. 1:01:43 – Chris continues the conversation. 1:02:44 – Chuck: How do people get ahold of you? 1:03:04 – Twitter is probably the best way. 1:03:32 – Let’s go to picks! 1:03:36 - Advertisement Links: JavaScript So you Learned Java Script, what now? – Article WebHint Article by James Sinclair Clank! Angular GitHub Meetup Chris Heilmann’s Twitter Chris Heilmann’s Website Chris Heilmann’s Medium Chris Heilmann’s LinkedIn Chris Heilmann Chris Heilmann’s GitHub Smashing Magazine – Chris Heilmann jQuery CoffeeScript React Elixir Sponsors: Kendo UI Sentry Digital Ocean Cache Fly Picks : Amiee Hacker News - How to deal with dirty side effects in your pure functional JavaScript AJ KeyBase Joe Framework Summit Clank ASMR Charles Get a Coder Job Course The Iron Druid Chronicles Framework Summit Chris Web Unleashed Toronto Kurzgesagt It Is Just You, Everything’s Not Shit Full Article
ma JSJ 334: “Web Performance API” with Dan Shappir By devchat.tv Published On :: Tue, 09 Oct 2018 06:00:00 -0400 Panel: Aimee Knight Charles Max Wood Christopher Ferdinandi (Boston) Special Guests: Dan Shappir (Tel Aviv) In this episode, the panel talks with Dan Shappir who is a computer software developer and performance specialist at Wix.com. As Dan states, his job is to make 100 million websites (hosted on the Wix platform) load and execute faster! Past employment includes working for companies, such as: Ericom, Ericom Software, and BackWeb. He studied at Technion Institute of Management and currently lives in Tel Aviv, Israel. The panel talks about web performance API among other things. Check it out! Show Topics: 1:29 – Charles: Let us know who you are and why you’re famous! 1:39 – “Hello!” from Dan Shappir. 2:25 – Charles: You should say that you go to EACH site EVERY day out of the millions of sites out there. 2:53 – Charles: My mom mentioned Wix to me at first. My mom teaches High School Math. 3:16 – Dan: Yes that is our mission statement. That everyone can get a website without the knowledge of how to build a website. 3:52 – Aimee makes her comments. 3:59 – Dan: On our platform we try to offer people flexibility. There are bounds and limits, but people can do their very own thing, though. To make Wix faster because as we add more features and functionality that is our goal. 4:40 – Chuck: Okay, I know how to make X perform a little bit better. You are looking at a platform that controls TONS of sites, how do you even go about that? 4:58 – Dan: It is more difficult then that. We have millions of users leveraging the platform but there are a lot of developers in Wix who are developing the platform. I don’t think anyone at Wix has a total grasp of the complexity of the platform that we built. We have hundreds of frontend people working on our platform. All of them have pieces to the kingdom. We have processes in place with code reviews and whatnot, but there is so much going on. There is a change every 2 minutes, 24/7. We need to make sure progressing instead of regressing. 6:54 – Aimee: I think it was interesting in one of the links you sent over. Because you know when something is getting worse you consider that a bug. 7:15 – Dan: It is more than a bug because if we see regression in performance then that is a problem. I can literally see any part of the organization and say, “stop” if it will 7:57 – Chuck: We are talking about performance, but what does that mean? What measures are there? 8:15: Dan: We are looking at performance can mean different things in different contents. User sites, for example, most important aspect is load time. How quickly the page loads and gets open to the viewer to that specific site. When they click something they want it instantly and no drag time. It does change in different contexts. 9:58 – Chuck: People do talk about load time. People have different definitions of it. 10:12: Dan: Excellent question. When you look at the different sites through Wix. Different people who build sites – load time can mean something else to everybody. It can mean when you see the MAIN text or the MAIN image. If it’s on an ECON site then how soon can they purchase or on a booking site, how long can the person book X product. I heard someone at a conference say that load time is when: HERO TEXT And HERO IMAGE are displayed. 12:14 – Chuck: What is faster React or Vue? 12:21 – NEW HOST: Not sure. It all depends. 12:34 – Dan: We are big into React. We are one of the big React users outside of Facebook. I joined Wix four years ago, and even back then we were rebuilding our framework using React. One of our main modifications is because we wanted to do server-side rendered. 13:27 – Christopher asks Dan a question. 14:16 – Dan: We are in transition in this regard. Before we were totally client-site rendered, and that was the case until middle of last year. Then we deployed... Dan: We are 100% server-side rendered now. Some things we are still using JavaScript. We have another project going on now and it’s fully CSS, and little JavaScript as possible. What you might want to do with that site is... You might get in a few months every Wix site will be visible even if JavaScript is disabled. 16:26 – Aimee adds in her comments and observations to this topic. 16:55 – Dan: We don’t want things displayed incorrectly before it lays out. We hide the content while it’s downloading then make it visible. They lay-outing are done faster, because... 17:44 – Christopher asks Dan a question. 18:04 – Dan: I got into API... Either you are moving forward or are you moving back. AKA – You are either progressing or regressing. Different stages: 1.) Development stage 2.) Pre-Production (automated tools that check the performance with specific use cases) 3.) Check it out! It’s beneficial to use these APIs. 21:11 – Christopher: What is performance APIs? 21:38 – Dan: There is a working group – Todd from Microsoft and others who are exposing the information (that is available in the browser) out into the browser. When the browser downloads a certain source (image, font, etc.) it can measure the various stages of downloading that feature. You have these different sages of downloading this resource. The browser can measure each of these stages and then expose them to you. Basically it’s for the browser to expose this information to you and in a way that is coherent and uniform. It essentially maintains this buffer that puts performance entries sequentially. Dan continues explaining this topic in detail. 25:55 – Dan: You have this internal buffer... 28:45 – Advertisement – Sentry – They support opensource. 29:39 – Christopher: everything you are saying seems that I can use this or that tab right now... Why would I prefer the API to something visual, hypothetically? 30:03 – Dan: Three Different Stages. (See above.) This information is very, very helpful during the developmental stage. Say you got a link from someone... Dan mentions: Performance.mark 34:04 – Aimee: When you were talking about resource-ends. Many people don’t know what this is. Can you spend 2-3 minutes about how you guys are using these? Are there people can add for big bang for their buck? 34:41 – Dan: This might want to be a topic for its own podcast show. Dan gives a definition of what a resource-end means. Go back to fonts as an example. Pre-connect for example, too. 39:03 – Dan: Like I said, it’s a huge topic. You have to exercise some care. Bandwidth is limited. Make sure you aren’t blocking other resources that you do need right now. 40:02 – Aimee: Sounds like a lot of great things to tap into. Another question I have is about bundling. 40:27 – Dan: One of the things that we try to do (given that we are depending on the JavaScript we are downloading) we need to download JavaScript content to the client side. It has been shown often that JS is the most impactful resources that you need to download. You really want to be as smart as possible with that. What is even more challenging is the network protocols are changing. Dan continues to go in-depth about this topic. Dan: What we have found is that you want to strive to bundle resources together. 44:10 – Aimee: Makes sense. 44:15 – Dan continues talking about this topic. 45:23 – Chuck asks two questions. (First question is now and second question is at 51:32.) 2 Questions: 1. You gather information from web performance AI - What system is that? 45:42 – Dan: I am not the expert in that. I will try not to give misleading information. Actually let me phrase it different. There are 3rd party tools that you can use leverage in your website. IF you are building for commercial reasons I highly recommend that you use performance-monitoring solution. I am not going to advertise one because there are tons out there. We ended up rolling out our own infrastructure because our use case is different than most. At a conference I talked with a vendor and we talked about... 51:32 – 2nd Question from Charles to Dan: Now you’ve gathered this information now what to you do? What patterns? What do you look for? And how do you decide to optimize things? 54:23 – Chuck: Back to that question, Dan. How should they react to it and what are they looking for 54:41 – Dan: Three main ways: 1.) Generate alerts 2.) See trends over long period of time 3.) Looking at real-time graphs. Frontend developer pro is that likely being woken up in the middle of the night is lower. We might be looking at the real time graph after we deployed... 57:31 – Advertisement – Get a Coder Job! 58:10 – Picks! Links: JavaScript jQuery React Elixir Elm Vue Wix Window Performance Web Performance Terra Genesis Terra Genesis: Space Colony The One Thing DevChat TV – YouTube GitHub: Off Side HBO: Insecure Wix: Engineering JavaScript Riddle JavaScript Riddles for Fun and for Profit Dan Shappir’s Twitter Dan Shappir’s LinkedIn Dan Shappir’s Crunch Base Dan Shappir’s GitHub Dan Shappir’s Talk through Fluent Dan Shappir’s Medium Dan Shappir’s YouTube Talk: JavaScript riddles for fun and profit Sponsors: Code Badges Kendo UI Sentry Digital Ocean Cache Fly Picks: Aimee: Waking up early! How to Deal with Dirty Side Effects in Your Pure Functional JavaScript Chris: Offside - Toomuchdesign Insecure TV Show Charles: Terraform - Game “The One Thing" Code Badge DevChat on YouTube Dan Wix Engineering JavaScript Riddle Full Article
ma JSJ 337: Microstates.js – Composable State Primitives for JavaScript with Charles Lowell & Taras Mankovski By devchat.tv Published On :: Tue, 30 Oct 2018 06:00:00 -0400 Panel: Aimee Knight Charles Max Wood Joe Eames AJ O’Neil Chris Ferdinandi Special Guests: Charles Lowell (New Mexico) & Taras Mankovski (Toronto) In this episode, the panel talks with two special guests Charles and Taras. Charles Lowell is a principle engineer at Frontside, and he loves to code. Taras works with Charles and joined Frontside, because of Charles’ love for coding. There are great personalities at Frontside, which are quite diverse. Check out this episode to hear about microstates, microstates with react, Redux, and much more! Show Topics: 1:20 – Chuck: Let’s talk about microstates – what is that? 1:32 – Guest: My mind is focused on the how and not the what. I will zoom my mind out and let’s talk about the purposes of microstates. It means a few things. 1.) It’s going to work no matter what framework you are using. 2.) You shouldn’t have to be constantly reinventing the wheel. React Roundup – I talked about it there at this conference. Finally, it really needs to feel JavaScript. We didn’t want you to feel like you weren’t using JavaScript. It uses computer properties off of those models. It doesn’t feel like there is anything special that you are doing. There are just a few simple rules. You can’t mutate the state in place. If you work with JavaScript you can use it very easily. Is that a high-level view? 7:13 – Panel: There are a lot of pieces. If I spoke on a few specific things I would say that it enables programming with state machines. 7:42 – Panel: We wanted it to fell like JavaScript – that’s what I heard. 7:49 – Aimee: I heard that, too. 7:59 – Guest. 8:15 – Aimee: Redux feels like JavaScript to me. 8:25 – Guest: It’s actually – a tool – that it feels natural so it’s not contrived. It’s all JavaScript. 8:49 – Panel. 9:28 – Guest: Idiomatic Ember for example. Idiomatic in the sense that it gives you object for you to work with, which are simple objects. 10:12 – Guest: You have your reducers and your...we could do those things but ultimately it’s powerful – and not action names – we use method names; the name of the method. 11:20 – Panel: I was digging through docs, and it feels like NORMAL JavaScript. It doesn’t seem like it’s tied to a certain framework or library platform? 11:45 – Guest: Yes, we felt a lot of time designing the interfaces the API and the implementation. We wanted it to feel natural but a tool that people reach for. (Guest continues to talk about WHY they created microstates.) Guest: We wanted to scale very well what you need when your needs to change. 13:39 – Chuck: I have a lot of friends who get into React and then they put in Redux then they realize they have to do a lot of work – and that makes sense to do less is more. 14:17 – Guest: To define these microstates and build them up incrementally...building smaller microstates out of larger ones. Guest continued: Will we be able to people can distribute React components a sweet array of components ready for me to use – would I be able to do the same for a small piece of state? We call them state machines, but ultimately we have some state that is driving it. Would we be able to distribute and share? 16:15 – Panel: I understand that this is tiny – but why wouldn’t I just use the native features in specific the immutability component to it? 16:42 – Guest: I’m glad you asked that question. We wanted to answer the question... Guest: With microstates you can have strict control and it gives you the benefit of doing sophisticated things very easily. 18:33 – Guest: You mentioned immutability that’s good that you did. It’s important to capture – and capturing the naturalness of JavaScript. It’s easy to build complex structures – and there is an appeal to that. We are building these graphs and these building up these trees. You brought up immutability – why through it away b/c it’s the essence of being a developer. If you have 3-4-5 levels of nesting you have to de-structure – get to the piece of data – change it – and in your state transition 80% of your code is navigating to the change and only 20% to actually make the change. You don’t have to make that tradeoff. 21:25 – Aimee: The one thing I like about the immutability b/c of the way you test it. 21:45 – Guest: There a few things you can test. 23:01 – Aimee: You did a good job of explaining it. 23:15 – Guest: It makes the things usually hard easy! With immutability you can loose control, and if that happens you can get so confused. You don’t have a way to have a way to navigate to clarity. That’s what this does is make it less confusing. It gives you order and structure. It gives you a very clear path to do things you need to do. If there is a property on your object, and if there is a way to change it... 25:29 – Guest: The only constant is change no matter what framework you are working on. 24:46 – Chuck: We are talking about the benefits and philosophy. What if I have an app – and I realize I need state management – how do I put microstates into my app? It’s using Angular or React – how do I get my data into microstates? 26:35 – Guest: I can tell you what the integration looks like for any framework. You take a type and you passed that type and some value to the create function so what you get is a microstate. (The Guest continues diving into his answer.) 28:18 – Guest: That story is very similar to Redux, basically an event emitter. The state changes on the store. Maybe this is a good time to talk about the stability benefits and the lazy benefits because microstates is both of those things. Stability – if I invoke a transition and the result is unchanged – same microstate – it doesn’t emit an event. It recognizes it internally. It will recognize that it’s the same item. Using that in Ember or Redux you’d have to be doing thousands of actions and doing all that computation, but stability at that level. Also, stability in the sense of a tree. If I change one object then that changes it won’t change an element that it doesn’t need to change. 31:33 – Advertisement: Sentry.io 32:29 – Guest: I want to go back to your question, Chuck. Did we answer it? 32:40 – Chuck: Kind of. 32:50 – Guest. 32:59 – Guest: In Angular for example you can essentially turn a microstate... 33:51 – Guest: You could implement a connect, too. Because the primitive is small – there is no limit. 34:18 – Chuck summarizes their answers into his own words. 34:42 – Guest: If you were using a vanilla React component – this dot – I will bind this. You bind all of these features and then you pass them into your template. You can take it as a property...those are those handlers. They will perform the transition, update and what needs to be updated will happen. 35:55 – Chuck: Data and transitions are 2 separate things but you melded them together to feel like 1 thing. This way it keeps clean and fast. 36:16 – Guest: Every framework helps you in each way. Microstates let’s you do a few things: the quality of your data all in one place and you can share. 38:12 – Guest: He made and integrated Microstates with Redux tools. 38:28 – Guest talks about paths, microstates to trees. 39:22 – Chuck. 39:25 – Panel: When I think about state machines I have been half listening / half going through the docs. When I think of state machines I think about discreet operations like a literal machine. Like a robot of many steps it can step through. We have been talking about frontend frameworks like React - is this applicable to the more traditional systems like mechanical control or is it geared towards Vue layered applications? 40:23 – Guest: Absolutely. We have BIG TEST and it has a Vue component. 41:15 – Guest: when you create a microstate from a type you are creating an object that you can work with. 42:11 – Guest: Joe, I know you have experience with Angular I would love to get your insight. 42:33 – Joe: I feel like I have less experience with RX.js. A lot of what we are talking about and I am a traditionalist, and I would like you to introduce you guys to this topic. From my perspective, where would someone start if they haven’t been doing Flux pattern and I hear this podcast. I think this is a great solution – where do I get started? The official documents? Or is it the right solution to that person? 43:50 – Guest: Draw out the state machine that you want to represent in your Vue. These are the states that this can be in and this is the data that is required to get from one thing to the other. It’s a rope process. The arrow corresponds to the method, and... 44:49 – Panel: It reminds me back in the day of rational rows. 44:56 – Guest: My first job we were using rational rows. 45:22 – Panelist: Think through the state transitions – interesting that you are saying that. What about that I am in the middle – do you stop and think through it or no? 46:06 – Guest: I think it’s a Trojan horse in some ways. I think what’s interesting you start to realize how you implement your state transitions. 48:00 – (Guest continues.) 48:45 – Panel: That’s interesting. Do you have that in the docs to that process of stopping and thinking through your state transitions and putting into the microstate? 49:05 – Guest: I talked about this back in 2016. I outlined that process. When this project was in the Ember community. 49:16 – Guest: The next step for us is to make this information accessible. We’ve been shedding a few topics and saying this is how to use microstates in your project. We need to write up those guides to help them benefit in their applications. 50:00 – Chuck: What’s the future look like? 50:03 – Guest: We are working on performance profiling. Essentially you can hook up microstates to a fire hose. The next thing is settling on a pattern for modeling side effects inside microstates. Microstates are STATE and it’s immutable. 52:12 – Guest: Getting documentation. We have good README but we need traditional docs, too. 52:20 – Chuck: Anything else? 52:28 – Guest: If you need help email us and gives us a shot-out. 53:03 – Chuck: Let’s do some picks! 53:05 – Advertisement for Charles Max Wood’s course! Links: Kendo UI Frontside Redux Microstates Microstates with React Taras Mankovski’s Twitter Taras Mankovski’s GitHub Taras Mankovski’s LinkedIn Taras Mankovski’s Frontside Bio Charles Lowell’s Twitter Charles Lowell’s GitHub Charles Lowell’s Frontside Bio Schedule Once Ruby on Rails Angular Get A Coder Job YouTube Talks Email: cowboyd@frontside.io Working with State Machines Twitch TV BigTest Close Brace REEF The Developer Experience YouTube Video Sponsors: Kendo UI Sentry.io – 2 months free – DEVCHAT/code Get A Coder Job Picks: Aimee ShopTalk Episode 327 Professional JavaScript for Web Developers Technical Debt Stripe Taras Twitch Channel Big Test Frontside Charles Lowell Chalkboards Sargent Art Chalk Chris Close Brace LaCroix Water Chris’s Git Hub Joe The Developer Experience Bait and Switch Good Bye Redux Recording Dungeon and Dragons AJ UtahJS Conf Start with Why The Rust Book VanillaJS w/ Chris Zero to One Charles Podwrench.com - beta getacoderjob.com Full Article
ma JSJ 338: It’s Supposed To Hurt, Get Outside of Your Comfort Zone to Master Your Craft with Christopher Buecheler By devchat.tv Published On :: Tue, 06 Nov 2018 06:00:00 -0500 Panel: Aimee Knight AJ O’Neal Aaron Frost Christopher Ferdinandi Special Guests: Christopher Buecheler In this episode, the panel talks with Christopher Buecheler who is an author, blogger, web developer, and founder of CloseBrace. The panel and Christopher talk about stepping outside of your comfort zone. With a technological world that is ever changing, it is important to always be learning within your field. Check out today’s episode to learn more! Show Topics: 0:00 – Advertisement: KENDO UI 1:08 – Aimee: Our guest is Christopher Buecheler – tell us about yourself and what you do. 1:22 – Guest: I run a site and help mid-career developers. I put out a weekly newsletter, too. 2:01 – Aimee: It says that you are a fan of “getting comfortable being uncomfortable”? 2:15 – Guest: I am a self-taught developer, so that means I am scrambling to learn new things all the time. You are often faced with learning new things. When I learned React I was dumped into it. The pain and the difficulty are necessary in order to improve. If you aren’t having that experience then you aren’t learning as much as you could be. 3:26 – Aimee: I borrow lessons that I learned from ice-skating to programming. 3:49 – Guest: I started running a few years ago for better health. It was exhausting and miserable at the start and wondered why I was doing it. Now I run 5 times a week, and there is always a level of being uncomfortable, but now it’s apart of the run. It’s an interesting comparison to coding. It’s this idea of pushing through. 5:01 – Aimee: If you are comfortable you probably aren’t growing that much. In our industry you always have to be learning because things change so much! 5:25 – Guest: Yes, exactly. If you are not careful you can miss opportunities. 6:33 – Panel: You have some ideas about frameworks and libraries – one thing that I am always anxious about is being able to make sense of “what are some new trends that I should pay attention to?” I remember interviewing with someone saying: this mobile thing is just a fad. I remember thinking that she is going to miss this opportunity. I am worried that I am going to be THAT guy. How do you figure out what sort of things you should / shouldn’t pay attention to? 7:47 – Guest: It is a super exhausting thing to keep up with – I agree. For me, a lot of what I pay attention to is the technology that has the backing of a multi-million dollar company then that shows that technology isn’t going anywhere, anytime soon. The other thing I would look at is how ACTIVE is the community around it? 9:15 – Panel: Is there a strategic way to approach this? There is so many different directions that you can grow and push yourself within your career? Do you have any kinds of thoughts/tips on how you want your career to evolve? 10:00 – Guest: I am trying to always communicate better to my newsletter audience. Also, a good approach, too, is what are people hiring for? 11:06 – Aimee: Again, I would say: focus on learning. 11:30 – Panel: And I agree with Aimee – “learn it and learn it well!” 12:01 – Panel: I want to ask Chris – what is CloseBrace? 12:17 – Guest: I founded it in November 2016, and started work on it back in 2013. 14:20 – Panel: It was filled with a bunch of buzz worthy words/title. 14:32 – Guest continues his thoughts/comments on CloseBrace. 16:54 – Panel: How is the growth going? 17:00 – Guest: It is growing very well. I put out a massive, massive tutorial course – I wouldn’t necessarily advice that people do this b/c it can be overwhelming. However, growth this year I have focused on marketing. I haven’t shared numbers or anything but it’s increased 500%, and I am happy about it. 18:05 – Panel: Are you keeping in-house? 18:13 – Guest: I think it would be cool to expand, but now it is in-house. I don’t want to borrow Egg Head’s setup. I would love to cover MORE topics, though. 19:05 – Panel: You are only one person. 19:08 – Guest: If I can get the site creating more revenue than I can hire someone to do video editing, etc. 19:35 – Panel: I think you are overthinking it. 19:45 – Guest. 19:47 – Advertisement – Sentry.io 20:47 – Guest. 21:30 – Aimee: There are SO many resources out there right now. Where do you think you fit into this landscape? 21:44 – The landscape is cluttered, but I feel that I am different b/c of my thoroughness. I don’t always explain line by line, but I do say how and why things work. I think also is my VOICE. Not my radio voice, but the tone and the approach you take with it. 23:25 – Panel: I was trying to copy folks in the beginning of my career. And at some point I realized that I needed to find my own style. It always came down to the reasons WHY I am different rather than the similarities. Like, Chris, you have these quick hits on CloseBrace, but some people might feel like they don’t have the time to get through ALL of your content, because it’s a lot. For me, that’s what I love about your content. 24:46 – Christopher: Yeah, it was intentional. 25:36 – Panel: Good for you. 25:49 – Guest: I am super device agnostic: Android, Mac, PC, etc. I have a lot of people from India that are more Microsoft-base. 26:28 – Aimee: I think Egghead is pretty good about this...do you cover testing at all with these things that you are doing? It’s good to do a “Hello World” but most of these sites don’t get into MORE complex pieces. I think that’s where you can get into trouble. It’s nice to have some boiler point testing, too. 27:18 – Guest answers Aimee’s question. 28:43 – Aimee: We work with a consultancy and I asked them to write tests for the things that we work with. That’s the value of the testing. It’s the code that comes out. 29:10 – Panel: Can you explain this to me. Why do I need to write tests? It’s always working (my code) so why do I have to write a test? 29:39 – Guest: When working with AWS I was writing... 31:01 – Aimee: My biggest thing is that I have seen enough that the people don’t value testing are in a very bad place, and the people that value testing are in a good place. It even comes back to the customers, because the code gets so hard that you end up repeatedly releasing bugs. Customers will stop paying their bills if this happens too often for them. 33:00 – Panel: Aimee / Chris do you have a preferred tool? I have done testing before, but not as much as I should be doing. 33:25 – Aimee: I like JEST and PUPPETEER. 33:58 – Guest: I like JEST, too. 34:20 – Aimee: Let’s go to PICKS! 34:35 – Advertisement – eBook: Get a coder job! Links: JavaScript jQuery React Elixir Elm Vue JEST Puppeteer Podflix Autojump Brutalist Web Design YouTube: Mac Miller Balloon Fiesta DocZ CloseBrace Christopher Buecheler’s Website Christopher Buecheler’s LinkedIn Christopher Buecheler’s GitHub Go Learn Things – Chris Ferdinandi Sponsors: Kendo UI Sentry Cache Fly Get a Coder Job Picks: Aimee Podflix Chris F. AutoJump Brutalist Web Design Mac Miller Tiny Desk Concert AJ Canada Dry with Lemonade Aaron ABQ Ballon Festival Joe Eames DND Recording Channel Christopher Docz South Reach Trilogy Jeff Vandermeer Full Article
ma JSJ 339: Node.js In Motion Live Video Course from Manning with PJ Evans By devchat.tv Published On :: Tue, 13 Nov 2018 06:00:00 -0500 Panel: Aimee Knight AJ O’Neal Charles Max Wood Special Guest: PJ Evans In this episode, the panel talks with PJ Evans who is a course developer and an instructor through Manning’s course titled, “Node.js in Motion.” This course is great to learn the fundamentals of Node, which you can check out here! The panel and PJ talk about this course, his background, and current projects that PJ is working on. Check out today’s episode to hear more! Show Topics: 0:00 – Advertisement: KENDO UI 0:36 – Chuck: Welcome and our panel consists of Aimee, AJ, myself, and our special guest is PJ Evans. Tell us about yourself and your video course! NODE JS in Motion is the title of the course. Can you tell us more? 1:29 – PJ: It’s a fantastic course. 2:25 – Chuck: You built this course and there is a lot to talk about. 2:36 – Aimee: Let’s talk about Node and the current state. 2:50 – Chuck: Here’s the latest features, but let’s talk about where do you start with this course? How do you get going with Node? What do people need to know with Node? 3:20 – Aimee. 3:24 – PJ talks about Node and his course! 4:02 – PJ: The biggest headache with Node is the... 4:13 – Chuck. 4:19 – PJ: I am sure a lot of the listeners are familiar with callback hell. 4:50 – Aimee: Let’s talk about the complexities of module support in Node! 5:10 – PJ: It’s a horrible mess. 5:17 – Aimee: Maybe not the tech details but let’s talk about WHAT the problem is? 5:31 – PJ: You are talking about Proper Native ES6 right? They are arguing about how to implement it. 6:11 – PJ: My advice is (if you are a professional) is to stick with the LT6 program. No matter how tensing those new features are! 6:46 – Aimee: It could be outdated but they had to come back and say that there were tons of complexities and we have to figure out how to get there. 7:06 – PJ: They haven’t found an elegant way to do it. 7:15 – Panel: If it’s a standard why talk about it? Seriously – if this is a standard why not implement THE standard? 7:38 – PJ. 8:11 – Panel. 8:17 – Aimee: I would love to talk about this, though! 8:24 – Chuck: I want to talk about the course, please. 8:30 – PJ. 8:54 – Chuck: We will keep an eye on it. 9:05 – PJ. 9:16 – PJ: How is it on the browser-side? 9:33 – Aimee: I don’t want to misspeak. 9:41 – Chuck: I don’t know how complete the forms are. 9:49 – Aimee: I don’t want to misspeak. 9:56 – PJ: I just found the page that I wanted and they are calling it the .MJS or aka the Michael Jackson Script. You can do an import from... Some people think it’s FINE and others think that it’s a TERRIBLE idea. 10:42 – Chuck: “It sounds like it’s a real THRILLER!” 10:52 – Panel. 11:25 – Panel: When you start calling things the Michael Jackson Solution you know things aren’t well. 11:44 – Aimee: Just to clarify for users... 11:57 – Chuck: I want to point us towards the course: NODE.JS. Chuck asks two questions. 12:34 – PJ: The concepts aren’t changing, but the information is changing incredibly fast. The fundamentals are fairly settled. 13:22 – Chuck: What are those things? 13:28 – PJ talks about how he structured the course and he talks about the specifics. 15:33 – Chuck: Most of my backend stuff is done in Ruby. Aimee and AJ do more Java then I do. 15:55 – Panel: I think there is something to understanding how different Node is. I think that Node is a very fast moving train. Node has a safe place and that it’s good for people to know about this space. 16:34 – Aimee: Not everyone learns this way, but for me I like to understand WHY I would want to use Node and not another tool. For me, this talk in the show notes really helped me a lot. That’s the core and the nature of NODE. 17:21 – PJ: Yes, absolutely. Understanding the event loop and that’s aimed more towards people from other back ends. Right from the beginning we go over that detail: Here is how it works, we give them examples, and more. 18:08 – Aimee: You can do more than just create APIs. Aimee mentions Vanilla Node. 18:50 – PJ: To get into frameworks we do a 3-line server. We cover express, and also Sequelize ORM. 19:45 – Advertisement – Sentry.io 20:43 – Chuck: I never used Pug. 20:45 – PJ: PUG used to be called JADE. 20:56 – Aimee. 21:14 – PJ: Express does that for you and I agree with you. I advocate a non-scripted approach, I like when frameworks have a light touch. 22:05 – Aimee: That’s what I liked about it. No offense, Chuck, but for me I didn’t like NOT knowing a lot of what was not happening under the hood. I didn’t want to reinvent the wheel, but I wanted to build at a lower level. 22:40 – PJ: I had the same experience. I wanted to figure out why something wasn’t working. 23:24 – Panel: I had a friend who used Rails...he was cautious to make a switch. This past year he was blown away with how much simpler it was and how fast things were. 24:05 – Aimee: I feel like if you want to learn JavaScript then Node might be easier on the frontend. 24:21 – Chuck: No pun intended. No, but I agree. I like about Rails is that you had well-understood patterns. But the flipside is that you have abstractions... To a certain degree: what did I do wrong? And you didn’t follow the pattern properly. 25:57 – Panel: With Node you get a little bit of both. To me it’s a more simple approach, but the downside is that you have 100’s of 1,000’s of modules that almost identical things. When you start reaching out to NPM that... 26:29 – PJ: Yes the module system of NPM is the best/worst thing about NODE. I don’t have an answer, honestly. There is a great article written that made me turn white. Here is the article! 28:12 – Panel: The same thing happened with the ESLint. That was the very problem that he was describing in the article. 28:50 – PJ: Yep, I put that in the chat there – go ahead and read it! It’s not a problem that’s specific to Node, there are others. It’s the way we do things now. 29:23 – Chuck: We have the NODE Security project. A lot of stuff go into NPM everyday. 29:43 – PJ: We cover those things in the course. 29:53 – Chuck: It’s the reality. Is there a place that people get stuck? 30:00 – PJ answers the question. 30:23 – Aimee. 30:55 – PJ: I am coding very similar to my PHP days. 31:20 – Aimee. 32:02 – PJ: To finish off my point, I hope people don’t loose sight. 32:18 – Aimee. 32:20 – PJ: I am working on a project that has thousands of requests for... 32:53 – Chuck: Anything you WANTED to put into the course, but didn’t have time to? 33:05 – PJ: You can get pretty technical. It’s not an advanced course, and it won’t turn you into a rock star. This is all about confidence building. It’s to understand the fundamentals. It’s a runtime of 6 hours and 40 minutes – you aren’t just watching a video. You have a transcript, too, running off on the side. You can sit there and type it out w/o leaving – so it’s a very interactive course. 34:26 – Chuck: You get people over the hump. What do you think people need to know to be successful with Node? 34:38 – PJ answers the question. PJ: I think it’s a lot of practice and the student to go off and be curious on their own terms. 35:13 – Chuck: You talked about callbacks – I am thinking that one is there to manage the other? 35:31 – PJ answers the question. PJ: You do what works for you – pick your style – do it as long as people can follow you. Take the analogy of building a bridge. 36:53 – Chuck: What are you working on now? 37:00 – PJ: Educational tool called SCHOOL PLANNER launched in Ireland, so teachers can do their lesson planning for the year and being built with Express. Google Classroom and Google Calendar. 39:01 – PJ talks about Pi and 4wd. See links below. 40:09 – Node can be used all over the place! 40:16 - Chuck: Yes, the same can be said for other languages. Yes, Node is in the same space. 40:31 – PJ: Yep! 40:33 – Chuck: If people want to find you online where can they find you? 40:45 – PJ: Twitter! Blog! 41:04 – Picks! 41:05 – Advertisement – eBook: Get a coder job! Links: JavaScript jQuery React Elixir Elm Vue ESLint Node.js Node Security Project Node Security Project - Medium Manning Publications: Course by PJ Evans PUG JSConf EU – talk with Philip Roberts Medium Article by David Gilbertson Hackster.io – Pi Car Pi Moroni Holding a Program in One’s Head PJ Evans’ Twitter Sponsors: Kendo UI Sentry Cache Fly Get a Coder Job Picks: Aimee Paul Graham - Blog AJ Rust Charles Tweet Mash-up The Diabetes Code PJ Music - Max Richter Full Article
ma JSJ 354: Elm with Richard Feldman By devchat.tv Published On :: Tue, 05 Mar 2019 06:00:00 -0500 Sponsors Kendo UI Sentry use the code “devchat” for $100 credit Clubhouse CacheFly Panel Joe Eames Aimee Knight Joined by special guest: Richard Feldman Episode Summary In this episode of JavaScript Jabber, Richard Feldman, primarily known for his work in Elm, the author of “Elm in Action” and Head of Technology at NoRedInk, talks about Elm 0.19 and the new features introduced in it. He explains how the development work is distributed between the Elm creator – Evan Czaplicki and the other members of the community and discusses the challenges on the way to Elm 1.0. Richard also shares some educational materials for listeners interested in learning Elm and gives details on Elm conferences around the world touching on the topic of having diversity among the speakers. He finally discusses some exciting things about Elm which would encourage developers to work with it. Links Elm in Action Frontend Masters – Introduction to Elm Frontend Masters – Advanced Elm Small Assets without the Headache Elm Guide ElmBridge San Francisco Renee Balmert Picks Aimee Knight: Most lives are lived by default Joe Eames: Thinkster Richard Feldman: Framework Summit 2018 – Keynote speech Nix Package Manager A Philosophy of Software Design Full Article
ma MJS 098: Vitali Zaidman By devchat.tv Published On :: Wed, 13 Mar 2019 06:00:00 -0400 Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Triplebyte offers a $1000 signing bonus Clubhouse CacheFly Host: Charles Max Wood Guest: Vitali Zaidman Episode Summary In this episode of My JavaScript Story, Charles hosts Vitali Zaidman, Technical Lead at WellDone Software Solutions. He is also the author of the popular blog piece: “An Overview of JavaScript Testing in 2019”. Vitali has been writing code since he was 13 years old. After completing his military service, he attended The Open University of Israel where he took computer science courses. He picked JavaScript not knowing that it was going to be so popular. He has been working for WellDone Software Solutions since he was a student where he has had the chance to work in many different projects. Vitali feels in order to keep up with technology it is important to work in different projects. Vitali talks about projects he has worked on that he is proud of, one of which is his library at https://github.com/welldone-software/why-did-you-render Links JSJ 331: An Overview of JavaScript Testing in 2018 with Vitali Zaidman https://www.facebook.com/vzaidman https://twitter.com/vzaidman https://github.com/vzaidman https://medium.com/@vzaidman https://bitsrc.io/vzaidman https://www.welldone-software.com/ https://www.powtoon.com/home/? Picks Vitali Zaidman: https://www.testim.io/ https://applitools.com/ An Overview of JavaScript Testing in 2019 by Vitali Zaidman https://github.com/welldone-software/why-did-you-render Charles Max Wood: https://www.vrbo.com/ https://paradehomes.com/web/ https://www.tripit.com/web Player's Handbook Dungeons & Dragons Core Rule Book Full Article
ma JSJ 357: Event-Stream & Package Vulnerabilities with Richard Feldman and Hillel Wayne By devchat.tv Published On :: Tue, 26 Mar 2019 06:00:00 -0400 Sponsors Triplebyte Sentry use the code “devchat” for $100 credit Clubhouse CacheFly Panel Aaron Frost AJ O’Neal Chris Ferdinandi Joe Eames Aimee Knight Charles Max Wood Joined by special guests: Hillel Wayne and Richard Feldman Episode Summary In this episode of JavaScript Jabber, Hillel Wayne kicks off the podcast by giving a short background about his work, explains the concepts of formal methods and the popular npm package - event-stream, in brief. The panelists then dive into the recent event-stream attack and discuss it at length, focusing on different package managers and their vulnerabilities, as well as the security issues associated with them. They debate on whether paying open source developers for their work, thereby leading to an increase in contribution, would eventually help in improving security or not. They finally talk about what can be done to fix certain dependencies and susceptibilities to prevent further attacks and if there are any solutions that can make things both convenient and secure for users. Links STAMP model in accident investigation Hillel’s Twitter Hillel’s website Richard’s Twitter Stamping on Event-Stream Picks Joe Eames: Stuffed Fables Aimee Knight: SRE book - Google Lululemon leggings DVSR - Band Aaron Frost: JSConf US Chris Ferdinandi: Paws New England Vanilla JS Guides Charles Max Wood: Sony Noise Cancelling Headphones KSL Classifieds Upwork Richard Feldman: Elm in Action Sentinels of the Multiverse Hillel Wayne: Elm in the Spring Practical TLA+ Nina Chicago - Knitting Tomb Trader Full Article
ma JSJ 359: Productivity with Mani Vaya By devchat.tv Published On :: Tue, 09 Apr 2019 06:00:00 -0400 Get Mani's 2x Productivity Course Sponsors Sentry use the code “devchat” for $100 credit Triplebyte CacheFly Panel Aaron Frost AJ O’Neal Joe Eames Aimee Knight Charles Max Wood Joined by special guest: Mani Vaya Episode Summary Mani is the founder of a book summary business called www.2000books.com At 2000 Books, Mani studies the world’s greatest business and personal development books. Then he takes the most important ideas from each book and presents them in tight, 9- to 15-minute video summaries. You get the 4-7 most important ideas in a condensed format that's easy to absorb, easy to review, and easy to put into action immediately. To help people with productivity, Mani created an awesome course called “10x Productivity" His “10x Productivity" video course contains summaries of the 50 greatest books ever written on time management, productivity, goal setting, systems, execution, strategy and leverage. "10x Productivity" pack includes summaries of all the NY Times Best Sellers on Productivity & Time Management, such as: The 7 Habits of Highly Effective People by Stephen Covey Getting Things Done by David Allen Deep Work by Cal Newport The Power of Habit by Charles Duhigg The One Thing by Gary Keller Essentialism by Greg McKeown All together, this collection includes more than 250 strategies, tips, tools & techniques for: - Becoming more productive - Getting results rather than being busy, stressed out & frustrated - Time Management - Defeating procrastination - Achieving big goals - Hacking your brain for high performance - Identifying the highest leverage points that lead to much faster results - Creating powerful habits - Installing execution systems that make goal achievement inevitable 10x Productivity Package contains: Summaries of the 50 greatest books ever written on Productivity & Time Management 250+ greatest ideas, tips and strategies on Time Management & Productivity 10+ Hours of no-fluff solid Video Content PDF Summaries of all 50 books Since Mani is my friend and fellow mastermind member, I worked with him to get you guys an amazing discount (using discount code “DEVCHAT”) on the 10x Productivity Book Summary Pack which you can find here Make sure to use the Coupon code “DEVCHAT” to get the discount. Links Mani’s 2x Productivity Course use the code “devchat” for a discount Picks AJ O’Neal: M. Night Shyamalan’s The Village colophony/pine sap/rosin/flux for electronics work Aimee Knight: Interested In Becoming A Site Reliability Engineer? blog post Charles Max Wood: Entreprogrammers episode 248 Kanbonflow Physical Pomodoro timer Mani Vaya: NPR’s How I Built This podcast 2000 Books podcast Full Article
ma JSJ 362: Accessibility with Chris DeMars By devchat.tv Published On :: Tue, 30 Apr 2019 06:00:00 -0400 Sponsors Sentry use code “devchat” for 2 months free Triplebyte $1000 signing bonus Panel Charles Max Wood Aimee Knight Chris Ferdinandi AJ O’Neal Joe Eames Joined by Special Guest: Chris DeMars Episode Summary Special guest Chris DeMars is from Detroit, MI. Currently, he works for Tuft and Needle and is an international speaker, Google developer expert, Microsoft mvp, and web accessibility specialist. He comes from a varied work background, including truck driving and other non-tech jobs. Today the panel discusses web accessibility for people with disabilities. According to a study done by WebAIM, 97.8% of homepages tested had detectable WCAG 2 failures. The panel discusses why web accessibility is doing so poorly. Chris talks about some of the biggest mistakes he sees and some very simple fixes to make sites more accessible. Chris talks about the importance of manual testing on screen readers and emphasizes that it is important to cover the screen to make sure that it really works with a screen reader. Chris talks about some of the resources available for those who wish to increase accessibility on their sites. The team discusses tactics for prioritizing accessibility and if there is a moral obligation to make sites accessible to those with disabilities. Chris talks about his experience making accessibility a priority for one of the companies he worked for in the past. They discuss the futue of legal ramifications for sites that do not incorporate accessibility, and what responsibility falls on the shoulders of people who regularly use assistive devices to notify companies of issues. They finish the show with resources available to people who want to learn more. Links The DOM Semantic markup writings Alt attribute Axe by DeQue Bootstrap Aria lable WebAim study Follow DevChat on Facebook and Twitter Picks Charles Max Wood: LootCrate Aimee Knight: Implementing Git in Python tutorial Chris Ferdinandi: "Fighting Uphill" by Eric Bailey “The Web We Broke” by Ethan Marcotte AllBirds sneakers Newsletter AJ O’Neal: Golang Channel vs Mutex vs WaitGroup Nobuo Uematsu The Best Way to Tin Enameled Wire Joe Eames: Gizmos board game Thinkster.io accessibility course (not released yet) Chris DeMars: Dixxon Flannel Company Aquis.com accessibility simulator Refactr accessibility workshop in June Follow Chris Full Article
ma MAS 082: James Daniels and Alex Okrushko By Published On :: Tue, 18 Jun 2019 06:00:00 -0400 Full Article
ma MJS 114: Christian Heilmann By devchat.tv Published On :: Tue, 02 Jul 2019 06:00:00 -0400 Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan CacheFly Host: Charles Max Wood Joined By Special Guest: Christian Heilmann Episode Summary Christian is a Principal Software Development Engineer at Microsoft, working out of Berlin, Germany. Links JavaScript Jabber 332: “You Learned JavaScript, Now What?” with Chris Heilmann https://christianheilmann.com/ Christian's Twitter Christian's LinkedIn Christian's Medium Christian's GitHub https://www.facebook.com/javascriptjabber https://twitter.com/JSJabber https://www.facebook.com/DevChattv Picks Christian Heilmann: https://webhint.io/ http://csstricks.com/ https://dev.to/ https://codepen.io/ Microsoft Edge Insider Charles Max Wood: Privacy Badger - Google Chrome Emacs Adventures in DevOps - new podcast on https://devchat.tv/ Full Article
ma JSJ 376: Trix: A Rich Text Editor for Everyday Writing with Javan Makhmali By devchat.tv Published On :: Tue, 23 Jul 2019 06:00:00 -0400 Sponsors Datadog Sentry use code “devchat” for 2 months free Panel Aimee Knight Chris Ferdinandi Christopher Beucheler AJ O’Neal With Special Guest: Javan Makhmali Episode Summary Today’s guest is Javan Makhmali, who works for Basecamp and helped develop Trix. Trix is a rich text editor for the web, made purposefully simple for everyday use instead of a full layout tool. Trix is not the same as Tiny MCE, and Javan discusses some of the differences. He talks about the benefits of using Trix over other native browser features for text editing. He talks about how Trix has simplified the work at Basecamp, especially when it came to crossing platforms. Javan talks more about how Trix differs from other text editors like Google Docs and contenteditable, how to tell if Trix is functioning correctly, and how it works with Markdown. The panel discusses more specific aspects of Trix, such as Exec command. One of the features of Trix is it is able to output consistently in all browsers and uses semantic, clean HTML instead of classnames. Javan talks about how Trix handles getting rid of the extraneous cruft of formatting when things are copy and pasted, the different layers of code, and the undo feature. He talks about whether or not there will be more features added to Trix. The panel discusses who could benefit from using Trix. The show finishes with Javan talking about Basecamp’s decision to make Trix open source and why they code in CoffeeScript. Links Trix Tiny MCE Contenteditable Markdown SVG HTML CoffeeScript Follow DevChat on Facebook and Twitter Picks Javan Makhmali: API for form submissions Chris Ferdinandi: CSS Grid Alex Russel Twitter thread How To Live a Vibrant Life with Early Stage Dementia AJ O’Neal: Mario and Chill Chip Tunes 4 Autism: Catharsis Toilet Auger Christopher Beucheler: Medium to Own blog Aimee Knight: Absolute Truth Unlearned as Junior Developer Full Article
ma JSJ 377: Bringing Maps and Location Into Your Apps with the ArcGIS API for JavaScript with Rene Rubalcava By devchat.tv Published On :: Thu, 25 Jul 2019 06:00:00 -0400 Sponsors Datadog Sentry use code “devchat” for 2 months free Panel Aimee Knight AJ O’Neal Charles Max Wood With Special Guest: Rene Rubalcava Episode Summary Rene is a software developer for ESRI and works in spatial and mapping software. ESRI has been around since 1969 and has seen their work explode since they shifted to providing address and location services. Rene talks about how he thinks about location and mapping when building software around it and things that he has to approach in unique ways. The panel discusses some of their past experiences with location software. Some of the most difficult aspects of this software is changing time zones for data and actually mapping the Earth, since it is not flat nor a perfect sphere. Rene talks about the different models used for mapping the Earth. Most mapping systems use the same algorithm as Google maps, so Rene talks about some of the specific features of ArcGIS, including the ability to finding a point within a polygon. Rene talks about what routing is, its importance, and how it is being optimized with ArcGIS, such as being able to add private streets into a regular street network. The panel discusses how the prevalence of smartphones has changed mapping and GPS and some of their concerns with privacy and location mapping. One thing ESRI is very careful about is not storing private information. Rene talks about the kinds of things he has seen people doing with the mapping and location data provided by ArcGIS, including a Smart Mapping feature for developers, mapping planets, indoor routing, and 3D models. Links Webricate Esri ArcGIS Follow DevChat on Facebook and Twitter Picks Rene Rubalcava: Old Man’s War series Always Be My Maybe Rene’s website AJ O’Neal: INTL Colorful Time zones in Postgress Time zones in JavaScript Aimee Knight: Advice to Less Experienced Developers Charles Max Wood: Heber Half Marathon Netlify CMS Villainous Firefox Full Article
ma JSJ 378: Stencil and Design Systems with Josh Thomas and Mike Hartington By devchat.tv Published On :: Tue, 30 Jul 2019 06:00:00 -0400 Sponsors Datadog Sentry use code “devchat” for 2 months free Panel Aimee Knight Chris Ferdinandi Joe Eames AJ O’Neal Charles Max Wood With Special Guests: Josh Thomas and Mike Hartington Episode Summary Today’s guests Josh Thomas and Mike Hartington are developers for Ionic, with Josh working on the open source part of the framework on Ionic. They talk about their new compiler for web components called Stencil. Stencil was originally created out of work they did for Ionic 4 (now available for Vue, React, and Angular) and making Ionic 4 able to compliment all the different frameworks. They talk about their decision to build their own compiler and why they decided to open source it. Now, a lot of companies are looking into using Stencil to build design systems The panel discusses when design systems should be implemented. Since Ionic is a component library that people can pull from and use themselves, Jeff and Mike talk about how they are using Stencil since they’re not creating a design system. The panel discusses some of the drawbacks of web components. They discuss whether or not Cordova changes the game at all. One of the big advantages of using Stencil is the code that is delivered to a browser is generated in such a way that a lot of things are handled for you, unlike in other systems.The panelists talk about their thoughts on web components and the benefits of using a component versus creating a widget the old fashioned way. One such benefit of web components is that you can change the internals of how it works without affecting the API. Josh and Mike talk about some of the abilities of Stencil and compare it to other things like Tachyons. There is a short discussion of the line between frameworks and components and the dangers of pre optimization. If you would like to learn more about Stencil, go to stenciljs.com and follow Josh and Mike @Jtoms1 and @mhartington. Click here to cast your vote NOW for JavaScript Jabber - Best Dev Podcast Award Links Building Design Systems book Stencil Cordova Shadow DOM Tachyons Ionic 4 Follow DevChat on Facebook and Twitter Picks Aimee Knight: What Does Debugging a Program Look Like? AJ O’Neal: Legend of Zelda: Link’s Awakening Neon Genesis Evangelion soundtrack Prettier Chris Ferdinandi: Kindle Paperwhite Company of One Charles Max Wood: Ladders with feet Lighthouse Acorns Joe Eames: Moment.js How To Increase Your Page Size by 1500% article Day.js Josh Thomas: Toy Story 4 Mike Hartington: Building Design Systems Youmightnotneed.com Full Article
ma MJS 117: The Devchat.tv Mission and Journey with Charles Max Wood By devchat.tv Published On :: Tue, 30 Jul 2019 06:00:00 -0400 Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan CacheFly Host: Charles Max Wood Episode Summary Charles talks about his journey as a podcaster and his mission with Devchat.tv. Devchat.tv is designed to home podcasts that speak to all developer communities. Charles also plans Devchat.tv to host shows for technologies that are on the verge of a breakthrough and will be a lot more widely available in the near future such as Artificial Intelligence (AI), Internet of Things (IoT), Virtual Reality (VR) and Augmented Reality (AR). There are new shows being added continuously to reach out to new communities, some examples of which are: a Data Science show, a DevOps show and an Open Source show. As a kid, Charles would record his own shows on a tape recorder. He was always interested in technology. While studying Computer Engineering at Brigham Young University, he worked in the University's Operations Center. Upon graduation, he started working for Mozy where he was introduced to podcasts. Listen to the show to find out the rest of Charles' story, some of the lessons and tips he learned throughout his journey and the evolution of the shows on Devchat.tv. If there isn't a show for your community and you would like there one to be, reach out to Charles. Also if there was a podcast about a programming related subject that ended abruptly and you would like it to continue, reach out to Charles. Devchat.tv would like to host these podcasts. Links Charles' Twitter EverywhereJS JavaScript Community EverywhereRB Ruby and Rails Community Find Your Dream Job As A Developer Devchat.tv on Facebook Devchat.tv Picks EverywhereJS JavaScript Community EverywhereRB Ruby and Rails Community Netlify Eleventy https://github.com/cmaxw/devchat-eleventy Full Article
ma MJS 120: Thomas Grassl By devchat.tv Published On :: Tue, 27 Aug 2019 06:00:00 -0400 Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Ruby Rogues React Native Radio CacheFly Host: Charles Max Wood Joined by Special Guest: Thomas Grassl Episode Summary Thomas Grassl from SAP joins Charles Max Wood at OSCON to talk about what SAP is doing in the Open Source world. Thomas talks about SAP's recently released a UI5 Web Components. Charles wonders how the components will work with different frameworks and Thomas explains UI5 Web Components are HTML components and they should be used how regular HTML components are used. UI5 Web Components is Open Source so Thomas expects contributions from the Open Source community. Thomas then talks about UI5 Web Components' enterprise-ready functionality and scalability features as well as the security and accessibility aspects. They then talk about Thomas' position as Developer Relations in SAP and what it entails. Thomas then talks about the career opportunities that comes with customization on the enterprise scale. Finally Charles and Thomas talk about how SAP approaches developer relations and what developers should do if they would like to contribute to SAP Open Source project. Links UI5 Web Components- SAP Thomas' LinkedIn Thomas' Twitter Open Source & Software Development| O'Reilly OSCON SAP Open Source | Developer Full Article
ma JSJ 389: What Makes a 10x Engineer? By devchat.tv Published On :: Thu, 05 Sep 2019 06:00:00 -0400 Sponsors Sustain Our Software Sentry– use the code “devchat” for $100 credit Adventures in Blockchain Panel Charles Max Wood Episode Summary In today’s show, Chuck talks about the recent tweet thread about 10x engineers. He goes through each of the points in the tweet and talks about each of them in turn. There are only two points he sort of agrees with, and believes the rest to be absolute garbage. One of the issues with this tweet is that it doesn’t define what a 10x engineer is. Defining a 10x engineer is difficult because it is also impossible to measure a truly average engineer because there are many factors that play into measuring productivity. Chuck turns the discussion to what a 10x engineer is to him and how to find one. A 10x engineer is dependent on the organization that they are a part of, because they are not simply found, they are made. When a 10x engineer is added to a team, the productivity of the entire team increases. Employers have to consider firstly what you need in your team and how a person would fit in. You want to avoid changing the entire culture of your organization. Consider also that a 10x engineer may be hired as a 2x engineer, but it is the employer that turns them into a 10x engineer. Overall, Chuck believes these tweets are asinine because it’s impossible to measure what makes a 10x engineer in the first place, and hiring a person that fits the attributes in the list would be toxic to your company. Links 10x engineer twitter thread Follow DevChat on Facebook and Twitter Picks Charles Max Wood: Copyhackers.com Good to Great by Jim Collins Keto diet Podcast Movement Full Article
ma MJS 122: Rachel Roumeliotis and Roger Magoulas By devchat.tv Published On :: Tue, 10 Sep 2019 06:00:00 -0400 Episode Summary Rachel Roumeliotis and Roger Magoulas from O'Reilly Media join Charles Max Wood at OSCON to talk about the process of content development for OSCON. Rachel is the Vice President of Content Strategy at O'Reilly and Roger is Vice President of Radar at O'Reilly. Rachel and Roger talk about the history of OSCON Conference as well as the key technologies they wanted to cover this year such as Artificial Intelligence, Machine Learning and Cloud-Native applications. They then talk about the future of OSCON and the highlights they wat to cover next year such as security. Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Adventures in DevOps Adventures in Blockchain CacheFly Host: Charles Max Wood Joined by Special Guests: Rachel Roumeliotis and Roger Magoulas Links Rachel's LinkedIn Roger's LinkedIn Open Source & Software Development| O'Reilly OSCON O'Reilly Radar O'Reilly Media - Technology and Business Training Full Article
ma JSJ 393: Why You Should Be Using Web Workers with Surma By devchat.tv Published On :: Thu, 19 Sep 2019 06:00:00 -0400 Episode Summary Surma is an open web advocate for Google currently working with WebAssembly team. He was invited on the show today to talk about using web workers and how to move work away from the browser’s main thread. His primary platform is bringing multithreading out of the fringes and into the web. The panel talks about their past experience with web workers, and many of them found them isolated and difficult to use. Surma believes that web workers should pretty much always be sued because the main thread is an inherently bad place to run your code because it has to do so much. Surma details the differences between web workers, service workers, and worklets and explains what the compositer is. The panel discusses what parts should be moved off the main thread and how to move the logic over. Surma notes that the additional cost of using a worker is basically nonexistent, changes almost nothing in your workflow, and takes up only one kilobyte of memory. Therefore, the cost/benefit ratio of using web workers gets very large. They discuss debugging in a web worker and Surma details how debugging is better in web workers. Surma wants to see people use workers not because it will make it faster, but because it will make your app more resilient across all devices. Every piece of JavaScript you run could be the straw that breaks the camel’s back. There’s so much to do on the main thread for the browser, especially when it has a weaker processor, that the more stuff you can move away, the better. The web is tailored for the most powerful phones, but a large portion of the population does not have the most powerful phone available, and moving things over to a web worker will benefit the average phone. Surma talks about his experience using the Nokia 2, on which simple apps run very slow because they are not being frugal with the user’s resources. Moving things to another thread will help phones like this run faster. The panel discusses the benefit of using web workers from a business standpoint. The argument is similar to that for accessibility. Though a user may not need that accessibility all the time, they could become in need of it. Making the app run better on low end devices will also increase the target audience, which is helpful is user acquisition is your principle metric for success. Surma wants businesses to understand that while this is beneficial for people in countries like India, there is also a very wide spectrum of phone performance in America. He wants to help all of these people and wants companies acknowledge this spectrum and to look at the benefits of using web workers to improve performance. Panelists Charles Max Wood Christopher Buecheler Aimee Knight AJ O’Neal With special guest: Surma Sponsors Adventures in DevOps Sentry use the code “devchat” for 2 months free on Sentry’s small plan Adventures in Angular Links Web workers Service workers Worklets Ecto model Babel Swoosh Comlink WhatsApp Follow DevChatTV on Facebook and Twitter Picks Charles Max Wood: For Love of Mother-Not Surma: Follow Surma @DasSurma on Twitter and at dassur.ma WebAssembly Spec AJ O’Neal: The GameCube Ultimate Pikmin for Wii and GameCube Super Monkey Ball Christopher Buecheler CinemaSins Sincast podcast Full Article
ma JSJ 396: Publishing Your Book with Jonathan Lee Martin By devchat.tv Published On :: Tue, 01 Oct 2019 06:00:00 -0400 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 Martin Sponsors 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 Picks Christopher 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 Full Article
ma MJS 126: Eduardo San Martin Morote By devchat.tv Published On :: Tue, 08 Oct 2019 06:00:00 -0400 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 Full Article
ma JSJ 401: Hasura with Tanmai Gopal By devchat.tv Published On :: Thu, 17 Oct 2019 06:00:00 -0400 Tanmai is one of the founders at Hasura. Hasura gives you instant graphQL APIs on top of a Postgres database. The eventual idea is to make data access secure and easy. Tanmai explains the challenges of doing this in the cloud. He talks about some of the difficulties with the tooling around using GraphQL and its bias towards working well with a monolith. Since GraphQL is basically a shared type system that describes your API, that means all your types need to be in the same code base. This is at odds with the folks who want to do microservices and serverless functions, because since their API is split across multiple services they have different types, and forcing these types to work together defeats the purpose of using microservices. Also, storing state across requests doesn’t work well with serverless and cloud native stuff. In short, learning to live without state is one of the general challenges with going serverless. This is where Hasura comes into play, and Tanmai explains how it works. Hasura is metadata driven, and each instance of the server can leverage multiple calls and exhibit a high amount of concurrency. It’s designed to be a little more CPU bound than memory bound, which means that configuring auto scaling on it is very easy and allows you to utilize the elasticity of cloud native applications. Tanmai clarifies his usage of the word ‘cloud native’, by which he means microservices. He explains that when you have a metadata based engine, this metadata has a language that allows you to bring to bring in types from multiple upstream microservices, and create a coherent graphQL API on top of that. Hasura is a middle man between the microservices and the consumer that converts multiple types into a single coherent graphQL API. Next, Tanmai explains how Hasura handles data fetching and a high volume of requests. They also invented PostgresQL, RLS-like semantics within Hasura. He explains the process for merging your microservices into a single graphQL interface. Back on data fetching, Tanmai explains that when the product is an app, preventing an overabundance of queries becomes easier because during one of the staging processes that they have, they extract all of the queries that the app is actually making, and in the production version it only allows the queries that it has seen before. Hasura is focused on both the public interface and private use cases, though private is slightly better supported. Tanmai talks about the customizations available with Hasura. Hasura supports two layers. One is an aliasing layer that lets you rename tables, columns, etc as exposed by PostgresQL. The other is a computer column, so that you can add computer columns so you can extend the type that you get from a data model, and then you can point that to something that you derive. The panelist discusses the common conception of why it is a bad idea to expose the data models to the frontend folks directly. They discuss the trend of ‘dumbing down’ available tooling to appeal to junior developers, at the cost of making the backend more complicated. They talk about some of the issues that come from this, and the importance of tooling to solve this concern. Finally, Tanmai talks about the reasons to use Hasura over other products. There are 2 technologies that help with integrating arbitrary data sources. First is authorization grammar, their version of RLS that can extend to any system of types and relationships, The second is the data wrapper, part of the compiler that compiles from the graphQL metadata AST to the actual SQL AST. That is a generic interface, so anyone can come in and plug in a Haskell module that has that interface and implement a backend compiler for a native query language. This allows us to plug in other sources and stitch microservices together. The show concludes with Tanmai talking about their choice to use Haskell to make Hasura. Panelists AJ O’Neal Dan Shapir Steve Edwards Charles Max Wood With special guest: Tanmai Gopal Sponsors Adventures in DevOps Sentry use the code “devchat” for 2 months free on Sentry’s small plan The Dev Ed Podcast Links Hasura Haskell Node.js Cloud Native Microservices PostGraphile Postgres PostgresQL RLS Swagger JAMstack Soap Rest Follow DevChatTV on Facebook and Twitter Picks AJ O’Neal: The Economic Singularity Capital Cities GameCube Homebrew Dan Shapir: Romania JSCamp Steve Edwards: Cold Blooded: The Clutter Family Murders Charles Max Wood: Maxcoders.io TripIt St. George Marathon VO2 Max app Tanmai Gopal: Follow Tanmai on Twitter @tanmaigo Broken Earth Trilogy The Three-Body Problem graphQL Asia Full Article
ma 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
ma 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
ma JSJ 404: Edge on Chromium with Chris Heilmann By devchat.tv Published On :: Tue, 29 Oct 2019 06:00:00 -0400 Guests Chris heilmann and Zohair Ali are developers for Microsoft working on the Edge project. Today they are talking about Edge on Chromium and the future of developer tools. Edge will now be built in Chromium rather than being its own engine, aligning it more with what is being used on the open web right now. The Edge team wanted to seize the opportunity to bring something into the Chromium project based on the needs of real users and contribute to the open source web. Edge on Chromium won’t be limited to Windows 10 either, but will be available on Mac, Windows 7, and Windows 8. This project is still in beta with no set release date, so the Edge team is looking for people to test it out on Mac and tell them how it works. Chris and Zohair talk about the different parts of a web browser and what distinguishes Chrome from Chromium. Chromium is not just a platform, it’s an entire browser that you can install. Google adds a bunch of Google services to Chromium, such as being able to sign into your Google account, and that’s how you get Google Chrome. Similarly, the new Edge adds its own features on top of Chromium, so you can sign into your Microsoft account. By now the browser engines are so similar to each other that the users are looking for the user experience, interface, and services around it, so it made more sense for the Edge team to contribute to Chromium than to maintain their own engine and help it improve. Chris and Zohair talk about some of the features in Edge on Chromium. One service they’re particularly excited about is the Collections feature, where you can drag images, text, etc into Collections and export it to Excel or Word. Collections was inspired by what users need, and they talk about some of the different use cases for it. The new Edge on Chromium will also have an IE mode for products that still require IE 11. If you define what services need IE 11, Edge will open an IE 11 tab within the browser so you will not have to jump between browsers. Unfortunately, this feature is only available on Windows. Edge on Chromium will also offer an integration with VS Code, called Elements for VS Code, which takes part of the developer tools from Edge and puts it inside VS Code. Since the tools are based on Chromium, it stays in the same context all the time so you don’t have to jump back and forth, and you can see the changes live in your browser. This feature is in beta right now and they are looking for people to test it. The Edge team talks about their process for creating tools. They are working on putting their tools into other languages so that they are accessible to more people. They talk about how they want to avoid creating Edge specific tools as much as possible because they want to make it better for everybody. One of their biggest struggles is everybody demands developer tools, but nobody wants to contribute, so they don’t have as much feedback and not as much outside contribution. That’s why they keep calling for people to try out the new Edge on Chromium and give them feedback. They want to make that change more transparent so that they build things that people want. They will have to make some of their own tools, but they make sure that they don’t have any third party dependencies. They mention that all Chrome extensions are compatible with Edge, so if it’s available in the Chrome webstore, you can add it to Edge, you just have to be sure to allow it. They talk about some of the testing tools available. The show concludes with a discussion of the fate of Chakra Node. Panelists AJ O’Neal Aimee Knight Dan Shapir Steve Edwards With special guests: Chris Heilmann and Zohair Ali Sponsors Tidelift Sentry use the code “devchat” for 2 months free on Sentry’s small plan Views on Vue Links Chromium Microsoft Edge Insider Microsoft Chakra Core Elements for VS Code MS Edge Driver Puppeteer Follow DevChatTV on Facebook and Twitter Picks Aimee Knight: Cypress testing library Steve Edwards: CSS Tricks Screencast episode 174: Using Local Overrides in Devtools Dan Shapir: The Chronicles of Amber AJ O’Neal: The Legend of Zelda: Oracle of Ages Lover by Taylor Swift Chris Heilmann: The Marvelous Mrs. Maisel TabNine doesthedogdie.com Zohair Ali: Saga graphic novel series Full Article
ma 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
ma MJS 130: Javan Makhmali By devchat.tv Published On :: Tue, 05 Nov 2019 06:05:00 -0500 This week, My Javascript Story welcomes Javan Makhmali,a Programmer at Basecamp from Ann Arbor, Michigan. Javan attended Community College to study Computer Science but then decided to work as a Freelancer developer. Javan and Charles debate whether having a 4-year college degree is better to become a developer and conclude that it depends on the person. Some people prefer a structured 4 year degree to feel ready for a full time jo and some people do better with bootcamps. Javan mentions he knows several people that switched careers after completing an 8 week bootcamp and that the industry was really flexible to accomodate both options. Charles and Javan then continue talking about Javan's journey as a developer and particularly his journey with Basecamp. Javan started out working with Ruby on Rails and after a couple of years applied for a job at Basecamp (then known as 37 Signals). Javan then started working with CoffeeScript which helped him understand working with JavaScript. Charles and Javan talk about the projects Javan is working on currently at Basecamp. Outside of work Javan, is a new parent and enjoys spending time with his daughter. He feels ever since he has become a parent, his work life balance has been better. Host: Charles Max Wood Joined by Special Guest: Javan Makhmali Links JSJ 376: Trix: A Rich Text Editor for Everyday Writing with Javan Makhmali Javan's Twitter Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan Dev Ed Podcast Adventures in Blockchain CacheFly Picks Charles Max Wood: https://maxcoders.io/ Full Article
ma 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
ma 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
ma JSJ 412: Svelte and Sapper with Svelte Master By devchat.tv Published On :: Tue, 17 Dec 2019 06:00:00 -0500 Noah, a.k.a. Svelte Master, is from Indiana and recently moved to San Francisco. He has been given title Computational Linguist by SoundHound. He starts the show by talking about his Youtube channel all about Svelte. Svelte is a JavaScript framework similar to React and Vue. When you write components, Svelte will compile it into Vanilla JS, CSS, or HTML, and create a small bundle that will be sent to the client. Svelte is a ‘disappearing framework’, so your bundles come out as DOM APIs and there is no Svelte in the end result. Because the Svelte framework doesn’t send with the bundle, bundle sizes are significantly smaller, and it runs on all browsers. Noah shares some Svelte’s performance statistics. Sapper is a companion technology to Svelte that gives you server side rendering, routing, code splitting, and other features. Noah talks about how to write plugins for Svelte and embedding components. One main difference between Svelte and other frameworks is that it lacks a virtual DOM. This is because since it is just compiling down to JavaScript and the framework is not sent with the package, it doesn’t need a virtual DOM and instead updates as things change. Noah talks more about how this works. Some of Svelte Master’s favorite things about Svelte is that you write less code, especially unnecessary code, and state management is simple. He talks about how routing is handled through other tools like Sapper. The panel talks about methods for testing a Svelte app, adding Svelte components into a website, and pulling in third party libraries. They discuss whether there are things that you can’t do with Svelte that would require React or Vue. The show ends with Noah talking about what the future holds for Svelte and how to get started with it. Panelists Steve Edwards Charles Max Wood **To receive your 40% OFF coupon for Manning Publications (good for all our products in all formats) visit us on Facebook - click on "Send A Message"and type "YES"** Guest Noah (Svelte Master) Sponsors Hasura.io Sentry | Use the code “devchat” for $100 credit ____________________________________________________________ > "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ____________________________________________________________ Links SoundHound Svelte Master Youtube channel Syntax.fm Show 173: Hasty Treat Wes and Scott Look at Svelte Svelte Sapper Rollup Netlify Heroku Cypress Apollo Async/await Svelma Sveltstrap Svelte-Apollo Smelte Electron Svelte-Native Picks Steve Edwards: The Court Jester Charles Max Wood: The MaxCoders Guide to Finding Your Dream Developer Job The Bishop’s Wife Miracle on 34th Street Daniel Caldas: WaniKani Full Article