Join Newsletter

Kyle Simpson

Passionate Javascripter. Open Web Evangelist

....

United States

Kyle Simpson is an evangelist of the open web, passionate about all things JavaScript. He writes books, teaches JavaScript, speaks, and contributes to the world of OSS.

Talks at YOW!

Cancel All My Appointments - YOW! 2018 Melbourne

The most complicated state in an application is time. Like cooking a bag of microwave popcorn, modern web applications desperately try to keep up with their state through an orchestrated chaos of asynchronous operations popping off in indeterminate cadence. No question, coordinating all this concurrency is hard.

But there's a pitfall at the heart of asynchrony that stays mostly unaddressed.

When an operation doesn't finish right away, synchronously, it's possible the operation may never finish. Or, it may be destined to finish eventually, but a second operation may be raised which means we no longer care about the first. Whatever the case, we need to be able to cancel it. This critical check ultimately protects users from the vagaries of unpredictable systems.

Cancellation should be core to our async programming; no asynchrony should run without it. Too often, such handling is just a corner case exception. Without a cancellation strategy, your applications are incomplete at best.

We'll discuss use-cases for async cancellation and various approaches to managing them.

Read More

Workshop - Functional-Light JavaScript - YOW! 2018 Melbourne

"A monad is just a monoid in the category of endofunctors".

That fact holds everything you need to know about functional programming (FP), right!? If that sentence is a jumble of confusing words to you, you're not alone.

FP is one of the most powerful programming concepts ever conceived, but it's mired in mountains of terminology and notation and often taught from the top-down. Think about it: it's much easier to think about climbing the mountain once you're already on the top and can see back down. But right now, you're standing at the base of the mountain, ready and eager to climb but all you have is a collection of fancy climbing gear and no clue how to use it to begin the climb.

This workshop is your primer on how to use this climbing gear to get started up the mountain. Most of the core concepts of FP are actually very intuitive and straightforward, when presented from the ground up without confusing terms or symbolic notations. Functional-light is a look at FP that helps you start the climb, not a lecture on why the climb should be easier than you think it is.

We'll look at: function parameters, side effects/purity, composition, immutability, closure, recursion, list operations, and more!

If you're ready to start using FP concepts intuitively and pragmatically to improve your code, and not just hearing confusing terms, this workshop is for you.

Read More

Cancel All My Appointments - YOW! 2018 Brisbane

The most complicated state in an application is time. Like cooking a bag of microwave popcorn, modern web applications desperately try to keep up with their state through an orchestrated chaos of asynchronous operations popping off in indeterminate cadence. No question, coordinating all this concurrency is hard.

But there's a pitfall at the heart of asynchrony that stays mostly unaddressed.

When an operation doesn't finish right away, synchronously, it's possible the operation may never finish. Or, it may be destined to finish eventually, but a second operation may be raised which means we no longer care about the first. Whatever the case, we need to be able to cancel it. This critical check ultimately protects users from the vagaries of unpredictable systems.

Cancellation should be core to our async programming; no asynchrony should run without it. Too often, such handling is just a corner case exception. Without a cancellation strategy, your applications are incomplete at best.

We'll discuss use-cases for async cancellation and various approaches to managing them.

Read More

Cancel All My Appointments - YOW! 2018 Sydney

The most complicated state in an application is time. Like cooking a bag of microwave popcorn, modern web applications desperately try to keep up with their state through an orchestrated chaos of asynchronous operations popping off in indeterminate cadence. No question, coordinating all this concurrency is hard.

But there's a pitfall at the heart of asynchrony that stays mostly unaddressed.

When an operation doesn't finish right away, synchronously, it's possible the operation may never finish. Or, it may be destined to finish eventually, but a second operation may be raised which means we no longer care about the first. Whatever the case, we need to be able to cancel it. This critical check ultimately protects users from the vagaries of unpredictable systems.

Cancellation should be core to our async programming; no asynchrony should run without it. Too often, such handling is just a corner case exception. Without a cancellation strategy, your applications are incomplete at best.

We'll discuss use-cases for async cancellation and various approaches to managing them.

Read More

Workshop - Functional-Light JavaScript - YOW! 2018 Sydney

"A monad is just a monoid in the category of endofunctors".

