Twin Cities Code Camp


While the outlook on the COVID-19 pandemic is positive, we unfortunately cannot host an event at Normandale Community College in 2021. We're very hopeful that we should be able to get back on track in April 2022 and finally have our TCCC24 event!

Spring 2020, Sat, Apr 25, 2020

  • Lance Larsen

    Azure Kinect + Azure IoT AI Camera

    by Lance Larsen
    Azure Kinect DK and the Azure IoT AI Camera are two of the most advanced Computer Vision devices available for developers today! Combining advanced depth sensor, spatial microphone array, video cameras with sophisticated computer vision and speech AI models, the Kinect is gives us an unparalleled tool for building cutting edge computer vision applications. We'll specifically be diving into the Kinect's Body Tracking SDK - allowing for amazing kinematic and movement tracking. Think of the possibilities in Sports, Health and the Life Sciences fields -- as well as Games and other amazing user experiences! Join Lance Larsen (Microsoft MVP) in looking how to start building your next computer vision application today!
  • Brian Gorman

    Rescuing your GIT Repositories using Reset, Revert, Rebase, and Cherry-Picking

    by Brian Gorman
    I just pushed a commit to remote master! We merged two features to master but only one of them needs to go to production ASAP! I messed up my branch on rebase or something, and I can't figure out what happened, but I think I lost my work, can you help? In this session, we'll discuss the GIT commands of Reset, Revert, Rebase, and Cherry-Picking to perform surgery on our repository when the stuff hits the fan.
  • Chris G Williams

    Dungeons & Dragons, for Developers

    by Chris G Williams
    In this session, I will teach the basics of the world's oldest and most popular role-playing game: Dungeons & Dragons. I will cover basic rules, dice mechanics, character creation, and running a game. Will also provide resources and insights based on my > 40 years of experience.
  • Barry S. Stahl

    Pushing AI to the Client Using WebAssembly and Blazor

    by Barry S. Stahl
    WebAssembly has opened up a world of new possibilities for building Artificial Intelligences. We now have the tools we need to push sophisticated AI models to the client for execution in any environment. In this talk we will take a deep dive into building AI models for use on the client side. We create AI models using open-source tooling and use Blazor to operationalize those models into WebAssembly running in the client's browser.
  • Mike Cole


    by Mike Cole
    In this talk, Mike will present tips and techniques that he has learned over several years working remotely. We’ll cover what you can do when you have issues staying motivated because you are isolated physically from the rest of your team. We’ll review a few different kinds of communication breakdowns and what you can do if you feel like a second rate employee of the company. We’ll also look at ways to foster a good remote relationship with your manager and co-workers. Working remotely is culturally becoming a viable option more and more as time passes, increasing by 140% since 2005. There are great opportunities available to people that may feel stuck or restricted geographically. This presentation is aimed at giving you a headstart or boost in your remote life.
  • Jason Bock

    Big Numbers

    by Jason Bock
    Numbers. How are they stored in computer programs? How big can they get? What the largest number ever calculated in a program? What is a "big" number, anyway? In this session, I'll cover numbers galore, especially as it pertains to development. We'll talk about floating-point, arbitrary-sized integers, fast algorithms, and some truly monstrous numbers in mathematics that we have no hope of ever expressing in code.
  • Mike Lockett

    Innovating with IoT Devices (Yes, TESLA demo included!)

    by Mike Lockett
    Walk a trail of ideation to create innovative solutions involving IoT devices. Experience how to electronically interface with Raspberry pi to control interactive devices via web interfaces. Transform individually addressable LED strips from simple room lighting into interactive experiences. Coming out of this session, you will be familar with Python programming basics and micro-frameworks using flask for web control, electronically interfacing with the Raspberry Pi GPIO pins. BONUS: Watch me tap into aTesla JSON API to control my car as witnessed from the room with a camera aimed at the parking lot. If you are excited to embrace the future of smart technology, and need some interactive motivation, than this session is for you!
  • Jared Rhodes

    Run the world from the palm of your hand

    by Jared Rhodes
    In this session, we will look at how Xamarin Mobile apps can be used to interface with headless devices through wireless technology. With the strong adoption of Internet of Things devices, or devices without a direct interface, a common form of interaction is widely used. That interaction is through the computer most people carry with them every day, a mobile phone. After this presentation, attendees will have a strong understanding of how to use Xamarin in their Internet of Things story.
  • Wendy Istvanick

    Don't Get Lost in the Random Forest

    by Wendy Istvanick
    As more and more data are amassed, focus has increased on getting information out of the data. Data Science is becoming mainstream. Machine learning can play a key role when using Data Science to find a solution to a problem. There are numerous algorithms used to programmatically learning about and from data. Random Forest is one that is both popular and powerful. In this talk I present the theory behind Random Forests and the Decision Trees form which they are made. Consider this theory your compass. I then move on to examine the attributes of a small data set. Consider the values and the relationships between them as your map. Finally, with our compass and map in hand I look at a Random Forest implementation that makes predictions from the data without getting lost.
  • Jenn Strater

    The Path to Build Happiness

    by Jenn Strater
    In a healthy engineering culture, everyone is a part of the release process, but that’s not always the case for builds. Sometimes the developers own it. Sometimes the ops team owns it. In many organizations, no one owns it. Because of this, engineers have grown complacent with inefficient builds and even joke about how bad build times are. But it doesn't have to be that way. Now that she works for a company that focuses on build automation, Jenn realizes that many of the habits she developed as a software engineer are incredibly inefficient and can be improved with Developer Productivity Engineering. Join in to learn these tool-agnostic steps to achieve build happiness: * Measure your builds. * Analyze the data to see how developers and CI systems are running builds. * Optimize build script logic and the processes to run them. * Iterate to maintain build builds and happy engineers.
  • Scott Sauber

    The Background on Background Tasks in .NET Core

    by Scott Sauber
    Need to run a task in the background in .NET Core? There are lots of scenarios for background tasks ranging from a task that runs for a long time, or perhaps an operation that needs to be retried multiple times if it fails, and many other scenarios in between. While there are lots of scenarios for background tasks, there are also lots of solutions to this problem that can leave a .NET developer unsure of which to choose from. Solutions such as IHostedServices, BackgroundServices, Worker Services, Hangfire, and more. In this talk, we'll break down all of these solutions with their pro's and con's and when to choose one over the other, as well as a deep dive on how these all work under the hood.
  • nicholas diesslin

    TMUX - A terminal multiplexer

    by nicholas diesslin
    TMUX can be a valuable tool for improving developers' experiences with terminals. In this presentation, I will be providing an introduction to TMUX and reviewing some of the many use cases for it. I will also demo some different ways to expand TMUX further to build tools for your needs.
  • Brian McKeiver

    Knowledge Mining with Azure Cognitive Search

    by Brian McKeiver
    We all know that providing a good search experience for website visitors is hard. Everyone expects it to “just” work like Google. Maybe there is a better way, maybe we fix this with a little help from AI robot friends. Join the session to see how you can leverage Cognitive Services with Azure Search in your mobile and web apps. You will learn how to enhance and enrich search through Cognitive Service Skills like natural language processing, image analysis, and entity recognition. Don't know what those are? Well that's not a problem because you will find out. You can expect to walk away knowing how to generate your own enrichment pipeline that leverages the power of AI to solve your search woes.
  • Mike Marshall

    Using Firebase for Your Web and Mobile Back-End Services

    by Mike Marshall
    Today there are a plethora of cloud-native services and frameworks that allow you to quickly bootstrap the beck-end services of your applications. Authentication, Storage, Database and Monitoring - just to name a few. Firebase is a suite of services from Google that help you quickly add back-end services for your applications. In this talk we'll cover the benefits of each of these services and give real examples of how to integrate them into web and mobile applications. When we're done, you'll be well on your way to using Firebase to enable these features in your own applications.
  • Mark Kalal

    Developer coding tests – friend or foe?

    by Mark Kalal
    Love it or hate it, something that is getting more common in software engineering and developer interviews are coding tests. They come in a variety of forms ranging from writing actual program code, to design and “whiteboard” problems. In this session, we’ll discuss it from both the employer and employee perspectives, talk about what employers and teams are really looking for, and some strategies for putting your best foot forward.
  • Andrew Cook

    The Microservices of Microsoft Learn

    by Andrew Cook
    We will dive into the many microservices which together make Microsoft Learn an online interactive learning platform. Microsoft Learn is built upon Azure in .NET using multiple services including Web Apps, Azure Functions, Traffic Managers, Service Bus, Event Grid, and Cosmos Db. Each of the services incorporates CI/CD which allows for independent development and deployment to increase the speed at which new features and changes can be completed.
  • Dustin Ewers

    Building Cloud Native ASP.NET Core Applications

    by Dustin Ewers
    There's no shortage of digital ink spilled on what the cloud can do for you. Instead of hitching your wagon to a specific provider, why not build your apps so they can work in nearly any cloud, including your own data center? In this talk, you're going to learn how to build cloud native ASP.NET Core applications. You'll learn how to design ASP.NET Core apps that work well in cloud environments. You'll also learn how to use Docker and Kubernetes to host your apps on whatever cloud you want. By the end of this talk, you'll be ready to build ASP.NET apps that can run anywhere.
  • Mike Benkovich

    Modernize my Compute: Compute options in Azure

    by Mike Benkovich
    Azure started as a Platform as a Service with Cloud Services, but since it launched has evolved to include several newer and very useful options for compute. Depending on your hosting model and how you do DevOps, requirements for scalability and availability you have tradeoffs that affect your long term costs and decision. We will explore the options for compute in Azure including Iaas, Application Services, Containers with Kubernetes and Dev Spaces, and Serverless with Functions. We'll show this using the tools in Visual Studio and in VS Code as well as DevOps, and we'll help you understand the tradeoffs and help you make smart decisions on what makes the most sense to ensure you can maximize the return on your investment
  • Dani Tornow

    Who needs stinking servers!? Not you! Introducing the Basics of the Serverless Framework on AWS.

    by Dani Tornow
    An introduction to the Serverless Framework on AWS. This will show how to use the Serverless Framework to deploy some simple API endpoints with interactions with a NoSQL database. Using Ruby, these simple "run only as needed functions" will allow you to maintain a highly available and cost affordable API because you will no longer need to maintain servers to keep your APIs available. You can rely on AWS (or maybe another cloud provider) to do that heavy lifting for you. Get an introduction with a demo on just how easy it is to get a simple API up & running, persisting data to a database, and adding a basic authorizer.
  • Brian Seebacher

    Kicked Upstairs - Career Advice from a Techie Turned Manager

    by Brian Seebacher
    There are many paths a career in technology career can take, and not all of them involve computers. Keeping up to date on the latest technology trends while learning how to lead teams, address the needs of users, and communicate effectively with stakeholders can be a difficult balancing act. In this talk we'll share some hard won knowledge from years of dealing with both machines and people, and what happens as your role evolves.
  • Dan Nordquist

    Should You Be the Boss?

    by Dan Nordquist
    Programming careers can be unpredictable, but at some point, you'll probably be confronted by the idea of becoming a manager. Management jobs can vary widely, though, and it can be hard to know if being the boss is something you'd even like. Join Dan Nordquist as he walks through what he knows about leadership, "career tracks", promotions, teams, and making one of the most important decisions in your life.
  • Drew Skwiers-Koballa

    The Opportunity of Open Source Software

    by Drew Skwiers-Koballa
    Open source software is everywhere. Whether it was the central focus or an upstream dependency, open source software has likely been involved in the projects you work on. From individual developers to large corporations, we can all work to advance technological progress through transparency and collaboration. After establishing how open source software benefits developers both directly and indirectly, this session will focus on the breadth of ways to contribute to open source software. Wherever you are in your career, you have the opportunity to positively impact modern technology through contributions to open source software. Attendees will leave this session with an understanding of how to contribute to open source software, including: - Identifying projects to help - ReadMe.MD, Contributing.MD, and other common structures - Submitting fixes, documentation, and new features - Supporting the health of a project
  • Keith Voels

    VarChars - T-SQL Performance Poison

    by Keith Voels
    I will show how to improve the performance of a T-SQL view or stored procedure by separating out the interaction with VarChar fields. I am going to demo three specific cases: Temp Tables, Group By and DISTINCT. Then I'll finish with some other T-SQL misconceptions including using NOLOCK. Throughout all of the demos we'll look at tools in SSMS to analyze performance.
  • Kurt Christensen

    GraphQL: Why, What and How

    by Kurt Christensen
    GraphQL offers a compelling alternative to REST for services which have multiple clients, or clients with frequently changing needs. In this session, Kurt Christensen will show the motivation for GraphQL, and how to implement a GraphQL API using Clojure and the Lacinia GraphQL library.
  • Erik Dahl

    REST, GraphQL, and gRPC: What's an API developer to do?

    by Erik Dahl
    Most API developers are familiar with JSON-based REST type methods used to define their routes. But GraphQL and gRPC have recently been introduced, and both have some key advantages that can be leveraged in certain situations. What are those advantages? When should you use GraphQL- or gRPC-flavored APIs? Are there security implications of these API protocols? We will explore the differences between these three options, as well as look at some concrete demos of each and see how they behave in practice. The demos will be done using ASP.NET Core, but the techniques and protocols are consistent across any language used to develop APIs.
  • Mitchell Volk

    Dependency Injection with ASP.NET Core 3.1.x

    by Mitchell Volk
    Unity. Ninject. Autofac. These are all popular frameworks that have been made redundant with the new ASP.NET Core built-in dependency injection (DI) framework. In this talk, we'll explore some new features of ASP.NET Core such as the request handling pipeline, defining custom middleware components, the configuration framework, and the options pattern for storing and and retrieving configuration values. We'll finish the talk by going over some brief examples of how this all ties together with a demo that tests Azure's AD B2C auth and some forms validation with FluentValidation.
  • Brad Broulik

    Productivity Hacks for Busy Developers

    by Brad Broulik
    Want to learn a few hacks for becoming more productive? In this talk, we’ll explore the latest tips and techniques to maximize productivity. Topic discussed will include: Productivity anti-patterns:
    • Hero anti-pattern
    • Tech lead anti-pattern
    • Overtime anti-pattern
    • No breaks and no fun anti-pattern
    Productivity patterns:
    • Continuous learning patterns
    • Team of Teams patterns
    • Effective ChatOps management
    • Effective meetings
  • Erik Onarheim

    WebGL Wizardry: From Zero to Merlin

    by Erik Onarheim
    WebGL is a very powerful way to generate 2D or 3D graphics for the web. If you have ever been curious about webgl for building visualizations, data processing, or making a game, come to this talk to learn how you can build your next experience. In this talk, I’ll demystify the WebGL API and explain what the various pieces are and how they fit together to build visuals. I’ll cover some debugging techniques, writing shaders, performance tricks, and introduce some libraries that can make your life easier. You too can become a WebGL wizard!
  • Piyush Neekhra

    From Developer to Dev Lead

    by Piyush Neekhra
    Do you aspire to be a Dev Lead? If yes, then this session is for you! Piyush recently transitioned from a Developer to a Dev Lead role. Here is what he plans to present: 1. Offer real-life examples of both successes and failures during this transition. 2. Share tips on how to have an efficient transition. 3. Share the additional skills that you need to conquer this transition.