Putting the D&D in TDD
Presented by: George Walters II, Guy Royse
Are you tired of TDD workshops that make you do boring things like calculating bowling scores and prime factors or demonstrate how to win the game of life? If so, this is the session for you! In this TDD workshop, we will be building the domain model for EverCraft -- a new MMORPG from Blizzards of...
Format: PreCompilerLevel: Introductory and overviewKidzMash: Human 3D Printer: a social STEM learning experiment
After a brief overview where we explain what the teams will do, we will be dividing into 3 teams. A CAD team, a SLICER team, and a 3D printer team. The teams will try to manually replicate with the team each piece of the 3D object development and replication process! The CAD team will model the...
Format: PreCompilerLevel: Introductory and overviewGet Up and Running Quickly With Vue.js
Presented by: Burton Smith
Whether you are enhancing a legacy application or starting a greenfield project, Vue.js can help reduce your development time. Vue.js a very lightweight and fast JavaScript framework that makes it ideal for modern applications - from using it as a library to create some enhanced features in your...
Format: PreCompilerLevel: Introductory and overviewTech Debt Be Gone! Time to Refactor JavaScript
Presented by: Joe Morgan, Laurie Barth
It’s been a battle, but the code is finally working. It’s time to clean it up, but not so fast, something else is on fire and the code has to be pushed as it is. Whenever there is time to refactor something else comes up. Of course, this doesn’t just happen once. A quick change here. A little...
Format: PreCompilerLevel: IntermediateBuilding Quality JavaScript With Test-Driven Development
Presented by: Steven Hicks
Learning Test-Driven Development (TDD) is frustrating. The first couple tests feel strange - you wonder why you're writing tests that fail on purpose. Before long, you find yourself behind schedule from spending so much time on tests. You abandon unit testing completely. You'll write them...
Format: PreCompilerLevel: Introductory and overviewGet Progressive with it
Presented by: Matthew LaForest
Responsive web design! Mobile first! Hybrid apps! We are continuously bombarded with new ideas about the best way to develop a new application. For a small team, effectively delivering across many platforms can be a problem, but delivering a hybrid app frequently falls into an uncanny valley trap. ...
Format: PreCompilerLevel: IntermediateCreating a Cohesive Collection of Components with React
Presented by: Russell Skaggs
Component libraries enable teams to do more work quicker. It frees up our designers and developers to work on big issues, while allowing them to make updates with surgical precision. Building components within React has never been easier. During this presentation we will: create a set of React...
Format: PreCompilerLevel: AdvancedEnsure Your Users Experience - A Trip Around User Validation Tools
Presented by: Rick Clymer, Aaron Glass
In today’s fast feedback world, getting our product in front of users often is incredibly important. But how do we know our product is ready to go in front of our users. Sure, we have 1,000’s of unit and integration tests on each of our microservices, but what happens when we put them all...
Format: PreCompilerLevel: IntermediateHelp Cure the #1 Leading Cause of Death in America
Presented by: Luther Hill
The number one leading cause of death in America is Cardiovascular Disease. Doctors often spend years researching cures for this disease without any results. ...
Format: PreCompilerLevel: AdvancedMicro Frontends: Breaking up the Frontend Monolith
Presented by: Kito Mann
Over the past several years we have embraced microservices as a way to “break up the monolith” and reduce complexity, allowing teams to focus on specific areas of functionality, while providing more flexible scaling and better fault isolation. However, for most of us, the front-end has remained...
Format: PreCompilerLevel: IntermediateBuilding Mobile Applications with the Ionic Framework
Presented by: Robert Lair
Have you wanted to start developing mobile applications, but have found that selecting the right technology, framework, and language is overwhelming? Ionic provides a framework that allows developers to build applications using familiar web technologies in order to produce a native application...
Format: General SessionLevel: Introductory and overviewEnd to End Testing with Cypress
Presented by: Avindra Fernando
Lots of companies are investing in end to end testing to release high quality software and remain competitive in today’s market. But, end to end testing also come with a set of challenges that we have to overcome. Setting up, writing, running, and debugging these tests could be challenging and...
Format: General SessionLevel: Introductory and overviewHow I overcame my fear of JavaScript
Presented by: Kim DelSenno
As a front- end developer, my current job has me using HTML, CSS, and a little bit of JavaScript. In this talk, I am going to walk you through exactly how I got over a major career slump and overcame my fear of going deeper into the world of JavaScript. I will walk you through how I learned to use...
Format: General SessionLevel: Introductory and overviewTDD Designer Style: Styleguide Driven Development
Presented by: Matthew LaForest
Developers have adopted a number of techniques to help speed development of their products. Leveraging tests to help them design the interfaces to their underlying pieces (classes, functions, components, etc.). For a long time the interface between designers and developers has been a continual rough...
Format: General SessionLevel: Introductory and overviewThe UX of Configuration Files
Presented by: Eemeli Aro
Developers are people too, and should be your primary concern when designing an interface for them to configure your tools and libraries. In other words, there are better options than JSON available, but they each come with associated costs and limitations. How well do JSON5, YAML and TOML play with...
Format: General SessionLevel: IntermediateAngular and The Case for RxJS
Presented by: Sandi Barr
When choosing Angular to build a front end app, it can seem like RxJS is just one more thing to learn, and there’s no easy transition coming from another framework. But RxJS is efficient and expressive! We declare relationships between entities, describing the what not the how. The basic sequence...
Format: General SessionLevel: IntermediateBuilding a Custom CSS Framework Was Easier Than I Thought
Presented by: Nate Taylor
If you're like me, you've used several different front end frameworks such as Bootstrap, SemanticUI and others. You've enjoyed that they give you consistent components and layout. ...
Format: General SessionLevel: Introductory and overviewLet’s Make Hello Kitty Talk!
Presented by: Kito Mann
This session explains what computers, apps, and software are (including less common computers like cars and IoT devices like Alexa devices) and then quickly jumps into building a simple game using HTMl5 Canvas, Web Components, JavaScript and Web Platform APIs to make Hello Kitty, Minions, Paw Patrol...
Format: KidzMash SessionzLevel: Introductory and overviewVue 3.0 Smaller, Faster & Stronger
Presented by: Dan Vega
Vue.JS has quickly become one of the most popular JavaScript frameworks around. The Vue Core Team is getting ready to release the third major version of the framework and it's packed with new features and performance updates. In this presentation, I will show off some of those new features such as: ...
Format: General SessionLevel: IntermediateAn Introduction to WebAssembly
Presented by: Guy Royse
Want to write a web application? Better get familiar with JavaScript JavaScript has long been the king of front-end. While there have been various attempts to dethrone it, they have typically involved treating JavaScript as an assembly-language analog that you transpile your code to. This has lead...
Format: General SessionLevel: Introductory and overviewImpress Your Boss with Interactive Visualizations
Presented by: Tim Garvin
We all have little troves of data lying around, begging to be analyzed. In this session, we’ll talk about how to visualize your data to tell the story you want. Whether you’re trying to decide what support ticket to work on next, convincing your team it’s safe to let you rewrite a module, or...
Format: General SessionLevel: Introductory and overviewSecuring Your API Endpoints - A Practical Authentication Guide
Presented by: Seth Petry-Johnson
It's never been easier to expose services over HTTP. It's also never been easier to inadvertently expose security holes via those same services. ...
Format: General SessionLevel: IntermediateUnclogging Your Code: Linting 101
Presented by: Hannah Stannard
Consider your code base to be the dryer and the lint to be the stuff you really shouldn't be doing. Without a linter, all that fuzz is going to be trapped in your code! If you don't take care of this lint, your dryer will catch fire, much like your code base (also known as a dumpster fire). Join me...
Format: General SessionLevel: Introductory and overviewFun, Friendly Computer Science
Presented by: Mercedes Bernard
Computer science concepts like Big O Notation, set theory, data structures, and principles of object-oriented programming sound intimidating, but they don’t have to be! This talk will dive into some fundamental computer science topics and debunk the myth that only ‘real’ programmers know CS. ...
Format: General SessionLevel: Introductory and overviewJavaScript the Grumpy Parts
Presented by: Rob Richardson
We love JavaScript, but we must admit: it's weird. Why does `this` behave as it does? How does variable scope work? Why do we have such comical behavior when comparing mixed types? Let's pull back the covers of these scenarios, and learn how it truely works. You may find a new reason to fall in...
Format: General SessionLevel: AdvancedTerseScript: JavaScript with 6 characters or less
Presented by: Mike Hand
Let's explore the unique properties of JavaScript and learn how to write ANYTHING using only brackets, parentheses, plus, and bang. When you go back to using your full keyboard, you'll do it with a better understanding of JavaScript and some of it's, um, "features." Some of these hacks should NOT be...
Format: General SessionLevel: IntermediateHuman Readable JavaScript: Using ES2015+ to Craft Better Code
Presented by: Laurie Barth
Love JavaScript? Awesome! Hate JavaScript? That's ok! In the past, JavaScript hasn’t always been easy to read; lots of dollar signs and slick one-liners do not a sustainable, high-longevity language make. ...
Format: General SessionLevel: IntermediateTesting your UI Components
Presented by: Avindra Fernando
When our clients give us kudos for releasing high quality applications, it makes us happy. To achieve great levels of quality, we need to thoroughly test our applications. But we know that some forms of testing can be expensive and tedious at times. Unit and integration tests help overcome some of...
Format: General SessionLevel: IntermediateSolving the Boolean Identity Crisis
Presented by: Jeremy Fairbank
While powerful in its simplicity and important to computation, the boolean can be limiting in applications. In this talk, briefly explore the history of boolean logic in computation and look at how booleans can become misused in programming languages. Explore examples where booleans obscure the...
Format: General SessionLevel: Introductory and overviewSpeed, security and simplicity: Creating Container Images with Cloud Native Buildpacks
Presented by: Daniel Mikusa
Buildpacks are a pluggable, modular, language-agnostic tool that takes application source code and in turn give you an OCI (Open Container Initiative) image which you can run using Docker, Kubernetes or your OCI Runtime of choice. ...
Format: General SessionLevel: Introductory and overviewWell.. that's ONNX-pected
Presented by: Ron Dagdag
The world of machine learning frameworks is complex. What if we can use the lightest framework for inferencing on edge devices? That’s the idea behind ONNX format. Attend this session and find out how to train models using the framework of your choice, save or convert models into ONNX, and deploy...
Format: General SessionLevel: IntermediateBuilding a super performant GossipGirl.com in Gatsby in under 50 Minutes
Presented by: Jennifer Wadella
Hey, Upper East Siders, Gossip Girl here bringing you the scoop on rapidly building static websites in React. I don’t know about you, but my site is in a major need of an overhaul, so we’re going to rebuild it in under 50 minutes using GatsbyJS. We’ll make SEO look hot and blow some minds with...
Format: General SessionLevel: IntermediateBurn It Down and Start Again: Principles of Modern JavaScript
Presented by: Joe Morgan
Heard about the latest JavaScript syntax? Seems like a day doesn’t pass without a language update. And with all the focus on syntax changes, it’s easy to miss the subtle principles driving JavaScript. Modern JavaScript doesn’t just have new tools, it’s composed differently. Don’t use a...
Format: General SessionLevel: IntermediateExplain it to me like I'm 5: Oauth2 & OpenID
Presented by: Daniel Mikusa
Oauth2 and OpenID are quickly becoming mainstays for application developers. Companies want integrated authentication to reduce security footprints and users expect the convenience of single sign-on. As an application developer, it's up to you to facilitate this in your applications. ...
Format: General SessionLevel: Introductory and overviewCalculating Insulin With Automated Carb Counting Using AI, ML and Web Bluetooth
Presented by: Todd Sharp
Diabetes is a disease that affects 400 million people worldwide. Managing the disease means eating a healthy diet, getting routine exercise, monitoring blood sugar levels and administering insulin to manage those levels. The good news is that technology exists to help people manage the disease....
Format: General SessionLevel: Introductory and overviewPractical Functional Programming
Presented by: Jeremy Fairbank
Functional programming is more than just math and monads. Functional programming empowers developers to solve real problems with safe, predictable, and maintainable code. In this talk, discover the basics of functional programming and how to apply functional concepts in a practical manner. Learn how...
Format: General SessionLevel: Introductory and overviewReact State: Redux & Context & Hooks, Oh My!
Presented by: Michael Moran
In the age of ephemeral javascript frameworks, ReactJS has lasted 5 years and only grown in popularity as its evolved. Despite its popularity, there is one burning question for anyone working with React: "How should I handle state?". We have many options at our disposal including React component...
Format: General SessionLevel: Intermediate5 Ideas For Writing Better Cloud Native Microservices
Presented by: Todd Sharp
In theory, microservices are easy. The promise of loosely coupled, scalable services that can each be independently built, tested and deployed sounds amazing, doesn’t it? On top of that, each service can be written in whatever language the development deems appropriate – using their framework of...
Format: General SessionLevel: Introductory and overviewAccessibility Audits in Chrome: Easy Steps toward an Inclusive Internet
Presented by: Maranda Provance
Do you want to help make the internet a better place for all people? In this talk, you’ll be introduced to the accessibility audits built into Chrome’s dev tools. We’ll walk through the automated tests they provide as well as the helpful information they give on manual testing. By the end of...
Format: General SessionLevel: Introductory and overview