Session Schedule

Session Schedule2019-01-07T06:25:51+00:00

Tuesday

No Sessions

Wednesday

No Sessions

Thursday

8:00 AM

What Architecture (The Building Kind) Can Teach Us About Architecture (The Software Kind)

Presented by: Wes Delp
Time: Thursday 8:00 AM - 9:00 AM

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',...

Room: Salon ATrack: ArchitectureTags: OtherFormat: General SessionLevel: Introductory and overview

Making Faces: Image Reduction and Recognition

Presented by: Steve Crow
Time: Thursday 8:00 AM - 9:00 AM

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...

Room: Salon DTrack: DataTags: Big Data, Other, PythonFormat: General SessionLevel: Introductory and overview

TDD Designer Style: Styleguide Driven Development

Presented by: Matthew LaForest
Time: Thursday 8:00 AM - 9:00 AM

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...

Room: Salon ETrack: Web/Front-EndTags: Design (UI/UX/CSS), Javascript, Other, TestingFormat: General SessionLevel: Introductory and overview
9:15 AM

Kotlin for C# Developers

Presented by: Alex Dunn
Time: Thursday 9:15 AM - 10:15 AM

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. We'll look at: - Kotlin as a language - Platforms Kotlin is...

Room: Indigo BayTrack: MobileTags: .NET, Java, Mobile, OtherFormat: General SessionLevel: Introductory and overview

Intro to Machine Learning on the cheap and without a PhD in math: Overview

Presented by: Jim Wilson
Time: Thursday 9:15 AM - 10:15 AM

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,...

Room: CypressTrack: Programming PrinciplesTags: Cloud, Big Data, Other, PythonFormat: General SessionLevel: Introductory and overview

Project Zero or Removing barriers for creating OSS libraries

Presented by: Jimmy Byrd
Time: Thursday 9:15 AM - 10:15 AM

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...

Room: Salon DTrack: Software QualityTags: .NET, Functional Programming, OtherFormat: General SessionLevel: Introductory and overview
10:30 AM

API Design - The Right Way

Presented by: Jit Krishnamurthy
Time: Thursday 10:30 AM - 11:30 AM

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...

Room: ZambeziTrack: Programming PrinciplesTags: Cloud, OtherFormat: General SessionLevel: Introductory and overview

What can Structured Logging do for you?

Presented by: Charles Yost
Time: Thursday 10:30 AM - 11:30 AM

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...

Room: Salon DTrack: DevOpsTags: OtherFormat: General SessionLevel: Introductory and overview

Make More 💰 Money with Less 🛠 Effort: 🧪 Experimentation Before Implementation

Presented by: Scott Showalter
Time: Thursday 10:30 AM - 11:30 AM

Developing apps is time consuming, with little guarantee of success. The Web, App Store, Google Play and beyond are littered with apps making low or no revenue because they don't solve problems people actually care about. Before you build your “killer” ap, how can you truly know beyond the...

Room: Portia/WisteriaTrack: MobileTags: Design (UI/UX/CSS), Mobile, Other, Soft Skills/Business, TestingFormat: General SessionLevel: Intermediate
11:45 AM

Bringing Order to Chaos

Presented by: Scott Connerly
Time: Thursday 11:45 AM - 12:45 PM

So, you find yourself coding in a code base that has some warts. OK, let's be honest, its a steaming pile of gum and toothpicks you're afraid to touch lest it might fall apart. How do you get from there to ... anywhere, let alone viable, architecturally useful, and stable? In this talk, we'll...

Room: NileTrack: ArchitectureTags: Other, Soft Skills/Business, TestingFormat: General SessionLevel: Intermediate

Hobby Projects Are Awesome!

Presented by: Joel Byler
Time: Thursday 11:45 AM - 12:45 PM

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...

Room: OrangeTrack: Programming PrinciplesTags: Design (UI/UX/CSS), Other, Soft Skills/BusinessFormat: General SessionLevel: Introductory and overview

