Utah Code Camp 2016 Sessions


DevOps

Crawl, Walk, and Run with Me to Continuous Delivery
  5  

Over the course of nearly 15 years in software development, I've learned quite a bit about automating software delivery. Looking back, I realized that I've been doing Continuous Delivery in one form, or another, for most of that time. Let's take a few minutes to talk about how Continuous Delivery can help teams of all sizes get software into customers' hands faster for tighter, more effective feedback loops. It's all about the automation!

Level 100 - Introduction
Duration: Hour
Presenter: David Batten


In Pursuit of Continuous Delivery at Pluralsight
  3  

Continuous delivery is a great idea to read about in books and on blog posts from big tech companies, but no "real" companies do it, right? Well, at Pluralsight we deploy our production web site and related components anywhere from a couple of times a week to a couple of times a day. We do this for hundreds of thousands of users with virtually no user impact and with great uptime. In this session we’ll talk about what our deployment pipeline looks like, what some of the tools and technical practices we use that help us to deploy frequently, and what some of our challenges are. In the past three years our development forces have increased in number by more than an order of magnitude. As with most things, not everything with software development that works well at a small scale will work as well at a larger scale. We’ll talk briefly about how the move from a single team of half a dozen to developers to multiple teams that each include people from development, ops, devops, and product management has affected our architecture and our deploy process. Please come with any questions about how deploying frequently works at Pluralsight. Hopefully attendees will be able to use some of the things that help us at Pluralsight to make their own deployments faster, more reliable, less scary and more fun.

Level 100 - Introduction
Duration: 75 Min
Presenter: Jonathan Turner



Software Practices and Principles

Why Software Craftsmanship?
  6  

As Agile and Lean practices have been transforming how we work when creating software, the Software Craftsmanship movement has been focusing on improving the discipline of those who would write code. In this presentation, I'll talk about why Software Craftsmanship is important and some of the challenges it puts forth to professional programmers.

Level 100 - Introduction
Duration: Hour
Presenter: Allan Stewart


What is Lean?
  4  

When we talk about any tool, technique or practice that we like, we can fall into the trap of thinking that “Everything good is X” and “X is everything good.” If we truly want to understand a concept, we need to know what it includes and what it does not. After this session, we will have a clear understanding of what Lean is, how we might apply it to software development, and when we would and wouldn't want to.

Level 100 - Introduction
Duration: Hour
Presenter: David Adsit


Introduction to ASP.NET Core 1.0
  4  

ASP .NET Core 1.0 (formerly ASP .NET 5) is a rewrite of the ASP .NET stack. Major changes include a more modular design, cross platform execution (OS X, Linux, and Windows), new configuration options, and a convergence of MVC and WEB API. While there are too many changes to cover in the time we have we will briefly discuss some of the design goals and then drop into code to see how to create your next generation web application with ASP .NET Core 1.0.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Scott Golightly


Developing Universal Windows Platform (UWP) Applications
  3  

Windows 10 has shown exceptional growth and with it we have the emergence of an app ecosystem built on Universal Windows Platform apps. In this session we will discuss how you can get the tools you need to start developing UWP applications and then we will begin to create a simple application that shows off some of the features of UWP. We will finish up by deploying the app to Windows 10 and Windows 10 Mobile devices.

Level 200 - (Beginner): Introductory / fast moving
Duration: Hour
Presenter: Scott Golightly


git merge versus rebase
  2  

This presentation covers two common approaches to central development in git which is a decentralized version control system. Observe the processes and commands for each and discuss the pros and cons of each.

Level 300 - (Intermediate): Basic knowledge of subject matter is suggested
Duration: Hour
Presenter: Josh Jones


Introduction to Unity3D
  1  

Learn how the component architecture of Unity3D works and learn the basic steps for building a project using this engine.

Level 100 - Introduction
Duration: Hour
Presenter: Josh Jones


Best Practices for Long Term Projects
  1  

Hear lessons learned from years of battling the bugs found by our ever-growing user base and the stress our concurrent user count placed on our servers. Topics include real-time cluster application development, java bytecode injection, troublesome features, clarity of code, and message queues.

Level 500 - (Expert): Advanced and in depth; experience is required
Duration: Hour
Presenter: Josh Jones


The Ethics and Mechanics of Ad-Blocking
  0  

If you are one of the millions of people who have never said “Show me one more add for a miracle diet” then you might be considering blocking all advertisements on the web. While blocking ads might be a very appealing option for you because you are tired of ads or you are concerned about privacy you are probably also aware that a lot of your favorite sites are funded by advertising and you are worried about what will happen to them if they don’t get any more funding. We will discuss these and some other issues with advertising on the Internet. We will also look at a some of the many options that you have for blocking web advertisements.

Volunteers: Scott Golightly
Want to volunteer? I Can Present This!



Functional Programming

Functional programming in the real world
  2  

Let's take a look at functional programming, what we can learn from it, and how it can be applied to our everyday work. The problem is, many functional languages - especially the fun ones - suffer from obscurity. We'll explore some features and libraries in mainstream languages that allow us to program functionally, while enjoying the support of a popular, mature language ecosystem.

Level 100 - Introduction
Duration: Hour
Presenter: Eric Andres



Javascript

Redux Deep Dive
  2  

Let's learn more about redux, exploring the functional programming principles that make it tick, and diving into the source code to discover the beautiful simplicity of this incredible, elegant library.

Level 300 - (Intermediate): Basic knowledge of subject matter is suggested
Duration: Hour
Presenter: Eric Andres



Web Technologies (ASP.NET, Node, CSS, HTML, etc.)

There are no presentations in this track.


Mobile Development

iOS programming with Swift
  0  

Introduction to iOS programming using Swift. Creating applications using XCode and Swift with a MVC approach. Implementing segues, linking GUI to the Controller as well as the basics of the Swift language.

Volunteers: Cody Henrichsen
Want to volunteer? I Can Present This!



Track Name

Suggesting a topic does not mean you are presenting that suggestion.

Session Name

Track

Level

Duration

Session Abstract


Would you like a mentor to help you with this presentation?



The unconference track is designed to create sessions and ideas on the fly. We want to allow our attendees to use a room through the day for open conversations and concepts. Everyone can vote on the ideas you want to see and then we will publish them in the schedule. Feel free to submit any topic/idea for discussion.

Idea Name

Description