Midwest JS

Joe Karlsson

Parallel Processing in JS(?!)

For a long time, JavaScript was missing any kind of processing threads. While the single-threaded model added to developer comfort, it also made the platform unable to do serious and time-consuming calculations, and the only way to circumvent it was to do it on a remote server. Luckily, with the introduction and widespread adoption of Web Workers, we can now do resource-intensive calculations on background threads. A Web Worker allows you to run JavaScript in the background, without affecting the performance of the page. Even if you are running really resource intense code in the browser, you can continue to do whatever you want: clicking, selecting things, etc., while the Web Worker runs in the background. In this talk, we will explore: * Web Workers, how and when you can use them, and their peculiarities. * Perf and framerate benefits (with data!) * Polyfilling for naughty browsers * Future: WebGL, Canvas2D, and other marvels browser vendors are cooking up.

Building a GraphQL Client in JavaScript

RESTful APIs have been around for a while now, but they are flawed. Things like non-CRUD operations, response validation, error handling, in-memory state management etc. just get really hard. This talk covers how GraphQL - a standard that unifies server and client communication - comes to save the day, and why the tooling around it is a game-changer. We will answer the following questions. What is the philosophy behind GraphQL? How do you architect a scalable schema? How can GraphQL boost productivity? How can you avoid common pitfalls? We will then get a GraphQL server up and running together while focusing on exploring real-world patterns for architecting our schema. We will discuss and implement practical steps to improve query performance, error handling and caching. By the end of this talk, you will leave with a working GraphQL server while we explore real-world patterns.


I am a Developer Advocate at MongoDB, and I hail from the frozen tundra of Minneapolis, Minnesota. I have been primarily a Node and JavaScript engineer, but I also really enjoy the "math-y" parts about coding. I've been writing, teaching, and talking about code my entire career. Sharing what little I know about programming is truly the thing I love doing the most. I am the co-creator of open source software, including bechdel.io which tells you if a movie script passes the Bechdel Test or not. In my free time, I am usually drinking Gin and Tonics, eating at a new restaurant, or working on an art project (my medium is a 3D printer and an Arduino).