Date for Desert Code Camp - 2019  Saturday, October 12, 2019 8:00:00 AM - Saturday, October 12, 2019 6:00:00 PM

Speaker List

Robert Al Malak

More on Robert Al Malak

Sessions

Track
Mobile (Android/iOS/Microsoft)
Title
A Look at iOS ARKit 3.0 : Augmented Reality Session
Abstract

Augmented-Reality (AR) is the user experience of the future! Join Robert Al Malak as he dives into Apple’s ARKit framework. Get a basic understanding of how ARKit works, take a closer look at the improvements in their recent 3.0 update, view demos of some live examples and join in the discussion about use cases for ARKit and other similar technologies. Presentation Overview: - What is AR and how does it work ? - Project overview - The easiest way to setup an ARKit project. - Augmented reality and image / object recognition - Transformations / Placement of 3D objects - Accelerate / SIMD library - Looking at use cases - Quality Assurance


JW Backen

More on JW Backen

Sessions

Track
Other
Title
It All Starts with Git...
Abstract
Get up to speed with git in this fast-track session on understanding how to use git. From open source to the enterprise, and even every-day file management, git is the first step to small- and large-scale success.

Daniel Bank

More on Daniel Bank

Sessions

Track
Artifical Intelligence (AI)
Title
Offline ML with Rust
Abstract
We will create a Rust app that uses a frozen model to make inferences on image data. We will then cross-compile the app for ARMv7 Linux architecture and deploy it to a Raspberry Pi 3, demonstrating the ability to train once run anywhere. Aside from deployment, the Pi will not need an internet connection to run the model (look ma, no wiretap).

Rachelle Boyette

More on Rachelle Boyette

Sessions

Track
Mobile (Android/iOS/Microsoft)
Title
Kotlin Coroutines for Android Development
Abstract
Kotlin is the new and upcoming language of choice among Android Developers. Kotlin introduces tons of neat features, one of which is Coroutines. If you have used AsyncTasks in Android to handle background processes, coroutines aims to do the same thing, in a more concise, async-await style. We'll talk about what coroutines are, how to use them, and how they can be used in your app.

Les Brown

More on Les Brown

Sessions

Track
Mobile (Android/iOS/Microsoft)
Title
Xamarin Mobile Development - Advanced
Abstract
Walk through implementing push notifications, signal-R, OAuth, embedded databases, lazy loaded dependency injection along with the new features of Xamarin.Forms 4.0 as well as docker as a development tool.
Track
Mobile (Android/iOS/Microsoft)
Title
Xamarin Mobile Development For Beginners
Abstract
Learn the new features of Visual Studio integration with Xamarin. How to create your first project using a simple webAPI with a docker instance and avoid common pitfalls.

Robert Bushman

More on Robert Bushman

Sessions

Track
Artifical Intelligence (AI)
Title
ML Hands On: Optical Character Recognition
Abstract
In this workshop, you will create a notebook that does optical character recognition on hand-written digits. We will be using Logistic Regression, which is a very basic general purpose classification algorithm. It has been a popular choice for more than half a century. Even in our current era with the explosive advances in neural networks, Logistic Regression remains a mainstay for its simplicity and speed. Applying this very simple algorithm to the complex task of optical character recognition will help you see how approachable machine learning can be. To prepare for the class, create an Amazon AWS account and go to Amazon SageMaker. Create a notebook instance with a name you will remember and instance type c5.xlarge. All the rest of the settings can be left as defaults. Once it is working, make sure you shut it down so the notebook instance status says "Stopped". That way you will not be charged for it while you are not using it. Bring a laptop with you.

Derek Cline

More on Derek Cline

Sessions

