Tuesday
No Sessions
Wednesday
No Sessions
Thursday
The Art of Readable Code: Rethink Your Approach to Coding
Presented by: Steve Green
Time: Thursday 8:00 AM - 9:00 AMWe all have a lofty goal: programming style as documentation. Inspired by Steve McConnel’s “Code Complete,” Uncle Bob’s “Clean Code,” and Andrew Hunt’s “The Pragmatic Programmer,” this session will: • Review some best practices for writing code in a style that’s easy to...
Room: Salon A/HTrack: Programming PrinciplesFormat: General SessionLevel: Introductory and overviewAsynchronous JavaScript: Livin' On A Prayer
Presented by: Bob Fornal
Time: Thursday 9:15 AM - 10:15 AMThere is a unique world where Single-Threaded JavaScript manages to be much more. JavaScript interacts with its environment in ways that allow it to handle Asynchronous activities. Using several detailed code examples, we will examine these examples in a unique way to show how these interactions...
Room: Salon A/HTrack: Programming PrinciplesFormat: General SessionLevel: Introductory and overviewRegex is for .*
Presented by: Jean Lange
Time: Thursday 9:15 AM - 10:15 AMRegular expressions are a powerful tool available to coders in many programming languages - but they’re so cryptic and hard to read/work with! Let’s explore what they can do for you and where you might want to use them. Then we’ll dive into regex101.com and the regex crossword for practical...
Room: Salon E/DTrack: Programming PrinciplesFormat: General SessionLevel: Introductory and overviewThe definitive deep dive into the .git folder
Presented by: Rob Richardson
Time: Thursday 10:30 AM - 11:30 AMWhat's in the .git folder? How are commits stored? How do branches work? We'll dive deep into the objects folder, unpack commits, look at the types of DAG nodes, examine object content, and build a complete visualization of the stored content. We'll also quickly look through Git hooks, Git config,...
Room: Salon A/HTrack: Programming PrinciplesFormat: General SessionLevel: AdvancedThe Elegance of “The Simplest Possible Thing”: Applying Simplicity Principles to Complex Problems
Presented by: Nate Berent-Spillson
Time: Thursday 11:45 AM - 12:45 PMSoftware development is complex work. Business requirements, platforms, and technology itself are all complex elements. Through all this complexity, software developers often try to create complex solutions that meet all the requirements at once. Similarly, when faced with a complex problem, they...
Room: Salon E/DTrack: Programming PrinciplesFormat: General SessionLevel: IntermediateImplementing an Event Sourcing strategy on Azure
Presented by: Eldert Grootenboer
Time: Thursday 1:00 PM - 2:00 PMIn recent years the Event Sourcing pattern has become increasingly popular. By storing a history of events it enables us to decouple the storage of data from the implementation of the logic around it. And we can rebuild the state of our data to any point in time, giving us a wide range of...
Room: Aloeswood / LeopardwoodTrack: Programming PrinciplesFormat: General SessionLevel: IntermediateIntroduction to Functional Programming: It Isn’t So Scary
Presented by: Justin Pihony
Time: Thursday 3:30 PM - 4:30 PMFunctional programming has been around for decades, yet only recently has it become mainstream. It yields simpler, terser code which is easier to both test and debug, among other benefits. However it is still often seen as unapproachable, with zealots touting words like monad, functor, and other,...
Room: Aloeswood / LeopardwoodTrack: Programming PrinciplesFormat: General SessionLevel: Introductory and overviewPutting the FUN back in Fundamentals: Data Structures, Algorithms, and More!
Presented by: Matt Williams
Time: Thursday 4:45 PM - 5:45 PMIn this session, we will bring FUN back to Fundamentals as we: * Look at favorite data structures and algorithms from the 70s, 80s, and 90s: where are they today? You won't believe #7! * Discover why hashes aren't just for breakfast. * Discover the Lolrus' favorite data structure (hint: it's got...
Room: Salon E/DTrack: Programming PrinciplesFormat: General SessionLevel: IntermediateFriday
Crafting an interpreted programming language in 60 minutes
Presented by: Granville Schmidt
Time: Friday 8:30 AM - 9:30 AMAre you curious how programming languages are designed and implemented? Do you have nightmares about the “magic” that happens when you run/compile your code? Have you ever wanted to create your own programming language from scratch? If you answered yes to any of these questions, then this...
Room: Nile/OrangeTrack: Programming PrinciplesFormat: General SessionLevel: AdvancedUnderstanding Probabilistic Data Structures with 112,092 UFO Sightings
Presented by: Guy Royse
Time: Friday 8:30 AM - 9:30 AMThere are three reactions to the title of this talk: - What the heck’s a probabilistic data structure? - UFO Sightings… wha? - 112,092 is an oddly specific number. This is a talk about the first bullet point with the second thrown in just for fun. I like weird stuff—UFOs, Bigfoot, peanut...
Room: Salon E/DTrack: Programming PrinciplesFormat: General SessionLevel: Introductory and overviewDesign Patterns for Loosely Coupled Applications in .NET
Presented by: Barry Stahl
Time: Friday 12:15 PM - 1:15 PMBuilding loosely coupled applications is critical to creating solutions that follow good object oriented principles. These principles help make sure our applications are testable, maintainable and extensible. In this session we will explore several design patterns that are key to building...
Room: Salon A/HTrack: Programming PrinciplesFormat: General SessionLevel: IntermediateConfessions of a TDD Late Adopter
Presented by: Jeffrey Miller
Time: Friday 2:45 PM - 3:45 PMAfter two decades of rehashing Test Driven Development techniques, what’s left to say? A lot! Hear from a seasoned software developer and consultant about the journey to TDD adoption despite objections, skepticism, insecurity, and procrastination along the way. Old dogs can learn new...
Room: Salon A/HTrack: Programming PrinciplesFormat: General SessionLevel: Introductory and overview