Skip to content

Hope to See You at KCDC in August!

Hey all, I’m lucky enough to be speaking at Kansas City Developer Conference in August of this year. I hope I see you there! Read on for a brief synopsis of the talks.

Data Structures Crash Course

Bright and early at 8:00 on the first day of the conference (Wednesday the ), we’ll be talking about data structures and complexity analysis. If this stuff doesn’t get you jazzed up, you should come anyway. I love it, and I’ve found enthusiasm is infectious. This is a four hour workshop, and I hope you’ll join me. If you joined me for it at CodeMash back in January, maybe give it a miss — it’s largely the same content. The abstract is below:

Abstract

Who among us hasn’t felt the pain of using a dictionary or list instead of a more fit-to-purpose data structure because it was easy and available? Have you ever wondered how exactly a hash table works, or why people sometimes call a heap a treap? Have you ever heard of Big O and Big 𝚯, and if you have, do you remember what they are?

Many of us are from non-traditional backgrounds or boot camps and may never have had an algorithms and data structures course. The rest of us are years removed from the last time we studied the subject formally. As we advance in our careers as software developers, we keep getting further and further away from the fundamentals. That’s a shame because the fundamentals are useful in our day jobs, appear often as technical interview questions, and honestly they’re also really fun to poke at. It’s right there in the name!

This workshop is a refresher, or crash course, on the basic data structures and algorithms that underpin the software we build. We’ll focus on techniques for recognizing the structure of a problem, finding a relevant data structure to help solve it, and ball parking the cost of computing answers in terms of time and memory. We won’t be implementing structures from scratch. We’ll look at:

  • Segmenting an image using the color of adjacent pixels to find edges
  • The importance of good hashing through the lens of solving a tiles puzzle
  • Rapidly testing collision for all sprites in a video game field
  • Efficiently finding similar items in a large catalog of items

Attendees can expect to come away with:

  • Better familiarity with common data structures
  • A process for identifying the correct data structure to solve a problem with
  • A (re)-introduction to Big O & Big 𝚯 analysis

AI for Highway Maintenance

Right after lunch, at 1:15 on Thursday (August 14th) , I’ll be giving an hour-ish long talk on how we used AI to help a local startup make plans for maintaining municipal highways. I love giving this talk, because the initial reaction is usually, “Wait, you used AI for WHAT now?”. We’ll talk about some of the domain concerns, provide a little insight into why our roads are always in such a state, and discuss planning systems and just how many atoms are in the universe anyway. The abstract is below:

Abstract

Software touches every aspect of our lives, and no where is that clearer than in the automotive industry. With the recent surge to AI for self driving cars, we lose sight of adaptive cruise control, anti-lock breaks, and in-cab media centers that all require software to operate.

However, did you realize that software plays a fundamental role in the streets you drive on? This talk is a postmortem of a prototype system we built for optimizing the use of municipal funds for highway maintenance in the state of Indiana. While the optimizer is a central piece of the system, it wasn’t the whole system, or even the most challenging problem!

In this talk, we’ll cover:

  • The general problem of highway maintenance
  • How users acceptance and understanding may be a more important metric than pure cost optimization
  • How to build AI in an agile manner
  • How AI was merely a part of a much larger system
  • What changes when your software has to change hearts and minds as well as accomplish a technical task?

Published inTalk Announcements