Track
Other
Title
Leveraging services in Kafka Streams processor apps
Abstract
Is your organization adopting Kafka as their messaging bus but you’ve found that it will take too long to migrate your existing service-oriented architecture to a log-oriented architecture? Some of the biggest challenges in building a new stream processor can be implementing all the business logic again. It has become increasingly common for companies with high-throughput source streams and change-data-capture logs to want to build systems fast. At Ticketmaster, we have found a solution to the problem by leveraging the business logic in our existing services and calling them from our Java based KafkaStreams processor applications in an efficient manner. In this talk, we will examine the initial challenges we faced in our transition, then we will explore the solutions we built to address the use cases at Ticketmaster. The primary focus will address our workflow around calling services to bring stream processor applications to market fast. We will review our challenges and share tips for success.

Michael Collins

More on Michael Collins

Sessions

Track
Cloud
Title
Dockerizing Applications
Abstract
Have you heard of Docker? It’s the containerization technology that has rapidly changed how applications are built and deployed. Containerizing applications is the future for large scale software development and it is a critical skill to master. This presentation is geared towards those with no or some Docker exposure. We will look at what containers are, how they work, how to build containers for your applications, and strategies for building your own containers.
Track
Mobile (Android/iOS/Microsoft)
Title
Let's Talk About Text
Abstract
When designing mobile user interfaces, a lot of developers and designers overlook the power of text. From formatting and presentation, to building editing experiences, text is an extremely important part of building good mobile applications. In this presentation, we will start by talking about fonts, typography, and dynamic type. We'll look at how to use standard and custom fonts and support iOS dynamic type settings to dynamically size your UIs based on the user's text size settings. We will then turn to attributed strings and text views and will look at how to present and interact with text in your UIs. We will end with a full-blown look at TextKit and how to build rich text editing experiences in your user interfaces including how to accomplish syntax highlighting, spell checking, and other features when building editing experiences. Please join us to learn about using text in your mobile applications. (This presentation is focused on iOS technologies.)

Brian Downs

More on Brian Downs

Sessions

Track
Other
Title
Using Go to Call Unsupported Syscalls
Abstract
In this talk, we will take a look at what is required to make native syscalls to the operation system through Go. We will cover the basics of what syscalls are and their importance in systems programming and will show off a few small examples before diving into the main topic. This will include mapping syscall numbers to constants and looking at what the syscall itself requires for arguments and converting those C memory layouts into Go. We will go into a number of components in the standard library’s syscall package for converting strings to byte array pointers, etc. and working with the standard library’s unsafe package to access the system’s memory directly. Finally, we’ll put it all together and demonstrate the code with live examples. All code examples will be made available on Github.
Track
Other
Title
What is Robin Hood Hashing?
Abstract
This talk is aimed at those who are looking to get a deeper dive on hash maps and how open addressing can be beneficial for dealing with collisions. We'll deep dive the Robin Hood hash algorithm and why you should default to using it. I'll provide example implementations in a couple languages, Go, C, and Java and will make those examples available on Github.
Track
REST
Title
Writing REST API's in C
Abstract
This talk will be all about building an HTTP REST API in C. We'll go through the details of configuration and setup of the main server and then dive into writing request handlers. Then, middleware for authentication using basic authentication and token authentication. Once all of the aforementioned is complete, we'll get into build process and deployment.

Douglas Friday

More on Douglas Friday

Sessions

Track
Other
Title
C++20: The new stuff you need to know about
Abstract
What is new in C++20? How can you use it? Will it make your life easier? Will knowing it make you the life of the party? Come and find out!

David Gallivan

More on David Gallivan

Sessions

Track
ASP.NET
Title
Blazor - Life after the introduction Demo
Abstract
Once the high of seeing Blazor in action, you need to be able to use it in more of a real world applications. This session will show how to do real world tasks in Blazor: Upload and display an image file, provide user feedback, authentication, modal dialogs and change CCS frameworks. These go beyond the basic demo to show the attends the power of the Blazor
Track
ASP.NET
Title
Blazor Basics
Abstract
The what, how, where and why of the new Blazor Technology. Will include basic getting started with Visual Studio and Visual Code. Create and build the project templates and deploy to Azure. Attendees will walk away with a new excitement for Blazor.

Austin Godber

More on Austin Godber

Sessions

