Presentations from 2019
Thursday October 31st, 2019 8PM
David Guttman
Coding Secret Weapons and Superpowers
We all want to improve, but the answer isn't just reading blog posts and following tutorials. Let's ...
We all want to improve, but the answer isn't just reading blog posts and following tutorials. Let's talk about what really leads to developer superpowers. Along the way we'll chat about video games, synesthesia, complexity theory, and work by Nobel Laureates.
Kiran Sonley
TS FE + GQL API : 1 + 1 = 3
TypeScript and GraphQL are each popular topics in the front-end JS community right now, but over the...
TypeScript and GraphQL are each popular topics in the front-end JS community right now, but over the past year of working with this stack I've come to believe the whole is greater than the sum of the parts. GraphQL is known for its flexibility (query the fields you want), its graph structure (query related objects), and for its strong typing. But what happens when you receive all that strongly-typed data in a JS application? This talk will examine typical practices and patterns around data-fetching in the absence of GQL or TS (`lodash.get` anyone?), then explore the benefits of end-to-end typing when you add TypeScript in: certainty, reliability, and self-documentation among them. Unfortunately, those benefits don't come for free. I'll recount some of the challenges my teams have faced as we adopted this stack, and our strategies to address them: * We began with a team experienced in TypeScript, which led to some complicated typing. But advanced TypeScript has a serious learning curve, so onboarding new members proved difficult. * "Error" handling: GraphQL's built-in error handling is _not typed_. So representing cases other than the happy path while maintaining type-safety requires implementing those cases as regular schema types, not as exceptions. * Manually typing all GraphQL responses is burdensome and error-prone, which is exactly what we've been trying to avoid. Tools exist to _generate_ types from your GraphQL schema and operations, but they're still fast-moving and imperfect; we continue to struggle with them. I'll conclude by answering and asking a few questions: * Given all these challenges, was it worth it? * Is this where front-end development is going? * Is this still the JavaScript we know and love, or just Java?
Thursday September 26th, 2019 8PM
Jon Jandoc
Codechella: How we locked ourselves in a cabin for a week and rebuilt Joymode
When I started at Joymode almost a year and a half ago, I was brought on as their first strictly fro...
When I started at Joymode almost a year and a half ago, I was brought on as their first strictly front-end developer tasked with updating their front-end stack. Within a year, we went form a slow CoffeeScript/jQuery app on Rails, to a modern decoupled Vue app on the JAMstack. My talk goes into the motivations for migrating, my push for using Vue when the team had already convinced themselves prior to using React, and the strategies to progressively move over a large legacy codebase to a modern framework while still running a business. Finally, I can reflect on what went well and what didn't.
Thursday August 29th, 2019 8PM
Yoni Goldberg
Five Advanced & Shiny Testing Techniques
A year ago I was tasked to test typical Microservices-based project with modern frontend and the tra...
A year ago I was tasked to test typical Microservices-based project with modern frontend and the traditional tools just didn't work for me. So I went into a journey of finding modern techniques that might score better and guess what: I discovered a handful of neat techniques that rocked my testing world. Let's discuss when the traditional testing tools fall short and how modern and emerging techniques can sometimes do better: In the past 10 years, the dev world had gone through dramatic changes but the testing models were left intact leaving us wondering how to test things like Microservice, and Serverless. This session demonstrates the new wave of testing tools (e.g. property-based testing, consumer-driven contract, fuzz, and others) and how they can better fit modern applications. This session aims to inspire with modern testing ideas, but it also packs practical and down-to-earth code demos. About me - Yoni Goldberg: I'm an independent consultant who works with 500 fortune corporates and garage startups on polishing their JS & Node.js applications. I'm also the author of Node's largest best practices collection: https://github.com/i0natan/nodebestpractices
James Hush
How to Sell Testing to Your Team (Without Being a Jerk)
This is a story of how we were able to go from zero automated testing, static analysis, end to end t...
This is a story of how we were able to go from zero automated testing, static analysis, end to end testing, and a lot of wasted time, broken deploys and pager duty requests to being able to deploy changes on a Friday at 5pm. I did this by slowly getting buy in from team members over the course of the first year I was working at System1 and introducing checks and tests slowly, instead of doing what many well meaning engineers do of trying to introduce too much all at once. Turning on tests 100% in a blank document is easy, integrating it into a 4+ year code base is not. I'll cover: 1. The point of testing (it's actually to speed up releases, not necessarily catching bugs!) 2. The low hanging fruit big wins you can make at work tomorrow (it's not trying to convince business to give you 4 weeks to write write brittle end to end tests and not push out features). 3. The tricks to introduce eslint, Typescript, Jest, and Mabl/Cypress slowly without annoying other engineers to the point of them just turning it off. 4. The before and after results of how testing has speed up System1's frontend team to release 2-3 times a day without breaking a sweat instead of a once a week ordeal.
Thursday July 25th, 2019 8PM
Jacob Lowe
Become a 10x Engineer
Do not burn yourself out. Sitting at my desk, I had an overwhelming feeling doing too much but also ...
Do not burn yourself out. Sitting at my desk, I had an overwhelming feeling doing too much but also getting nothing done. I would look back at my time and think I did a lot of things, but I just do not recollect any of them. It's like my body was on autopilot and my mind was taking a nap.
Nader Dabit
Curious Cases of GraphQL
As GraphQL moves into the mainstream, the tooling, ecosystem, and services supporting it have grown ...
As GraphQL moves into the mainstream, the tooling, ecosystem, and services supporting it have grown and have made it possible to do much more with GraphQL than using it as just a data layer. In this talk, I'll show how developers are using GraphQL as an API gateway to accomplish things that you may have never thought possible.
Thursday June 27th, 2019 8PM
Gerard O'Neill
Put Some Respek on My Name
This is a talk about all the problems that occur when programmers try to validate and sanitize names...
This is a talk about all the problems that occur when programmers try to validate and sanitize names. My last name has an apostrophe, and it's a horrible experience. I know someone whose first name is one letter. I have friends with accented characters in their names. Programmers do a horrible job of respecting people's monikers, so I am on a mission to make people understand the flaws in their ways. I recently gave a shorter version of this talk: https://www.youtube.com/watch?v=YFEO0qKYaiU
Angus Perkerson
11 Years of Having No Idea of What I’m Doing
Imposter Syndrome is okay. It’s okay to feel like you don’t know what you’re doing at your job, that...
Imposter Syndrome is okay. It’s okay to feel like you don’t know what you’re doing at your job, that’s your job as a Software Engineer. In all 11 years of my career, every job I’ve had to learn there tech stack on the job, whether it was backbone, angularjs, or react. Instead what helped me in my career was focusing on the basics of programming and algorithms, and understanding the JavaScript Language itself. I want to share my story of how for every job I’ve had there we’re several moments where I had no idea what I was doing, but by focusing what I did know, and learning the foundations of what I needed to know. I’ve been able to build a pretty successful career. TLDR; Feeling like you don’t know what your doing is okay. Learn JavaScript not React, and you’ll be fine.
Thursday May 30th, 2019 8PM
Forest Toney
A Functional Journey: 2 Years of PureScript in Production
2 years ago we were looking to migrate away from a legacy Angular application. We evaluated React, E...
2 years ago we were looking to migrate away from a legacy Angular application. We evaluated React, Elm, and Reason but ultimately decided on PureScript. I am going to talk about why we picked PureScript and how things have turned out thus far.
Forrest Akin
Functional Programming: A guided Tour
"fp, fp, fp - BLAH! All Forrest ever talks about is functional programming - why?!" I'd love to give...
"fp, fp, fp - BLAH! All Forrest ever talks about is functional programming - why?!" I'd love to give a concrete demonstration of the power of functional programming by doing a live coding imperative-to-functional refactor on some real code I've seen in the wild. (The names of these functions have been changed to protect the innocent)
Thursday April 25th, 2019 8PM
Ryan Dahl
A secure runtime for JavaScript and TypeScript built with V8, Rust, and Tokio
Deno is a new command-line program for executing JavaScript and TypeScript built using V8, Rust, and...
Deno is a new command-line program for executing JavaScript and TypeScript built using V8, Rust, and Tokio. The goal is to provide users with a convenient tool for dynamic programming using familiar browser-like APIs. Trading backward compatibility for modernity, Deno is built around the new "ES module" standard. Third party imports are done via URLs, which Deno can fetch out-of-the-box, thus providing a standards-based distributed module system. Like in the browser, by default code is securely sandboxed - so users can run unaudited scripts with some confidence.
Alex Yankouski
Gaming in the Browser (Using Only The Platform)
Sharing his experience of creating his first small game using only WebGL and getting rid of pixi.js ...
Sharing his experience of creating his first small game using only WebGL and getting rid of pixi.js or three.js to see how all that fancy gaming trickery works under the hood in the browser.
Thursday March 28th, 2019 8PM
Adam Smith
Get Over Yourself
A humbling look into Imposter Syndrome and realizing you’re not the only one. Getting comfortable wi...
A humbling look into Imposter Syndrome and realizing you’re not the only one. Getting comfortable with being uncomfortable is something we all need to get comfortable with.
Zev Youra
Narrative Visualizations
I recently left Google after ~4.5 years to work on some new projects. Since then, I've been spending...
I recently left Google after ~4.5 years to work on some new projects. Since then, I've been spending most of my time working on multi-layered data visualizations, and will talk through the creation of a few examples. I'll also discuss the workflow I've developed to present them both as interactive visualizations on the web and as pre-rendered videos for consumption on twitter, facebook, etc.
Thursday February 28th, 2019 8PM
Shawn swyx Wang
JAM Stack: The Total Victory of JavaScript
A lot has happened in the five years since Val Karpov coined the MEAN stack to describe "Full Stack"...
A lot has happened in the five years since Val Karpov coined the MEAN stack to describe "Full Stack" Javascript stacks. React rose to dominance, AWS Lambda started the Serverless movement, and Static Site Generators came back in a big way. What is driving this new stack of Javascript, APIs, and Markup? This is the story of how a JAM Stack cynic finally turned into a believer.
Thursday January 31st, 2019 8PM
Ben Junya
Becoming a programmer without a CS degree & bootcamp free!
Non-traditional ways of getting into the field of programming and software engineering.
Non-traditional ways of getting into the field of programming and software engineering.
Mike Kerr
From WordPress to React while keeping everyone happy.
Getting my company, FabFitFun, off a monolithic WordPress app and on to React, a change I wanted to ...
Getting my company, FabFitFun, off a monolithic WordPress app and on to React, a change I wanted to make in the company and yelled loud enough to get the attention and approval of everyone. Discussing what it took from gaining approval from the tech team and executive stakeholders as well as how I assembled the tool to keep both Content Editors, UX Designers and Engineers happy. This initiative led me to building a custom React CMS + WYSIWIG Editor from scratch!