That fact holds everything you need to know about functional programming (FP), right!? If that sentence is a jumble of confusing words to you, you're not alone.

FP is one of the most powerful programming concepts ever conceived, but it's mired in mountains of terminology and notation and often taught from the top-down. Think about it: it's much easier to think about climbing the mountain once you're already on the top and can see back down. But right now, you're standing at the base of the mountain, ready and eager to climb but all you have is a collection of fancy climbing gear and no clue how to use it to begin the climb.

This workshop is your primer on how to use this climbing gear to get started up the mountain. Most of the core concepts of FP are actually very intuitive and straightforward, when presented from the ground up without confusing terms or symbolic notations. Functional-light is a look at FP that helps you start the climb, not a lecture on why the climb should be easier than you think it is.

We'll look at: function parameters, side effects/purity, composition, immutability, closure, recursion, list operations, and more!

If you're ready to start using FP concepts intuitively and pragmatically to improve your code, and not just hearing confusing terms, this workshop is for you.

Read More

Workshop - JavaScript: The Recent Parts - YOW! 2018 Sydney

With the advent of ES6 (aka ES2015) a few years back, the log jam holding back improvements to the JS language design was finally unstuck. But with it came a flood of new language features, into an already overwhelmingly crowded and fragmented ecosystem of JS tools and frameworks. And JS changes just keep coming and coming. For many, this pace of change can be very intimidating and frustration.

In this workshop, we'll take a quick glance at a variety of features added to JS from ES6 to present, and try to get a sense of what parts we should be paying closest attention to. You can't learn everything -- it all changes to fast. But you can keep an eye on the flow of the language as it evolves, and that's the picture this talk will paint for you.

Topics covered include: spread/rest, destructuring, template literals, iterators, generators, async-await, async generators/iteration, RegExp improvements, and more.

Read More

New Rules For JavaScript - YOW! 2013 Brisbane

I bet you’ve been writing JS for years and you think you’re pretty good at it. I bet you think you know all about how functions create closured scope, and how this gets bound, and even how .prototype works. Or, rather, you probably don’t care because your framework or library takes care of all that for you.

JavaScript is generally considered one of the most misunderstood (and maligned) languages of the modern programming era. And there’s good reason for that, because most developers who write JS never actually deeply know how the language works. They blame all their WTFs on language bugs, instead of the shortcomings in understanding.

This talk is going to re-visit some of the “tough parts” of the language by declaring “New Rules” (Bill Maher style) for the language. For instance: “new rule: Stop using this until you fully understand how it gets assigned.”

This talk is going to be hard-core on coding and expects a solid understanding of the language.

Read More

New Rules For JavaScript - YOW! 2013 Sydney

I bet you’ve been writing JS for years and you think you’re pretty good at it. I bet you think you know all about how functions create closured scope, and how this gets bound, and even how .prototype works. Or, rather, you probably don’t care because your framework or library takes care of all that for you.

JavaScript is generally considered one of the most misunderstood (and maligned) languages of the modern programming era. And there’s good reason for that, because most developers who write JS never actually deeply know how the language works. They blame all their WTFs on language bugs, instead of the shortcomings in understanding.

This talk is going to re-visit some of the “tough parts” of the language by declaring “New Rules” (Bill Maher style) for the language. For instance: “new rule: Stop using this until you fully understand how it gets assigned.”

This talk is going to be hard-core on coding and expects a solid understanding of the language.

Read More

New Rules For JavaScript - YOW! 2013 Melbourne

I bet you’ve been writing JS for years and you think you’re pretty good at it. I bet you think you know all about how functions create closured scope, and how this gets bound, and even how .prototype works. Or, rather, you probably don’t care because your framework or library takes care of all that for you.

JavaScript is generally considered one of the most misunderstood (and maligned) languages of the modern programming era. And there’s good reason for that, because most developers who write JS never actually deeply know how the language works. They blame all their WTFs on language bugs, instead of the shortcomings in understanding.

This talk is going to re-visit some of the “tough parts” of the language by declaring “New Rules” (Bill Maher style) for the language. For instance: “new rule: Stop using this until you fully understand how it gets assigned.”

This talk is going to be hard-core on coding and expects a solid understanding of the language.

Read More