Accounts as a Service: Why we have 50+ AWS accounts, and why you should too
One of the chief benefits of cloud computing is the ability to experiment: to spin up infrastructure for hours or days and then shut it down again. Giving your developers the ability to manage their own environments gives them this freedom to experiment. But with great power comes great responsibility, and an unrestricted AWS account is one mistake away from...
All Kinds of Free
Free is a word that has been overloaded through the course of human history, with both good intentions and bad. All will be enumerated with a specific focus on "free" in the context of the modern internet and what it means to the construction and deployment of complex web applications. You will leave this talk with an arsenal of better...
Choosing Your Giants: Principles for Navigating the Landscape of Emerging Technology
Functional or object-oriented, relational or schemaless, on-premises or entirely serverless: for better or worse, technology choices in software development remain mostly ideological. Whether we prefer to “stand on the shoulders of giants”, use “the right tool for the job”, or eschew anything “not invented here”, we must acknowledge the effects of this ideology on our systems, our customers, and our...
Coroutine + Flow = MVI
Managing state in Android applications can be painful. Over the years, various architectural patterns have evolved to try and tame it: MVC, MVP, and MVVM. MVI (Model-View-Intent) is an evolution of these patterns. Thanks to Immutable State management and Unidirectional Data Flow, we can finally say goodbye to race conditions and rogue mutations. Combine the power of MVI with Kotlin...
Designing Workhorse Tools
We’re designing professional tools, so it’s trite to say that our software needs to be fast, powerful, and intuitive. We need to build seamless, integrated experiences for a growing number of tasks and users. As our platforms grow in functionality and maturity, this gets harder. I’ll talk about some techniques we can use to build and grow interconnected experiences and...
FaaD: Frameworks as a Disease
Frameworks are great.. or not. This is one of those controversial talks that will take you on a roller coaster along the gems like "libraries vs. frameworks", "objects vs. functions", "types vs. data", etc. Oh, yes, they are all connected. One great thing about controversial talks over "how to build X" or "how X works" is they make humans conjure...
How Robotics, Augmented & Virtual Reality Will Make Us Human Again
We’re entering the next wave of innovation that integrates moment by moment collaboration with robots, cobots, virtual/augmented/mixed realities that today, seem daunting. But in fact, these technologies will allow humans to pass on the mundane tasks and free to tap into what once was the natural state of humans. The key takeaways are to (1) embrace the future of tech...
Latency SLOs Done Right
Median, average, 90th, 99th percentile. We've all seen these metrics on our monitoring systems, both open source and from commercial vendors, but often they are used incorrectly when constructing Service Level Objectives. This session will show three different approaches to correctly calculating latency SLOs, and how histograms can be used to calculate mathematically correct quantiles and set SLOs based on...
Measuring success: Making sure your product organizations ship valuable code
Many teams strive towards Agile development, chopping work into small pieces to increase velocity and value of feature delivery. Without carefully defining and measuring feature value with defined success metrics, these processes can devolve into just a high volume of underutilized features. In this session, learn from Julia Kastner, the VP of Product Management at NeuroFlow, a behavioral health technology...
Open Source Bayesian Inference in Python with PyMC3
In the last ten years, there have been a number of advancements in the study of Hamiltonian Monte Carlo algorithms that have enabled effective Bayesian statistical computation for much more complicated models than were previously feasible. These algorithmic advancements have been accompanied by a number of open source probabilistic programming packages that make them accessible to programmers and statisticians. PyMC3...
Serverless, Schmerverless… Why should I care?
Ah, Serverless. The term that means a dozen different things to a dozen different developers. In the most simple case, Serverless just means deploying applications to a platform where the servers are managed for you, and abstracted away as much as possible. But Serverless can also mean a database that scales automatically without your intervention, a Docker platform managed by...
SwiftUI and Combine changes Everything
The way you architect and write your iOS and macOS apps is about to change completely. The future of development on Apple platforms is SwiftUI and Combine. You will have to rethink everything from the way you layout your GUI to the way you handle data flow to the way you respond to asynchronous events. This session will highlight and...
The Evolution of Object Oriented Programming
The foundation of programming which many of us have used for 20 years is evolving into something new. Concepts including immutability, functions, ADTs, and pattern matching are helping us solve problems more reliably, understandably, and quickly. This session will help you understand the evolutions happening in many OOP languages and how you can begin taking better advantage of these changes.
Understanding Parkinson’s Disease Through Data Science
Parkinson’s disease (PD) is a chronic, degenerative neurological disorder that affects as many as one in a 100 people over the age of 60. It is estimated that more than 8 million individuals have PD worldwide, and the number is growing with today’s aging population. Despite immense investment and research, we don’t fully understand the underlying mechanisms of this disease....