Making Faces: Image Reduction and Recognition
Presented by: Steve Crow
A 350px by 300px image contains 105,000 individual pixels. Comparing each pixel to tell whether or not two images are the same is not efficient. What if we could reduce the number of features, while still maintaining patterns and trends? What if we could perform this recognition by only comparing 25...
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 overviewWhat Architecture (The Building Kind) Can Teach Us About Architecture (The Software Kind)
Presented by: Wes Delp
Architecture has existed for the better part of human history. Over 2000 years ago, the Roman architect Vitruvius claimed that a good building must be durable, functional, and bring delight. Sounds familiar, right? This session will explore how architectural design concepts such as 'less is more',...
Format: General SessionLevel: 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: General SessionLevel: Introductory and overviewIntro to Machine Learning on the cheap and without a PhD in math: Overview
Presented by: Jim Wilson
Machine learning has traditionally required a command of advanced mathematics, years of university training, and expensive hardware to implement. Now with better open source tools and online resources it’s easier than ever to create your own robust neural networks. Be it image recognition,...
Format: General SessionLevel: Introductory and overviewKotlin for C# Developers
Presented by: Alex Dunn
Dive into the latest craze in languages and platforms - Kotlin. This time we will be looking at it from the perspective of a .NET C# developer, draw comparisons between the languages, and bridge the gap between these 2 amazing languages. ...
Format: General SessionLevel: Introductory and overviewProject Zero or Removing barriers for creating OSS libraries
Presented by: Jimmy Byrd
You have a brilliant idea for an open source library. You start this new repository thinking of how bright the future is with your code being use by others. Then reality then sets in. You realize to make all this possible you have to do a lot of non-feature work. You need a project structure, a test...
Format: General SessionLevel: Introductory and overviewAPI Design - The Right Way
Presented by: Jit Krishnamurthy
APIs are at the core of how applications interact with each other. The first step in developing an API is to design it and ever since Eric Evans introduced Domain Driven Design (DDD) in his book ‘Domain Driven Design: Tackling Complexity in the Heart of Software’, it has been the go-to tool for...
Format: General SessionLevel: Introductory and overviewWhat can Structured Logging do for you?
Presented by: Charles Yost
Structured logging is a way to bring order and value to your logging. Gone are the days where print debugging was the only option. Now as logs become more complex, developers struggle to pack more information into a single line. The modern solution has emerged: Structured Logging. But this is not...
Format: General SessionLevel: Introductory and overviewGraphing Your Way Through the Cosmos: Common Data Problems Solved with Graphs
Presented by: Chad Green
Data as it appears in the real world is naturally connected, but traditional data modeling focuses on entities which can cause for complicated joins of these naturally connected data. That is where graph databases come in as they store data more like what happens naturally in the real world. Sure,...
Format: General SessionLevel: Introductory and overviewHobby Projects Are Awesome!
Presented by: Joel Byler
There you are, enjoying a hobby that you love. One that gets you away from your screens and keyboard. Then out of nowhere an idea comes to mind, maybe its spurred by a problem that you encountered or a way that you could improve on a technique, you pull from your experiences and decide to start a...
Format: General SessionLevel: Introductory and overviewLet's talk about documentation (but more fun than that sounds)
Presented by: Mike Hand
Street signs. Clothing tags. LEGO instructions. Furniture assembly... "instructions." Every field requires documentation, but some are far better at it than others. We'll take a tour through the highlights and lowlights, hits and misses -- and then see what we can apply back to the field of software...
Format: General SessionLevel: Introductory and overviewAPI Gateways and Microservices: 2 peas in a pod
Presented by: Santosh Hari
Chances are you’ve already gone through the tedious process of decomposing your monolith into microservices, or at the very least, want to use microservices in the near future. Nowadays, microservices connect to various APIs. These APIs could differ in protocols (REST/SOAP), where they’re hosted...
Format: General SessionLevel: Introductory and overviewHacking Radiowaves for fun (but not profit)
Presented by: Craig Hills
As a child, did you ever play with walkie talkies? Do you remember how fun it was to talk with friends and family from the other end of the house, or across the neighborhood? ...
Format: General SessionLevel: Introductory and overviewWhat's in Your Docker? Open Source Security Vulnerabilities in Containers
Presented by: Matt Williams
So you stay on top of operating system vulnerabilities and patch ...
Format: General SessionLevel: Introductory and overviewFrom idea to physical series: A basic overview of the world of CAD and 3D printing
This session will talk about the exciting world of 3D printing with a bit of the history of the technology. We will look at the lab’s printers as well as models made on them. We’ll then cover choosing a CAD app and will briefly cover using curated 3D printer object libraries and different CAD...
Format: General SessionLevel: Introductory and overviewLearning R through sports, or learning sports through R
Presented by: Mike Roznik
Big data has been a buzzword for years, but it’s only recently been hitting the world of professional sports. How do sports teams use this big data? Why with R! Together we’ll learn what kind of data they look for and how they present it. Along the way we’ll look at real world examples of R...
Format: General SessionLevel: Introductory and overviewThe Immutable Laws of Software and Life: Code Accordingly
Presented by: Cory House
The first Law of Ecology: you can never merely do one thing. Actions have side-effects. In this session, we'll explore how changes in software design can have unexpected, profound impacts. In this story-based session, I'll reference both popular and little-known "laws" of computing and life. I'll...
Format: General SessionLevel: Introductory and overviewEverything I Needed to Know About Debugging I Learned in Elementary Physics
Presented by: Nate Taylor
Has there ever been a time where you got a bug report and you didn’t even know where to start? Have you ever felt overwhelmed with how code is behaving? You’re expecting one thing and it does the exact opposite? Situations like these can be some of the more frustrating aspects of software...
Format: General SessionLevel: Introductory and overviewEvent processing without breaking production
Presented by: Nathan Zender
Transactional systems are built with the primary focus of processing many concurrent events, only keeping the current state of data. What if I told you there was a way to capture all the events that led to that current state? Capturing all events would allow for deeper analytics/machine learning,...
Format: General SessionLevel: Introductory and overviewSolving 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 overviewBeyond Alt-Text: Trends in Online Accessibility
Presented by: Ian Forrest
If you're like the 2016 version of me, then you think you have a decent handle on web accessibility. You put alt attributes on all your images (though you don't give much thought to the actual text) and you make sure your sites can be used with a keyboard (except for overlays sometimes). Then the...
Format: General SessionLevel: Introductory and overviewFrom Punchcards to Git: A Brief History of Version Control
Presented by: Brian Meeker
Believe it or not, there was a time before Git! And even longer ago there was a time before version control itself! Come learn all about the version control systems of yesteryear, such as SCSS and RCS. Stick around to learn the horrors of file locking and versioning. Gaze into the madness that is...
Format: General SessionLevel: Introductory and overview[CANCELLED] Watch This Talk Before You Go Go
Presented by: John Reese
Session is cancelled. We apologize for the inconvenience.
Format: General SessionLevel: Introductory and overviewAn Introduction to Quantum Programming
Presented by: Matt Norby
Quantum computers can solve some classes of problems much faster than conventional computers. But the terminology can be confusing. What are qubits, superposition, and entanglement? And how can you harness them to write programs? In this session, you will learn the language and concepts of...
Format: General SessionLevel: Introductory and overviewNot Just Fun and Games: Creating a Chess AI That Can Beat You
Presented by: David Hauck
AI is in the news seemingly every week. Whether it is people like Elon Musk or Steven Hawking warning the public about them or a new program that can beat humans at yet another task, it is definitely a hot topic. This talk will go through how an AI program that can play chess is actually made. Using...
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 overviewBecoming a Better Curator of Your Code
Presented by: Ian Zelikman
Writing code that functions correctly is only part of the development process. The majority of our time is spent reading, maintaining and refactoring our code. In this talk we will discuss how when we see our work as code curation we actually enable our job to be much easier and productive. ...
Format: General SessionLevel: Introductory and overviewDesigning a DSL with Kotlin
Presented by: Nicolas Fränkel
Although Kotlin has made a huge impact on Android, it’s equally good on the server side. As Domain-Specific Languages are constrained by the language they run on, Kotlin frees developers from Java fluent builders to propose something better. ...
Format: General SessionLevel: Introductory and overviewGit Back to Basics
Presented by: Angel Thomas
Have you written code that worked, then broke it, only to not remember what the working code was? ...
Format: General SessionLevel: Introductory and overviewHacking on a home server for fun and profit
Presented by: Leo Guinan
Do you have a Raspberry Pi or similar just gathering dust at home? Or maybe various other computer components hanging around? If you do, come join Leo's journey down the road of system administration, beginning with an assortment of Raspberry Pis, and current in the form of a rack server. He will...
Format: General SessionLevel: Introductory and overviewTrans Eye for the Cis Ally: Ensuring an Inclusive Community
Presented by: Julien Fitzpatrick
Trans and non-binary people are becoming increasingly visible in the workplace, as well as in community spaces such as meetups and conferences. Most managers and event organizers want to be inclusive and welcoming but frequently, in spite of their best intentions, often come up short. Wouldn’t it...
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 overviewExample Mapping: The New Three Amigos
Presented by: Thomas Haver
Example Mapping is a collaboration technique used by teams to help refine requirements. Every team should have a set of “ready” criteria that includes some kind of workshop between development team members to establish a shared understanding. In a time-boxed Example Mapping session, rules will...
Format: General SessionLevel: Introductory and overviewThe Case of the Tenacious Tester: How Using Your Words Improves QA Work
Presented by: Katrina Ohlemacher
"Never trust to general impressions, my boy, but concentrate yourself upon details." So says Sherlock Holmes in “A Case of Identity.” The Great Detective has a lot to say that applies to software testing: pay attention to detail, never make assumptions, use your imagination. We wouldn’t have...
Format: General SessionLevel: Introductory and overview