Track
Python
Title
Intro to Python Part 1 - The Core Language
Abstract
Learn about Python! In this talk we will discuss the Python language core features and libraries as well what it takes to get started using Python.
Track
Python
Title
Intro to Python Part 2 - The Ecosystem
Abstract
One of the Python language's super powers is its diverse ecosystem of third party modules. This talk will explore a tiny subset of the many things you can do with third party modules. This will include things like accessing a database, making a webapp, manipulating images and more!

Lisa Hunter

More on Lisa Hunter

Sessions

Track
Soft Skills
Title
Effective Communication: Talk Smarter, Not Harder
Abstract
So you worked hard to get into your role in the software industry thinking "this'll be great - I'll get to code all of the time and never have to talk to anyone". Then suddenly one day after ramping up in your position you find yourself getting pulled into design reviews and cross-team meetings where you need to build consensus and influence others in ways that school didn't prepare you for. You may even find yourself avoiding or dreading these situations. These conversations don't need to be painful however, especially when there can be major benefits to having them; all it takes is a bit of preparation and having the right mindset going in. Come learn some tips and tools for leading difficult discussions and constructively driving towards an end goal that results in a better product with less stress on your shoulders. Not a developer? Not a problem! These tips are applicable to any role.

Mark Lassoff

More on Mark Lassoff

Sessions

Track
Javascript/Node.js
Title
JavaScript for Beginners: Your First Lines of Code
Abstract
In this workshop, you’ll learn the basics of the JavaScript coding language. The session will not only examine the JavaScript syntax but also look at practical applications for learning. You’ll begin by learning the foundational concepts that make JavaScript—and any programming language, for that matter—function. You’ll then use actual code to develop simple learning applications and games. You’ll leave this workshop able to immediately apply JavaScript concepts to your daily work, and you’ll have the foundation you need to continue to deepen your skills with more advanced JavaScript topics on your own.
Track
Javascript/Node.js
Title
Mobile App Development with JavaScript
Abstract
The HTML5 stack is an strong choice for many types of Mobile App Development. It runs on every device, can be wrapped to perform seamless as a mobile application and has numerous support libraries to make development quick and easy. In this session, the presenter will dissect a mobile app developed to show train status for the Chicago Transit Authority's "L" trains. Along the way, the presenter will make suggestions for libraries, frameworks and tools to make JavaScript development of mobile apps easy.
Track
Other
Title
Visual Design for Tech Geeks
Abstract

In this session, you’ll learn about basic principles common to all visual design and how they apply to create high-quality, professional digital content. You’ll discover how understanding and applying concepts like composition, contrast, negative space, and even typography can greatly improve content quality and usability. These concepts can be applied whether you’re shooting video with an expensive professional camera or creating a simple web site for a community organization. You can improve your visual quality whether you have a professional studio or are just learning HTML. Visual literacy is a critical component of quality digital content, and after this session, you’ll be able to identify weaknesses in your own content and fix them.


Jeremy Lindblom

More on Jeremy Lindblom

Sessions

Track
Other
Title
Applied OOP Design Patterns: Rolling with the Punches
Abstract
Applying established design patterns in your object-oriented codebase can help you to "roll with the punches" of evolving business requirements. In this presentation, we'll take a practical look at design principles and patterns as we iteratively build a package with increasingly challenging feature requests. The key acronym in our tool belt? SOLID. (NOTE: This presentation will use an OOP-style pseudo-code language to appeal to developers of more than just one language.)
Track
PHP
Title
What's New in PHP 7.4?
Abstract
PHP is constantly evolving and getting better and faster. Come learn about the latest features in the language from the past few years and what's coming up very soon in version 7.4.

William Lindley

More on William Lindley

Sessions

Track
Other
Title
Mojolicious: A Modern Web Framework
Abstract
Mojolicious is a fresh take on rapid, robust web development utilizing the latest web standards and technologies. You can get started with your project quickly, with a framework that grows with your needs. Mojolicious is a real-time web framework, which allows a new class of web applications using WebSockets, non-blocking techniques like Promises, and thousands of other proven, tested modules that can interface with almost anything. Its foundational language already comes bundled with all popular Linux distributions from supercomputers to the Raspberry Pi, so it is easy to get running in your development environment and on your servers. It is well documented and supported by an active community.
Track
Other
Title
Seventy years of computer history in about Twenty minutes
Abstract

