Stay current on JavaScript, Node, and Front-End development. Learn from experts in programming, careers, and technology every week.
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber–6102064/support.
php/* */ ?>
Stay current on JavaScript, Node, and Front-End development. Learn from experts in programming, careers, and technology every week.
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber–6102064/support.
Copyright: © Copyright Charles M Wood
In this enlightening episode of JavaScript Jabber, hosted by Charles Max Wood and Steve Edwards, panelist AJ O'Neil is joined by guest Ishaan Anand to delve deep into the intricacies of AI and large language models. Ishaan, an expert with over two decades of experience in engineering and product management, shares insights into his innovative implementation of GPT-2, providing a comprehensive breakdown of how transformers work in AI. The discussion covers various aspects of AI, including how models predict the next word, the concept of tokenization, embeddings, and the attention mechanism which is central to transformer architectures. Listen in as they explore practical applications, challenges, and the evolving landscape of AI, with a special emphasis on mentorship and education through Ishaan's unique course offering. Whether you're an AI aficionado or a JavaScript developer eager to expand your knowledge, this episode offers valuable perspectives and learning opportunities.
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
In this episode of JavaScript Jabber, panelist Dan Shappir sits down with guest Aden Bai to delve into the nuances of React performance. Broadcasting from Tel Aviv, Dan welcomes Aden, who is based in San Francisco, for an insightful discussion on optimizing React apps. Aden, known for his projects Million JS and ReactScan, shares his journey into coding and his focus on enhancing web performance. Together, they explore the intricacies of the virtual DOM, React rendering processes, and the common pitfalls that developers face in managing performance. Aden introduces ReactScan, a tool designed to visualize and troubleshoot performance issues in React applications, making complex profiling accessible to a broader range of developers. The conversation also touches on broader performance metrics like Core Web Vitals and the challenges of maintaining efficiency across various devices and browsers. Whether you're a seasoned developer or new to React, this episode offers valuable insights into creating faster and more efficient web applications. Tune in to learn how you can improve your React project's performance and user experience with tools and techniques from top industry experts.
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
In this episode of JavaScript Jabber, host Steve Edwards is joined by panelists Dan Shappir and AJ O'Neil, along with special guest Tanner Lindsley, to explore the innovative world of TanStack, a collection of open-source libraries designed to enhance web development. Tanner shares insights into the origins and evolution of TanStack, highlighting its journey from simple libraries like React Table to a comprehensive toolkit including TanStack Query, TanStack Virtual, and more. The discussion delves into the nuances of building framework-agnostic tools, the challenges of server-side rendering, and the rise of remote procedure calls (RPCs) as a modern development approach. With intriguing debates on the future of meta frameworks and the role of server components, this episode provides a deep dive into the cutting-edge technologies shaping the development landscape. Whether you're a fan of React, Solid, or just curious about the direction of web frameworks, this conversation offers valuable insights and expert opinions on the current and future state of web development. Tune in to discover how TanStack is influencing the way we build and manage applications in the ever-evolving JavaScript ecosystem.
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Hey, everyone. Welcome back to another exciting episode of JavaScript Jabber, part of the Top End Devs Network. I'm your host, Charles Max Wood, joined by our amazing panelist, Dan Shappir. In this episode, we dive into the latest developments in the world of JavaScript as we kick off a new year. You might recall we covered this topic about a year and a half ago in episode 590. Today, we're revisiting the updates to see what's progressed and what's newly introduced in the JavaScript standard.
Dan Shappir offers his expertise as we explore features that have recently been added to the language. From promise.allSettled, a feature that's been around for about five years but often underutilized, to array method enhancements like .at and Object.hasOwn, there's a ton to unpack. We'll also delve into exciting new library additions like findLast for arrays, efficient array copying methods and improvements in set operations that make JavaScript more powerful and developer-friendly than ever.
The episode isn't just about the features that have already landed; we'll also touch on what's in the pipeline with proposals in various stages of development, including exciting concepts like temporal for better date and time handling. Whether you're a JavaScript pro or just keen to stay updated on the latest trends, this discussion is packed with insights to level up your coding game.
So, grab your headphones, stay tuned, and let's explore the exciting world of new JavaScript features together!
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Welcome to another riveting episode of Top End Devs! In today's "Year in Review" special, hosts Charles, AJ, Dan, and Steve Edwards take you on a retrospective journey through their most memorable moments and thought-provoking discussions of the year. From the amusing and insightful exchanges with influential guests like Rich Harris and Kyle Simpson to their deep dives into emerging tech trends like Svelte 5 and AI integration in development, this episode has it all.
They also explore Charles's experience transitioning from a Mac to a high-performance System76 machine, Dan's favorite and least favorite tech trends, and AJ's admiration for profitable and customer-focused approaches in the industry. Expect a blend of technical expertise, humor with those beloved dad jokes, and personal reflections that make this podcast uniquely engaging.
So, get ready as we reflect on the year's highlights, laugh at the dad jokes that have become fan favorites, and look forward to exciting developments in the tech world with your favorite panelists.
Picks
In this episode, Charles, AJ, and Dan explore the intricacies of team dynamics, technological choices, and the challenges of web development with our distinguished panel. Joining them is a very special guest, the legendary Uncle Bob Martin. They delve into team collaboration and decision-making, with Uncle Bob emphasizing the importance of reasonable debates and team buy-in when it comes to mental models and project directives. Dan discusses how, in startups, the initial developer often ends up making key decisions.
They also touch on technological choices, including the complications of inheriting decisions from previous team members and the ever-topical debate on relational databases influenced by marketing pressures. Uncle Bob shares his seasoned insights into React Framework inconsistencies and the philosophy behind state-driven design.
They tackle the separation of business logic from frameworks to maintain purity and independence in code. There's also a lively discussion about starting with functional prototypes, and the influence of Apple’s focus on UI on their success.
Additionally, they explore Uncle Bob’s controversial stance on web frameworks, the dynamics of framework adoption, and the role of technical decisions in hiring. There are fascinating comparisons between framework popularity and historical tech stories, including the evolution of Apple’s innovations and the contributions from Xerox PARC.
Finally, as they wrap up, they have insightful pick recommendations from the panelists, covering everything from the NBA season and engaging TV series to board games and book recommendations—a little something for everyone.
Join them for an enlightening journey through the nuances of modern development practices, historical tech anecdotes, and personal insights from some of the industry's top minds. This episode promises to be a treasure trove of knowledge and experience for any developer. Let's get started!
Socials
In today's episode, Charles and AJ are joined by Anselm Eickhoff, a trailblazing full-stack software engineer. Anselm delves into the world of "Local First" software development and the innovative tool he’s developed, "Jazz." They explore how Jazz leverages schema information for type inference and runtime validation, enabling real-time collaboration and seamless offline functionality. They dive into the simplifications brought by Jazz's API changes, the flexibility offered through open protocols, and the local-first approach using CRDTs.
They also tackle Jazz’s impressive backend infrastructure and its shift to direct disk storage, along with insights into the challenges and emerging support structures faced by early adopters. Anselm shares real-world applications, advanced analytics capabilities, and the future outlook for Jazz, emphasizing performance, resilience, and data privacy.
Plus, stay tuned for a lighthearted detour into board games and TV recommendations, as well as updates on Charles’ AI Dev Boot Camp and exciting developments on the Top End Devs platform. This episode is packed with cutting-edge insights and practical advice for developers looking to integrate advanced real-time features and streamline their app development processes.
Socials
Welcome to another insightful episode of the JavaScript Jabber podcast, hosted by Charles alongside our expert panelists Dan and AJ. Today, they are thrilled to be joined by Avishai Ish-Shalom a seasoned technologist with an eye for challenging conventions in the tech world. In this episode, Avishai takes us through fascinating discussions comparing industrial food products to technological abstractions, including his unique perspective on the “marshmallow effect” and the evolving complexities of virtualization.
They delve into the challenges of backward compatibility in modern tech, using real-world parallels like AWS virtual storage options, and discuss the impact of technologies like Docker and cloud services on our understanding of underlying infrastructures. Charles shares his upgrade journey from an aging Mac laptop to a powerful System76 desktop for AI tasks, reflecting the changing demands on development environments.
Listen in as they explore the nuances of binary vs. textual protocols, the importance of future-proofing legacy systems, and Avishai's compelling arguments in his articles "Don't Paint the Roses" and "The Marshmallow Effect." Plus, they discuss Avishai's career evolution and the intellectual challenges faced by today’s engineers in the rapidly advancing tech landscape. Whether you’re a casual listener or a tech enthusiast, this episode promises to offer valuable insights and thought-provoking discussions. Stay tuned!
Socials
This is the second part of the deep dive into the essential practices and principles for successful Node.js development. Our esteemed guests, Michael Dawson, James Snell, Matteo Collina, and Natalia Venditto, bring their extensive expertise to the table, discussing key topics like how to manage dependencies in a Node.js project.
Socials
In this episode, Dan sits down with TypeScript expert Matt Pocock to dive deep into the world of TypeScript migration, learning curves, and developer challenges. They explore why having a TypeScript "wizard" is crucial for teams transitioning from JavaScript and how TypeScript's integration with development environments like Visual Studio Code has been a game changer.
Dan and Matt discuss the importance of real-time typechecking, the community's role in TypeScript's success, and practical strategies for migrating large codebases to TypeScript. You'll hear about Matt's journey from drama school to becoming a DevRel expert, his contributions to the XState library, and his philosophy of type-driven development. Together, they highlight TypeScript's advantages, such as enhanced code reliability and the nuanced benefits of explicit vs. inferred types.
Whether you're a seasoned developer or just starting with TypeScript, this episode offers valuable insights and actionable advice to help you harness the full power of static typing in your projects. Tune in for a fascinating discussion that underscores the value of "boring" code, the need for continual learning, and the ongoing evolution of software development practices. Stay with us as we unravel the intricacies of TypeScript and share practical tips to elevate your coding journey.
Socials
In today's episode, Charles, AJ and Steve are joined by guests Corey Brown for a rich discussion on the importance of understanding foundational concepts in software development. They explore the balance between leveraging high-level frameworks like React and the necessity of grasping the underlying technologies to troubleshoot effectively and build robust applications. They emphasize the value of comprehending core language features to write better software and solve problems efficiently. Corey reflects on the passion within the software development community and the hidden costs of over-relying on third-party dependencies like the infamous "left pad" incident.As the conversation unfolds, they debate whether sticking to frameworks or delving into deeper technologies leads to long-term success. They share practical insights on the benefits of reading source code, continuously learning, and the significance of core platform APIs. Additionally, the episode includes light-hearted "picks" from the panelists, including humorous resources and personal anecdotes. Join them as they dissect these critical perspectives and share valuable advice for both novice and seasoned developers alike. Let's get started!
Picks
In today's jam-packed episode, Charles, AJ, and Dan, along with special guest Danny Moerkerke, a seasoned freelance JavaScript web developer from Amsterdam. They dive deep into the fascinating world of web development, focusing on the capabilities and future of Progressive Web Apps (PWAs), comparing them to native apps, and discussing the technical intricacies involved.
AJ shares his latest project on passkeys and the challenges of transitioning clients, while Dan gives us a glimpse into his social media habits and movie recommendations. Danny enlightens us with his experiences at IKEA and his passion for web components, PWAs, and crucial APIs like the Wake Lock and Background Sync.
They explore the complex interplay between service workers, caching for offline functionality, and the barriers to widespread PWA adoption, particularly on iOS. Plus, they dive into practical applications of these technologies, from gaming to improving podcast accessibility for offline listening.
So, tune in as they unravel the technical hurdles, share insightful demos, and debate the future of web and native app development. It's an episode packed with knowledge, practical advice, and a bit of fun along the way!
Socials
In this episode, they dive deep into the essential practices and principles for successful Node.js development. AJ and Dan are joined by special guests Michael Dawson, James Snell, and Matteo Collina. They bring a wealth of expertise and experience to the table, discussing key topics like experimental tech with existing web standards, managing updates with LTS releases, and the fundamental pillars of Node.js, including the critical concept of "not blocking the event loop."
They explore the consequences of blocking the event loop, real-world insights into performance issues, and the importance of efficient task handling. They also share their wisdom on utilizing multi-threading, scaling applications, best practices for dependency management, and the significance of regular updates to maintain security and performance.
Additionally, they touch on some fascinating side discussions, such as AI's role in coding, the evolution of package management, and the importance of intentional coding practices. There's even a bit of personal insight with recommendations for exciting Netflix series and real-world anecdotes about Node.js conferences and testing frameworks.
Join them as they unravel these topics and more, guiding you through advanced Node.js
Socials
Dive into the dynamic world of JavaScript frameworks with this week's episode of JavaScript Jabber! Join Charles, AJ, Dan and Steve as they explore Hotwire, Stimulus, and Turbo—tools that are transforming how developers build fast, responsive web applications. They discover the evolution from Turbo Links to Turbo Drive, learn how these technologies enhance page rendering speeds by updating only changed elements, and understand their seamless integration in Rails applications. The discussion also touches on practical implementations using Turbo frames and streams for efficient DOM manipulation. Additionally, they dive into the benefits of partial page updates for improved performance and talk about the insights into integrating Stimulus for fine-grained control over client-side interactions. They also explore the parallels between modern frameworks like React or Angular with traditional approaches.
Tune in to uncover how you can leverage these tools to optimize your development workflow!
Socials
Charles and Dan dive deep into the world of programming languages, development practices, and the trade-offs that shape our daily coding lives. Joining them is special guest Tomer Gabel, an experienced backend engineer, and consultant.
In this episode, they unpack the productivity benefits and challenges of using Rails, deliberate on the pros and cons of dynamic languages, and explore the fascinating topic of convergent evolution in programming ecosystems. They also discuss TypeScript's value proposition, the intricacies of static typing, and the sometimes controversial principles of "clean code." Get ready for an engaging conversation packed with expert insights, practical advice, and a few surprising takeaways. Let’s get started!
Sponsor
In this episode, AJ and Steve dive deep into the world of Vue.js and API integration with a special guest, Daniel Kelly, a seasoned lead instructor at Vue School. this episode is packed with valuable discussions on using the useFetch Vue component for seamless API requests, navigating the challenges of migrating from Vue 2 to Vue 3, and embracing TypeScript for a more robust development experience.
They also explore the impactful updates coming with Nuxt 4 and Vue 3.5, the benefits of Vue.js certifications for career growth, and how tools like Nitro and auto-import features in Nuxt 3 can enhance your development workflow. Plus, enjoy a range of recommendations from books and music to tech innovations and humorous dad jokes.
So, whether you're a seasoned Vue developer or just starting, this episode offers something for everyone. Tune in, and elevate your JavaScript journey!
Socials
AJ and Steve dive deep into the world of interactive coding tutorials alongside guest, Tomek Sułkowski. They kick off with a brief chat about the weather before delving into Tomek's expertise in creating engaging and interactive tutorials—shedding light on everything from the history of coding tutorials to the technical wonders of web containers, brought to prominence by platforms like Stackblitz.
They explore the innovative "tutorials kit dot dev," a revelatory tool for developers, and discuss the triumphs and challenges in building these interactive learning experiences. Plus, discover amazing tech insights from AJ, development updates from Tomek, and a whole lot more.
Socials
In today's episode, Charles, Steve, and AJ, are joined by back-end engineer and team lead at Homebound, Stephen Haberman. We delve into the fascinating world of SQL c and its revolutionary approach to managing SQL queries with dedicated SQL files, delivering benefits such as reduced typing errors and pre-deployment checks. Stephen also walks us through the advantages and limitations of ORMs versus query builders like Prisma and Drizzle, sharing insights into Joyce ORM's unique philosophy and simplified CRUD operations.
They explore the intricacies of Domain Driven Design (DDD), its emphasis on ubiquitous language, and how it shapes business logic and storage management. AJ contributes by discussing the potential of SQL c and Slonik for dynamic query building. Additionally, they discuss Steven's innovative work with GraphFileWorker and GrafAST, highlighting the performance improvements in GraphQL backends. Whether you're intrigued by the technicalities of ORMs, the evolution of database tools, or just love a good anecdote, this episode packed with technical insights and lively discussions is one you won't want to miss. Join them on this journey into the world of database management and development!
Socials
They dive deep into the world of mentorship, personal growth, and problem-solving with our special guests, Joao and Manny, alongside our insightful panelists, AJ and Charles.
In this episode, they explore the transformative power of weekly accountability meetings (WAM), where tasks are committed and followed up with a yes or no, no excuses allowed. Joao and Manny share their journey of mentorship that crossed borders, forging a strong bond through adversity and mutual respect. We'll also delve into how their dynamic friendship amplifies professional standards, and the importance of balancing personal and professional relationships.
We discuss the profound impacts of structured problem-solving methods, specifically George Polya's renowned four-step process. Joao and Manny highlight how this systematic approach has refined their coding skills and overall problem-solving abilities. Alongside, we touch upon the fascinating intersection of human learning and AI, emphasizing the unique capacity humans have for generalizing new problems from limited data.
In addition, our speakers will share their roadmap for continuous learning, curriculum development, and practical exercises—highlighting tools like Trello for task management and Anki for reinforcing learning. AJ O'Neil offers his unique perspective on the talent it takes to thrive in programming and how personal enjoyment is crucial for sustained success.
Later, we'll transition to our Picks section, where AJ, Charles, and the guests share their latest recommendations, from essential productivity tools and engaging books to top-notch apps and board games.
Finally, we'll wrap up with some valuable insights on time management, consistent study habits, and the importance of finding a mentor who truly cares about your growth. Whether you're a seasoned developer or just starting out, this episode is packed with practical advice and inspiring stories that you won't want to miss. So, tune in for all this and more on Top End Devs!
Picks
Today, Charles, Dan, AJ, and Steve dive into a range of fascinating discussions. Joining this episode is special guest, Ryan Dahl, the visionary creator behind Node.js and Deno.
In this episode, they traverse an eclectic mix of topics, from humorous offbeat news and dad jokes to in-depth tech discussions. They explore the complexities and legalities surrounding free speech, offering diverse perspectives on its implications in the modern digital landscape.
But the heart of our discussion is Ryan Dahl's exploration of Deno 2, the latest evolution in JavaScript's runtime environment. You'll hear about its distinctive features, including the revolutionary JSR project, and how it aims to simplify and secure modern JavaScript development, addressing challenges and limitations found in Node.js. They also discuss the intricacies of TypeScript support, Deno’s security model, and the future potential of JavaScript in data science.
Join them for a lively conversation packed with insights, technical deep-dives, and plenty of humor. Whether you're a seasoned developer or just starting your coding journey, this episode is sure to offer valuable takeaways and an entertaining ride through the world of modern web development.
Sponsors
Dan Shappir takes the lead this week to discuss Core Web Vitals and how Google is pushing the web to be faster.
He leads Chuck, Aimee, and AJ through the ways that developers can measure and improve the performance of websites based on the statistics specified by Google as components of Google rankings.
Sponsors
Dan together with Josh Goldberg, a prominent open-source maintainer and author of "Learning TypeScript, dive into the world of TypeScript and JavaScript with a special focus on the upcoming Squiggleconf. In this episode, they'll detail the conference format, including its dedicated days for talks and workshops, and highlight the impressive lineup of speakers who will cover topics like ASTs, TypeScript at scale, and essential documentation practices.
Josh also shares insights into the evolution and practical application of TypeScript ESLint. Expect a deep dive into TypeScript's latest features, such as generics and specific lint rules that enhance code quality and developer experience.
Socials
Dive into a fascinating discussion blending the worlds of literature, gaming, and tech. In this episode, Chuck and Dan explore the intriguing connections between The Hobbit and The Lord of the Rings, including an extraordinary tale about Israeli pilots translating The Hobbit during wartime. They share insights into Guy Gavriel Kaye’s standalone novel Tigana, inspired by Renaissance Italy, and discuss the complexities and strategies of board games like Monopoly and Letters from Whitechapel.
But that’s not all. The episode takes a technical turn as the speakers delve into the dynamic world of application monitoring with Prometheus. They unpack the mechanics of event loop lag, heap usage, and GC storms, and share how Prometheus's query language (PromQL) and integration with Grafana can proactively manage and solve performance issues. Hear about real-time alerting, sophisticated querying, and the practical applications of these tools in companies like Next Insurance and Sisense.
This episode is packed with information - from managing performance metrics and alerting systems to insightful discussions on favorite standalone fantasy novels and the productivity hacks that keep our hosts on top of their game. So, sit back and join us for an engaging and informative session on Top End Devs!
Socials
In this episode, they dive deep into the world of coding, meetups, and the evolving landscape of technical interviews. Join them as they explore the fascinating use of OpenAI's technology for coding assistance, the challenges of setting up impactful meetups, and the intricacies of mastering LeetCode problems.
Our experts share invaluable insights—from leveraging AI tools like GPT to generate code effectively, to the essential strategies for problem-solving during high-pressure technical interviews. They also touch on the importance of deliberate practice, group support, and finding the right mindset for tackling coding challenges. Plus, hear personal stories about the benefits of taking breaks, the role of LeetCode in honing coding skills, and the shift in interview styles towards speed and pattern recognition.
Sponsors
In this episode, they dive deep into the intricate world of JavaScript loading and web performance. Join the panel with insightful discussions led by Dan, Charles, Steve, and special guest Yoav Weiss—an expert with extensive experience in web performance from his time at Google, Akamai, and Shopify.
They explore the latest initiatives aimed at improving ES modules, import maps, and the challenges faced with script loading, especially when dealing with web workers. They uncover the critical role of sub-resource integrity, the successful integration of integrity support in Chrome and Safari, and the urgent need for advanced import map solutions for large applications.
They also delve into the nuts and bolts of optimizing web performance, including the impact of script execution on browser responsiveness, bundling techniques, and innovative strategies for managing resource download priorities. Tune in to hear about the latest developments, engage with provocative questions, and discover ways you can contribute to the ongoing work of the W3C web performance working group. Plus, stay for heartfelt moments, personal anecdotes, and practical recommendations from the speakers.
Sponsors
The JSJ panel talks with Morad Stern from Wix about personal branding; what it is, why it’s important for developers, and how to build it.
Links
In this captivating episode, they dive deep into the world of AI, hands-on learning, and the evolving landscape of development with Steve Sewell from Builder.io. They explore the misconceptions about needing deep AI expertise to build AI products and highlight the importance of rapid iteration and practical experience. They discuss everything from the financial implications of AI, and strategies to manage cost and value, to the innovative tools like MicroAgent that are shaping the future of code generation and web design. Steve shares his insights on optimizing AI use in development, the rapid advancements in AI capabilities, and the critical role of integrating AI to enhance productivity without the fear of replacing jobs. Join them as they unravel the complexities of AI, its real-world applications, and how developers can leverage these powerful tools to stay ahead in a competitive market. Plus, stay tuned for personal updates, user interface innovations, and a glimpse into the future of AI-driven design processes at Builder.io.
Socials
In today's episode, they dive deep into web performance optimization and the strategies employed by our expert panel to achieve it. Join Dan, Steve, Charles, and guest Vinicius Dallacqua as they explore robust techniques like code splitting, lazy loading, and server-side solutions to enhance website performance.
In this episode, you'll hear Vinicius discuss his experiences with different benchmarking frameworks and innovative optimization strategies, including how he improved performance for the Prometheus client for Node. They delve into the importance of performance metrics, data analysis, and real user monitoring (RUM) tools. They underscore the need for precise measurements before and after optimizations and share insights on overcoming the challenges posed by third-party integrations.
Hear about practical tools like Partytown and Lighthouse, and how companies like NEXX Insurance have achieved significant performance gains. The conversation also touches on the critical balance between backend performance, CDNs, and frontend optimizations, alongside recommendations for engaging management to prioritize performance enhancements.
Plus, for a bit of fun, our episode includes some light-hearted "Dad jokes of the week" and book recommendations around TypeScript and AI.
Socials
In today's episode, they dive deep into the world of JavaScript and TypeScript. They explore the innovative message-passing style between components using Effect Cluster, a game-changing alpha product that integrates seamlessly with solutions like Remix and React Server Components.
Join them as Michael sheds light on the ease of transitioning TypeScript developers familiar with frameworks like React and Svelte to Effect, thanks to JavaScript’s component-based mindset and features similar to async/await. They also talk about the role of TypeScript and Effect in ensuring code maintainability and correctness amidst legacy JavaScript at Sisense.
As they navigate through topics like performance optimization, multithreading in JavaScript, and backend development, discover how the Effect framework simplifies testing, enhances type inference, and boosts code stability. Plus, they touch on coding challenges, error handling, and the importance of proper monitoring with tools like OpenTelemetry.
But it's not all code! They share fun anecdotes from personal experiences with go karting, discuss the NBA draft, and even delve into some light-hearted humor with dad jokes and comedic analogies. This episode is packed with insights, laughter, and invaluable advice for developers and tech enthusiasts alike.
Tune in now for a comprehensive discussion filled with expert knowledge, practical tips, and community insights, exclusively on Top End Devs!
Socials
In today's episode, they delve into the fascinating world of mobile web development with our esteemed guest, Maximiliano Firtman, a seasoned web developer from Buenos Aires, Argentina, who has over two decades of experience.
Join them as Maximiliano takes you on a journey through the evolution of web and mobile development, starting from the early days of pure HTML and classic ASP, progressing through the milestones of Perl, PHP, and eventually into the realm of mobile technologies. He provides an insightful look at how mobile development has transitioned from early platforms like WML and BlackBerry to the modern era of Progressive Web Apps (PWAs).
Together with Steve, they unpack the benefits and challenges of bringing the open web into the mobile space, discuss the impact of mobile performance on user experience, and explore various tools and best practices for developing efficient, fast-loading PWAs. From understanding the role of service workers and web manifests to exploring innovative APIs and caching methods, this episode is packed with invaluable knowledge for any developer aiming to enhance their mobile web development skills.
Whether you're interested in optimizing web performance, getting hands-on with PWAs, or curious about the future of mobile app distribution, this episode has something for everyone. Tune in now to uncover actionable insights and expert advice on staying ahead in the ever-evolving landscape of mobile web development.
Socials
Robin Marx is a Web Protocol and Performance Expert at Akamai. They dive deep into the fascinating world of networking performance, where experts share invaluable resources and insights to optimize your web development projects. The speakers recommend essential tools and books like "High-Performance Browser Networking" by Ilya Grigorik and Barry Pollard's work on HTTP 2, and they dissect the nuances of modern web protocols such as HTTP 2 and HTTP 3. Special guest Robin Marx joins us to unveil the complexities of networking, emphasizing the importance of understanding how your server and browser interact to maximize efficiency.
But it's not all technical; they also share some lighter moments. Discover TV shows like Netflix’s "Eric" and "Criminal Minds Evolutions," explore engaging articles from Big Think, and indulge in some geeky humor with a segment of dad jokes. Whether you're tuning in for professional insight or just some good old tech banter, this episode has something for everyone.
Socials
In this episode, they dive deep into the latest advancements in React with a special focus on the experimental React Compiler. Our guest speakers, Sathya Gunasekaran and Joe Savona, share their insights on how this cutting-edge tool aims to enhance performance and streamline development without disrupting existing code. They explore the goals of the React Compiler, including auto memoization, linting, and runtime optimizations, and how it plans to minimize unnecessary DOM updates. This is an in-depth discussion on subjects like referential equality, the complexities of memoization, API improvements for useEffect, and the compelling debate about whether React should introduce signals as a TC39 standard. Additionally, they discuss the potential transition for existing projects, the importance of community feedback, and the intriguing differences between React’s approach to UI as a function of state versus the signal-based model.
Stay tuned to learn about the future of React, the practical benefits of the new compiler, and the ongoing experiments that could shape how we write and optimize JavaScript with React.
Socials
Jack Franklin is a Senior Software Engineer at Google. They dive deep into the world of performance optimization. They explore the sophisticated capabilities of Chrome DevTools, focusing on the performance and insights panels. Jack shares invaluable tips on utilizing tools like Lighthouse and the flame chart to prioritize and analyze web performance, along with practical advice for maintaining a clean environment for accurate profiling.
Join them as tehy decode the intricacies of debugging, from handling long tasks and layout thrashing to understanding the context of flame charts and network requests. Plus, they discuss the collaboration efforts between Chrome and Microsoft Edge, valuable educational resources, and even touch on topics like involvement in local politics and upcoming movie releases. Whether you're a seasoned developer or a tech enthusiast, this episode is packed with knowledge, humor, and practical advice to help you master web performance optimization. Tune in now!
Socials
In this episode, they dive into the world of web development, featuring insightful discussions on the differences and costs associated with hiring React Native developers, the importance of understanding web standards and browser differences, and the ongoing efforts of the Open Web Advocacy organization. They share their experiences, concerns, and insights on Apple's impact on the open web, the EU's investigation into Apple's actions, and the implications of progressive web apps in light of Apple's policies. Join them as they unravel the complexities and controversies shaping the web development landscape, and explore the future of web app accessibility and competition across devices.
Socials
Zach Lankton is the Product Engineer at Signature Payments. They dive deep into the world of software development and tech innovations. In this episode, they explore a wide range of topics, the main focus is on ReZact, a cutting-edge front-end framework discussed by Zach, which shares similarities with React and Svelte. The conversation covers the framework's unique features, the challenges of customizing form inputs in the browser, and the value of leveraging native browser capabilities. Additionally, they delve into the concept of signals as a means of state management, the technical implementation of signals, and their benefits compared to other state management tools. And that's just scratching the surface! So, get ready to enrich your knowledge and dive into the latest trends in software development with this insightful discussion.
Socials
Lazar Nikolov is a Full-stack engineer. They engage in a deep exploration of diverse subjects, from historical veracity and book recommendations to crucial insights on web performance monitoring tools. Join the esteemed panelists as they navigate the complexities of understanding historical events, reflect on significant global issues such as Holocaust Memorial Day and ongoing conflicts, and delve into the intricacies of improving website performance with cutting-edge tools like Sentry. Stay tuned for an insightful and thought-provoking discussion that combines expert analysis with real-world applications in the realm of development and technology.
Sponsors
Santosh Yadav is a Google Developer Expert for Angular. They dive into the world of JavaScript and development. The discussion centers around the topic of why Angular is considered the best framework, with insights from Santosh, Steve Edwards, and Charles Max Wood. They explore the history and evolution of Angular, its resurgence, and the recent improvements post-Angular 14. They also delve into Angular's migration process, state management options, and the future direction of the framework. Join them as they explore the technical aspects and practical implications of Angular in the development landscape. So, tune in and explore the world of Angular through the eyes of experienced developers.
Sponsors
Feel like you don’t know enough about Web3? Don’t worry, neither do we. That’s where these podcasts come in! In this new episode, the Jabberers sit down with Nik Kalyani, the founder of Decentology and overall Web3 expert. The gang discusses the “big D” of Web3 (and why you need to understand it), how Web3 changes the game for blockchain and the like, and how Web3 is going to make gaming bigger AND more lucrative.
“For developers, Web3 equals a green field of opportunity!”
- Nik Kalyani
In This Episode
Tony Alicea is a Udemy and Pluralsight Instructor. They delve into the crucial topic of understanding and mastering technology, featuring insightful discussions and experiences from our speakers. From the shift in focus from technical problems to effective communication and marketing to the significance of deeply understanding a system rather than just focusing on coding, they provide valuable perspectives on building strong foundations, navigating challenges, and staying current in the ever-evolving tech landscape. They also touch on the importance of curiosity, learning by doing, and the potential impact of AI-generated code. Join them as they explore the nuances of learning and understanding technology in this engaging and thought-provoking episode.
Sponsors
Shai Reznik is the Founder & CEO at HiRez.io and he is a Qwik Team Member. They dive deep into the world of web development with a focus on the Qwik framework and JavaScript streaming. They explore topics such as predictive buffering, Qwik Insight, automating tasks, optimizing user and developer experiences, and the challenges of large-scale JavaScript refactoring. With a blend of technical insights and personal experiences, they shed light on the evolution of web development and the future role of AI in frameworks like Qwik. This episode is packed with thought-provoking discussions, expert opinions, and valuable resources for developers aiming to stay at the cutting edge of web development. So buckle up and get ready for an insightful journey into the world of fast and efficient web development.
Sponsors
Rich Harris joins this week's episode. They dive deep into the world of web application performance, signals, and the capabilities of Svelte 5. Join them as they explore the innovative features of Svelte 5, its compiler capabilities, and its potential impact on application building. From discussing the fastest mainstream framework to drawing parallels with traditional compiler optimization modes, they leave no stone unturned in dissecting the advancements in Svelte 5. Stay tuned as they also explore topics like React server components, the controversy around embedding SQL in React components, and much more.
Sponsors
Delve into a thought-provoking discussion with Owen Buckley, a seasoned web developer with 20 years of experience. Owen introduces Greenwood, a project focused on leveraging web standards and simplifying web development. Throughout the episode, They explore Greenwood's evolution, capabilities, and unique approach to application scaffolding and local development. From the emphasis on HTML and web components to Greenwood's seamless integration with HTMX, they uncover the project's vision to provide an onramp close to web standards. Join them as they navigate through the world of web development and gain valuable insights from Owen's expertise and passion for web standards and components.
Sponsors
Kevin Whinnery is the Head of Developer Relations at Deno. They dive deep into the world of Deno, exploring its evolution, functionality, and differences from its predecessor, Node.js. They discuss the challenges Deno has faced in establishing compatibility with the NPM ecosystem, its out-of-the-box TypeScript support, built-in tools, and its use in edge computing. With insights into Deno's standard library, TypeScript implementation, and plans for improving compatibility with popular meta frameworks, this episode is a must-listen for developers looking to stay ahead in the ever-evolving world of JavaScript. Get ready to uncover the latest developments in Deno and its impact on the development landscape!
Sponsors
Shay Davidson is a full-stack web, mobile, and game developer. He is currently leading the front end at Lemonade. The discussion revolves around the use of Supabase as a free database and its comparisons to Firebase for developer experience. They dive into building applications with Next.js and React 18, utilizing React Server Components to interact with the Supabase API. They share their experiences, frustrations, and insights regarding caching mechanisms, server actions, and the challenges of adapting to new technologies in the React ecosystem. The episode also delves into the React server components controversy, the importance of learning and experimenting with new technologies, the use of AI for creative purposes, and the potential dangers of deep fakes.
Sponsors
Dan Shappir takes the lead in explaining all of the acronyms and metrics for measuring the performance of your web applications. He leads a discussion through the ins and outs of monitoring performance and then how to improve and check up on how your website is doing.Sponsors
In this episode, Steve delves into a deep and insightful conversation with Erik Hanchett from Amazon AWS. They explore a wide range of topics, from discussing the possibilities and complexities of using multiple software services for back-end development to unraveling the benefits of using services like AWS Amplify for handling multiple tasks and integrated functionalities. The conversation also touches on the development and deployment processes, local testing environment setup, language choices, and the Vue component library with connected components and theming. Erik shares his vast expertise and knowledge in the field, and the engaging dialogue offers valuable insights and recommendations for both experienced and aspiring developers.
Sponsors
Sam Selikoff is the founder of Build UI, Inc. They unpack a myriad of discussions surrounding JavaScript and its applications. They delve into topics such as RPC resurgence, React server components, and the challenges and solutions around integrating design and components. A variety of technical concepts, tools, and frameworks, including Tailwind, Redux, and Remix, are also explored. Additionally, the episode touches upon important mental health conversations, personal experiences, and the pitfalls of fragmented media subscriptions.
Sponsors
Today the panel is discussing iterating on open source projects. Aimee and AJ recall a conversation they had in the past on this subject and AJ talks about some of his experience iterating with open source. AJ believes that we have an obligation to capture the value of what you create so that we can reinvest and create more value, though he admits that making money in open source is a unique challenge because donations only really work if you have a project that gets billions of downloads a month. As your project grows, it has to change in order to survive, and eventually you will need to get financial support from your project. The panel agrees that some of the main issues with iterating in open source are maintaining the code and getting feedback from users, financial backing, and roadmapping and integrations.The panel discusses their methods for getting feedback from their users. This feedback is valuable because it can show you things that you missed. They acknowledge that there can be conflicts of interest between those who only use the project and those who financially support it, and you have to make a choice. Unfortunately, someone is probably going to be inconvenienced no matter what choice you make. When making these decisions, you have to consider who it helps, who it frustrates, and who it may cause problems for. The panelists talk about different ways they’ve handled making these decisions in the past. The JavaScript experts talk about the importance of having data on your user base in order to make good choices for your users. They talk about different methods for notifying your users of upcoming changes and how it will affect compatibility, and some of the challenges with communicating with your users. AJ talks about an iteration he thought was a good idea but that a lot of people hated and how he noticed that the new users liked it but the old users did not. They panel agrees that people in general don’t like change. AJ talks about what he learned from this experience. Another common issue is integrating with other services. Integrating with cloud services, or at least giving people the option to integrate gives you an opportunity to reach more people and maintain the project long term. AJ gives some final thoughts to close the show, namely that most projects never go anywhere, and that’s ok. If you’ve got something that starts going somewhere, think early on about how you can better serve the community and remember that these people are mostly grateful and semi-willing to support you. He believes that if you are helping people create value, you deserve to see the fruits of your labor. He advises listeners to stay true to your open source ideals, think about your users perspective, and that the earlier you can think about this and make these choices, the better it is for your project
Sponsors
AJ, Charles, Dan, and Steve dive deep into all things JavaScript and TypeScript. In this episode, they discuss the pros and cons of arrow functions and the ongoing debate about using semicolons at the end of JavaScript statements. They also explore the use of different types of quotes for strings and the rise in popularity of TypeScript among developers. Additionally, they cover a wide range of topics, including array manipulation, coding laziness, and the challenges of reading and understanding JavaScript code. Join them as they navigate through these intriguing discussions and gather valuable insights for our development journey.
Sponsors
Bianca and Sumitra from Raygun join the panel to talk about Core Web Vitals and how tools like Raygun can help keep tabs on and monitor your performance stats as you change your web application to get you better results on Google.
Sponsors
SaltyAom is a cosplayer, developer, and creator of ElysiaJS. They deep dive into the complexities of JavaScript and TypeScript, offering insights into backend development, performance optimizations, and the evolving landscape of these programming languages.
Sponsors
Patrick Meenan works at Google Chrome. They explore the latest techniques in web performance and optimization. They dive deep into the world of asset compression and delivery optimization. They also explore the challenges and considerations when it comes to bundling, caching, delta updates, and many more!
Sponsors
AJ, Chuck, and Dan join this week's panelist episode. They dive into the resurgence of RPC (Remote Procedure Call) in JavaScript frameworks and the potential benefits and drawbacks of combining front-end and back-end code. They navigate the complexities and possibilities of modern development practices.
Sponsors
Lars-Erik Roald is a software developer at Systor. He shares his insights and experiences in creating ORM and the evolution of the technology. They dive into the world of ORMs, TypeScript, and a variety of programming and personal ventures. From discussions about the challenges and advantages of ORMs and navigating the complexities of TypeScript to lighthearted banter about swimming, triathlon training, and even some dad jokes
Sponsors
Josh Goldberg is a full-time open-source developer. He begins by sharing his developer experience and what he is currently working on. He joins the show to talk about "TypeScript, ESLint, and TypeScript ESLint". He dives into what this is all about, how these projects work, how they relate to each other, and much more.
Sponsors
Carson Gross returns to the show to talk about htmx 2.0. He begins by explaining what's new with htmx, its interesting features, the services it offers to its users, misconceptions about it, and many more! Moreover, he talks about his book, "Hypermedia Systems," and discusses what it is about.
Sponsors
Vitor Alencar is a technical lead, speaker, and creator. He joins the show to talk about module federation, its benefits, and how it works. Additionally, they dive into an insightful discussion on micro-front ends, the exciting evolution of front-end development, simplifying the adoption of new frameworks, and much more!
Sponsors
Noam Rosenthal is a Web platform engineer. They dive into the importance of standards in API behavior for browsers. Noam shares insights on the need for consistency in implementing standards across different programming languages and developers. They also discuss the balancing act between working on standards and collaborating with developers inside and outside of Google. Additionally, they cover some interesting topics like the fascination with the "bun" technology, the challenges of implementing transitions in web development, and the impact of licensing changes on open-source projects.
Sponsors
Maya Shavin is a Senior Software Engineer at Microsoft. She joins the show to talk about accessibility in component libraries for developers. They talk about choosing component libraries when creating projects, the current state of component libraries, determining good accessibility levels, and many more!
Sponsors
Robbie Wagner and Charles Carpenter from "Whiskey Web and Whatnot" join this week's episode, featuring some exciting updates in the world of web development. CSS enthusiasts will be thrilled to hear about the introduction of container queries and anchor positioning, which offer new possibilities for dynamic and responsive layouts. They also dive into the latest trends in podcasting, including the power of live streaming and the growing importance of video content.
Sponsors
Tom Preston-Werner is the Cofounder at Preston-Werner Ventures. They dive into the world of React, Redwood JS, and the evolving landscape of JavaScript development. They discuss the importance of keeping up with the JavaScript world, the benefits of learning SQL, and the challenges of using ORMs. They also explore the upcoming Redwood JS conference, the future of React Server Components, and the motivations behind building open-source projects.
Sponsors
Barry Pollard is the Web Performance Developer Advocate on Google Chrome. They dive into the world of website performance metrics and the complexities surrounding them. From the confusion around reliability to the impact of front-end optimization, they explore it all. They discuss the importance of Core Web Vitals, the influence of user location and device speed, and the challenges in presenting aggregated information about website performance. They also touch on the ongoing debate between front-end and back-end optimization, as well as the current state of website scores and metrics.
Sponsors
Evyatar Alush is a Frontend Engineer at Meta. He joins the show to talk about Vest. It is a declarative validation framework. He begins by explaining Vest, how it works, its features, what it can offer to the users, the future of validations on the web, and many more!
Sponsors
Lane Wagner is the Founder of Boot.Dev. They delve into the world of JavaScript and backend development. They also share their experiences with API gateways and provide insights into both positive and negative implementations. Additionally, they uncover the challenges and benefits of using JavaScript and Node.js as a backend system and explore the fascinating concept of Back End for Front End (BFF).
Sponsors
Julien Klepatch is the CEO and founder of EatTheBlocks. He joins the show to talk about Web3. He begins by sharing his past experiences and how he became a Software Developer. Additionally, he explains the reasons why developers should get into the Web3 world, its advantages, building web applications with Web3, its connection to Blockchain, and many more!
Sponsors
Jack Herrington is a Principal Software Engineer. Misko Hevery is the Chief Technology Officer at Builder.io. They join the show to talk about "Qwik v1.0". Misko takes the lead as he shares its exciting new features. He explains what is the Panda CSS and how it works. Moreover, he dives into some of the "Qwiklabs projects", its benefits, and many more!
Sponsors
Andrei Soroker is the CEO of Fogbender. Yaroslav Lapin is a Senior Software Engineer at Fogbender. They join the show to talk about the "B2B SaaS Starter Kit". It is an instructional bundle for assembling products designed to be used by teams of users. They begin by explaining the reason why they created it, the problem it solves, its advantages, how it helps the developers and many more!
Sponsors
Austin Gil is a Senior Developer Advocate. He joins the show to talk about CSS-in-JS. He begins by explaining all things CSS, in a way that developers can easily understand it. He discusses the Evolution of CSS, the challenges you may encounter, CSS branches or specificities, and many more!
Sponsors
Elliott Johnson is a Multi-stack data software generalist and works in Vercel. He joins the show to talk about "Progressive Enhancement". He begins by explaining Svelte & SvelteKit and how it's different from the other frameworks. He goes into more depth about Progressive Enhancement, and how it works. Moreover, he tackles Progressive form enhancement with SvelteKit and many more!
Sponsors
Dan and Steve join this week's panelist episode to talk about the TC39. Dan starts off as he explains the stages of adding features to the ECMAScript language specification to be added to the JavaScript language.
Sponsors
Aiden Bai is a Web Performance Engineer and Creator of Million.js. Tobiloba Adedeji is a Software Engineer. They join the show to talk about Million.js. They begin by explaining what it is all about, its purpose, the problem it solves, and many more!
Sponsors
Kyle Simpson is a Human-Centric Technologist, Author of "You Don't Know JS". He joins the show to talk about "Socket Supply", building "local first" web apps, and what his employer in Socket Supply is doing in this space. They also talk about building native desktop & mobile apps.
Sponsors
The React Round Up podcast hosts, Jack Herrington, and TJ Vantoll, join this week's crossover episode. They begin by giving a brief introduction of themselves. They talk about how to become a web developer and their perspective on being a web developer. Additionally, they discuss creating open-source projects.
Sponsors
The React Round Up podcast hosts, Jack Herrington, and TJ Vantoll, join this week's crossover episode. They begin by giving a brief introduction of themselves. They talk about how to become a web developer and their perspective on being a web developer. Additionally, they discuss creating open-source projects.
Sponsors
Austin Gil is a Senior Developer Advocate. He joins the show to talk about "Web Fundamentals". He begins by explaining its purpose, and the importance of knowing web fundamentals as a developer or programmer.
Sponsors
Jarred Sumner is the founder and CEO of Oven. He joins AJ for today's episode to talk about Bun.js. Bun.js is a Node.Js replacement. He begins by explaining what it is, how this tool can be used, and what sets it apart from the others. On YouTubeBun.js with Jarred Sumner - JSJ 584
Sponsors
Barry Pollard is a Web Performance Developer Advocate on Google Chrome. He joins Chuck in this bonus episode to provide an introduction to his topic at the conference. He is going to talk about "Core Web Vitals".
Links
Tobias Koppers is an open-source developer. He joins Chuck in this bonus episode to provide an introduction to his topic at the conference.
On YouTube Find Out More About Tobias Koppers- BONUS
Links
Dan Abramov is a Front-end developer at Facebook and Joe Savona is a User Interface engineer at Facebook. They join the show to talk about React Server Components. They begin by explaining what it is, how it's implemented, the services it offers to the clients, and many more.
On YouTubeReact Server Components: Part 2- JSJ 583
Sponsors
Dan Abramov is a Front-end developer at Facebook and Joe Savona is a User Interface engineer at Facebook. They join the show to talk about React Server Components. They begin by explaining what it is, how it's implemented, the services it offers to the clients, and many more.
On YouTubeReact Server Components: Part 1 - JSJ 582
Sponsors
Brad Westfall is a full-stack web developer and works at ReactTraining.com. He is one of the speakers at the upcoming JSNation conference. He joins Chuck in this bonus episode to provide an introduction to his topic at the conference. Links
Ryan Carniato is the CEO of Signals and the Principal Engineer OSS at Netlify. He is the author of the SolidJS UI library. He returns to the show to talk about SolidStart. He begins by explaining the difference between signals and observables. Along with that, he discusses how he came to develop the framework, its features, and his future plans.
Sponsors
Chuck gives an overview of the events that will take place in the months of May and June for the JavaScript and React community.
On YouTubeWhat To Expect For May and June 2023 - BONUS
Links
Simon Grimm is a Creator, Indie Maker & Solopreneur. He is currently working at The Ionic Academy. He joins the show to talk about "cross-platform development frameworks". He also tackles the difference between building native and hybrid apps. Additionally, he explains the different cross-platform apps.
On YouTubeCross Platform App Development with Simon Grimm - JSJ 580
Sponsors
Elliott Johnson is a Multi-stack data software generalist at Vercel. He is one of the speakers at the upcoming JSNation conference. He joins Chuck in this bonus episode to provide an introduction to his topic at the conference.
Links
Bruce A. Tate is a Founder at Groxio, Elixir Expert, and a Technical Author. He joins the show alongside Charles Max Wood to talk about his book, "Seven Languages in Seven Weeks". He also delves into some of the preparations and anticipations that come with reading the book.
Links
Noam Honig is the Founder & CEO of Firefly Migration. Yoni Rapoport is a CTO at Firefly Migration. They join the show to talk about "Remult". It builds Full-stack, End-to-end Type-safe CRUD Apps without the Boilerplate. They dive into how it functions in your apps and its useful features.
Sponsors
Jason Weimann is a Developer and Instructor. He returns to the show with Chuck to talk about video game creation. He shares his experiences as a developer and dives into his courses wherein he gives beginners and aspiring developers a walk-through of the world of creating games.
Links
Tanner Linsley is the Co-Founder & VP of UI / UX at Nozzle. He joins the show to talk about TanStack Router. TanStack is an Open-source software for building better UI and UX. They talk about the vital role that a "router" plays in the architecture of a web application. Moreover, Tanner shares why he developed his own router and explains the Type safe routing.
Sponsors
Are you dissatisfied with your job? Sam Feeney helps organizations improve employee engagement, increase retention, and reinvent hiring while helping individuals (re)discover career satisfaction in their current roles. He joins the show alongside Chuck Wood to tackle altering the way you perceive your job and talk about Career satisfaction.
On YouTubeHow Do You Stop Hating Your Job? - BONUS
Socials
Joyce Lin is the Head of Developer Relations at Postman. She returns to the show to discuss Reverse Engineering. They talk about APIs, API security, proxy tools and explain its relevance in your applications. They dive into the process, purpose, and significance of Reverse Engineering. Additionally, they talk about API hacking.
Sponsors
Tejas Kumar is a Chief Developer Advocate. He joins the show alongside AJ and Chuck to talk about Signals. He begins by explaining what "Signals" is. He delves into its advantages, benefits, features, and what it may provide for the applications. He shares his experience in using it. Moreover, they share their perspective on Signals and React Framework.
Sponsors
Hosts of the Ruby Rogues Podcast, Dave Kimura and Valentino Stoll join JavaScript Jabber Panel on this week's crossover episode. They talk about both of the framework's useful features and how the JavaScript framework may be applied when creating Ruby applications. Additionally, they tackle each of their advantages and disadvantages.
On YouTubeThe Best of JavaScript and Ruby in 2023 - JSJ 575
Sponsors
Ian Schwartz is a professional software developer. He joins the show to talk about Functional Programming. He begins by defining functional programming as well as some of the key terms they use. Additionally, they dive into the different Algebraic Data Types and React.
Sponsors
Nadav Abrahami Co-Founder & Head of Innovation at Wix. Tom Raviv is Head of Developer Relations for Codux.com & Team Lead on Stylable.io. They join the show to talk about the recent release of, "Codux", the first visual IDE for React. They begin the episode as they talk about how they came about building the tool and their experience. Moreover, they talk about its features, components, and impact on users
Sponsors
Andrzej Mazur is a HTML5 Game Developer. He joins the show alongside AJ and Chuck to talk about creating games in JavaScript. He begins by outlining his past and current experiences as a game developer. He offers some of his techniques to individuals who want to start developing web games.
Sponsors
Ryan Carniato is the Principal Engineer OSS at Netlify. He is the author of the SolidJS UI library. He joins the show to talk about where the JavaScript Frameworks are headed. They share their insights on the changes that occurred in React. Additionally, they talk about their perspective on React and other JavaScript frameworks.
On YouTubeThe State of JS Frameworks with Ryan Carniato: Part 2 - JSJ 571
Sponsors
Ryan Carniato is the Principal Engineer OSS at Netlify. He is the author of the SolidJS UI library. He joins the show to talk about where the JavaScript Frameworks are headed. They share their insights on the changes that occurred in React. Additionally, they talk about their perspective on React and other JavaScript frameworks.
Sponsors
Alex Russell is the Partner Product Manager on Microsoft Edge. He joins the show to talk about web framework performance. He starts out by going over a few examples of user interactions from various web applications and how they affect their performance. Moreover, he gets into detail about the article he wrote, "The Performance Inequality Gap, 2023".
Sponsors
Taz Singh is the Founder of Guild. It is an all-in-one platform for Events, Presentations, and Discussions designed to reduce the burden as communities scale. He joins the show to talk about Guild and React Native. He begins by discussing his journey toward how he was able to create his company. He talks about their goals and what sets them apart from other platforms. Additionally, they tackle developing applications using React Native.
About This Episode
Lee Robinson is the VP of Developer Experience at Vercel. Vercel is the platform for frontend developers, providing the speed and reliability innovators need to create at the moment of inspiration. He joins Chuck on the show to talk about NextJS 13 and their company. He goes into great detail about how they continue to offer the finest user and development experience. Additionally, they talk about Vercel's features.
Links
Dan Shappir takes the lead for this week's panelist episode as he talks about hydration. Hydration is the technique of using client-side JavaScript to enhance server-rendered HTML with application state and interaction. In the context of Web performance, he explains why it is regarded as such an issue and its impact.
The second part of this episode is reviewing various ways in which modern frameworks, such as Qwik, Astro, Remix, and NextJS are trying to alleviate the impact of hydration:
Tracy Lee is the CEO of This Dot Labs, a JavaScript-focused agency, and Adam L Barrett is a Developer Consultant at This Dot Labs. They join the show to talk about the wonders of Svelte and SvelteKit. It is a tool for creating fast web applications. Additionally, they explain how these allow excellent user and developer experiences.
About this Episode
Gal Weizman has professionally done Browser JavaScript security research for almost a decade and currently works in MetaMask. He joins the show to explain more about his profession as a "Browser Javascript Internals Expert." Moreover, he then talks about his project, "Snow". It is a JavaScript shim that applies an important defense mechanism in the browser to the web app's runtime to allow them to secure their same origin realms.
About this Episode
Join Charles Wood as he takes on a solo episode this week! He tackles different strategies on how to achieve your goals and aspirations. He motivates the listeners by sharing his personal story of how he was able to climb back up on his feet after getting lost a few years ago. Moreover, Chuck dives into his plans for Top End Devs this year and how he can help developers take control of their careers.
On YouTubeHow To Plan For Success In 2023 - JSJ 564
Sponsors
Misko Hevery is the Chief Technology Officer at Builder.io. He is also the creator of Angular.io, known for zone.js, and helped co-create karma. He returns to the show to discuss "Qwik" in greater detail alongside AJ and Steve. No matter how complex your website is, Qwik provides the fastest possible page load times. In contrast to other frameworks, Qwik has special features that make it more user-friendly.
About This Episode
Dan Moore is the Head of DevRel at FushionAuth. He joins AJ and Chuck to talk about the new API called, “WebAuthn”. Using biometric, secure authentication techniques, WebAuthn is a new approach for confirming your users' identities. He goes into detail about the usage of this API and how this is a good choice for users to validate web applications with ease and convenience.
About this Episode
Steve and A.J. welcome Fred K. Schott to the show to talk about Fred's latest project, Astro. After initially discussing some of Fred's previous projects (Snowpak, Pika) and the joys of esbuild, they dive into Astro, including how it works, its use cases, and the newly finalized dynamic SSR capability. They finish with some picks going back to the very early web, and, as always, Steve's fabulous dad jokes.
JSJ 561 - Youtube
Sponsors
WebAssembly (WASM) is a core technology of the Web and supported by all browsers as well as various other runtimes. Yet despite this fact most Web devs don't use it and have little or no familiarity with it. This week we are joined by Istvan Szmozsanszky "Flaki" to discuss some of the significant transformations currently taking place with this tech, which could make it much more mainstream.
Sponsors
Maina Wycliffe is a Full-stack Software Engineer, Google Developer Expert, and Mentor who currently works at Flanksource. He is a Typescript Enthusiast and is the author of All things Typescript. He joins Chuck and Steve as he shares the reason behind starting his newsletter. His main goal is to teach developers to learn more about it and its typing system.
About this Episode
We are joined by Yoav Abrahami, Chief Architect and Head of Velo to discuss the transformation of Wix from a Website builder to an application development platform. Wix Velo enables developers to implement code that runs either on the client-side or on Wix hosted Node server, while constructing the UI using a WYSIWYG page editor. In this way, Wix provides an interesting alternative to app development frameworks such as NextJS and Nuxt.
Sponsors
Lane Wagner is the founder of a startup company called Boot.dev. He teaches backend development online in Go, Python, and JavaScript. Lane joins Chuck and Steve as they talk all things Functional Programming. They also talk about its importance and share their thoughts about it. Moreover, Lane also shares his experience with creating boot.dev and the different teaching strategies he uses on his online learning platform.
About this Episode
In this episode the panelists share war stories from their career and the lessons they have learned from them. They discuss things they have done back in their early days in tech, and how they now behave differently given those experiences.
Sponsors
Shai Yalin is a freelance software architect and mentor. He specializes in teaching organizations and individuals how to use Test Driven Development (TDD) and other development methodologies and best practices. In this episode Shai joins us to explain how to use these methods in order to create software that is resilient to change, and how to refactor existing brittle code in order to clean out the rot.
Sponsors
Kent C. Dodds is a well-known JavaScript developer who has done myriad development courses and training. He's also done outreach for Remix. He's spoken at tons of conferences and his now working on creating EpicWeb.dev which helps developers become epic web developers.
The Jabber crew starts out talking about learning, teaching, and EpicWeb.dev before going into the changes in the web platform and progressive enhancement and eventually Remix.
Links:
Diego Moura is a newer developer who has recently joined the ranks of professional developers. The panel talks to Diego about his career as a fashion designer and how he moved to Canada and go into programming.
He initially got into digital marketing and figured out that he could modify and manage pages and picked up development as a function of doing UI work on his marketing pages. From there he fell in love with web development.
Sponsors
The panel goes back a few years and reviews some technology predictions that Dan made a few years ago on Quora. These include WASM, Progressive web apps, and others. Most were wrong, but one did end up being sort of accurate. Along the way, they go into some deep rabbit holes but manage to pull themselves out. As always, they end with picks, and Steve's stupendous dad jokes.
Sponsors
Today we talk with Netta Bondy, a front end developer at Twang and dive into a discussion about when software development becomes a craft. We discuss the challenges of practicality vs. art, and the challenges of properly crafting code vs. working with popularly adopted methods.
Sponsors
Today we talk with Adam Bradley, the Director of Technology at Builder.io. He previously worked at Ionix as a creator of Ionic Framework, a mobile UI interface builder for web applications, and StencilJS which powers Ionix. Currently he works on both Qwik and Partytown at Builder.io.
In today’s episode we dive into Partytown, discussing the unique ways it improves website performance. When there are so many third-party scripts injected into the average website, you can quickly lose control of speed. We learn how Partytown addresses this with a remote web worker, and how it still gets the data it needs synchronously.
Sponsors
Today we talk with Misko Hevery about solving the loading speed issue for websites constructed using JavaScript frameworks. Such websites are often slow to load, which is detrimental to their ability so succeed. After 16 years at Google, where he created Angular, he now works on the Qwik framework at Builder.io, a headless visual CMS. We learn how Qwik dramatically improves page speed metrics through an innovative architecture that enables resumability instead of hydration. We talk about how this is implemented, and about how you can get started with it.
Sponsors
Today we talk with Felix Arntz, a developer relations engineer at Google. Hired on the Google WordPress team, and involved with the Sidekick plugin, we discuss some of the challenges and approaches of improving performance on WordPress sites, as well as other open source CMS’s.
Sponsors
There is no question that the volume, sophistication, and severity of software supply chain attacks is on the rise. How do you navigate your supply chain security? Stephen Chin joins the show today to discuss various strategies and action plans for how to best prevent and address these types of attacks.
In this episode…
Today’s episode is a continuation of the previous JavaScript Jabber Episode 543, where we discuss JS language features to avoid. Do you agree with the list? Today we talk about:
Today Steve and Charles talk about the many updates and events coming to Top End Devs, from upcoming conferences to new courses and content. Check out the conference lineup at https://topenddevs.com/conferences. If you are interested in building courses or would like to speak at any of the conferences, contact Charles. We also dive into a conversation about what it really means to be a 10x developer and a top 1% developer.
Sponsors
Steve, Dan and A.J talk with Nick Hehr and Peter Hoddie about using JavScript with IoT devices. They cover a wide range of topics, including the XS JavaScript Engine, the only complete ECMAScript 2018 engine optimized for embedded devices (created by Moddable), and even get into the nitty gritty of how it is built and how it works. They also cover TC53 - the standards committee for JS in embedded systems, a committee that Nick and Peter are part of. In picks, they get into a great discussion on home security systems and their various security issue, and of course, Steve brings the great dad jokes.
Sponsors
Today we have special guests Tomer Lichtash and David Frankiel, a web developer and programmer behind the epic hacker folklore project The Story of Mel, a comprehensive guide to The Story of Mel.
This story, which has survived through all the changes in the internet since its birth in 1983, and has morphed through all its iterations into something almost poetic in nature. This allegory tells the story of the birth of of high-tech culture as we know it today, and creates some heated debate among our panelists as to the validity of its meanings. Tomer and David tell some of the back story into their journey to discover if the story is a hoax, or if is truly real.
Sponsors
Today in this all panelist episode, we talk about JS features you should avoid using. However opinions don't always align, and some come with much debate! Although we couldn’t cover them all, today we discuss:
Today we have three guests on the show, Annie Sullivan, Yoav Weiss, and Michal Mocny, all of who are engineers who work for Google on the Chrome Web platform. Looking forward to Google’s new developments for measuring web performance, we dive deep into upcoming performance metrics Largest Contentful Paint (LCP) and Interaction to Next Paint (INP), a full page lifecycle metric. We discuss what user page interactions we can measure successfully and which we cannot. We discuss the challenges of single-page applications when looking at core web vitals.
Sponsors
Today, in this all-panelist episode we talk about upcoming online events and conferences. With upcoming Top End Devs meetups and conferences, starting in August, we talk about all the benefits of being in person at an event, and the camaraderie at and after the event. We talk about the ways that Airmeet allows for a good connection between the speakers and audience. You’ll also pick up some tips on becoming a speaker at one of these events.
Sponsors
Today we talk with Steve Sewell, co-founder and CEO of Builder.io, about their visual editor and designer which connects to many open source systems. Running within a website wysiwyg, it integrates with most modern front end frameworks, such as React, Due and Svelte. We discuss how it functions and connects to various systems. We also dive into the backstory of how and why builder.io created their framework called Qwik.
Sponsors
Today we talk with Josh Larson a senior staff developer at Shopify who is front and center in development of Hydrogen. We learn how Hydrogen addresses the varying needs of shop owners to build storefronts quickly and effectively. With rendering on the server only, this metaframework provides a toolkit helping customers build a more customized web presence. We learn about Oxygen, which allows customers to host and deploy Hydrogen.
We also discuss the decision behind the decision to use React to build this framework, how the framework provides super-custom experiences for the user, and discuss some of the technical challenges faced when building it.
Sponsors
Today we talk with Matt Pocock, who comes from Oxfordshire, England. As a big fan of TypeScript and maintainer of the Xstate library, we discuss the benefits and downsides of TypeScript. As the discussion gets a bit heated, we debate the true value of TypeScript, and where it holds value to the programming community.
Sponsors
Today’s guest Annie Sullivan, a software engineer on the Chrome Platform team, focussing on core web vitals metrics which is all about performance and user experience metrics for websites. We discuss topics such as Largest Contentful Paint (LCP), and how it works behind the scenes. We also touch on Cumulative Layout Shift (CLS) and things that impact browser experience.
Sponsors
Today we talk with Gal working on developer tooling for the last decade. Previously working at WIX, and now working at Vercel, he has created an open source FNM fast node version manager within that operates within Rust. We talk about Vercel’s Edge Functions, which allows users to insert routing strategies with user code without having performance hits.
Sponsors
In today’s all-panelist episode, we take a deep dive into some of the nooks and crannies of JavaScript. We discuss and debate the benefits and problems of various methods such as getter and setter, Const, Freeze and Proxy.
Sponsors
Today we talk with Paul Asjes, a developer advocate at Stripe. We get some insight into creating a more secure site for credit card transactions. We also discuss card testing, or account stealing, techniques that are used to gain access to active credits cards. This topic is very important because it can have big financial consequences, and if serious enough, could cause a business to close. Paul gives us some techniques and strategies to discourage and prevent this activity.
Sponsors
Today we chat with Thomas Randolph from GitLab, to discuss his Top 10 list of the upcoming TC39 proposals.
The list…
Today we chat with Thomas Randolph from GitLab, to discuss his Top 10 list of the upcoming TC39 proposals.
The list…
Steve, AJ, and Dan talk to Drew Baker, co-founder of Los Angeles based digital agency Funkhaus about Storybook and Nuxt. After a discussion of various server side rendering methods, Drew talks about how they use Storybook, how it integrates tightly with Nuxt, and how it helps Funkhaus quickly and cleanly spin up sites for large customers.Sponsors
LinksPicksToday we talk with Dejan Miličić, a consultant with more than 20 years of experience as a professional software developer with RavenDB. His areas of expertise are designing, writing, and maintaining applications, with a focus on software architecture and backend development.Dejan discusses the challenges and benefits of NoSQL databases, and what he has learned along the way to simplify and reduce the time required to make changes. We also talk about ways to approach different types of NoSQL databases, and how they should be used. Sponsors
LinksIn this episode, we talk with Max Kordek of Lisk, a leading expert on Blockchain. You’ll learn about what a Blockchain is, how it works, and the benefits of using it. There is also discussion on the opportunities that blockchain presents for the JavaScript developer.How does blockchain work as a decentralized ledger accessed across the world? We discuss how it operates without a central authority - everyone who participates in the network has the financial incentive that no one lies. This creates data that is secure and has integrity. Everything runs on a neutral protocol - no one can manipulate it. No interference from a third party.What is best suited for blockchain? With real-world examples, we discuss what major industries currently benefit - and where there is potential. Blockchain software development kits are available for developers to discover what blockchain can be used for. Logics and Libraries available to the large world of JS developers. Don't forget the lisk.js event this summer, and make sure to visit @maxkordek on Twitter at https://twitter.com/MaxKordek.Sponsors
LinksSolidJS is a web development framework that focuses on using reactivity and carries forward several ideas from Knockout.js.https://javascriptjabber.com/13Ryan Carniato, the creator of SolidJS breaks down the history and ideas behind SolidJS and compares it to React and other frameworks.Sponsors
PicksElm is a functional language that compiles to JavaScript and runs in the browser. Lindsay Wardell from NoRedInk joins the JavaScript Jabber panel this week to discuss her background with Vue and Elm. The discussion ranges into how Lindsay got into Elm and how it differs and solves some of the issues that crop up when people build apps with JavaScript.Sponsors
LinksThis episode is Part 3 of the Dan Shappir trilogy. Today, he’s laying out the deets on components and state management inside of React, plus some exciting developments coming later this year.In This Episode1) Why you ought to know the “ideal” situation for React components (and how to get there!)
2) These new “front-end paradigms” that are going to CHANGE how we approach React and others
3) SUPER exciting developments coming for React in 2022Sponsors
There’s always more to learn about security, especially nowadays. In this episode, the Jabberers continue their conversation with Feross Aboukhadijeh about supply chain security. You can never be too careful! (Well…maybe.)“The most important thing you can do is have a mindset shift around dependencies.” _
_- Feross AboukhadijehIn This Episode1) How the BEST way to keep your security tight is NOT done on the computer
2) Why we’re seeing a trend toward THESE kinds of packages in 2022
3) What you NEED to know about dependencies and their expiration datesSponsors
Malware attacks are scary, so preparation is keys. In this episode, the Jabberers talk with Feross Aboukhadijeh, a developer who’s redefining malware detection to help you prepare for the next assault. “It’s awesome that such small teams can make complex code, but it’s not enough to just scan for vulnerabilities.”
-Feross Aboukhadijeh In This Episode1) This SCARY trend in supple chain malware attacks (and how to prepare)
2) Why tools like Socket are VERY different from common malware detection
3) How companies in 2022 are addressing their security (and what they’re looking for in developers to help them)Sponsors
Is OAuth all it’s cracked up to be? In this episode, the Jabberers sit down with Dan Moore, an expert in the OAuth world. They discuss the GIANT perks of OAuth (even if you’re a beginner), how to fix OAuth’s biggest issues, and what you NEED to watch out for in OAuth if you’re a prospective client. “The end goal of OAuth is let someone else handle authentication, and based on tokens you get, you have the insurance that the authentication was valid.”
- Dan Moore In This Episode1) The HUGE perks of using OAuth in 2022 (and how to get started)
2) What you SHOULD be looking for in OAuth as a client
3) How to resolve OAuth’s biggest drawbacks and feel confident in your securitySponsors
In this episode, the Jabberers sit down with Gil Fink, a Microsoft vet and Google developer who’s gonna convince why having front architecture is a no-brainer. They discuss what differentiates it from components, how “memory floods” are washing away developers (and why they’re causing them!), and the BEST way to move between architectures without losing your mind. “You need to understand all the moving parts in your architecture.”
- Gil Fink In This Episode1) What makes front end architecture VERY different from components
2) The BIGGEST problems around “prop drilling” between your components (and how libraries really help)
3) How “memory floods” overwhelm developers…and why they don’t even realize they’re causing them!
4) The CORRECT way to move between architectures without screwing yourselfSponsors
Want to know what makes a senior developer? We know a thing or two. In this episode, the Jabberers sit down with Shem Magnezi, a senior developer at Wilco who shares what he’s learned over his seasoned career. They talk about the do’s and don’ts of being a manager, why small and large companies share this ONE feature, and a HUGE mindset reset that will keep you ahead of the game. “It’s important for people to understand where they can make an impact.”
- Shem Magnezi In This Episode1) The KEY differences between smaller and larger companies (and how to hedge your bets when applying)
2) What separates the novice from the expert in a company (and what managers are looking for!)
3) If you’re considering the managerial route, consider THIS risk before going down that road
4) Why THIS mindset shift will make your job easier AND make a larger impact on your companySponsors
Feel like you don’t know enough about Web3? Don’t worry, neither do we. That’s where these podcasts come in! In this new episode, the Jabberers sit down with Nik Kalyani, the founder of Decentology and overall Web3 expert. The gang discusses the “big D” of Web3 (and why you need to understand it), how Web3 changes the game for blockchain and the like, and how Web3 is going to make gaming bigger AND more lucrative. “For developers, Web3 equals a green field of opportunity!”
- Nik Kalyani In This Episode
Want to watch AJ and Dan Shappir do battle LIVE? You’re in the luck! In this episode, the jabberers go deep on the nuances of var, what we can all learn from C++ about coding, and Dan’s go-to remedies for keeping your Script nice, neat, and not-chaotic.In This Episode
This episode is a continuation of Javascript Jabber 512, so head over there before tuning into this one! In this Part 2, the Jabberers and Dan Shappir discuss THE difference between Svelte vs. virtual DOM and React, the most noticeable pros and cons of React when a DOM’s around, and how “partial rendering” is changing the game. Per usual, Steve’s dad jokes are 100% funny._“This separation that the VDom creates between the representation of the UI and the actual UI is a really powerful one.”
But really…can it? It absolutely can AND a lot more. In this new episode of JavaScript Jabber, the roundtable sits down with James Q Quick, a software developer, podcast host, and overall future-enthusiast. The team discusses what the “JAM” in JAMstack means for developers, how it’s making integrating features (like payment processing) a breeze, and what you NEED to know about JAMstack going into 2022. “None of these individual tools are new, but JAMstack just became a new way to combine those things with static content and leverage those concepts.”
- James Quick In This EpisodeWhy JAMstack is more than just individual pieces clumped together (and could be replacing how developers do business)
How the “JAM” in JAMstack is allowing developers to pick and choose the services they want (without knowing all the nitty gritty details)
James lays out how JAMstack makes payment processing a no-brainer (and it’s not just Twitter hype)
New features and apps for JAMstack that you NEED to know in 2022
Where JAMstack is shows its power and ease-of-use (and why you should have some “secret sauce” in your cabinet)Sponsors
Ever feel overwhelmed by the crazy number of new frameworks? We’ve got a solution for you. In this episode, the JavaScript jamboree sits down with Anthony Campolo, a software developer who’s spreading the word about a powerful yet flexible new tool--Slinkity. They talk about how Slinkity answers the age-old question and simplifies everything, how to prevent the nasty “uncanny valley” from rearing its head during loading, and why eBay and Slinkity are on the same page about “the basics”.“I think Slinkity is an interesting new way to build websites in a framework-agnostic way. It’s like using little sprinkles of JavaScript!”
Ever wonder why you feel like you belong in some groups and the black sheep in others? In this episode, the Javascript dudes sit down with Brett Haralson, a software developer and manager at Wix who’s learned the fundamentals of cultivating world-class communities. They discuss what Brett does FIRST to start building a community, how to handle negativity before and when it pops up, and what you NEED to do after you “find your tribe”.“It’s the relationships and friendships made that are life-changing. To create a community, you need to make people feel like they belong.”
Tejas Kumar joins JavaScript Jabber to discuss the advances in developer tooling and how it relates to ideas like the JAMstack to allow developers to move back and build larger applications with smaller teams. The discussion ranges over backend, frontend, and cloud technologies. Panel
Carson Gross is the creator of InterCooler and HTMX. He pulled them together to manage the way that he wrote JavaScript and interacted with hypermedia and HATEOAS to make managing the DOM and backend easier.It's not really a competitor to web frameworks as much as a different way to think about the front-end of your application.Panel
Dan Shappir takes the lead in explaining React's core design, and how it's enabled by the Virtual DOM (VDOM). The panel discusses what the VDOM is, and how it differs from the actual browser DOM. Also how React leverages the VDOM and its reconciliation mechanism. Understanding these concepts is important in order to properly understand and make the best use of React.Panel
Steve and AJ catch up with Jonathan Reinink, the creator of InertiaJS, a utility for seamlessly connecting front end Javascript frameworks with back ends to create a seamless and performant web app monolith. They discuss TailwindCSS and Jonathan’s work at Tailwind Labs, and then get into InertiaJS, how it works, and many of the different features. They also discuss the new SSR capability currently in private beta, and Inertia’s growing inclusion into other frameworks, such as Laravel Breeze and Laravel Jetstream.Panel
Get the Black Friday/Cyber Monday "Double Your Productivity by 5pm Today" Deal
Coupon Code: "DEEP" for a GIANT discountMani provides us with strategies and tactics to get Deep Work time and how to get our minds into that focused state for hours at a time.He has read hundreds of books that have taught him the secrets to getting more done by getting into this state.He starts by telling us how he was passed over for a promotion at Qualcomm in favor of someone younger and less experienced and how that inspired him to figure out what the other guy was doing differently. He learned that he needed to get more done with the time he was spending on his projects.The trick? Deep Work!Deep Work is the ability to spend uninterrupted, focused time on a task to bend your entire mind toward the goal.Other developers call it "Flow" or "the Zone."Mani provides us with strategies and tactics to get Deep Work time and how to get our minds into that focused state for hours at a time. Get the Black Friday/Cyber Monday "Double Your Productivity by 5pm Today" Deal
Coupon Code: "DEEP" for a GIANT discount
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Yoav Ganbar joins the Jabber crew to discuss Dev FOMO. He leads the panel through a discussion about adopting technologies and knowing about new niches. The panel discusses how to stay on top of the movements in our ecosystem and when we should prioritize other things.Panel
Mordy Oberstein joins the JavaScript Jabber panel to discuss SEO and how what seems like a marketing concern is relevant and exciting for developers. SEO is working with a black box with regards to Google since Google and other search engines don't tell you anything about how they adjust their search algorithms.Mordy walks through how developers can contribute to the issues around showing up in search engine results.Panel
Assaf Krintza joins the JavaScript Jabber panel to discuss the various approaches and uses for state management in web applications. Some of the focus is on React, but many of the tools and approaches work in or have similar options in the other web frameworks.Panel
Ian Johnson is a former Google UX engineer and data visualization engineer with ObservableHQ building data visualizations with JavaScript. He works on both the tools and the visualizations built with D3 on the web. He discusses how to use tools like D3 to tell a story using your data.Panel
Filipe Névola is the CEO of MeteorJS. He jumps in to discuss the changes and updates to Meteor over the last several years.He explains what Meteor is, what its history is, and how it lands within the current JavaScript ecosystem. You can use it to build web and mobile apps and is a mature option to use for your applications.Panel
This week, the JavaScript Jabber panel discusses the various "Creeds of Craftsmanship" from the programming languages out there. They discuss the different principles and the unifying concepts they all have alongside the ethos of what makes each language's approach to programming unique.Panel
Niall Crosby, creator of AgGrid, joins the panel to discuss the journey from building an open source data grid used all over the world to providing support and enterprise features and running a successful business based on that same open source software.Panel
Steve and AJ talk with Max Kordek, founder of his startup Lisk, which is geared towards helping JavaScript developers use the blockchain to develop new applications for new industries. We delve deep into the origins and base technologies of the blockchain, how it has been used, and how it can be used in the future. They also discuss Lisk, it’s purpose, and how Max hopes their SDK will be used by developers to explore the blockchain and find brand new applications for it.Panel
Our very own Will Button from Adventures in DevOps joins us to discuss DevOps in JavaScript. Will also hosts his own YouTube channel discussing DevOps for Developers and is a consultant helping early stage startups getting their applications set up and scaling.He joins the panel to help the Jabber panel understand how to make Node and JavaScript deploy, scale, and grow.Panel
Bianca and Sumitra from Raygun join the panel to talk about Core Web Vitals and how tools like Raygun can help keep tabs on and monitor your performance stats as you change your web application to get you better results on Google.Panel
The JavaScript Jabber panel teams up to discuss their favorite moments and episodes over the last nearly 10 years of the show. They discuss where things are at and where they're going next.Panel
The panel gets together to discuss how they learn new things and what things are important to learn.They start out discussing how to learn new things. They they go into how to keep up on the never-ending releases within the JavaScript ecosystem.Panel
Priscila Oliveira and Mark Story join the panel to discuss the recent transition at Sentry from vanilla JavaScript to React and TypeScript.The show starts out with the panelists nerding out over Sentry and how they use it, then they dive into the code transition and the things that they learned from their conversion to TypeScript.Panel
Caleb is the maintainer of several popular open source projects and frameworks including Alpinejs and Livewire, and is also an avid user of GitHub's CoPilot. Also, he's living the dream - writing open source full time. We talk about declarative, imperative, moving from SPAs and APIs back to simpler server-oriented design, design architecture, code style and linting, and how Caleb's achieved the near-impossible task of monetizing open source in a way people love.Panel
Sam Sycamore joins the podcast to tell his story of transitioning into programming after listening to the podcast episode we recorded with Danny Thompson.Danny told his story about how he went from gas station attendant to programmer in a very short timeframe.Sam has now made a similar journey from landscape construction to programming and what inspired him to make the switch.Panel
Dan Shappir takes the lead this week to discuss Core Web Vitals and how Google is pushing the web to be faster.He leads Chuck, Aimee, and AJ through the ways that developers can measure and improve the performance of websites based on the statistics specified by Google as components of Google rankings.Panel
Allen Wyma, host of the Flying High with Flutter podcast, joins the Jabber panel to discuss building mobile applications with Flutter.The discussion includes an exploration of Flutter, how to get started, how it's different from other platforms, and who should consider using it.Panel
Liran Tal joins the Jabber to talk about how to secure your applications and how to check for security vulnerabilities in your application and its dependencies and infrastructure.Liran explains how to check your supply chain and your own code to make sure you're not leaving things open to malicious actors.Panel
Craig Buckler joins the panel to jabber about Chrome Dev-Tools and some things you may not know you can do with them to empower your own front-end development. Some of the basics you may already know like Incognito mode. Some others you may not know like black boxing libraries you don’t control or throttling connections to simulate poor connections. He also talks through searching through network requests to see how your domain’s specific requests perform.Panel
The JAMstack has been a hot item in the web development community for a while. Initially, it was a basic implementation of front-end tools with some sort of hosted backend. Now, the tools and approaches have become much more powerful.Brian Rinaldi joins the JavaScript Jabber panel to discuss how things have evolved and what people should be looking into now to take advantage of the offerings within the JAMstack community.coupon: podjsjabber19Panel
The Jabber panel along with Vitali Zaidman jump in and discuss how your browser cache works, what the standard is, and what you can expect when you're trying to take advantage of the performance characteristics of your users' browsers.The browser cache control settings and techniques are not straightforward, so buckle up and learn how to get your browsers to load assets from memory.Panel
If you wish you could just push to your git repository and then have your application automatically update itself, then you should have a look at DigitalOcean's App Platform.This offering is a sort of secret weapon that allows you to customize your application with the services you need and then simply push to deploy.There's no outsourcing to 3rd party databases, etc. It's all included in DigitalOcean's offering. So, you just pick what you need and then set the app to deploy.DigitalOcean's App Platform also works for static sites. So, if you're running a build of your blog or JAMstack app, you'll find that App Platform already supports you.To try it out, go to https://do.co/jabber and sign up to get $Panel
Long time friend of the show Gil Tayar joins us again this time to discussing using JSDoc for JavaScript type annotations instead of TypeScript. Turns out that you can now get all of the benefits of TypeScript types without having to adopt the entire TypeScript workflow. Gil describes the benefits of this approach, and how it could impact the future of Web development.Panel
Never underestimate the power of teaching. Ian reached out to AJ in regards to previous comments about React on the show and demonstrated that he knows a whole lot more than most of us, so we had him on to talk about his learning journey, the philosophy of react, and top tips for new developers entering the field. Huzzah!Panel
Eric Simons from Stackblitz joins the JSJ panel to discuss the game changing technology announced at Google.io this year. What they demonstrated was their ability to run NodeJS in the browser using new technology called Web Containers. However, the implications go well beyond the realities of running Node in the browser. Eric and the panel dive into the implications of what this new way of working could mean for the web and application development.Panel
Chuck dives into the 3 essentials for getting the next successful outcome you want in your career. Whether that's something simple like a raise or something more complex like going freelance, you can achieve it by working on 3 main areas.First, building skills. The most obvious type of skills you'll need is technical skills. However, don't neglect your people skills and your organizational skills as well since you're often paid for how you work with people and enhance their work and how you put your work together in the most efficient ways.Second, building relationships. Often other people will be able to help you find the opportunities or will be the ones to make the decisions that impact your ability to get the outcome you want. Having good relationships is key to having good outcomes.Third, building recognition. Being known for being valuable in important ways allows you to leverage the skills you have to build better relationships and create opportunities to get what you need to get the outcomes you want by giving people what they want. A podcast is a great way to do all three. Chuck explains exactly how that works in this podcast and goes deeper as part of the Dev Influencers Accelerator.Panel
Rick Viscomi joins us from Google to talk to us about the Chrome User Experience Report (CrUX) and the HTTP Archive. He explains what it tells us about how the web is built, how it performs, and what we know about the web today.Panel
Chuck explains what he taught Nathan last week when we asked how to get hired at a FANG (Facebook Apple/Amazon Netflix Google) company. Essentially, it boils down to how to build the skills and knowledge needed to pass the interview. How to build the relationships to get into the door and have the interviewer want you to succeed. And how to build the reputation that has the company wanting you regardless of the outcome.
This approach also works for speaking at conferences, selling courses, and other outcomes as well as it's the core of building a successful career as an influencer.Panel
Dan Shappir leads the Jabber crew on another discussion on the things JavaScript developers should know.They discuss WeakMap, WeakSets, and WeakReferences. They dive into where and how they are used and which places they're implemented.The conversation starts with garbage collection is and how it works and then moves into the implications it has for this kind of referencings.Panel
Ashley Davis jumps in to talk to Dan Shappir about wrangling data using JavaScript.Ashley describes his journey into JavaScript and his exposure to the web platform. From there he walks Dan through learning data science and building systems in Python before coming back to JavaScript.He talks through the tools and techniques used to manage data in JavaScript as well as how it can be done!Panel
Moran Weber is the CEO of Women on Stage. She helps women prepare for and speak on stages at conferences in technology and other related areas. She joins the Jabber panel this week to discuss women's place in technology, the importance of them appearing at conferences, and the outcomes of women in the technology space.Panel
Chuck was on a strategic call with one of his potential coaching clients talking about cryptocurrencies and realized that this is one of the major reasons that people want to become influencers. Or, rather, that many people aspire to make a difference and/or make money and the best way to do that is to become the person people go to for what you do.So, how do you become the first person people think of when they think of that thing you know how to do? Let Chuck tell you.Panel
Dan kicks the show off by asking our guest Sean C. Davis to define for us what doesn't fall under JAMstack. Sean explains what isn't JAMstack and then dives into what's changed over the last year or so that brings us to the tools and approaches that hybridize the server end of things to bring more server side to the JAMstack.So, JAMstack lifts away from a monolithic backend to provide an independent front-end with a supporting set of back-end tools rather than a back-end with supporting front-end tools. This episodes dives into the implications of this approach as a reaction to the more traditional monolith.Panel
Charles talks about the things that get developers stuck when they're trying to start their podcast or other influencer channel. He explains how to get around having those things hamper your journey.Panel
Yehonathan Sharvit joins the Jabber crew to discuss Data Oriented Programming. Data Oriented Programming is a way to reduce complexity by managing the shape of the data before we send it over the wire. Rather than managing data you send between services in class hierarchies, you focus on the data's meaning and manipulate it so the data it includes updates to your datastore like Redux and then cascade changes from your data.Panel
Charles Max Wood talks about how to build, grow, and benefit from positive relationships within programming. He talks about how he's built genuine positive relationships with hundreds of programmers and how he and others have grown from those relationships. He also explains that you get out of relationships what you put into them. Finally, he goes into how to begin to build relationships by building a system of influence you can use on behalf of the people you want relationships with.Panel
Micro frontends are the topic of discussion again, this time with Grgur Grisogono, Principal Consultant at Modus Create and co-author of the Manning book "Ext JS in Action". In particular, Grgur explains the new module federation capabilities introduced by Webpack, and describes how they can be used to construct micro frontends in a much more streamlined and modular fashion.Panel
Charles Max Wood discusses several opportunities that came his way early in his podcasting career and other opportunities that have come to other people after only a couple of podcast episodes. He explains why that happens and how you can use this to create more influence as a developer.Panel
Ethan Garofolo is the author of Practical Microservices with Pragmatic Programmers. He starts out debunking the ideas behind pulling parts of a monolith into a different services and change function calls into HTTP calls. Instead, it's an approach that keeps things moving for development teams that solves several productivity issues. He breaks down the ways to move functionality around and which approaches make sense for breaking your application up into pieces that are easy to work on and approachable for multiple teams.Panel
Charles Max Wood started podcasting because it sounded fun and because he wanted to talk about technology. He learned pretty quickly that it got him access to people who understood the things he wanted to learn. The reasons changed over the years, as Charles explains before he talks about the big payoff he gets now from doing the podcasts.Panel
The infamous Jake Archibald, member of the Chrome Team, an author of the Service Worker spec, and host of the HTTP 203 Podcast takes us on a whirlwind tour of recent and upcoming browser standards including Portals, iframes, App Cache, Service Workers, HTML, Browser History and more - why they are the way they are, why we can't have nice things, and how we might get nice things anyway in the future. Lots of good back and forth and only a little name calling… jaffa…Panel
Jason Weimann started out as an enthusiast of the Massively Multiplayer Online Role Playing Game, Everquest. After becoming a software developer and building a collaborative community playing the game, learn how he used his connections to get a job working for the company that made the game, even if it wasn't a job working as a game developer and how that led to a career working on one of the most popular online games of the time.Panel
If you're building a website or web-app, there's a good chance that you want people to find it so that they will access it. These days this mostly means that you want it to appear in the relevant search engine results pages (SERP). In this episode we are joined by Martin Splitt, DevRel at Google for the Search & Web ecosystem, who explains in detail how search engines work, and what developers and SEOs need to know and do in order to be on their good side.Panel
Chuck outlines how he's used his podcasts to find mentors to continue his learning journey over 12 years of podcasting. Some mentors have been long lived relationships while others have lasted only a few months or even days. This episode shares Chuck's experience learning from the top people in the development community as a programmer and podcaster.Panel
If you're building a website or web-app, there's a good chance that you want people to find it so that they will access it. These days this mostly means that you want it to appear in the relevant search engine results pages (SERP). In this episode we are joined by Martin Splitt, DevRel at Google for the Search & Web ecosystem, who explains in detail how search engines work, and what developers and SEOs need to know and do in order to be on their good side.Panel
In recent years the term DevOps has become ubiquitous - you'll find DevOps engineers in most every tech organization. But what does DevOps actually mean, and how does it differ from previously existing System and Network engineering and DBAs? In this episode our own Aimee Knight, who is currently expanding her role into DevOps, answers these questions, and provide further information about it.Panel
Having done a three-part series on the things JavaScript developers MUST know, Dan now leads a panel discussion on the things that JavaScript developers SHOULD know. These are things that devs can get by without knowing, but that will improve their abilities if they do know and understand. Subjects covered include: passing functions args by value vs by reference, sparse arrays, property descriptors, event capture, and more.Panel
Steve and A.J. talk with Chris Mather, the creator of the Elements framework, a new monolith-style web framework for generating web apps. They discuss the reason for adding YAF (Yet Another Framework), the pieces that are used to build the framework, and how it all works together.Panel
Anthony Campolo joins the conversation to lead the discussion of RedwoodJS. RedwoodJS is a full-stack framework that provides a way of building a fast and secure front-end that JAMstack gives you with the power and flexibility of a backend.It doesn't have an official ORM, instead it uses GraphQL through Prisma. This discussion goes deep into the history and implementation of RedwoodJS.Panel
In this episode, the panel discusses the final list of things that developers need to know and how and when they're important. These topics include:
You're working on planning and executing your professional and technical journeys, but what about your psychological journey? The reality is that without taking better care of yourself, you are potentially setting yourself up for failure, and potentially also putting your health and wellbeing at risk. We are joined by Wei-Ming Lam, a coach and Yoga Instructor who provides practical advice for constructing and tuning your psychological stack.Panel
John-Daniel Trask, founder and CEO of Raygun, talks about his experience building a monitoring company and about how to measure the speed and quality of your code.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
This is the follow on to the episode first recorded regarding JavaScripts iterators and generators. Dan takes the lead and picks up from last time. The panel discusses how JavaScript uses and implements iterators and where people are likely to see them. Then they dive into generators and briefly discuss the concept and their uses.CODE:
Use the code DEVCHAT at https://devchat.tv/fast to get double the capacity and traffic from Dexecure.Inian Parameshwaran is the CEO of Dexecure and an expert in speeding up websites. Inian walks Charles Max Wood through the intricacies of measuring website speed and explains which metrics matter and for which concerns. He goes over the benefits to SEO and user experience and then does a deep dive on how to begin speeding up your website so Google will rank it higher and your users don’t lose interest while waiting for a response from your application.Special Guest: Inian Parameshwaran.Sponsored By:
Iterators and generators were introduced into JavaScript way back in 2015, yet they remain an underused and often misunderstood features of the language. In this episode Dan describes the purpose of iterators, how they're implemented in JavaScript, and why you're using them even if you aren't aware that you are, via the spread operator for example. The panel then discusses the pros and cons of iterators in JavaScript, and why most devs don't explicitly use them.Panel
Luis Atencio jabbers about enjoying and using JavaScript. He enjoys the multi-paradigm nature of the language. The discussion ranges over the nature of JavaScript and how it's object-oriented, and how the paradigms can be blended to provide powerful functionality. They also dive into how to break down problems in JavaScript and how the language enables this.Panel
Christian Nunciato works on a system called Pulumi, which is a system that allows you to build infrastructure with code. This is usually aimed at the cloud and allows us to use tools to manage infrastructure and do setups and updates.Panel
Micro-services have been very popular on the backend for a while now. But can this architecture be applied to the front-end as well? Should it be applied to the front-end? Michael Geers, who literally wrote the book on micro-fronts ends, explains what they are and why they can be a powerful architectural pattern especially when implementing large-scale projects. He also describes how Web Components can be used to enable this type of application architecture.Panel
Components have become the go-to method for structuring and composing UIs on the Web. Usually this means relying on a JavaScript framework such as React, Vue, or Angular. But it turns out that there is a standard mechanism for creating components built into browsers. Ben Farrell who wrote a book on this mechanism - Web Components - joins the panel to explain what they are, how they work, and why they are a great, light-weight alternative to JavaScript frameworks.Panel
Steve and AJ talk with Gareth Brown, author of the recently released Manning video course “Building Web Applications with Firebase”. They discuss what Firebase is, the services it offers, and how it is used in different types of applications, both large and small.Panel
The panel continues its discussion of various JavaScript programming topics, and whether or not they are required knowledge for JavaScript programmers. This time the debate gets even more heated with topics such as promises and async / await, regular expressions (regex), the DOM and Service Workers. Ultimately we conclude that some you must indeed know to be successful at JavaScript development, but some you just need to know enough about to know to stay away from them.Panel
Get the Black Friday/Cyber Monday "Double Your Productivity by 5pm Today" Deal
Coupon Code: "DEEP" for a GIANT discountMani provides us with strategies and tactics to get Deep Work time and how to get our minds into that focused state for hours at a time.He has read hundreds of books that have taught him the secrets to getting more done by getting into this state.He starts by telling us how he was passed over for a promotion at Qualcomm in favor of someone younger and less experienced and how that inspired him to figure out what the other guy was doing differently. He learned that he needed to get more done with the time he was spending on his projects.The trick? Deep Work!Deep Work is the ability to spend uninterrupted, focused time on a task to bend your entire mind toward the goal.Other developers call it "Flow" or "the Zone."Mani provides us with strategies and tactics to get Deep Work time and how to get our minds into that focused state for hours at a time. Get the Black Friday/Cyber Monday "Double Your Productivity by 5pm Today" Deal
Coupon Code: "DEEP" for a GIANT discount
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Imagine a world in which your editor / IDE can actually write some of your code for you. Where you're able to produce software faster and more efficiently because your development environment "knows" what you want to do, based on code you've written before. Turns out you can start experiencing this in the present using the free TabNine editor extension by Codata. In this episode Kyle Simpson, Codata's Lead of Developer Empowerment, joins the panel to describe how they use Machine Learning to enhance and accelerate software development. Kyle explains what's already possible in the present, and what ML technology promises to enable in the future for developer experience.PicksAimee
Imagine a world in which your editor / IDE can actually write some of your code for you. Where you’re able to produce software faster and more efficiently because your development environment “knows” what you want to do, based on code you’ve written before. Turns out you can start experiencing this in the present using the free TabNine editor extension by Codata. In this episode Kyle Simpson, Codata’s Lead of Developer Empowerment, joins the panel to describe how they use Machine Learning to enhance and accelerate software development. Kyle explains what’s already possible in the present, and what ML technology promises to enable in the future for developer experience.Sponsors
PanelThis week the panel talks with a UK boot camp student about her decision to switch careers and learn to program. They discuss unique challenges such as being part of an underrepresented group and entering the field during a pandemic. Additionally, they discuss technology choices and overall, seek to gain a deeper understanding of the state of JavaScript for new developers.Sponsors
PanelLiran Tal and Brian Vermeer from Snyk join the panel to discuss development of secure software in general, and secure JavaScript and web dev in particular. They explain what developer-first security actually means, and the types of security vulnerabilities to watch out for when using modern tools to develop websites and web apps. They also present several Open Source tools that developers can use to improve their code right from within their favorite development environments and IDEs.Sponsors
PanelThis week the panel is joined by Mark Volkmann to discuss Svelte and how it compares and differs from front-end frameworks such as React and Angular. Mark has written a book and has given talks about Svelte and also about Sapper, an application framework built on top of Svelte. He explains to the panel how Svelte components are defined differently than other JavaScript frameworks, and how they are actually compiled into the production code, which isn’t dependent on any external libraries. He also explains why and how Svelte forgoes the use of a virtual DOM, using direct DOM manipulations instead. Finally he describes Sapper and explains how it can be used to quickly and easily create Web-apps that use SSR, static pages generation and dynamic routing.Sponsors
We talk about the Pros and Cons of using a database directly vs using an abstraction layer, common mistakes, optimistic concurrency, and a nice tangent into programming concurrency models to top it off.Sponsors
PanelPodcast: Play in new window | Download Many websites these days have to deal with the reality of incorporating third-party scripts. These could be tracking scripts or analytics or monitoring, or even scripts that add explicit features to a site, such as chat. Regardless of the purpose, such scripts add complexity and overhead, and can interfere with the proper operation of the site. In this episode Ben Vinegar, VP of engineering at Sentry, joins the panel to discuss the complexities and implications of third-party scripts, both from the perspective of website developers, as well as from the perspective of the developers creating such scripts.Sponsors
Today the panel talks with Matt Holt who works full time on the Caddy Web Server. The panel discusses things such as how it compares to other popular tools as well as lessons learned while working on it.Sponsors
Ran Levy, a well known and prolific technology podcaster joins the show to talk with the panel about software bugs. Topics of discussion include the inevitability of software bugs – are they an intrinsic part of software development? Also, can they be minimized and their impact mitigated? And what can software companies, and the developers themselves, do in order to deliver properly working software.Sponsors
For Web apps to be useful and successfully compete with native applications, they need to be able to access device features, such as the camera, local file system, Bluetooth, and more. Obviously such a mechanism needs to be secure and respect user privacy. In this episode Thomas Steiner, a Developer Advocate for the Web at Google, joins to discuss Project Fugu, and the benefits and capabilities that it already provides, and will provide in the future. Thomas, who is actively involved in this project, explains the design and development process for this project, and how it’s being rolled out and tested.Sponsors
In this episode the panel discusses various programming topics, and whether or not they are required knowledge for JavaScript programmers. This includes topics such as scopes and hoisting, closures, the event-loop, and the behavior of this. For each such topic, the panel discusses whether or not JavaScript devs are required to know and understand them in order to write better code, or pass job interviews, or to understand existing codebases. Alternatively, if these are topics that JavaScript developers don’t need to know, and maybe should even avoid.Sponsors
MongoDB is a popular option for databases which provides objects that look and act like JavaScript Objects. We brought an expert, Joe Karlsson to clear up some of the confusion on how to arrange your data in MongoDB. Joe provides a rundown on how to think about your data with a smaller dataset, a medium sized dataset, and a large dataset. The panel also dives into how the database works and how things are managed and arranged by the MongoDB database engine.Sponsors
Our guest is Daniel Lathrop, a freelance investigative data journalist and educator, and formerly a newspaper reporter and Professor of Journalism and Media informatics at the University of Iowa. On this show, Daniel describes how JavaScript is a great choice for doing data analysis and data science, potentially even more so than other languages which are often used for this purpose, such as Python and R. Daniel also provides information about lots of useful tools and techniques to use in this context.Sponsors
The reality of Covid-19 has changed the way that many people work, working remotely from home instead of coming into the office. Achieving work-life balance can always be a challenge in tech, but can be especially challenging when work and life mix in the same location. In this episode the panel discusses this important topic, and how it has impacted their own lives and careers. Also, how it changes over time and during a career.Sponsors
Connell has been working on Universal AR, a cross-platform Augmented Reality kit for Mobile Browsers delivering native-level performance using only JavaScript (and a bit of WASM under the hood). We talk about what AR actually is, some of its use cases, as well as the fascinating details as to how the Zap.works team is delivering near native performance and accuracy without IR, LiDAR, or any other of the common advanced AR sensors - just the good ol' phone camera and advanced Computer Visual trickery.Sponsors
In this episode of JavaScript Jabber we interview Neha Sharma about the importance of coding front-end JavaScript with accessibility in mind. She explains practical methods in which to generate accessible UX when using front-end frameworks, such as React and Angular. For example, the importance of generating proper semantic markup, and considering behaviors and responses to user interactions.Panel
The panel talks with Jonathan Reinink about his new library, IntertiaJS. InertiaJS is a tool that allows you to create a monolith server rendered site, but where you write your own custom back end, and then use a front end framework like React, Vue, or Svelte. We discuss how Intertia works at a very granular level, how it compares to tools like Next.js and Nuxt, why monoliths are better than using APIs, how Interita handles authentication and form submissions, and much more.Panel
Danny Thompson discusses his road to a successful tech career, after working for years outside the industry (frying chicken at gas-stations). He explains the importance of setting goals and following through, and how to overcome adversity, and handle setbacks. It's simultaneously a very inspirational story, but also filled with lots of very practical advice and action items to pursue. For example, the importance of attending and participating in Meetups and engaging with the local tech community.Panel
Yoav Wiess is a Developer Advocate at Google on the Chrome team, and also co-chair of the W3C Performance Working Group. In this episode Yoav explains how JavaScript resources are currently being delivered to browsers, and limitations and downsides with these approaches. He then describes a proposal for an advanced JavaScript delivery method that addresses these limitations. When this proposal is implemented, it will enable much more efficient download of JavaScript into browsers, boosting Web performance. This is a public proposal, and Yoav invites the community to participate in the standardization process.Panel
Join the 30-DAY CHALLENGE: "You Don't Know JS Yet"Gareth McCumskey, a Solutions Architect in Cape Town, South Africa engages the panelists of JavaScript Jabber in an informative discussion about the broad topic of serverless. The JavaScript expert explains that serverless is essentially a way to use the existing managed services of the cloud in building a solution. He expounded on the different ways in which to employ the use of serverless.Panel
Join the “You Don’t Know JS Yet” 30-day CHALLENGE SPECIAL ANNOUNCEMENT at the end of this episode. Don't miss it. Kyle Simpson, author of the You Don't Know JS Yet series joins the JavaScript Jabber panel to discuss the origins and approach to his book series. The discussion varies to the basic parts of JavaScript, the parts you should know, and how to learn them.Panel
The panel is joined by Travis Tidwell, co-founder and CTO of Form.io, a ME*N stack platform that incorprates a form builder with automatically generated REST API endpoints. Travis discusses the history of Form.io, how it’s built and works, and lays the smackdown on panelist and noted NoSQL database skeptic AJ O’Neal by showing how MongoDB is the appropriate DB for storing form data in JSON format.Panel
Gil Tayar gave a presentation recently on ES modules in Node. He joins the panel to discuss how to use and think about ES modules. With considerable pushback from AJ, Gil explains how to start using modules and what the tradeoffs are between modules, script tags, and build tools.Panel
Dan Shappir takes the lead and walks the panel through the history of JavaScript and a discussion on ES6, TypeScript, the direction and future of JavaScript, and what features to be looking at and looking for in the current iteration of JavaScript.Panel
In this episode of JavaScript Jabber the panelists and guest delve into the advantages of the shadow dom, transitioning from polymer js polyfills to native web components when moving for SAP UI to UI5, which works within React, Vue, Angular, and others.Panel
The panelists discuss that latest State of JS survey. They begin talking about the merits and methods of the survey and then discuss the value you can extract from the survey. They also consider the various comparisons and trends presented by the survey and what they may mean.Panel:
Una Kravets talks to the panel about CSS and its future. We dive into what Houdini is and how much of it is implemented in the browsers. She explains how the changes outlined in Houdini will improve the user experience on the web and developer experience for web developers.Panel:
Bruce Lawson is an expert in and proponent of semantic HTML. After receiving some good natured ribbing, Bruce walks the panel through the benefits of semantic HTML. He provides several examples on how it's used and in particular how it helps with other issues like accessibility and navigability on your websites.Panel
Adam dives into how to document your application using OpenAPI (formerly Swagger) and then how to generate great documentation for your API's using Redoc. He gives us the history of Redoc, breaks down the process for building API documentation, and understanding the OpenAPI specification.Panelists
Today’s guest is Ben Collins, who creates online courses, writes tutorials, and teaches workshops around G Suite and App Script. Apps Script is a scripting platform developed by Google for light-weight application development in the G Suite platform. It is an implementation of JavaScript with the express purpose of extending Google apps. App Script was started 10 years ago as a side project, and it eventually took on its own life. Ben talks about some of the different things that App Script can do and where things are stored. They discuss different ways you can get into the script and how to import external scripts from a CDN. Ben gives two examples, one simple and one sophisticated, that you might build from App Script. He talks about event triggers and how authentication is handled. He goes over the three deployment options, namely web app, app executable, sheets add-on, and deploying from the manifest. Ben talks about how triggers are managed in App Script and options for debugging. There is also the option to develop locally as well as in the browser. The show ends with him talking about how to build using HTML in App Script.Panelists
In this episode of JavaScript Jabber the panel interviews security expert, Kevin A. McGrail. He starts by explaining what security frameworks and what they do. The panel wonders how to know if your developers are capable of self-auditing your security or if you need help. Kevin shares recommendations for companies to look at to answer that question. Aimee Knight explains the hell she has been in making changes to be compliant with CCPA. The panel considers how policies like this complicate security, are nearly impossible to be compliant with and how they can be weaponized. They discuss the need for technical people to be involved in writing these laws. Kevin explains how you can know how secure your systems actually are. He shares the culture of security first he tries to instill in the companies he trains. He also trains them on how to think like a bad guy and explains how this helps developers become security first developers. The panel discusses how scams have evolved and how the same scams are still being run. They consider the importance of automated training and teaching developers to do it right the first time.Finally, they consider the different ways of authentication, passwords, passphrases, sim card, biometrics. Kevin warns against oversharing or announcing vacations. The panel discusses real-world tactics bad guys use. Kevin explains what he trains people to do and look out for to increase security with both social engineering and technical expertise. Panelists
Burke Holland works for Microsoft on the Azure team in developer relations. He starts the show talking about how he got started in serverless. He’s careful to note that just because things are marketed as serverless doesn’t always make them so. In order for something to be serverless, it must be sufficiently abstracted in terms of technology, only require payment for what is used, and infinitely scalable. He talks about the statelessness of serverless, and the panel discusses what it means to be stateless. Burke reminds listeners that serverless is not for long-lived operations, but there are features in serverless providers that can help you get around this. Burke talks about how writing serverless code differs from standard or previous coding approaches and practices. He advises that serverless functions are best kept small, and talks about how to fit them in with other kinds of APIs. The panelists talk about the multi-cloud and why people would want to be on multiple cloud servers. Burke talks about what Microsoft has done with Serverless Frameworks to accomplish multi-cloud compatibility. The JavaScript experts discuss the advantages and disadvantages of picking JavaScript over other languages, and Burke talks about why he prefers TypeScript and the Easy-Off feature. They talk about speed on a serverless platform, especially concerning the cold start time, which Azure is relentlessly trying to lower. He does talk about some things that can be done to decrease load time and about premium functions. The panel discusses how to debug serverless functions and tools that are available, such as the Azure Functions extension. They talk about ways to set up more secure functions to keep things from racking up charges. Burke talks about some things Microsoft does internally to control cloud costs, such as sending monthly reports with reminders to delete and using tools like Azure Reaper to delete short-lived projects. Azure can also put spending caps on subscriptions, but when you hit that cap you can’t serve any more requests. Burke concludes by saying that most of the time, going serverless is a lower-cost way to improve productivity, and because it’s event-driven, it allows you to tie into things that you’re already doing in the cloud. Serverless almost always justifies itself from an ease of use point of view and a cost point of view. Panelists
In this episode of JavaScript Jabber the panel interviews Sean Grove from OneGraph; asking him questions about GraphQL tooling and common complaints about GraphQL. Sean starts by explaining what GraphQL is and how it benefits frontend developers. GraphiQL is a frontend open sourced tool produced by OneGraph, Sean explains how this handy tool simplifies GraphQL. Authentication and authorization are one of the biggest criticisms of GraphQL. Sean walks the panel through the solution, getting a schema definition language and adding directives to build a simple authentication and authorization. The panel defines authentication and authorization and explains the difference. The next issue common with GraphQL that the panel discusses is migration. Sean explains how OneGraph helps with migration using a Rust network layer and how it works. They also discuss how to migrate without this tool. Without the tool it is painful and he recommends incremental migration. Sean explains that another problem in GraphQL is poor documentation. He explains why the documentation is poor and explains how they hope to fix it at OneGraph. The last issue they cover is the length of queries. Sean tells the panel how they can handle this problem with depth analysis or persistent queries. The episode ends with an elevator pitch for Reason. Panelists
Maximiliano Firtman is a mobile web developer from Buenos Ares, Argentina. He has been a developer for 24 years and his most recent focus has been on progressive web apps, or PWAs. Steve and Max reflect on the technologies they were using when they first got started in web development and talk about their experience with mobile development. One area that Max emphasized was bringing the web into the mobile space. They discuss the progression of web access on mobile and some of the available tools. Max notes that responsible design has a very high cost in web performance for mobile devices, which requires unique approaches. They discuss some of the issues with latency in mobile, even on 4G. The solution to this latency is PWAs.Progressive web apps are a set of best practices to create web apps that are installable. They can work offline at high speeds on several operating systems. Once installed, it looks like any other app on the system. Max delves into more details on how it works. He talks about how the resources for your application are managed. He assures listeners that it’s just a website that’s using a new API, they’re not changing the way the web works, and that when that API is there, the app can be installed. It will also generally use your default browser. Steve and Max discuss how local data is stored with PWAs. To write PWAs, you can use Angular, React, JavaScript, or Vue, and it’s a pretty transparent process. Max talks about some common tools used for local storage and some of the PWAs he’s worked on in the past. The benefit of using PWAs is that they generally run faster than regular web apps. To get started, Max advises listeners to install one and start exploring.Panelists
In this episode of JavaScript Jabber Charles Max Wood continues interviewing speakers at RxJS Live. First, he interviews Mike Ryan and Sam Julien. They gave a talk about Groupby, a little known operator. They overview the common problems other mapping operators have and how Groupby addresses these problems. The discuss with Charles where these types of operators are most commonly used and use an analogy to explain the different mapping operators. Next, Charles talks to Tracy Lee. Her talk defines and explains the top twenty operators people should use. In her talk, she shows real-world use cases and warns against gotchas. Tracy and Charles explain that you don’t need to know all 60 operators, most people only need about 5-10 to function. She advises people to know the difference between the different types of operators. Tracy ends her interview by explaining her desire to inspire women and people of minority groups. She and Charles share their passion for diversity and giving everyone the chance to do what they love. Dean Radcliffe speaks with Charles next and discusses his talk about making React Forms reactive. They discuss binding observables in React and how Dean used this in his business. He shares how he got inspired for this talk and how he uses RxJS in his everyday work. The final interview is with Joe Eames, CEO of Thinkster. Joe spoke about error handling. He explains how he struggled with this as did many others so he did a deep dive to find answers to share. In his talk, he covers what error handling is and what it is used for. Joe outlines where most people get lost when it comes to error handling. He also shares the three strategies used in error handling, Retry, Catch and Rethrow and, Catch and Replace. Charles shares his admiration for the Thinkster teaching approach. Joe explains what Thinkster is about and what makes them special. He also talks about The DevEd podcast. Panelists
In this episode of JavaScript Jabber Charles Max Wood does interviews at RxJS Live. His first interview is with Hannah Howard at RxJS Live about her talk. Hannah is really enthusiastic about RxJS especially when it comes to frontend development. Her talk is about how to architect full-scale apps with RxJS. Hannah gives a brief summary of her talk. Charles having met Hanna previously at Code Beam asks her how functional programming and reactive programming work together in her mind. Hannah describes how she sees programming. Charles’s next interview is with Ben Lesh, a core team member of RxJS. Ben has been working on RxJS for the last four years. In his talk, he shares the future of RxJs, the timeline for versions 7 and 8. With Charles, he discusses his work on RxJS and the adoption of RxJS. Next, Charles interviews Sam Julien and Kim Maida. They gave a talk together covering the common problems developers have when learning RxJS. In the talk, they share tips for those learning RxJS. Charles wonders what inspired them to give this talk. Both share experiences where they encouraged someone to use RxJS but the learning curve was to steep. They discuss the future of RxJS adoptions and resources. Finally, Charles interviews Kim alone about her second talk about RxJS and state management. She explains to Charles that many state management libraries are built on RxJS and that it is possible to roll out your own state management solution with RxJS. They discuss why there are so many different state management libraries. Kim shares advice for those looking to roll out their own solutions.Panelists
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
Daniel Caldas is calling from Singapore. He currently works as a software engineer for Zendesk and has also worked in Portugal and Germany. He has worked primarily on the frontend with Node and JavaScript. He talks about his experience testing JavaScript, how he got started with Jest, and why he likes it. Daniel finds Jest very easy to use and straightforward. He likes that Jest has a single reference page for documentation. He feels that Jest is largely complete out of the box and has only made a small add on to get rid of Boilerplate in some tests.Daniel explains what a snapshot, how they work, and why he prefers fixtures over factories. He gives tips on how to set up your tests so that they are easy to follow. He finds it helps to structure your scenarios in the fixture description. He talks about gotchas in Jest. While Jest is largely easy to use, Jest has been around for a while and breaking changes do happen. It’s important to check what version your code base is using. While there are a lot of free sources around Jest online, he advises listeners to stick as close to the official documentation as possible, or to people associated with Jest, and to read recent stuff. As for conventions, Jest has pretty much everything out of the box and the built in conventions make it easy to navigate any project that uses Jest.Daniel talks about some of the features available in Jest, converting observables into promises, and tricks he has used to make tests easier to put together. He talks about his method for keeping his mocks and stubs straight. He advises listeners to have some organizational rules, such as starting the imports alphabetically, and to always follow those rules. He talks about how he runs tests and what environments he uses. While Jest is normally used for unit testing, Daniel has also used it for end to end tests, and he talks about his experience with an open source project doing both types in Jest. Daniel concludes the show by advising listeners starting with JavaScript and frontend, don’t think too much about the library you’re going to use because you’ll probably end up using Jest. It’s more important to have unit tests and a proper testing framework at the beginning than anything else. He also invites listeners to check out his open source work on Github.Panelists
Today the panel is discussing iterating on open source projects. Aimee and AJ recall a conversation they had in the past on this subject and AJ talks about some of his experience iterating with open source. AJ believes that we have an obligation to capture the value of what you create so that we can reinvest and create more value, though he admits that making money in open source is a unique challenge because donations only really work if you have a project that gets billions of downloads a month. As your project grows, it has to change in order to survive, and eventually you will need to get financial support from your project. The panel agrees that some of the main issues with iterating in open source are maintaining the code and getting feedback from users, financial backing, and roadmapping and integrations.The panel discusses their methods for getting feedback from their users. This feedback is valuable because it can show you things that you missed. They acknowledge that there can be conflicts of interest between those who only use the project and those who financially support it, and you have to make a choice. Unfortunately, someone is probably going to be inconvenienced no matter what choice you make. When making these decisions, you have to consider who it helps, who it frustrates, and who it may cause problems for. The panelists talk about different ways they’ve handled making these decisions in the past. The JavaScript experts talk about the importance of having data on your user base in order to make good choices for your users. They talk about different methods for notifying your users of upcoming changes and how it will affect compatibility, and some of the challenges with communicating with your users. AJ talks about an iteration he thought was a good idea but that a lot of people hated and how he noticed that the new users liked it but the old users did not. They panel agrees that people in general don’t like change. AJ talks about what he learned from this experience. Another common issue is integrating with other services. Integrating with cloud services, or at least giving people the option to integrate gives you an opportunity to reach more people and maintain the project long term. AJ gives some final thoughts to close the show, namely that most projects never go anywhere, and that’s ok. If you’ve got something that starts going somewhere, think early on about how you can better serve the community and remember that these people are mostly grateful and semi-willing to support you. He believes that if you are helping people create value, you deserve to see the fruits of your labor. He advises listeners to stay true to your open source ideals, think about your users perspective, and that the earlier you can think about this and make these choices, the better it is for your project
Panelists
Today the panel discusses the difference between Swagger and Open API with Josh Ponelat. Josh details the difference between the two. Swagger is a set of protocols around describing restful APIs. Swagger was taken over by a company called SmartBear, who donated the donated the specification to the Open Linux Foundation, and that became the Open API. Swagger is the tooling surrounding these specifications. Open API is a standardized way to describe a restful API in a YAML file. Once you’ve got a YAML file to describe your API, you can use tooling like Swagger to leverage that and take it to the next level. Using the Open API process is useful for situations where you already have an API in place, but want to codify and document it so that it’s controlled. Then going forward, you won’t introduce contradictions and it remains consistent because it’s documented in a YAML file. The process leaves room for enhancement in the future as well. Josh talks about some of the benefits of standardizing your API and some of the use cases besides tooling. A standardized API can help show developers how to use your API, SDKs, and service stubs by knowing your API is consistent in style. This makes it easier to find breaking changes and more. Josh talks more about Swagger, a finite set of tooling around Open API, most of which are open source. He talks about other tools that test APIs and do linting on YAML files. Some of the companies that use Open API include Google, Amazon, and Microsoft. Josh talks about how Amazon implements Open API.Josh talks about the book he’s writing, Designing APIs with Swagger and Open API. The book goes over describing APIs today, how to design APIs without writing code first, and how to get the most out of the system. The show concludes with Josh talking about the power of consistency and writing things down on paper. He discusses where implications that the standardization of APIs has on the text industry. Panelists
"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!
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Carl Mungazi is a frontend developer at Limejump in London. He is a former journalist and switched to programming in 2016. Today the panel is discussing the benefits of reading source code. Carl began reading source code because he came into programming late and from a different field. His first project was with Mithril, and he read the source code and documentation to help him understand it. The panelists discuss how reading the source code has helped them and others to improve their coding. They compare reading and understanding source code to learning a foreign language, and discuss different methods. Carl gives some suggestions for reading source code effectively. He advises people to be patient and step through the code. Accept that you will probably take a wrong path at some point or another, but the more you read, the more you will see patterns in how libraries are structured. He also encourages listeners to approach the authors, as they are often happy to lend a hand. Reading source code is an active approach of stepping through, debugging, putting in break points, checking the stack, and so forth. It’s also important to do outside research. Since he has been reading source code, Carl has come to prefer plain JavaScript and libraries with as little code as possible. The panel discusses the benefits of small, simple libraries. Carl gives examples of techniques that he learned from reading a library source code and how he applied it to his own coding style. Reading source code has made him more careful about mixing logic and UI, and now he separates them. He also is more confident in seeing a problem, going to a preexisting library, and just importing the fix for that problem rather than the whole library. Reading source code is really about understanding the code you use in your project. It may slow you down, but you’ll be thankful in the long term because it will help you solve future bugs more efficiently. Carl talks more about his debugging process. He still relies on a debugger, but reading a library helps you to see patterns and guess the output of a function. These patterns persist in other libraries as well. Once you can guess correctly what will happen, you go back to reading the code and find instances where the output is unexpected, and fix it. Carl’s closing thoughts are that through reading source code, he has learned that although code is used differently in each library, they are all written in the same language, and therefore interrelated. This gave him more confidence in reading code because they’re all fundamentally the same. When a bug is discovered, he encourages listeners to look at the source code before googling a solution. Panelists
Dean is a developer from Chicago and was previously on React Round Up 083. Today he has come over to JavaScript Jabber to talk about reactive programming and Storybook. Reactive programming is the opposite of imperative programming, where it will change exactly when needed instead of change only when told to. Reactivity existed long before React, and Dean talks about his history with reactive programming. He illustrates this difference by talking about Trello and Jira. In Trello, as you move cards from swimlane to another swimlane, everyone on the board sees those changes right away. In Jira, if you have 11 tabs open, and you update data in one tab, probably 10 of your tabs are stale now and you might have to refresh. Reactive programming is the difference between Trello and Jira.The panel discusses why reactive JavaScript is not more widely used. People now tend to look for more focused tools to solve a particular part of the problem than an all in one tool like Meteor.js. Dean talks about the problems that Storybook solves. Storybook has hot reloading environments in frontend components, so you don’t need the backend to run. Storybook also allows you to create a catalogue of UI states. JC and Dean talk about how Storybook could create opportunities for collaboration between engineers and designers. They discuss some causes of breakage that automation could help solve, such as styles not being applied properly and internationalization issues. Dean shares how to solve some network issues, such as having operators in RxJs. RxJs is useful for overlapping calls because it was built with cancelability from the beginning. Dean talks about his tool Storybook Animate, which allows you to see what the user sees. Storybook is an actively updated product, and Dean talks about how to get started with it. The show concludes with Dean talking about some things coming down the pipe and how he is actively involved in looking for good general solutions to help people write bulletproof code. Panelists
Today the panel is talking about security features that are being added to Node 13. AJ talks about the background and what he’s working with Let’s Encrypt. He talks about changes that Node has made to the TLS module. TLS is a handshake that happens between a client and a server. They exchange certificates, generate some random numbers to use for encryption, and TLS handles the encryption. The move to HTTP/2 is all about fixing legacy bugs and legacy features from the SSL days and reducing the number of handshakes.AJ talks about the difference between TLS and HTTPS. While TLS reduces the handshakes between client and server, HTTPS is just HTTP and has no knowledge that TLS is going on. HTTP/2 is more baked in as both encryption and compression are part of the specification and you get it automatically. HTTP/2 is also supposed to be faster because there’s fewer handshakes, and you can build heuristic based web servers. Since browsers have varying degrees of compatibility, a smart HTTP/2 server will classify the browser and anticipate what files to send to a client based on behavior and characteristics without the client requesting themA lot of these new features will be built into Node, in addition to some other notable features. First, there will now be set context on the TLS object. Second, if you’re connected to a server, and the server manages multiple domains, the certificate will have multiple names on it. Previously, each different server name had a different network request, but now a .gitcertificate will let you get all the metadata about the certificate, including the primary domain and all the secondary domains and reuse the connections. These new features are a great improvement on the old Node. Previously, the TLS module in Node has been an absolute mess. These are APIs that have been long neglected, and are long overdue core editions to Node. Because of these additions, Node Crypto has finally become usable. HTTP/2 is now stable, usable, and has backwards compatable API, and a dictionary of headers to make it more efficient in compression.The conversation turns back to certificates, and AJ explains what a certificate is and what it represents. A certificate has on it a subject, which is a field which contains things like common name, which in the case of HTTPS is the server name or host name. then it will have subject alternative names (SAN), which will have a list of other names that are valid on that certificate. Also included on the certificate is the name of the authority that issued the certificate. AJ talks about some of the different types of certificates, such as DV, OV, and EV certificates. They differentiate between encryption and hashing. Hashing is for verifying the integrity of data, while encryption can be used either as signing to verify identity or to keep data owned privately to the parties that are part of the connection. Encryption does not necessarily guarantee that the data is the original data. The show concludes with AJ talking about how he wants to make encryption available to the average person so that everyone can share securely. Panelists
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
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
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
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
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
JavaScript Jabber celebrates its 400th episode with former host Dave Smith and some other familiar voices. Each of the panelists talks about what they’ve been up to. Dave hasn’t been on the show for 3 years, but he and Jameson Dance have started a podcast called Soft Skills Engineering where they answer questions about the non-technical side of engineering. When he left the show he was the director of engineering on Hire View, and currently he works for Amazon on Alexa. Christopher Buecheler has been on several JSJ, RRU, and MJS episodes. His time is divided between contracting for startups and his own company closebrace.com, a tutorial and resource site for JavaScript developers. Dan Shapir has also been on JSJ as a guest, and is currently works for Wix doing performance tech. He enjoys speaking at conferences, such as JS Camp in Bucharest, Romania and the YGLF conference. Steve Edwards was previously on MJS 078. He started on Drupal in the PHP world, switched to JavaScript, and then a few years ago he started looking at Vue. Now he does Vue fulltime for ImageWare Systems.As for Charles, his primary focus is the podcasts, since DevChat.tv produces around 20 episodes per week. 5 new shows were started in July, and he talks about some of the challenges that that brought. One of his most popular shows recently was JSJ 389: What makes a 10x Engineer? This helped him realize that he wants to help teach people how to be a successful engineer, so he’s working on launching a new show about it. The panelists share some of their favorite JSJ episodes. They discuss the tendency of JSJ to get early access to these fascinating people when the conversation was just beginning, such as the inventor of Redux Dan Abramov, before their rise to stardom. The talk about the rise in popularity of podcasting in general. They agree that even though JavaScript is evolving and changing quickly, it’s still helpful to listen to old episodes. Charles talks about the influence JavaScript Jabber has had on other podcasts. It has spawned several spinoffs, including My JavaScript Story. He’s had several hosts start their own DevChat.tv shows based off JavaScript Jabber, including Adventures in Angular and The DevEd Podcast. JavaScript Jabber has also been the inspiration for other podcasts that aren’t part of DevChat.tv. There aren’t many podcast companies that produce as many shows as they do and they’re developing their own tools. DevChat.tv moved off of WordPress and is in the process of moving over to Podwrench. Charles talks about all the new shows that have been launched, and his view on ‘competing’ podcasts. Charles is also considering doing an audio drama that happens in a programming office, so if you would like to write and/or voice that show, he invites you to contact him. The show concludes with the panel talking about the projects they’ve been working on that they want listeners to check out. Christopher invites listeners to check out closebrace.com. He also has plans to write a short ebook on unit testing with jest, considered doing his own podcast, and invites people to check out his fiction books on his website. Dan talks about his involvement with Wix, a drag and drop website service, that recently released a technology called Corvid which lets you write JS into the website you build with Wix. This means you can design your user interface using Wix, but then automate it, add events functionality, etc. Dan is also going to be at the Chrome Dev Summit conference. Dave invites listeners to check out the Soft Skills Engineering podcast, and Charles invites listeners to subscribe to his new site maxcoders.io. Panelists
- Dan Shapir
- Christopher Buecheler
- Steve Edwards
- Dave Smith
- Charles Max Wood
Sponsors
- https://tidelift.com/
- http://sentry.io/ use the code “devchat” for 2 months free on Sentry’s small plan
- https://devchat.tv/adventures-in-dotnet/
Links
- https://devchat.tv/dev-rev/
- https://devchat.tv/my-javascript-story/mjs-099-christopher-buecheler/
- https://devchat.tv/js-jabber/jsj-338-its-supposed-to-hurt-get-outside-of-your-comfort-zone-to-master-your-craft-with-christopher-buecheler/#viewport
- https://devchat.tv/react-round-up/rru-029-christopher-buecheler-getting-ready-to-teach-lessons-learned-from-building-an-84-tutorial-software-course/#viewport
- https://devchat.tv/my-javascript-story/mjs-108-dan-shappir/#viewport
- https://devchat.tv/js-jabber/jsj-334-web-performance-api-with-dan-shappir/#viewport
- https://devchat.tv/js-jabber/jsj-371-the-benefits-and-challenges-of-server-side-rendering-ssr-with-dan-shappir/#viewport
- https://devchat.tv/my-javascript-story/mjs-078-steve-edwards/#viewport
- https://devchat.tv/js-jabber/179-jsj-redux-and-react-with-dan-abramov/
- https://devchat.tv/js-jabber/187-jsj-vue-js-with-evan-you/
- https://devchat.tv/js-jabber/jsj-383-what-is-javascript/
- https://devchat.tv/js-jabber/jsj-385-what-can-you-build-with-javascript/
- https://devchat.tv/js-jabber/jsj-390-transposit-with-adam-leventhal/
- https://devchat.tv/js-jabber/jsj-395-the-new-ember-with-mike-north/
- https://devchat.tv/js-jabber/220-jsj-teaching-javascript-with-kyle-simpson/
- https://devchat.tv/js-jabber/jsj-313-light-functional-javascript-with-kyle-simpson/
- https://devchat.tv/js-jabber/124-jsj-the-origin-of-javascript-with-brendan-eich/
- https://devchat.tv/js-jabber/073-jsj-react-with-pete-hunt-and-jordan-walke/
- https://devchat.tv/js-jabber/jsj-392-the-murky-past-and-misty-future-of-javascript-with-douglas-crockford/
- https://player.fm/series/all-javascript-podcasts-by-devchattv/jsj-391-debugging-with-todd-gardner
- https://devchat.tv/js-jabber/jsj-389-what-makes-a-10x-engineer/
- http://cwbuecheler.com/
- https://closebrace.com
- https://www.wix.com/corvid
- https://softskills.audio/
- https://maxcoders.io/
Follow DevChatTV on https://www.facebook.com/DevChattv/?__tn__=%2Cd%2CP-R&eid=ARDBDrBnK71PDmx_8gE_IeIEo5SnM7cyzylVBjAwfaOo1ck_6q3GXuRBfaUQZaWVvFGyEVjrhDwnS_tV and https://twitter.com/devchattv?lang=en PicksSteve Edwards:
- https://github.com/formio/formio
Christopher Buecheler:
- https://www.apollographql.com/docs/apollo-server/testing/graphql-playground/
- https://twitter.com/TheTimeCowboy Jake Lawrence
Charles Max Wood:
- https://www.stgeorgemarathon.com/
-
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Valeri Karpov is a maintainer on Mongoose, has started a few companies, and works for a company called Booster Fuels. Today’s topic debugging with Async/Await. The panel talks about some of the challenges of debugging with Async. AJ, however, has never encountered the same problems, so he shares his debugging method. Valeri differentiates between .catch vs try...catch, and talks about why he prefers .catch. There are two ways to handle all errors in an async function without leading to an unhandled promise rejection. The first is to wrap the entire body of the async function in a try...catch, has some limitations. Calling an async function always returns a promise, so the other approach is calling .catch on the promise to handle any errors that occur in that function body. One of the key differences is if you return a promise within an async function, and that return promise is wrapped in a try...catch, the catch block won’t get called if that promise is rejected, whereas if you call .catch on the promise that the function returns, you’ll actually catch that error. There are rare instances where this can get tricky and unintuitive, such as where you have to call new promise and have resolve and reject, and you can get unexpected behavior.The panel discusses Valeri’s current favorite JS interview question, which is, “Given a stream, implement a function called ‘stream to promise’ that, given a stream, returns a promise that resolves to the concatenation of all the data chunks emitted by the stream, or rejects if the stream emits an error event.” It’s really simple to get this qustion right, and really simple to get it wrong, and the difference can be catastrophic. AJ cautions listeners to never use the data event except in the cases Val was talking about, only use the readable event.The conversation turns to the function of a readable event. Since data always pushes data, when you get a readable event, it’s up to you to call read inside the function handler, and then you get back a chunk of data, call read again and again until the read returns null. When you use readable, you are in control and you avoid piling functions into RAM. In addition, the right function will return true or false to let you know if the buffer is full or not. This is a way to mix imperative style into a stream.The next discussion topics are the differences between imperative style and reactive style and how a waits and promises work in a normal four loop. A wait suspends the execution of a function until the promise is resolved. Does a wait actually stop the loop or is it just transpiling like a promise and it doesn’t stop the loop. AJ wrote a module called Batch Async to be not as greedy as promise.all but not as limited as other options.The JavaScript panelists talk about different async iterators they’ve used, such as Babel. They discuss the merits of Babel, especially since baseline Android phones (which a significant portion of the population of the world uses) run UC Browser that doesn’t support Babel, and so a significant chunk of the population of the world. On the other hand, if you want to target a large audience, you need to use Babel.Since frameworks in general don’t handle async very well, the panel discusses ways to mitigate this. They talk about different frameworks like Vue, React, and Express and how they support async functions. They discuss why there is no way for you to actually cancel an async option in an actual case, how complex canceling is, and what you are really trying to solve for in the cancellation process. Canceling something is a complex problem. Valeri talks about his one case where he had a specific bug that required non-generic engineering to solve, and cancelling actually solved something. When AJ has come across cancellation issues, it’s very specific to that use case. The rest of the panelists talk about their experiences with having to cancel something. Finally, they talk about their experience with async generator functions. A generator is a function that lets you enter into the function later. This makes sense for very large or long running data sets, but when you have a bounded items, don’t complicate your code this way. When an async generator function yields, you explicitly need to call next in order for it to pick up again. If you don’t call ‘next’, it’s essentially cancelled. Remember that object.keys and object.values are your friends. Panelists
Guest Paige Niedringhaus has been a developer full time for 3 years, and today she is here to talk about Node 12. One of the things she is most excited about is the ES6 support that is now available, so things that used to require React, Angular, or Vue can now be done in Node. The require function will not have to be used in Node 12. AJ is worried about some of these changes and expresses his concerns. Paige assures him that in the beginning you won’t have to switch things to imports. You may have to change file extensions/types so Node can pick up what it’s supposed to be using. They are also trying to make it compatible with CommonJS.Node 12 also boasts an improved startup time. The panel discusses what specifically this means. They talk about the code cache and how Node caches the built in libraries that it comes prepackaged with. The V8 engine is also getting many performance enhancements. Paige talks about the shift from promises to async. In Node 12, async functions will actually be faster than promises. They discuss some of the difficulties they’ve had in the past with Async08, and especially callbacks. Another feature of Node 12 is better security. The transcripted security layer (TLS), which is how Node handles encrypted strains of communication, is upgrading to 1.3. The protocol is simpler to implement, quicker to negotiate sessions between the applications, provides increased end user privacy, and reduces request time. Overall, this means less latency for everybody. 1.3 also gets rid of the edge cases that caused TLS to be way far slower than it needed to be. The conversation turns to properly configuring default heap limits to prevent an ‘out of memory’ error. Configuring heap limits is something necessary when constructing an incredibly large object or array of objects. Node 12 also offers formatted diagnostic summaries, which can include information on total memory, used memory, memory limits, and environment lags. It can report on uncaught exceptions and fatal errors. Overall, Node 12 is trying to help with the debugging process. They talk about the different parsers available and how issues with key pairing in Node have been solved. Paige talks about using worker threads in Node 12. Worker threads are really beneficial for CPU intensive JavaScript operations. Worker threads are there for those things that eat up all of your memory, they can alleviate the load and keep your program running efficiently while doing their own operations on the sideline, and returning to the main thread once they’ve finished their job. None of the panelists have really used worker threads, so they discuss why that is and how they might use Worker Threads in Node 12. In addition, Node 12 is making Native module creation and support easier, as well as all the different binaries a node developer would want to support. Paige makes it a point to mention the new compiler and minimum platform standards. They are as follows:
Kaelig Deloumeau-Prigent is a self taught web developer from west France. He has worked for BBC, The Guardian, and The Financial Times in the UK. He has also worked in the US for SalesForce and currently works for Shopify on their Polaris design system. Shopify has multiple design systems, and Polaris is open source. Today the panel is talking about design systems and developer tooling around design systems. To begin, Kaelig explains what a design system is. A design system is all of the cultural practices around design and shipping a product. It includes things like the words, colors, spacing grid system, and typography, plus guidance on how to achieve that in code. The panelists discuss what has made design systems so popular. Design systems have been around for a while, but became popular due to the shift to components, which has been accelerated by the popularity of React. The term design system is also misused by a lot of people, for it is much more than having a Sketch file. Next, they talk about whether design systems fall under the jurisdiction of a frontend developer or web designers. Kaelig has found that a successful design system involves a little bit of everyone and shouldn’t be isolated to one team. They talk about what the developer workflow looks like in a design system. It begins with thinking of a few common rules, a language, and putting it into code. As you scale, design systems can become quite large and it’s impossible for one person to know everything. You either give into the chaos, or you start a devops practice where people start to think about how we build, release, and the path from designer’s brain to production.The panelists then talk about how to introduce a design system into a company where there are cultural conflicts. Kaelig shares his experience working with SalesForce and introducing a design system there. They discuss what aspects of a design system that would make people want to use it over what the team is currently doing. Usually teams are thankful for the design system. It’s important to build a system that’s complete, flexible, and extensible so that you can adapt it to your team. A good design system incorporates ‘subatomic’ parts like the grid system, color palette, and typography, referred to as design tokens. Design systems enable people to take just the bits of the design system that are interesting to them and build the components that are missing more easily. The conversation turns to the installation and upgrade process of a design system. Upgrading is left up to the customer to do on their own time in most cases, unless it’s one of the big customers. They talk about the role of components in upgrading a design system. Kaelig talks about the possibility of Shopify transitioning to web components. Kaelig shares some of his favorite tools for making a design system and how to get started making one. A lot of design teams start by taking a ton of screen shots and looking at all the inconsistencies.Giving them that visibility is a good thing because it helps get everyone get on the same page. The panelists talk about the role of upper management in developing components and how to prioritize feature development. Kaelig talks about what drives the decision to take a feature out. The two main reasons a feature would be removed is because the company wants to change the way things are done and there’s a different need that has arisen. The show concludes by discussing the possibility of a design system getting bloated over time. Kaelig says that Design systems takes some of the burden off your team, help prevent things from getting bloated, allow you to ship less code. Panelists
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
Mike North is the Ember guy at Frontend Masters and LinkedIn’s web developer trainer. Today the panel is talking about the upcoming Ember update, which Mike calls a total reinvention of the way you build with Ember. Finally, they are letting go of the cruft and stuff they had to hold on to in order to support IE8 and using modern interfaceThe panel talks about some of the issues with IE8, and agree that the reason Ember felt its age because it was built for IE8. Ember 314 is moving from the past into the present, a sleek modern way to build apps. Mike talks about how easy the new Ember is to use. Mike talks about the excitement in the Ember community because the new build is focused on stability and seamlessness. Charles talks about his less seamless experience with the Angular community. For context, Mike North’s first frontend masters course was recorded in 2014, and he’s only had to change two lines of code. Ember is the only framework that has managed to go all the way from IE7/IE8 to today without a major gap,breaks, or rewrites.They transition to talking about what keeps Ember going. There is an effort to make sure things are decentralized and not tied to any specific company, although Apple, Netflix, Nasa, and PlaysStation all use it. LinkedIn has also been hiring Ember core member to continue working on it, and sponsoring open source work. Next, they talk about how Ember works with TypeScript. You can install an Ember add on with one terminal command that will enable TypeScript in an Ember app.There are some issues that could cause misalignment with JavaScript and TypeScript, but Ember has designed things around it. MIke talks about the major change in the learning curve with using Ember and how far Vanilla JS will take you. Overall, it is a lot more approachable than it used to be. They move on to talk about the availability of third party solutions with Ember. Mike assures them that Ember has add-ons, and parts of the framework are opening up to allow experimentation with components. There are lots of ways to make Ember your own without running the risk of diverging, giving more flexibility than ever while maintaining the happy path. Testing within Ember is also a priority, and they want the code to be as readable as possible.The last topic discussed in this show is the importance of developer education. LinkedIn looks at employment numbers and the rate at which new jobs open, and software engineering is growing like crazy and will likely continue to grow.The rate at which new people are graduating with computer science and programming degrees, as well as those from unconventional backgrounds, is not keeping up with the number of jobs. This means that there will be fewer senior people spread across bigger groups of developers with less experience. The panel agrees that it is the responsibility of people who have been around or learned something period to pass on the knowledge because the more knowledge is passed on, the more stable things will remain as seniors become more scarce. It is also important for companies to level up junior developers. They conclude by talking about tools available for people who want to learn more about Ember Octane, and Mike makes an open request to the JS community. Panelists
Episode SummaryDominik Kundel works as developer evangelist at Twilio. Dominik talks about the history of Twilio, which actually started with integrating phone calls into apps and then moved to SMS integration. Today Charles and Dominik are talking about how the SMS message approach can augment your user experience. Since many people are not familiar with implementing SMS, Dominik talks about how Twilio can help. Twilio created was a supernetwork where they work with carriers and gateways around the world to ensure that they provide reliable services. They also focus heavily on making sure that the developer experience is great.Uber and Lyft are two of the companies that use Twilio, and Dominik shares some of the interesting things that they’ve accomplished. He is particularly excited about phone number masking to support privacy. Uber and Lyft use phone number masking so that your driver doesn’t see your real number and you don’t see theirs. Instead, each of you sees a Twilio number. This use case is becoming more common. Twilio recently introduced Flex, which Dominik explains is their contact center solution. Flex is designed to keep with their philosophy of everything should be programmable and configurable, and take it on to a software shipment. This is their first time shipping software instead of just APIs. Flex is highly customizable and flexible, allows you to build React plugins that let you change anything you want.Charles asks Dominik about some of the gotchas in telephony. One major issues is spam calls, which Twilio is trying to work with some providers on a ‘verified by Twilio’ list. This list lets companies get verified, and they’re working on ways to let you know the reason why they’re calling without having to answer your phone. This can be difficult because each country has different regulations.Dominik talks about what it would take for someone who wanted to build an SMS gateway themselves. They would have to work with carriers and learn SMS protocols. It’s important to note that SMS and phone calls have different protocolsDominik talks about some of the unique use cases they’ve seen their system. Some examples are contextual communications, account verifications, and codex creation. There are other fun examples, such as a drone controlled via text message, a fake boyfriend app, and a dog that was taught to take selfies that are sent to his owner. Charles asks about ways to get started with Twilio. If you want to explore this and don’t know where to get started, try Twilio Quest, a game to teach you how to use Twilio. There is also documentation, which is good if you know exactly what you want to achieve, or if you just want to explore possibilities then download Twilio Quest. They delve into a more specific use case for Twilio to send text to subscibers of DevChatTV. Dominik talks about ways of dealing with sending notifications to people outside of the US. You can send with a US number to any country code, or you can personalize it, so that people in the UK receive it from a UK number and so on through automatic geocode matching. They talk about Twilio’s billing. Finally, they talk about security within telephony in light of recent hacks. They discuss the security of two factor authentication.Two factor authentication and security, especially in light of recent hacks. Dominik talks about the API called Authy, where you can implement different ways of doing two factor authentication, such as push notifications, time based one time password, sms, and phone calls. For most people in the world two factor authentication is very safe, unless you’re a very important person, then you’re more at risk for targeted attacks. They conclude by talking about Twilio’s acquisition of Sendgrid.Panelists
Episode SummarySurma 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
Episode SummaryDouglas is a language architect and helped with the development of JavaScript. He started working with JavaScript in 2000. He talks about his journey with the language, including his initial confusion and struggles, which led him to write his book JavaScript: The Good Parts.Douglas’ take on JavaScript is unique because he not only talks about what he likes, but what he doesn’t like. Charles and Douglas discuss some of the bad parts of JavaScript, many of which were mistakes because the language was designed and released in too little time. Other mistakes were copied intentionally from other languages because people are emotionally attached to the way things “have always been done”, even if there is a better way.Doug takes a minimalist approach to programming. They talk about his opinions on pairing back the standard library and bringing in what’s needed. Douglas believes that using every feature of the language in everything you make is going to get you into trouble. Charles and Douglas talk about how to identify what parts are useful and what parts are not.Douglas delves into some of the issues with the ‘this’ variable. He has experimented with getting rid of ‘this’ and found that it made things easier and programs smaller. More pointers on how to do functional programming can be found in his book How JavaScript Works Charles and Douglas talk about how he decided which parts were good and bad. Douglas talks about how automatic semicolon insertion and ++ programming are terrible, and his experiments with getting rid of them. He explains the origin of JS Lint. After all, most of our time is not spent coding, it’s spent debugging and maintaining, so there’s no point in optimizing keystrokes.Douglas talks about his experience on the ECMAScript development committee and developing JavaScript. He believes that the most important features in ES6 were modules and proper tail calls. They discuss whether or not progression or digression is occurring within JavaScript. Douglas disagrees with all the ‘clutter’ that is being added and the prevalent logical fallacy that if more complexity is added in the language then the program will be simpler. Charles asks Douglas about his plans for the future. His current priority is the next language. He talks about the things that JavaScript got right, but does not believe that it should not be the last language. He shares how he thinks that languages should progress. There should be a focus on security, and security should be factored into the language. Douglas is working on an implementation for a new language he calls Misty. He talks about where he sees Misty being implemented. He talks about his Frontend Masters course on functional programming and other projects he’s working on. The show concludes with Douglas talking about the importance of teaching history in programming. Panelists
Episode SummaryTodd Gardner is a software developer, podcaster on the show Script and Style, startup founder, and comedy host for Pub Conf, a ‘comedy after party for developers’. Since he was last on the show 6 years ago, he has seen his startup TrackJS become quite successful. TrackJS is a JavaScript error monitoring service which gives you visibility into your client side experience. It’s different from other tools because focused on simplicity, so you’ll never need a guy on your team dedicated solely to TrackJS because everyone can use it.The panel begins by talking about debugging methods and tools. Some rely solely on the debugger built into their platform while others prefer to use a third party service. They discuss the necessity of using a third party debugger and if there are better solutions than just the built in debugger. They then discuss what to do after you’ve fixed a bug, such as if it is necessary to write a test to make sure it was completely fixed They talk about things to do to make debugging more effective. Todd and Aimee believe that code needs to begin by being designed for debug-ability. The panel discusses issues with invisible boundaries encountered while debugging, such as running out of memory. They talk about ways to mitigate issues that happen outside of your code base. Todd talks about the dangers of ad-blockers, and the panel agrees that it is important to consider how your website will be crippled by the user’s own technology. The end user in a production environment will have a different experience than you did writing it on a professional computer. Todd talks about the difference between debugging for the web versus a mobile application. Todd has encountered particular problems with debugging on a remote device, and he talks about how he solved the issue. The show concludes with Todd giving a quick elevator pitch for TrackJSPanelists
Episode SummaryAdam Leventhal is the CEO and cofounder of Transposit. Transposit was born from the desire to build a way for developers to work with lots of different APIs, take authentication and pagination off the table, and let developers focus on the problems they’re trying to solve. Transposit is a serverless platform that’s free and gives you a combination of SQL or JavaScript to start playing with your API.Since interacting with API data securely can be difficult, the panel discusses how Transposit might replace the personally built tools and how does it compare to JAMstack. They talk about some common things that people do wrong with security. Transposit is often used as the full backend, and Adam shares how that works. There is a list of APIs that Transposit can talk to, and you can build your own connector. You can also work with JavaScript and SQL simultaneously. Chris Ferdinandi asks some more specific questions about how Transposit can work with email lists. Adam clarifies the difference between connectors and apps in Transposit. He delves into more detail on what makes it work under the hood. There are some 450,000 Stack applications but the majority have one user because they built it to communicate specifically with their API. The panel discusses how Transposit can help with this. Since Transposit is still in startup mode, it is free for now, and can connect to any public facing API. Adam talks about their decision not to make it open source and gives more details on where the authentications occur. The show wraps up with the panel talking about the pros of going serverlessPanelists
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
PanelSponsors
Sponsors
PanelSponsors
Sponsors
PanelSponsors
PanelSponsors
PanelSponsors
PanelJSJ BONUS EPISODE: Observables and RxJS Live with Aaron FrostMon Jul 29 2019 13:00:56 GMT+0300 (+03) Episode Number: bonus Duration: 29:35https://media.devchat.tv/js-jabber/JSJ_Bonus_Aaron_Frost.mp3 Host: Charles Max Wood Joined by Special Guest: Aaron FrostEpisode SummaryAaron Frost joins Charles to talk about what Observables are and why developers should learn about them and use them in their code. He explains the difference between Observables, Promises and Callbacks with an example. Aaron then invites all listeners to attend the upcoming RxJS Live Conference and introduces the impressive speaker line-up. The conference will take place on September 5-6 in Las Vegas and tickets are still available. Aaron also offers a $100 discount to all listeners with the code "chuckforlife". For any questions you can DM Aaron at his Twitter account.Links
Sponsors
PanelSponsors
PanelSponsors
Sponsors
PanelCharles Max Wood Joined by Special Guest: Steve FaulknerEpisode SummaryComing to you live from the podcast booth at Microsoft BUILD is Charles Max Wood with Steve Faulkner. Steve is a Senior Software Developer for Azure Cosmos DB at Microsoft. Cosmos DB is a global distributed, multi-model noSQL database. Steve explains the Cosmos DB service and scenarios it can be used in. They discuss how Cosmos DB interacts with Azure functions and how partition keys work in Cosmos DB.Listen to the show for more Cosmos DB updates and to find out how Steve he got his twitter handle @southpolesteve.LinksSponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
Sponsors
PanelSponsors:
Panel:Charles Max Wood Special Guest: Brady GasterIn this episode, Chuck talks with Brady Gaster about SignalR that is offered through Microsoft. Brady Gaster is a computer software engineer at Microsoft and past employers include Logical Advantage, and Market America, Inc. Check out today’s episode where the two dive deep into SignalR topics.Links:Sponsors
Episode Summary In this episode of JavaScript Jabber, the panelists talk with Tommy Hodgins who specializes in responsive web design. He starts with explaining to listeners what it means by a responsive web layout and goes on to discuss the techniques in using JavaScript in CSS in depth.He elaborates on dynamic styling of components, event-driven stylesheet templating, performance and timing characteristics of these techniques and describes different kinds of observers – interception, resize and mutation, and their support for various browsers. He also talks about how to go about enabling certain features by extending CSS, comparison to tools such as the CSS preprocessor and Media Queries, pros and cons of having this approach while citing relevant examples, exciting new features coming up in CSS, ways of testing the methods, caffeinated stylesheets, along with Qaffeine and Deqaf tools.LinksSponsors
- https://www.netlify.com/
- http://sentry.io use the code "devchat" for $100 credit
- https://clubhouse.io/jsjabber
Panel:
- Joe Eames
- Aimee Knight
- Chris Ferdinandi
- AJ O’Neal
- Charles Max Wood
Special Guest - Sarah Dayan In this episode of JavaScript Jabber, the panelists talk to Sarah Dayan, who is a Frontend Software Engineer working for Algolia in Paris. They about the complications in handling money in software development and ask Sarah about the journey that led to the creation of Dinero.js, it’s implementation details, importance of maintaining good documentation, dealing with issues faced along the way, various features of Dinero and working with open source projects in general. Check it out!Show Topics:0.40 - Advertisement : https://www.netlify.com/ 1:44 - Sarah introduces herself and Chris talks about his interest in learning more about Dinero and compliments Sarah on its great documentation.3.10 - Sarah gives some background saying that she created and published Dinero around a year ago. She goes on to explain that the Dinero library helps in handling monetary values. It comes with several methods to parse, manipulate and format these values. The reason behind creating it is that there is no consensus on representing money in software development currently. She shares the story from her previous job where her work was to maintain legacy accounting software, and along the way they realized, that since JavaScript did not have a way to natively represent decimal values, it led to adding large numbers of rounded up numbers continuously, eventually leading to wrong computations.6:50 - Aimee asks about ways to handle different currencies in Dinero. Sarah answers that she has followed Martin Fowler’s money pattern where two different currencies were not allowed to be worked on directly, conversion was mandatory, just like in real life.7:50 - Charles talks about his old freelance work where he was overwhelmed while handling and representing money in software.8:25 - Aimee enquires if Dinero can be used for both frontend and backend. Sarah replies that it can be used anywhere and explains that there is no such thing as just a number when it comes to money, there must be a currency associated with it.9:30 - Charles asks how to figure out the direction to go to when dealing with money and to make sure that all use-cases are covered. Sarah answers that in cases such as floating-point math where the computations don’t end up being accurate as handling is not supported, numbers can be used if treated as subunits (for e.g. 100cents = 1$). However, even then, there are issues in dividing money. She then explains the procedure of “allocation” from the Fowler pattern and she says that Dinero helps in doing the same in such scenarios.12:54 - They discuss how they did not realize how difficult it was dealing with monetary values in development. Sarah talks about the fact that there are numerous aspects involved in it, giving the example of rounding off and stating that there are even factors such as different laws in different countries that need to be considered.16:00 - AJ asks details about crafting the library, maintaining the centralized code and covering of edge cases and using inheritance. Sarah explains the concept of domain driven development and the importance of being an expert in the respective domains. She talks about the library structure briefly, describing that is kept very simple with a module pattern and it has allowed her to manage visibility, make it immutable, include currency converters, formatters and so on.19:34 - AJ asks about the internal complexity of the implementation. Sarah answers that code wise it is extremely simple and easy, anyone with a limited JavaScript experience can understand it.20:50 - AJ asks if it’s open source to which Sarah answers in affirmative and says that she would like external help with implementing some features too.22:10 - Chris asks about Sarah’s excellent documentation approach, how has she managed to do it in a very detailed manner and how important it is in an open source project. Sarah says that she believes that documentation is extremely important, and not having good docs is a big hindrance to developers and to anyone who is trying to learn in general. She talks about her love for writing which explains the presence of annotations and examples in the source code.27:50 - Charles discusses how autogenerated documentation gives an explanation about the methods and functions in the code but there is no guidance as such, so it is important to have guides. Sarah agrees by saying that searching for exact solutions is much simpler with it, leading to saving time as well.29:43 - Chris speaks about Vue also being quite good at having guides and links and thanks Sarah for her work on Dinero.30:15 - Advertisement - https://sentry.io/welcome/ - Use code “devchat” to get two months free on Sentry’s small plan.31:23 - Chris asks what the process is, for creating and running Dinero in different places. Sarah explains that she uses rollup.js which is a bundler suited for libraries, it takes in the ES module library and gives the output in any format. She states that the reason for using the ES module library is that she wanted to provide several builds for several environments with a clean and simple source and goes on to explain that these modules are native, have a terse syntax, easy to read and can be statically analyzed. She also gives the disadvantages in choosing webpack over rollup.36:05 - Charles asks if anyone else is using Dinero. Sarah replies that around two or three people are using it, not much, but she is happy that it is out there to help people and she enjoyed working on it.37:50 - Joe asks if there are any interesting stories about issues such as involving weird currency. Sarah answers in affirmative and gives the example of the method “hasCents”. She explains that she had to deprecate it because the unit “cents” does not have any value in non-Western currencies, and has created “hasSubUnits” method instead. She explains some problems like dealing with currencies that don’t support the ISO 4217 standard.42:30 - Joe asks if social and political upheavals that affect the currencies have any effect on the library too. Sarah gives the example of Chinese and Japanese currencies where there are no sub-units and states that it is important to be flexible in developing stuff in an ever-changing domain like money. She also says that she does not include any third-party dependency in the library.46:00 - AJ says that BigInts have arrived in JavaScript but there is no way to convert between typed arrays, hexadecimal or other storage formats. But later (1:10:55), he corrects that statement saying that BigInts in fact, does have support for hexadecimals. Sarah talks about wanting to keep the code simple and keep developer experience great.49:08 - Charles asks about the features in Dinero. Sarah elaborates on wanting to work more on detecting currencies, improve the way it is built, provide better support for type libraries and get much better at documentation.52:32 - Charles says that it is good that Sarah is thinking about adopting Dinero to fit people’s needs and requirements and asks about different forms of outreach. Sarah says that she blogs a lot, is active on Twitter and attends conferences as well. Her goal is not popularity per se but to help people and keep on improving the product.55:47 - Chris talks about the flip side that as the product grows and becomes popular, the number of support requests increases too. Sarah agrees that open source projects tend to eat up a lot of time and that doing such projects comes with a lot of responsibility but can also help in getting jobs.59:47 - Sarah says that she is available online on her blog - https://frontstuff.io/, on Twitter as Sarah Dayan and on GitHub as sarahdayan.1:00:06 - Advertisement - https://clubhouse.io/ 1:01:01 - Picks!1:11:42 - END - Advertisement - https://www.cachefly.com/ Picks:Sarah
- https://community.algolia.com/docsearch/
AJ O’Neal
- https://en.wikipedia.org/wiki/The_Legendary_Profile
- https://www.amazon.com/Computer-Prevention-Ultra-Thin-Thinkpad-Protection/dp/B06XZMXPR7
- https://www.amazon.com/How-Music-Works-David-Byrne/dp/1936365537
Chris
- https://twitter.com/innovati/status/1068998114491678720
- https://www.youtube.com/channel/UCBa659QWEk1AI4Tg--mrJ2A
- https://www.youtube.com/watch?v=OyJTF9z4-6Y
Joe
- https://www.imdb.com/title/tt5511582/
-
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Sponsors
PanelSponsors
- https://www.telerik.com/kendo-ui?utm_campaign=kendo-ui-awareness-jsjabber&utm_medium=social-paid&utm_source=devchattv
- http://sentry.io use the code "devchat" for $100 credit
- https://clubhouse.io/jsjabber
- https://www.cachefly.com/
PanelAimee KnightAaron FrostChris FerdinandiJoe EamesSpecial Guest: Ryan Duffy In this episode of JavaScript Jabber, the panelists talk with Ryan Duffy who works on the EnactJS framework at LG Electronics. Ryan explains the framework in depth and answers all the questions about its design and implementation from the panelists and discusses some challenges faced along the way. Check it out! Show Notes:00:28 – Advertisement - https://www.telerik.com/kendo-ui?utm_campaign=kendo-ui-awareness-jsjabber&utm_medium=social-paid&utm_source=devchattv 1:08 - Ryan introduces himself and explains a bit about the EnactJS framework. While giving some background, he says that it is the 3rd generation of web frameworks that supports apps on webOS and they started building Enact on top of React about two years ago.2:00 - Aimee asks what exactly does webOS mean. Ryan answers that webOS was created by Palm for phones and related devices and it has several instances of chromium running on device with some service layer stuff.2:36 - Aaron mentions that webOS was big when other operating systems were still coming up, and Ryan agrees saying that it didn’t get the adoption needed to make it successful later.3:00 - Ryan says that he always loved building apps for webOS phones given the flexibility and ease coming from a web development background.3:53 - Aaron asks on which other applications is webOS running other than TV. Ryan answers that TV is one of the major consumptions, and it also runs on certain robots such as the concierge ones, watches to some extent and a lot of projects internally, not yet released in the market.4:50 - Aaron asks if the Enact framework is big internally at LG. Ryan replies that it is the primary framework used for apps running on webOS.5:03 - Aaron enquires about the nature of adoption of Enact for third party or non-LG people, to which Ryan states that Enact remains the standard framework for people who are building apps.5:32 - Joe joins in the conversation.6:25 - Aaron remarks that given that webOS is used in latest robots, televisions, watches and other such apps, it sounds like they are heavily investing into it. Ryan affirms by saying that the webOS journey goes from Palm phones to HP tablets to finally coming to LG. He goes on to explain their team structure, stating that there are two major teams in play right now - the R&D team is in the US and the implementation team is in Korea.8:00 - Aaron asks about the role their team plays in the app development. Ryan replies that his team is the stack team that forms the foundation for the apps and they take decisions on what the components should look like and similar tasks. The app teams based in Korea decide their menu based on those decisions.8:35 - Aaron asks what exactly is meant by the Blink team. Ryan answers that the it’s the team that works with an LG customized version of chromium.9:10 – Aaron then asks about his individual role in the team. Ryan says that he is one of the managers of the stack team and he’s been on the team for little more than 4 years.9:30 - Aaron asks about the evolution of the framework over time. Ryan describes the historical background by saying that in the initial Enyo design the team built, was component based, and every tool needed to build single page apps had to be developed from scratch. He says that they felt the need to move on to an improved framework as they wanted to take advantage of the robust ecosystem that existed, so they ported component libraries of Enyo using the React toolset to form Enact.11:43 - Aaron asks if Enyo then ceased to exist to which Ryan states that it is still around to some extent.12:20 - Aaron asks if the team has something like “create Enact app” to create a new app internally, like React. Ryan mentions that Jason - a tooling and automation expert from their team has built a feature called V8 snapshot - which loads JavaScript into memory and takes a snapshot - can in turn be loaded by the TV to launch the app in order to achieve a faster load time. He says that their long-term goal is to increase compatibility with the ecosystem.14:40 - Aaron asks if he can use the React CLI to create something for TV as a third-party developer. Ryan elaborates that CLI can be used to build, compile and bundle apps and there is another tool- SDK to bundle it for delivery to the TV. The app is tested fully in chrome, bundled and deployed to the TV.15:25 - Aaron asks if choosing React was a natural decision for the team. Ryan explains that they researched on some component-based frameworks that were available at that time and found that React was the best choice.17:30 - Aimee asks the reason for open sourcing the framework. Ryan mentions that Enyo always has been open source. He also remarks that the team does not get a lot of input from the community and would like to get more information about what’s working and what’s not and how they can contribute back.19:40 - Aaron asks about the kind of apps can be built by using Enact except for TV. Ryan says that any kind can be built but the hesitation is that the UI library is specially designed for TV, so they may look different for other spaces like phones or other devices.20:35 – Advertisement – https://sentry.io/welcome/ – Use the code “devchat” to get two months free on Sentry’s small plan.21:30 - Aaron asks what decisions around making apps are made by Enact for the developers. Ryan explains that the architectural pattern they have chosen is higher order components, and there is a lot of attention on render props that can be easily plugged into the apps.22:48 - Aaron asks if the state part was built by the team on their own. Ryan answers in affirmative that everything in Enact is completely built by the team, no external states are used within the framework. No decisions are made in the data space yet. He mentions that they had tried to limit their Enact development effort in cases where the solution was already available unless they had a new perspective on the problem.24:30 - Aaron remarks the idea of Enact being something like a webpack is becoming clearer for him and asks Ryan if his team is spending most of their time in building component libraries. Ryan affirms by explaining that Enact is designed in layers. He goes on to explain that focus management is a difficult problem to solve where the ability to navigate an application intuitively such as in the case of remote control is handled by a certain component. Also, as LG ships TVs all over the world, there are significant internationalization requirements. He then elucidates the TV centric moonstone library in detail and states that they took all the base capabilities from it and formed a UI layer.27:26 - Aaron asks if moonstone is theme-able. Ryan says that it’s not and the UI layer in not styled.28:40 - Chris asks, as someone who manages open source projects and builds tools, about the process of making decisions on the kind of components to include and challenges Ryan and his team faced in the open source space.29:45 – Ryan says that they haven’t had the ideal open source experience yet. They do have a lot of discussions on API design and components but it’s a struggle to what to include and what to not.31:25 - Chris shares his own experience while stating that finding a common ground is always hard especially when there is internal resistance in convincing people to use new software. Ryan says that internally their biggest struggle is that a group of people use the Qt platform and there is chunk of webOS that is built on it and not on Enact. Trying to convince people to do the migration from Enyo to Enact was difficult but they have had most success in trying to eliminate friction and it was easier in the sense that there weren’t any required parameters for things.36:05 – Aaron states that all his questions are answered and his understanding of Enact is clear.36:21 – Advertisement - https://clubhouse.io/?rsCode=JSJABBER&rsEngagementMedium=UNKNOWN&rsShareMedium=UNKNOWN&utm_campaign=saasquatch&utm_medium=link&utm_source=invite 37:10 – Picks!43:41- END – Advertisement - https://www.cachefly.com/ PicksJoe
- https://www.kickstarter.com/projects/1875657065/monsters-of-feyland-for-5th-edition
Chris
- Presentation by Eric Bailey on Accessibility - https://noti.st/ericwbailey/TcMJFP/if-it-s-interactive-it-needs-a-focus-style
- https://ubtrobot.com/collections/jimu-robots
- https://www.imdb.com/title/tt0910970/
Aimee
- Coworkers at NPM
Aaron
- https://en.wikipedia.org/wiki/Pierogi
- https://en.wikipedia.org/wiki/Harry_Potter_and_the_Cursed_Child
Ryan
-
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Sponsors
PanelSponsors:
Panel: Charles Max Wood Special Guests: Ed Thomson In this episode, the Charles speaks with Ed Thomson who is a Program Manager at Azure through Microsoft, Developer, and Open Source Maintainer. Ed and Chuck discuss in full detail about Azure DevOps! Check out today’s episode to hear its new features and other exciting news!Show Topics:0:59 – Live at Microsoft Ignite1:03 – Ed: Hi! I am a Program Manager at Azure. 1:28 – Rewind 2 episodes to hear more about Azure DevOps!1:51 – Ed: One of the moves from Pipelines to DevOps – they could still adopt Pipelines. Now that they are separate services – it’s great.2:38 – Chuck talks about features he does and doesn’t use.2:54 – Ed.3:00 – Chuck: Repos and Pipelines. I am going to dive right in. Let’s talk about Repos. Microsoft just acquired GitHub.3:18 – Ed: Technically we have not officially acquired GitHub.3:34 – Chuck: It’s not done. It’s the end of September now.3:55 – Ed: They will remain the same thing for a while. GitHub is the home for open source. Repos – we use it in Microsoft. Repositories are huge. There are 4,000 engineers working in these repositories. Everyone works in his or her own little area, and you have to work together. You have to do all this engineering to get there. We bit a tool and it basically if you run clone...Ed continues to talk about this topic. He is talking about One Drive and these repositories.6:28 – Ed: We aren’t going to be mixing and matching. I used to work through GitHub. It’s exciting to see those people work close to me.6:54 – Chuck.6:59 – Ed: It has come a long way.7:07 – Chuck: Beyond the FSF are we talking about other features or?7:21 – Ed: We have unique features. We have branch policies. You can require that people do pole request. You have to use pole request and your CI has to pass and things like that. I think there is a lot of richness in our auditing. We have enterprise focus. At its core it still is Git. We can all interoperate.8:17 – Chuck.8:37 – Ed: You just can’t set it up with Apache. You have to figure it out.8:51 – Chuck: The method of pushing and pulling.9:06 – Chuck: You can try DevOps for free up to 5 users and unlimited private repos. People are interested in this because GitHub makes you pay for that.9:38 – Ed and Chuck continue to talk.9:50 – Ed: Pipelines is the most interesting thing we are working on. We have revamped the entire experience. Build and release. It’s easy to get started. We have a visual designer. Super helpful – super straightforward. Releases once your code is built – get it out to production say for example Azure. It’s the important thing to get your code out there.10:55 – Chuck: How can someone start with this?11:00 – Ed: Depends on where your repository is. It will look at your code. “Oh, I know what that is, I know how to build that!” Maybe everyone isn’t doing everything with JavaScript. If you are using DotNet then it will know.12:05 – Chuck: What if I am using both a backend and a frontend?12:11 – Ed: One repository? That’s when you will have to do a little hand packing on the...There are different opportunities there. If you have a bash script that does it for you. If not, then you can orchestrate it. Reduce the time it takes. If it’s an open source project; there’s 2 – what are you going to do with the other 8? You’d be surprised – people try to sneak that in there.13:30 – Chuck: It seems like continuous integration isn’t a whole lot complicated.13:39 – Ed: I am a simple guy that’s how I do it. You can do advanced stuff, though. The Cake Build system – they are doing some crazy things. We have got Windows, Lennox, and others. Are you building for Raspberries Pies, then okay, do this...It’s not just running a script.15:00 – Chuck: People do get pretty complicated if they want. It can get complicated. Who knows?15:26 – Chuck: How much work do you have to do to set-up a Pipeline like that?15:37 – Ed answers the question in detail.16:03 – Chuck asks a question.16:12 – Ed: Now this is where it gets contentious. If one fails...Our default task out of the box...16:56 – Chuck: If you want 2 steps you can (like me who is crazy).17:05 – Ed: Yes, I want to see if it failed.17:17 – Chuck: Dude, writing code is hard. Once you have it built and tested – continuous deployment.17:33 – Ed: It’s very easy. It’s super straightforward, it doesn’t have to be Azure (although I hope it is!).Ed continues this conversation.18:43 – Chuck: And it just pulls it?18:49 – Ed: Don’t poke holes into your firewall. We do give you a lot of flexibility19:04 – Chuck: VPN credentials?19:10 – Ed: Just run the...19:25 – Chuck comments.19:36 – Ed: ...Take that Zip...20:02 – Ed: Once the planets are finely aligned then...it will just pull from it.20:25 – Chuck: I host my stuff on Digital Ocean.20:46 – Ed: It’s been awhile since I played with...20:55 – Chuck.20:59 – Ed and Chuck go back and forth with different situations and hypothetical situations.21:10 – Ed: What is Phoenix?21:20 – Chuck explains it.21:25 – Ed: Here is what we probably don’t have is a lot of ERLANG support.22:41 – Advertisement.23:31 – Chuck: Let’s just say it’s a possibility. We took the strip down node and...23:49 – Ed: I think it’s going to happen.23:55 – Ed: Exactly.24:02 – Chuck: Testing against Azure services. So, it’s one thing to run on my machine but it’s another thing when other things connect nicely with an Azure set-up. Does it connect natively once it’s in the Azure cloud?24:35 – Ed: It should, but there are so many services, so I don’t want to say that everything is identical. We will say yes with an asterisk.25:07 – Chuck: With continuous deployment...25:41 – Ed: As an example: I have a CD Pipeline for my website. Every time I merge into master...Ed continues this hypothetical situation with full details. Check it out!27:03 – Chuck: You probably can do just about anything – deploy by Tweet!27:15 – Ed: You can stop the deployment if people on Twitter start complaining.27:40 – Chuck: That is awesome! IF it is something you care about – and if it’s worth the time – then why not? If you don’t have to think about it then great. I have mentioned this before: Am I solving interesting problems? What projects do I want to work on? What kinds of contributions do I really want to contribute to open source?That’s the thing – if you have all these tools that are set-up then your process, how do you work on what, and remove the pain points then you can just write code so people can use! That’s the power of this – because it catches the bug before I have to catch it – then that saves me time.30:08 – Ed: That’s the dream of computers is that the computers are supposed to make OUR lives easier. IF we can do that and catch those bugs before you catch it then you are saving time. Finding bugs as quickly as possible it avoids downtime and messy deployments.31:03 – Chuck: Then you can use time for coding style and other things.I can take mental shortcuts.31:37 – Ed: The other thing you can do is avoiding security problems. If a static code analysis tool catches an integer overflow then...32:30 – Chuck adds his comments.Chuck: You can set your policy to block it or ignore it. Then you are running these tools to run security. There are third-party tools that do security analysis on your code. Do you integrate with those?33:00 – Ed: Yep. My favorite is WhiteSource. It knows all of the open source and third-party tools. It can scan your code and...34:05 – Chuck: It works with a lot of languages.34:14 – Ed.34:25 – Chuck: A lot of JavaScript developers are getting into mobile development, like Ionic, and others. You have all these systems out there for different stages for writing for mobile. Android, windows Phone, Blackberry...35:04 – Ed: Let’s throw out Blackberry builds. We will ignore it.Mac OS dies a fine job. That’s why we have all of those.35:29 – Chuck: But I want to run my tests, too!35:36 – Ed: I really like to use App Center. It is ultimately incredible to see all the tests you can run.36:29 – Chuck: The deployment is different, though, right?36:40 – Ed: I have a friend who clicks a button in...Azure DevOps.37:00 – Chuck: I like to remind people that this isn’t a new product.37:15 – Ed: Yes, Azure DevOps. 37:24 – Chuck: Any new features that are coming out?37:27 – Ed: We took a little break, but...37:47 – Ed: We will pick back up once Ignite is over. We have a timeline on our website when we expect to launch some new features, and some are secret, so keep checking out the website.39:07 – Chuck: WhatPanel: Charles Max Woods Special Guests: Donovan Brown In this episode, the Charles speaks with Donovan Brown. He is a principal DevOps Manager with Microsoft with a background in application development. He also runs one of the nation’s fastest growing online registration sites for motorsports events DLBRACING.com. When he is not writing software, he races cars for fun. Listen to today’s episode where Chuck and Donovan talk about DevOps, Azure, Python, Angular, React, Vue, and much, much more!Show Topics:1:41 – Chuck: The philosophies around DevOps. Just to give you an idea, I have been thinking about what I want to do with the podcasts. Freedom to work on what we want or freedom to work where we want, etc. Then that goes into things we don’t want to do, like fix bugs, etc. How does Microsoft DevOps to choose what they want to do?2:37 – Guest: We want to automate as much as we can so the developer has less work. As a developer I want to commit code, do another task, rinse and repeating.Minutes and not even hours later then people are tweeting about the next best thing. Do what you want, where you want. Code any language you want.4:15 – Chuck: What has changed?4:19 – Guest: The branding changed. The name wasn’t the most favorite among the people. The word “visual” was a concerned. What we have noticed that Azure will let me run my code no matter where I am. If you want to run Python or others it can run in Azure.People didn’t need all of it. It comes with depositories, project management, and so much more! People could feel clumsy because there is so much stuff. We can streamline that now, and you can turn off that feature so you don’t have a heart attack. Maybe you are using us for some features not all of them – cool.7:40 – Chuck: With deployments and other things – we don’t talk about the process for development a lot.8:00 – Guest talks about the things that can help out with that.Guest: Our process is going to help guide you. We have that all built into the Azure tab feature. They feel and act differently. I tell all the people all the time that it’s brilliant stuff. There are 3 different templates. The templates actually change over the language. You don’t have to do mental math.9:57 – Chuck: Just talking about the process. Which of these things we work on next when I’ve got a bug, or a ...10:20 – Guest: The board system works like for example you have a bug. The steps to reproduce that bug, so that there is no question what go into this specific field. Let the anatomy of the feature do it itself!11:54 – Chuck comments.12:26 – Chuck: Back to the feature. Creating the user stories is a different process than X.12:44 – Guest – You have a hierarchy then, right? Also what is really cool is we have case state management. I can click on this and I expect this to happen...These are actual tasks that I can run.13:52 – Chuck: Once you have those tests written can you pull those into your CI?14:00 – Guest: “Manual tests x0.”Guest dives into the question. 14:47 – I expect my team to write those test cases. The answer to your question is yes and no.We got so good at it that we found something that didn’t even exist, yet.16:19 – Guest: As a developer it might be mind16:29 – Chuck: I fixed this bug 4x, I wished I had CI to help me.16:46 – Guest: You get a bug, then you fix a code, etc., etc. You don’t know that this original bug just came back. Fix it again. Am I in Groundhog Day?They are related to each other. You don’t have a unit test to tell you. When you get that very first bug – write a unit test. It will make you quicker at fixing it. A unit test you can write really fast over, and over, again. The test is passing. What do you do? Test it. Write the code to fix that unit test. You can see that how these relate to each other. That’s the beauty in it.18:33 – Chuck: 90% of the unit tests I write – even 95% of the time they pass. It’s the 5% you would have no idea that it’s related. I can remember broad strokes of the code that I wrote, but 3 months down the road I can’t remember.19:14 – Guest: If you are in a time crunch – I don’t have time for this unit test.Guest gives us a hypothetical situation to show how unit tests really can help.20:25 – Make it muscle memory to unit test. I am a faster developer with the unit tests.20:45 – Chuck: In the beginning it took forever. Now it’s just how I write software now.It guides my thought process.21:06 – Guest: Yes! I agree.22:00 – Guest: Don’t do the unit tests22:10 – Chuck: Other place is when you write a new feature,...go through the process. Write unit tests for the things that you’ve touched. Expand your level of comfort.DevOps – we are talking about processes. Sounds like your DevOps is a flexible tool. Some people are looking for A METHOD. Like a business coach. Does Azure DevOps do that?23:13 – Guest: Azure DevOps Projects. YoTeam. Note.js, Java and others are mentioned by the Guest.25:00 – Code Badges’ Advertisement25:48 – Chuck: I am curious – 2 test sweets for Angular or React or Vue. How does that work?26:05 – Guest: So that is Jasmine or Mocha? So it really doesn’t matter. I’m a big fan of Mocha. It tests itself. I install local to my project alone – I can do it on any CI system in the world. YoTeam is not used in your pipeline. Install 2 parts – Yo and Generator – Team. Answer the questions and it’s awesome. I’ve done conferences in New Zealand.28:37 – Chuck: Why would I go anywhere else?28:44 – Guest: YoTeam was the idea of...28:57 – Check out Guest29:02 – Guest: I want Donovan in a box. If I weren’t there then the show wouldn’t exist today.29:40 – Chuck: Asks a question.29:46 – Guest: 5 different verticals.Check out this timestamp to see what Donovan says the 5 different verticals are. Pipelines is 1 of the 5.30:55 – Chuck: Yep – it works on my Mac.31:04 – Guest: We also have Test Plant and Artifacts.31:42 – Chuck: Can you resolve that on your developer machine?31:46 – Guest: Yes, absolutely! There is my private repository and...33:14 – Guest: *People not included in box.*33:33 – Guest: It’s people driven. We guide you through the process. The value is the most important part and people is the hardest part, but once on33:59 – Chuck: I am listening to this show and I want to try this out. I want a demo setup so I can show my boss. How do I show him that it works?34:27 – Azure.com/devops – that is a great landing page.How can I get a demo going? You can say here is my account – and they can put a demo into your account. I would not do a demo that this is cool. We start you for free. Create an account. Let the CI be the proof. It’s your job to do this, because it will make you more efficient. You need me to be using these tools.36:11 – Chuck comments.36:17 – Guest: Say you are on a team of developers and love GitHub and things that integration is stupid, but how many people would disagree about...38:02 – The reports prove it for themselves.38:20 – Chuck: You can get started for free – so when do you have to start paying for it?38:31 – Guest: Get 4 of your buddies and then need more people it’s $6 a month.39:33 – Chuck adds in comments. If this is free?39:43 – Guest goes into the details about plans and such for this tool. 40:17 – Chuck: How easy it is to migrate away from it?40:22 – Guest: It’s GITHub.40:30 – Chuck: People are looing data on their CI.40:40 – Guest: You can comb that information there over the past 4 years but I don’t know if any system would let you export that history.41:08 – Chuck: Yeah, you are right.41:16 – Guest adds more into this topic.41:25 – Chuck: Yeah it’s all into the machine.41:38 – Chuck: Good deal.41:43 – Guest: It’s like a drug. I would never leave it. I was using TFS before Microsoft.42:08 – Chuck: Other question: continuous deployment.42:56 – When I say every platform, I mean every platform: mobile devices, AWS, Azure, etc.Anything you can do from a command line you can do from our build and release system. PowerShell you don’t have to abandon it.45:20 – Guest: I can’t remember what that tool is called!45:33 – Guest: Anything you can do from a command line. Before firewall. Anything you want.45:52 – Guest: I love my job because I get to help developers.46:03 – Chuck: What do you think the biggest mistake people are doing?46:12 – Guest: They are trying to do it all at once. Fix that one little thing.It’s instant value with no risks whatsoever. Go setup and it takes 15 minutes total. Now that we have this continuous build, now let’s go and deploy it. Don’t dream up what you think your pipeline should look like. Do one thing at a time. What hurts the most that it’s “buggy.” Let’s add that to the pipeline.It’s in your pipeline today, what hurts the most, and don’t do it all at once.49:14 – Chuck: I thought you’d say: I don’t have the time.49:25 – Guest: Say you work on it 15 minutes a day. 3 days in – 45 minutes in you have a CSI system that works forever. Yes I agree because people think they don’t “have the time.”50:18 – Guest continues this conversation.How do
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Panel:
- Charles Max Wood
- Aimee Knight
- Chris Ferdinandi
- Joe Eames
Special Guest: https://github.com/Heydon In this episode, the panel talks with Heydon Pickering who is a designer and writer. The panel and the guest talk about his new book, which is centered on the topic of today’s show: inclusive components. Check out Heydon’s https://twitter.com/heydonworks, http://www.heydonworks.com/about, https://github.com/Heydon and https://mastodon.social/@heydon social accounts to learn more about him. To purchase the book – https://shop.smashingmagazine.com/products/inclusive-design-patterns Show Topics:0:00 – https://www.telerik.com/kendo-ui?utm_campaign=kendo-ui-awareness-jsjabber&utm_medium=social-paid&utm_source=devchattv 0:38 – Chuck: Aimee, Chris, Joe, and myself – we are today’s panel. My show the http://thedevrev.com is available online to check it out.1:30 – Guest: Plain ice cream would be frozen milk and that would be terrible. So I am lemon and candy JavaScript!2:13 – Chuck: We are talking today about...?2:22 – Chris: He’s talking about “inclusive components” today!2:41 – Guest: Traveling is very stressful and I wanted something to do on the plane. I’ve done this book, https://shop.smashingmagazine.com/products/inclusive-design-patterns If you don’t want to buy the book you can go to the blog. I have been talking with Smashing Magazine.5:40 – Panel.5:47 – Guest: I approached Smashing Magazine initially. They didn’t think there was a market for this content at the time. They were very supportive but we will do it as an eBook so our costs our down. At the time, the editor came back and said that: “it was quite good!” We skimmed it but came back to it now and now the content was more relevant in their eyes. I didn’t want to do the same book but I wanted to do it around “patterns.” Rewriting components is what I do all the time. I use Vanilla JavaScript. http://backbonejs.org is the trendy one.9:52 – Panel: The hard book did it get published?10:02 – Guest: We are in the works and it’s all in the final stages right now. It has to go through a different process for the print version.11:54 – Panel.11:58 – (Guest continues about the editorial process.) 12:09 – Panel: They probably switched to https://visualstudio.microsoft.com/tfs/ 12:23 – Guest: There was this argument on Twitter about the different processors.13:35 – Chris: What are the ways that people are breaking accessibility with their code through JavaScript? 13:59 – Guest: The whole premise is that there aren’t a ton of different components that we use. Generally, speaking. Most things we do through JavaScript – it’s just different ways of doing this/that, and hiding things. I am discounting things with Node or other stuff. Most of what we are doing, with interactive design, is showing and hiding.18:37 – Chris: I have some specialty friends where they tell me where I’ve screwed up my code. For example Eric Bailey and Scott O’Hara but, of course, in very kind ways. What are some things that I can make sure that my code is going to work for many different people.19:18 – Guest: You have accessibility and inclusive design. People think of accessibility as a check-list and that’s okay but there could be problems with this.26:00 – Panel: That’s a great guideline.26:05 – Chris: You talked about ARIA roles and it can be confusing. One side is: I don’t know when to use these and the other side is: I don’t know when NOT to use these so I’m going to use them for EVERYTHING! I guess both can be detrimental. What’s your advice on this topic?27:00 – Guest: Scott is great and I would trust him to the end of the Earth about what he says.Guest mentions https://tink.uk and her talks about this topic.29:26 – (Guest continues.) 29:36 – https://sentry.io/welcome/ 30:31 – Chris.30:40 – Guest: There is a lot of pressure, though, right? People wouldn’t blog about this if it wasn’t worthwhile. It doesn’t matter what the style is or what the syntax is.The guest talks about not throwing ARIA onto everything.36:34 – Aimee: Is this something that was mentioned in the book: people with disabilities and accessibility.37:28 – Guest: Yes, of course. I think it’s important to make your interfaces flexible and robust to think and include people with disabilities.39:00 – Guest mentions larger buttons. 40:52 – Panelists and Guest talk back-and-forth. 42:22 – Chris: It’s an accessibility and inclusivity element. I saw a dropdown menu and worked great on certain devices but not others. I could beat this horse all day long but the whole: what happens of the JavaScript file doesn’t load or just accordion options?43:50 – Guest: It’s the progressive enhancement element.44:05 – Guest: I think it’s worth noting. I think these things dovetail really nicely.46:29 – Chris: Did you do a video interview, Aimee, talking about CSS? Is CSS better than JavaScript in some ways I don’t know if this is related or not?47:03 – Aimee: When I talk about JavaScript vs. CSS...the browser optimizes those.47:27 – Aimee: But as someone who loves JavaScript...and then some very talented people taught me that you have to find the right tool for the job.47:29 – Guest: I am the other way around – interesting.52:50 – Chuck: Picks!52:55 – https://devchat.tv/get-a-coder-job/ END – https://www.cachefly.com Links:
- https://www.javascript.com
- http://backbonejs.org
- https://visualstudio.microsoft.com/tfs/
- https://tink.uk
- https://reactjs.org
- https://elixir-lang.org
- Ember.js
- https://vuejs.org
- https://golang.org/project/
- http://jquery.com
- https://nodejs.org/en/
- https://github.com/GoogleChrome/puppeteer
- https://www.cypress.io
- https://github.com/Heydon
- https://mastodon.social/@heydon
- https://shop.smashingmagazine.com/products/inclusive-design-patterns
- https://codeburst.io/heydon-pickering-accessibility-responsibility-and-inclusive-design-6fd8ae9883b8
- http://www.heydonworks.com
- https://twitter.com/heydonworks
Sponsors:
- https://devlifts.io
- https://www.telerik.com/kendo-ui?utm_campaign=kendo-ui-awareness-jsjabber&utm_medium=social-paid&utm_source=devchattv
- https://sentry.io/welcome/
- https://www.cachefly.com
Picks:Joe
- https://gomakethings.com/
- https://boardgamegeek.com/boardgame/245643/luxor
- http://cypress.io/
Aimee
- https://threader.app/thread/1058433116002381824
- https://www.amazon.com/dp/B0764FYSNF?aaxitk=2FWeizqoAJkDZQs18ygELQ&hsa_cr_id=7362091710401&pd_rd_i=B0764FYSNF&pf_rd_p=3ff6092e-8451-438b-8278-7e94064b4d42&sb-ci-a=B0764FYSNF&sb-ci-n=asinImage&sb-ci-v=https%253A%252F%252Fimages-na.ssl-images-amazon.com%252Fimages%252FI%252F41DNdyq2%252B-L.jpg
Chris
- Web Dev Career Guide: https://gomakethings.com/career-guide/
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Panel:
- Charles Max Wood
- Aimee Knight
- Chris Ferdinandi
- AJ O’Neal
Special Guest: Andy BellIn this episode, the panel talks with Andy Bell who is an independent designer and developer who uses React, Vue, and Node. Today, the panelists and the guest talk about the power of progressive enhancements. Check it out!Show Topics:0:00 – https://www.telerik.com/kendo-ui?utm_campaign=kendo-ui-awareness-jsjabber&utm_medium=social-paid&utm_source=devchattv 0:34 – Chuck: Hi! Our panel is AJ, Aimee, Chris, myself and my new show is coming out in a few weeks, which is called the http://thedevrev.com It helps you with developer’s freedom! I am super excited. Our guest is Andy Bell. Introduce yourself, please.2:00 – Guest: I am an independent designer and developer out in the U.K.2:17 – Chuck: You wrote things about Vanilla.js. I am foreshadowing a few things and let’s talk about the power and progressive enhancement.2:43 – The guest gives us definitions of power and progressive enhancements. He describes how it works. 3:10 – Chuck: I’ve heard that people would turn off JavaScript b/c it was security concern and then your progressive enhancement would make it work w/o JavaScript. I am sure there’s more than that?3:28 – The guest talks about JavaScript, dependencies, among other things. 4:40 – Chuck: Your post did make that very clear I think. I am thinking I don’t even know where to start with this. Are people using the 6th version? How far back or what are we talking about here?5:09 – Guest: You can go really far back and make it work w/o CSS.5:49 – Chris: I am a big advocate of progressive enhancement – the pushback I get these days is that there is a divide; between the broadband era and AOL dialup. Are there compelling reasons why progressive enhancements even matter?6:48 – Guest.8:05 – Panel: My family lives out in the boonies. I am aware of 50% of American don’t have fast Internet. People don’t have access to fast browsers but I don’t think they are key metric users.8:47 – Guest: It totally depends on what you need it for. It doesn’t matter if these people are paying or not.9:31 – Chris: Assuming I have a commute on the trail and it goes through a spotty section. In a scenario that it’s dependent on the JS...are we talking about 2 different things here?10:14 – Panelist chimes-in. 10:36 – Chris: I can take advantage of it even if I cannot afford a new machine.10:55 – Panel: Where would this really matter to you?11:05 – Chris: I do have a nice new laptop.11:12 – Chuck: I had to hike up to the hill (near the house) to make a call and the connection was really poor (in OK). It’s not the norm but it can happen.11:37 – Chris: Or how about the All Trails app when I am on the trail.11:52 – Guest.12:40 – Chris: I can remember at the time that the desktop sites it was popular to have...Chris: Most of those sites were inaccessible to me.13:17 – Guest.13:51 – Chuck: First-world countries will have a good connection and it’s not a big deal. If you are thinking though about your customers and where they live? Is that fair? I am thinking that my customers need to be able to access the podcast – what would you suggest? What are the things that you’d make sure is accessible to them.14:31 – Guest: I like to pick on the minimum viable experience? I think to read the transcript is important than the audio (MP3).15:47 – Chuck.15:52 – Guest: It’s a lot easier with Vue b/c you don’t’ have to set aside rendering.17:13 – AJ: I am thinking: that there is a way to start developing progressively and probably cheaper and easier to the person who is developing. If it saves us a buck and helps then we take action.17:49 – Guest: It’s much easier if you start that way and if you enhance the feature itself.18:38 – AJ: Let me ask: what are the situations where I wouldn’t / shouldn’t worry about progressive enhancements?18:57 – Guest answers the question. 19:42 – AJ: I want people to feel motivated in a place WHERE to start. Something like a blog needs Java for comments. https://vtldesign.com/web-strategy/website-design-development/hamburger-icon-flyout-menu-website-navigation/ is mentioned, too. 20:20 – Guest.21:05 – Chris: Can we talk about code?21:16 – Aimee: This is the direction I wanted to go. What do you mean by that – building your applications progressively?https://andy-bell.design/writing/21:44 – Guest.22:13 – Chuck: I use stock overflow!22:20 – Guest.22:24 – Chuck: I mean that’s what Chris uses!22:33 – Guest (continues).23:42 – Aimee.23:54 – Chris.24:09 – Chris24:16 – Chris: Andy what do you think about that?24:22 – Guest: Yes, that’s good.24:35 – Chris: Where it falls apart is the resistance to progressive enhancements that it means that your approach has to be boring?25:03 – Guest answers the question. The guest mentions modern CSS and modern JavaScript are mentioned along with tooling.25:50 – Chuck: My issue is that when we talk about this (progressive enhancement) lowest common denominator and some user at some level (slow network) and then they can access it. Then the next level (better access) can access it. I start at the bottom and then go up. Then when they say progressive enhancement I get lost. Should I scrap it and then start over or what?26:57 – Guest: If it’s feasible do it and then set a timeline up.27:42 – Chuck: You are saying yes do it a layer at a time – but my question is HOW? What parts can I pair back? Are there guidelines to say: do this first and then how to test?28:18 – https://sentry.io/welcome/ 29:20 – Guest: Think about the user flow. What does the user want to do at THIS point? Do you need to work out the actual dependencies?30:31 – Chuck: Is there a list of those capabilities somewhere? So these users can use it this way and these users can use it that way?30:50 – Guest answers the question. 31:03 – Guest: You can pick out the big things.31:30 – Chuck: I am using this feature in the browser...31:41 – Guest.31:46 – Chris: I think this differently than you Andy – I’ve stopped caring if a browser supports something new. I am fine using CSS grid and if your browser doesn’t support it then I don’t have a problem with that. I get hung up on, though if this fails can they still get the content? If they have no access to these – what should they be able to do?Note: “Cutting the Mustard Test” is mentioned. 33:37 – Guest.33:44 – Chuck: Knowing your users and if it becomes a problem then I will figure it out.34:00 – Chris: I couldn’t spare the time to make it happen right now b/c I am a one-man shop.34:20 – Chuck and Chris go back-and-forth. 34:36 –Chris: Check out links below for my product.34:54 – AJ: A lot of these things are in the name: progressive. 36:20 – https://andy-bell.design 38:51 – Chris: Say that they haven’t looked at it all before. Do you mind talking about these things and what the heck is a web component?39:14 – The guest gives us his definition of what a web component is. 40:02 – Chuck: Most recent episode in Angular about web components, but that was a few years ago. See links below for that episode.40:25 – Aimee.40:31 – Guest: Yes, it’s a lot like working in Vue and web components. The concepts are very similar.41:22 – Chris: Can someone please give us an example? A literal slideshow example?41:45 – Guest answers the question. 45:07 – Chris.45:12 – Guest: It’s a framework that just happens to use web components and stuff to help.45:54 – Chuck: Yeah they make it easier (Palmer). Yeah there is a crossover with Palmer team and other teams. I can say that b/c I have talked with people from both teams. Anything else?46:39 – Chuck: Where do they go to learn more?46:49 – Guest: https://webcomponents.club And my Twitter! (See links below.)47:33 – Chuck: I want to shout-out about https://devlifts.io that has $19 a month to help you with physical goals. Or you can get the premium slot! It’s terrific stuff. Sign-up with DEVCHAT code but there is a limited number of slots and there is a deadline, too. Just try it! They have a podcast, too!49:16 – Aimee: http://podcast.devlifts.io 49:30 – Chuck: Picks!END – https://www.cachefly.com Links:
- https://www.javascript.com
- https://reactjs.org
- https://elixir-lang.org
- Ember.js
- https://vuejs.org
- https://golang.org/project/
- http://jquery.com
- https://nodejs.org/en/
- https://github.com/GoogleChrome/puppeteer
- https://www.cypress.io
- https://devchat.tv/adv-in-angular/115-aia-polymer-and-web-components-with-angular-2-with-rob-dodson/
-
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Panel:
- AJ O’Neal
- Joe Eames
- Jesse Sanders
Special Guest: https://github.com/freshcutdevelopment In this episode, the panel talks with https://github.com/freshcutdevelopment who is a software developer, speaker, rock climber, and author of https://www.manning.com/books/aurelia-in-action! Today, the panelists and Sean talk about https://aurelia.io and other frameworks. Check it out!Show Topics:0:00 – https://www.telerik.com/kendo-ui?utm_campaign=kendo-ui-awareness-jsjabber&utm_medium=social-paid&utm_source=devchattv 0:38 – Joe: Hello! Our panelists are AJ, Jesse, myself, and our special guest is https://github.com/freshcutdevelopment (from Australia)! What have you been doing with your life and what is your favorite movie?1:45 – Guest talks about https://en.wikipedia.org/wiki/Vegemite 2:20 – Guest: I was in the UK and started using https://aurelia.io, which I will talk about today. I have done some talks throughout UK about Aurelia. Also, the past year moved back to Australia had a baby son and it’s been a busy year. Writing a book and being a new parent has been hard.3:22 – Panel: Tell us the history of https://aurelia.io, please?3:31 – Panel: Is it like http://jquery.com, https://reactjs.org https://vuejs.org or what?3:44 – Guest: Elevator pitch – Aurelia is a single-page app framework! It’s most similar to Vue out of those frameworks; also, similarities to https://www.emberjs.com 4:30 – Guest goes into detail about Aurelia. 6:15 – Panel: It sounds like convention over configuration.6:42 – Guest: Yes that is correct.7:21 – Panel: Sounds like there is a build-step to it.7:39 – Guest: There is a build-step you are correct. You will use https://webpack.js.org in the background.9:57 – The guest talks about data binding among other things. 10:30 – Guest: You will have your app component and other levels, too.10:37 – Panel: I am new to https://aurelia.io and so I’m fresh to this. Why Aurelia over the other frameworks? Is there a CLI to help?11:29 – Guest: Let me start with WHY https://aurelia.io and not the other frameworks. The style that you are using when building the applications is important for your needs. In terms of bundling there is a CUI and that is a way that I prefer to start my projects. Do you want to use CSS or Webpack or...? It’s almost a wizard process! You guys have any questions about the CLI?14:43 – Panel: Thanks! I was wondering what is actually occurring there?15:25 – Guest: Good question. Basically it’s that Aurelia has some built-in conventions. Looking at the convention tells Aurelia to pick the Vue model by name. If I need to tell the framework more information then...17:46 – Panel: I think that for people who are familiar with one or more framework then where on that spectrum would Aurelia fall?18:20 – Guest: It’s not that opinionated as Ember.js.19:09 – Panel: Talking about being opinionated – what are some good examples of the choices that you have and how that leads you down a certain path? Any more examples that you can give us? 19:38 – Guest: The main conventions are what I’ve talked about already. I can’t think of more conventions off the top of my head. There are more examples in my book.20:02 – Panel: Your book?20:10 – Guest: Yep.20:13 – Panel.20:20 – Guest. 21:58 – Panel: Why would I NOT pick Aurelia?22:19 – Guest: If you are from a React world and you like having things contained in a single-file then Aurelia would fight you. If you want a big company backing then Aurelia isn’t for you.The guest goes into more reasons why or why not one would or wouldn’t want to use Aurelia.24:24 – Panel: I think the best sell point is the downplay!24:34 – Guest: Good point. What does the roadmap look like for Aurelia’s team?25:00 – Guest: Typically, what happens in the Aurelia framework is that data binding (or router) gets pushed by the core team. They are the ones that produce the roadmap and look forward to the framework. The core team is working on the NEXT version of the framework, which is lighter, easier to use, and additional features. It’s proposed to be out for release next year.26:36 – https://sentry.io/welcome/ 27:34 – Panel: I am going to take down the CLI down and see what it does. I am looking at it and seeing how to teach someone to use it. I am using AU, new command, and it says no Aurelia found. I am stuck.28:06 – Guest: What you would do is specify the project name that you are trying to create and that should create it for you. 28:40 – Panel.28:45 – Panel.28:50 – Panel: Stand up on your desk and say: does anyone know anything about computers?!29:05 – Panelists go back-and-forth. 29:13 – Panel: What frameworks have you used in the past?29:17 – Guest: I was using single-paged apps back in 2010.31:10 – Panel: Tell us about the performance of Aurelia?31:17 – Guest: I was looking at the benchmarks all the time. Last time I looked the performance was comparable. Performances can me measured in a number of different of ways.The guest talks about a dashboard screen that 20 charts or something like that. He didn’t notice any delays getting to the client. 33:29 – Panel: I heard you say the word “observables.”33:39 – Guest answers the question. 35:30 – Guest: I am not a https://redux.js.org expert, so I really can’t say. It has similar actions like https://redux.js.org but the differences I really can’t say.36:11 – Panel: We really want experts in everything! (Laughs.)36:25 – Panelist talks about a colleagues’ talk at a conference. He says that he things are doing too much with SPAs. They have their place but we are trying to bundle 8-9 different applications but instead look at them as...What are your thoughts of having multiple SPAs?37:17 – Guest.39:08 – Guest: I wonder what your opinions are? What about the splitting approach?39:22 – Panel: I haven’t looked at it, yet. I am curious, though. I have been developing in https://golang.org lately.40:20 – Guest: I think people can go too far and making it too complex. You don’t want to make the code that complex.40:45 – Panel: Yeah when the code is “clean” but difficult to discover that’s not good.41:15 – Guest: I agree when you start repeating yourself then it makes it more difficult.41:35 – Panel: Chris and I are anti-framework. We prefer to start from a fresh palette and see if a framework can fit into that fresh palette. When you start with a certain framework you are starting with certain configurations set-in-place. 42:48 – Joe: I like my frameworks and I think you are crazy!43:05 – Panel.43:11 – Joe: I have a love affair with all frameworks.43:19 – Panel: I think I am somewhere in the middle.43:49 – Panel: I don’t think frameworks are all bad but I want to say that it’s smart to not make it too complex upfront. Learn and grow.44:28 – Guest: I think a good example of that is http://jquery.com right?45:10 – Panelist talks about C++, jQuery, among other things. 45:34 – Guest: Frameworks kind of push the limits.46:08 – Panelist talks about JavaScript, frameworks, and others.47:04 – Panel: It seems simple to setup routes – anything to help with the lazy way to setup?47:35 – Guest answers question. 48:37 – Panel: How do we manage complexity and how does messaging work between components?48:54 – Guest: The simple scenario is that you can follow a simple pattern, which is (came out of Ember community) and that is...Data Down & Actions Up!50:45 – Guest mentions that https://aurelia.io 51:00 – Panel: That sounds great! Sounds like the pattern can be plugged in easily into Aurelia.51:17 – Picks!51:20 – https://devchat.tv/get-a-coder-job/ END – https://www.cachefly.com Links:
- https://www.javascript.com
- https://reactjs.org
- https://redux.js.org
- https://webpack.js.org
- https://elixir-lang.org
- Ember.js
- https://vuejs.org
- https://golang.org/project/
-
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Panel:
Panel:
Panel:
Panel:
- http://www.aimeemarieknight.com
- AJ O’Neal
- Aaron Frost
- https://2013.boston.wordcamp.org/speakers/
Special Guests: https://www.linkedin.com/in/cwbuecheler In this episode, the panel talks with https://www.linkedin.com/in/cwbuecheler 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 – https://www.telerik.com/kendo-ui?utm_campaign=kendo-ui-awareness-jsjabber&utm_medium=social-paid&utm_source=devchattv 1:08 – Aimee: Our guest is Christopher Buecheler – tell us about yourself and what you do.1:22 – https://www.linkedin.com/in/cwbuecheler 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 https://blog.closebrace.com 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 https://blog.closebrace.com 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 – https://sentry.io/welcome/ 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 – https://www.linkedin.com/in/cwbuecheler 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 https://jestjs.io and https://github.com/smooth-code/jest-puppeteer 33:58 – Guest: I like https://jestjs.io, too.34:20 – Aimee: Let’s go to PICKS!34:35 – https://devchat.tv/get-a-coder-job/ Links:
- https://www.javascript.com
- https://jquery.com
- https://reactjs.org
- https://elixir-lang.org
- http://elm-lang.org
- http://closebrace.com
- https://jestjs.io
- https://github.com/smooth-code/jest-puppeteer
- https://podflix.app
- https://github.com/wting/autojump
- https://brutalist-web.design
- https://www.youtube.com/watch?v=QrR_gm6RqCo
- https://balloonfiesta.com
- https://www.docz.site
- http://closebrace.com
- http://cwbuecheler.com
- https://www.linkedin.com/in/cwbuecheler
- https://github.com/cwbuecheler
- https://gomakethings.com
Sponsors:
-
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Panel:
Panel:
Panel:
- http://www.aimeemarieknight.com
- https://twitter.com/cmaxw?lang=en (DevChat TV)
- https://2013.boston.wordcamp.org/speakers/
- https://twitter.com/josepheames
Special Guests: https://twitter.com/justinbmeyer?ref_src=twsrc%255Egoogle%257Ctwcamp%255Eserp%257Ctwgr%255Eauthor In this episode, the panel talks with https://twitter.com/justinbmeyer?ref_src=twsrc%255Egoogle%257Ctwcamp%255Eserp%257Ctwgr%255Eauthor who is a co-author of DoneJS, CanJS, jQueryPP, StealJS, and DocumentJS. Justin currently works for https://www.bitovi.com/about and is their Director of R&D. He is also a fan of basketball and Michael Jackson. The panel and Justin talk about CanJS in-detail – check it out!Show Topics:0:58 – https://radiopublic.com/all-javascript-podcasts-by-devcha-WwEoX8/ep/s1!3b9d2 1:14 – Chuck: Can you tell everyone who you are?1:20 – Justin tells us his background.1:50 – Chuck.1:58 – Justin.2:06 – Chuck: Can you give us an introduction to what CanJS 4.0?2:11 – Justin: It is a JavaScript framework and is similar to Vue. It adds a very model layer, and uses Real Time very well.2:44 – Panelist.2:49 – Justin.2:55 – Panelist: What is the current...3:09 – Justin: Compatibility is very important to us. A lot of the same tools are still available. It has over 80 different repositories.Justin continues to talk about the differences/similarities between the different versions.4:55 – Panelist: Angular, React, and Vue are dominating, so I have 2 questions.1.) Where is the core strength of JS and its user base?2.) What is like to be the CanJS when everyone is talking about the other programs?5:31 – Justin: We have dealt with this for the past 10 years. Emotionally it’s not great, I wished it was more popular, but our priority is keeping our user-based happy. We’ve had big companies use it.Justin answers the second question.8:44 – Panelist: You mentioned two things.9:22 – Aimee: I think everything has trade-offs. I would use something because it was the right tool for the job. I wouldn’t want to make something that was “cool.” I would want to make it super accessible in a network.10:10 – Justin: That is a great marketing angle. We are trying to remove the worst parts of the program.10:26 – Now I am intrigued.10:32 – Justin: You have this mutable state and you aren’t sure. At least for https://twitter.com/canjs?lang=en I don’t see that occurring too often.10:54 – Aimee.10:58 – Justin: Deep inheritance is definitely a problem and it can create...11:13 – Aimee.11:19 – Justin: We have changed strategies a lot, and I think it’s helped https://twitter.com/canjs?lang=en grow; like 60% since January. We are doing a lot of user studies now. I run Meetups, etc. That being said inheritance schemes aren’t something that people will encounter. This is something that they won’t encounter months down the road.13:00 – Aimee.13:05 – Panelist: I would like to dig deeper into state-management. Everyone is doing Flux, talk about that with CanJS.13:20 – Justin: Yeah. It depends on what kind of user you are talking to. When I talk to new users off the street (people who just graduated, etc.)...If you look at React’s statistics – more than 50% doesn’t use any state management.16:15 – Panelist: I think it’s interesting that there are people that aren’t “oh my gosh...”16:43 – Justin: The last coolest thing I’ve done is...18:02 – Justin continues.18:16 – Panelist: I kind of have this belief that we as a community turn to frameworks and tools too much. From your perspective when does it make sense to turn to a tool like this or better off working with native...18:56 – It depends on how complex your app is and our ability to work through those problems. I think that’s a generic answer, but hopefully that helps. I don’t think you really can’t live without.19:49 – Panelist: I think that’s fair. One thing that I found is that there are many things layered into state-management. Because you mentioned performance, which is something I care about, too. At what point does the extra tooling become too heavy for the user’s experience? Where do you draw the line?21:11 – Justin: It depends. I don’t know what the parallel is – it’s like a richer developer problem. You have too many users where you can make those fine tuned adjustments. Do whatever is going to deliver the product first and then worry about performance later? I think our things are geared towards performance by default.22:41 – Panelist: Playing devil’s advocate, though. But isn’t there some danger in kind of suggesting that you focus on performance WHEN it’s a business issue? Maybe there is there a lack of empathy among developers. I worry that advice is hurting us.23:53 – Justin: No matter what you can build your homepage with Angular weird monstrosity, but then when you get to the point when people are using your product – you can just use native HTML, and native methods and build that one widget and as easy and fast as possible.24:50 – Panelist: Dealing with complexity. Now we need to do things like bundlers, and such to deal with this issue. I feel like a crotchety old man yelling because it takes forever.25:38 – Justin: I think it depends on where you are sitting. I think that comes down to the design. If your design has a lot of complex states, then...26:37 – Panelist: Because you care about performance...26:54 – https://sentry.io/welcome/ 27:53 – Justin: I don’t think that the run time of https://twitter.com/canjs?lang=en is going to be a critical performance path for anybody. Is there a responsibility? This is the oldest question. It’s like saying: where do you draw the line that you need to choose success/be elected to fight the battles if you really want to win.You need someone using your product or it doesn’t really matter. Start-ups use our product because they need to get something up and in. I am going to flip this back onto you guys.30:48 – Panelist: I think that’s fair.31:00 – Aimee: I have a question. You got into consultancy when do you recommend using CanJS or something else?31:15 – Justin: I always suggest people using CanJS.31:53 – Aimee: What do these people do when their contract is over? I have used an older version of Can, and...32:20 – Justin: Are you on https://github.com/gitterHQ?Aimee: No, I am not.32:25 – Justin: We do offer promote job posting to help them find somebody. We try our best to help people in any way we can.33:05 – Aimee: That’s helpful. Another question.33:28 – Justin: DoneJS is that. It uses the full kitchen sink. That’s what DoneJS is.33:50 – Panelist: Let’s talk about CanJS in the mark-up. Do you think it’s better now or worse than 2012? Less space or more space?34:13 – Justin: It’s probably worse. I think the methodology that we are using: focusing on our users. We get their feedback frequently. We are listening to our users, and I think we are being smarter.35:16 – Panelist: Is the space getting more welcoming or less?35:31 – It depends on what framework you are. It’s very hard to compete if you are the exact same thing as...The market is so dense and there are so many ideas, so it’s getting harder and harder. What helps people break-through? Is it the technology or the framework?36:36 – Panelist: I appreciate the richness of the field, as it exists right now. There aren’t a few things SMELT and ELM37:10 – Justin: Elm for sure. I don’t have a lot of experience with SMELT.37:23 – Panelist continues the talk.37:54 – Chuck.38:00 – Justin: I think it spreads by word-of-mouth. I used to think it was “technology” or... all that really matters is “can you deliver” and the person have a good experience.Usability is the most important to me. We will see how this turns out. I will be either right or wrong.39:18 – Panelist: Can we talk about the long-term future of Can JS?39:28 – Justin: We are connecting to our user-base and making them happy. If I had it my way (which I don’t anymore) I think https://reactjs.org/docs/jsx-in-depth.html is the best template language. We have been building integrations between JSX and...I am putting out proposals where most people don’t like them.Justin continues this conversation.44:24 – Picks!44:28 -https://devchat.tv/get-a-coder-job/ Links:
- https://www.javascript.com
- https://jquery.com
- https://reactjs.org
- https://elixir-lang.org
- http://elm-lang.org
- https://vuejs.org
- https://polyfill.io/v2/docs/
-
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Panel:
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 will7: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 stage2.) 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 for54: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:Panel:
Special Guests: Ethan Brown In this episode, the panel talks with Ethan Brown who is a technological director at a small company. They write software to facilitate large public organizations and help make projects more effective, such as: rehabilitation of large construction projects, among others. There is a lot of government work through the endeavors they encounter. Today, the panel talks about his article he wrote, and other topics such as Flex, Redux, Ruby, Vue.js, Automerge, block chain, and Elm. Enjoy!Show Topics:2:38 – Chuck: We are here to talk about the software side of things.Let’s dive into what you are looking at mid-year what we need to know for 2018. You wrote this.3:25 – Ethan: I start off saying that doing this podcast now, how quickly things change. One thing I didn’t think people needed to know was symbols, and now that’s changed. I had a hard time with bundling and other things. I didn’t think the troubles were worth it. And now a couple of moths ago (an open source project) someone submitted a PR and said: maybe we should be using symbols? I told them I’ve had problems in the past. They said: are you crazy?!It’s funny to see how I things have changed.4:47 – Panel: Could you talk about symbols?4:58 – Aimee: Are they comparable to Ruby?5:05 – Ethan talks about what symbols are and what they do!5:52 – Chuck: That’s pretty close to how that’s used in Ruby, too.6:04 – Aimee: I haven’t used them in JavaScript, yet. When have you used them recently?6:15 – Ethan answers the question.7:17 – Panelist chimes in.7:27 – Ethan continues his answer. The topic of “symbols” continues. Ethan talks about Automerge. 11:18 – Chuck: I want to dive-into what you SHOULD know in 2018 – does this come from your experience? Or how did you drive this list?11:40 – Ethan: I realize that this is a local business, and I try to hear what people are and are not using. I read blogs. I think I am staying on top of these topics being discussed.12:25 – Chuck: Most of these things are what people are talking.12:47 – Aimee: Web Assembly. Why is this on the list?12:58 – Ethan: I put on the list, because I heard lots of people talk about this. What I was hearing the echoes of the JavaScript haters. They have gone through a renaissance. Along with Node, and React (among others) people did get on board. There are a lot of people that are poisoned by that. I think the excitement has died down. If I were to tell a story today – I would14:23 – Would you put block chain on there? And AI?14:34 – Panel: I think it’s something you should be aware of in regards to web assembly. I think it will be aware of. I don’t know if there is anything functional that I could use it with.15:18 – Chuck: I haven’t really played with it...15:27 – Panel: If you wrote this today would you put machine learning on there?15:37 – Ethan: Machine Learning...16:44 – Chuck: Back to Web Assembly. I don’t think you were wrong, I think you were early. Web Assembly isn’t design just to be a ... It’s designed to be highly optimized for...17:45 – Ethan: Well-said. Most of the work I do today we are hardly taxing the devices we are using on.18:18 – Chuck and panel chime in.18:39 – Chuck: I did think the next two you have on here makes sense.18:54 – Panel: Functional programming?19:02 – Ethan: I have a lot of thoughts on functional programming and they are mixed. I was exposed to this in the late 90’s. It was around by 20-30 years. These aren’t new. I do credit JavaScript to bring these to the masses. It’s the first language I see the masses clinging to. 10 years ago you didn’t see that. I think that’s great for the programming community in general. I would liken it to a way that Ruby on Rails really changed the way we do web developing with strong tooling. It was never really my favorite language but I can appreciate what it did for web programming. With that said...(Ethan continues the conversation.)Ethan: I love Elm. 21:49 – Panelists talks about Elm. *The topic diverts slightly.22:23 – Panel: Here’s a counter-argument. Want to stir the pot a little bit. I want to take the side of someone who does NOT like functional programming.24:08 – Ethan: I don’t disagree with you. There are some things I agree with and things I do disagree with. Let’s talk about Data Structures. I feel like I use this everyday. Maybe it’s the common ones. The computer science background definitely helps out.If there was one data structure, it would be TREES. I think STACKS and QUEUES are important, too. Don’t use 200-300 hours, but here are the most important ones. For algorithms that maybe you should know and bust out by heart.27:48 – Advertisement for Chuck’s E-book Course: Get A Coder Job28:30 – Chuck: Functional programming – people talk bout why they hate it, and people go all the way down and they say: You have to do it this way....What pay things will pay off for me, and which things won’t pay off for me? For a lot of the easy wins it has already been discussed. I can’t remember all the principles behind it. You are looking at real tradeoffs. You have to approach it in another way. I like the IDEA that you should know in 2018, get to know X, Y, or Z, this year. You are helping the person guide them through the process.30:18 – Ethan: Having the right tools in your toolbox.30:45 – Panel: I agree with everything you said, I was on board, until you said: Get Merge Conflicts.I think as developers we are being dragged in...33:55 – Panelist: Is this the RIGHT tool to use in this situation?34:06 – Aimee: If you are ever feeling super imposed about something then make sure you give it a fair shot, first.34:28 – That’s the only reason why I keep watching DC movies.34:41 – Chuck: Functional programming and...I see people react because of the hype cycle. It doesn’t fit into my current paradigm. Is it super popular for a few months or...?35:10 – Aimee: I would love for someone to point out a way those pure functions that wouldn’t make their code more testable.35:42 – Ethan: Give things a fair shake. This is going back a few years when React was starting to gain popularity. I had young programmers all about React. I tried it and mixing it with JavaScript and...I thought it was gross. Everyone went on board and I had to make technically decisions. A Friend told me that you have to try it 3 times and give up 3 times for you to get it. That was exactly it – don’t know if that was prophecy or something. This was one of my bigger professional mistakes because team wanted to use it and I didn’t at first. At the time we went with Vue (old dog like me). I cost us 80,000 lines of code and how many man hours because I wasn’t keeping an open-mind?37:54 – Chuck: We can all say that with someone we’ve done.38:04 – Panel shares a personal story.38:32 – Panel: I sympathize because I had the same feeling as automated testing. That first time, that automated test saved me 3 hours. Oh My Gosh! What have I been missing!39:12 – Ethan: Why should you do automated testing? Here is why...You have to not be afraid of testing. Not afraid of breaking things and getting messy.39:51 – Panel: Immutability?40:00 – Ethan talks about this topic.42:58 – Chuck: You have summed up my experience with it.43:10 – Panel: Yep. I agree. This is stupid why would I make a copy of a huge structure, when...44:03 – Chuck: To Joe’s point – but it wasn’t just “this was a dumb way” – it was also trivial, too. I am doing all of these operations and look my memory doesn’t go through the roof. They you see it pay off. If you don’t see how it’s saving you effort, at first, then you really understand later.44:58 – Aimee: Going back to it being a functional concept and making things more testable and let it being clearly separate things makes working in code a better experience.As I am working in a system that is NOT a pleasure.45:31 – Chuck: It’s called legacy code...45:38 – What is the code year? What constitutes a legacy application?45:55 – Panel: 7 times – good rule.46:10 – Aimee: I am not trolling. Serious conversation I was having with them this year.46:27 – Just like cars.46:34 – Chuck chimes in with his rule of thumb.46:244 – Panel and Chuck go back-and-forth with this topic.47:14 – Dilbert cartoons – check it out. 47:55 – GREAT QUOTE about life lessons.48:09 – Chuck: I wish I knew then what I know now.Data binding. Flux and Redux. Lots of this came out of stuff around both data stores and shadow domes. How do you tease this out with the stuff that came out aroPanel:
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 conferences7: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 conferences34: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: ThePanel:
- https://twitter.com/coolaj86?ref_src=twsrc%255Egoogle%257Ctwcamp%255Eserp%257Ctwgr%255Eauthor
- http://www.aimeemarieknight.com
- https://twitter.com/josepheames?ref_src=twsrc%255Egoogle%257Ctwcamp%255Eserp%257Ctwgr%255Eauthor
- https://twitter.com/cmaxw?lang=en
Special Guests: https://medium.com/@vzaidman In this episode, the panel talks with programmer, https://medium.com/@vzaidman, 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 https://jestjs.io.Show Topics:1:32 – Chuck: Let’s talk about testing JavaScript in 2018.1:53 – https://medium.com/@vzaidman talks about solving problems in JavaScript.2:46 – Chuck asks https://medium.com/@vzaidman a question.3:03 – Vitali’s answer.3:30 – Why https://jestjs.io? Why not Mocha or these other programs?3:49 – https://jestjs.io is the best interruption of what testing should look like and the best practice nowadays. There are different options, they can be better, but https://jestjs.io 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 http://www.cypress.com/documentation/software-and-drivers/free-and-open-source-software-download-page, 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 abouthttps://github.com/GoogleChrome/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 https://www.javascript.com 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 https://www.javascript.com 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 – https://brutalist-web.design. Some guy has this site – https://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 https://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 – https://sentry.io/welcome/ 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 https://jestjs.io. 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 https://jquery.com to https://reactjs.org to... With that context do you feel like https://jestjs.io will be a dominant program? Are we going to see https://jestjs.io 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 https://jestjs.io (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 https://jestjs.io.41:29 – Vitali talks about this topic.42:14 – Let’s go to picks!42:14 – https://www.digitalocean.com/ Links:
- https://www.facebook.com/vzaidman
- https://medium.com/@vzaidman
- https://github.com/vzaidman
- https://www.npmjs.com/~vzaidman
-
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Panel:
- AJ O’Neal
- Aimee Knight
- Joe Eames
Special Guests: http://naderdabit.me/#/ In this episode, the panel talks with programmer, Nader Dabit, who has been with Amazon’s AWS for the past six months. They discuss the new innovations that Amazon is currently working on, and the exciting new projects that Nader gets to be involved with. Check out this episode to hear all the latest!Show Topics:1:45 – There are two main things that Nader works with. Check out this timestamp to see what they are.3:29 – AJ to Nader: Tell me more about manage cloud. I am not sure about https://aws.amazon.com/cognito/?ef_id=W5RTKgAAAUa7GPf1%3A20180908225434%3As&s_kwcid=AL%214422%213%21293649588890%21p%21%21g%21%21cognito&sc_campaign=acquisition_USsc_publisher%3Dgoogle&sc_category=Security&sc_channel=PS&sc_content=cognito_p&sc_country=US&sc_detail=cognito&sc_matchtype=p&sc_medium=ACQ-P%257CPS-GO%257CNon-Brand%257CDesktop%257CSU%257CSecurity%257CCognito%257CUS%257CEN%257CText&sc_segment=293649588890.3:56 – https://aws.amazon.com/cognito/?ef_id=W5RTKgAAAUa7GPf1%3A20180908225434%3As&s_kwcid=AL%214422%213%21293649588890%21p%21%21g%21%21cognito&sc_campaign=acquisition_USsc_publisher%3Dgoogle&sc_category=Security&sc_channel=PS&sc_content=cognito_p&sc_country=US&sc_detail=cognito&sc_matchtype=p&sc_medium=ACQ-P%257CPS-GO%257CNon-Brand%257CDesktop%257CSU%257CSecurity%257CCognito%257CUS%257CEN%257CText&sc_segment=293649588890 5:06 – What are the other manage cloud services that companies want to offer through the tools you have?5:12 – Nader answers AJ’s question.7:30 – Can you give me more specifics on the storage solutions you are offering?8:03 – Nader answers AJ’s question. People store websites there for example. Frontend developers are using S3 buckets, and they are using the library, which is a storage solution.9:10 – AJ and Nader are having a dialogue between different situations, and Nader is giving the solutions to those hypothetical situations.10:17 – AJ: “I am interested in what you are talking about https://aws.amazon.com/appsync/. Can you tell me how that works?” AJ is picking Nader’s brain about how https://aws.amazon.com/appsync/ works.11:05 – Nader: “It is a single API layer for a point of entry. You can have multi-data sources.” Nader continues, in detail, answering AJ’s question.12:36 – AJ: As a frontend developer, it sounds like I will have to become familiar with the backend, too. How is it providing the most value? What is it that I do not have to touch, because I am using this?15:37 – How would these relations work? As a frontend developer, and I do not want to learn sequel, how would that might look like; currently or in the future? How do you extract that knowledge?16:18 – Yes, it is not an easy solution to solve. Nader goes into detail about how he would approach this situation.18:26 – AJ: Are these resolvers written in https://www.javascript.com?22:04 – Acronym fun!22:45 – https://nodejs.org/en/ 23:51 – Summarizing these pasts 20-some-minutes: Off-Storage, https://aws.amazon.com/appsync/,https://sites.google.com/site/landismodel/developers, and others are what people are using Amplify for. New Question/New Topic: Simplify.25:45 – https://aws.amazon.com/mobile/ – is not mobile specific.26:44 – If you are using https://angular.io, we have a plugin in https://angular.io to help you. We also have that for React and https://vuejsdevelopers.com as well.27:52 – https://sentry.io/welcome/ 28:56 – What should we be talking about?29:04 – Let’s talk about Amazon’s Lex, https://aws.amazon.com/lex/?ef_id=W5RTKgAAAUa7GPf1%3A20180908230815%3As&s_kwcid=AL%214422%213%21209039218013%21p%21%21g%21%21amazon%2520chatbot&sc_campaign=lex_2017&sc_category=lex&sc_channel=PS&sc_content=chatbot_p&sc_country=US&sc_detail=amazon%2520chatbot&sc_matchtype=p&sc_medium=awns_lex_b&sc_publisher=google&sc_segment=209039218013. Nader goes into full detail of this service.33:52 – https://www.apple.com/tv/ 34:00 – AJ: Sounds like this is more platform/ more agnostic than getting different things to come together, and the Microsoft one is more hybrid and the Amazon one is more open?35:13 – Joe, let’s go back to what you had to ask.35:28 – Nader, you talked about https://www.biznessapps.com/blog/what-is-a-push-notification/ earlier. What is https://cloud.google.com/pubsub/docs/overview?36:30 – Is this like traditional hooks? Or custom?37:25 – What is the “stuff” that gets you up in the morning and gets you excited to go to work at AWS?38:40 – Nader: I really had no desire to change career paths, but it happened.41:30 – AJ: I totally agree with the idea in that finding the common patterns, so that way someone on the lower-level can participate. AJ wants a platform that is open or purchase that can offer some of these benefits. It could be open-source or you used to buy the different tools.43:27 AJ: What about for the hobbyist?43:40 – Nader: I agree, that would be really nice. I can’t think of any free services that would be nice.44:03 AJ – Not free in “free,” but “free” towards the idea of “free speech.” They would all be available and you get to choose what works well for you.45:00 – SHOUTOUT to LISTENERS: Have an idea about this? Shoot the panel an e-mail!45:33 – Hopefully this opens the listeners’ eyes to what’s out there.45:48 – Cloud services.46:55 – Innovation follows niche markets. When something gets big and established, innovation comes to a plateau. The innovation will develop in a new economic area like hydraulics. AJ thinks a niche will develop.49:03 – Is there anything, Dabit, which you would like to talk about?49:15 – Can we talk about https://docs.aws.amazon.com/aws-technical-content/latest/aws-overview/artificial-intelligence-services.html?51:10 – Nader saw a demonstration recently.52:26 – Hearing these implications is so cool, but when it comes to ML a panelist dabbled a little bit. He watched some videos, unless you want to devote a year or two to learning it then it’s too complex to put together. Do you have to be genius-level to get through?53:29 – ML you are passing data. Nader is not quite sure.56:00 Nader just did a blog post check-it-out!56:49 – Let’s do Picks!56:50 – https://www.digitalocean.com/ Links:
- https://twitter.com/dabit3?ref_src=twsrc%255Egoogle%257Ctwcamp%255Eserp%257Ctwgr%255Eauthor
- https://medium.com/@dabit3
- https://www.linkedin.com/in/naderdabit/
- https://github.com/dabit3
- http://naderdabit.me/#/
- https://www.youtube.com/channel/UC7mca3O0DmdSG2Cr80sOD7g
- https://egghead.io/instructors/nader-dabit
- https://www.javascript.com
- https://aws.amazon.com/cognito/?ef_id=W5RTKgAAAUa7GPf1%3A20180908225434%3As&s_kwcid=AL%214422%213%21293649588890%21p%21%21g%21%21cognito&sc_campaign=acquisition_USsc_publisher%3Dgoogle&sc_category=Security&sc_channel=PS&sc_content=cognito_p&sc_country=US&sc_detail=cognito&sc_matchtype=p&sc_medium=ACQ-P%257CPS-GO%257CNon-Brand%257CDesktop%257CSU%257CSecurity%257CCognito%257CUS%257CEN%257CText&sc_segment=293649588890
- https://aws.amazon.com/appsync/https://nodejs.org/en/
- https://sites.google.com/site/landismodel/developers
- https://aws.amazon.com/mobile/
- https://vuejsdevelopers.com
- https://angular.io
-
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel: Charles Max Wood Special Guests: Vesa JuvonenIn this episode, the JavaScript Jabber panel talks to Vesa Juvonen about building SharePoint extensions with JavaScript. Vesa is on the SharePoint development team and is responsible for the SharePoint Framework, which is the modern way of implementing SharePoint customizations with JavaScript. They talk about what SharePoint is, why they chose to use JavaScript with it, and how he maintains isolation. They also touch on the best way to get started with SharePoint, give some great resources to help you use it, and more!In particular, we dive pretty deep on:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel:
Panel: Charles Max WoodAimee KnightCorey HouseAJ O'Neal Special Guests: Ben Coe, Aaron Abramov, and Issac SchleuterIn this episode, the JavaScript Jabber panelists talk with Ben Coe, Aaron Abramov, and Issac Schleuter about test coverage and testing tools. They talk about the different tools and libraries that they have contributed to the coding community, such as NYC, conf, and Jest. They also discuss what test coverage is actually about and when using test coverage tools is necessary.In particular, we dive pretty deep on:
Panel: Charles Max WoodAimee KnightAJ O'Neal Special Guests: Kitson KellyIn this episode, the JavaScript Jabber panelists talk with Kitson Kelly about evaluating web frameworks. Kitson is currently in Australia working for ThoughtWorks as a principle technologist. He has written many articles on frameworks and urges that people don’t get stuck on one framework in their programming. He talks about how using only frameworks that you know could hurt you in the long run. This episode is great for understanding when to use certain JavaScript frameworks and how branching out from what is comfortable might make your job easier.In particular, we dive pretty deep on:
Panel: Charles Max WoodAimee KnightCory HouseAJ O'NealJoe EamesAaron Frost Special Guests: Dave GeddesIn this episode, the JavaScript Jabber panelists talk with Dave Geddes about CSS Grids. Dave quit his job about a year ago and has been living the entrepreneur and programmer life since then. Now, he builds mastery games to help people learn CSS. Dave discusses the differences between Flexbox and CSS Grid and how the games that he creates can help people learn CSS Grid in a fun and interactive way.In particular, we dive pretty deep on:
Panel: Charles Max WoodAimee KnightCory HouseAJ O'NealJoe EamesSpecial Guests: NoneIn this episode, the JavaScript Jabber panelists speak on where they are what they are up to today. Aimee is still in Nashville, Tennessee, and it is currently working at Built Technologies and is working with JavaScript. Cory is still authoring courses for Pluralsite, has more recently been doing consulting with React, and is the principal engineer at Cox Automotive. Joe is doing a lot of Pluralsight work, puts together conferences, and is working on a new podcast with Charles. AJ recently did some side work with Dash, is interested in working on a new domain service, and recently got married. Charles is currently at ngATL conference, and has been attending a lot of conferences recently. He is also starting to head over to the video realm and is creating a new podcast called React Roundup and a View Podcast with Joe. They also talk about what they each have planned in the upcoming year for their careers and their lives.In particular, we dive pretty deep on:
Panel: AJ O’NealJoe EamesAimee KnightSpecial Guests: Chris FerdinandiIn this episode, JavaScript Jabber panelist speak with Chris Ferdinandi. Chris teaches vanilla JavaScript to beginners and those coming from a design background. Chris mentions his background in Web design and Web Develop that led him JavaScript development. Chris and the JSJ panelist discuss the best ways to learn JavaScript, as well as resources for learning JavaScript. Also, some discussion of technologies that work in conjunction with vanilla JavaScript.In particular, we dive pretty deep on:
Panel: Charles Max WoodCory HouseJoe EamesAimee KnightSpecial Guests: John PapaIn this episode, JavaScript Jabber panelist speak with John Papa. John has been doing web programming for over twenty years on multiple platforms and has been contributing to the developer communities through conferences, authoring books, videos and courses on Pluralsight.John is on the show to discuss an articles he wrote on A Look at Angular Along Side Vue, and another article on Vue.js with TypeScript. John talks about the new features with the different versions of Angular technologies, anxiety in the different features, comparisons between the technologies and use case with Angular.In particular, we dive pretty deep on:
Panel: Charles Max WoodJoe EamesAimee KnightSpecial Guests: Russell Goldenberg and Adam PearceIn this episode, JavaScript Jabber panelist speak with Russell Goldenberg and Adam Pearce Russell creates visualizations, interactive graphics, and documentaries for the web. Currently an editor at The Pudding. Adam is a graphics editor at The New York Times and a journalist engineers/developer Russell and Adam are on the show to talk about what Scrollytelling is, as well as Scrollama. Scrollama is a modern and lightweight JavaScript library for scrollytelling using IntersectionObserver in favor of scroll events. This is a great episode to understand another technology/tool created with JavaScript.In particular, we dive pretty deep on:
Panel: Charles Max WoodCory HouseJoe EamesAimee KnightSpecial Guests: Azat MardanIn 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:
Panel: Charles Max Wood Cory HouseJoe EamesAimee Knight Special Guests: Ryan GloverIn this episode, JavaScript Jabber panelist speak with Ryan Glover. Ryan is on JavaScript Jabber to talks about Entrepreneurship as a developer. Ryan runs Clever Beagle in Chicago Illinois. Clever Beagle is a mentorship company that helps people build their first software Product. Ryan and the panel discuss the many roads of entrepreneurship, startup business ideas, servicing and teaching the community, how to’s, and psychological challenges, hiring, seeing your ideas through to the end, and privilege. In particular, we dive pretty deep on:
Panel: Charles Max WoodAJ O’NealJoe EamesSpecial Guests: Adam BaldwinIn this episode, JavaScript Jabber panelist speak with Adam Baldwin. Adam is a return guest and has many years of application security experience. Currently, Adam runs the Node Security Project/Node Security Platform, and Lift Security. Adam discusses the latest of security of Node Security with Charles and AJ. Discussion topics cover security in other platforms, dependencies, security habits, breaches, tokens, bit rot or digital atrophy, and adding security to your development.In particular, we dive pretty deep on:
Panel: Charles Max WoodSpecial Guests: Nishant ThackerIn this episode, JavaScript Jabber speaks with Nishant Thacker. Nishant is the technical product manager for all things big data at Microsoft. Nishant mentions the many new technologies and announcements he is in-charge of at Microsoft.Nishant is on the show to talk about Big Data and gives advice on how to process data and acquire deep insight of your customers. This is a great episode to understand the development of data systems that are the backbone of some marketing tools.In particular, we dive pretty deep on:
Panel: Charles Max WoodSpecial Guests: Kirill GavrylyukIn this episode, JavaScript Jabber speaks with Kirill Gavrylyuk. Kirill is a dev manager at Cosmos DB, and works professionally with Azure CosmosDB. Kirill is on JavaScript Jabber to talk about what CosmosDB is in the world of development technology. Chuck and Kirill discuss the nuances of this database technology, how it is implemented, and how to manage and migrate data, among other great features.In particular, we dive pretty deep on:
Panel:Charles Max Wood Aimee KnightAJ O’NealJoe Eames Special Guests: Gareth McCumskeyIn this episode, JavaScript Jabber speaks with Gareth McCumskey about Serverless For JavaScript. Gareth leads the dev team at Expat Explore in Cape Town, South Africa. Gareth and this team specialize in exploring the Serverless realm in JavaScript. The JavaScript Jabbers panel and Gareth discuss the many different types of serverless systems, and when to implement them, how serverless system work, and when to go in the direction of using Serverless. In particular, we dive pretty deep on:
Panel: Charles Max WoodAimee KnightCorey HouseJoe EamesSpecial Guests: In this episode, JavaScript Jabber speaks with Dirk Hohndel about Open Source Software. Dirk is the Chief Open Source Officer at VMWare and has been working with open source for over 20 years. Dirk duties as the Chief Open Source Officer is to engage with the open source community and help promote the development between the community, companies, and customers.Dirk provides historical facts about open sources to current processes. The discussion covers vision and technological advances with languages, security, and worries of using open source software, view/consumption and burnout on maintaining a project. This is a great episode to learn about more different avenues of Open Source.In particular, we dive pretty deep on:
Panel:Charles Max WoodSpecial Guests: Chris DiasPJ MeyerIn this episode, Charles is at Microsoft Connect 2017 in NYC. Charles speaks with Chris Dias and PJ Meyer about Visual Studio Code and Live Sharing. Chris and PJ explain more on their demo at Microsoft Connect on Live Collaborative Editing and Debugging. Learn more about the new features with Visual Studio Code and the efficient workflows with screen sharing, and much more.In particular, we dive pretty deep on:
Charles Max WoodSpecial Guests: Amanda SilverIn 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:
Panel:Aimee KnightAJ O’NealCharles Max WoodSpecial Guests: Ari LernerIn this episode, Java Script Jabbers speak with Ari Lerner. Ari is the author of NG Book: The Complete Book on AugularJS, Full Stack React, and a few others. Ari co-runs newline.co a platform that teaches about the Block Chain, Ethereum, New Contracts, etc. Ari mentions a few upcoming books on Machine Learning, Elixir, and react Native.Ari gives a rundown on what the Block Chain is about, and an explanation of a Hash. Ari explains the value of a Hash and 6-bit strings of a Hash. Also, Ari explains the exchange of currency in Bitcoin and the rate of exchange in the Block Chain. Next Ari covers web 3.0 and much more.In particular, we dive pretty deep on:
Panel:Amiee KnightCharles Max WoodSpecial Guests: Kye HohenbergerIn this episode, JavaScript Jabbers speak with Kye Hohenberger. Kye is a developer and co-founder of Side Way. One of Kye’s most notable works and library is Emotion, a CSS and JS library.Kye talks about what CSS and JS library is about in the context of the Emotion library system. Kye discusses why this is practical for the writing process, in comparison to other types of tools that do similar jobs. Kye explains the how this tool reduces the number of lines of code and is compact and clearer.In particular, we dive pretty deep on:
Panel:Charles Max WoodIn 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:
Panel: Amiee KnightCharles Max WoodSpecial Guests: JC HiattIn this episode, JavaScript Jabbers speak with JC Hiatt. JC is a software consultant, and working a starting a company called DevLifts. DevLifts is a company that helps developers learn to live healthier lives. JC mentions this business was base on this health journey.JC and the panel discuss output and mental clarity to get work done in a healthy fashion. Also, the benefits of eating a healthy diet, rather it is the Keto Diet or others types of healthy clean eating, there is a physical and mental benefit. JC and the panel talk about count macros, healthy food intake, and a basic outline of getting into ketosis. Also, the panel discusses finding the motivation to get into a healthy lifestyle to benefit work and your lifestyle.In particular, we dive pretty deep on:
Panel:Amiee KnightCharles Max WoodJoe EamesSpecial Guests: Matthew Creager and Peter ChoIn 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:
Panel:Aimee KnightCharles Max WoodSpecial Guests: Nick DisabatoIn this episode, Java Script Jabbers talk with Nick Disabato. Nick is a newbie to JavaScript Jabber. Nick is the founder of Draft, an interaction design agency where he does research driven A/B testing of E-commerce business.This is a practical episode for those who are running a business and doing marketing for the products and services. Nick talks about A/B testing for a number scenarios within the company, such as for websites, funnels, and various marketing mechanisms. Nick further goes into how this helps companies strategically increase revenue by changing things such as websites design or building funnels.In particular, we dive pretty deep on:
Panel:Joe EamesAimee KnightCharles Max WoodCory HouseSpecial Guests: Scott WyattIn this episode, JavaScript Jabbers talk with Scott Wyatt. Scott is the Co-founder, CTO, UEX at Cali StyleTechnologies, and is a Node developer and graphic designer. Scott is on JavaScript Jabber to talk about Trails.js. and its simplistic build, but many useful functions.Scott mentions that Trails.js was created by Travis Webb. Scott gives us an introduction to the Trails.js framework, as the Jabbers take apart and dive deep into the build, functions, and uses. Scott goes into what trail packs are, and the similar or related projects. Scott talks about the ease of using trails to build with, and not ending up in frustration.In particular, we dive pretty deep on:
Panel: Aimee KnightAJ O'NealCharles Max Wood Guest: Eric BerryThis week on Ruby Rogues, we interview our very own, Eric Berry, to talk about the sustainability of open-source projects through ethical advertising. The team talks about once open source projects like PhantomJS, Cancan, and many others.The Rogues dive into the many different scenarios that lead open source projects astray. Problems like working on the project without compensation, be overworked, and no interest are many of the reasons these are not sustained in the long run.However, are there solutions like donations or sponsorship to sustain such projects? And how do we go about finding funding or compensation for these open source projects? Eric describes that advertising tactics and strategies for open source. Eric talks about his work with Code Sponsor and how they support the open source community with funding.In particular, we dive pretty deep on:
Panel:Joe AimeeCharles Special Guests: Eric Simmons Albert PaiIn this episode, JavaScript Jabbers talk to Eric Simmons and Albert Pai, the co-founder of thinkster.io, where their team teaches the bleeding edge of javascript technology’s various frameworks and backend. Also, with the recent creation of Stalkblitz, which is the center topic of today discussion. Stackblitz it an online VS Code IDE for Angular, React, and a few more others are supported. This is designed to run web pack and vs code inside your browser at blazing fast speeds. Eric and Albert dive into the many different advantages and services available by StackBlitz and thinker.io. In particular, we dive pretty deep on:
JSJ 277: Dojo 2 with Dylan Schiemann and Kitson KellyThis 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 SchiemannDylan 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 DojoDojo 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 ModulesWhy 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? https://www.sitepen.com/blog/2017/06/13/if-we-chose-our-javascript-framework-like-we-chose-our-music/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 warsTry 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 Dojo2 years ago or so they were looking for a Virtual DOM library that was small and written in TypeScript. They settled on http://maquettejs.org/.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] TestingThey've gothttp://theintern.io.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 https://github.com/dojo/test-extras library to help with Dojo testing with intern.Dojo Links
- http://dojo.io
- http://github.com/dojo/meta
- http://sitepen.com/blog
- https://gitter.im/dojo/dojo2
- http://github.com/dylans
- http://twitter.com/dylans
- http://twitter.com/sitepen
- http://twitter.com/dojo
- http://github.com/kitsonk
- http://twitter.com/kitsonk
PicksCory
- https://www.farnamstreetblog.com/2017/08/amateurs-professionals
Aimee
- https://www.eventbrite.com/e/devfest-florida-2017-tickets-31833188925?discount=JSJABBER (use code 'jsjabber')
Chuck
- Taking some time off
- http://amzn.to/2j8VKRJ
- https://www.youtube.com/watch?v=vVsXO9brK7M
Dylan
- https://www.zenhub.com/
- http://halfstackconf.com
- https://www.sitepen.com/blog/2017/06/13/if-we-chose-our-javascript-framework-like-we-chose-our-music/
Kitson
- https://en.wikipedia.org/wiki/Dunbar%27s_number
Special Guests: Dylan Schiemann and Kitson Kelly.
Support this podcast at —
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
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 MaximilianMaximilian 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.jsVue.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:
Aimee:Charles:JSJ 275: Zones in Node with Austin McDanielThe panel for this week on JavaScript Jabber is Cory House, Aimee Knight, and Charles Max Wood. They speak with special guest Austin McDaniel about Zones in Node. Tune in to learn more about this topic![00:01:11] Introduction to Austin Austin has worked in JavaScript for the past ten years. He currently works in Angular development and is a panelist on Angular Air. He has spent most of his career doing work in front-end development but has recently begun working with back-end development. With his move to back-end work he has incorporated front-end ideas with Angular into a back-end concept.[00:02:00] The Way it WorksNodeJS is an event loop. There is no way to scope the context of a call stack. So for example, Austin makes a Node request to a server and wants to track the life cycle of that Node request. Once deep in the scope, or deep in the code, it is not easy to get the unique id. Maybe he wants to get the user from Passport JS. Other languages – Python, Java – have a concept called thread local storage. They can associate context with the thread and throughout the life cycle of that request, he can retrieve that context.There is a TC39 proposal for zones. A zone allows you to do what was just described. They can create new zones and associate data with them. Zones can also associate unique ids for requests and can associate the user so they can see who requested later in the stack. Zones also allow to scope and create a context. And then it allows scoping requests and capturing contacts all the way down.[00:05:40] Zone UsesOne way Zone is being used is to capture stack traces, and associating unique ids with the requests. If there is an error, then Zone can capture a stack request and associate that back to the request that happened. Otherwise, the error would be vague.Zones are a TC39 proposal. Because it is still a proposal people are unsure how they can use it. Zones are not a new concept. Austin first saw Zones being used back when Angular 2 was first conceived. If an event happened and they wanted to isolate a component and create a scope for it, they used Zones to do so. Not a huge fan of how it worked out (quirky). He used the same library that Angular uses in his backend. It is a specific implementation for Node. Monkey patches all of the functions and creates a scope and passes it down to your functions, which does a good job capturing the information.[00:08:40] Is installing the library all you need to get this started?Yes, go to npminstallzone.js and install the library. There is a middler function for kla. To fork the zone, typing zone.current. This takes the Zone you are in and creates a new isolated Zone for that fork. A name can then be created for the Zone so it can be associated back with a call stack and assigned properties. Later, any properties can be retrieved no matter what level you are at.[00:09:50] So did you create the Zone library or did Google?The Google team created the Zone library. It was introduced in 2014 with Angular 2. It is currently used in front-end development.[00:10:12] Is the TC39 proposal based on the Zone library?While Austin has a feeling that the TC39 proposal came out of the Zone library, he cannot say for sure.[00:10:39] What stage is the proposal in right now?Zone is in Stage Zero right now. Zone JS is the most popular version because of its forced adoption to Angular. He recommends people use the Angular version because it is the most tested as it has a high number of people using it for front-end development.[00:11:50] Is there an easy way to copy the information from one thread to another?Yes. The best way would probably be to manually copy the information. Forking it may also work.[00:14:18] Is Stage Zero where someone is still looking to put it in or is it imminent? Austin believes that since it is actually in a stage, it means it is going to happen eventually but could be wrong. He assumes that it is going to be similar to the version that is out now. Aimee read that Stage Zero is the implementation stage where developers are gathering input about the product. Austin says that this basically means, “Implementation may vary. Enter at your own risk.”[00:16:21] If I’m using New Relic, is it using Zone JS under the hood? Austin is unsure but there something like that has to be done if profiling is being used. There has to be a way that you insert yourself in between calls. Zone is doing that while providing context, but probably not using Zone JS. There is a similar implementation to tracing and inserting logging in between all calls and timeouts.[00:17:22] What are the nuances? Why isn’t everybody doing this?Zone is still new in the JavaScript world, meaning everyone has a ton of ideas about what should be done. It can be frustrating to work with Zone in front-end development because it has to be manually learned. But in terms of implementation, only trying to create a context. Austin recommends Zone if people want to create direct contacts. The exception would be 100 lines of Zone traces because they can get difficult.Another issue Austin has is Node’s native basic weight. Weight hooks are still up in the air. The team is currently waiting on the Node JS community to provide additional information so that they can finish. Context can get lost sometimes if the wrong language is used. He is using Typescript and doesn’t have that problem because it is straightforward.[00:21:44:] Does this affect your ability to test your software at all?No, there have not been any issues with testing. One thing to accommodate for is if you are expecting certain contexts to be present you have to mock for those in the tests. After that happens, the tests should have no problems.PicksCory:
Aimee: Charles:JSJ 274 Amazon Voice Services and Echo Skills with Terrance SmithOn 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 SmithTerrance is from Hacker Ferrer Software. They hack love into software.[01:30] – Amazon Voice ServiceWhat 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 KitSkills 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 programmingWith 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 LambdaBoilerplates 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 learningThere 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 ShowYou 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] – ChallengesThere’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] – MonetizationAmazon 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, walkthroughsThe 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.PicksJoe Eames
Aimee KnightJSJ 273: Live to Code, Don't Code to Live with 2 Frugal Dudes Sean Merron and Kevin GriffinThis episode of JavaScript Jabber features panelists Aimee Knight, Cory House, and Charles Max Wood. Special guests Sean Merron and Kevin Griffin discuss how to live frugally. Tune in to hear their advice![00:02:14] Introduction to Sean and KevinSean and Kevin are the hosts of the 2 Frugal Dudes Podcast. They are middle class software engineers. Sean works a 9 to 5 job, while Kevin owns a small business called Swift Kick. Swift Kick is a company that focuses on independent consulting, software development, and training companies for software development.[00:05:50] Different Types of Financial Advisors There is no legal reason that financial advisors have to work in your best interest. On the 2 Frugal Dudes Podcast, Sean and Kevin advise people to use fiduciary advisors. These types of advisors are not legally allowed to accept kickbacks from different funds. This means that they are more likely to help you to the best of their ability. They get paid for their services. Laws are currently changing so that everyone has to be a fiduciary advisor unless clients sign a specific form.[00:10:00] What do I do with money left over at the end of the month that I can’t put into a 401K and Roth IRA?They suggest that you put only the amount of money in your 401K that your company will match. Then, put the rest into a Roth IRA and max that out. Before you decide to do what next, you need to decide why you are saving money. When will you need the money? What will you need it for? Once you know the answer to these questions, you will be able to assess what your money will best be placed. For example, if you are saving to buy a house you need to put your money in a safe investment. A Roth IRA can be used as a savings vehicle or as an emergency fund. Sean believes that a Bank CD is the safest return you can get.[00:14:30] Best Way to Save For those who are self-employed, it is a good idea to have two emergency funds – a personal and a business fund. Business emergency funds should have five months of personal salary. Kevin built his up over two or three years and uses it as self-insurance.Sean says that the employee world is different. For him, he only keeps the minimum amount in his emergency fund. He knows that he is in a field where his job is in high demand, so feels comfortable with being able to get a job quickly. For others, this may not be the case. Have to evaluate how much to save based on how long you think you may need the money. [00:18:50] What is the first thing people should be doing for their own financial well being?Kevin follows Dave Ramsey’s advice.
- Basic emergency fund. He uses $1,000. Most emergencies fall under that amount of money.
- Get rid of all consumer debt. This includes car payments, credit cards, and student loans. Mortgage is not consumer debt.
- Grow an emergency fund to three or six months of expenses.
- Investments. Setting up retirement funds, paying for college, or mortgages.
Sean values early retirement so he focuses on that. What does retirement mean to me? What does rich mean? You should always track your money through a budget. Then you can funnel money towards emergency funds and tackling debt.Self-insurance means that you don’t have to worry about funds. It helps lower your stress knowing that you have your finances in order. It is a peaceful place to be and opens up opportunities for you. If someone has stressors in their life – for example, their car breaks down – and they have no money to fix it, they now have car and money problems. This stress can then potentially lead to other problems such as marriage problems. If the money to fix the broken car would have been there, it would alleviate stress.[00:28:23] Difference between 401k, IRA, and Roth IRAsA 401k is an employer provided, long-term retirement savings account. This is where you put in money before it is taxed. With this plan you are limited with the funds you can choose from to invest in.IRAs are long-term retirement plans as well. The first type of IRA is a Traditional IRA, which is similar to a 401k. You get tax reduction for the money you put in the account. You pay taxes once you withdraw money. A Roth IRA is where you already pay taxes on money that you are putting in, but don’t have to pay taxes when withdrawing money. You can withdraw contributions at anytime without being penalized, you just can’t take out any earnings.Another thing that is potentially good for early retirement is a Roth IRA conversion ladder. This is where you take money from a 401k and convert it into a Roth IRA and use it before 60 years old to fund early retirement.Traditional IRAs are good for business owners looking for tax deductions now. An HSA (Health Savings Account) can also be used as a retirement device. It goes towards medical expenses if needed.[00:34:20] Are there tools or algorithms I can use to figure this stuff out?There are some. Portfolio Visualizer allows you to choose different portfolio mixes and put different amounts of money in each one. Portfolio Charts is similar to Portfolio Visualizer but gives nice graphics. Sean created a JavaScript website to help people use to figure out early retirement.The hardest part is calculating return because you have to estimate what your return will be each year.[00:39:00] Put Your Money SomewhereThe only bad investment is not making an investment. Even making a bad investment is better than not having any at all. Inflation eats away at money that is just sitting.[00:42:05] If you get one of these advisors what advice should you be looking for?Need someone that tries to understand your particular situation. “It depends” is very true and your advisor should know that. No two people will have the same financial goals. They should want to help reach your goals in the least costly way possible. Other things they should be able to do is be honest and help you control your emotions during upswings and downswings. [00:47:08] Why index funds?As an investor, you can buy an index fund cheaper than buying the whole index. A mutual fund will try to buy and sell the stocks in that index in order to follow the index's performance. As an investor, you have the opportunity to buy into a mutual fund that handles it for you.You don’t have to independently invest in companies either. You can invest in an index instead that will look at, for example, top performing technology companies. It is usually a better value.[00:53:33] How much do I invest in my business verses putting money into a Roth IRA or 401k?Sean thinks it comes down to retirement goals. At some point you will want money to come in passively and retire in the future. If you can passively put X amount of dollars into your company then it can be looked at as a form of investment.Kevin evaluates his business goals every quarter. He creates a business budget based off of those goals.PicksCory
- http://www.amazon.com/dp/0393330338/?tag=chamaxwoo-20
- http://www.amazon.com/dp/1612680011/?tag=chamaxwoo-20
- http://www.amazon.com/dp/1591847818/?tag=chamaxwoo-20
Aimee
- Hacker News Thread – How to Not Bring Emotions Home With You
- http://www.phantogram.com/
Charles
- http://www.amazon.com/dp/1476757860/?tag=chamaxwoo-20
- https://www.daveramsey.com/elp
Sean
- http://www.amazon.com/dp/1501164589/?tag=chamaxwoo-20
- https://www.mrmoneymustache.com/
- http://www.mint.com
Kevin
- http://www.amazon.com/dp/0470102101/?tag=chamaxwoo-20
- https://www.youneedabudget.com/
- http://www.amazon.com/dp/1589795474/?tag=chamaxwoo-20
Links
- https://twitter.com/2frugaldudes
- https://twitter.com/seanmerron
- https://twitter.com/1kevgriff?lang=en
- http://www.swiftkick.in
- http://www.kevingriffin.com
- http://earlyretirementroadmap.com/
- http://2frugaldudes.com
Special Guests: Kevin Griffin and Sean Merron.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out:
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
JSJ 272: Functional Programming and ClojureScript with Eric NormandThis 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 NormandEric 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 quicklyFunctional 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.
JSJ 271: SharePoint Extensions in JavaScript with Mike Ammerlaan and Vesa JuvonenThis episode is a live episode from Microsoft Build where AJ O'Neal and Charles Max Wood interview Mike Ammerlaan and Vesa Juvonent about building extensions for SharePoint with JavaScript. [00:01:28] Mike Ammerlaan introduction
Mike has worked at Microsoft for a long time on multiple Microsoft products and projects. He's currently on the Office Ecosystem Marketing Team. [00:01:52] Vesa Juvonen introduction
Ves a is Senior Program Manager for the SharePoint Splat team. He's been with Microsoft for about 11 years and manages the community and documentation for the SharePoint framework. [00:02:18] What is the SharePoint Framework?
This is how you write SharePoint extensions with JavaScript. SharePoint has changed. It now works with common modern development tools and web development techniques. SharePoint consolodates the extension effort [00:03:32] What is SharePoint?
File sharing, team sites, communication points for teams. Part of Office 365. You use Web Parts to add functionality to SharePoint. Web Parts provide functionality like widgets and are scoped to a team, group, or set of users. It's usually hosted on premises, but you can also use it with Office 365 as a hosted solution. [00:05:56] What extensions can you build for SharePoint?
You can build widgets for your front page or intranet. You can also add user management or data management or document management.Examples:
JSJ 270 The Complete Software Developers Career Guide with John SonmezThis episode features a panel of Joe Eames, AJ O’Neal, as well as host Charles Maxwell. Special guest John Sonmez runs the website SimpleProgrammer.com that is focused on personal development for software developers. He works on career development and improving the non-technical life aspects of software developers. Today’s episode focuses on John’s new book The Complete Software Developers Career Guide.Did the book start out being 700 pages?No. My goal was 200,000 words. During the editing process a lot of questions came up, so pages were added. There were side sections called “Hey John” to answer questions that added 150 pages.Is this book aimed at beginners?It should be valuable for three types of software developers: beginner, intermediate, and senior developers looking to advance their career. The book is broken up into five sections, which build upon each other. These sections are: - How to get started as a software developer - How to get a job and negotiate salary - The technical skills needed to know to be a software developer - How to work as a software developer - How to advance in careerIs it more a reference book, not intended to read front to back?The book could be read either way. It is written in small chapters. Most people will read it start to finish, but it is written so that you can pick what you’re interested in and each chapter still makes sense by itself.Where did you come up with the idea for the book?It was a combination of things. At the time I wanted new blog posts, a new product, and a new book. So I thought, “What if I wrote a book that could release chapters as blog posts and could be a product later on?” I also wanted to capture everything I learned about software development and put it on paper so that didn’t lose it.What did people feel like they were missing (from Soft Skills) that you made sure went into this book?All the questions that people would ask were about career advice. People would ask things regarding: - How do I learn programming? - What programming language should I learn? - Problems with co-workers and boss - Dress codeWhat do you think is the most practical advice from the book for someone just getting started?John thinks that the most important thing to tell people is to come up with a plan on how you’re going to become educated in software development. And then to decide what you’re going to pursue. People need to define what they want to be. After that is done, go backwards and come up with a plan in order to get there. If you set a plan, you’ll learn faster and become a valuable asset to a team. Charles agrees that this is how to stay current in the job force.What skills do you actually need to have as a developer?Section 3 of the book answers this question. There was some frustration when beginning as a software developer, so put this list together in the book. - Programming language that you know - Source control understanding - Basic testing - Continuous integration and build systems - What kinds of development (web, mobile, back end) - Databases - SequelWere any of those surprises to you?Maybe DevOps because today’s software developers need to, but I didn’t need to starting out. We weren’t involved in production. Today’s software developers need to understand it because they will be involved in those steps.What do you think is the importance of learning build tools and frameworks, etc. verses learning the basics?Build tools and frameworks need to be understood in order to understand how your piece fits into the bigger picture. It is important to understand as much as you can of what’s out there. The basics aren’t going to change so you should have an in depth knowledge of them. Problems will always be solved the same way. John wants people to have as few “unknown unknowns” as possible. That way they won’t be lost and can focus on more timeless things.What do you think about the virtues of self-taught verses boot camp verses University?This is the first question many developers have so it is addressed it in the book. If you can find a good coding boot camp, John personally thinks that’s the best way. He would spend money on boot camp because it is a full immersion. But while there, you need to work as hard as possible to soak up knowledge. After a boot camp, then you can go back and fill in your computer science knowledge. This could be through part time college classes or even by self-teaching.Is the classic computer science stuff important?John was mostly self-taught; he only went to college for a year. He realized that he needed to go back and learn computer science stuff. Doesn’t think that there is a need to have background in computer science, but that it can be a time saver.A lot of people get into web development and learn React or Angular but don’t learn fundamentals of JavaScript. Is that a big mistake?John believes that it is a mistake to not fully understand what you’re doing. Knowing the function first, knowing React, is a good approach. Then you can go back and learn JavaScript and understand more. He states that if you don’t learn the basics, you will be stunted and possibly solve things wrong. Joe agrees with JavaScript, but not so much with things algorithms. He states that it never helped him once he went back and learned it. John suggests the book Algorithms to Live By – teaches how to apply algorithms to real life.Is there one question you get asked more than anything else you have the answer to in the book?The most interesting question is regarding contract verses salary employment and how to compare them. It should all be evaluated based on monetary value. Salary jobs look good because of benefits. But when looking at pay divided by the hours of work, usually a salary job is lower paid. This is because people usually work longer hours at salary jobs without being paid for it.What’s the best place for people to pick up the book? simpleprogrammer.com/careerguide and it will be sold on Amazon. The book will be 99 cents on kindle – want it to be the best selling software development book ever.PicksJoeWonder WomanAJThe AlchemistCharlesArtificial Intelligence with PythonJohn Algorithms to Live by: The Computer Science of Human Decisions Apple Airpods LinksSimple Programmer YoutubeSpecial Guest: John Sonmez.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
JSJ 269 Reusable React and JavaScript Components with Cory HouseOn today’s episode of JavaScript Jabber, we have panelists Joe Eames, Aimee Knight, Charles Max Wood, and playing the part of both host and guest, Cory House. Encourage your team to investigate reusable components, whether that’d be React, Angular, Vue, or Ember. Tune in![00:01:35] – OverviewWe can finally write reusable components that it is really lightweight. It doesn’t take much framework-specific code to get things done.Around 3 years ago, the idea of web component standard was all front-end developers could share our components with each other whether someone is in Angular or React. Web components continue to be an interesting standard but people continue to reach for JavaScript libraries instead – React, Angular, Vue. [00:04:50] – Browser support issueThe story in JavaScript libraries is easier. You have more power, more flexibility, more choices, and get superior performance, in certain cases, by choosing a JavaScript library over the standard right now. If you try to use the web components standard, you have to Polyfill-in some features so you can run things across browser. You also won’t get JavaScript features like intelligently splitting bundles and lazy load different components.Whether you’re in Angular or React, you have this model of putting your data in your curly braces. That setup is non-existent in standardized web components. You have to play the game of putting and pulling data into and out the DOM using DOM selectors. You actually take a step backward in developer ergonomics when you choose to leverage the platform instead. [00:07:50] – Polymer The reason that Polymer is useful is it adds some goodness on top of web components. One of those things is that it makes it easier to bind in data and not having to do things like writing a DOM query to be able to get your hands on this div and put this text inside of it. With Polymer, you can do something that feels more like Angular, where you can put in your curly braces and just bind in some data into that place. Polymer ends up adding some nice syntactic sugar on top of the web components standard just to make it easier to create web components. Polymer is also used to bundle in Polyfill for the features across browser. [00:14:20] – Standards are deadNo. The standard itself has been embraced at different levels by different libraries. What you can see for the near future is popular libraries leveraging pieces of the web components platform to do things in a standard-spaced way. Effectively, Angular, Vue, Aurelia, are going to be abstractions over the web components standard. Arguably the most popular way to do components today is React. But React completely ignores the web components standard. When you look at React, you can’t see what piece of the web components standard would fundamentally make React a better component library.Cory can’t seem to run to anybody that is actually using the standard in production to build real applications. People continue to reach for the popular JavaScript libraries that we so often hear about.[00:17:05] – Libraries making reusable componentsThere is a risk that it would have been a waste for people writing components on Angular, for React, for Vue. But it’s not necessarily safer writing on the web component standard when you have so few people leveraging that standard. There’s always the risk that that standard may shift as well.As an example, Cory’s team created approximately 100 reusable components in React. If they end up moving to a hot new library, the components are really just functions that take parameters and contain HTML. There is little there[00:21:20] – Why opt for reusable componentsReusable components are inherently useful in a situation where you’re going to be doing something more than once. If you think about any work that you do as a software developer, we’d like to think that we’re coming in and creating new things but often it is groundhogs day. There are all sorts of opportunities for reuse.As a company, we want to encapsulate our forms in reusable components so it’s literally impossible for our software developers to do something that goes against our standard. That’s the power of reusable components. [00:31:20] – Rigid component vs. flexible component As component developers, if we try to create a reusable component in a vacuum, bad things happen. If you’re going to do a reusable component, start by solving a specific problem on a given application. If we think that a component’s going to be useful in multiple places, we put it in a folder called reusable right there in our application source folder.We try to follow that rule of three as well. If we’ve taken that component and used it in 3 places, that’s a good sign that we should extract it out, put it in our NPM package, that way, everybody has this centralized component to utilize. At that point, it has been tested. It’s been through the fire. People have used it in the real world in a few places so we can be confident that the API is truly flexible enough.Be as rigid as you can upfront. Once you add features, it’s really hard to take features away. But it’s quite easy to add features later. If you start with something rigid, it’s easier to understand. It’s easier to maintain and you can always add a few more switches later.[00:36:00] – Reusable componentsThe reason that we can’t reuse code is every time a new project comes up, people are spending up their own ideas rather than leveraging standards that should have been put in place previously.We’ve had the technical ability to do this for a long time. We just haven’t been around long enough for consolidation to happen, for standardization to happen. You look at how quickly things are changing in our industry. For instance, a couple of years ago, everybody had pretty much decided that two-way binding was the way to build web applications. And then, React came along and shook that up. So today, you have different ways of thinking about that issue.[00:42:45] – Component development on teamsAimee’s team has component development and they’re using Angular 1.6. All of our base components are sitting in a seed application. We just go in when we want to create a new property and we just extend all of those components with specific functionalities that we need.[00:47:45] – Mobile to web crossoverCory’s team is creating React components but it’s not leveraged on a mobile application. But people use React Native components on the web. And in fact, if you use create-react-app today, you can do that right now. It’s wired up to work in React Native components. In that way, you can literally have these same components running on your Native mobile apps as you do on your web application.[00:50:00] – ChallengeCory’s challenge for everybody listening is sit down with your team and have a quick conversation about whether you think components make sense. Look back at the last few months of development and say, "if we have a reusable component library, what would be in it? How often have we found ourselves copying and pasting code between different projects? How much benefit would we get out of this story?"Once you’ve realized the benefits of the component model, both in the way that makes you think about your application, in a way that it helps you move faster and faster over time, I really think you won’t go back to the old model. I’d encourage people to investigate reusable components, whether that’d be React, Angular, Vue or Ember.PicksCory House
JSJ 268 Building Microsoft Office Extensions with Javascript with Tristan Davis and Sean LabereeThis episode is live at the Microsoft Build 2017 with Charles Max Wood and AJ O’Neal. We have Tristan Davis and Sean Laberee from the Office Team at Microsoft. Tune in and learn more about what’s new with Microsoft Office Extensions![00:01:25] – Introduction to Tristan Davis and Sean LabereeTristan Davis and Sean Laberee are Program Managers on the Microsoft Office team, focused on Extensibility.Questions for Tristan and Sean[00:01:45] – Extending Office functionality with Javascript Office isn’t just an application on Windows that runs on your PC. It is running on iPhone, iPad, Android tablet, and apps on the browser with Office Online. The team needs a new platform, add-ins, which allow you to build apps that run across all places. It’s HTML and Javascript. HTML for all the UI and a series of Javascript module calls for the document properties. Sometimes we call it OfficeJS.[00:03:20] – This works on any version of Office?It works on Office on Windows, Mac, Online and iPad.[00:03:55] – HTML and CSS suck on mobile?There are things that you’re going to want to do when you know you’re running on a mobile device. If you look at an add-in running on Outlook for iPhone, the developer does a lot of things to make that feel like part of the iPhone UI. Tristan believes that you could build a great add-in for Office using HTML and JavaScript.[00:05:20] – Are these apps written with JavaScript or you have a Native with WebView?Office itself is Native. All of it is Native code but the platform is very much web. The main piece of it is pointing at the URL. Just go load that URL. And then, you can also call functions in your JavaScript.[00:06:35] – Why would you do this? How does it work?The add-in platform is a way to help developers turn Word, Excel and PowerPoint into the apps that actually solve user’s business problems. The team will give you the tools with HTML and JavaScript to go and pop into the Word UI and the API’s that let you go manipulate the paragraph and texts inside of Word. Or in Excel, you might want to create custom formulas or visualizations. The team also let people use D3 to generate their own Excel charts.And developers want to extend Office because it’s where a lot of business workers spend their days 0 in Outlook, Teams, Word, Excel.[00:10:00] – How did this get delivered to them?There are 2 ways to get this delivered. One, there’s an Office Store. Second, if you go into Word, Excel, and PowerPoint, there’s a store button and you can see tons of integrations with partners.For enterprises, IT can deploy add-ins to the users’ desktops without having stress about deploying MSI’s and other software deployments that the web completely rids off. The add-ins make a whole lot of pain the past completely go away.[00:11:00] – Everybody in the company can use a particular plug-in by distributing it with Office?That’s right. You can go to Office 365 add-in experience. Here’s the add-in and you can to specific people or everyone who’s part of a group.For the developer’s perspective, if you have the add-in deployed to your client, you could actually push updates to the web service and your users get the updates instantly. It’s a lot faster turn-around model.[00:14:20] – What about conversations or bot integrations?There’s the idea of connectors at Teams. You can subscribe to this web book and it’ll publish JSON. When the JSON is received, a new conversation inside of Teams or Outlook will be created. For example, every time someone posts on Stack Overflow with one of the tags that team cares about, it posts on Outlook.It’s a great way to bring all the stuff. Rather than have 20 different apps that are shooting 20 different sets of notifications, it’s just all conversations in email, making do all the standard email things.And in the connector case, it’s a push model. The user could choose what notifications they want.You’d also learn things like bots. You can have bots in Teams and Skype. The users can interact with them with their natural language.[00:18:40] – How about authentication?As long as you’re signed into Office, you can call JavaScript API to give you an identity token for the sign in user and it will hand you a JWT back. That’s coming from Azure Active Directory or from whatever customer directory service. That’s standard.If you want to do more, you can take that identity token and you can exchange that for a token that can call Microsoft graph. This app wants to get access to phone, are you okay with that? Assuming the user says yes, the user gets a token that can go and grab whatever data he wants from the back-end.[00:20:00] – Where does it store the token?That’s up to the developer to decide how they want to handle that but there are facilities that make sure you can pop up a dialog box and you can go to the LO-flow. You could theoretically cache it in the browser or a cookie. Or whatever people think is more appropriate for the scenario.[00:20:55] – What does the API actually look like from JavaScript?If you’re familiar with Excel UI, you can look at Excel API. It’s workbook.worksheets.getItem() and you can pass the name of the worksheet. It can also pass the index of the worksheet.[00:22:30] – What’s the process of getting setup?There’s a variety of options. You can download Office, write XML manifest, and take a sample, and then, side loads it into Office. You can also do that through web apps. There’s no install required because you can go work against Office Online. In the Insert menu, there’s a way to configure your add-ins. There’s upload a manifest there and you can just upload the XML. That’s going to work against whatever web server you have set up.So it’s either on your local machine or up in the cloud. It’s as much as like regular web development. Just bring your own tools.[00:24:15] – How do you protect me as a plug-in developer?There’s an access add-in that will ask your permission to access, say, a document. Assume, they say yes, pipes are opened and they can just go talk to those things. But the team also tries to sandbox it by iframes. It’s not one page that has everybody’s plug-ins intermingle that people can pole at other people’s stuff.[00:27:20] – How do you support backward compatibility?There are cases where we change the behavior of the API. Every API is gated by requirement set. So if a developer needs access to a requirement set, he gets an aggregate instead of API’s that he can work with but it isn’t fixed forever.But it’s not at that point yet where we end up to remove things completely. In Office JS, we’ve talked about API’s as one JavaScript library but really, it’s a bootstrap that brings in a bunch of other pieces that you need.[00:30:00] – How does that work on mobile? Do they have to approve download for all components?You can download components by using the browser that the operating system gives. It’s another one of the virtues of being based on the web. Every platform that has a web browser can have JavaScript execution run-time. It allows for the way that their app guidelines are written.[00:33:15] – How about testing?It’s a place where there’s still have work to do. There’s a bunch of open-source projects that partners have started to do that. What they’ve done is they’ve built a testing library. Whatever the mock is, it's just a thing on Github. It is open-source friendly. So the team could be able to contribute to it. “Here’s an interesting test case for this API. I want to make sure that it behaves like this.[00:35:50] – Could you write it with any version for JavaScript e.g. TypeScript?A Huge chunk of the team is big TypeScript fans. They’ve done a lot of work to make sure that TypeScript experience is excellence.Type is basically a collection of typing files for TypeScript. There’s a runtime process that parses your TypeScript, gives you feedback on your code, and checks for errors. You can also run it in the background.There’s an add-in called Script Lab. Script Lab is literally, you hit the code button and you get a web IDE right there. You can go start typing JavaScript code, play with API’s, and uses TypeScript by default. It’ll just actually load your code in the browser, executes, and you can start watching.[00:39:25] – Are there any limitations on which JavaScript libraries you can pull in?There a no limitations in place right now. There are partners that use Angular. There are partners that are big React fans. If you’re a web dev, you can bring whatever preferences around frameworks, around tools, around TypeScript versus JavaScript.[00:45:20] – What’s the craziest thing you’ve seen done with this API?Battleship was pretty cool. There’s also Star Wars entering credits theme for PowerPoint.[00:46:40] – If a developer is building a plug-in and get paid for it, does Microsoft take credit for that?There are 2 ways that folks can do it. You can do paid add-ins to the store. Either you do the standard perpetual 99 cents or you can do subscriptions, where it’s $2.99/month. Tristan encourages that model because integrations are just a piece of some larger piece of software.But Microsoft is not in the business of trying to get you to pay me a little bit of 10 cents a dollar. It’s really in the business of making sure that you can integrate with Office as quickly as possibly can.When the users go to the store, they can use the same Microsoft account that you use to buy Xbox games or movies in the Xbox, Windows apps in the Windows store.[00:52:00] – The App ModelIf folks are interested in the app model, they should go to dev.office.com to learn more about it because that’s where all the documentation is. Check out our Github. Right there in the open, there’s the spec. Literally, the engineers who
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
JSJ 267 Node 8 with Mikeal Rogers, Arunesh Chandra, and Anna HenningsenOn today’s episode of JavaScript Jabber we have panelists Joe Eames, AJ O’Neil, Amiee Knight and Charles Max Wood and we are talking about Node 8. To help us we have special guests Mikeal Rodgers, Arunesh Chandra, and Anna Henningsen. It’s going to be a great show. Tune in.[1:56] Is Node 8 just an update or is there more?
- More than just an update
- Two main points:
- Improved https://www.npmjs.com/package/prana support
- Native API
- Native APIs are helpful for Native Add-ons. For both the consumer and the developer side.
- Prior to update these Node Native modules ran in C++ and bound to specific to Node 8 APIs.
- Causes these modules to be updated or reconciled every time these modules are rereleased.
- Creates burden for module maintainers.
- Creates friction in upgrading Node versions in production departments.
- If you have a deployment depending on a certain Native module, some of the modules may not get updated in time when updating your Node versions. Keeping people from updating Node.
- Creates compatibility issues with Node users not using Node 8
- Experimental support for a Native layer in Node 8 to eliminate these issues as much as possible.
- Important milestone for the module ecosystem.
- You can write extensions for Node in C++ and it decouples V8 so you can use something else on the front.
- Modules takes dependency on V8 API specific to a particular version. So if V8 changes your module will be extracted from that.
- As a side benefit, you can have another VM to take advantage of that.
- Major version upgrades mean updating Native modules and usually some of those modules haven’t updated to the newest version of Node and be complicated.
- Deep dependency wise, about 30% depends on a Native module somewhere
- In the future, with the Native API, you’ll be able to update Node without breaking modules.
[5:51] What kind of work went into this?
- Most of the work was in C++
- First thing that was done was, they looked at the top dependent Native modules in the ecosystem.
- Looked for what kind of V8 exposure they had and cataloged it
- Looked at how these APIs and what their purposes were
- Looked for a way to extract them so that they are part of Node Core
- Created neutral APIs, now part of the Node core.
- All C APIs
- Also has a C++ wrapper to improves usability of the API.
[7:17] What’s an example of what you can do with these APIs?
- Native modules allows for tighter integration and better module performance
- Specific APIs that you can use in V8 that isn’t available through JavaScript
- If you have a C++ variable code and you want to expose a variable into JavaScript, that is V8 API note a Node 8 API
- Having it bound directly to the VM was something they wanted for a long time
- Google controls V8 and they bind to V8
- Created a better relationship with Google starting in IOJS
- Also worked with Microsoft with their Node Shocker work.
- Same with https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey
- https://github.com/mozilla/spidernode is in the works
[9:23] Have you guys done any testing for performance?
- Some. There is a performance working group.
- There is a need to stay on top of V8
- V8 team has focused on new language features
- Many features have been added over the years
- Many didn’t come in optimized
- The performance profile has changed with these features
- If you’re using new language features, you will see a performance boost
- In core, still tracking down code that was specific to the old optimizer and rewriting i to work the new optimizer
- https://turboc.codeplex.com/ compiler hasn’t landed yet, but is to come.
- Will have a completely different performance profile
- In most real world applications it will be faster
- Waiting on the release to take a version of V8 to make it easier to upgrade features in the future
[11:28] Are the new features picked up from V8 or implemented in Node?
- It’s all in V8
- Better longterm support
- Promises are made better in Node as a platform
- Added new method called util.promisify()
- Implementation comes from V8
- Allows for more optimization for promises in Node core
- Promise support for the one-deprecated domains module.
[13:02] Is there anything more than NMP 5?
- First off, delete your NMP cache.
- It’s in your home directory usually with a .npm extension
[14:09] What are the new features in V8?
- Unlimited heap sizes, previously had a 4gb limit. No fixed limit.
[14:09] Will you see things like chakra come out tuned for servers?
- Profiles of a server for application process are getting smaller
- Getting cut into containers and VMs and micro services
- Vms that have cold boot time and run quickly in a strained environment is looking more like what we will see in the future
- Yes, especially if you’re using cloud functions
- V8 is optimized for phones, but Chakra is even more so
- Looking for opportunities for VMs can be solely optimized for a device target
- Node take advantage of that VM
- VM neutrality is an interesting concept
- VM Vendors trying to optimize it based on workloads of a server
- Opens opportunities for Node
- Node Chakra has been proved to iOS. You can cut off jitting off which was a requirement to be able to be in the Apple App Store
- Node is not just for servers anymore
- Node doesn’t take a long time configuring it
- When a developer runs code on an IoT or a mobile app they don’t control the VM that is bundled, they run it on top of Node and it just works.
- VM neutrality gives a new vector, so you can swam a whole different VM
[18:44] When running different engines like iOS vs Android, does the profile change?
- What it comes down to is if it’s eventive programming
- The browser is an eventive environment, is very efficient waiting for things to happen before it does something
- The way that we program servers and nodes are the same as well
- the basics are the same generally
- environmental differences exist but the programming model is usually the same
- What does impact it is memory and processor and hardware and things like that
- That is where tuning the VM comes into play
[20:29] What is the new Async Hooks API used for?
- Node has been lacking for automated inspection of Async Hook
- No way for Node to tell you when scheduling and beginning of an Async operation. Hook helps with that
- it’s a way for developers to write debugging features
- Node tells the application that it’s working with Asynchronous way.
- The embedded inspector has been embedded since Node 6
- Now has a JavaScript API to use it
- You can use things like Chrome debugger inside the running node process
- Old debugging protocol has been removed
- VM.run is still there but in the process of being deprecated
[22:34] How like is the experimental Node API will change?
- Marked as experimental because it’s the first time in the open
- Hopefully out of experimental soon
- Soon can port API to the existing LTS
- Looking for more people to participate with the new API and give feedback
- Fix any concerns before it goes to LTS
- Some other experimental things are in the works like ASync Hooks and how it interacts with promises
- Renaming some features
- Another new feature - serializer and deserializer that comes with V8
- experimental but will most likely stay
[25:31] what is your standard for going to LTS?
- Major releases every 6 months
- Next Oct Node 9 will come out and then Node 8 will be LTS
- Documentation, updates, additions etc will be ready then
- Plan to do it for 2.5 years
- Every even releases come out to LTS as the odd release comes out
- Helps keeps a current line while having something new in the release line
- Node 6 is the current LTS version
[27:26] What are you taking out or deprecating in Node 8?
- Use the word deprecate sparingly
- If many people use features, it’s hard to get rid of
- Security issue with Buffer, constructor argument was ambiguous
- Had added APIs that were more explicit over time and pushed those
- Now it will be deprecated
[28:43] 21% - 33% Performance increase with some Node updates
- Someone online updated their React app to Node 8 and found an 21% - 33% increase
- Benchmarking group tests to make sure things are getting faster
- V8 is always getting faster as well
- Code changes fast and so there is a chance performance slows down so they have people to check
- Benchmark test are all automated by a team
[30:47] Is it safe to just switch to Node 8?
- For front-end, yes
- clear your NPM cache
- Back use cases will usually wait until LTS
[31:28] Where any of the features hard to implement?
- The API work took about a year
- It was a collaboration which made it interesting
- IBM, Intel, Google were involved
- The collaboration took a while
- Also Async hooks took at least a year.
- Async hooks used to be call
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
On today’s episode of JavaScript Jabber, Charles Max Wood and panelist Joe Eames chat with Rebecca Turner, tech lead for https://www.npmjs.com/, a popular Javascript package manager with the worlds largest software registry. Learn about the newly released NPM 5 including a few of the updated features. Stay tuned![1:58] Was the release of node JS 8 tied to NPM5?
- Features in NPM5 have been in planning for 2 years now.
- Planned on getting it out earlier this year.
- Node 8 was coming out and got pushed out a month.
- Putting NPM5 into Node 8 became doable.
- Pushed really hard to get NPM5 into https://nodejs.org/en/blog/release/v8.0.0/ so that users would get NPM5 and updates to NPM5.
[2:58] Why would it matter? NPM doesn’t care right?
- Right you can use NPM5 with any version of node.
- Most people don’t update NPM, but upgrade Node.
- So releasing them together allowed for when people updated Node they would get NPM 5.
[3:29] How does the upgrade process work if you’re using NVM or some node version manager?
- Depends. Different approaches for each
- NVM gets a fresh copy of Node with new globals. NVM5 and Node 8 are bundled.
- For some, If you manually upgrade NVM you’ll always have to manually. It will keep the one you manually upgraded to.
[4:16] Why NPM 5?
- It’s night and day faster.
- 3 to 5 times speed up is not uncommon.
- Most package managers are slow.
- NPM 5 is still growing. Will get even faster.
[5:18] How did you make it faster?
- The NPM’s cache is old. It’s very slow. Appalling slow.
- Rewrote cache
- Saw huge performance gains
[5:49] What is the function of the cache?
- Cache makes it so you don’t have to reinstall modules from the internet.
- It has registry information too.
- It will now obey http headers for timing out cache.
[6:50] Other things that made it faster?
- Had a log file for a long time. It was called https://docs.npmjs.com/cli/shrinkwrap.
- NPM 5 makes it default.
- Renamed it to packagelog.json
- Exactly like shrinkwrap package file seen before
- In combo with cache, it makes it really fast.
- Stores information about what the tree should look like and it’s general structure.
- It doesn’t have to go back and learn versions of packages.
[7:50] Can you turn the default Packagelog.json off?
- Yes. Just:
- Set packagelog=false in the npmrc
[8:01] Why make it default? Why wasn’t it default before?
- It Didn’t have it before. Shrinkwrap was added as a separate project enfolded in NPM and wasn’t core to the design of NPM.
- Most people would now benefit from it. Not many scenarios where you wouldn’t want one.
- Teams not using the same tools causes headaches and issues.
[9:38] Where does not having a lock show up as a problem?
- It records the versions of the packages installed and where NPM put them so that when you clone a project down you will have exactly the same versions across machines.
- Collaborators have the exact same version.
- Protects from issues after people introduce changes and patch releases.
- NPM being faster is just a bonus.
- Store the sha512 of the package that was installed in the glock file so that we can verify it when you install. It’s Bit for bit what you had previously.
[11:12] Could you solve that by setting the package version as the same version as the .Json file?
- No. That will lock down the versions of the modules that you install personally, not the dependancies, or transitive dependancies.
- Package log allows you to look into the head of the installer. This is what the install looks like.
[12:16] Defaulting the log file speed things up? How?
- It doesn’t have to figure out dependences or the tree which makes it faster.
- Shrinkwrap command is still there, it renames it to shrinkwrap but shrinkwrap cannot be published.
- For application level things or big libraries, using shrinkwrap to lock down versions is popular.
[13:42] You’ve Adopted specifications in a ROC process. When did you guys do that?
- Did it in January
- Have been using them internally for years. Inviting people into the process.
- Specifications
- Written in the form of “Here is the problem and here are the solutions.”
- Spec folder in NPM docs, things being added to that as they specify how things work.
- Spec tests have been great.
[14:59] The update adds new tools. Will there be new things in registry as well?
- Yes.
- Information about a package from registry, it returns document that has info about every version and package json data and full readme for every version.
- It gets very large.
- New API to request smaller version of that document.
- Reduces bandwidth, lower download size, makes it substantially faster.
- Used to be hashed with sha1, With this update it will be hashed with sha512 as well as sha1 for older clients.
[16:20] Will you be stopping support for older versions?
- LTS version of NPM was a thing for a while. They stopped doing that.
- Two models, people either use whatever version came with Node or they update to the latest.
- The NPM team is really small. Hard to maintain old NPM branches.
- Supports current versions and that’s pretty much it.
- If there are big problems they will fix old versions. Patches , etc.
[17:36] Will there ever be problems with that?
- Older versions should continue to work. Shouldn’t break any of that.
- Can’t upgrade from 0.8.
- It does break with different Node version
- Does not support Node versions 0.10 or 0.12.
[18:47] How do you upgrade to NPM?
- sudo npm install -gmpm
- Yes, you may not need sudo. depend on what you’re on.
[19:07] How long has it been since version 4?
- Last October is when it came out.
[19:24] Do you already have plans for version 6?
- Yes!
- More releases than before coming up.
- Finally deprecating old features that are only used in a few packages out of the whole registry.
- Running tests on getting rid of things.
[20:50] Self healing cache. What is it and why do we want it?
- Users are sometimes showing up where installs are broken and tarbols are corrupted.
- This happens sometimes with complicated containerization setups makes it more likely. It’s unclear where the problem actually is.
- https://www.npmjs.com/package/cacache - content addressable cache. Take the hash of your package and use it to look up address to look it up in the cache.
- Compares the Tarbol using an address to look it up in the cache.
- Compares to see if it’s old. Trashes old and downloads updated one.
- Came out with the cache. Free side effect of the new cache.
[23:14] New information output as part of the update?
- NPM has always gave back you the tree from what you just installed.
- Now, trees can be larger and displaying that much information is not useful.
- User patch - gives you specifically what you asked for.
- Information it shows will be something like: “I installed 50 items, updated 7, deleted 2.”
[24:23] Did you personally put that together?
- Yes, threw it together and then got feedback from users and went with it.
- Often unplanned features will get made and will be thrown out to get feedback.
- Another new things ls output now shows you modules that were deduped. Shows logical tree and it’s relationships and what was deduped.
[25:27] You came up to node 4 syntax. Why not go to node 8?
- To allow people with just node 4 be able to use NPM.
- Many projects still run Node 4. Once a project has been deployed, people generally don’t touch it.
[26:20] Other new features? What about the File Specifier?
- File specifier is new. File paths can be in package json, usually put inside pointing to something inside your package.
- It will copy from there to your node modules.
- Just a node module symlink.
- Much faster. Verifiable that what’s in your node modules matches the source. If it’s pointing at the right place it’s correct. If not, then it’s not.
- Earlier, sometimes it was hard to tell.
[27:38] Anything else as part of the NPM 5 release? Who do you think will be most affected by it?
- For the most part, people notice three things:
- 1st. no giant tree at the end
- 2nd. Much faster
- 3rd. Package lock.
[28:14] If it’s locked, how do you update it?
- Run npm installer and then npm update
- Used to be scary, but works well now.
- Updates to latest semver, matches semver to package json to all node modules.
- Updates package lock at the same time
- Summary in Git shows what’s changed.
[28:59] Did Yarn come into play with your decisions with this release?
- The plans have been in play for a long time for this update.
- https://yarnpkg.com/en/ inclusion of similar features and the feedback was an indicator that some of the features were valuable.
[29:53] Other plans to incorporate features similar to yarn?
- Features are already pretty close.
- There are other alternative package managers out there.
- PMPM interesting because when it installs it doesn’t copy all the files. It c
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
JSJ 265 Wade Anderson and Ramya Rao on Visual Studio CodeThis episode is live at the Microsoft Build 2017 with Charles Max Wood and AJ O’Neal. We have Wade Anderson and Ramya Rao from the Visual Studio Code Team at Microsoft. Tune in and learn more about what’s new with Visual Studio Code![00:01:20] – Introduction to Ramya Rao and Wade AndersonRamya Rao and Wade Anderson are in the Visual Studio Code Team at Microsoft.Questions for Wade and Ramya[00:02:00] – Elevator Pitch for Visual Studio CodeOur vision on Visual Studio Code is to take what was best out of the IDE world (Visual Studio, Eclipse, IntelliJ, etc.) and bring what was best from the lightweight editor world (Sublime Text, Notepad++, Atom) and merge those two together. We wanted the lightweight features from text editors and the debugging capabilities of Visual Studio and Eclipse. We did general availability last year. We’ve been stable for a year. Additionally, this is Visual Studio Code for Mac, Windows, or Linux. It’s also built in Electron.[00:03:45] – What are your roles on the team? Do you have particular parts that each of you work on?Wade’s title is a Program Manager. He does more non-developer things but Ramya is an engineer on the team so she gets a lot more coding that Wade does. Everybody has a key area to own but nothing stops them to go into another area. We try to share knowledge between people but we always have that one key owner that you always go to.Ramya is a recent addition to the team. She started out maintaining the Go extension, maintaining and adding features. She’s slowly branching out to the Emmet features of the product.[00:05:30] What is Emmet?Emmet, or Zen Coding, is a must-have tool for you. You can write, say abbreviations and that expands to really huge HTML to update tags, rename tags, etc. That is one of the features of Emmet and Sergey actually wrote the library. We have an in built integration in the product. I [Ramya] am currently working on that.[00:06:28] Does Visual Studio Code make it easy to go to the parts that I need to customize on an HTML?In that case, we have a multi-cursor software in Visual Studio Code, as well. You could place your cursor in different positions, and then, simultaneously edit things.[00:07:42] Is Emmet an extension or does it come with Visual Studio Code?Right now, it’s in Built. If you want to know more about Emmet features, you can to emmet.io. That has all the documentation that you need to learn about Emmet features. In Visual Studio Code right now, we’re looking at making into an extension. We pull it out of the main code and maybe more people can contribute and make it even more better.[00:08:21] – What’s new in Visual Studio Code?One of our main pillars for this year is to improve performance of the product. We’ve grown a larger team so we’re adding a lot more features every month. Last few months has been, “How can we get some stability on the issues coming in while making sure we’re reducing our tech load?” We really keep to those core principles that we started with at the beginning, which was, we want a fast, lightweight editor.We built a few extensions that we call key map extensions. They are just a mapping of key bindings that you learned in Sublime Text. You don’t have to re-learn any key bindings in Visual Studio Code.We also build this Welcome page where you can flip through and see features really briefly. In that Welcome page, one of the key things is an interactive playground where you can play with existing code in different sections. Additionally, as we’ve mentioned, we also put multi-cursor features.Another thing is workbench naming. You can change the theme of Visual Studio Code but it will be restricted to the editor and not the rest of the workbench.[00:13:40] – Do you know how Xterm.js works as it was one of the features that you’ve added in Visual Studio Code?Daniel’s another engineer that’s here with us today. He was the largest contributor to the Xterm.js project. He built the integrated terminal for Visual Studio code so I can’t speak to the internals of how that works.[00:14:12] – Are we going to start seeing Visual Studio Code integrated into web experiences with other Microsoft products?That’s actually where we started. We were Monaco editor where you get this cloud-based editing experience. We’re getting people to use it but we’re only getting people who were already using Microsoft products. When electron came out, we saw an opportunity of, “Hey, can we port this Monaco editor to Electron and we could then, run it on Mac and Linux.”[00:19:45] – What are the performance things that you’ve done?One thing that we did recently was adding an ability to calculate the start time for Visual Studio Code? That’s one of our full steps to get more information from the user-side. How can you get a profile of what things are running? Which part of the process took much time?We also need to identify what are the things people are doing that’s causing the editor slow down. An example is when you open a large file and things get laggy.Another exercise we did was we looked at all of our extension API’s to see which one of those could be a malicious extension.The difference between VS Code and Atom is that, we ask questions like, “Are we using good data structures? Are we managing our memory properly? Are we removing stuff we don’t need anymore?” That just comes down to all those little things you learn from basic textbooks that have been around for decades about how to write good code. That’s what we have been doing and that’s what we’ll continue to try to do, to try and improve the performance.[00:25:55] – Do you have problem on the desktop? Are all the modules just load at once?We definitely don’t load everything at once. Different parts of the editor is loaded differently. When you do the Require, we don’t do it at first load. We do it when we notice that the user wants to use Emmet. We don’t try to load all the library at the beginning and delay the whole process.We try to lazy load as much as possible, even the extensions. We have a separate process called extension host that takes care of loading all the extensions. Whether the extensions are completed loading or not, that does not stop you from typing in a file. Simple actions shouldn’t be bugged down by fancy actions.[00:28:25] – What’s coming next for Visual Studio Code?Every month, when we plan our iteration, we create iteration draft plan. We put it out there for people to see. Performance and helping people get started are probably the top two for us. You can look at github.com/Microsoft/vscode, look for the label ‘iteration plan draft.’ So that’s the current work that we’re doing that month.Another feature is the multi-root workspace where you can open multiple folders. When you look at the issues and sort by most comments, multi-root is the number one. The second one that is little paper cuts around formatting and auto-intending – just things that make your code prettier.PicksAJ O’neal
This episode features Moving from Node.js to .NET and Raygun.io with John-Daniel Trask. John-Daniel is the Co-founder and CEO of Raygun, a software intelligence platform for web and mobile. He's been programming for many years, and is originally from New Zealand. Tune in and learn what prompted them to move to the .NET framework!Special Guest: John-Daniel Trask.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Join AJ, Aimee, and Joe as they discuss Mozilla Firefox Developer Tools with Jason Laster. Jason just started working at Mozilla since March. But even before that, he has been working on Chrome's dev tool extension called Marionette. That's when he discovered that the browser is an open source that anyone can play with. Now, he is working on a new debugger in Firefox. Tune in!Special Guest: Jason Laster.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
On today's episode, Charles, Aimee, and Cory discuss HTTP 2 with Surma. Alongside being part of the Chrome DevRel Team for Google, Surma works on different web app performance. He is also engaged in HTTP 2, interaction, UX, and spec work. Stay tuned to discover what HTTP 2 can do for you!Special Guest: Surma.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
On today's episode, Charles, Joe, and Cory discuss Practical JavaScript with Gordon Zhu. Gordon is the founder of Watch and Code, and teaches the Practical JavaScript online course. His mission is to help beginners become developers through tutorials. Tune in!Special Guest: Gordon Zhu.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
On today's JavaScript Jabber Show, Charles, Joe, Aimee, Cory, and AJ discuss Clean Code JavaScript with Ryan McDermott. Ryan is a UX Engineer at Google and has been a professional developer for 5 years. He's focused on frontend Angular and backend node.js. Stay tuned to learn more about his current project with JavaScript!Special Guest: Ryan McDermott.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
On today's JavaScript Jabber Show, Charles and Aimee discuss Development in a Public Institution with Shawn Clabough. Shawn is a developer and developer manager at Washington State University. He works with the research office, and has been in the industry for 20 years. Tune in to this exciting episode!Special Guest: Shawn Clabough.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
On today's JavaScript Jabber Show, Charles, Aimee, and AJ discuss Graphcool with Johannes Schickling. Johannes is based in Berlin, Germany and is the founder of Graphcool, Inc. He also founded Optonaut, an Instagram for VR, which he sold about a year ago. Tune in to learn more about GraphQL and see what's in store for you!Special Guest: Johannes Schickling.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
On today's JavaScript Jabber Show, Charles, Aimee, Joe, and Cory discuss Wordpress and Wordpress API for JavaScript Developers with Roy Sivan. Roy is a WordPress (WP) developer at Disney Interactive. He has long been a fan of JavaScript and WP. During a WordCamp, the WP Founder announced the need for WP developers to learn JavaScript. But, what's in WP that developers should be interested about? Tune in to learn!Special Guest: Roy Sivan.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
On today's JavaScript Jabber Show, Charles Max Wood, AJ O'neal, Aimee Knight, Joe Eames, and Cory House discuss Docker for Developers with Derick Bailey. Derick is currently into Docker and has been doing a series on it at WatchMeCode. He is also writing an ebook titled Docker Recipes for Node.js Development which aims to provide solutions for things that concern Node.js. Stay tuned to learn more about Docker and the ebook which Derick is working on!Special Guest: Derick Bailey.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
On today's JavaScript Jabber Show, Aimee Knight and Charles Max Wood discuss Contributor Days with Tracy Lee. Tracy is a Google Developer Expert and a co-founder of This Dot Media and This Dot Labs. She's passionately into helping startups create a connection with investors. Part of what she's been up to lately is what this episode is about. Tune in to learn about it!Special Guest: Tracy Lee.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
On today's episode, Aimee Knight, AJ O'Neal, Cory House, Joe Eames, and Charles Max Wood discuss Azure with Jonathan Carter. Jonathan has been working at Microsoft for 10 years. He currently focuses on Node.js and Azure. Tune in to learn how you can use Azure in building applications and services.Special Guest: Jonathan Carter.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
On today's JavaScript Jabber Show, Aimee Knight, Cory House, and Charles Max Wood discuss Gomix with Daniel X Moore. Daniel is a Software Developer at Fog Creek Software, and has been in the industry for 10 years. Their company currently offers an amazingly convenient way to build apps. Tune in to learn about it!Special Guest: Daniel X Moore.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Javascript Jabber is hosted this week by Joe Eames, Aimee Knight, AJ O'Neal, Cory House, Charles Max Wood and their special guest Bowden Kelly. Bowden is a program manager at Microsoft and he shares some insight into the new features in Visual Studio 2017 RTM with Bowden Kelly. Special Guest: Bowden Kelly.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
JavaScript Jabber turns 5! On today's episode, Charles Max Wood, AJ ONeil, and Aimee Knight travel down memory lane to reminisce the highlights of the show. Tune in and enjoy the celebration!
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
On today's episode, Charles Max Wood and Aimee Knight discuss InfoSec for Web Developers with Kim Carter. Kim is a senior software engineer/architect, an information security professional, and the founder of binarymist.io. He is currently working on his book called Holistic InfoSec for Web Developers. Tune in to learn more on what his book is all about.Special Guest: Kim Carter.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
On today's episode, Charles Max Wood, Joe Eames, and Aimee Knight discuss Loading and Optimizing Web Applications with Sam Saccone and Jeff Cross. Tune in to their interesting talk, and learn how you can improve user experience and performance with better loading!Special Guests: Jeff Cross and Sam Saccone.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
On today's episode, Charles Max Wood, Joe Eames, and Tracy Lee discuss Reactive Programming and RxJS with Ben Lesh. Ben works at Netflix and also has a side job for Rx Workshop with Tracy. He is the lead author of RxJS 5. Tune in to learn more about RxJS!Special Guest: Ben Lesh.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
On today's episode, Charles Max Wood, AJ O'neal, Joe Eames, and Aimee Knight discuss Building a Development Environment with Cory House. Pluralsight recently added a course on this. Tune in to know more!Special Guest: Cory House.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
On today's episode, Charles Max Wood and Aimee Knight discuss GraphQL and Apollo with Uri Goldshtein. Uri is a core developer at Meteor Development Group, and is an expert with GraphQL and Apollo.Special Guest: Uri Goldshtein.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
On today's episode, Aimee and Chuck welcome Maximillian "Max" Stoiber to the show. Max hails from Austria and is an expert in open source development at Think Mill. Tune in to JSJ 245 Styled Components and React-Boilerplate with Max Stoiber.Special Guest: Max Stoiber.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
1:05 - Introducing Sam Guckenheimer
2:45 - Continuous integration with Visual Studio4:15 - Visual Studio on Macs5:55 - Is Visual Studio just for C#?8:45 - Container support and the Cloud14:20 - Docker and Visual Studio17:40 - Communicating with multiple services24:15 - Talking to clients about change and working with transformation33:00 - Telemetry and collecting data37:50 - Xamarin forms 47:50 - Deployment with changed endpointsPicks: Daplie Wefunder (AJ) Unroll.Me (Charles) Focused Inbox on Outlook (Sam) WhiteSource (Sam) The Girl On The Train (Sam) The Pigeon Tunnel by John le Carre (Sam)Special Guest: Sam Guckenheimer.1:05 - Introducing Lee Byron
1:55 - Immutable.js 4:35 - Modifying data and operations using Immutable.js7:40 - Explaining Big-O notation in layman’s terms11:30 - Internal tree structures and arrays15:50 - Why build with Immutable.js?23:05 - Change detection with a mutable25:00 - Computer science history34:35 - Other positives to using mutables37:50 - Flux and Redux39:50 - When should you use a mutable?46:10 - Using Immutable.js instead of the built-in Javascript option51:50 - Learning curves and learning materials54:50 - BowtiesPicks:Contractor by Andrew Ball17 Hats (Charles) Asana (Charles) Call of Duty Infinite Warfare (Joe) LEGO Star Wars (Joe) Advent of Code (Lee) Special Guest: Lee Byron.1:15 - Introducing Maria Naggaga
2:32 - .NET new developers3:55 - NYC Microsoft bootcamp6:25 - Building a community of .NET programmers7:25 - Why would a Javascript developer care about .NET?9:30 - Getting started with .NET15:50 - The power of asking questions22:45 - Recruiting new programmers to the industry37:00 - Javascript and C#48:30 - Running .NET on Raspberry PiPicks: Super Cartography Bros album by OverClocked ReMix (AJ) Daplie (AJ) Daplie Wefunder (AJ) The Eventual Millionaire (Charles) Devchat Conferences (Charles) 15- Minute Calls (Charles) Codeland Conference (Maria) March by Congressman John Lewis (Maria) Microsoft Virtual Academy (Maria)Special Guest: Maria Naggaga.0:55 - Dan Fernandez and his work
7:50 - Walkthrough of the doc experience15:00 - Editable nature of the doc21:00 - Test driving a language26:30 - Catering to the user32:30 - Open Source34:40 - User feedback37:30 - Filters and Tables of Content40:45 - Form submissions41:50 - Community contributorsPicks: Ghostbusters (AJ) Daplie (AJ) Daplie Wefunder (AJ) .NET Rocks (Charles) ScheduleOnce (Charles) Devchat.tv 2017 Conferences (Charles) Disable HTML5 Autoplay (Dan) Visual Studio Code (Dan) JSJ episode Visual Studio Code with Chris Diaz and Eric Gamma (Charles)Special Guest: Dan Fernandez.Previous Episodes with Visual Studio Code’s Team:JSJ Episode 199, Visual Studio Code with Chris Dias and Erich GammaJSJ Episode 221, Visual Studio Code with Wade Anderson1:45 - What’s new at Visual Studio Code
3:42 - Confusion with Javascript versus separate languages7:15 - Choosing your tools carefully8:20 - Integrated shell and docker extensions12:05 - Agar.io Extensions and extension packs16:15- Deciding what goes into Visual Studio Code and what becomes an extension18:20 - Using Github Issues and resolving user complaints22:08 - Why do people stray away from VS proper?23:10 - Microsoft and VS legacy27:00 - Man hours and project development31:30 - The Visual Studio default experience37:10 - What are people writing with VS Code?39:20 - Community versus developer views of VS Code41:40 - Using Electron44:00 - Updating the system44:50 - How is Visual Code written?48:00 - The future of Visual Code StudiosPicks: Don McMillan (AJ) Daplie Wefunder (AJ) Daplie (AJ)Facebook feed blocker plug-in (Charles) Tab Wrangler (Charles) Smart Things (Chris)Wood Pizza Ovens (Chis)PJ Mark, Chris’ friend and marketer (Chris)Special Guest: Chris Dias.00:55 - Introducing Jerome Hardaway
02:10 - Spouses and dependants of Vets Who Code06:55 - Accepting and rejecting applicants10:10 - The GI Bill15:45 - Military language and coding18:20 - PTSD, trauma, and coding21:10 - Moving past the veteran stigma25:45 - Military backgrounds as an asset for jobs30:45 - The future of Vets Who Code32:35 - How much does it cost to be part of the program?36:15 - Is it easier or harder for Vets to get hired?39:15 - Stories and memories42:30 - Contributing to Vets Who CodeTOPICS:03:08 The level of difficulty in determining code creators on the Internet04:28 How to determine if code has been copied10:00 What defines a trade secret12:11 The pending Oracle v Google lawsuit25:29 Nintendo v Atari27:38 The pros and cons of a patent29:59 Terrible patents33:48 Fighting patent infringement and dealing with “patent trolls”39:00 How a company tried to steal Bob Zeidman’s software44:13 How to know if you can use open source codes49:15 Using detective work to determine who copied whom52:55 Extreme examples of unethical behavior56:03 The state of patent lawsPICKS: Cognitive Bias Cheat Sheet Blog Post Bagels by P28 Foods Let’s Encrypt Indigogo Generosity Campaign Super Cartography Bros AlbumMicroConf 2017MindMup Mind Mapping Tool Words with Friends Game Upcoming Conferences via Devchat.tv Good Intentions Book by Bob Zeidman Horror Flick Book by Bob ZeidmanSilicon Valley NapkinsSpecial Guest: Bob Zeidman.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
TOPICS:3:57 The exciting facets of CLI’s8:25 Advantages of CLI projects11:25 Coding in RAILS14:18 Disagreeing with conventions encoded in a CLI19:30 How REACT CLI functions20:43 Is Ember cheating by using REACT CLI?26:52 Which CLI is easiest to use29:00 How to add commands to a CLI34:00 The future of current CLI’s35:30 How well CLI’s are working for their respective communities37:00 The impact of WebPacPICKS: “How Break Points are Set” Hacker News ArticleChocolate Mint TeaTen Things Wise Parents Know Book Strong Fathers, Strong Daughters Book Boys Should Be Boys Book “How Half of America Lost its Effing Mind” Blog Post Elementary TV ShowRecommendation Form for Topics and GuestsAmazon SmileAngular CruiseSweet Licorice Mint Tea by Choice Organic TeasVan’s Nintendo SneakersRESOURCES AND CONTACT INFO:Tracy's E-mailSpecial Guest: Tracy Lee.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
TOPICS:4:00 Things that make web development more difficult7:40 The developer experience with Angular10:40 How cognitive cost affects the user experience16:52 The variety of users for whom Mads’ software is built22:14 Creating accessible javascript tools that aren’t immediately outdated28:20 Why people shouldn’t be using dependency installers34:00 Node updatesQUOTES:“The massive introduction of new tools all the time is a big part of what makes web development harder.” -Mads Kristensen“I’m not a pretty pixels person, I’m a code and algorithms person.” -AJ O’Neill“I’m not hearing hype about people using HTTP2 to get those benefits, I’m only hearing hype around tools that Static built.” -AJ O’NeillPICKS: Death Note Anime ShowJS Remote ConferenceThe Alloy of Law Book by Brandon SandersonZig Zigler Books on AudibleMr. Robot TV ShowRESOURCES & CONTACT INFO:Mads on TwitterMads’ Website Special Guest: Mads Kristensen.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
00:50 Intro to guests Donovan Brown and Jordan Matthiesen1:14 Javascript and Devops3:49 Node JS and integrating with extensions11:16 Learning Javascript coming from another language15:21 Visual Studio Team Services at Microsoft, integration and unit testing
25:10 Visual Studio Code and mobile development1:00 Intro to guests Brian Douglas and Matt Christensen2:20 Definition of JAMStack8:12 JAMStack and confusion over nomenclature12:56 JAMStack and security, reliability and performance17:05 Example of traffic spike for company Sphero18:26 Meaning of hyperdynamic20:35 Future and limits of JAMStack technology26:01 Controlling data and APIs versus using third parties28:10 Netlify.com and JAMStack31:16 APIs, JavaScript framework and libraries recommended to start building on JAMStack35:13 Resources and examples of JAMStack: netlify.com, Netlify blog, JAMStack radio, JAMStack SF Meetup QUOTES:“I think in the next couple of years we’re going to see the limits being pushed a lot for what you can do with this.” - Matt“Today we’re starting to see really interesting, really large projects getting built with this approach.” - Matt“If you can farm 100% of your backend off to third parties, I feel like that really limits a lot of the interesting things you can do as a developer.” - BrianPICKS: Early History of Smalltalk (Jamison) React Rally 2016 videos (Jamison) FiveStack.computer (Jamison) Falsehoods programmers believe about time (Aimee) Nodevember conference (Aimee) 48 Days Podcast (Charles) Fall of Hades by Richard Paul Evans (Charles) Jon Benjamin Jazz (Brian) RailsConf 2016 (Brian) React Native (Brian) Book of Ye Podcast (Brian) Aurora by Kim Stanley Robinson (Matt)Sequoia Capital websiteSphero websiteIsomorphic rendering on the Jam Stack by Phil HawksworthSPONSORS:Front End MastersHired.comSpecial Guests: Brian Douglas and Matt Christensen.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
02:50 The definition of a plug-in03:31 The definition of an extension05:09 The way to determine the plug-ins and extensions you are running08:22 How to create an extension file11:02 The appeal of creating extensions13:26 How John got into creating extensions15:48 Ways to organize extensions19:38 Aspects of chrome that will affect extensions23:23 Packaging for the Chrome store26:22 Using dev tools29:42 Conflicting plug-ins/extensions and how to deal with them31:30 Open source extensions32:32 A quick way to create an extensionQUOTES:“I teach software developers how to be cool.” –John Sonmez“There wasn’t an ability to extend the dev tools, but now there is.” –John Sonmez“One quick way to create an extension is just to take one of these sample apps…and then just start modifying it…” –John SonmezPICKS: “Django Unchained” Website “Using Angular 2 Patterns in Angular 1.x” Apps Egghead Course Girls’ Life vs. Boys’ Life on Refinery29 Webinar Jam Software “Five Mistakes That are Keeping You From Getting Hired” Webinar Screencastify Chrome Extension How to Fail at Almost Everything and Still Win Big Book on Amazon The Complete Software Developers Career Guide Book in Progress Simple Programmer Website Simple Programmer on YoutubeSpecial Guest: John Sonmez.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
03:45 What makes the Gun database engine special07:00 Defining a database12:58 The CAP Theorem22:56 What Graphs are and how they function (circular references)30:32 Gun and rotational disk systems32:08 Gun’s optimizations for performance in ensuing versions39:55 The prevalence of open source companies42:45 Further discussing the CAP Theorem and its nuances50:33 Gun’s purpose and design52:13 What a Firebase is54:22 How to get started with Gun - Visit Gun Tutorial, Gun's Github Page, andGun Node ModuleQUOTES:“I think the database should bend to your application’s demands, rather than you having to bend to the database’s demands.” –Mark Nadal“…The protocol that GUN defines is something that can be implemented in any language. Because GUN is in the language, you don’t have the context which latency of having to make an HTTP call or socket request…” –AJ O’Neill“Let’s demystify the black magic of CAP.” –Mark NadalPICKS:Dan North’s Deliberate Learning Video8Tracks Internet RadioPokemon Indigo League on NetflixDaplie Personal CloudYoung Frankenstein Movie Mystic Vale Card GameJS Remote ConferenceReact Remote ConferenceFarm Heroes Super Saga Game AppSpecial Guest: Mark Nadal.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
3:23 Discussing the purpose and aim of Codewars7:30 The process for building a program with Codewars11:07 The UI and editor experience12:55 The challenges faced when first building Codewars14:23 Explaining PJAX16:54 Building code on Codewars21:24 The expanded use of KATA on Codewars23:11 Practicing “solving problems” and how it translates to real world situations34:00 How Codewars proves out the persistence of coders36:41 How Codewars appeals to collaborative workers44:40 Teachable moments on Codewars49:40 Always check to see if Codewars is hiring. Codewars uses Qualified.io, which helps automate the hiring process.PICKS: Marrow Sci-fi book Uprooted Fantasy book “Write Less Code” blog post “The Rands Test” blog post Five Stack software development studio “Stranger Things” on Netflix Angular 2 Class in Ft. Lauderdale, Discount Code: JSJ Lean Analytics book Code book Datasmart book Letting Go bookSpecial Guests: Dan Nolan, Jake Hoffner, and Nathan Doctor.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
00:51 Jameson is looking for clients who need front and back end code for apps; @Jergason (Contact him via Direct Message)04:40 An explanation of Capital One and its operations6:06 How many Capital One developers are using Node and how it is being implemented10:30 Process of approval for app/website development14:15 How the culture at Capital One affects technology within the company18:25 Using Javascript libraries to manage different currencies19:40 Venmo and its influence on banking22:32 Whether banks are prepared to operate in a cashless society29:44 Using HTML and Javascript for updating projects or creating new ones35:21 Who picks up Javascript easily and why: “It’s more about grit than raw intelligence.”44:00 Upgrading via open source codes45:40 The process for hiring developers51:35 Typescript vs. non-typescriptPICKS:“Nerve” MovieBrave Browser“Stranger Things” on Netflix Angular 2 Class in Ft. Lauderdale, Discount Code: JSJ “Strategy for Healthier Dev” blog postHealth-Ade Beet Kombucha“The Adventure Zone” podcastOn the Cruelty of Really Teaching Computer Science article by E.W. Dijkstra“The Freelancer Show” podcast“48 Days” podcastNode.universityAzat Mardan’s WebsiteAzat Mardan on TwitterCETUSA – Foreign exchange programSpecial Guest: Azat Mardan.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
1:13 No Red Ink is hiring; Richard’s book-in-progress 2:10 Frontend Masters Workshop 2:55 Elm’s primary function5:10 Using Elm over using Haskell, React, Javascript, etc.9:15 Increased usability of Elm with each update 13:45 Striking differences between Elm and Javascript16:08 Community reactions to Elm20:21 First Elm conference in September22:11 The approach for structuring an Elm app23:45 Realistic time frame for building an app from scratch32:20 Writing pure functions and immutable data; how Elm uses Side-Effects38:20 Scaling a big FP application44:15 What Javascript developers can take away from using Elm48:00 Richard on Twitter PICKS“In a World…” MovieBuilding a Live-Validated Signup Form in ElmApple Cider VinegarCETUSA – Foreign exchange programSpecial Guest: Richard Feldman.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Code-sharing between mobile and web apps with React NativeUsing native code and JavascriptWhat to know about developing with React NativeThe importance of toolingLive and hot-reloadingUpdating your app on the flyPossible difficulties faced by transitioning to React NativeBridging between native API’s and React NativeWriting apps in Swift or React NativeThe future of React NativeHow to start a React Native project Resources:Frontend MastersHired.comRollbarMicrosoft Code PushReact Native Radio Episode 8Tadeu Zagallo’s WebsiteSpecial Guests: Mike Grabowski and Nader Dabit.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
03:08 - Benjamin Dunphy Introduction
04:07 - Berkeley Martinez Introduction04:19 - Ian Sinnott Introduction05:19 - The React Codebase12:38 - Other Important Parts of the React Ecosystem14:22 - The Angular vs the React Ecosystem and Community03:08 - John A. De Goes Introduction
04:07 - PureScriptJavaScript Jabber Episode #189: PureScript with John A. De Goes and Phil Freeman04:58 - “Purely Functional” 09:18 - Weaknesses With Functional Programming14:36 - Organizing a FP Codebase17:54 - Beginners and Functional Programming; Getting Started02:35 - Keith Horwood Introduction
02:50 - Nodal | nodal05:41 - Frameworks07:56 - Async Flow; Callback Execution10:29 - Nodal Use Cases13:11 - GraphQL 15:07 - PostgreSQL 17:56 - Developer Evolution24:05 - Scheduled Tasks and Migrations28:57 - ORM Flexibility33:14 - API Payloads35:24 - The ORM40:37 - Testing43:10 - 1.0?45:18 - Getting Started PicksThis episode was recorded live from The Microsoft Build Conference 2016. In this episode we chatted with Wade Anderson of Microsoft about Visual Studio Code. You can follow him on Twitter, or check out what he’s done over on GitHub. Picks
02:25 - Kyle Simpson Introduction
04:43 - Development => Teaching16:20 - Inheritance and Delegation29:40 - Evolving a Language36:23 - Cohersion50:37 - PerformanceCheck out Newbie Remote Conf! 02:44 - What it Takes to Learn JavaScript in 201604:03 - Resources: Then vs Now09:42 - Are there prerequisites? Should you have experience?20:34 - Choosing What to Learn
28:19 - Deciding What to Learn Next31:19 - Keeping Up: Obligations As a Developer34:22 - Deciding What to Learn Next (Cont’d)42:01 - RecommendationsCheck out Newbie Remote Conf! 02:38 - Yehuda Katz Introduction
Check out Newbie Remote Conf and get your tickets! 02:24 - Guillermo Rauch Introduction
03:07 - Now: Realtime Node.js Deployments 04:28 - Key Concepts10:22 - Deployment Process14:55 - Getting Started Experience17:22 - Technology vs Design20:36 - Running Now vs npm-install 27:17 - Simplicity; SSH and Metrics35:33 - Debugging and Performance37:34 - Security41:44 - What’s Next? PicksThis episode was recorded live from The Microsoft Build Conference 2016. In this episode we chatted with Rob Wormald of the Angular Core team at Google about Angular. You can follow him on Twitter, or check out what he’s done over on GitHub. Picks
This episode was recorded live from The Microsoft Build Conference 2016. In this episode we chatted with Gaurav Seth of Microsoft about ChakraCore. You can follow him on Twitter, or check out what he’s done over on GitHub. Picks
Check out Newbie Remote Conf! 02:11 - Heiko Behrens Introduction
02:42 - François Baldassari Introduction03:04 - JavaScript and Pebble06:40 - Watch vs Phone09:32 - Memory Constraints and Code Size Limitations26:24 - Advantages of Writing in JavaScript32:09 - Capabilities of the Watch37:08 - Running Web Servers39:29 - Resources41:58 - Voice Capabilities43:06 - UI For the Round Face vs Square Face46:18 - Future Pebble Milestones PicksCheck out Newbie Remote Conf! July 13-15, 2016 02:16 - Greg Baugues Introduction
02:41 - Developer Evangelism04:23 - Evangelism at Twilio07:05 - “Evangelism” 10:56 - Getting the Word Out13:28 - Keeping Up-to-Date18:28 - Skills to Have as an Evangelist02:34 - Michael Glukhovsky Introduction
02:35 - horizon-js 04:52 - Versus Open Source Firebase 06:15 - The Security Model07:56 - The Admin Interface09:16 - RethinkDB + Horizon10:56 - Versus Meteor 13:35 - Message Format14:26 - Getting Started19:01 - Real-time21:24 - Security26:56 - The Grand Vision; Use Cases32:17 - Managing Deployment with Redundancy Picks02:22 - Michael North Introduction
04:10 - Ember vs React or Angular07:13 - Convention Over Configuration09:39 - Changes in EmberThis episode was recorded live from The Microsoft Build Conference 2016. In this episode we chatted with Anders Hejlsberg of Microsoft about Typescript. You can follow him on Twitter, or check out what he’s done over on GitHub Resources
PicksWriting Code (Anders) Special Guest: Anders Hejlsberg.This episode was recorded live from The Microsoft Build Conference 2016. In this episode we chatted with Jeremy Thake of Microsoft about MS Office. You can follow him on Twitter, see what he’s done over on GitHub, or visit his blog.Resources:Office Dev CenterPicks Billions (Jeremy)Special Guest: Jeremy Thake.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
02:51 - Marcus Blankenship Introduction
03:09 - Panelist Worst Boss Experiences13:06 - Developer Anarchy vs Having a Hierarchy20:57 - Transitioning Managers26:05 - Manager Influence28:33 - Management vs Leadership34:37 - Interpersonal Relationships and Happiness38:24 - What kind of feedback do managers want from their employees?02:30 - Ben Briggs
03:03 - PostCSS07:16 - What problems was PostCSS designed to solve for developers?09:46 - Using PostCSS vs Sass14:02 - Using Future Features16:28 - Tool Fatigue23:39 - When should people start thinking about using PostCSS?31:24 - Postprocessing33:43 - Shipping Apps with Emojis?36:21 - Where does PostCSS end and where does css-modules begin?Picks Chet Corcos: Functional Programming for JavaScript People (Aimee)02:28 - Eric Schoffstall Introduction
02:59 - shasta07:20 - Getting Started08:20 - Solidifying on Best Practices10:37 - Made to Work Together vs Made to be Neatly Modular11:19 - shasta and redux 12:01 - shasta Ideals15:07 - Making Choices17:35 - redux-thunk, redux-saga 19:01 - Lessons Learned from gulp.js03:10 - Quincy Larson Introduction
03:20 - Free Code Camp04:47 - Quincy’s Background06:43 - Curriculum and Non-Profit Projects09:47 - Keeping the Curriculum Updated10:30 - Enrollment; Starting & Finishing12:20 - Resources for Learning15:39 - Funding16:06 - Working Through a Self-Paced System vs Structure17:17 - Nonprofits19:51 - Learning to Work on Non-Greenfield Code21:47 - Getting Hired After the Program23:21 - Marketing and Media26:07 - Sustaining Living While Running This Program27:31 - The Future of Free Code Camp28:34 - Long-term Sustainability29:44 - Hypothetical Monetization and Contribution33:51 - Coding as a form of art or function?36:55 - Partnerships37:53 - Making Free Code Camp More Effective39:18 - Criticism? 40:29 - Curriculum Development and Evolution43:02 - Is Free Code Camp for everybody?Check out React Remote Conf! 02:31 - Rob Eisenberg Introduction
02:55 - Aurelia03:43 - Selling People on Aurelia vs Other Frameworks11:09 - Using Aurelia Without Directly Engaging with the APICheck out and get your tickets for React Remote Conf! May 11th-13th, 2016. 02:30 - Justin Meyer Introduction
03:02 - DoneJS and CanJS05:44 - Versus Meteor 07:41 - Versus React02:32 - Troy Hunt Introduction
04:12 - Why should people care about security?06:19 - When People/Businesses Get Hacked09:47 - “Hacking”11:42 - Inventive “Hacks”13:24 - Motivation for Hacking/Can hacking be valuable?17:08 - Consequences and Retribution19:10 - How to Build Secure Applications20:47 - Weighing in UX22:50 - Common Misconceptions02:52 - What’s up Merrick Christensen?
03:43 - Favorite EpisodesCheck out allremoteconfs.com to get in on all the conference action this year -- from the comfort of your own home! 02:13 - Chris Dias Introduction
02:21 - Erich Gamma Introduction02:31 - Visual Studio Code03:49 - Built on Electron04:25 - Why another tool?02:36 - Big Changes in the JavaScript Community in 2015
02:03 - Kassandra Perch Introduction
02:46 - Auth0 04:10 - Centralized Auth Services: Handing Out User Data to Third Parties05:32 - Security, Storage, and Compliance08:48 - Managing Session Data09:35 - Cookies vs JSON Web Tokens (JWTs)Check out Freelance Remote Conf and React Remote Conf! 02:31 - Jochen Krause Introduction
03:21 - Ian Bull Introduction04:01 - Tabris.js04:48 - Tabris vs React, Cordova, and React Native02:17 - Rich Harris Introduction
02:34 - Oskar Segersvärd Introduction02:50 - rollup.js04:47 - Caveats and Fundamental Differences Between CommonJS and AMD Modules and ES6 Modules11:26 - Where rollup.js Fits in the Ecosystem17:40 - Input Modules18:35 - Why Focus on Bundling Tools vs HTTP/2 20:13 - Tree-shaking versus dead code elimination 25:53 - ES6/ES2016 Support27:36 - Other Important Optimizations32:11 - Small modules: it’s not quite that simple41:54 - jsnext:main – should we use it, and what for? Picks Better Off Ted (Joe)Get your JS Remote Conf tickets!
Freelance’ Remote Conf’s schedule is shaping up! Head over here to check it out! 02:17 - Jessica Lord Introduction
Get your JS Remote Conf tickets! 02:10 - Peter Hoddie Introduction
02:36 - Kinoma 03:28 - Embedded Development in C; Approachability05:24 - IoT = Internet of Things; Embedded Devices and Systems08:59 - Mesh Networking 10:41 - IoT and JavaScript20:08 - Getting Started & Electrical Engineering22:42 - Testing 24:56 - Security31:07 - Bootstrap 34:16 - Community Resistance35:56 - Where is IoT heading as far as applications go?Check out JS Remote Conf! 02:26 - Craig McKeachie Introduction
02:54 - Stripe08:22 - Behind the Scenes: The Stripe API11:51 - Security15:23 - What happens when things go wrong?23:18 - Server-side Libraries25:34 - Building Custom Forms29:06 - Stripe + Promises 32:43 - Handling Payments on Behalf of your Customers34:40 - Stripe Integration37:39 - The Stripe DashboardPicks Star Wars (Joe)There’s still time! Check out and get your JS Remote Conf tickets! JavaScript Jabber Episode #184: Web Performance with Nik Molnar (Part 1) 02:04 - Nik Molnar Introduction
02:58 - RAIL (Response, Animation, Idle, Load)06:03 - How do you know what is being kicked off? How do you avoid it?08:15 - Frame Rates16:05 - Scrolling19:09 - The Web Animation API 21:40 - Animation Accessibility, Usability, and Speed27:14 - HTTP and Optimization02:54 - John A. De Goes Introduction
06:34 - Phil Freeman Introduction07:38 - What is PureScript?09:11 - Features12:24 - Overcoming the Vocabulary Problem in Functional ProgrammingJS Remote Conf will be held from Thursday, January 14th - Saturday, January 16th! Sign up today! 01:59 - Evan You Introduction
02:34 - Vue.js vs Competitors and Motivators Behind the Framework07:18 - Use Cases10:06 - Overlapping Elements and The Component System11:21 - Pulling in Data12:50 - DOM Manipulation13:38 - Ease of Getting Started15:33 - Directives16:18 - AdoptionCheck out JS Remote Conf! Buy a ticket! Submit a CFP! 03:07 - Burke Holland Introduction
04:01 - TJ Van Toll Introduction04:33 - Telerik04:57 - NativeScript 07:41 - The Views10:07 - Customizability, Styling, and Standardization16:19 - React Native vs NativeScript18:37 - APIs21:17 - How NativeScript Works23:04 - Edgecases?Check out JS Remote Conf! 02:29 - Nolan Lawson Introduction
04:19 - PouchDB (vs CouchDB)05:25 - CouchDB Emulation06:45 - How CouchDB Works08:26 - Syncing and Replication10:43 - PouchDB vs Other Paradigms for Building Client-side Apps and Managing Data13:58 - AP Databases / CP Databases / CA Databases17:25 - Ignoring Merge Conflicts20:08 - Mutability vs ImmutabilitySubmit a talk or buy a ticket! Check out JS Remote Conf! 02:30 - Nik Molnar Introduction
02:50 - What Microsoft’s Cross-Platform and Open Tooling Team Does03:41 - Microsoft and Open Source05:25 - Performance08:15 - Is good, clean architecture at odds with high-performance code?09:41 - Latency and Bandwidth20:23 - Hierarchy of Needs for Users of Software02:19 - Matthew Podwysocki Introduction
04:01 - RxJSSign up for JS Remote Conf! Dan and Andrew's super awesome, helpful document that they made for the show during preparation03:22 - Andrew Clark Introduction
03:39 - Dan Abramov Introduction04:03 - Flux02:14 - 15 Minute Podcast Listener chat with Charles Wood 03:23 - Amy’s Upcoming Talk at Nodevember 04:45 - Junior, Mid-level, and Senior Developers08:00 - Advice for Devs Straight Out of Boot Camp (How Job Hunts Work)14:28 - Looking For the Right Job For YOU
23:22 - Mentorship & Company Culture 27:16 - Nailing the Interview02:25 - Dan Abramov Introduction
02:43 - Dan’s Background and Journey Into Building Stuff with React 05:48 - redux and React 10:07- The Elm Programming Language 12:19 - Reducers14:04 - Hot Reloading 17:50 - “React makes you a better JavaScript developer.”22:10 - Time Travel28:26 - Storing Data and Managing State34:43 - [Patreon] Support Dan Abramov Creating Redux and React Hot Loader 36:24 - react-transform41:34 - Using redux outside React43:52 - Editors and Programmer Productivity45:35 - Future PlansPicks The OAuth2 RFC (Aimee)03:01 - Marc Grabanski Introduction
03:35 - The jQuery UI Datepicker 04:29 - Frontend Masters07:26 - The Live Streaming Phenomenon09:17 - Scalability11:25 - Value, Feedback Cycle14:43 - Structuring Courses and Workshops16:09 - Online vs In-Person02:43 - Oren Rubin Introduction
05:43 - Testing18:18 - Page Object(s)02:20 - Slava Akhmechet Introduction
02:41 - RethinkDB Overview04:24 - How It’s Used05:58 - Joins12:50 - Returning Data13:53 - Getting Data to the Browser02:27 - Evan Czaplicki Introduction
02:32 - Richard Feldman Introduction02:38 - Elm 04:06 - Academic Ideas05:10 - Functional Programming, Functional Reactive Programming & Immutability16:11 - ConstraintsDon’t miss out! Sign up for Angular Remote Conf! 02:28 - Forrest Norvell Introduction
02:37 - Rebecca Turner Introduction03:05 - Why npm 3 Exists and Changes in npm 2 => 3Check out Angular Remote Conf! 02:55 - Gregg Pollack Introduction
05:19 - Code School06:49 - Course Content09:42 - Plots & Storylines11:40 - Code School vs Pluralsight 14:09 - Structuring CoursesCheck out Angular Remote Conf! 02:22 - Jason Rhodes Introduction
03:46 - NodeSchool02:28 - Sebastian McKenzie Introduction
02:53 - Babel (Pronunciation Clarification)05:56 - History09:14 - The State of Babel09:59 - Babel and the TC39 Process11:54 - Features That Can’t Be TranspiledCheck out RailsClips! 02:38 - Derick Bailey Introduction
03:36 - RabbitMQ 05:22 - Synchronous/Asynchronous; Chronological/Non-Chronological 10:33 - Why Do JS Devs Care About RabbitMQ? 12:10 - RabbitMQ and Complexity 14:04 - RabbitMQ’s Model02:20 - Zach Kessin Introduction
03:04 - Jafar Husain Introduction
03:29 - The Great Name Debate (ES6, ES7 = ES2015, ES2016!!)05:35 - The Release Cycle02:27 - Alex Eagle Introduction
02:54 - Jonathan Turner Introduction02:27 - Coding House Scholarship Winners with AJ and Aimee
02:43 - Dave Rupert Introduction
03:42 - Chris Coyier Introduction06:24 - The ShopTalk Show and PodcastingGet your Ruby Remote Conf tickets and check out the @rubyremoteconf Twitter feed for exciting updates about the conference. 02:22 - Spike Brehm Introduction
03:07 - rendr03:32 - Jeff Morrison Introduction
03:46 - Avik Chaudhuri Introduction04:27 - Flow 05:36 - Static Type Checking09:52 - Flow and Unit Testing12:39 - Gradual Typing 15:07 - Type Inference 17:50 - Keeping Up with New Features in JavaScript20:49 - Generators24:46 - Working on Flow28:27 - Flow vs TypeScript02:15 - Jamund Ferguson Introduction
02:47 - Lint (Background)04:48 - Keeping ESLint Up-to-date08:09 - Abstract Syntax Tree (ASTs)13:28 - Using Lint Tools02:52 - David Herman Introduction
02:24 - Robert Damphousse Introduction02:40 - OAuth
07:15 - Stormpath08:38 - Authorization Information Storage11:29 - Stormpath Authentication vs OAuth Authentication14:43 - Caching 15:41 - Building Backends as a Service?18:21 - Security19:12 - Using Cassandra20:27 - Use Cases22:27 - Authentication as a Service 23:40 - 2FA (Two Factor Authentication)?24:07 - REST APIs25:39 - Making Complete Apps26:33 - Security (Cont’d)27:34 - In-Between Layer (Authentication API)28:40 - Browser-Based vs Mobile Application Use29:44 - Angular, React, Flux, 32:02 - React Native?33:05 - Stormpath Life Expectancy35:09 - Customers36:12 - Active Directory, LDAP (Lightweight Directory Access Protocol) 37:05 - Support and PricingPicksPutting the "fun" back in "funeral"! Celebrating the death of old IE browsers on January 12! (Dave)02:54 - Everyone Gets It But Me
04:06 - Tools You “Need” to Know06:29 - Clojures07:39 - JavaScript as “Object-Oriented” vs “Event-Oriented”09:30 - Code That Can’t Be Serialized or Deserialized10:49 - Clojures (Cont’d)14:32 - The DOM (Document Object Model)19:52 - Math Is Hard02:30 - Jeff Escalante Introduction
03:15 - Roots05:20 - Static Sites vs Dynamic Sites02:43 - Amit Kaufman Introduction
03:07 - Avi Marcus Introduction04:35 - Why Move Your Rendering Engine to React?07:25 - Using JavaScript09:57 - Business Process and Progression (Getting Managerial Approval)12:46 - Manipulation15:11 - Layout and PerformanceCheck out ReactRally: A community React conference in Salt Lake City, UT from August 24th-25th!03:36 - John Sonmez Introduction
02:35 - John-Daniel Trask Introduction and Background
04:57 - Raygun.io06:23 - Crash Reporting The Right Way02:26 - Aimee Knight Introduction
02:48 - Figure Skating => Programming02:25 - Nick Shrock Introduction
02:40 - Joe Savona Introduction02:49 - Facebook and Open Source04:10 - GraphQL and Relay Overview02:21 - Tyler McGinnis Introduction
03:23 - Getting Started at DevMountain04:38 - DevMountain Conception05:37 - How Do I Learn How to Code?Check out RailsClips on Kickstarter!! 02:01 - Richard Kennard Introduction
02:04 - Geraint Luff Introduction02:07 - David Luecke Introduction02:57 - Object-relational Mapping (ORM)Check out RailsClips on Kickstarter!! 02:39 - Hongli Lai Introduction
03:08 - Tinco Andringa Introduction03:23 - Phusion Passenger06:13 - Automation08:37 - Parsing HTTP Headers02:24 - Dann Toliver Introduction
02:35 - Matt Asher Introduction02:51 - EveryBit.js and I.CX03:43 - Architecture06:54 - Sustainability and The Pieces of the SystemThe panelists talk to Isaac Schleuter and Mikeal Rogers about io.js.Special Guests: Isaac Schleuter and Mikeal Rogers.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Christopher Chedeau and Jordan Walke about React.js Conf and React Native.Special Guests: Christopher Chedeau and Jordan Walke.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Matt DeBergalis about Meteor.js.Special Guest: Matt DeBergalis.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Sam Saccone about Marionette.js 2.0.Special Guest: Sam Saccone.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Pamela Fox and the rest of the gang talk about teaching programming and Computer Science.Special Guest: Pamela Fox.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panel discusses Share.js with Joseph GentleSpecial Guest: Joseph Gentle.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk about Firefox OS with Jason Weathersby.Special Guest: Jason Weathersby.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Jenn Schiffer about using art to get and keep people interested in programming.Special Guest: Jenn Schiffer.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk about the Mozilla Developer Network with Les Orchard and David Walsh.Special Guests: David Walsh and Les Orchard.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk {Track:js} with Todd Gardner.Special Guest: Todd Gardner.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Henrik Joreteg and Philip Roberts of &yet.Special Guests: Henrik Joreteg and Philip Roberts.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss TrackingJS with Eduardo Lundgren.Special Guest: Eduardo Lundgren.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The Panelists talk to the creator of the Smallest Federated Wiki, Ward Cunningham.Special Guest: Ward Cunningham.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss Quilljs with its' creator, Jason Chen.Special Guest: Jason Chen.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss remote work with Mike Hostetler.Special Guest: Mike Hostetler.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk about MV Frameworks with Craig McKeachie.Special Guest: Craig McKeachie.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Dave Nugent about organizing conferences and Meetups.Special Guest: Dave Nugent.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk about browser tools and extensions.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk backends as a service with Ryan Done.Special Guest: Ryan Done.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk about the famo.us framework with Steve Newcomb.Special Guest: Steve Newcomb.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss changes in the npm package manager with Forrest Norvell, Rebecca Turner, Ben Coe, and Isaac Z. Schlueter.Special Guests: Ben Coe, Forrest Norvell, Isaac Schleuter, and Rebecca Turner.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss the Ionic Framework with Max Lynch and Tyler Renelle.Special Guests: Max Lynch and Tyler Renelle.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss WebGL with Sean Griffin.Special Guest: Sean Griffin.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Brendan Eich, the creator of JavaScript.Special Guest: Brendan Eich.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists chat with Erik Arvidsson about Traceur.Special Guest: Erik Arvidsson.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Guillermo Rauch about Socket.io.Special Guest: Guillermo Rauch.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss Broccoli.js with its creator, Jo Liss.Special Guest: Jo Liss.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Rob Dodson and Eric Bidelman about the Google Polymer project and Google I/O.Special Guests: Eric Bidelman and Rob Dodson .
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk about Chrome apps with Google's Joe Marini.Special Guest: Joe Marini.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk about what skills you need to be considered a professional web developer.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss the Koa Framework with Gerred Dillon and Will Conant.Special Guests: Gerred Dillon and Will Conant.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss jQuery vs KendoUI with Burke Holland and TJ VanToll.Special Guests: Burke Holland and TJ VanToll.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
the panelists discuss the ES6 module loader polyfill, SystemJS, and jspm with Guy Bedford.Special Guest: Guy Bedford.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Elliot Kember about asynchronous UI and non-blocking interactions.Special Guest: Elliott Kember.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Reginald Braithwaite about the dynamics of the JavaScript community.Special Guest: Reginald Braithwaite.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk about refactoring JavaScript Apps Into a Framework with Brandon Hays.Special Guest: Brandon Hays.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Erik Bryn about the Ember.js project.Special Guest: Erik Bryn.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss zone.js with Brian Ford.Special Guest: Brian Ford.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss dependency injection with Vojta Jína & Misko Hevery.Special Guests: Miško Hevery and Vojta Jína.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists have Igor Minar back on the show to discuss AngularJS in detail.Special Guest: Igor Minar.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to David Nolen about ClojureScript and Om.Special Guest: David Nolen.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Julie Ralph about AngularJS's protractor.Special Guest: Julie Ralph.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss JSConf and conference organization with Chris Williams.Special Guest: Chris Williams.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss hypermedia APIs with Steve KlabnikSpecial Guest: Steve Klabnik.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Raquel Vélez about robotics and JavaScript.Special Guest: Raquel Vélez.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Brad Green of Google, about Angular.js and managing open source projects.Special Guest: Brad Green.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Tim Caswell about js-git.Special Guest: Tim Caswell.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists celebrate their 100th episode!
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss npm, Inc. with Isaac Schlueter, Laurie Voss, and Rod Boothby.Special Guests: Isaac Schleuter, Laurie Voss, and Rod Boothby.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists speak with Brian Woodward and Job Schlinkert about Assemble.io.Special Guests: Brian Woodward and Jon Schlinkert.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Eric Schoffstall, the creator of Gulp.js.Special Guest: Eric Schoffstall.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Bart Wood about large single page JavaScript applications.Special Guest: Bart Wood.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Dean Sofer about AngularUI.Special Guest: Dean Sofer.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Tobi Reiss, the creator of BonsaiJS.Special Guest: Tobi Reiss.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss The New York Times and JavaScript with Eitan Konigsburg, Alastair Coote and Reed Emmons.Special Guests: Alastair Coote, Eitan Konigsburg, and Reed Emmons.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss the MEAN stack with Ward Bell and Valeri Karpov.Special Guests: Valeri Karpov and Ward Bell .
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss JSON APIs.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk about how to create and maintain Users Groups.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to The Node Security Project founder and organizer, Adam Baldwin.Special Guest: Adam Baldwin.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Daniel Tao, maintainer of Lazy.js.Special Guest: Daniel Tao.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss TC39 with Alex Russell.Special Guest: Alex Russell.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss Ember.js and Discourse with Robin WardSpecial Guest: Robin Ward.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss Huxley with Pete HuntSpecial Guest: Pete Hunt.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
In this episode, the panelists talk Node with Mikeal Rogers.Special Guest: Mikeal Rogers.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
In this episode, the panelists talk to Matthew Podwysocki about Functional Reactive Programming and RxJS.Special Guest: Matthew Podwysocki.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Anton Kovalyov joins the Jabber gang to talk about JSHint, linting, parsing, lexing and much more.Special Guest: Anton Kovalyov.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Pete Hodgson crosses over from the iPhreaks podcasts to talk with the Jabber gang about testing asynchronous Javascript with promises.Special Guest: Pete Hodgson.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Dominic Szablewski joins the Jabber gang to talk about Impact.js, game development, html5, and strategy.Special Guest: Dominic Szablewski.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The gang talks to Lo-Dash maintainer John-David Dalton about open source software, performant Javascript, Lo-Dash and UnderscoreSpecial Guest: John-David Dalton.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Joe Eames and Charles Max Wood talk about the advantages and challenges of working from home.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelAlex MacCaw (twitter github blog) Joe Eames (twitter github blog) Jamison Dance (twitter github blog) AJ O’Neal (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:13 - Going Rogue Video
02:12 - Alex MacCaw Introduction029 JSJ Bower.js with Alex MacCaw and Jacob Thornton JavaScript Web Applications: jQuery Developers' Guide to Moving State to the Client by Alex MacCaw The Little Book on CoffeeScript: The JavaScript Developer's Guide to Building Better Web Apps by Alex MacCaw
02:44 - MonocleAlternative for Hacker News
03:39 - SpeedAlex MacCaw: Time to first tweet sinatra MVC Framework Synchronicity
10:48 - SEOGoogle Webmaster Tools The Google Webmaster Video on Single-page Apps / SEO Alex MacCaw: SEO in JS Web Apps
14:01 - The Social Aspect of Monocle/Community
17:09 - Caching
17:47 - Google Website Optimizer
18:26 - Responsiveness
21:00 - Client-side & Server-side
25:11 - Testing for PerformancePageSpeed Insights
28:39 - The Design Processsinatra sequel
31:44 - Sourcing.ioSourcing.io Signup
34:15 - InspirationPicksMicroFormat Tool (AJ) Google Markup Helper (AJ) Gmail Markup Schemas (AJ) OUYA (AJ) TowerFall (AJ) Final Fantasy 7 (emulator) Final Fantasy 7 (PC) (AJ) Sunlounger (Joe) Pebble Watch (Joe) ng-conf (Joe) Book Yourself Solid: The Fastest, Easiest, and Most Reliable System for Getting More Clients Than You Can Handle Even if You Hate Marketing and Selling by Michael Port (Chuck) Coder (Alex) List of Ig Nobel Prize winners (Alex)
Next Week
Working From Home
Transcript
ALEX: The rain in Spain falls mainly on the plain.[Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the frontend of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.]CHUCK: Hey everybody and welcome to episode 77 of the JavaScript Jabber show. This week on our panel, we have Joe Eames.JOE: Hey there.CHUCK: Jamison Dance.JAMISON: Hey friends.CHUCK: AJ O’Neal.AJ: It'sa mia, it'sa AJ.CHUCK: I’m Charles Max Wood from DevChat.TV. And before I introduce our guest, I just want to make a quick announcement. Tomorrow as we’re recording this, so when you get this episode it will be last Friday, is my Freedom Day. It’s the day I got laid off from my last full-time job and went freelance. So in honor of that, I’m putting together a video. I’ve called it ‘Going Rogue’. Yes, I know that there’s a political thing around that, whatever. Anyway, I called it ‘Going Rogue’. You can get it at GoingRogueVideo.com.It’s basically the first year of me going freelance. I’ve just talked through how it all went. The mistakes I made, the things I learned, the things I did right, and just gave general advice to anyone who’s looking to go freelance. Or if you’re interested in some of the challenges that come with that, it’s a video that I’m putting together to kind of explain that. Like I said, it’s free. You can get it at GoingRogueVideo.com. Yeah, I’m pretty excited about it. I’m also excited about Freedom Day.Anyway, we also have a special guest today, and that’s Alex MacCaw.ALEX: How do you do? Thank you for having me.CHUCK: You’ve been on the show before, but it’s been almost a year. Do you want to introduce yourself again?ALEX: Well, I’m mostly a JavaScript programmer.Special Guest: Alex MacCaw.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelMarcus Phillips (twitter github) Fred Zirdung (twitter github) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:30 - Marcus Phillips and Fred Zirdung IntroductionHack Reactor
03:31 - Experience with Meteor
05:45 - Intro to MeteorClient-side Environment Tethered Queries minimongo
09:56 - Websockets
11:29 - Deployment Support
14:51 - The Cloud
16:43 - Meteor and Server-side JavaScript EnginesMeteor Devshop 7 - LIVE
19:48 - Meteor and Windows
22:43 - Package Management System
23:49 - Building Meteor Apps
29:04 - Meteor Methods
33:02 - Open-Source Meteor Apps
34:15 - Hack ReactorEducation Training Developers Removing Complexity
Picksng-conf (Joe) Ben Kamens: “Shipping Beats Perfection” Explained (Jamison) Evan Goer: Writing for Developers — Some Rational Techniques (Jamison) BOXEN (Chuck) Book Yourself Solid Illustrated: The Fastest, Easiest, and Most Reliable System for Getting More Clients Than You Can Handle Even if You Hate Marketing and Selling by Michael Port (Chuck) meteor / packages / deps / deps.js (Marcus) Underscoreboard (Marcus) actionHero.js (Fred) Satellite (Fred) Tilden (Fred) rethink-livedata (Marcus)
Next Week
Monacle with Alex MacCaw
Transcript
JAMISON: Speaking of single and [working] 30 hours a week after your job, is Merrick there? [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the frontend of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.]CHUCK: Hey everybody and welcome to episode 76 of the JavaScript Jabber show. This week on our panel, we have Jamison Dance.JAMISON: Hello friends.CHUCK: Joe Eames.JOE: Hey there.CHUCK: I’m Charles Max Wood from DevChat.TV. We’ve also got two special guests and that is Fred Zirdung.FRED: Hello.CHUCK: Did I totally butcher that?FRED: Yeah, you got it right.CHUCK: Okay. And Marcus Phillips.MARCUS: Hi everybody.CHUCK: Since you guys haven't been on the show before, do you want to introduce yourself? We’ll have Marcus go first.MARCUS: Sure. I'm Marcus Phillips. I'm a JavaScript enthusiast. I've been in it for a long time. Really excited about framework architecture and lately, all about teaching what I've learned over the course of time that I've been working in the Bay Area and working on the frontend of Twitter and things like that. Nowadays, I teach at Hack Reactor full time which is an immersive school for learning to become a developer over a period of three months.JAMISON: Cool.CHUCK: And which technologies do you teach at Hack Reactor?MARCUS: We use JavaScript as our teaching language. Fundamentally, what we’re trying to do is teach people software engineering principles. So, JavaScript just turns out to be one of the most useful languages we can use to do that. But from there, we kind of want to give people practical skills that they can use immediately on the job. So, we definitely drive the entire curriculum out of GitHub repos and teach them some practical things like Backbone and Node and deployment strategies. So yeah, we kind of cover the gambit from frontend to backend with a focus on JavaScript in particular.CHUCK: Awesome. That sounds really cool.JOE: Yeah, it does.MARCUS: It’s a lot of fun.CHUCK: Fred,Special Guests: Fred Zirdung and Marcus Phillips.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelNicholas C. Zakas (twitter github blog) Joe Eames (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:24 - Nicholas Zakas IntroductionBox Maintainable JavaScript by Nicholas C. Zakas High Performance JavaScript (Build Faster Web Application Interfaces) by Nicholas C. Zakas Yahoo
02:19 - What Makes Maintainable JavaScript?Code Layout Clever Solutions (“Chicken Blood Solutions”)
04:39 - FormattingThinking, Fast and Slow by Daniel Kahneman Broken Window Theory
07:33 - Architectureaura Nicholas Zakas: The Scalable JavaScript Application Architecture Feature Encapsulation
14:11 - 'High Performance Javascript' and the balance between short-term and long-term knowledge
19:17 - Important conventions for a team to followStyles Mini Design Patterns Readability
26:14 - Tools & TechniquesStyle Guide
28:31 - Breaking the continuous integration build
31:14 - LintingJSLint
32:35 - Developing skills for architecting thingsExperience Personal Trait of Curiosity Component-based and Systems-based software engineers
37:52 - Architecture and MaintainabilityTestability Backbone.js
43:28 - Creating common conventions that will apply across projectsPicksDomo (Joe) Pluralsight (Joe) Game Dev Tycoon (Joe) The Star Wars (Joe) Foundation Actionscript 3.0 Animation: Making Things Move! by Keith Peters (Merrick) ng-conf (Merrick) Kveikur by Sigur Rós (Merrick) makemeasandwich (AJ) Sleep (AJ) Jekyll Themes (Jamison) Growing Object-Oriented Software, Guided by Tests by Steve Freeman (Jamison) A Canticle For Leibowitz by Walter M. Miller Jr. (Jamison) DevChat.tv (Chuck) Thinking, Fast and Slow by Daniel Kahneman (Nicholas) StePhest Colbchella '013 - Time to Dance (Nicholas) Evolution of Music - Pentatonix (Nicholas)
Next Week
Meteor.js with Marcus Phillips and Fred Zirdung
Transcript[Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the frontend of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.]CHUCK: Hey everybody and welcome to episode 75 of the JavaScript Jabber show. This week on our panel, we have Joe Eames.JOE: Hey, everyone.CHUCK: AJ O’Neal.AJ: I can hit unmute. I'm here.CHUCK: Jamison Dance.JAMISON: Hello, friends.CHUCK: Merrick Christensen.MERRICK: Hey, guys.CHUCK: I’m Charles Max Wood from DevChat.TV. This week, we have a special guest, that’s Nicholas Zakas.NICHOLAS: Yup, you got it.CHUCK: So, since you haven’t been on the show before, do you want to introduce yourself?NICHOLAS: Sure. I'm a software engineer that is working for Box currently. I think a lot of people probably know me from the books that I've written, mostly on the topic of JavaScript and the talks that I've given also on that topic. And a lot of that relates back to my work when I was at Yahoo. I was there for about five years and was the lead on the Yahoo homepage redesign. And a lot of what I do is really just try to solve problems in real life and then share what I did with everybody else in whatever way I think is most appropriate - writing or speaking or coming on podcasts.CHUCK: Yes, you're being modest. You have a book,Special Guest: Nicholas C. Zakas.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelBen Alman (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Ryan Florence (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:34 - Ben Alman IntroductionBocoup
02:54 - “Cowboy”Cowboy Coder
06:53 - The Birth of GruntEnder make rake jake
14:34 - Installing Globally & PluginsJSHint grunt-cli lodash async
20:43 - Managing the project and releasing new versions
22:32 - What is Grunt? What does it do?jQuery libsass SASS stylus
26:39 - Processes & Building Featuresnode-task guard grunt-contrib-watch node-prolog
35:29 - The Node Community and reluctance towards Grunt
41:35 - Why the separation of task loading and configuration?
46:18 - Contributions and Contributing to Grunt
55:18 - What Ben would have done differently building GruntEase of Upgrade
PicksWeb Components (Ryan) Eliminate Sarcasm (Ryan) Bee and PuppyCat (Jamison) MONOPRICE (AJ) AJ O'Neal: Moving to GruntJS (AJ) The Best Map Ever Made of America’s Racial Segregation (Chuck) Clean Off Your Desk (Chuck) Polygon (Ben) My Brother, My Brother and Me (Ben) Echofon (Ben) Bocoup (Ben)
Next Week
Maintainable JavaScript with Nicholas Zakas
Transcript
RYAN: We’re potty training my son right now. So, I was up like eight times cleaning poo off of everything.[Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the frontend of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.]CHUCK: Hey everybody and welcome to episode 74 of the JavaScript Jabber Show. This week on our panel, we have AJ O’Neal.AJ: I’m eating beef jerky.CHUCK: Jamison Dance.JAMISON: Hello.CHUCK: We have a special guest. I guess you’re a guest in filling in for Merrick and Joe and that’s Ryan Florence.RYAN: Hey, how’s it going? I don’t know if I can fill two shoes, but I will try.CHUCK: Well, you have two feet, right?RYAN: Okay. Well, that’s four shoes.CHUCK: [Chuckles] I’m Charles Max Wood from DevChat.TV. We also have another special guest and that is Ben Alman.BEN: Yo! What’s up, everyone?CHUCK: So, do you want to introduce your self, Ben, since you haven’t been on the show before?BEN: I’m Ben Alman. Oh, okay.[Laughter]AJ: That’s not conceited.RYAN: That’s really all he needs.BEN: That’s it. The show’s over, roll credits. So yeah, I’m Ben. You can find me online as @cowboy on Twitter or GitHub and I’m at BenAlman.com. And if you Google me, I have finally got enough SEO juice to beat the other Ben Alman who’s the Orthopedic Surgeon for sick children in Canada. So screw you, guy who helps sick kids.[Laughter]BEN: No, it’s cool. It’s cool, right? But for a while, I was like, “Damn this guy.” But I can’t do anything because he helps sick children. So there’s another Benjamin Alman out there doing things for society and me, I just code. So, I work at Bocoup. We’re at Bocoup.com. Our logo is a rooster, Bob the Rooster, and we make a lot of cool web and open web and open source stuff. And so, I do training there. I teach people JavaScript and jQuery. But I also work on open source tools. I spend a lot of my time, actually, behind the scenes in Node writing JavaScript, experimenting, R&D, writing tools, et cetera.CHUCK: Awesome. So,Special Guests: Ben Alman and Ryan Florence.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelPete Hunt (twitter github blog) Jordan Walke (twitter github) Joe Eames (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:34 - Pete Hunt IntroductionInstagram Facebook
02:45 - Jordan Walke Introduction
04:15 - ReactReact - GitHub
06:38 - 60 Frames Per Second
09:34 - Data Binding
12:31 - Performance
17:39 - Diffing Algorithm
19:36 - DOM Manipulation
23:06 - Supporting node.js
24:03 - rendr
26:02 - JSX
30:31 - requestAnimationFrame
34:15 - React and Applications
38:12 - React UsersKhan Academy
39:53 - Making it workPicksBen Mabey: Clojure Plain & Simple (Jamison) JSConf 2013 Videos (Jamison) Kittens (Jamison) PBS Idea Channel (AJ) Free Trial SSL (AJ) OSX Wifi Volume Remote Control (AJ) js-git (Merrick) vim-airline (Merrick) MLS LIVE (Joe) Seraphina by Rachel Hartman (Joe) ng-conf (Joe) Hire Chuck (Chuck) GoToMeeting (Chuck) ScreenFlow (Chuck) syriandeveloper (Pete) jsFiddle (Pete) Hotel Tonight (Pete) Green Flash Brewery Beer: Palate Wrecker (Jordan) All Things Vim (Jordan)
Next Week
Grunt.js with Ben Alman
Transcript
JAMISON: Joe is Merrick’s personal assistant.CHUCK: [Laughter]MERRICK: No, we’re just in this little room and he had, he was like, “Yeah”JOE: Want me to freshen up your coffee, sir?[Chuckles]JAMISON: Feed me some tacos, Joe.[Laughter][Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out atJjetBrains.com/WebStorm.]CHUCK: Hey everybody and welcome to episode 73 of the JavaScript Jabber Show. This week on our panel, we have Joe Eames.JOE: Hey there.CHUCK: AJ O’Neal.AJ: Live again from Provo.CHUCK: Jamison Dance.JAMISON: Hey friends.CHUCK: Merrick Christensen.MERRICK: Hey guys.CHUCK: I’m Charles Max Wood from DevChat.TV and we have two special guests this week. Pete Hunt.PETE: Hey guys.CHUCK: And Jordan Walke.JORDAN: Hi.CHUCK: Since you guys haven’t been on the show before, do you want to introduce yourselves? We’ll have Pete go first.PETE: Sure. So my name’s Pete. I work on general React stuff these days. But my day job is building the Instagram web experience. If you go to Instagram.com, we have a bunch of frontend stuff you can play with and a bunch of backend infrastructure that supports all that. That’s what I mostly work on. We’re big users of React at Instagram so I ended up contributing a lot to the React core as well.JAMISON: So did you come from Instagram or from Facebook and then to work on Instagram?PETE: Well it was actually a pretty good story just in terms of the integration of the two companies. I was originally at Facebook for a couple of years and we acquired Instagram and they came in and they wanted to build a web presence. Facebook’s core competency is definitely web technologies and Instagram hasn’t historically focused on that. So we were able to take the Facebook web expertise and get Instagram up and running really quickly. I came from the Facebook side but the team is still very much a separate team, their own building, that kind of thing. So that’s my background.CHUCK: Awesome.JAMISON: Sweet.CHUCK: And Jordan?Special Guests: Jordan Walke and Pete Hunt.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelJamison Dance (twitter github blog) Joe Eames (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:31 - Screencasting ExperiencePluralsight: AngularJS Fundamentals - Joe Pluralsight: jQuery Advanced Topics - Joe Pluralsight: Testing Clientside JavaScript - Joe Teach Me To Code - Chuck
02:44 - Getting into Screencasting
06:16 - Screencasting and JavaScript JabberSharing Knowledge RailsCasts (Ruby) NSScreencast (iOS)
09:45 - JavaScript ScreencastsEmbercasts egghead.io (Angular) PeepCode YouTube
10:54 - Conference Talks vs Screencasts
14:34 - Blog Posts vs Screencasts
17:58 - Recording Screencasts (Tools)Camtasia ScreenFlow Jing
22:59 - Voiceovers vs Typing and Talking
26:17 - Audio QualityBlue Snowball Blue Yeti Shure SM58
28:53 - Editing SoftwareAdobe Premier Pro Final Cut Pro Video Hive
33:27 - Preparing for ScreencastsLarge Font Closed-Captioning
40:23 - Videos of Yourself with ScreencastsWistia Transcripts
PicksRequireBin (Jamison) The International - Dota 2 Championships (Jamison) That Conference (Joe) Seraphina by Rachel Hartman (Joe) ng-conf (Joe) Video Hive (Chuck) LessAccounting (Chuck)
Next Week
React with Jordan Walke and Pete Hunt
Transcript
JOE: Well, you can represent the newbie perspective then.CHUCK: Yup.JAMISON: That’s my default job on this podcast.[Laughter]CHUCK: No, that’s my job, believe me.JOE: Au contraire, mon frère.[Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.]CHUCK: Hey everybody and welcome to Episode 72 the JavaScript Jabber show. This week on our panel, we have Jamison Dance.JAMISON: Hello.CHUCK: Joe Eames.JOE: Hey there.CHUCK: I’m Charles Max Wood from DevChat.TV. And this week, we’re going to be talking about screencasting and sharing what you know through that kind of a visual medium. Before we get going, I’m wondering how much of this have you guys done?JAMISON: None.JOE: [Chuckles] I’ve done a fair amount. I’ve got my three courses with Pluralsight that I’ve done. That’s pretty much all the screencasting that I’ve done, is through Pluralsight. But I have to say I’ve definitely done a fair amount, several hundred, maybe a thousand with the screencasting.CHUCK: Nice.JAMISON: When you say a thousand hours, do you mean a thousand hours of recorded video or a thousand hours of time put into this?JOE: Yeah, a thousand hours of time actually spent. So I’ve probably produced ten or fifteen hours of recorded video. Probably about that much and five or six hundred hours of time spent producing that much video, right around that.CHUCK: Well there you go. If you’ve read outliers, you know you have nine thousand hours to go, right?JOE: [Chuckles] Yeah. Exactly when I’ll be an expert.CHUCK: That’s right. I’ve done a fair bit of screencasting as well. In fact, I got into podcasting through screencasting and I ran TeachMeToCode.com for a few years. I’m actually looking at reviving it but it’s just some time that I haven’t been able to commit yet. But yeah, it’s definitely a fun and interesting thing to do to share what you know and get the word out about whatever technologies you’re passionate about.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelScott Hanselman (twitter github blog) Joe Eames (twitter github blog) Aaron Frost (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:14 - Scott Hanselman IntroductionCommunity Program Manager for Web Tools at Microsoft Azure and Web Tools ASP.NET Runtime
03:17 - Microsoft and JavaScriptMicrosoft Build Developer Conference Scott Hanselman: Angle Brackets, Curly Braces, One ASP.NET and the Cloud Json.NET
13:40 - The Cost of Web DevelopmentTooling Sublime Text Visual Studio
18:17 - Libraries and FrameworksKnockout
24:14 - Innovation in SoftwareBefunge
29:48 - Apps Supporting JavaScriptCreate your first Windows Store app using JavaScript (Windows) Visual Studio Express
34:14 - Windows and Internet ExplorerChakra
40:42 - Microsoft’s Attitude Towards JavaScriptScott Hanselman: Azure for the non-Microsoft Person - How and Why?
45:58 - Open Source
49:12 - asm.js
52:05 - Angle Brackets ConferencePicksThe Wolverine (Joe) ng-conf (Joe) Cancún (Aaron) @ngconf (Aaron) Wistia (Chuck) Mumford And Sons 'Hopeless Wanderer' Music Video (Scott) Beyoncé Joins the Short Hair Club (Scott)
Next Week
Screencasting: Sharing What You Know Through Video
Transcript[Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.]CHUCK: Hey everybody and welcome to Episode 71 the JavaScript Jabber show. This week on our panel, we have Joe Eames.JOE: Hey.CHUCK: Aaron Frost.AARON: Hello.CHUCK: I’m Charles Max Wood from DevChat.TV. And we have a special guest that is Scott Hanselman.SCOTT: Hello.CHUCK: Since you’re new to the show, do you want to introduce yourself really quickly?SCOTT: My name is Scott Hanselman. You can learn more about me on the internet by googling for Scott. I’m in an epic battle right now with the Scott toilet paper people. You’ll find me just below Scott toilet tissue. I’ve been blogging for ten years. More than ten years, 13 years. I work at Microsoft right now. Before that I worked in finance at a company called Corillian that is now Fiserv. I’ve been building big systems on the web for as long as the web’s been around.CHUCK: Wow. What do you do at Microsoft?SCOTT: I work in Azure and Web Tools. I’m a program manager. I’m in charge of the experience from file new project until deployment. I call myself the PM of miscellaneous. I spend time going through that experience making sure that it doesn’t suck. My focus is on web tools but also ASP.NET Runtime and what the experience is when you deploy something into Azure. That might be everything from what’s it like editing JavaScript in Visual Studio and I’ll find some issue and go and work with the guys that own that, or it might be someone’s trying to do something in Node on Azure and that experience is not good. I’m like an ombudsman or a customer liaison. But the simplest way would be to say I’m the community PM, community program manager, for web tools at Microsoft.CHUCK: Okay.AARON: Cool.CHUCK: So, is JavaScript your primary focus?SCOTT: I would say that my primary focus is just anything that makes the web better and moves the web forward. While I work for ASP.NET and most of my work is in C#,Special Guest: Scott Hanselman.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelReginald Braithwaite (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) AJ O’Neal (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
02:08 - Reg Braithwaite IntroductionGithub
03:46 - JavaScript Allongé by Reginald Braithwaite
06:43 - The Y CombinatorKestrels, Quirky Birds, and Hopeless Egocentricity by Reginald Braithwaite
14:26 - Book Summary/PerspectiveFunctions QED, The Strange Theory of Light and Matter by Richard P. Feynman
21:37 - FootnotesFlashman: A Novel by George MacDonald Fraser
26:42 - allong.esMichael Fogus
29:15 - Sharing Knowledge & Information
33:01 - The Coffee ThemeCoffeeScript Ristretto by Reginald Braithwaite
37:42 - Favorite Parts of the BookHow Prototypes Work Combinators
42:18 - Writing the Beginning
44:41 - Reg’s Programming BackgroundOne Two Three . . . Infinity: Facts and Speculations of Science by George Gamow
Picksng-conf (Joe & Merrick) LUMOback (Merrick) Twilio (AJ) Bountysource (AJ) Brian Stevens / Data Porters (Chuck) InformIT (Chuck) Safari Books Online (Chuck) QED, The Strange Theory of Light and Matter by Richard P. Feynman (Reginald) One Two Three . . . Infinity: Facts and Speculations of Science by George Gamow (Reginald) Understanding Computation: From Simple Machines to Impossible Programs by Tom Stuart (Reginald) Realm of Racket: Learn to Program, One Game at a Time! by Matthias Felleisen (Reginald)
Special Offer!
JSJABBERROCKS will give $5 off JavaScript Allongé by Reginald Braithwaite on Friday, August 9th through Sunday, August 11th 2013 ONLY!
Next Week
JavaScript Strategies at Microsoft with Scott Hanselman
Transcript
MERRICK: Turns out my habit is Joe coming over to my desk and saying, [singing] “Da-na-na-na, jabber time!”[Laughter]AJ: Nice.REG: That behavior is always acceptable if you are dressed for the part.[Laughter]CHUCK: Since this is pure audio, you don’t even have to be dressed.JOE: I have a pair of parachute pants.MERRICK: I actually record most of this show while I'm in the bathtub.[Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure compiler. Check it out at JetBrains.com/WebStorm.]CHUCK: Hey everybody and welcome to Episode 70 the JavaScript Jabber show. This week on our panel we have Jamison Dance.JAMISON: Hello friends.CHUCK: Joe Eames.JOE: Hey there.CHUCK: AJ O’Neal.AJ: Still coming at you almost live from San Francisco.CHUCK: Merrick Christensen.MERRICK: What’s up guys?CHUCK: There we go. I’m Charles Max Wood from DevChat.TV. And we have a special guest, and that is Reg Braithwaite.REG: Pleased to be here with you.MERRICK: That was a real voice if I’ve ever heard one.JOE: Yeah. Awesome.CHUCK: No kidding. We should have you do some voice overs for us.MERRICK: We should.CHUCK: You’re listening to JavaScript Jabber.[Chuckles]AJ: Say, “In a world…”[Chuckles]REG: In a world…CHUCK: Anyway…[Laughter]AJ: Derailed, derailed.CHUCK: Yeah, totally. Reg, since you’re new to the show, do you want to introduce your self briefly?REG: Certainly. I’m a 51-year-old programmer. I got started the old-fashioned way,Special Guest: Reginald Braithwaite.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelJake Archibald (twitter github blog) Jamison Dance (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:14 - Jake Archibald IntroductionWorks on Developer Relations on the Google Chrome Team
01:57 - The Application CacheEric Bidelman: A Beginner's Guide to Using the Application Cache - HTML5 Rocks Down Fall
07:12 - Working with Single Page Apps
08:40 - Detecting ConnectivityExpress.js Yehuda Katz: Extend the Web Forward
15:42 - Running Offline
19:55 - Generating Manifest FilesGrunt Task for App Cache Manifests
26:34 - NavigationController
28:49 - Progressive EnhancementJake Archibald: Progressive enhancement is still Important 059 JSJ jQuery Mobile with Todd Parker 058 JSJ Building Accessible Websites with Brian Hogan Feature Detection Modernizr SEO
PicksArduino (Jamison) Draft (Jamison) RoboRally (Chuck) Adobe Audition CS6 (Chuck) Blue Microphones Yeti USB Microphone - Silver Edition (Chuck) async-generators (Jake) Rick Byers: DevTools just got a cool new feature in Chrome canary (Jake) johnny-five (Jamison)
Next Week
Book Club: JavaScript Allongé with Reginald Braithwaite
TranscriptCHUCK: Maybe we’ll just talk about your general smarty-pants-ness.[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.]CHUCK: Hey everybody and welcome to Episode 69 the JavaScript Jabber Show. This week on our panel we have Jamison Dance.JAMISON: Hello friends.CHUCK: I’m Charles Max Wood from DevChat.TV. And we have a special guest and that is Jake Archibald.JAKE: Hello.CHUCK: Jake, do you want to introduce yourself for the folks who haven’t heard of you before?JAKE: Sure thing. I work on the Google Chrome team as part of DevRel. What I’m doing there is a combination of speaking at conferences about particular stuff. I got to do a lot in performance at the moment, but I also do a lot of standards work where I’ve done a lot with an alternative to application cache, which we’ll be talking about, but also looking at things like script loading and some of the resource priority stuff.CHUCK: Cool. So it sounds like you’re smart on a number of levels then.JAKE: Or dumb at all. [Chuckles] I can only see what I work on. I don’t know if I’m any good at it.[Chuckles]CHUCK: So we brought you on to talk about the application cache. I’m not completely sure I know what is totally involved there. Is it just the cache like you clear the browser cache cache or is it something else?JAKE: Well. the aim for the application cache was to let you make a site that works offline. So we’ve got the http cache and that works, in a manner of speaking. But if you have, say a website where you’ve cached your JavaScript, you’ve cached your CSS. You’ve cached your html page and some images. That’s great, but the user will visit another website and the browser will go and delete the CSS file from your site from the cache just to make room for the stuff from this other site. That means that if we were just going to use the http cache for making things work offline, people go to your site, your html’s there, your images are there, your JavaScript’s there, but your CSS is not and that’s going to break your site.Special Guest: Jake Archibald.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelAaron Frost (twitter github blog) Merrick Christensen (twitter github) Joe Eames (twitter github blog) Jamison Dance (twitter github blog)
Discussion
01:36 - Aaron Frost IntroductionWeb Developer at Domo 1.21 Gigawatts – Chromeapps with Angularjs and Node (Aaron Frost and Dave Geddes) JS.next: A Manager’s Guide by Aaron Frost
02:21 - ECMAScript and JavaScriptBrendan Eich talking about the Lord Of The Rings Comparison JScript ActionScript
06:02 - TC39 on ECMANotes from the TC39 Meetings
06:44 - ECMAScript:Harmony
09:59 - ES6 FeaturesArrow Functions/Lambdas Lexical Scoping Destructioning Spreading Sets & Maps Equivalent Detection Generators Binary Data
12:17 - Arrow Functions
14:23 - Data Proofing Functions
15:35 - DestructuringPaths/Nested Destructuring Destructuring Patterns
17:59 - Default Values
18:49 - Rest & Default Parameters
20:39 - LetVariable Hoisting Traceur Compiler grunt-traceur Let Expressions & Statements Blocks & Block Scopes temporal-dead-zone.js
27:20 - Generators
28:39 - The Module System
29:48 - Template Strings
32:05 - Aaron’s Opinion of Internet Explorer
36:01 - Using ES6 TodayTracer Compiler
39:18 - Designing a New LanguagePicksPacific Rim (Joe) That Conference (Joe) PHOX (Merrick) Sqwiggle (Jamison) NodeConf (Jamison) Jon Hopkins - Immunity (Jamison) Tombstone (Aaron) Justin Timberlake - The 20/20 Experience (Aaron)
Book Club
JavaScript Allongé with Reginald Braithwaite! He will join us for an episode to discuss the book on August 1st. The episode will air on August 9th.
Next Week
The Application Cache with Jake Archibald
Transcript
JAMISON: Are you guys going to do a doo-wop chorus? I feel like with you all sharing the same microphone, we need some sick vocal harmony.MERRICK: I wouldn’t mind starting a JS Jabber a cappella group.[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] JAMISON: Hey everybody and welcome to JavaScript Jabber Episode 68. I am your guest host, Jamison Dance. Chuck is at LoneStar Ruby Conf this week. We have Merrick Christensen.MERRICK: What’s up?JAMISON: We have Joe Eames.JOE: Hey there.JAMISON: And we have an incredibly special guest, Aaron Frost.AARON: Hello.MERRICK: [Laughter] What?JAMISON: And he is not British.AARON: Coming from across the pond.MERRICK: Once you’re gone, I’m going to start using that as my greeting.AARON: Well, I wish my name was like that one guy, the Allonge, Reginald Braithwaite.[Laughter]AARON: Where it’s like your name’s in British.JOE: Yes. Your accent, no. Oh, I would have my name be Benedict Cumberbatch.AARON: That’s pretty British too, that name.JOE: That’s a very British name, yeah.AARON: Wellington something.[Laughter]JAMISON: Then you would be the archduke of JavaScript.AARON: Yeah.JOE: Oh, that would be an awesome title.AARON: That’d be great. It’s a good title.MERRICK: So Jamison, do you want to talk about why we have Aaron on the show?JAMISON: Yeah, I was going to ask him to introduce himself.AARON: Oh, great. I’m a web developer at an awesome company called Domo.JOE: But what’s your official title?AARON: Officially, I don’t know. What are you playing at?[Laughter]AARON: Maybe an open web strategist.JOE: There you go.JAMISON: Social media expert?AARON: I don’t know. But I work on our UI team and we’re getting ready to push out a really awesome release that everyone’s going to love. I’m also an author. I’ve published a short book with O’Reilly in May and working on another book.Special Guest: Aaron Frost.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelToby Ho (twitter github blog) Joe Eames (twitter github blog) Aaron Frost (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
00:53 - Aaron Frost IntroductionDomo 1.21 Gigawatts - Chromeapps with Angularjs and Node (Aaron Frost and Dave Geddes)
02:45 - Toby Ho Introductiontestem Toby Ho - Testem: Interactive JS Test Runner Toby Ho: Better TDD Workflow via Exclusive Tests in Jasmine and Mocha
03:06 - testemAutotest guard Jasmine Mocha QUnit Buster.JS PhantomJS node.js
04:43 - Integration Tests038 JSJ Jasmine with Justin Searls capybara
06:32 - guard
07:49 - The testem UInode-charm
09:55 - The Browser Launcher
11:40 - CI ModeJenkins TeamCity
12:27 - Is it a Global Installer?npm
13:39 - WorkflowGrub Filtering testem.json/testem.yml Devmode Exclusive Tests in Mocha Karma .only Console Logging
21:27 - DebuggingGit Hooks Minification
25:25 - testem vs KarmaAngularJS
28:08 - Testing JavaScriptJasmine Mocha QUnit
29:50 - BrowsersChrome
30:54 - Configurations
32:11 - ContributorsJake Verbaten (Raynos) Derek Brans Justin Searls David Mosher lineman
33:33 - Grunt.jsgrunt-testem
35:09 - Testing & TDDBryan Liles: TATFT - Test All the F***in Time
PicksThe Rithmatist by Brandon Sanderson (Joe) Call of Duty: Black Ops 2 (Aaron) Amazon Prime (Chuck) Big Bang Theory (Chuck) HandBrake (Chuck) Rails Conf 2013 The Magic Tricks of Testing by Sandi Metz (Toby) Giles Bowkett - Secrets Of Superstar Programmer Productivity: Flow (Toby)
Book Club
JavaScript Allongé with Reginald Braithwaite! He will join us for an episode to discuss the book on August 1st. The episode will air on August 9th.
Next Week
ES Next with Aaron Frost
Transcript[Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] CHUCK: Hey everybody, and welcome to Episode 67 of the JavaScript Jabber Show. This week on our panel, we have Joe Eames.JOE: Hey there.CHUCK: We also have Aaron Frost filling in for us.AARON: Hello.CHUCK: And we have a special guest and that is Toby Ho.TOBY: Hi everyone.CHUCK: I’m Charles Max Wood from DevChat.TV. Guys, why don’t we have you introduce yourselves really quick? Let’s start with you, Aaron.AARON: Okay. So, I’m a frontend developer at Domo.JOE: Open-source evangelist.AARON: Well, you can call me whatever you want.[Laughter]AARON: I’ve worked here for a few months. I love it. I’m writing a book on the next version of ECMAScript and a dad with three kids. So yeah, that’s me.JOE: Aaron’s too modest. He’s also a big-time conference speaker. He’s a regular presenter at local user groups. And like I said before, he’s one of our evangelists, so he was hired as a really high-level frontend engineer here at Domo to help us take our JavaScript and frontend work into the next level, really.CHUCK: Yeah, I also showed up late to a workshop that he was putting on using Node and Twilio and that was pretty cool.JOE: Yeah, that thing has been the bomb. Also, Aaron’s presentation at Fluent Conf with Dave Geddes was apparently the hit of the entire show, the best received. The organizer said he thought it was definitely one of the best presentations done at Fluent Conf.AARON: Yeah. They said it was the most entertaining and Simon said he wished we could cut it down in ten minutes and that they had made us keynote, because it was pretty fun. We had a lot of fun with it.CHUCK: Cool.JOE: Yeah, it’s up on YouTube. We’ll put links in the show notes. It’s really great.Special Guest: Toby Ho.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelJoe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:10 - Making the transition from one primary language to JavaScript
01:30 - Merrick’s ExperienceActionScript
03:32 - Joe’s Experience.NET Microsoft
07:46 - Moving from C# to JavaScriptMisconceptions
09:25 - JavaScript Misconceptions
10:59 - Chuck’s ExperienceRuby on Rails
14:25 - Rails and JavaScript Avoidance
15:25 - Microsoft and JavaScript Avoidance
16:58 - JavaScript Development in GeneralBrowsers and Problems
23:38 - Libraries and Tools044 JSJ Book Club: Effective JavaScript with David Herman Effective JavaScript by David Herman
24:45 - Code Structure
27:03 - node.js
28:00 - Learning core concepts behind JavaScript
29:11 - Understanding Clojures, Scoping & Context
29:53 - Testing
31:35 - Deviating off the common path
33:10 - Idiomatic JavaScriptPicksDart (Merrick) ES6 Plans (Merrick) Defiance (Joe) America's Got Talent (Joe) StarCraft II World Championship Series (WCS) (Joe) Continuum (Chuck) Fringe (Chuck) CleanMyMac (Chuck)
Book Club
JavaScript Allongé with Reginald Braithwaite! He will join us for an episode to discuss the book on August 1st. The episode will air on August 9th.
Next Week
Testem with Toby Ho
Transcript
CHUCK: Yeah, I can pretend I’m getting better at JavaScript.[Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the frontend of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.]CHUCK: Hey everybody, and welcome to Episode 66 of the JavaScript Jabber Show. This week on our panel, we have Joe Eames.JOE: Hi there.CHUCK: And Merrick Christensen.MERRICK: Hey guys.CHUCK: I’m Charles Max Wood from DevChat.TV. And this week, we’re going to be talking about, I think it’s kind of a blend of making the transition from one primary language to JavaScript, it usually happens through web development, and some of the mistakes that people make when their primary language is not JavaScript. Let’s go ahead and get started.Merrick, you’re kind of the expert guy that I always look at and go, “Man, he’s awesome at JavaScript.” So, I’m wondering, did you start out at JavaScript or did you come in from somewhere else?MERRICK: Oh, that’s really nice of you, man. I actually started out with ActionScript. I really loved Flash developments, but it’s the same thing, really. They’re both based off of ECMAScript. So, I guess you could say I’ve always done JavaScript.JOE: So, ActionScript is nearly identical to JavaScript?MERRICK: Well, not anymore. ActionScript 3 developed classes and they typed it and they did some interesting things to make it more of a full-featured language. It’s got more [inaudible] than JavaScript now, I think. But I ended up getting into JavaScript when I was like 17 or so. I came across the MooTools framework and ever since then, it’s been all JavaScript all the time.CHUCK: You’re pretty young. Wasn’t that last year?[Laughter]MERRICK: Close. No, about six years, five years of JavaScript.JOE: You’re also, though, like a real student of languages. You love studying other languages.MERRICK: I love programming languages, yeah.JOE: I think you’re a pretty funny, not necessarily unique,
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelAdam Hawkins (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:16 - Adam Hawkins IntroductionJavaScript Application Build Tools: Adam Hawkins 003 JSJ Build Tools
01:51 - What Are Build Tools?
02:46 - Build ProcessEmber.js CoffeeScript Sass Grunt.js Yeoman RequireJS minispade jQuery
09:15 - MinificationHandlebars.js barber
10:30 - Ruby on RailsClient-Side Applications
16:43 - Chuck’s Build Process
17:32 - Joe’s Build Process
18:54 - Source MapsConcatenation
24:09 - iridiumrake-pipeline Brunch
32:56 - Recommendations for Building
35:23 - TestingQUnit
PicksSub Rosa (Jamison) biggie (Jamison) Kingdom Rush Frontiers (Joe) The Rithmatist by Brandon Sanderson (Joe) Ward Cunningham (Joe) Speedtest.net (Chuck) ThemeForest (Chuck) Solo Piano Radio (Adam) ConvertKit (Adam) Staticly (Adam)
Next Week
Transitioning to JavaScript
Transcript[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google Closure Compiler. Check it out at JetBrains.com/WebStorm.]CHUCK: Hey everybody, and welcome to Episode 65 of the JavaScript Jabber Show. This week on our panel, we have Jamison Dance.JAMISON: Hello friends.CHUCK: Joe Eames.JOE: Hey there.CHUCK: I’m Charles Max Wood from DevChat.TV. And this week, we have a special guest, Adam Hawkins.ADAM: Hey, how you guys doing?CHUCK: Terrific. So, you want to introduce your self since you’re new to the show?ADAM: Yeah. My name is Adam Hawkins. I’m primarily a Ruby guy but have come to the JavaScript world through Ember and browser applications. I’ve been here now for about a year and a half and just learning as I go along,CHUCK: Nice. So anyway, you recommended that we talk about build tools and then you wrote a blog post about it. We talked about build tools, I think on Episode 2 or 3 or something. In your mind, what are build tools?ADAM: Well, I think a build tool is something that you need to create a JavaScript application. There is a distinction between, say maybe an application or something [inaudible] that needs CoffeeScript or something like that versus a full-blown application that runs on the browser which needs modules, asset pre-compilation, templates, all those sorts of stuff, and testing and things like that. So, on one end, you have build tools that simply do the compilation and the concatenation, and then you have other tools that aim to be like a whole development environment. So, there is a large spectrum and you just have to choose which you need, basically.CHUCK: What kind of a build process do you guys have on the projects that you work on?ADAM: Well, okay. My background is, we are building a CRM with Ember.js and we needed a lot of different things. Well, my team prefers to write in CoffeeScript and use Sass. So, we needed those two things right away. Then we needed module compilation and then also asset concatenation, minification, as well as environment support. We need to develop a certain code and then deploy a certain code and a few other things. So, it’s pretty complicated and we needed a tool to do that. Well, I wrote one after looking at what’s out there.JAMISON: So,Special Guest: Adam Hawkins.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelRyan Florence (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:28 - Ryan Florence IntroductionInstructure Canvas Network
03:04 - Ember 101
05:03 - Ember.js Workflow047 JSJ Specialized vs Monolithic with James Halliday and Tom Dale ember-tools
07:14 - CommonJS vs RequireJSr.js browser-build
09:58 - prego
11:39 - Generators
14:45 - Testing
16:15 - YeomanYeoman generators
20:49 - ScaffoldingHandlebars.js
21:33 - Ember blessing ember-toolsEmber.js - Making Ember.js Easier
24:19 - Using ember-tools in RailsCreating Browser Apps as Part of Express of Rails (etc.)
25:27 - Scaffolding (cont’d)
26:53 - Adapting an existing project to ember-tools
29:59 - Dbmon
30:59 - CanvasEdu Apps (learning apps built on LTI™)
32:44 - node.js
34:24 - Modules
38:59 - Contributing to ember-tools
41:46 - StatePicksvim-clutch (Merrick) Star Wars: Heir to the Empire by Timothy Zahn (Joe) America’s Got Talent (Joe) Man of Steel (Joe) The Internship (Joe) Help Save Podcasting! | Electronic Frontier Foundation (Chuck) Stuff You Should Know (Chuck) Fringe (Chuck) Capgras Syndrome: You Are Not Who You Think You Are (The Stuff You Should Know Podcast) (Ryan) MIDI.js (Ryan) JS Bin (Ryan) Lifetime Products Swing Sets (Ryan) Uncooked Flour Tortillas (Ryan)
Next Week
JavaScript Jabber: Javascript Application Build Tools with Adam Hawkins
Transcript
MERRICK: What’s up gentlemen?JOE: Like I said, just making toot lips.JAMISON: Isn’t toot lip like a flower of some kind? The JavaScript flower?JOE: Doesn’t smell like a flower.CHUCK: [Laughter][Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] [This podcast is sponsored by JetBrains, makers of WebStorm. Whether you’re working with Node.js or building the front end of your web application, WebStorm is the tool for you. It has great code quality and code exploration tools and works with HTML5, Node, TypeScript, CoffeeScript, Harmony, LESS, Sass, Jade, JSLint, JSHint, and the Google closure compiler. Check it out at JetBrains.com/WebStorm.]CHUCK: Hey everybody, and welcome to Episode 64 of the JavaScript Jabber Show. This week on our panel, we have Jamison Dance.JAMISON: Hello friends.CHUCK: Joe Eames.JOE: Hey there.CHUCK: Merrick Christensen.MERRICK: What’s up?CHUCK: I’m Charles Max Wood from DevChat.TV. And this week, we have a special guest, Ryan Florence.RYAN: Hey, how’s it going?CHUCK: So, you haven’t been on the show before. Do you want to introduce yourself?RYAN: Sure. Ryan Florence. I’m from Utah like a lot of you guys. I’ve been writing JavaScript for five years now or something like that. I just picked it up. I was sick of the engineers at my company telling me that things were impossible. So, I started to show them that it was possible and then ended up getting paid more money.CHUCK: Is that at Instructure or is that somewhere else?RYAN: No, that was at a company actually in Idaho.CHUCK: Ah, I see.RYAN: So now, I work at Instructure. We build a learning management system for schools and universities. We also have Canvas.net, which is open courses for anyone to take. There are some pretty interesting ones on there like gender and comic books, things like that. It’s a fun place to work, fun product to work on.CHUCK: Yeah, you inherited a lot of my old coworkers. I used to work for Mozy.RYAN: Yeah, half our engineering team used to be Mozy. But I think we have offset them at this point.Special Guest: Ryan Florence.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelJamison Dance (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:47 - BurnoutGoogle: define burnout
04:57 - Pair Programming
06:19 - Burnout GuiltThought-workers vs Laborers
10:15 - Positive Reinforcement
11:18 - Causes of BurnoutProlonged periods of high stress Crappy jobs Long hours OCD Organizational challenges Fighting Bikeshedding Difficult work environment Twitter Comparison
20:41 - Overcoming BurnoutRest Do something else Gratitude Talk to your boss Twitter / @bmf: Burnout is not caused by working hard. Burnout is caused by not shipping. Measurable progress
28:17 - Short-term BurnoutExercising You Are Your Own Gym (YAYOG) Meditation Take lunch
32:17 - Reaching out to others who may be burning out
35:50 - Preventing BurnoutPositive environments Motivation Drive: The Surprising Truth About What Motivates Us by Daniel H. Pink [YouTube] Drive: The surprising truth about what motivates us
PicksAmerica's Got Talent (Joe) Storm Front (Derrick Storm) by Richard Castle (Joe) Derandomized - Khan Academy: Machine Learning -> Measurable Learning (Jamison) Get On Top (Jamison) Ben Bernanke to Princeton Grads: The World Isn't Fair (and You All Got Lucky) (Merrick) General Assembly (AJ) AJ needs a room to rent in San Francisco (AJ) You Are Your Own Gym (YAYOG) Run 10k (Chuck) Nike+ Running (Chuck)
Transcript[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] CHUCK: Hey everybody, and welcome to Episode 63 of the JavaScript Jabber Show. This week on our panel, we have Jamison Dance.JAMISON: Hello friends.CHUCK: Joe Eames.JOE: Hello there.CHUCK: Merrick Christensen.MERRICK: Hey.CHUCK: And I’m Charles Max Wood from DevChat.TV. This week we’re going to be talking about burnout, I’m assuming you’ve all experienced burnout?MERRICK: Does anybody else feel weird saying hello into a microphone? I feel like Joe sounded like this Texan guy. Like you never know what you’re supposed to say.JOE: Howdy, partner.MERRICK: Yeah, exactly. More like a response coming, you know. It’s funny.CHUCK: Yeehaw!JAMISON: You’re just rolling the dice.MERRICK: Yeah. I feel like [inaudible] or something, so people know it’s me.JAMISON: You just never know what’s going to come out.MERRICK: You really don’t. Sometimes, I’m like, “Maybe I’m going to go Little John on this thing and I don’t know.[Chuckles]JOE: From now on, instead of saying hello, I’ll do this one, [sound][Laughter]JAMISON: Let’s get a soundboard.JOE: I’ve got a soundboard here.CHUCK: Oh, nice.MERRICK: We could really, really degrade the quality of the show, or improve it, with cool sound.JAMISON: I think we just have.[Laughter]CHUCK: I’ve thought about getting soundboards for the different segments, like the picks and stuff, but nah.JAMISON: It took us 30 seconds to wander off topic.CHUCK: I know.JAMISON: Let’s talk about burnout.CHUCK: Burnout.JAMISON: Can we get a definition of burnout, to channel Josh Susser.JOE: You define it, Jamison.JAMISON: I was reading on Wikipedia, as one does when you’re trying to learn about something. It says it’s a psychological term for long-term exhaustion and diminished interest in work.CHUCK: Ooh, that’s very good.MERRICK: I like that.JOE: A long-term exhaustion. Okay.JAMISON: So, it’s not just like, “I’m feeling lazy today.” It’s, “I’m feeling lazy this month or lazy when I’m at work this month.”
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelDylan Schiemann (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) AJ O’Neal (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
00:57 - Dylan Schiemann IntroductionThe Dojo Toolkit CEO of SitePen
01:14 - DojoTD Ameritrade The Wall Street Journal JPMorgan Chase & Co TD Bank voro.com Esri
04:40 - Why is Dojo relevant today?Peter Higgins: #dadt (Dojo already did that)
07:00 - AMD and RequireJSPerformance Benefits CommonJS
10:34 - DijitForm Controls Layout Widgets Other Widgets (i.e. grids, rich text editor controls, trees, etc.) Polymer
15:32 - Browser SupportThe Awesome Bar Removing Code Aspect-oriented Programming
20:01 - Dojo 2Dojo Mobile Responsive Dijits Local Storage Better Grid Widgets Cleaner APIs
32:52 - Marketing DojoDojo Tutorials Good APIs Demos Target Environments
27:55 - Graded SupportGraded Browser Support - YUI Library
30:56 - Maintaining the old version while moving ahead with the new version
33:01 - Strict Modedojo.declare
34:15 - Dojo and Node.jsdojo/request
36:20 - The Dojo Foundationlodash The Intern
40:21 - TestingD.O.H.: Dojo Objective Harness Sauce Labs Chai
42:56 - Charting and Graphing & Vector GraphicsDojoX voro.com GFX D3 Raphaël
46:41 - The History of Dojo and PrototypePicksSexism in Video Games - This Female Gamer is Fed Up / from a woman's view / woman / Rape is in Grand Theft Auto Game (AJ) My Fair Lady (AJ) Moon (Jamison) Dr. Dog (Jamison) Warhammer Quest (Joe) Knights of the Old Republic (Joe) Ruins by Orson Scott Card (Joe) AngularJS Fundamentals (Joe’s Pluralsight Course) (Joe) Commit (Chuck) Authority | Nathan Barry (Chuck) The Intern (Dylan) FrozenJS (Dylan) hammer throw: 1986 Youri Sedykh's World Record Series (Dylan) Kundalini Yoga (Dylan) Arcosanti (Dylan) Ubud, Bali (Dylan) Insadong, Seoul, South Korea (Dylan)
Next Week
Burnout
Transcript
JAMISON: This is my voice.CHUCK: You keep it with you at all times, don’t you?JAMISON: I do. Unless I go to a rock concert or something. Then I leave it there.[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] CHUCK: Hey everybody, and welcome to Episode 62 of the JavaScript Jabber Show. This week on our panel, we have Jamison Dance.JAMISON: Hi, guys.CHUCK: Joe Eames.JOE: Hey there.CHUCK: AJ O’Neal.AJ: Not coming at you live. Not at all.CHUCK: I’m Charles Max Wood from DevChat.tv and we have a special guest this week. That’s Dylan Schiemann. So, do you want to introduce yourself real quick, Dylan?DYLAN: Sure. Thanks Charles. I’m Dylan. I’m one of the founders of an open source project called the Dojo Toolkit. I’m also the CEO at SitePen, a company that builds web apps and provides JavaScript training and support.CHUCK: Awesome. Dojo’s been around for a long time, hasn’t it?DYLAN: Nine years.CHUCK: Nine years.DYLAN: Oh, yeah. Three lifetimes in the Internet age, I guess.CHUCK: Does that make it older than jQuery?DYLAN: It does, yes. JQuery, I think, started about seven years ago, maybe. Six or seven years ago.CHUCK: I remember seeing a couple of websites built in Dojo way back in the day. I don’t remember exactly which ones they were. For some reason, I got the impression that it was a framework, but it’s more of a toolkit. It’s much more like jQuery than it is like, say, Backbone or Ember or any of those.DYLAN: It’s kind of everything. You can use it as a simple toolkit like jQuery. You have DOM manipulation,Special Guest: Dylan Schiemann.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelJuha Paananen (twitter github blog) Joe Fiorini (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:20 - Joe Fiorini IntroductionInteraction Developer at Designing Interactive in Cleveland, OH
01:42 - Juha Paananen IntroductionSoftware Developer at Reaktor in Helsinki, Finland
02:30 - Functional Reactive Programming (FRP) vs Functional Programming057 JSJ Functional Programming with Zach Kessin
04:25 - Declarative Programming
05:55 - Map and Filter
07:05 - bacon.jsFlapjax
09:10 - Mapping and filtering event streams
10:40 - Asynchronicity and Promises
14:28 - Using FRPReactiveCocoa Complex UIs TodoMVC with Bacon.js, Backbone.js and Transparency.js by pyykiss
20:02 - Ember.js and FRP
22:04 - MVC frameworks and FRPJuha Paananen: FRP, Bacon.js and stuff: Chicken, Egg and Bacon.js
24:35 - Learning FRP
25:49 - Where did FRP come from?What is (functional) reactive programming? - Stack Overflow Conal Elliott: Composing Reactive Animations Haskell Reactive-banana - HaskellWiki
29:07 - Going beyond visual mediasubstack/stream-handbook
32:18 - Wrappers
33:31 - How to build things with FRP librariesJuha Paananen @ MLOC.JS: Functional Reactive Programming in JavaScript using Bacon.js
PicksSlideShare: Functional Reactive Programming in JavaScript (AJ) Valve: The AI Systems of Left 4 Dead by Michael Booth (Jamison) programming is terrible (Jamison) Simple Made Easy: Rich Hickey (Jamison) AngularJS Fundamentals (Joe's Pluralsight Course) (Joe) Open Source Bridge (Joe) That Conference (Joe) Star Trek: Into Darkness (Joe) ServerBear (AJ) rainwave (AJ) rwbackend (AJ) Mesa Boogie Lone Star Guitar Amplifier (Merrick) backburner.js (Merrick) messageformat.js (Merrick) Digital Ocean (Chuck) Emacs (Chuck) emacs_libs (Chuck) Tmux (Chuck) GitLab (Chuck) Flight by Twitter (Joe F.) Ember.js (Joe F.) CodeMash (Joe F.) fantasy-land (Juha) The Bacon.js postings featuring Phil Roberts (Juha) Iron Sky (Juha) Reaktor Dev Day (Juha)
Next Week
Dojo with Dylan Schiemann
Transcript
MERRICK: How come nobody acknowledges when I talk? What about that?JAMISON: That’s a deeper problem than a microphone.[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] CHUCK: Hey everybody, and welcome to Episode 61 of the JavaScript Jabber Show. This week on our panel, we have AJ O’Neal.AJ: Yo, yo, yo. Coming at you live from Iowa.CHUCK: Again?AJ: Oh, I guess I was there last time, huh? It’ll be New York soon.CHUCK: We have Jamison Dance.JAMISON: Howdy, guys.CHUCK: Joe Eames.JOE E: Hey there.CHUCK: Merrick Christensen.MERRICK: What’s up?CHUCK: I’m Charles Max Wood from DevChat.tv. This week, we have two special guests. We have Joe Fiorini.JOE F: Hello everyone.CHUCK: And Juha Paananen.JUHA: Yeah. Hi everybody. Juha Paananen.CHUCK: Thank you for straightening that up for me. We’re going to have you guys introduce yourself real quick, since you haven’t been on the show before. Joe, why don’t you start us off?JOE F: Sure. My name is Joe Fiorini and I am an Interaction Developer at Designing Interactive in Cleveland, Ohio. I do a decent amount of JavaScript development every week. I’ve discovered Functional Reactive Programming three or four months ago and it’s changed my world.CHUCK: Awesome. And Juha, do you want to introduce yourself as well?JUHA: Yeah, why not? I’m Juha. I’m from Finland. Helsinki.Special Guests: Joe Fiorini and Juha Paananen.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelAJ O’Neal (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:09 - Mac, Windows or Linux?tmux Emacs Homebrew DigitalOcean
05:41 - ToolsJenkins CI TeamCity
07:49 - Editors and IDEsVim MacVim MacVim Alloy Fork The NERD tree Sublime Text Chocolat TextMate JetBrains WebStorm David Laing: Customise your .gitattributes to become a Git Ninja
16:03 - Software & Tools cont’dGrunt.js RequireJS Test Runner Mocha Karma istanbul Compass Google Chrome Git Tower Kaleidoscope
20:26 - Terminal Setups and DatabasesiTerm2 tmux tmuxinator oh-my-zsh bash-it nvm Homebrew MacPorts Postgres.app
25:03 - MusicGoogle Play Explosions in the Sky Sigur Rós Album Leaf Spotify OverClocked ReMix "Masters of Classical Music" on iTunes Joe Satriani Aurgasm
30:04 - EquipmentBose QuietComfort 15 Acoustic Noise Cancelling Headphones Performance MX Mouse Ultrasone HFI-580 S-Logic Surround Sound Professional Headphones GOgroove BlueSYNC OR3 Rechargeable Bluetooth Portable Wireless Speaker Jawbone JAMBOX Wireless Bluetooth Speaker
32:17 - GitHub
33:42 - Office FurnitureMirra Chair by Herman Miller Aeron Chair by Herman Miller VendorGear Headrest for Herman Miller Aeron Chair Ergotron LX Desk Mount LCD Arm
37:42 - Laptop BagsLeather Round Satchel | Saddleback Leather Co. (Merrick’s Bag) Samsonite Leather Expandable Briefcase (Chuck’s Bag)
39:45 - VagrantVMware Fusion VirtualBox Parallels
42:38 - Travel EquipmentAnker Battery Pack D-Link SharePort Go Mobile Companion with Rechargeable Battery
44:20 - Chrome DevToolsFirebug
45:11 - Task Management, Collaboration & Social MediaTweetbot OmniFocus Getting Things Done: The Art of Stress-Free Productivity by David Allen Asana Trello
48:46 - Laptop Bags Cont’dBlue Novell Laptop Bag
PicksAurgasm (Joe) MLS LIVE (Joe) The Michael J. Fox Show (Joe) Brett Victor - Drawing Dynamic Visualizations (Merrick) Rabbit Mini Portable Stand (Chuck) The Pragmatic Bookshelf (Chuck) Raspberry Pi (AJ) Pandaboard (AJ) Linaro (AJ)
Next Week
Reactive Functional Programming in Javascript with Juha Paananen and Joe Fiorini
Transcript
CHUCK: Are you un-indisposed?MERRICK: Oh, yeah. I’ve been un-indisposed for years now.[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] CHUCK: Hey everybody, and welcome to Episode 60 of the JavaScript Jabber Show. This week on our panel, we have AJ O’Neal.AJ: Yo! Coming at you live from roughly an hour outside of Philly.CHUCK: Awesome. We also have Joe Eames.JOE: Hey there.CHUCK: Merrick Christensen.MERRICK: Hey guys.CHUCK: And I’m Charles Max Wood from DevChat.tv. This week, we’re going to be talking about our development environments, setups, desk space, chairs, whatever. I’m really curious to see what way you guys have and what wisdom you have to offer.Yeah, let’s get into it. The first thing that I want to ask is, the semi-holy war between Windows machines and Macs and Linux machines. What are you guys all using for your development?MERRICK: I use Mac. I feel so lost anytime I’m on a Windows machine and set.AJ: I only use operating systems. So, the only two that I know of that are readily available are Mac and Linux.CHUCK: [Laughter] How about you, Joe?JOE: I use both, significantly.CHUCK: Both, meaning both Windows and Mac?JOE: OSX and Windows. I don’t use Linux.CHUCK: Awesome. I mostly use Macs.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelTodd Parker (twitter github) Joe Eames (twitter github blog) Jamison Dance (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
00:53 - Todd Parker IntroductionFilament Group
01:21 - DevChat.tv Indiegogo Campaign
01:55 - jQuery MobilejQuery UI
04:13 - Responsive web design
06:17 - Mobile & Proxy BrowsersWebKit Opera & Opera Mini Amazon Silk
14:06 - Enhancements
17:11 - Plugging jQuery Mobile into Desktop Applications
19:11 - Using client-side MVC frameworksAngularJS jQuery Mobile Resources Page
21:52 - Filament Group and jQuery projectsThemeRoller The Filament Group on Github Microsoft Contributions
28:26 - ThemingStructure vs Style Object-oriented CSS Widget Factory
37:25 - Accessibility058 JSJ Building Accessible Websites with Brian Hogan ARIA
44:18 - Progressive EnhancementBootstrap Designing with Progressive Enhancement: Building the web that works for everyone by The Filament Group Visualize
PicksDisenchanted by Robert Kroese (Joe) Sid Meier's Ace Patrol (Joe) Zeds Dead & Omar LinX (Merrick) RequireJS (Merrick) Ember 101 Screencasts (Jamison) Gifsicle (Jamison) vundle (Jamison) D-Link SharePort Go Mobile Companion with Rechargeable Battery (Chuck) E-3lue Cobra Type-M EMS131BK High Precision Gaming Mouse (Chuck) TotalMount - Apple TV Universal Mounting Kit (Chuck) Sonos (Todd) Sketch App (Todd) GitHub (Todd) iOctocat (Chuck) Grunt (Todd) LEGO Batman: DC Super Heroes (Todd)
Next Week
Development Environments
Transcript[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] CHUCK: Hey everybody, and welcome to Episode 59 of the JavaScript Jabber Show. This week on our panel, we have Joe Eames.JOE: Hey everybody.CHUCK: Jamison Dance.JAMISON: Hello.CHUCK: Merrick Christensen.MERRICK: Hey guys.CHUCK: I’m Charles Max Wood from DevChat.tv. And we have a special guest, Todd Parker from the jQuery UI team.TODD: Hey everyone.CHUCK: You want to introduce yourself really quickly?TODD: Sure. My name is Todd Parker. I am a partner here at Filament Group in Boston. We’re a small web design shop. And I’m also the project lead for the jQuery Mobile team. And previous to that, I was on the jQuery UI team as well. So, I’m both covered.CHUCK: Did I say jQuery UI? I meant jQuery Mobile.TODD: You did. I was covering for you though, it’s okay.CHUCK: [Laughs] Awesome. Before we get too far into this, I want to make one announcement and that is that I’ve set up an Indiegogo campaign for the network of podcasts that this is a part of. So, we’re trying to build a website that has all the features that people have been asking for. Mostly it has to do with search and some RSS feed management stuff. So, if you would like to support the show, then by all means do so. You can do it by going to Indiegogo.com/projects/DevChat-tv. And I’ll put a link to the show notes so that you can find it.Alright. Well, let’s talk about jQuery Mobile here. I’m a little curious. I’ve played with it a little bit, but I haven’t really had to build too many Mobile sites. So, can you explain a little bit about what the focus is and how it’s different from the jQuery that we all know and love?TODD: Sure. So, jQuery Mobile started its life, it’s very similar in concept to jQuery UI, so it’s a user interface framework that’s built on top of jQuery core. The difference between UI and Mobile is obviously UI is much more desktop focused, and Mobile is mobile focused. That said, jQuery Mobile, from the beginning,Special Guest: Todd Parker.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Use this link and code JAVAJAB to get 20% off your registration for FluentConf 2013!PanelBrian Hogan (twitter github blog) AJ O’Neal (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
00:55 - Brian Hogan IntroductionHTML5 and CSS3: Develop with Tomorrow's Standards Today by Brian Hogan tmux: Productive Mouse-Free Development by Brian Hogan Web Development Recipes by Brian P. Hogan, Chris Warren, Mike Weber, Chris Johnson, Aaron Godin Development Editor with Pragmatic Bookshelf Professor at Chippewa Valley Technical College
01:48 - What Accessibility Means
02:56 - Making Websites AccessibleYSlow People vs Users
06:06 - “The Right Things”VersaBraille Responsive Web Design
09:00 - Tools & TechniquesFahrner Image Replacement (FIR) Web Fonts ⌘+
14:56 - Manipulating the DOMARIA - HTML5 Ember.js
16:54 - Screen Resolution
19:24 - Typeahead
20:58 - TestingJaws VoiceOver
23:11 - ResourcesWebAIM Web Content Accessibility Guidelines (WCAG) Section 508
25:00 - Dealing with different kinds of impairmentsTranscripts Text Color
28:08 - Ease of Accessibility & Empathy
31:41 - Interactive Pages
35:26 - Making things accessible vs not making things accessibleMaking experiences better for everyone, period
42:09 - Resources Cont’dWeb Content Accessibility Guidelines (WCAG) Pro HTML5 Accessibility by Joe O Conner Design Accessible Web Sites: 36 Keys to Creating Content for All Audiences and Platforms by Jeremy Sydik
42:46 - Understanding Others’ DifficultiesPicksLeviathan: Warships (Joe) Star Command (Joe) That Conference (Joe) Lowes (AJ) Friends (AJ) Ticket to Ride (Chuck) 4 Pics 1 Word (Chuck) Continuum (Chuck) AngularJS (Brian) Presentation Manager from Woojijuice (Brian)
Next Week
JavaScript Jabber: jQuery Mobile with Todd Parker
Transcript
MERRICK: Fine, don’t come to my talk.CHUCK: I won’t. I won’t even come to the conference.[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.][This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]CHUCK: Hey everybody, and welcome to Episode 58 of the JavaScript Jabber Show. This week on our panel, we have AJ O’Neal.AJ: Coming at you semi-live from ORM.CHUCK: Joe Eames.JOE: Hey everybody.CHUCK: Merrick Christensen.MERRICK: What’s up?CHUCK: I’m Charles Max Wood from Devchat.tv. And this week, we have a special guest. And that is Brian Hogan.BRIAN: Hello.CHUCK: Since you haven’t been on the show before, do you want to introduce your self really quickly?BRIAN: Sure, my name is Brian Hogan and I’m a web developer and I like to spend a lot of time hacking on code in Ruby and JavaScript. I also am an author. I’m a development editor with The Pragmatic Bookshelf. And I have a fabulous new gig where I get to teach brand new programmers how to get started programming now. So, that’s what I’m doing myself.CHUCK: So where’s that at?AJ: Cool.BRIAN: That’s at a little technical college in Eau Claire, Wisconsin called Chippewa Valley Technical College.CHUCK: Oh, cool. Yeah, speaking of your reviewing books for The Pragmatic Bookshelf, Ruby Rogues, we actually interviewed Bruce Williams and John Athayde about The Rails View this morning. They mentioned you, and I was like “Oh, we’re talking to him in a couple of hours.”BRIAN: Oh, those are some great guys and that’s a great book.CHUCK: Yup. So, the reason we brought you on the show is because, at least in my case, I know absolutely nothing about building accessible websites.Special Guest: Brian Hogan.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Use this link and code JAVAJAB to get 20% off your registration for FluentConf 2013!PanelZachary Kessin (twitter github Mostly Erlang Podcast) Jamison Dance (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
00:55 - Zach Kessin IntroductionProgramming HTML5 Applications Building Web Applications with Erlang Product Structure Mostly Erlang Podcast
03:01 - Functional ProgrammingHaskell LISP Scheme Erlang Underscore.js chain
06:44 - Monadq Maybe monad
11:33 - Functional Languages vs JavaScriptNo side effects
18:09 - Why Functional Programming?037 JSJ Promises with Dominic Denicola and Kris Kowal Higher order functions Ext JS
24:35 - Tail_callRecursion cdr car 044 JSJ Book Club: Effective JavaScript with David Herman
32:54 - Programming LanguagesSeven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (Pragmatic Programmers) by Bruce Tate
33:38 - Functional Programming Librariesvalentine Maybe.coffee q
36:13 - What do you miss in JavaScript?Pattern Matching
PicksVi Hart on Normalcy of Pi (Jamison) Sport Balls Replaced With Cats (Jamison) JavaScript Allongé by Reginald Braithwaite (Merrick) BonsaiJS (Merrick) Wringing out Water on the ISS - for Science! (Chuck) RequireJS (Chuck) Mostly Erlang (Zach) Boston PD (Zach) Iron Dome (Zach)
Next Week
Building Accessible Websites on a Podcast with Brian Hogan
Transcript[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.][This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]CHUCK: Hey everybody, and welcome to Episode 57 of the JavaScript Jabber Show. This week on our panel, we have Jamison Dance.JAMISON: Hello, friends.CHUCK: Merrick Christensen.MERRICK: Hi.CHUCK: I’m Charles Max Wood from Devchat.tv and this week, we have a special guest and that’s Zach Kessin.ZACH: Hey everybody.CHUCK: Did I say your name right, Zach?ZACH: Yep, you got it right.CHUCK: Alright. This week, we’re going to be talking about functional programming in JavaScript. You want to give us a little bit of a background on you, so that you can kind of explain, I don’t know, who you are and your expertise here?ZACH: Oh, okay. So yeah, I’m Zach Kessin. I’ve been a software developer for close to 20 years, on the web, close to 20 years now. My first web app in PHP version -- oh, not PHP, in Perl version 4 with mSQL, because MySQL didn’t exist yet. That was, like, 1994. And let’s see, I’ve been doing web applications ever since. Worked in Boston area, in London and then in Israel for about 10 years now. I’m also the author of ‘Programming HTML5 Applications’ and ‘Building Web Applications with Erlang’, both published by O’Reilly. And my interests include functional programming, code generation and concurrency in Erlang. So, well, that’s a different show. That’s sort of my background. And I work at a small Tel Aviv startup called Product Structure that we build [inaudible] components and workflows that will be self-optimizing on your website. So, that’s what we’re doing. We’re launching it soon.CHUCK: Cool.MERRICK: Very cool.CHUCK: You just launched your own podcast, didn’t you?ZACH: Yeah. I just launched my own podcast called ‘Mostly Erlang’. It’s going to cover Erlang and occasionally other functional languages like Haskell and OCML. We had our first, we recorded our first episode last week. And the first episode is called ‘Building Skynet’. And the second episode will be on the Webmachine framework, which is an HTTP framework, backend framework though, to do semantically correct Webmachine.Special Guest: Zach Kessin.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Use this link and code JAVAJAB to get 20% off your registration for FluentConf 2013!PanelDerick Bailey (twitter github blog) AJ O’Neal (twitter github blog) Merrick Christensen (twitter github) Joe Eames (twitter github blog) Tim Caswell (twitter github howtonode.org) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:03 - Derick Bailey IntroductionKendo UI
02:11 - Marionette.jsBackbone.js Zombie Views
06:57 - How backbone.js helps with large-scale applicationsScalability
08:42 - High-level application architecture path with Marionette.jsBBCloneMail BBClone Mail Source Code
13:02 - Breaking down Marionette.jsmarionettejs / backbone.babysitter marionettejs / backbone.wreqr
16:02 - The value of using Marionette.jsTree views Table rendering
18:23 - Application Structure
20:17 - backbone.wreqr
26:20 - Memory ManagementSingle-page applications Simplicity & maintainability
34:23 - RoutingSingle responsibility principle boazsender / backbone.routefilter
41:40 - Compatibility IssuesThorax Chaplin tbranyen / backbone.layoutmanager backbone.stickit Composition vs Inheritance
48:57 - Layouts, region managers, and regionsPicksRaynos / continuable (Tim) asm.js (Joe) Arrested Development (Joe) Learn CSS Layout (Merrick) Data in Gapminder World (Merrick) BYU Easter Prank (AJ) Ryan and Bryndi Engagement Story (AJ) Ryan and Bryndi Wedding Day (AJ) Libsyn (Chuck) Get Clicky (Chuck) Arduino (Derick) Johnny-Five (Derick) BackboneRails Screencasts (Derick) Settler's Of Catan (Derick) Ticket To Ride (Derick) Carcassonne (Derick) JavaScript Patterns by Stoyan Stefanov (Derick) Patterns For Large-Scale JavaScript Application Architecture: Addy Osmani (Derick) Learning JavaScript Design Patterns by Addy Osmani (Derick) Developing Backbone.js Applications: Addy Osmani (Derick)
Next Week
Functional Programming with Zach Kessin
Transcript
MERRICK: Tim, is there anything that you don’t follow up with, "I actually wrote that a few years ago?"[Laughter]TIM: Yeah.AJ: I was wondering the same thing.[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.][This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]CHUCK: Hey everybody, and welcome to Episode 56 of the JavaScript Jabber Show. This week on our panel, we have AJ O’Neal.AJ: Yep, I’m here.CHUCK: Tim Caswell.TIM: Howdy?CHUCK: Joe Eames.JOE: Hey, everybody.CHUCK: Merrick Christensen.MERRICK: What’s up?CHUCK: And we have a special guest, Derick Bailey.DERICK: Hey, how’s it going?CHUCK: I guess, I should say I’m on here too. I’m Charles Max Wood from Devchat.tv. Derick, do you want to introduce your self really quickly?DERICK: Sure. Derick Bailey, obviously. I work for Kendo UI at the moment. We build HTML 5 and JavaScript controls for the web and global and all kinds of fun stuff. I’ve been working in JavaScript off and on for, let’s see, it was released in ’94. So, about 19 years, I guess. I got into it right when it was first out in Netscape 2.0 and it was a love/hate relationship for a long, long time until I finally found that I really do love it in the last couple of years and started working with it full time. I’m just enjoying the heck out of it at the moment with all of this server side stuff we can do in Node.js and all the big apps we can build with Backbone and Ember and Angular and everything else.CHUCK: Nice.JOE: That was a lot of enthusiasm, I liked it.MERRICK: Yeah.CHUCK: Yeah. It’s like JavaScript’s cool again or something.DERICK: Yeah, it’s crazy. Everything old is new again.MERRICK: Why can’t I be that happy?Special Guest: Derick Bailey.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Use this link and code JAVAJAB to get 20% off your registration for FluentConf 2013!
Panel AJ O’Neal (twitter github blog) Merrick Christensen (twitter github) Joe Eames (twitter github blog) Jamison Dance (twitter github blog) Discussion
00:57 - What does it mean to be a “web developer” “T-shaped skills” 11:01 - Minumum level entry skills you need to become a web developer HTML CSS JSHint Jade less.js jquery 19:39 - CSS Jade 24:24 - Mid-Senior level skills you need to become a web developer Networking HTTP Wireshark Build systems node.js NoSQL Netcat MVC frameworks Preprocessers REST Picks Prime Workers (AJ) Adobe Illustrator (AJ) Vagrant (Merrick) Puppet (Merrick) Mountain West Ruby Conference (Jamison) TXJS (Jamison) Breeze.js (Joe) edge.js (Joe) 'Arrested Development' Comes Back On Netflix On May 26, So Get Extra Sleep Now: Linda Holmes (Joe) Intro to Networking with Netcat and NodeJS (AJ) Intro to HTTP with Netcat, Node, Connect (AJ) Next Week
Marionette.js with Derick Bailey Transcript [Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.] JAMISON: Hey guys and welcome to JavaScript Jabber. I’m your guest host today, Jamison Dance. Chuck is at Mount West Ruby Conference today and we have a bunch of panelists today. The first one is AJ O’Neal. AJ: Yo! Yo! Yo! Coming at you as live as I can from Provo, Utah. JAMISON: We’ve got Merrick Christensen. MERRICK: What’s up? JAMISON: And we’ve got Joe Eames. JOE: Hey, how’s it going? JAMISON: Today, we’re talking about just general web development skill sets, like what do you need to know to be a web developer? We should probably start off and define what a web developer is first because I think that it’s a really overloaded term. What do you guys think it means to be a ‘web developer’? I’m doing air quotes right now. JOE: Merrick and I have had some conversations about this and it’s like I feel like his opinion of what a web developer is, is slightly different than mine. And maybe I’m coming more in line with what his definition is. So, I want to hear his first. MERRICK: My definition? JOE: Yeah, go. MERRICK: So, one of the things that I see a lot of people saying as a web developer is people who come from traditional software engineering backgrounds and they come thinking that they can avoid HTML and CSS altogether. I think that’s a really dangerous approach because then you end up moving too much into JavaScript. And then, you have the opposite problem where people just don’t understand programming well and they end up with sort of jQuery spaghetti code. Which I think is okay for a lot of the brochure style sites, a lot of the maybe WordPress or content driven sites you can get by with just being really solid at HTML/CSS and then below average with JavaScript. But I think if you want to be a web application developer, you’re going to have to be solid on all three of those technologies, CSS, HTML, JavaScript and depending on the app that may include CSS preprocessors et cetera. JOE: You said web application developer, right? MERRICK: Yeah. I think there’s a difference. JOE: Yeah, okay. For mine, one of the things that I feel like is I’m weak with CSS, right? And so, I kind of have this disdain about people that are like, “Oh, you don’t know CSS, huh? Well, that’s a problem.” And I want to say, “Well, yeah I’m not great with CSS.” I can tread water. But I can’t take a screen shot that some designer puts together in Illustrator and then turn it into a web page and feel like I’m doing it right. I always want to turn to an expert and say, “Hey, what do you think of this layout?
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Use this link and code JAVAJAB to get 20% off your registration for FluentConf 2013!PanelDavid Herman (twitter blog Effective JavaScript) Ariya Hidayat (twitter github blog) Tim Caswell (twitter github howtonode.org) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
00:48 - David Herman and Ariya Hidayat Introduction044 JSJ Book Club: Effective JavaScript with David Herman 023 JSJ Phantom.js with Ariya Hidayat
01:54 - Parsing JavaScript and ASTs and Language Grammars
04:44 - Semantics
06:08 - Abstract Syntax Tree (AST)Esprima: Parser SpiderMonkey
10:37 - Lexer
12:16 - Writing your own languagecreationix / jack The C Programming Language
17:41 - Parser GeneratorsJavaScriptCore
21:04 - Evolving a Syntax
Automatic Semicolon InsertionPost correspondence problem Halting problem
28:05 - Language DesignThe Rust Programming Language
30:35 - GrammarRegular Expressions (Regex) Backus–Naur Form (BNF) Recursion How to Design Programs (HTDP)
38:00 - Recursive Descent Parsers
42:48 - Benefits of knowing language internals and syntaxApache Lucene - Apache Lucene Core LPeg - Parsing Expression Grammars For Lua
48:48 - Abstract Syntax Tree (AST)PicksMass Effect 3 (Joe) A Beginner's Guide to Irrational Behavior | Coursera (Joe) Go write a programming language to learn one (Tim) Thumbs and Ammo (Jamison) ISM by Savant (Jamison) Vimcasts (Jamison) The iPhreaks Show (Chuck) Mozy (Chuck) Tech & Go Bright Pink Micro USB Cable (David) asm.js (David) Beyond Office Politics: The Hidden Story of Power, Affiliation & Achievement in the Workplace by Linda Sommer (Ariya) gotwarlost / istanbul (Ariya)
Next Week
Web Developer Skills
Transcript
JAMISON: I am Linus Torvalds and I pronounce Linux, Linix.[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.][This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]CHUCK: Hey everybody and welcome to Episode 54 of the JavaScript Jabber Show. This week on our panel, we have Tim Caswell.TIM: Hello.CHUCK: Jamison Dance.JAMISON: Hi guys.CHUCK: Joe Eames.JOE: Hey there.CHUCK: Merrick Christensen.MERRICK: Hey guys, what’s up?CHUCK: I’m Charles Max Wood from DevChat.tv. And we have two special guests this week. We have Dave Herman.DAVID: Hey there.CHUCK: Ariya Hidayat.ARIYA: Hello everyone.CHUCK: And these guys are so smart that we brought them back. So, if you’re interested, we’ll put links to the episodes that they were on. David was on when we talked about his book ‘Essential JavaScript’ and Ariya was on when we talked about PhantomJS.JAMISON: Effective JavaScript.CHUCK: Effective? What did I say?MERRICK: Essential.CHUCK: Essential? Well, it’s an essential book on Effective JavaScript. How’s that?[Laughter]MERRICK: Good save.DAVID: At least, you didn’t say Defective JavaScript.[Laughter]CHUCK: No, that’s what I write. I’m really good at writing defective JavaScript.ARIYA: Actually, there’s a book about Essential on Defective JavaScript.CHUCK: I also want to announce really quickly that Fluent Conf has given us a discount code. So, if you want to get 20% off on your registration for Fluent Conf, just enter JAVAJAB and you’ll get 20% off when you register for Fluent Conf.Alright. Well, let’s get started. This is going to be a really, really interesting topic and it’s something that I’ve wanted to know more about for a long time. And I just haven’t delved as deeply into it as I would like to. And that is,Special Guests: Ariya Hidayat and David Herman.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Use this link and code JAVAJAB to get 20% off your registration for FluentConf 2013!
PanelJoe Eames (twitter github blog) Jamison Dance (twitter github blog) AJ O’Neal (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
02:48 - External ConflictsDealing with people outside your own team
07:04 - Areas of Expertise
08:45 - Expectations and DeadlinesMultiple Layers of Hierarchy Differences in Goals
13:47 - Flatter Structure Approach
15:21 - The Search for DevelopersFinding the ideal people What makes an ‘A Player’? Intellectual Capability
19:47 - Team Scaling/ Scaling AgileScaling Agile @ Spotify How Stripe Builds Software, with Greg Brockman
25:10 - Team Diversity
29:57 - Team DynamicsAttitude Different: Escaping the Competitive Herd by Youngme Moon (Joe)
35:00 - Specialization
40:08 - Dealing with someone you don’t likeCircumventing Confrontation
50:52 - Dealing with a non-engaged personPicksHonest and open conversations (Merrick) Noah Gundersen (Merrick) Oz the Great and Powerful (Joe) Different: Escaping the Competitive Herd by Youngme Moon (Joe) The Gifts of Imperfection: Let Go of Who You Think You’re Supposed to Be and Embrace Who You Are by Brené Brown (Joe) King of Tokyo (Joe) AngularJS (Joe) Kiki's Delivery Service (Jamison) Local 0.2.2 (Jamison) Ciaran Jessup (AJ) Psych Season 7 (AJ) Google+ Hangouts (AJ) ScreenFlow (AJ) Jing (Chuck) Transmit (Chuck)
Next Week
JavaScript Parsing, ASTs, and Language Grammar w/ David Herman and Ariya HidayatTranscript
CHUCK: So, team dynamics this week?JOE: Sorry, is that our discussion or is that what we decided to call ourselves?[Laughter]CHUCK: It’s our discussion topic this week.AJ: We are Team Dynamics.JOE: Because if we’re going with names, I would like to submit the Wolverines.CHUCK: The Wolverines? I think it’s taken by a University around here.AJ: Yeah, and my high school back in Virginia, and that dude from New Zealand who plays in X-Men.CHUCK: That dude?AJ: Yeah, that dude, Hugh Jackman.CHUCK: [Chuckles][Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.][This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]CHUCK: Hey everybody, and welcome to Episode 53 of the JavaScript Jabber Show. This week on our panel, we have Joe Eames.JOE: Hi there.CHUCK: Jamison Dance.JAMISON: Hello, my mission is to bring calm to the boiling cauldron of hate that is the Internet.CHUCK: AJ O’Neal.AJ: Yo! Yo! Yo! Coming at you live from the pulling my hair out over Iowa.CHUCK: Merrick Christensen.MERRICK: What up?CHUCK: I’m Charles Max Wood from DevChat.tv and don’t forget to use that code to get into Fluent Conf.MERRICK: It’s a big conference. You can go to FluentConf.com for the schedule, happens May 28th to the 30th, it’s at the Hilton Union Square in San Francisco. And for our listeners, you can actually get 20% off on your ticket using JAVAJAB. And that will give you 20% off on the registration.CHUCK: This week, we’re going to be talking about team dynamics and all the fun stuff that goes with it. To start us off, I kind of want to ask because I always get good stories from people when I ask questions like this. What is your worst team experience?JOE: That’s quite a way to start it off. It sounds like a good way to get me to burn some bridges.AJ: No, no, I know this one…JAMISON: I played little league and I was scared of the ball. And I had the bat and I was really short and they wanted me to bat first because I’d be walked all the time to get on base but I just wanted to quit.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Use this link and code JAVAJAB to get 20% off your registration for FluentConf 2013!
PanelIsaac Schlueter (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:33 - Isaac Schlueter IntroductionNPM Node
02:33 - Node Backstoryv8 SpiderMonkey Joyent
05:37 - Node and New FeaturesNode.js v0.10.0 Manual & Documentation v8
13:30 - Language AccommodationsTC39 Luvit libev libuv eventmachine @ GitHub Zedd Shaw
22:32 - C++LibEVN - Node in C
25:19 - New Streams API30:37 - Semantic VersioningExperimental versions
33:01 - NPM39:30 - Issac’s Future41:06 - DiscoveryRecommendation Engine Exposing Quality of Modules Code Quality
47:18 - Advice for Adopting NodeJoyent The Node Firm StrongLoop Iris Couch
PicksWild at Heart Revised and Updated: Discovering the Secret of a Man’s Soul by John Eldredge (Joe) The Aquabats (Jamison) User Feedback: Isaac Schlueter (Jamison) Fluent 2013 (Merrick) Code: JAVAJAB So Good They Can’t Ignore You: Why Skills Trump Passion in the Quest for Work You Love by Cal Newport (Merrick) StarCraft II (Merrick) Moving to GruntJS: AJ ONeal (AJ) Intro to JSHint: Training Wheels for JavaScript: AJ ONeal (AJ) Gimp (AJ) And Another Thing... (The Hitchhiker’s Guide to the Galaxy) by Eoin Colfer Free Music Downloads on Last.fm (AJ) Blackbird Blackbird - Hawaii (AJ) Hazel (Chuck) Mac Power Users (Chuck) Nonviolent Communication: A Language of Life (Isaac)
Next Week
Software Team Dynamics
Transcript
CHUCK: You all ready?JAMISON: Super ready.AJ: So ready. JOE: I was born ready.MERRICK: I was molded by ready.[Laughter]CHUCK: Alright.[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.][This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]CHUCK: Hey everybody and welcome to Episode 52 of the JavaScript Jabber Show. This week on our panel, we have Joe Eames.JOE: Hey there.CHUCK: We also have Merrick Christensen.MERRICK: What up?CHUCK: AJ O’Neal.AJ: How do you decide the order each week?CHUCK: I just make it up.AJ: Okay. It’s only random.CHUCK: And Jamison Dance.JAMISON: Hey guys.CHUCK: I’m Charles Max Wood from DevChat.tv and we have a special guess that’s Isaac. I know I’m going to destroy your last name. Let me see if I can say it… You say it.ISAAC: Schlueter.CHUCK: Schlueter!ISAAC: Yeah.AJ: That’s so much easier than I’d ever imagined.[Laughter]ISAAC: I wanted to hear Chuck keep going on that.JOE: Yeah, it’s pretty good.CHUCK: It has extra constantans in it, it throws me off. And then extra vowels.MERRICK: I heard him just crying, “Shu...shu…” [Laughs]ISSAC: I have relatives that can’t say it right and it’s their name so…[Laughter]CHUCK: Alright. Well, do you want to introduce yourself real quickly since you haven’t been on the show?ISAAC: Sure. I am the author of NPM and I’ve been maintaining Node for the last -- Jesus! It’s been almost a year and a half now, a year or so.CHUCK: So just a couple small projects that nobody’s heard of, right?[Laughter]ISAAC: Yeah, a handful of little things on GitHub.CHUCK: Is there anything else we have to know about you?ISAAC: I enjoy changing my Twitter avatar to things that are funny or disturbing or preferably both.[Laughter]ISAAC: And, I don’t know.CHUCK: Alright. Well, we really appreciate you coming on the show.AJ: That is pretty disturbing dude. You’ve got your face on a really overweight cat.Special Guest: Isaac Schleuter.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelAJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:02 - Panelist employment backgrounds04:34 - Programming job marketNetworking
06:31 - How to get a job doing what you likeBetterServers Skunkworks project
09:36 - Qualifications11:40 - How you find jobsBeing active in online and offline communities Mailing list advertisement Recruiters and job boards
15:51 - Resumes19:27 - Interviews“I don’t know.” Pairing
24:50 - Company fit095 RR People and Team Dynamics with Joe O’Brien Contract to hire work
30:47 - What makes somewhere a good place to work?Autonomy
40:32 - FreelancingThe Ruby Freelancers Show
PicksPsych Season 7 (AJ) The Fradio - MediaBox (AJ) Das Keyboard Model S Ultimate Mechanical Keyboard (Jamison) 48 Days to the Work You Love: Preparing for the New Normal by Dan Miller (Chuck) No More Mondays: Fire Yourself -- and Other Revolutionary Ways to Discover Your True Calling at Work by Dan Miller (Chuck) 48 Days Podcast (Chuck) From the Dust (AJ)
Next Week
Node.js 0.10 Release with Isaac Schlueter
Transcript[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.][This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]CHUCK: Hey everybody and welcome to Episode 51 of the JavaScript Jabber Show. This week on our panel, we have AJ O’Neal.AJ: Yo! Yo! Yo! Chuck, did you realize that this is like our anniversary?CHUCK: Our anniversary was in January actually. Though, we missed a handful of episodes. Otherwise, it would be. Yeah.AJ: Yeah, whatever. I don’t know whether or not I'm alive. I don’t know when our anniversary is. I don’t know nothing.CHUCK: [Laughs] We also have Jamison Dance.JAMISON: Hey guys!CHUCK: I'm Charles Max Wood from DevChat.tv. And this week, we’re going to be talking about finding a job.I'm a little curious. AJ, you're freelance now, aren’t you?AJ: Yeah, kind of.CHUCK: Kind of.AJ: Mostly, I'm just working on projects that I've been wanting to work on. I haven't actually sought out a lot of work.CHUCK: Oh, okay. And Jamison is empris -- or employed.JAMISON: [Laughs] Or happily employed.CHUCK: I'm freelance as well, been a freelance for a few years now. So, and I know that Tim went freelance. I don’t know if that stuck or not. It sounded like it has, at least, until he decides he wants to be somewhere else.JAMISON: Merrick and Joe are both employed though.CHUCK: Yeah. They both work at Domo.JAMISON: They're like half and half, I guess, now.CHUCK: So, how many places have you guys worked at as programmers?AJ: I just worked at BYU and SpotterRF.JAMISON: I have worked at four places. But one of them, I did PHP and Drupal. I don’t know if I could count that as a programmer then.CHUCK: [Laughs] You plucked out the bad memories.JAMISON: Yeah. Well, it was great for the time. It was [inaudible].CHUCK: Yeah. I did IT at BYU. I didn’t ever actually work for them as a programmer. And then, I ran tech support at Mozy and I did programming there but it wasn’t part of my job description. My job description was to run the Tech Support Department. So, people would call in with problems with Mozy and we would help fix them. But we needed an Issue Management System, our ticketing system, whatever you want to call it. And we also needed some kind of knowledge base. And the company really didn’t want to spring for it. So, I wound up building it.AJ: Cool! [Chuckles]CHUCK: And that’s kind of how I made the transition into programming because after working on that for a while,
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Panel
Jörn Zaefferer (twitter github blog)
Jamison Dance (twitter github blog)
Joe Eames (twitter github blog)
Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:15 - Jörn Zaefferer IntroductionjQuery QUnit
02:32 - QUnitjQuery Mobile Introduction to Unit Testing | QUnit
06:59 - Built-in support for HTML fixtures for your tests08:50 - Unit Testingjoshuaclayton / specitmmonteleone / pavlov11:57 - Assertionsfn:deep-equal
15:49 - Why use QUnit?unit testing - QUnit vs Jasmine - Stack Overflowstacktrace.js
023 RR Book Club: Smalltalk Best Practice Patterns with Kent Beck26:01 - User experience for user interface30:03 - Continuous integration setupsJenkins CI PhantomJS 023 JSJ Phantom.js with Ariya Hidayat
jquery / testswarmjQuery's TestSwarmBrowserStack
36:55 - Testing in JavaScriptSauce Labs: Cloudified Browser Testing Testacular SeleniumHQ
43:35 - Add-onsPicksMYO - The Gesture Control Armband (Jamison) Mailbox (Jamison) Testing Clientside JavaScript (Joe’s Course) (Joe) DragonBox (Joe) Breeze.js (Joe) Anker Battery Pack (Chuck) App.net (Chuck) Leap Motion (Jörn) jQuery Validation Plugin Pledgie (Jörn)
Next Week
Finding a job
Transcript
JOE: I'm really glad that I didn’t know you when Star Wars first came out....Dude! Vader’s Luke’s father.[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.][This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]CHUCK: Hey everybody and welcome to Episode 50 of the JavaScript Jabber Show. This week on our panel, we have Jamison Dance.JAMISON: Hello friends.CHUCK: We have Joe Eames.JOE: Hey, everybody.CHUCK: I'm Charles Max Wood from DevChat.tv. I'm the only person on this particular episode whose name does not start with J.We also have -- I know I'm going to destroy this name. Jorn Zaefferer.JORN: Hi! Yeah, it’s me. You should have practiced the last name too.CHUCK: Yeah.JOE: You should pronounce that correctly for us so we know.JORN: Jorn Zaefferer.CHUCK: Alright. Well, I can say Jorn. So, I’m going to stick with that.JORN: Yeah, that works.CHUCK: Do you want to introduce your self for the people who aren’t aware of who you are and what you do?JORN: Sure. I'm a freelance software developer since a little bit more than two years now. I am involved a lot in the jQuery project and have been involved in that for years. So far, I'm the only person on the Board of Directors of the jQuery Foundation outside of the US. And for the jQuery project, I'm working mostly on jQuery UI and the testing tools. So jQuery UI, I'm one of the lead developers. One was Scott Gonzalez. For the testing tools, I'm leading that team. So, I'm trying to get contributions from other people so things move along evenly. There’s usually much more work to do than I can handle myself. So, I’m trying my best to get open source going there.CHUCK: So, you work on jQuery UI and QUnit?JORN: I’m working on the jQuery UI and the testing tools which involves QUnit and a few other things. QUnit is the one that’s actually featured in the jQuery site. We also have TestSwarm and even smaller tools that eventually should get there as well. It’s much more influx than QUnit is.CHUCK: Interesting. So, we brought you on the show to talk about QUnit. Joe is kind of our testing guru as far as JavaScript goes. Is QUnit just a unit testing framework or do you provide other tools for integration with a backend or other libraries?JORN: QUnit focuses mostly on unit testing. But people usually end up using it for other things as well. I heard a story where someone was using QUnit to do performance regression testing.Special Guest: Jörn Zaefferer.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelValerio Proietti (twitter github) Arian Stolwijk (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Jamison Dance (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:08 - Arian Stolwijk IntroductionMooTools Developer Symbaloo
01:39 - Valerio Proietti IntroductionMooTools Creator Spotify
02:21 - What is MooTools?Github - MooTools
07:04 - The Class Systemmootools / prime
09:36 - Milk10:25 - Design GoalsGhost
11:19 - Primemootools / wrapup CommonJS
14:18 - MooTools vs jQuery19:53 - Using MooTools and jQuery togetherObject Oriented jQuery with MooTools @jQuery Conference: Ryan Florence
21:08 - MooTools for Frameworksepitome neuro Github - MooTools
23:48 - ChainingMooTools Demos - Chaining
26:59 - Request API for Ajax calls29:11 - Favorite MooTools-using WebsitesSpotify 9GAG
29:45 - AccomplishmentsClass System wrapup arian / prime-util
31:36 - The history of MooToolsscript.aculo.us moo.fx
PicksWasteland 2 (Joe) The Lost Fleet Series by Jack Campbell (Joe) MooTools (Merrick) People who can ride on airplanes for the first time (Merrick) ES6 Module Transpiler - Tomorrow's JavaScript module syntax today (Jamison) ajacksified / song-of-github (Jamison) Community Vote for OpenWest Conference 2013 (Jamison) walmartlabs / hapi (Jamison) Cornify (Chuck) Parade of Homes (Chuck) Dave Ramsey's Financial Peace University (Chuck) Floby / node-libspotify (Valerio) visionmedia / superagent (Valerio) kamicane / moofx (Valerio) Why Mozilla Matters: Brendan Eich (Arian) Ubuntu (source code) (Arian)
Next Week
QUnit with Jörn Zaefferer
Transcript
MERRICK: Yeah, call me Mer-rock, I’m cool with that.[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.][This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]CHUCK: Hey, everybody and welcome to Episode 49 of the JavaScript Jabber Show. This week on our panel, we have Joe Eames.JOE: Howdy.CHUCK: We have Merrick Christensen. MERRICK: Hey, guys.CHUCK: Jamison Dance.JAMISON: Hello friends.CHUCK: And I'm Charles Max Wood from DevChat.tv. And I just want to remind you, if you're going to sign up for Rails Ramp Up, you have one week.We also have two special guests and that is Valerio ProiettiVALERIO: Hello.CHUCK: And Arian Stolwijk.ARIAN: Hello.CHUCK: And I think I got close on those names. Okay. So, why don't we have Arian go first? I'd like you just to introduce yourself really quickly for people who aren’t familiar with who you are?ARIAN: So, I’m Arian. I'm a MooTools developer mostly. Besides that, I work for a company called Symbaloo which is bookmark website page. Besides that, I'm actually still studying for my Master’s Degree in Embedded Systems. And that's about it.CHUCK: Cool. And Valerio, do you want to introduce yourself?VALERIO: Sure. Well, I created MooTools a few years ago and since then, a lot of cool people have joined the project like Arian who we have here today. I’m currently working in Sweden at Spotify.CHUCK: Oh, cool!MERRICK: Very cool!CHUCK: Yeah, we like Spotify.MERRICK: Is that the headquarters of Spotify is in Sweden?VALERIO: Yeah, this is the where the magic happens. They have other offices but they're not as important as the Swedish one.[Laughter]VALERIO: I'm kidding. Everybody’s important, not just the Swedish one.CHUCK: Very nice, very nice. Alright. So, do you guys want to just take a minute and explain what MooTools is? I think people have some idea, but just to get kind of a base line for the rest of the conversation.VALERIO: Yes,Special Guests: Arian Stolwijk and Valerio Proietti.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelJoe Eames (twitter github blog) Tim Caswell (twitter github howtonode.org) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) AJ O’Neal (twitter github blog)
Discussion
00:56 - Why JavaScript is hard to learn02:30 - This05:30 - Bind09:11 - Browsers11:01 - Class-based inheritancePrototypal inheritance
16:37 - New function18:51 - Closures20:51 - JavaScript is asynchronous22:14 - Variable scopingHoisting
26:14 - Numbers and math(AJ joins the podcast) == ’s vs === ’s
32:15 - Things that make JavaScript hard after learning JavaScriptPackage management
35:06 - Numbers (cont’d)Crypto Bitwise operations Strings Effective JavaScript by David Herman 044 JSJ Book Club: Effective JavaScript with David Herman
40:16 - Changing/Evolving JavaScript43:31 - Environmental reasons that make JavaScript HardTooling
48:25 - Few projects are primarily JavaScript49:07 - Adolescence and the JavaScript Ecosystem53:59 - Running JavaScript
PicksSharpie Metallic Silver (AJ) The how and why of auto-executing functions (in JavaScript) (AJ) The JavaScript Unicycle (AJ) RSA (Tim) OUYA (Tim) Borderlands 2 (Joe) MechWarrior Tactics (Chuck) Testing Clientside JavaScript (Joe) Fire Up Ember.js | PeepCode (Chuck) Meet Chef (Part 2 of 2) | PeepCode (Chuck)
Next Week
MooTools with Arian Stolwijk and Valerio Proietti
Transcript
TIM: I’m just learning lots of math and attempting to do real math in JavaScript is a fun challenge.[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.][This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]CHUCK: Hey everybody and welcome to Episode 48 of the JavaScript Jabber show. This week on our panel, we have Joe Eames.JOE: Howdy!CHUCK: We also have Tim Caswell.TIM: Hello!CHUCK: And I’m Charles Max Wood from DevChat.tv. And when this episode goes out, you’re going to have about two weeks left if you wanted to sign up for my Rails Ramp Up course. You’ll find that at RailsRampUp.com. I’ve been working hard on that.This week, we’re going to talk about why JavaScript is hard. And I think it was Tim that came on and said, “So, we’re talking about why JavaScript sucks?” And I didn’t want to call it that but at the same time, it’s one of the -- I think the reasons that people find JavaScript hard and the reasons some people say that JavaScript sucks are kind of the same thing. So, if you want to think of it that way, go right ahead.But I kind of wanted to talk about this for a couple of reasons. One was that I was at the users’ group meeting last week and they talked about some of the things that make JavaScript hard and I don’t remember what they all were. But there were a few things that, there are some concepts that are markedly different from what you find in other languages or at least some of the concepts exist in the other languages but they aren’t kind of as important or as in-your-face as they are in JavaScript.Anyway, the other reason is that I was thinking about when I first started this show. And when I first started the show, I was a web developer that was kind of like, “jQuery, whoo!” And thought jQuery and JavaScript, you know, were mostly the same in the sense that the only way to write sane JavaScript was to use jQuery. And so, I wanted to talk around some of the things that I’ve learned over the last year from the other panelists and help people who are coming into JavaScript understand the real power behind some of these other concepts.So that being said, let’s go ahead and get started. I’m a little curious as to what you guys think are some of the hard things that people run into in JavaScript, like why do they struggle with it?TIM: Alright. So,
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelTom Dale (twitter github blog Tilde Inc.) James Halliday (twitter github substack.net) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Merrick Christensen (twitter github) Joe Eames (twitter github blog) Tim Caswell (twitter github howtonode.org) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:52 - James Halliday Introductionbrowserify
02:37 - Tom Dale IntroductioniCloud Ember.js Big Data & Hadoop
04:47 - Specialized vs Monolithicgithub.com/tildeio Idiology Micro Libraries
14:13 - Learning Frameworks18:04 - Making things modular25:23 - Picking the right tool for the job27:44 - voxel.js & emberjsemberjs / packages BPM - Browser Package Manager NPM - Node Packaged Modules
testling-ciBackbone.js38:19 - Module SystemsCommonJS41:14 - Cloud9 Use Case43:54 - BugsjQuery Source Code
PicksjQuery 2.0 (Merrick) ECMAScript 6 Module Definition (Merrick) AMD (Merrick) Yiruma (Joe) Elementary (Joe) Miracle Berry Tablets (AJ) The Ubuntu You Deserve (AJ) Bravemule (Jamison) RealtimeConf Europe (Tim) visionmedia / cpm (Tim) Why I Love Being A Programmer in Louisville (or, Why I Won’t Relocate to Work for Your Startup: Ernie Miller (Chuck) Is Audio The Next Big Thing In Digital Marketing? [Infographic] (Chuck) testling-ci (James) voxel.js (James) CAMPJS (James) Discourse (Tom) Williams-Sonoma 10-Piece Glass Bowl Set (Tom) The Best Simple Recipes by America’s Test Kitchen (Tom)
Next Week
Why Javascript is Hard
Transcript
JAMISON: You can curse but we will just edit it out and replace it with fart noises.TOM: I’ll be providing plenty of my own.[Laughter]JAMISON: Okay, good.[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.][This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]CHUCK: Hey everybody and welcome to Episode 47 of the JavaScript Jabber show. This week on our panel, we have AJ O’Neal.AJ: Yo! Yo! Yo! Coming at you not even live!CHUCK: [Laughs] Alright, Jamison Dance.JAMISON: Hi guys, it’s tough to follow that.CHUCK: Merrick Christensen.MERRICK: Hey.CHUCK: Joe Eames.JOE: Howdy!CHUCK: Tim Caswell.TIM: Hello.CHUCK: I’m Charles Max Wood from DevChat.tv. And this week, we have two guests. The first one is Tom Dale.TOM: Hey, thanks for having me.CHUCK: The other is James Halliday.JAMES: Yep. Hello.CHUCK: Welcome to the show, guys. We were having a conversation a while back, I don’t remember if it was during another episode or after another episode. But we were having a discussion over code complexity and having like small simple libraries or small simple sets of functionality versus large monolithic sets of functionality, and how to approach those and when they’re appropriate. So, we brought you guys on to help us explore this because you're experts, right?TOM: I don’t think that’s a fair analysis of the situation, but we can certainly fumble our way through something.[Laughter]CHUCK: Alright. So, why don’t you guys, real quick, just kind of introduce yourselves? Give us a little background on what your experience is so that we know which questions to ask you guys.James, why don’t you start? I know you’ve been on the show before.JAMES: Hello. I suppose I wrote Browserify which is relevant here. It’s a common JS style, bundler packager thing that just uses NPM. And I have a bunch of other libraries. And I really like doing data development as just a bunch of little modules put together. They are all published completely independently on NPM. I think I’m up to like 230-ish some odd modules on NPM now. So, I’ve been doing that and I really like that style.Special Guests: James Halliday and Tom Dale.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelJoe Eames (twitter github blog) Merrick Christensen (twitter github) AJ O’Neal (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
03:19 - The Future of JavaScript and ES6es-discuss -- Discussion of ECMAScript @esdiscuss six ES6 in node.js
@brendaneich (Brendan Eich)@rwaldron (Rick Waldron)10:18 - Getting News about JavaScript@derickbailey (Derick Bailey) @tjholowaychuk (TJ Holowaychuk aka Vision Media) @substack (James Halliday) @maxodgen (Max Ogden) Peter Cooper’s JavaScript Weekly Peter Cooper’s HTML5 Weekly @badass_js (Badass JavaScript) @seb_ly (Seb Lee-Delisle)
12:43 - BlogsBen Alman James Burke LosTechies Alvin Ashcraft’s Morning Dew The Changelog reddit
17:02 - FilteringReadability
Pocket (formerly Read It Later)Instapaperthree.jsUTOSC 2012 Machine Learning in JavaScript Jamison Dance VIDEO002323:21 - The CommunityAirbnb Meetups Addy Osmani: Articles for Developers Utah JS Utah Software Craftsmanship Group Ruby Rogues Parley
27:33 - Podcasts and VideosThe Changelog YUI Theater (Yahoo Theater) Google Tech Talks Coursera InfoQ Talks to Help You Become A Better Front-End Developer in 2013: Addy Osmani How To Stay Up To Date on Web Technology: Chris Coyier RubyTapas The JavaScript Show Wide Teams Emacs Rocks! The Breakpoint with Paul Irish and Addy Osmani NodeUp
35:53 - More BlogsHTML5 Rocks A Minute With Brendan Eich John Resig
36:16 - ConferencesCascadiaJS
JSConf
NodeConfPicksSherlock Holmes Consulting Detective (Joe) Might & Magic Clash of Heroes (Joe) Diet Coke (Merrick) Noah Gundersen (Merrick) Anis Mojgani (Merrick) How to create a bookmarklet (and load jQuery anywhere)! (AJ) So I installed Ubuntu Linux... Now what? (AJ) Doctor Who Sonic Screwdriver of the 10th Doctor (Chuck) Powermat Power Dual 1200 Rechargeable Backup Battery (Chuck)
Next Week
Monolithic vs Modular Design w/ Tom Dale and James Halliday
Transcript
AJ: I ate a lot of pickle chips this morning.[Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.][This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]CHUCK: Hey everybody and welcome to Episode 46 of the JavaScript Jabber show. This week on our panel, we have Joe Eames.JOE: Howdy!CHUCK: We have Merrick Christensen.MERRICK: Hey guys!CHUCK: AJ O'Neal.AJ: I was informed that I'm not actually live.CHUCK: [laughs] Charles Max Wood from Devchat.tv. And real quick I just want to mention...I know that most of the people who listen to this show are JavaScript developers, but if you're interested in learning Ruby on Rails, then I'm going to be teaching a course. It starts in March and you basically get unlimited access to me during the course, access of forms. It's going to be online live training and then coding and Q&A. So if you're interested in that, go to railsrampup.com and sign up.AJ: Now what is "unlimited" mean when you talk about access to you?MERRICK: [scoffs] Come on, man!CHUCK: [laughs] If I'm awake, I'm probably available to answer to all your questions.MERRICK: Do panelists get discounts?CHUCK: If you're interested, I can probably work something out.JOE: Interesting.CHUCK: In fact, I'm offering a discount for anyone who listens to the podcast. If you go and sign up and you enter the coupon code podcast, it'll give you $200 off.MERRICK: Oh nice! Nice!AJ: Panelists only get $50 off, though.CHUCK: That's right. It's like my dad when he graduated from demo school, his cousin came up to him and said "So, do we get a family discount?" and he says "Yeah, I'll charge you 50% more".MERRICK: [laughs] No, kidding!
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelAJ O’Neal (twitter github blog) Merrick Christensen (twitter github) Joe Eames (twitter github blog) Jamison Dance (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:11 - jQuery vs Prototype vs MooTools10:50 - JavaScript Going MainstreamFast Browsers Firefox Web Developer Tools V8 Web Stack
13:21 - Usable JavaScript17:05 - jQuery ProsCross-Platform CSS Selection Chaining
20:16 - jQuery Mobile20:48 - QUnit21:21 - Running jQuery in NodeScraping
22:32 - CSS Manipulation24:14 - jQuery UI25:19 - jQuery Community26:31 - jQuery PluginsAJ’s imageMerrick’s image29:52 - Ender & Zepto.js33:44 - jQuery ConsCustom Selectors Plugin Documentation API is too large
How to build your own jQuery52:15 - AJ lied about jQuery
PicksThe Robert C. Martin Clean Code Collection (Joe) Old Man’s War by John Scalzi (Joe) Human Connectome Project (Merrick) pahen / node-madge (Merrick) Hype Machine (Merrick) Nothing to Envy: Ordinary Lives in North Korea by Barbara Demick (Jamison) Men’s Medium Tall (AJ) Ubuntu Phone (AJ) Interpreted Dance (AJ) Aaron Frost (AJ) aaronfrost / getusermedia-gestures-preso (AJ) AJ’s Blog (AJ) Hydrofarm Thirsty Light (Chuck) Powermat Power Dual 1200 Rechargeable Backup Battery (Chuck)
Joe’s Pluralsight Page
Transcript:
MERRICK: Do you want to see my face?[Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] [This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]CHUCK: Hey everybody and welcome to Episode 45 of the JavaScript Jabber show. This week on our panel, we have AJ O’Neal.AJ: Yo! Yo! Yo! Coming at you live from the screencastosphere of Provo, Utah.CHUCK: So, I have to ask, AJ. You realize this is a podcast and that it’s coming to no one live, right?[Laughter]AJ: He’s got a good point.CHUCK: We also have Merrick Christensen.MERRICK: Yeah, I’m Merrick.CHUCK: Joe Eames.JOE: I’m not Merrick, I’m Joe.MERRICK: He’s Joe.CHUCK: Jamison Dance.JAMISON: Hello friends.CHUCK: And I’m Charles Max Wood from DevChat.tv. And this week, we’re going to be talking about jQuery.So, I’m assuming we’ve all used jQuery at least a little bit.JAMISON: Yes.MERRICK: Yup.CHUCK: If you’re doing web stuff, it’s pretty handy.MERRICK: Actually, the first JavaScript code I ever wrote was messing with somebody’s little jQuery stuff on a form. And I remember I couldn’t get it to all work right. So I just had to set async to false. And I was like, “Man, this JavaScript language is stupid!”CHUCK: [Laughs]AJ: I wish my first experience had been with jQuery because I was not using jQuery when I was first using JavaScript and it was terribad. It’s like, “This works properly in no browsers!” Because each tutorial is wrong.CHUCK: Yeah. Well, I remember back in the day when I was using Prototype for my web app. So, jQuery was a huge step up from Prototype, I have to say.MERRICK: Why?CHUCK: It’s just that the interface of the API felt better to me. I can’t really quantify how.MERRICK: That’s fair. I was a big MooTools fan and I was kind of a hate Query, if you will.AJ: As you should be, actually.MERRICK: I didn’t hate jQuery per se, but I really loved MooTools just because the APIs were just so beautiful. And also, all of this new age, these structural libraries like Backbone and all that kind of thing was really natural in MooTools already, right? Because everything was so class-oriented and I’m not saying classes are the only way to organize your code.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelDavid Herman (twitter blog Effective JavaScript) Jamison Dance (twitter github blog) AJ O’Neal (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Tim Caswell (twitter github howtonode.org) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
01:01 - David Herman IntroductionMozilla Mozilla Research TC39 - ECMAScript
01:45 - Effective JavaScript by David Herman04:27 - Reader Opinions & ControversyJavaScript:The Good Parts by Douglas Crockford09:09 - ES3 Shimming11:25 - Code: effectivejs/code12:50 - Parts of the Book15:54 - BlockingWeb Gestures With getUserMedia: Part1: Aaron Frost
17:28 - Book Level of DifficultyEffective C++ by Scott Meyers
20:09 - Asynchronous APIsRecursion Tail-Call Optimization
26:51 - Programming Language Academics30:55 - DOM IntegrationEffective C++ by Scott Meyers Effective STL by Scott Meyers
31:50 - Advice for JavaScript BeginnersEloquent Javascript by Marijn HaverbekeJavaScript Enlightenment by Cody LindleyHow to Design Programs33:16 - Advice for Programmers in General34:53 - Performance38:16 - The JavaScript Language40:45 - Primitives Vs Wrapper Classes42:37 - Semicolons45:24 - -0/+0
PicksJack (Tim) Putting Constants on the Left (AJ) Getting Started with Amazon AWS EC2 (1 year free VPS web hosting) (AJ) Notes on Distributed Systems for Young Bloods: Jeff Hodges (Jamison) Hurdles getting started with Ember.js (Jamison) Grieves (Merrick) The Scala Programming Language (Merrick) Antoine Dufour (Joe) Torchlight II (Joe) Appliness Digital Magazine (Joe) Powermat Home & Office Mat (Chuck) Une Bobine (Chuck) The Rust Programming Language (David) mozilla/servo (David) Roominate Toy (David) OpenWest Conference Call For Papers (AJ)
Transcript
CHUCK: The most effective way to hack is quickly.[Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net.][This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]CHUCK: Hey everybody and welcome to Episode 44 of the JavaScript Jabber show. This week on our panel, we have Jamison Dance.JAMISON: Hello.CHUCK: AJ O’Neal.AJ: Yo! Yo! Yo! Coming at you live from the living roomisphere of Provo, Utah.CHUCK: We have Joe Eames.JOE: Hi.CHUCK: Merrick Christensen.MERRICK: What’s up guys?CHUCK: Tim Caswell.TIM: Hello.CHUCK: I'm Charles Max Wood from devchat.tv and this week, we have a special guest, Dave Herman.DAVE: Hi there.CHUCK: So Dave, you haven’t been on the show before. Do you want to introduce yourself?DAVE: Sure. I work for Mozilla. I have sort of helped create this new department called Mozilla Research where we do a whole bunch of web platform experiments and new technology for the web. And I also am on the horribly named TC39, the standards organization for ECMAScript, working on the next edition of the JavaScript standard.CHUCK: Cool.DAVE: Oh, and I wrote this book.CHUCK: You did this book.TIM: You didn’t just read it and then become an expert on the book and then talk on a podcast about it?[Laughter]CHUCK: So, I heard about this book. I’m a little curious when you started writing the book, I mean, what was the idea behind it? What inspired it?DAVE: To tell you the truth, I had no intention of writing a book, it didn’t occur to me. But the publishers reached out to me, I guess they heard of me through TC39, maybe ‘es-discuss’ or something. But they said, “Okay we’ve got this series, this Effective series.” And I was very familiar with Effective C++ which I think is a great book and I really like the format. And just when they approached me, I kind of thought, “You know,Special Guest: David Herman.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelChristian Johansen (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Jamison Dance (twitter github blog)
Discussion
00:45 - Christian JohansenTest-Driven JavaScript Development
Sinon.JS
Gitorious01:26 - Sinon.JS02:22 - Stubs, Mocks and SpiesMocks Aren’t Stubs: Martin Fowler
Mocha10:47 - History of Sinon.JS12:25 - XHR, HML, HTTP13:36 - Mocking the ClockSet Time Out
17:22 - Test-Driven JavaScript DevelopmentAndrea Giammarchi @WebReflection The Pragmatic Bookshelf Screencasts
21:43 - Test FrameworkBuster.JS
js-test-driver24:17 - Other Mocking Librariesmockjax
26:24 - Mocking Properties27:22 - Matchers30:46 - Sinon.JS Gotchas33:10 - State of Test-Driven Development in JavaScriptStrategies for Testing
PicksJack Reacher (Joe) Torchlight II (Joe) Effective JavaScript by David Herman (Merrick) Rdio (Merrick) Adventure Time (Jamison) How to implement an algorithm from a scientific paper: Emmanuel Goossaert (Jamison) Advanced Vim registers (Jamison) Emacs Rocks! (Christian) Simple Made Easy (Christian) LEGO Lord of the Rings (Christian) Testing Clientside JavaScript (Joe)
Transcript
MERRICK: Classy guy.[Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.][This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]JAMISON: Hello friends. Welcome to JavaScript Jabber. This is Episode number 43. Today, we have Joe Eames.JOE: Howdy!JAMISON: Merrick Christensen.MERRICK: Hey guys!JAMISON: And Christian Johansen. And also me, Jamison Dance. But Christian is the special guest today. Do you want to talk a little bit about yourself? Introduce yourself for those of us that don’t know you?CHRISTIAN: Yeah, sure. First of all, hi! I'm in Oslo, Norway up in the cold north. So, I wrote a book about testing JavaScript a couple of years back called ‘Test-Driven JavaScript Development’. And I've done a few open source libraries. Perhaps the one that most people know about is Sinon.JS. And currently, I work at Gitorious.org. So, that’s the brief introduction about me, I guess.JAMISON: Great! Chuck is gone today. He’s at CES, I believe. So, that’s why I'm filling in for him. I think we want to talk mainly about Sinon.JS today. Do you want to just give an overview of it?CHRISTIAN: Sure.JAMISON: For those who have never heard of Sinon.JS, what is it?CHRISTIAN: Sinon.JS is a stubbing and mocking library which means that when you're writing automated tests for your JavaScript, Sinon provides a tool kit to help you test functions and callbacks and stuff like that, to track how they're being used throughout the system. And then, it also provides some utilities to test asynchronous stuff through timers, like Set Time Out and Set Interval and those kinds of things.And it also has a fake XMLHttpRequest implementation. So, it allows you to test your client side JavaScript completely decoupled from the server and it gives you an API to mimic the role of the server in your tests. So, you can focus a test on how the client side reacts to various kind of behavior from the server.JAMISON: So, you talked about stubbing and mocking. And I think, that means we have to get into the hairy discussion of the difference between stubs and mocks?MERRICK: And spies.JAMISON: And spies, yeah. Do you want to explain that a little bit?CHRISTIAN: Sure. I can explain my take on it because I know there are more than just mine.MERRICK: Sure.CHRISTIAN: I'm using the terminology pretty much like Martin Fowler did and he has a famous article called ‘Spies are Not Mocks’ or something like that. So,Special Guest: Christian Johansen .
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelBrian Turley (twitter blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) AJ O’Neal (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
02:11 - CSS GripesSassScalable and Modular Architecture for CSS (SMACSS)CSS316:32 - Preprocessors/CompilersLESSSassStylusCompassChris Eppstein20:34 - Basic Features of CSS Preprocessorsnib mix-ins
23:02 - Usefulness27:15 - Mathematics w/ VariablesSusy28:54 - AnimationUsing CSS animations31:12 - Nesting35:40 - Build Processesgrunt.js42:20 - DistinctionPrefixing
47:35 - Tightly Coupled
PicksOld Man’s War by John Scalzi (Joe) X-Wing Miniatures Game (Joe) Dave Crowe (Merrick) Utah Software Craftsmanship Group (AJ) Effective JavaScript by David Herman (AJ) SD Card (Chuck) New Media Expo (Chuck) Consumer Electronics Show (Chuck) iOS Development Podcast (Chuck) Grid Systems in Graphic Design by Josef Muller-Brockmann (Brian) IFTTT (Brian)
Book ClubEffective JavaScript by David Herman
Transcript
MERRICK: You have more technical problems than any other nerd I know.[Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net.][This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.]CHUCK: Hey everybody and welcome to Episode 42 of the JavaScript Jabber show. This week on our panel, we have Joe Eames.MERRICK: He’s out to a phone call, terrible timing.CHUCK: We also have Merrick Christensen.MERRICK: That’s me.CHUCK: AJ O’Neal.AJ: Yo! Yo! Yo! Coming at you live from the snow sphere of Provo, Utah.CHUCK: And we have a guest, that’s Brian Turley.BRIAN: That’s right. I’m a designer friend of AJ’s.CHUCK: We’re talking about CSS today so we brought in a designer to set us all straight.And I’m Charles Max Wood from devchat.tv. And like I said, we’re talking about CSS today. One of the things I think that’s interesting about CSS is that it converges with JavaScript. Well, there are a couple of things but one is systems like LESS, that kind of compile, they give you some sane options for dealing with some of the dumb stuff that CSS doesn’t include. Then the other one is, I’ve also wound up fighting designers for selectors in the HTML. And so, I thought we could talk through that a little bit as well.BRIAN: Hey, Chuck?CHUCK: Yes?BRIAN: I think those are two like really good points but I think there’s even more areas we can discuss in terms of how JavaScript and CSS are coupled. Like computed styles from JavaScript and also all the CSS methods from JavaScript. And the fact that your JavaScript sometimes doesn’t work, your UI doesn’t work unless the CSS is set up. I think the two tend to be a lot more coupled than people like to think.CHUCK: I agree. That’s fair. So, which avenue or which aspect do you want to tackle first? Should we talk about just CSS and where it kind of doesn’t give us what we want?BRIAN: I would love to complain about CSS. I got some bitterness in that sphere.CHUCK: I know some people consider it programming but it doesn’t have any of the things that classic programming has like variables and functions or methods or anything like that. And I think that’s where a lot of us get frustrated is that we’re used to being able to reuse things, we’re used to being able to set things up that will define the behavior that we want. And in CSS, you really don’t have that. It’s really just simple markup.JOE: So, do we consider the CSS languages, like Sass and LESS and all those to be part of CSS because then we talk about actually having those things.CHUCK: Yes. I don’t know if you can call them CSS.Special Guest: Brian Turley.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelJamison Dance (twitter github blog) AJ O’Neal (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)
Discussion
02:09 - Follow Up to 040 JSJ ConferencesBroad Conferences vs Focused Conferences Utah Open Source/Open West Conference 2013
05:28 - Single Page Application FrameworksjQueryBackbone.jsEmber.jspure.jsplates.jsAngularJS15:10 - Path & Hash RoutingPushstate/Popstatesammy.jsjquery.bbqlocalStorage == cookieshistory.js22:23 - Synchronizing Your DataWebSocket Operational Transformation Lucidchart
24:51 - WebSocketscURLSocket.IO32:44 - App IssuesMemory
38:52 - When do you want a Single Page App?JadeLESSPicksSimple (AJ) Coding for Interviews (Jamison) Empirical Zeal: What does randomness look like? (Jamison) Aeron Chair by Herman Miller (Chuck) Allrecipes.com (Chuck)
Book ClubEffective JavaScript by David Herman
Transcript
AJ: Yeah, I think I'm 26 still, for another 6 months.CHUCK: Yeah. You have to count on your toes to figure it out.AJ: Yeah, twice actually. Because once I'm already bent over, I just keep counting on my toes. I don't start back at my fingers.CHUCK: [laughs][Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.][This episode is sponsored by Component One, makers of Widge Mo. If you need stunning UI elements or awesome graphs and charts, then go to WidgeMo.com and check them out.]CHUCK: Hey everybody and welcome to Episode 41 of the JavaScript Jabbers show. I almost said Ruby Rogues. How tired am I?JAMISON: Don't cheat on us, Chuck.CHUCK: It's right after Christmas.JAMISON: We know you have another family but we love you when we have you.CHUCK: Oh, my gosh! Yeah, we had family here for two days and my wife panics when people are coming over and has to have the house immaculate. And then she kept getting tired or sick or having some other issues. So, I kept forcing her to go to bed and then staying up until 2:00 AM, cleaning the house. So, I’m totally worn out.Anyway, so this is JavaScript Jabber, it's not Ruby Rogues. If you want Ruby Rogues, go to RubyRogues.com and see what we were talking about over there.Last week, we talked about conferences and I know that AJ wanted to say something. I guess we usually do the introductions first. So, let's do that and then let AJ say his piece and then we’ll move onto our topic for today.So, this week on our panel, we have Jamison Dance.JAMISON: Hi, guys! Merry Belated Christmas.CHUCK: We have AJ O'Neil.AJ: Yo! Yo! Yo! Coming at you from the green Christmasphere of Virginia.CHUCK: Oh, you're in Virginia?AJ: Yes, I am. Visiting family.CHUCK: Cool. And I'm Charles Max Wood from DevChat.tv. I just want to put a quick plug in for my Rails course. If you want to learn Ruby on Rails, go to RailsRampUp.com. It's kind of a guided course and you get a lot of access to me to learn it.So AJ, what was it that you wanted to chime in with, with the conferences that we couldn't get you in last week to say?AJ: Okay. So, both Merrick and myself have had this same experience. So, we were talking about having the broad conference versus the focused conference, the broad talk or workshop versus the more focused one. And we both have come to the conclusions that having it more focused is better. With the conference, it's fun to go to a broad conference but even in that, like it’s nice to have the focused talks like the ‘Utah Open Source Conference’ which this year is ‘Open West Conference’. It's expanding out and they've got some big surprise. I'm guessing they got some nice speakers. And the call for papers for that opens on January 2nd supposedly. So, that's a really nice conference but it's broad but it’s still fun.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
Panel Trevor Tingey (twitter blog) Joe Eames (twitter github blog) Tim Caswell (twitter github howtonode.org) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion
01:16 - Conferences Attended Visual Studio Live (VS Live) (Joe) Utah Open Source (Joe & Chuck) Utah JS (Joe) MountainWest RubyConf (Trevor & Chuck) JSConf (Trevor) UberConference (Trevor) Web 2.0 (Trevor) RailsConf (Chuck) RubyConf (Chuck) Aloha Ruby Conference (Chuck) New Media Expo (Chuck) 03:24 - Preparing/Planning for Conferences
08:39 - Chatting with Others/Making Contacts at Conferences Hackathons Social Activities 14:36 - Hackathons/Code Retreats/Workshops Global Day of Coderetreat DevTeach 18:46 - Methodology Conferences Agile Roots 22:42 - Industry Conferences vs Local/Regional Conferences Multiple Tracks Networking 28:12 - Making the Most out of Sessions Taking Notes Follow Along in Code Sessions Seating Choice 33:02 - Lightning Talks Speaking Exposure 35:37 - Speaking at Conferences (Tim Joins) Veteran Speakers vs Unique Speakers 41:00 - Submitting Proposals Interesting Title 42:56 - Mistakes People Make Speaking at Conferences Underestimating Time Practice Your Talk Be Excited 45:24 - Preparing Slides Bullet Points Color/Contrast 50:03 - Watch Your Audience
Picks The Hobbit (Joe) RiffTrax (Joe) Pluralsight (Joe) Blue Microphones: Yeti (Tim) Closure Compiler Service (Chuck) Headline Hacks (Chuck) Once Upon a Time (Trevor) Sublime Text 2 (Trevor) Jack Reacher (Trevor) Foo Fighters (Trevor) Transcript
CHUCK: From the meat lockers of Domo. [This episode today is sponsored by Component One. Makers of Wijmo. If you need stunning UI elements or awesome graphs and charts then go to Wijmo.com and check them out.] [Hosting and bandwidth provided by the Blue Box Group. Check them out at BlueBox.net.] CHUCK: Hey everybody and welcome to episode 40 of the JavaScript Jabber Show. This week on our panel, we have Joe Eames. JOE: Howdy! CHUCK: I’m Charles Max Wood from devchat.tv and we have a special guest, that’s Trevor Tingey. TREVOR: Hello. CHUCK: He’s joining us from Domo. We had some folks on vacation and stuff and we were short a few people. So, Joe invited one of his co-workers. I don’t really have co-workers per se since I’m doing contract stuff most of the time. Anyway... JOE: Is your cat your co-worker, Chuck? CHUCK: What was that? JOE: Is your cat your co-worker? CHUCK: I don’t have a cat. JOE: A dog? CHUCK: Nope, I don’t have a dog either. I’m allergic to cats. But yeah, no cats. Anyway, we’re going to talk this week about making the most of conferences. I’m a little curious, what conferences have you guys been able to attend over the last few years or over your career? JOE: I was a Microsoft developer before I went fully front end. So I went to several Microsoft development conferences, VS Live was probably my favorite one. Recently, I’ve been to the Utah Open Source conference and the Utah JavaScript conference, really liked those. CHUCK: Yeah, the local conferences are fun. What about you, Trevor? TREVOR: I’ve been to a lot of conferences. Recently, I went to the Mountain West Ruby Conference. That was entertaining. I went to the JavaScript, JS Conf and that was the first Node Conf also was kind of dependent on the end of the JS Conf and that was up in Portland. I really liked that one. Like Joe, I used to do some Microsoft stuff. So, I’ve been to Microsoft before and several other ones in between, Uber Conf, Web 2.0 in New York. JOE: Does Comdex count? I went to Comdex once. [laughs] CHUCK: Yeah, I didn’t really start going to conferences until I gotten into Ruby. So, most of the conferences I’ve been to were Ruby related, though I did go the Utah Open Source and some of those. Yeah,Special Guest: Trevor Tingey.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelTim Disney (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Tim Caswell (twitter github howtonode.org) Charles Max Wood (twitter github Teach Me To Code)
Discussion
01:23 - Book Club Episode: Effective JavaScript by David HermanEpisode will record on January 10th and air January 18th
01:48 - Sweet.jsMacros: syntactic transformations Build-your-own CoffeeScript Cleans up code
07:03 - Benefits and Disadvantages10:37 - Using MacrosWhere are they needed? Where are they not needed?
Why sweet.js Matters13:10 - Pattern Matching15:36 - Domain Specific Languages16:48 - Hygiene18:50 - Class Macro20:28 - Limits21:38 - Language Support25:18 - Nesting28:40 - Cool MacrosExample macros30:13 - Sweet.js: What is coming?Defining Macros Syntax Rules
33:06 - Sweet.js mailing listIRC channel #sweet.js on irc.mozilla.org
PicksGoogle+ Hangouts (AJ) The Man from Earth (Jamison) TypeScript (Joe) Red Dawn (Joe) Creationix Innovations (Tim C.) Effective JavaScript by David Herman (Tim D.) Growing a Language by Guy Steele (Tim D.) Downton Abbey (Chuck) Rails Ramp Up (Chuck)
Transcript
JAMISON: Oh, my goodness! You can like, put a beard on them and it follows their face!JOE: Isn’t that awesome?[Crosstalk]JAMISON: How do I get rid of it? Actually, it was really distracting. I didn’t know you guys would see that.[This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.][Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.]CHUCK: Hey everybody and welcome to Episode 39 of the JavaScript Jabber show. This week on our panel, we have AJ O’Neal. We have AJ O’Neal on mute. We have Jamison Dance.JAMISON: I am not on mute, I hope.CHUCK: We have Joe Eames.JOE: Hi everybody.CHUCK: We have Tim Caswell.TIM C: Hello.CHUCK: We also have a special guest, that’s Tim Disney.TIM D: Hi.CHUCK: AJ, did you figure out your mute issues? That would be a no. I’m Charles Max Wood from Devchat.tv. And this week, we’re going to be talking about Sweet.js.Before we get started, there is one thing I want to announce really quickly and that is that we have scheduled a Book Club episode for January 10th and that’s going to be with David Herman who wrote ‘Effective JavaScript’. So it’s a pretty slim book, should be easy to get through. But yeah, if you want to follow along with that discussion, then by all means, join in.Alright. Let’s talk about Sweet.js. Has anyone…AJ: Can you hear me now?CHUCK: Yeah.AJ: Okay, cool.CHUCK: So, I went and looked at it. I fiddled with it a little bit. I didn’t have enough time to really get into it the way that I wanted to. It looks really cool though. What kind of gave you the idea of doing something like macros for JavaScript, Tim?TIM D: Well, I guess it’s just something I’ve sort of wanted for JavaScript for awhile. But the main sort of impetus I guess was, I was interning at Mozilla Research this past summer. And Dave Herman who has worked on macros in the past basically said he thought that it was sort of finally possible to do for JavaScript. And so, that was a possible sort of intern project for the summer. And so, that’s what got it started.JAMISON: So can you back up and talk about what macros are, because I’m sure there are lots of people that don’t know and lots of people that hear macros and think like CP process are macros.TIM D: Right yeah, exactly. So, C style macros are the sort of painful and sort of limited. The macros that Sweet.js implements are much more in line with sort of scheme style macros. So,Special Guest: Tim Disney.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelJustin Searls (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) AJ O’Neal (twitter github blog) Charles Max Wood (twitter github Teach Me To Code)
Discussion
01:33 - Justin SearlsTest Double
02:14 - JasminePivotal Labs
03:42 - Testing JavaScript05:29 - CoffeeScript07:22 - What Jasmine isUnit testing library RSpec DOM agnostic
10:16 - Testing the DOM14:01 - Tragedy of the commonsfactory_girl
18:29 - Testing23:53 - Syntax in Jasmine26:23 - RSpec and Jasmine28:07 - Async support in Jasmine32:18 - Spiesmockito Conditional stubbing jasmine-stealth jasmine-fixture
37:30 - jasmine-givenCucumber
43:19 - Running Jasminejasminerice
jasmine-railsjasmine-headless-webkit
Testacular
testem49:17 - tryjasmine.com
PicksRunning MongoDB on AWS (Jamison) The Clean Coder by Robert C. Martin (Joe) Squire.js (Joe and Merrick) Rdio app (Merrick) Square (AJ) Allrecipes.com (AJ) Jenkins CI (Chuck) Apple’s Podcast app (Chuck) lineman (Justin) StarTalk Radio Show with Neil Degrasse Tyson (Justin) To The Moon PC Game (Justin)
Transcript
JAMISON: Holy cow!JOE: That was not annoying.CHUCK: What’s not annoying?MERRICK: He is punching a bag of Fritos?JOE: Yeah.[Laughter]CHUCK: Well, I was closing it up so they don’t get stale as fast.JOE: You’re very thorough. Those are going to be the least stale… MERRICK: Do you have like a Frito resealer or something?[Laughter][Shrill sound]CHUCK: Okay, sealed.[This episode is sponsored by Component One, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to Wijmo.com and check them out.][Hosting and bandwidth provided by the Blue Box Group. Check them out at Bluebox.net.]CHUCK: Hey everybody, and welcome to Episode 38 of the JavaScript Jabber show. This week on our panel, we have Jamison Dance.JAMISON: Hi guys!CHUCK: Joe Eames.JOE: Howdy?CHUCK: Merrick Christensen.MERRICK: What’s up?CHUCK: AJ O’Neal is trying to join the call. He’s here.AJ: Yo! Yo! Yo! Coming at you live from the Rental Agreement sphere of Provo, Utah.MERRICK: He lives!CHUCK: I’m Charles Max Wood from DevChat.tv. And this week, we have a special guest. That’s Justin Searls.JUSTIN: Hello.CHUCK: So, why don’t you tell us a little bit about yourself, Justin?JUSTIN: Okay. Well, now that I’m on the spot, my name is Justin. I’m a software developer. I live in Columbus, Ohio. About a year ago, me and a guy named Todd Kaufman started a new company called Test Double. Previously, he and I had been doing consulting for a long, long time. And we’re up to eight people now. And we have a good time building software with an emphasis on terrific interaction design which has resulted in us kind of developing a specialty for well-crafted frontend code, predominantly JavaScript. And I imagine that’s probably why I’m here today.CHUCK: Awesome. Alright. Well, we brought you on to talk about Jasmine. Jasmine was written by, was it Pivotal Labs? JUSTIN: Yeah, Pivotal Labs guys. A guy names Christian Williams who I think has since moved on to Square, and D.W. Frank who’s still at Pivotal. They wrote the core library and me and a whole bunch of other people in the community have piled on with different runners and add-ons and extensions in the sort of like little ecosystem of the 25 people who write unit tests for JavaScript.CHUCK: All 25 of you, huh?JUSTIN: Well, it’s not a lot, right? It’s been a fun journey of being one of the very few people who really, really got excited or chose to get excited about making it easier for folks to write tests in JavaScript or as easy as it would be for whatever servers and language they’d be using.Special Guest: Justin Searls.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelKris Kowal (twitter github blog) Domenic Denicola (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Intro to CoffeeScript)
Discussion
02:41 - PromisesAsynchonous programming
05:09 - Using Promises from top to bottom07:08 - DomainsNodeConf SummerCamp07:55 - Q10:22 - q.nfbind11:15 - Q vs jQueryYou’re Missing the Point of PromisesComing from jQuery15:41 - long-stack-tracesturn
chaining
JavaScriptStackTraceApi: Overview of the V8 JavaScript stack trace API (error.prepare stack trace)19:36 - Original Promises/A spec and Promises/A+ specwhen.jsPromises Test SuiteUnderscore deferred24:22 - .thenChai as Promised26:58 - Nesting Promisesspread method28:38 - Error Handlingcauseway
32:57 - Benefits of PromisesError Handling
Multiple Async at onceHandle things before and after they happen40:29 - task.js41:33 - Languagee programming languageCoffeeScript44:11 - Mocking Promises45:44 - Testing PromisesMocha as Promised
PicksCode Triage (Jamison) The Creative Sandbox Guidebook (Joe) Steam (Joe) Pluralsight (Joe) montage (Kris) montagejs / mr (Kris) CascadiaJS 2012 - Domenic Denicola (Domenic) Omnifocus (Chuck) Buckyballs (AJ)
Transcript
JOE: I can’t imagine your baby face with a beard, Jamison.JAMISON: I never thought I had a baby face.AJ: It was always a man face to me.JOE: Everybody who is 15 years younger than me has a baby face.[This episode is sponsored by ComponentOne, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to wijmo.com and check them out.][This show is sponsored by Gaslight Software. They are putting on Mastering Backbone training in San Francisco at the Mission Bay Conference Center, December 3rd through 5th. They'll be covering Jasmine, Backbone and CoffeeScript. For more information or to register, go to training.gaslightsoftware.com][Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net]CHUCK: Hey everybody. Welcome to episode 37 of the JavaScript Jabber show. This week on our panel, we have AJ O'Neal.AJ: Yo, yo, yo, comin' at you live from the executive boardroom suite of Orem, Utah.CHUCK: Jamison Dance.JAMISON: Hey guys!CHUCK: Joe Eames.JOE: Hey there!CHUCK: Merrick ChristensenMERRICK: What's up.CHUCK: I'm Charles Max Wood from devchat.tv and this week we have some guests -- and that is Kris Kowal.KRIS: Hello. Yeah, Kowal.CHUCK: Kowal. OK. And Domenic Denicola. Did I say that right?DOMENIC: Denicola.CHUCK: Denicola.DOMENIC: It’s OK I got Americanized. That's probably the proper Italian pronunciation. Hi guys!CHUCK: I speak proper Italian, so probably.KRIS: Yeah and for what it’s worth, I think that the proper Polish is Kowal or something, but yeah.JAMISON: Kris, are you from the Midwest? You have kind of Minnesota-ish accent.KRIS: No. I'm actually unfortunately from somewhere in the suburbs of Los Angeles, but I grew up indoors and did listen to Prairie Home Companion. So I don’t know. Maybe.[laughter]CHUCK: Awesome. All right. So this week we are going to be talking about… actually there's one thing I need to announce before. If you are listening to this episode, you’ll probably notice a little bit of a difference with our sponsorship message. I actually left off one important piece to one of the sponsorship messages and that is for the Gaslight software training that's going to be in San Francisco, if you wanna sign up, go to training.gaslightsoftware.com and you can sign up there. They’ve been a terrific sponsor and I feel kind of bad that I botched that. But anyway,Special Guests: Domenic Denicola and Kris Kowal.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelAJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Merrick Christensen (twitter github) Charles Max Wood (twitter github Teach Me To Code Intro to CoffeeScript)
Discussion
01:29 - Merrick Christensen is a new regular panel memberCascadiaJS 2012 JavaScript Modules: AMD, Require.js & Other Wins: Merrick Christensen
03:58 - DOM Rendering and ManipulatingBackbone.js Ext.js
06:49 - DifferencesLoad times Ease of use backbone.syphon
09:49 - The Ext.js approach vs the Backbone.js approach15:51 - Templating enginesdust.js handlebars.js mustache.js hogan.js underscore jquery
16:46 - handlebars.js vs mustache.js18:08 - Templating engines (cont’d)Mold.js Ember.js Metamorph.js Knockout.js Pure.js Plates.js
26:34 - Difference between the click handler and the delegate function31:49 - Template engines and string generations33:01 - Writing templates and learning APIs35:03 - Ext.js issues39:32 - Dojo
PicksAldo (AJ) On Being A Senior Engineer (Jamison) Joshua James: From the Top of Willamette Mountain (Merrick) sparks.js (Merrick) grunt.js (Merrick) knit-js (Merrick) Functional Programming for the Object-Oriented Programmer by Brian Marick (Chuck) New Media Expo 2013 (Discount code Wood20) (Chuck) Skyfall (Joe) LEGO Lord of the Rings (Joe) Global Day of Coderetreat 2012 (Joe)
Transcript
JOE: If AJ talks on JavaScript Jabber, does anybody hear it?CHUCK: [laughs]AJ: Not if I don’t have my function key pressed down.[This episode is sponsored by ComponentOne, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to wijmo.com and check them out.][This episode is sponsored by Gaslight Software. They are putting on a Mastering Backbone training in San Francisco at the Mission Bay Conference Center, December 3rd through 5th of this year. This three day intensive course will forever change the way you develop the front-end of your web applications. For too long, many web developers have approached front-end as drudgery. No more! We’ll help you build the skills to write front-end code you can love every bit as much as your server-side code.][Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net]CHUCK: Hey everybody and welcome to episode 36 of the JavaScript Jabber Show! This week on our panel, we have AJ O'Neal.AJ: Yo, yo, comin' at you from the cowboy sphere of Orem, Utah.CHUCK: We also have Jamison Dance.JAMISON: I'm coming at you from bathrobe sphere of Orem, Utah. It’s much more comfortable than a cowboy sphere.CHUCK: We have Joe Eames.JOE: Comin’ at you from a cluttered office.CHUCK: And Merrick Christensen.MERRICK: Hey guys!CHUCK: So, Merrick is new. Merrick, do you wanna introduce yourself real quick?MERRICK: Sure. My name is Merrick Christensen. I've been developing JavaScript for a number of years -- big fan of it. You can find me on twitter and GitHub and all that kind of stuff.JOE: Did you just recently speak at any conferences?MERRICK: Yeah actually.[laughter]I just spoke at CascadiaJS on require.js. And actually, what's really cool is they just barely put the videos for that up today and I was so stoked at how high quality. So to the CascadiaJS team, you guys did an excellent job.JOE: Are the videos free?MERRICK: Oh yeah. All free up on YouTube. And there’s some cool stuff -- there's stuff on like robots -- it was an amazing conference. The organizers just did an amazing job.CHUCK: Sounds like fun. Was that up in the North West somewhere?MERRICK: Yeah it was actually in Seattle.CHUCK: Nice.MERRICK: Yeah it was beautiful.JAMISON: I heard that as one of the after party things, they took everybody up to see the James Bond movie?MERRICK: They did yeah.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelJamison Dance (twitter github blog) Tim Caswell (twitter github howtonode.org) AJ O’Neal (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Intro to CoffeeScript)
Discussion
01:15 - node-webkitSimilar to PhoneGap
Chrome native apps
Chromium05:31 - Event loops and the browsers06:53 - Example appsLight Table app.js
07:42 - node-webkit vs app.js10:00 - ChromeChrome Apps: JavaScript Desktop Development
17:44 - Security implications25:11 - Testing node-webkit applications27:19 - Getting a web app into a native app31:33 - Creating Your First AppJS App with Custom ChromeChromeless Browser Chromeless replacement
PicksHow mismanagement, incompetence and pride killed THQ's Kaos Studios (Jamison) The Insufficiency of Good Design by Sarah Mei (Jamison) app.js (Tim) node-webkit (Tim) Macaroni Grill’s Butternut Asiago Tortellaci (AJ) JCPenney (AJ) Mac OS Stickies (Chuck) Fieldrunners (Chuck)
Node Knockout
Transcript
AJ: Let’s talk about boring stuff. What did you eat for breakfast?TIM: I had donuts.AJ: That sounds nutritious and delicious.[This episode is sponsored by ComponentOne, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to wijmo.com and check them out.][This episode is sponsored by Gaslight Software. They are putting on a Mastering Backbone training in San Francisco at the Mission Bay Conference Center, December 3rd through 5th of this year. This three day intensive course will forever change the way you develop the front-end of your web applications. For too long, many web developers have approached front-end as drudgery. No more! We’ll help you build the skills to write front-end code you can love every bit as much as your server-side code.][Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net]CHUCK: Hey everybody and welcome to episode 35 of the JavaScript Jabber Show. This week on our panel we have Jamison Dance.JAMISON: Hi guys!CHUCK: Tim Caswell.TIM: Hello!CHUCK: And AJ O’Neal. And I'm Charles Max Wood from devchat.tv. This week, we are going to be talking about ‘Node-webkit’. It seems like Tim is the most familiar with it, so why don’t you jump in and tell us a little bit about it?TIM: All right. Basically the idea is to make desktop apps using Node and then having HTML as your display layer for your widgets. And I start a project doing this several years ago from Topcube, but I failed miserably because I'm not that good of a C engineer. And since then, a few projects have taken up the idea. Node-webkit is one done by Intel and the main engineer there is Roger Wang. So on Roger Wang’s GitHub there is node-webkit. And the other popular one is called ‘app.js’ and I think there is a couple others as well. And some other people have taken over my Topcube project and they use it for some maps app. And all these projects had the basic idea of you have a desktop native app that has Node and node-webkit inside of it.CHUCK: So, is it kind of like PhoneGap or some of these other things for mobile?TIM: Yeah. It’s similar to PhoneGap in that, you get more privileges than a browser would have in a more native experience. Instead of just the PhoneGap extensions, you get all of Node -- you get the full Node environment -- which means you can use all that existing libraries and ecosystem.JAMISON: So how does this compare to the Chrome native apps thing? Because I know that they are more --- already have some like JS APIs that let you touch stuff on the server or things like that. Is this just – it’s not sandbox at all?TIM: Yeah. I mean, this is a native app. It’s not in your browser at all. It bundles its own webkit.JAMISON: Oooh.TIM: It’s more like -- what was that flash thing they had years ago?AJ: ‘Adobe Air’?TIM: Air yeah. It’s like Adobe Air that doesn’t suck.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelTrek Glowacki (twitter github Trek by trek) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Intro to CoffeeScript)
Discussion
02:18 - Ember.js (twitter, github, site)03:17 - Based on/Inspired by SproutCore?05:39 - The Rails of JavaScript?“Magical”
06:29 - todomvcBackbone.js 11:21 - Pulling pieces of Ember.js12:07 - Struggles with using Ember.jsLearning API can and does change frequently The applications that Ember.js targets are new New patterns
18:45 - Developer style22:59 - Rendering24:42 - Philosophy of Ember.js27:00 - Ember.js routerState machines32:31 - Spending time learning Ember.js35:06 - Frameworks and Wordpress41:57 - Event loop42:49 - APIObject systemBinding syntaxHandlebars.js46:38 - Rendering and nesting views
PicksPromo Only (AJ) TinyToCS: Tiny Transactions on Computer Science (Jamison) HandBrake (Chuck) BitTorrent (Chuck) Transmission (Chuck) Presto 04213 Electronic Digital Timer (Chuck) Crafty.js (Trek) About Face 3: The Essentials of Interaction Design by Robert Reimann (Trek) Tucker Teaches the Clockies to Copulate by David Erik Nelson (Trek)
Transcript
JAMISON: And I’m looking sexy.[This episode is sponsored by ComponentOne, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to wijmo.com and check them out.][This episode is sponsored by Gaslight Software. They are putting on a Mastering Backbone training in San Francisco at the Mission Bay Conference Center, December 3rd through 5th of this year. This three day intensive course will forever change the way you develop the front-end of your web applications. For too long, many web developers have approached front-end as drudgery. No more! We’ll help you build the skills to write front-end code you can love every bit as much as your server-side code.][Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net]CHUCK: Hey everybody and welcome to Episode 33 of the JavaScript Jabber show. This week on our panel we have AJ O’Neal.AJ: Yo, yo, yo. Comin’ at you live from DJ sphere of Orem, Utah.CHUCK: We also have Jamison Dance.JAMISON: Oh, gosh you get to ----. I'm sorry AJ; your intro was so good. [laughs]CHUCK: [laughs] I'm Charles Max Wood from devchat.tv and this week, we have a special guest and that is Trek Glowacki?TREK: Oh, very close. Good job.CHUCK: [laughs] Do you wanna straighten it up for us?TREK: You can just call me Trek. Everyone does.CHUCK: Ok. How many generations removed are you from Poland or whatever?TREK: So I'm a first generation American. My parents are foreign. But my dad is Belgian, not Polish nationally, but of a Polish decent.CHUCK: Oh, OK. That's interesting.TREK: Yeah. My driver’s license is weird and everything is misspelled. My voter registration is spelled wrong. It’s kind of a nightmare. It’s why I just go by Trek. I try to snag @trek as a user handle everywhere. So I'm @trek on Twitter-- just makes my life easier.CHUCK: Yeah. That makes sense. I have to say that, if your voter registration is messed up, I hope you are voting for that “other guy”. And I'm not going to be specific about my --- because I don’t wanna start a firestorm on a programing podcast for that, so we’ll just leave it there.Anyway, we are going to be talking about Ember.js today. Now, I know that Yehuda and Tom Dale work on it. Do you work on it too or are you just kind of an expert user?TREK: A little bit of both. I hang out on the secret volcano base that we have, with Yehuda and Tom and my contributions are--JAMISON: That's why your audio quality is so good.TREK: Yeah, we are at the volcano base, it’s really is beaming to a satellite in space.CHUCK: Yeah volcano net is awesome.TREK: So,Special Guest: Trek Glowacki.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelBen Combee (twitter github blog) Gray Norton (twitter) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Tim Caswell (twitter github howtonode.org) Charles Max Wood (twitter github Teach Me To Code Intro to CoffeeS...
Special Guests: Ben Combee and Gray Norton.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelMisko Hevery (twitter github blog) Igor Minar (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Tim Caswell (twitter github howtonode.org) AJ O’Neal (twitter github blog)
Discussion
01:33 - Angular.js (twitter github blog)02:33 - Angular.js compared to other frameworks04:03 - How does it work?05:22 - Cost06:06 - HTML Compiler07:02 - Directives10:31 - Working with browsers in the future12:07 - Dependency injection16:50 - Main method18:48 - Using require.js20:53 - How would you build a TreeView widget in Angular?24:07 - Where data is stored24:42 - Scope29:47 - Syncing to serversRESTClient
31:34 - Testability & Services in Angular39:04 - Benefits of AngularDependency injection Directives
PicksThe Arrow (Joe) Font Awesome (Tim) Testacular (Igor) Plunker (Igor) The Better Angels of our Nature: Steven Pinker (Misko) XCOM (Jamison) The Foundation Series: Isaac Asimov (Jamison) Influencer: The Power to Change Anything (AJ)
Transcript
[This episode is sponsored by ComponentOne, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to wijmo.com and check them out.][Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net]JAMISON: Hi everybody and welcome to episode 32 of the JavaScript Jabber podcast. I'm not your host Charles Max Wood, I'm Jamison Dance. Chuck is at a conference this week. So, he is not here. We have with us Joe Eames.JOE: Hey everybody!JAMISON: Tim Caswell.TIM: Hello.JAMISON: And we have two special guests. I'm going to mangle your names, so I'm sorry. It’s Misko Hevery.MISKO: Misko Hevery. Yeah, thank you.JAMISON: Misko Hevery and Igor Minar?IGOR: Minar. Yeah.JAMISON: Great. You guys wanna introduce yourself really quick?MISKO: Sure. So, this is Misko Hevery, original creator of Angular.js.IGOR: Hi everybody! I'm Igor. I joined Misko about 2 years ago on this venture of creating better browser and better environment for creating client-side applications.JAMISON: And if you can’t tell, we are going to talk about Angular.js this week. So, I know it is kind of a Google project now. Did it start out that way?MISKO: It started out with something I was working on and eventually I've open sourced it at a product with Google internal application and just gotten such a rave reviews and new features that people actually says, “Hey why don’t you work on this full time and turn in on to a real product?” So, that's how it’s started.JAMISON: Oh, wow. So, there’s actually a team in Google who are working on Angular as their job?MISKO: Yeah.IGOR: Yes.JAMISON: That's awesome.IGOR: It’s just two of us here now, but we have a bunch of other people working full time on Angular.js and also main contributors--JAMISON: Oh, go ahead sorry.IGOR: There is a team behind Angular.js.JAMISON: Do you think you can give an overview and kind of a comparison to contrast Angular to some of the other MVC frameworks that people like before you? I mean, Backbone I guess is what most people know. So, what makes Angular different from Backbone? How does it work?MISKO: So, I have never used Backbone besides it’s framework. But, my understanding is that Backbone is basically you have declare model and then launch on changes on its mode. And the way it does so is that there is a model class object. And whenever you modify the models that use special getters and setters methods, the Backbone know about the changes. So, this is pretty different from Angular because we don’t require you to inherit from anything. We have special getters and setters. Basically, any JavaScript object can be a model. So, that’s one big difference.JAMISON: But you can still observe the changes on objects like that?MISKO: Right.Special Guests: Igor Minar and Miško Hevery.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelBenjamin Lupton (twitter github blog) Jamison Dance (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Intro to CoffeeScript) Joe Eames (twitter github blog)
Discussion
01:00 - Benjamin Lupton Introduction and Backgroundhistory.js (twitter / github) Front-end and back-end developer Based in Australia Works full-time open-source
03:19 - history.jsHTML5 History API Hashbang
09:26 - URL appearances10:32 - Maintaining states12:23 - (Joe joins the podcast)12:30 - Framework usage13:42 - Overriding history.js17:33 - JavaScript community and evolution21:10 - Particular problems that history.js is geared toward solving22:07 - Sites implementing history.js37signals
25:18 - Other libraries that do the same thing26:12 - Page reloads32:14 - Browser limitations34:37 - Live event in jQuery35:42 - history.js: a deep or shallow library?37:43 - Resources for history.js
Picksbooq: Vyper XL2 (Jamison) Jordan Santell (Jamison) Star Wars: Red Harvest (Joe) Nitro Circus: The Movie (Joe) Arrested Development (Joe) f.lux (Chuck) docpad (Benjamin) Paulo Coelho (Benjamin)
Transcript
BENJAMIN: Anything important, I hear from my wife. So, I could finally have that thing where Facebook doesn’t infiltrate my mind with cat pictures anymore. [This episode is presented to you by ComponentOne, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to wijmo.com and check them out.][Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net]CHUCK: Hey everybody and welcome to episode 31 of the JavaScript Jabber show. This week on our panel, we have Jamison Dance.JAMISON: Howdy Doody!CHUCK: I'm Charles Max Wood from devchat.tv and this week, we have a special guest and that's Benjamin Lupton.BENJAMIN: Hello.CHUCK: He is the author of history.js and why don’t you introduce yourself? Because that's all I really know about you other than history.js and you are many time zones away.BENJAMIN: [laughs] Yeah. So, I have been doing JavaScript pretty much my entire life and been doing it professionally since about 2006, full time. And over the time, I've developed some open source project. One of them became quite popular and that was History.js it makes HTML5 History API that was compatible with like hashes and things like that. We’ll go into that late. Yeah, that became really popular. Now I other stuff with Node a lot as well.CHUCK: Ooh. A front end and a back end person.BENJAMIN: Only because I'm Node.JAMISON: You are basically like a unicorn.CHUCK: Yeah.JAMISON: You are a mystical creature.CHUCK: You are too well rounded. You are going to put us to shame.BENJAMIN: Well, it’s easier being with Node.CHUCK: Yeah, that's true.JAMISON: Yeah it’s true. Where do you work?BENJAMIN: I work for my own company right now. We’ve been doing JavaScript constancy for a few start-ups in Australia. And now, I'm looking at going completely full time with just the open source stuff.CHUCK: Oh, cool. How do you manage going full time open source?BENJAMIN: Right now, we’ve got premium support. I'm going with a few companies and we are looking into other options as well.CHUCK: Right. Yeah. I'm in the same boat with my podcast. I’d love to go full time podcast and less full time consulting.JAMISON: So the real question is, if I pay you enough money, will you put a gigantic ASCII art picture of my face in the History.js source code?BENJAMIN: Perhaps.JAMISON: Okay. We’ll have to talk after.CHUCK: I’m going to have to figure out how to do that. Let’s see... Image to ASCII art…BENJAMIN: In podcast.CHUCK: Yeah and then I’ll…JAMISON: Oh Chuck, you could do it so there’s face that shows up like in the waveforms on the sounds.CHUCK: [laughs] I don’t know about that.Special Guest: Benjamin Lupton.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelNoel Rappin (twitter github blog) Jamison Dance (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Intro to CoffeeScript) AJ O’Neal (twitter github blog)
Discussion
00:52 - Works in training and talent development for Groupon00:56 - Author of Rails Test Prescriptions and upcoming Master Space and Time with JavaScript01:21 - Writing a book about JavaScript02:33 - Focus of the bookPart 1: Jasmine and jQuery and the JavaScript Object Model Part 2: Extended examples of jQuery Part 3: Backbone Part 4: Ember
03:46 - Self-published authors05:15 - Approaches and mindsets to learning JavaScript06:04 - “Gotchas!” and bad features in Javascript09:17 - Modeling JavaScript for beginners11:23 - (AJ joins the podcast)11:42 - Resources/Classes for learning JavaScriptGood Parts Book: Douglas Crockford JavaScript Patterns: Stoyan Stefanov Eloquent JavaScript: A Modern Introduction to Programming: Marijn Haverbeke Maintainable JavaScript: Nicholas C. Zakas
13:54 - Hiring people with JavaScript experience at Groupon15:12 - Training workshops17:00 - Getting new hires up to speed quicklyPairing Mentoring Lectures Workshops
21:38 - Book LearningYou can learn at your own pace But it’s hard to ask questions to a book
22:51 - How Noel gained expertise in JavaScript24:38 - Code reading and learning to program a language26:18 - Teaching people JavaScript as their very first language31:55 - Classroom layout33:42 - Online trainingKahn Academy Computer ScienceCode AcademyStarter League40:00 - Finding a mentorStack Overflow
PicksShrines by Purity Ring (Jamison) Learnable Programming: Bret Victor (Jamison) Mob Software: Richard P. Gabriel & Ron Goldman (Jamison) Monoprice.com (AJ) ZREO: Zelda Reorchestrated (AJ) The Official Twitter App (Chuck) Fluid App (Chuck) Try Jasmine! (Noel) Justin Searls (Noel) The Atrocity Archives: Charles Stross (Noel) Futurity: A Musical by The Lisps (Noel)
Transcript
NOEL: I’m trying to figure out where the chat is in this stupid Skype interface.JAMISON: Just imagine the worst place it could possibly be and that’s where it is.[This episode is sponsored by ComponentOne, makers of Wijmo. If you need stunning UI elements or awesome graphs and charts, then go to wijmo.com and check them out.][Hosting and bandwidth provided by The Blue Box Group. Check them out at bluebox.net]CHUCK: Hey everybody and welcome to Episode 30 of the JavaScript Jabber show! This week on our panel we have, Jamison Dance.JAMISON: Hey guys!CHUCK: I’m Charles Max Wood from devchat.tv and this week, we have a special guest and that’s Noel Rappin!NOEL: Hey everybody!CHUCK: For the people who don’t know who you are, you want to introduce yourself, Noel?NOEL: Sure. I currently work in training and talent development for Groupon. And I am the author of previously “Rails Test Prescriptions” and currently a self-published book called “Master Time and Space with JavaScript”, which you can get at noelrappin.com. I need to spell that out, right? N-o-e-l-r-a-p-p-i-n.comCHUCK: So I’m little curious, before we get into the topic which is learning and teaching JavaScript, how did you get into writing a book about JavaScript? What’s your background there?NOEL: You know, it actually relates to teaching and learning JavaScript. I think, I was like… a lot of long time web devs. I spent my first round as a web consultant in around, turn of the century 2000’s. I spent time trying to talk clients out of JavaScript stuff because it was such a pain in the neck. And I kind of got away from it for awhile and came back a couple of years ago to realize that basically, everything had changed and they were actually usable tools now.And last summer, I was working with a… at that time,Special Guest: Noel Rappin.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelAlex MacCaw (twitter github blog) Jacob Thornton (Fat) (twitter github blog) AJ O’Neal (twitter github blog) Jamison Dance (twitter github blog) Joe Eames (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Intro to CoffeeScript)
DiscussionBower.js (web) Bower.js (twitter) Bower.js (github) SXSW Package managers ender-js BPM hem Benefits Small components Yeoman.io Browserify Dependencies Segmenting the community Transports Mozilla (github) Commands Building an actual package manager node.js Moving parts of a package manager Events Challenges Ember.js Mobile web application development Google Chrome apps Desktop apps in JavaScript
PicksKershaw Ken Onion Tactical Blur Folding Knife (AJ) The xx: Coexist (Jamison) Neil Armstrong’s Solemn but Not Sad Memorial Cathedral (Jamison) Collective Soul Cat (Jamison) Amazon Prime (Joe) Star Trek Original Series on Amazon Prime (Joe) Functional Programming Principles in Scala: Martin Odersky (Joe) Domo (hiring!) (Joe) Delegation in Google (Chuck) Civilization IV (Chuck) Fujitsu ScanSnap (Chuck) Bill Nye’s Twitter Account getting suspended was not cool (Jacob) Github + Twitter profile redesign (Jacob) Avoid 7/11 Hot Dog Flavored Chips (Jacob) The Big Picture (Alex) CoffeeScriptRedux (Alex) Stripe (Alex)
Special Guests: Alex MacCaw and Jacob Thornton.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
PanelJoe Eames (twitter github blog) AJ O'Neal (twitter github blog) Jamison Dance (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Summer Camp)
DiscussionGreenfield - Brand New Project Brownfield - Older Applications, Legacy Code Poopfield - PHP Development Dealing With Legacy Code Use Tests Working Effectively with Legacy Code - Michael Feathers Risk When is the big rewrite the correct answer?
PicksJoseph Smith: Rough Stone Rolling (AJ) Roll Up Crepes (AJ) Calepin (AJ) Bernie (Jamison) Dota 2 (Jamison) Derrick Storm Novels - A Brewing Storm, A Bloody Storm, A Raging Storm (Joe) Castle (Joe) X-Wing Mineatures (Joe) PEX For Fun (Joe) MLG Championship - Starcraft Duel (Joe) VESA 75 to 100 Adapter (Chuck) LG Tone Bluetooth Headphones (Chuck)
Transcript
JOE: Listen baby, it won’t get weird.JAMISON: [Chuckles]AJ: That sounds... weird.JAMISON: [Chuckles] Too Late.[Hosting and bandwidth provided by the Blue Box Group. Check them out at bluebox.net.][This episode is sponsored by Harvest. I use Harvest to track time, track subcontractor’s time and invoice clients. Their time tracking is really simple and easy to use. Invoicing includes a ‘pay now’ function by credit card and PayPal. And you can sign up at getharvest.com. Use the code RF to get 50% off your first month.]CHUCK: Hey everybody and welcome to episode 28 of the JavaScript Jabber show. This week on our panel, we have AJ O’Neil.AJ: Yo, yo, yo comin’ at you live from the second story of an office base in Orem, Utah.CHUCK: We also have Jamison Dance.JAMISON: Hi, I’m Jamison Dance and I am super excited, because today iTV just announced that we are doing the Nintendo TV thing; and I haven’t been able to talk about it for, like, six months, so it’s a good day.CHUCK: Cool. We also have Joe Eames.JOE: Comin at you semi live from American Fork, Utah.CHUCK: And I am Charles Max Wood from devchat.tv. Tim is not with us this week because he is in China. I thought I’d point that out, because I think it’s cool. Anyway, this week we are going to be talking about Greenfield versus Brownfield projects. It was kind of funny when we were getting ready to do this, some of the panels were like, Green/Brown?JAMISON: Yeah, I have to pull Josh Susser and ask for a definition.CHUCK: So, as far as I understand it, there are some new --- to this, depending to who you talk to, but mostly, Greenfield is a brand new project with few or no decisions made and no code written for it yet. And Brownfield projects are effectively older applications usually associated with legacy code. You know, so it’s an application that already has code written toward it. Typically, it is out there in the world doing whatever it is supposed to do.JAMISON: Now, I want to put this question delicately. Are there any fecal connotations to the color ‘brown’ in Brownfield?CHUCK: Only if it’s PHP.JOE: [Chuckles]. Then it’s Poopfield Development?CHUCK: [Chuckles]. Okay, we are not gonna go down that tangent.[Laughter]AJ: Because, I mean honestly, when Mormons make jokes about crap, it never sounds good anyway.CHUCK: Yeah. So anyway, how many of you guys have actually worked on a real Greenfield project? Like been there from day one, that you have it just built yourself.JAMISON: I guess it depends on your definition. Maybe. So we have lots of services at ITV, so I've been part of spinning up completely new services that didn’t exist. We had other sort of similar things already, so some of the decisions were already made for, so we kind of had a style established. But it was still like a separate project.AJ: Do you forget us so soon, Jamison?JAMISON: [Chuckles].AJ: You don’t remember ever working here or getting started…JAMISON: I do. I don’t remember Greenfield stuff; I remember new features, I mean,
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss the JavaScript community at large.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk about code organization and reuse.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to James Burke about Require.js.Special Guest: James Burke .
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Ariya Hidayat about Phantom.js.Special Guest: Ariya Hidayat.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Glenn Block about Azure.Special Guest: Glenn Block.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss their weapons of choice.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk about Cloud9.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk Browserify with James Halliday.Special Guest: James Halliday.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss Agile development.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk to Jeremy Ashkenas about CoffeeScript.Special Guest: Jeremy Ashkenas .
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk about SQL and NoSQL.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists have an open discussion.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk about SVG and data visualization with Chris Bannon.Special Guest: Chris Bannon.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss Knockout.js with Steven SandersonSpecial Guest: Steven Sanderson.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk about design patterns in JavaScript with Addy OsmaniSpecial Guest: Addy Osmani.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss whether HTML5 and JavaScript can really replace Flash.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists talk about Node.js.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss testing JavaScript with Joe EamesSpecial Guest: Joe Eames.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss V8 and Dart with Lars Bak and Kasper Lund.Special Guest: Kasper Lund.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss online resources for JavaScript Developers.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss Chrome dev tools with Paul Irish.Special Guest: Paul Irish.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss JavaScript objects.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss Backbone.js with Jeremy Ashkenas.Special Guest: Jeremy Ashkenas .
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss build tools.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss the right way to build web applications.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.
The panelists discuss asynchronous programming.
Support this podcast at — https://redcircle.com/javascript-jabber/donations
Privacy & Opt-Out: https://redcircle.com/privacy
Become a supporter of this podcast: https://www.spreaker.com/podcast/javascript-jabber--6102064/support.