Raleigh Code Camp 2018 Sessions

Title Abstract


StartTime Room
The State of .NET The industry is in a constant state of flux. What does that mean for your software projects today and tomorrow? Will your skills be outdated? Will your current investment become obsolete? What should you focus on right now? And what will become important a year or two down the road? What technologies do you need to learn? This session attempts to answer these questions and more by taking an unbiased look at current and future developments with .NET and other relevant technologies. Jim Duffy 10/6/2018 9:00:00 AM Auditorium
Multi-paradigm for the win… The secrets to becoming a better .NET programmer Are you a polyglot programmer who uses multiple languages on a single project? Are you ready to take this practice to the next level to increase productivity, code correctness, maintenance and in certain cases performance? If yes, then this session is for you!In this session, we will discuss and demonstrate how multi-paradigm programming is even more powerful than polyglot programming. Most main stream programming languages support multiple programming paradigms (object-oriented, generic, functional etc), yet many developers confine themselves to a single paradigm. Whether using a single language or multiple languages, I will show you how to truly maximize its potential by adopting multi-paradigm programming. The key to better programs is knowing which languages to choose for the designed effect and how to combine them correctly for the desired outcome. For example, although object-oriented programming paradigms are widely used, the applications and design practices for functional programming may provide improved solutions to your architecture. After this session, you will walk away with the ability to select which paradigm is better fit a given domain or sub-domain, and most importantly, you will learn the skills to make different paradigms coexist to create highly modular, extensible, and loosely coupled components. The goal of this session is not to claim that one paradigm is better than the other, but rather to introduce another way of thinking about programming to become a better developer. Riccardo Terrell 10/6/2018 10:15:00 AM Auditorium
Data Visualization: How to truly tell a great story! We have more information available to us today than ever before. So much so that we run the risk of not being able to tell concise stories. There's a lot more to creating that story than just getting the correct information. Come learn not just the do's and don'ts, but the whys…Prerequisites: Just a curiosity or desire to create better visualisations... Jonathan Stewart 10/6/2018 11:30:00 AM Auditorium
What To Do With F# At Your Day Job We've had F# on the .NET stack for 13 years now, and it still hasn't found its way into many production codebases. This is a shame, given how useful and productive it is. Given the increasing interest in functional programming in general and F# in particular, this talk attempts to set you on the path of actually putting F# code in production and becoming productive with it. We'll discuss what kinds of things to do, how to integrate it with your C# code, and finally we'll end up with some tips for convincing your boss that any of this is a good idea. Bryan Slatner 10/6/2018 1:00:00 PM E-330
Data Types Do Matter They're just numbers, right? A date's a date. It's just string data, who cares? I can't tell you how many times I've heard these phrases. This session will help you understand why choosing the correct data type for your data is so important. It affects data quality, storage and performance. It can even produce incorrect query results. Angela Henry 10/6/2018 1:30:00 PM E-340
Extremely Large Scale Machine Learning At Easy Stock Investor, we train in excess of 200,000 machine learning models per month which are used to power our web application. Through horizontal scale out and intelligent machine usage we can do all of our computations required in less than a few hours and keep our Azure bills under $200/month for the vms required. This presentation will go through how this is possible. We will do an algorithm and architecture review, discuss some pros/cons and why some decisions were made while still leaving time for Q&A. David Crook 10/6/2018 1:30:00 PM E-350
Test Doubles: Why we mock the way we mock Unit testing is the most efficient way to guarantee our code works as intended. When our code has dependencies, those dependencies can make unit testing a challenge. We can take on this challenge by using Test Doubles, often referred to as Mocks. But how do we write a Test Double? Are all Test Doubles the same? If not, what kinds of Test Doubles are there? How do we know what kind of Test Doubles to create? What drives the decision making process? In this presentation, we will discuss the different kinds of problems that Test Doubles can solve. We will look at some example code that needs to unit tested, and discuss how the needs of that code drive how we create our Test Doubles. We will start with the simplest Test Doubles possible, and slowly work our way up to the most complex, introducing complexity only when it is necessary to achieve our unit testing goals. Derick Linkous 10/6/2018 1:30:00 PM E-370
How to Improve Code Quality We'll learn about what makes high quality code. Then we'll learn about some concrete steps you can take to improve the quality of your code. This won't just be about unit tests. We'll dive into other techniques and spend time talking about how code reviews can really help improve quality. Kip Streithorst 10/6/2018 2:45:00 PM E-330
Eight Steps to an Intuitive UI Having an intuitive UI is a top goal for every design project, yet surprisingly few people have a strong understanding of what this concept really means. Designers are no different. (A quick test: ask some designers to define it. Most likely you won’t be impressed by their answers.) By attending this talk, you will learn what it means for a UI to be intuitive. You will learn a practical definition, the attributes required to be intuitive, and the levels of intuitiveness. Ultimately, you will learn a framework to help your team design UIs that are more self-explanatory and require less training and documentation. You will see these concepts applied to a variety of real design problems. Finally, you will learn that not all UIs need to be intuitive, and when it is a good idea to have unintuitive UI—strategically rather than accidentally. By sheer coincidence, Everett has recently written a book called "Intuitive Design: Eight Steps to an Intuitive UI". Everett McKay 10/6/2018 2:45:00 PM E-340
Relationship Goals: The SQL Server Graph Database Relational databases have their strengths. Ironically data relationships are not one of them. Graph databases excel in this department using nodes and edges. They are optimized to find and view relationships using graph theory. One of the best new features of SQL Server 2017 is the Graph Database! It brings us the best of both worlds in one easy platform! Come learn about the history of graph databases, how they work and why you should be using it! Jonathan Stewart 10/6/2018 2:45:00 PM E-350
Maintaining Your Application and Your Sanity We all love shiny new ideas but often find ourselves working on existing projects. Maintenance has challenges and rewards of its own. It is possible to move your project in a good direction while fixing bugs and adding new features. It's even possible to enjoy the process. The goal of this talk is to provide some specific, usable tips for sustaining and improving an active application in the real world. I'll discuss practical approaches to maintenance, debugging, and feature launches, focusing on small decisions that make a big difference for developers. Annie Kiley 10/6/2018 2:45:00 PM E-370