With nothing but a box-full of actual see-and-touch artifacts from the last hundred years, we will meet the first person to invent the concept of a computer program, and the person to discover the first real computer "bug" and invent the concept of a computer language (they were both women). We will discover why Samuel Morse's telegraph still lives in the newest "smart" devices, how Golden Age movie actress Hedy Lamarr helped make cellphones possible, and how "It's all just ones and zeroes" changed everything.


David Lundell

More on David Lundell

Sessions

Track
Soft Skills
Title
How to Be an MVP
Abstract
Many times we look at the success of others and think it is beyond us. In this session, 12 time Microsoft MVP (2007-2019) and author of "How to Be an MVP in Life", David Lundell, will share stories from fellow Microsoft MVPs, and some sports MVPs illustrating key attribute in professional and personal development relating to becoming a Microsoft MVP, and even more importantly becoming an MVP in Life.

JOSH MARTIN

More on JOSH MARTIN

Sessions

Track
PHP
Title
Writing Secure Code
Abstract
Are you writing apps in PHP or a using a PHP Framework? Is your code leaving valuable data vulnerable? Learn the basics of protecting data in PHP!

Kyle Maune

More on Kyle Maune

Sessions

Track
Functional Programming
Title
Clojure
Abstract

Simple and easy

Track
Javascript/Node.js
Title
Introduction to Functional Programming in JavaScript
Abstract

In this session, we will do an introduction to functional programming using JavaScript!

We will cover:

  • first-class functions
  • higher-order functions
  • declarative vs imperative programming
  • immutability
  • purity
  • data transformations
  • recursion
  • composition

all using JavaScript code examples!


Joe Mayo

More on Joe Mayo

Sessions

Track
Artifical Intelligence (AI)
Title
Deep Learning Basics
Abstract
In this session, you'll see how deep learning works. We'll cover the basics, discussing concepts and techniques that are common to many types of deep learning. Although math is inherent in how deep learning works, Joe will explain enough to where you don't have to be an expert in calculus, linear algebra, or statistics. You'll see that this technology doesn't require a Ph.D. for any developer who wants to learn and take advantage of AI. By the end of the presentation, you will have seen a full example of how deep learning works, design and considerations, and practical applications.

David McCarter

More on David McCarter

Sessions

Track
.NET
Title
Rock Your Code: Code & App Performance for Microsoft .NET
Abstract
The performance of code is always something that is very important. Even more important if your back-end apps are processing tens of thousands of requests per second. In this session, I will reveal the do’s and don’ts when it comes to improving code performance when writing business software. Some code I will show can be up to 98% faster! Reducing memory that your app uses is also very important and will be discussed in detail. The demos in this session will work with the .NET Framework and .NET Core.
Track
Cloud
Title
Rock Your Code: Real World Cloud App From Start to Finish (Part 1)
Abstract
This session will show how I created a cloud application from start to finish using Microsoft Azure to add features to a legacy app. The session will start off with the feature requirements followed by the architecture and design. The remainder of the session will show how I coded the following application layers: The data layer featuring Cosmos DB. The business layer featuring Azure ServiceBus Queues and Azure Functions. The communications layer using Azure App Service. The user experience layer using ASP.NET Core & Blazor. The identity layer using Azure Key Vault. Other frameworks such as Azure Application Insights and even unit testing will also be discussed. This is part of my series titled “Improving Code Quality… One Developer At A Time”. Note: Even though code examples in this session are in .NET, the concepts can be applied to any language
Track
Cloud
Title
Rock Your Code: Real World Cloud App From Start to Finish (Part 2)
Abstract
This session will show how I created a cloud application from start to finish using Microsoft Azure to add features to a legacy app. The session will start off with the feature requirements followed by the architecture and design. The remainder of the session will show how I coded the following application layers: The data layer featuring Cosmos DB. The business layer featuring Azure ServiceBus Queues and Azure Functions. The communications layer using Azure App Service. The user experience layer using ASP.NET Core & Blazor. The identity layer using Azure Key Vault. Other frameworks such as Azure Application Insights and even unit testing will also be discussed. This is part of my series titled “Improving Code Quality… One Developer At A Time”. Note: Even though code examples in this session are in .NET, the concepts can be applied to any language