Let's talk about documentation (but more fun than that sounds)

Presented by: Mike Hand
Time: Thursday 11:45 AM - 12:45 PM

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...

Room: Sagewood / ZebrawoodTrack: Software QualityTags: OtherFormat: General SessionLevel: Introductory and overview

Graphing Your Way Through the Cosmos: Common Data Problems Solved with Graphs

Presented by: Chad Green
Time: Thursday 11:45 AM - 12:45 PM

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,...

Room: Salon ATrack: DataTags: Cloud, OtherFormat: General SessionLevel: Introductory and overview

Automating Your Automation: The Care and Feeding of Jenkins

Presented by: Jeff McKenzie
Time: Thursday 11:45 AM - 12:45 PM

If you're like 70% of continuous integration and delivery users out there, you're using Jenkins, the powerful and popular automation server. But how do you know you're doing it right? Are you getting the most out of the strategies you've chosen? In this session you'll learn how best to manage your...

Room: Salon HTrack: DevOpsTags: OtherFormat: General SessionLevel: Intermediate

Help! My Client Needs a VPAT and other Accessibility Questions

Presented by: Courtney Heitman
Time: Thursday 11:45 AM - 12:45 PM

What is a VPAT? Why do my clients keep asking about them? These questions are becoming more and more common with the rise of accessibility lawsuits. VPATs (Voluntary Product Accessibility Template) are the common ask for companies to make sure they are buying software that is accessible. This talk...

Room: RosewoodTrack: Web/Front-EndTags: Design (UI/UX/CSS), Other, TestingFormat: General SessionLevel: Advanced
1:00 PM

API Gateways and Microservices: 2 peas in a pod

Presented by: Santosh Hari
Time: Thursday 1:00 PM - 2:00 PM

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...

Room: ZambeziTrack: ArchitectureTags: Cloud, Other, SecurityFormat: General SessionLevel: Introductory and overview

What's in Your Docker? Open Source Security Vulnerabilities in Containers

Presented by: Matt Williams
Time: Thursday 1:00 PM - 2:00 PM

So you stay on top of operating system vulnerabilities and patch regularly, but did you ever consider that there may be vulnerabilities in your containers? In March of 2015, a report that over 30% of the "official" images in the Docker Hub contained high priority security vulnerabilities was issued...

Room: Aloeswood / LeopardwoodTrack: SecurityTags: Other, SecurityFormat: General SessionLevel: Introductory and overview

Hacking Radiowaves for fun (but not profit)

Presented by: Craig Hills
Time: Thursday 1:00 PM - 2:00 PM

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? Capture that feeling again, except this time learn some science behind it and how to use the same technology to contact...

Room: MangroveTrack: HardwareTags: Hardware, Other, Soft Skills/BusinessFormat: General SessionLevel: Introductory and overview

By Our Powers Combined: Observability for Developers

Presented by: Aaron Aldrich
Time: Thursday 1:00 PM - 2:00 PM

The world of maintaining applications is shifting. Our Systems Administrators aren't monitoring our application servers, it's the SREs determining SLIs and SLOs for our Micro-Services and making sure our Cloud-Distributed systems are Observable in near-real time. It's enough for buzzword burnout....

Room: Portia/WisteriaTrack: DevOpsTags: Cloud, Other, TestingFormat: General SessionLevel: Intermediate
3:30 PM

The Immutable Laws of Software and Life: Code Accordingly

Presented by: Cory House
Time: Thursday 3:30 PM - 4:30 PM

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...

Room: ZambeziTrack: Programming PrinciplesTags: Design (UI/UX/CSS), Other, Soft Skills/BusinessFormat: General SessionLevel: Introductory and overview

Learning R through sports, or learning sports through R

Presented by: Mike Roznik
Time: Thursday 3:30 PM - 4:30 PM

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...

Room: Salon HTrack: DataTags: Big Data, Functional Programming, OtherFormat: General SessionLevel: Introductory and overview
4:45 PM

