Jenn Creighton
What Tamagotchis can teach you about generators
What do Tamagotchis — everyone’s favorite digital pets from the 90s — and generators — pausible functions for async tasks — have in common? Both are really fun to play with. As a recent side project, I built a web-version of a Tamagotchi. But I struggled with one key element: how to handle a series of animations. What do you do when animations need to know that other animations are complete? What do you do when you’ve queued animations but a user event needs to be handle instead? This talk explores where I went wrong (hint: promises) and what worked (hint: generators). You’ll leave this talk with a solid grasp of how to combine promises, generators, and coroutines for async work — whether it’s for a Tamagotchi or your day-to-day work.
Jeonghoon Byun aka Outsider
Lessons from maintaining Mocha, an open source project
I learned a lot running a personal open source project and occasionally contributing to other ones. I learned even more maintaining a popular open source project used by many users across the globe. In this talk, I'd like to share with you the challenges I faced and the lessons I learned working on Mocha as a maintainer over the past year. I'll also talk about how maintainers of big open source projects manage them and collaborate with each other.
Wendy Gwo
Congrats! You’re the first person to have a baby at your startup. Now what?
Having a baby is a big life change. Being the first person to have a baby at a startup makes it feel even more daunting. This talk walks you through the steps I took when I was the first person to go on family leave at my previous job (a startup), including educating my company about what leave I was entitled to, and shows how you can own the situation and take control.
This talk is for anyone who works in startups who is thinking about having a baby (or adopting one!), is currently expecting a child, or just wants to be an ally in the workplace for soon-to-be parents.
Jaeman An
Lifesaving AI and JavaScript
JavaScript, artificial intelligence, and software development, a combination with myriad possibilities. This presentation tells one such story, a life-saving software for predicting severe acute illness.
The AI system required not just back-end and front-end but also mobile apps, AI models, and data collection and analysis components. I’ll show you how I used JavaScript to create this solution, with tools like Vue.js, React Native, Electron, TypeScript, and server-side JavaScript. I’ll also explain issues of safety, privacy, and explainability that comes with using AI in medicine and how to deal with them. Finally, I'd like to share with you how software made out of JS can bring tangible contributions and innovations to the forefront of medicine.
Vitalii Bobrov
The Man who Sold the Amp: How to Process Music with JS
Take your old scratched Les Paul or Stratocaster from the case and fill all the space around with warm riffs. I’m going to show how to transform the code into Kirk Hammett’s wah-wah, Stevie Ray Vaughan’s overdrive and Kurt Cobain’s distortion. You’ll learn how to parse audio input in real-time using JavaScript and the Web Audio API.
I’ll be jamming live on stage with my guitar to demo every code example, and we’ll also use WebRTC to jam with friends across the world! After this talk, you will be familiar with the principles behind pedal sound effects and how to create them in code. Let's rock the Web 🤘!
Gyujin Cho
Functional Programming: Learning by Application to Redux and Canvas
What's so great about functional programming? Textbooks tell you it's "declarative, reusable, and without side effects," but don't explain how or when to use it.
In this talk, I will go step-by-step through the "how and when" of functional programming as applied to Redux and Canvas. You'll also learn about my own experiences with FP, why Ramda.js works better than lodash.js in this context, and the ups and downs of app development in FP.
Jaeseok Kang
Don't block the event loop! JavaScript Async for Effortless UX
Page freeze, glitchy animation, and slow scrolling. They follow us everywhere, and we'd like them to stop. This talk will get to the bottom of these issues by delving into the Javascript engine and concepts like task, call-stack, and event-loops. I will also introduce several ways to tackle these problems and walk you through a demo to help you understand.
Willian Martins
Back to the future of JS II: Beyond what we can foresee
Learn about the upcoming JavaScript features you never knew you needed: Pattern Matching, Pipeline Operator, and Binary AST. I'll show you how these proposals may change the way you write code forever, as the spread operator once did. After that, I'd like to invite you to help TC39 push them forward.
What would you like to see implemented in JavaScript next?
Istvan Szmozsanszky aka Flaki
A WebAssembly Field Guide easily worth like 70 bottle caps
Life underground has become trying lately. Following many distressing incidents and a recent trouble with your Vault's water supply, you are appointed Chief Vault Technician to take matters into your own hands. Documentation is scarce on these decade-old protective underground habitats, so when you finally manage to barter a bulky operating manual you are astounded by the rich historical accord of this one technology, called "WebAssembly", having seemingly evolved from its unsuspecting niche—a common dialect of inter-connected computers—to become the universal operational underpinning of every machine on Earth. Including those that have kept you & your compatriots safe over the past decades...
Isha Kasliwal
How Typescript Can Power Design Systems
Design Systems are beneficial in bridging the gap between design and development. The inclusion of React.js in Design Systems helped introduce the concept of functional programming as it relates to building components for reuse and scale. What happens if we take it a step further? With Typescript, a superset of JS that can be used in conjunction with React.js, your Design System can reach a whole new level of efficiency and clarity. This talk will explore how UI engineers, from beginner to experienced, can harness the power of Typescript to help enforce better component standards in the code and allow large-scale JS projects to succeed. By the end of this talk, you will walk away with actionable ideas to implement in your codebase!