Devin McCarville

More on Devin McCarville

Sessions

Track
QA/Testing
Title
How Quality Assurance Makes an Impact in the Software Development Life-cycle
Abstract

Quality Assurance can make an incredibly significant impact throughout the entire SDLC. More so, understanding the importance of Quality Assurance and how its impact on not just the software but also on clients or consumers is pivotal to a software company's success.


Jay McGavren

More on Jay McGavren

Sessions

Track
Other
Title
Intro to the Go Language
Abstract
Taught by the author of Head First Go, this session will give you an idea of what Go's about. We'll show you basic program syntax, including time-savers like short variable declarations and "for ... range" loops. We'll show you cool Go features like first-class functions (pass functions as data!), interfaces (duck typing at compile time!), method promotion (OOP without class inheritance!), and goroutines and channels (concurrency made easy!). When we're done, you'll understand what Go offers and how it can help you on your next project!

Christopher R Miller

More on Christopher R Miller

Sessions

Track
Other
Title
Intro to Rust
Abstract

Rust is a modern, strongly-typed, non-garbage collected language from Mozilla pursuing the trifecta: safety, concurrency, and speed. For four years the StackOverflow survey has placed Rust as the most loved language. You can write anything from operating systems, device drivers, video games, graphical applications, to web applications in Rust. It can be a little intimidating to get started as there are a few concepts that may be new to the learner. We'll explore the language by looking at how to build a _. After this session, you should be able to understand some of the features of Rust, how to get started, and where to find resources to continue learning Rust if you so desire.


Jerry Nixon

More on Jerry Nixon

Sessions

Track
Other
Title
QUANTUM COMPUTING AND OUR IMMINENT BRAVE NEW WORLD
Abstract
The coming Quantum age will soon eclipse this Silicon age. Whatever you think about classical computing, machine learning, data security, and personal privacy is all about to change. Quantum is different. Parallel universes? Teleportation? Writers will need to work harder to put the "fiction" back into Science Fiction. Perhaps the most unexpected changes will be in artificial intelligence, medical research, climate control, education, and manufacturing. But what? And, how did we get here? When will we get there? And, what should you do before we arrive?
Track
Other
Title
THE ETHICS OF SOFTWARE ENGINEERING
Abstract

White hat, black hat, red hat? Subtle actions can have great impact. From authentication to authorization, validation to verification, automation to thermonuclear war. There’s a lot of power in the hands of developers, a lot of everyday decisions intended to be ethical, professional, defensible, and consistent. But what are we doing and what pitfalls sit in our laps every day we don’t recognize? Let’s look back at some of our worst decisions and the looming decisions most of us will make in the next five years.


Wolf Paulus

More on Wolf Paulus

Sessions

Track
Artifical Intelligence (AI)
Title
Exploring Neural Word Embeddings with Python
Abstract

Standing on the shoulders of giants, we don't have to design, create, and train a neural network, but instead, use one that already exists. We download a public domain fully trained neural network and modifying it slightly (to make it load faster during the session).

Python

I'm teaching a junior college Python course and usually show this at the end of a 16-week intro class. I.e., you don't need to be a Python expert to get something out of this session. Knowing a little Python will be helpful, but all demos easily translate into other languages, like Java for instance.

Objectives

After the session you will have a general understanding of "Neural Word Embeddings", understand what "cosine similarity" means and how to calculate it. I know, that may not sound all that exciting. But imagine you type in the question, "Men is to boys what woman is to" and your Python program answers with the word "girls". Or you type "Men is to king, what woman is to" and your Python program answers with the word "queen". But that is just the beginning, I will also show you an example that uses the same technique applied to a much more relevant topic, detecting bias in a text.

 