Everything I Needed to Know About Debugging I Learned in Elementary Physics

Presented by: Nate Taylor
Time: Thursday 4:45 PM - 5:45 PM

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...

Room: Salon ATrack: Programming PrinciplesTags: OtherFormat: General SessionLevel: Introductory and overview

Friday

8:30 AM

Solving the Boolean Identity Crisis

Presented by: Jeremy Fairbank
Time: Friday 8:30 AM - 9:30 AM

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...

Room: CypressTrack: Programming PrinciplesTags: Functional Programming, Javascript, OtherFormat: General SessionLevel: Introductory and overview

Event processing without breaking production

Presented by: Nathan Zender
Time: Friday 8:30 AM - 9:30 AM

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,...

Room: OrangeTrack: ArchitectureTags: Big Data, OtherFormat: General SessionLevel: Introductory and overview

Well.. that's ONNX-pected

Presented by: Ron Dagdag
Time: Friday 8:30 AM - 9:30 AM

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...

Room: RosewoodTrack: DataTags: .NET, Cloud, Big Data, Javascript, Other, PythonFormat: General SessionLevel: Intermediate
9:45 AM

Beyond Alt-Text: Trends in Online Accessibility

Presented by: Ian Forrest
Time: Friday 9:45 AM - 10:45 AM

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...

Room: OrangeTrack: UI/DesignTags: Design (UI/UX/CSS), OtherFormat: General SessionLevel: Introductory and overview

From Punchcards to Git: A Brief History of Version Control

Presented by: Brian Meeker
Time: Friday 9:45 AM - 10:45 AM

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...

Room: Salon ATrack: Software QualityTags: OtherFormat: General SessionLevel: Introductory and overview
11:00 AM

An Introduction to Quantum Programming

Presented by: Matt Norby
Time: Friday 11:00 AM - 12:00 PM

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...

Room: ZambeziTrack: Programming PrinciplesTags: OtherFormat: General SessionLevel: Introductory and overview

[CANCELLED] Watch This Talk Before You Go Go

Presented by: John Reese
Time: Friday 11:00 AM - 12:00 PM

Session is cancelled. We apologize for the inconvenience.

Room: Portia/WisteriaTrack: Programming PrinciplesTags: OtherFormat: General SessionLevel: Introductory and overview
12:15 PM

Quantum Computing deep dive

Presented by: Johnny Hooyberghs
Time: Friday 12:15 PM - 1:15 PM

You've probably heard of Quantum Computing, but it still remains a mistery? This deep dive session explains important concepts like qbits, superposition and entanglement. Theoretical knowledge about quantum physics, quantum gates and quantum algorithms will be associated with practical examples...

Room: Indigo BayTrack: ArchitectureTags: Hardware, OtherFormat: General SessionLevel: Advanced

Practical Functional Programming

Presented by: Jeremy Fairbank
Time: Friday 12:15 PM - 1:15 PM

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...

Room: NileTrack: Programming PrinciplesTags: Functional Programming, Javascript, OtherFormat: General SessionLevel: Introductory and overview

DDoS Attacks: Threat Landscape & Defensive Countermeasures

Presented by: Chris Holland
Time: Friday 12:15 PM - 1:15 PM

October 2016’s attack on Dyn's DNS infrastructure was a gloomy wake-up call to the online community at-large, depriving us access to some of the online destinations and applications we use every day, thereby confronting us with the stark reality of an old and ever-growing threat with which the...

Room: Aloeswood / LeopardwoodTrack: SecurityTags: Other, SecurityFormat: General SessionLevel: Intermediate

Not Just Fun and Games: Creating a Chess AI That Can Beat You

Presented by: David Hauck
Time: Friday 12:15 PM - 1:15 PM

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...

Room: Salon HTrack: DataTags: OtherFormat: General SessionLevel: Introductory and overview

Understanding the identity business, and how to get out of it