Travis Rogers

More on Travis Rogers

Sessions

Track
DevOps/System Administration
Title
DevOps Pipelines Overview
Abstract
We will define what DevOps pipelines are and what are some common patterns that you will find when working with them. These patterns include items like Continuous Integration, testing, and Continuous Delivery. We will also discuss with what the future might hold for DevOps pipelines The meeting will conclude with a demo of an example Azure DevOps pipeline.

Roman Rozinov

More on Roman Rozinov

Sessions

Track
Cloud
Title
Azure Governance
Abstract
MS has lately invested a lot of resources helping enterprises adopt cloud-first mindset. This session is all about to give you glimpse of what Azure governance tools are available and how to get started in your cloud journey.

Jayson Smith

More on Jayson Smith

Sessions

Track
QA/Testing
Title
TDD Live!
Abstract

There are many ways out there to design software, but one of the most effective in guiding consice and well thought out projects is Test Driven Development (TDD). Let's work on developing a project together, live, from the ground up, while utilizing and learning the steps of TDD!

Track
Other
Title
WTF is Context in Go?
Abstract
ctx, ctx, CTX! Context can be a big thing we see in Go projects, but initially it may be a concept that's difficult to wrap your head around. Let's work through some examples of what context is and allows us to do, to gain a better understanding and enable you to use it in your projects!

Thomas St Pierre

More on Thomas St Pierre

Sessions

Track
Javascript/Node.js
Title
React Native Mobile Development
Abstract
- Entry level audience - Should be familiar with JavaScript - Familiar with ReactDOM helpful but not required Create a React Native application from using sustainable decisions: - Typescript - Storybook - Solution structure

Todd Sussman

More on Todd Sussman

Sessions

Track
Agile
Title
Data-Driven Continuous Improvements
Abstract
In the past, we needed KPIs and metrics to help calm our nerves as we tried to predict the likelihood of a projects success. Agile addresses some of the concerns that drove KPI adoption, but is there still a use for them in agile organizations? Join us and learn how you can use metrics to help drive improvements in your organization.
Track
Agile
Title
Relative Sizing
Abstract
Humans are bad at estimating in real numbers, that's why we have relative sizing. Learn about the problem space, and different strategies you can use at different points in the life cycle of a story.

Parth Thaker

More on Parth Thaker

Sessions

Track
Agile
Title
Adopting SAFe
Abstract
In an ever changing, highly dynamic industry, how enterprises / groups can adopt SAFe & move towards agility in a SAFe way. Idea is to understand SAFe principles, guidelines & adopt new roles & techniques towards large scale solutions.

Brad Westfall

More on Brad Westfall

Sessions

Track
Javascript/Node.js
Title
Building SVG with React - What I learned while building a little project
Abstract
I wanted to create this tree diagram thing in React and so I chose to do it in SVG DOM nodes instead of HTML or using some overly complex library. I learned some cool things, let me share them with you.
Track
Javascript/Node.js
Title
React Hooks
Abstract
We'll cover the three most common hooks (useState, useEffect, and useRef) in their basic form but then I'd also like to talk about their nuances which tend to confuse those who are new to hooks. All live coding of course

Chris Woodruff

More on Chris Woodruff

Sessions

Track
.NET
Title
JetBrains Rider Tips and Tricks: Getting more out of your development time
Abstract
Rider is a cross-platform .NET/.NET Core IDE from JetBrains. In this talk we're going to spend 60 minutes seeing how you can be productive and work efficiently using the keyboard, focusing on the task at hand and not being distracted by the environment. We'll learn how to maximize the tool for your .NET and web development needs, as well as learn some hidden tips and tricks.

Dewei Xiang

More on Dewei Xiang

Sessions

Track
Javascript/Node.js
Title
Build App with Angular
Abstract
Build App with Angular using some best practice of Angular
Track
Javascript/Node.js
Title
TDD with Javascript
Abstract
Use Test Driven Development to develop your JavaScript APP.