Presented by: Jeff Putz
Time: Friday 12:15 PM - 1:15 PM

Knowing who is using your software is super fundamental. It's less important than ever to have to manage those identities yourself, but you can't escape understanding the protocols and players. Let's talk about how things like OAuth2 actually work, and then decide if you can get out of the business...

Room: RosewoodTrack: SecurityTags: Cloud, Other, SecurityFormat: General SessionLevel: Intermediate
2:45 PM

Becoming a Better Curator of Your Code

Presented by: Ian Zelikman
Time: Friday 2:45 PM - 3:45 PM

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. We...

Room: ZambeziTrack: Software QualityTags: OtherFormat: General SessionLevel: Introductory and overview

Hacking on a home server for fun and profit

Presented by: Leo Guinan
Time: Friday 2:45 PM - 3:45 PM

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...

Room: Aloeswood / LeopardwoodTrack: SecurityTags: Hardware, Other, SecurityFormat: General SessionLevel: Introductory and overview

Git Back to Basics

Presented by: Angel Thomas
Time: Friday 2:45 PM - 3:45 PM

Have you written code that worked, then broke it, only to not remember what the working code was? Git, a version control application could be the solution you are looking for. Git can help you to track changes in your projects, go back to when your code is working, or even find out where it broke....

Room: Salon HTrack: Programming PrinciplesTags: OtherFormat: General SessionLevel: Introductory and overview

Trans Eye for the Cis Ally: Ensuring an Inclusive Community

Presented by: Julien Fitzpatrick
Time: Friday 2:45 PM - 3:45 PM

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...

Room: Salon DTrack: Project Leadership/Soft SkillsTags: Other, Soft Skills/BusinessFormat: General SessionLevel: Introductory and overview

Designing a DSL with Kotlin

Presented by: Nicolas Fränkel
Time: Friday 2:45 PM - 3:45 PM

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. Using the Hazelcast configuration API as an example,...

Room: RosewoodTrack: Programming PrinciplesTags: Java, OtherFormat: General SessionLevel: Introductory and overview
4:00 PM

Test-driven development: save your time, save your sanity, write great code fast

Presented by: Paul Roub
Time: Friday 4:00 PM - 5:00 PM

For the skeptical: Both new and more-seasoned devs -- especially solo practitioners -- can have a lot of misconceptions about TDD. Mostly of the "it's extra work, it's extra code, I can't ship tests, why would I test something simple and obvious" variety. But magic happens when the light bulb...

Room: Indigo BayTrack: Programming PrinciplesTags: Other, TestingFormat: General SessionLevel: Intermediate

Example Mapping: The New Three Amigos

Presented by: Thomas Haver
Time: Friday 4:00 PM - 5:00 PM

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...

Room: NileTrack: Software QualityTags: Other, Soft Skills/Business, TestingFormat: General SessionLevel: Introductory and overview

The Case of the Tenacious Tester: How Using Your Words Improves QA Work

Presented by: Katrina Ohlemacher
Time: Friday 4:00 PM - 5:00 PM

"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...

Room: Salon HTrack: Software QualityTags: Other, TestingFormat: General SessionLevel: Introductory and overview

Accessibility Audits in Chrome: Easy Steps toward an Inclusive Internet

Presented by: Maranda Provance
Time: Friday 4:00 PM - 5:00 PM

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...

Room: Salon DTrack: Web/Front-EndTags: Javascript, Other, TestingFormat: General SessionLevel: Introductory and overview

Thirst-quenching Streams for the Reactive Mind

Presented by: Mary Grygleski
Time: Friday 4:00 PM - 5:00 PM

With the advances in multicore hardware and virtualization technologies, and the demand for highly responsive, resilient, and elastic systems and increasingly sophisticated applications, an array of reactive data stream processing libraries have been born to address the needs. Reactive Streams is...

Room: Portia/WisteriaTrack: ArchitectureTags: Functional Programming, Java, OtherFormat: General SessionLevel: Intermediate