Date for Desert Code Camp - 2016.1  Saturday, October 8, 2016 8:00:00 AM - Saturday, October 8, 2016 6:00:00 PM

Speaker List

Nick Airdo

More on Nick Airdo

Sessions

Track
Other
Title
Rock RMS for developers
Abstract
Rock RMS (http://rockrms.com) is a free, open source Relationship Management System and web application development framework (written in C#) built right here in Arizona by a local 501c3 to help non-profits manage their people data. Today Rock is used by organizations all over the world and now has a marketplace (called the "Rock Shop") where developers can sell or give away their custom plugins and packages. Come to this session if you want to learn more about Rock or how to develop plugins for this ASP.NET system.

Greg Babiars

More on Greg Babiars

Sessions

Track
Javascript/Node.js
Title
Reactive Programming with RxJS
Abstract
RxJS (Reactive Extensions for JavaScript) is a library that enables us to write our JavaScript applications in a reactive way by allowing us describe our logic in terms of how the application changes over time. RxJS introduces a new primitive, the Observable, and a set of operators that unify the way we think about async and evented data flow. By thinking in terms of data streams instead of imperative state, RxJS gives us the ability to write logic that is concise and readable. In this talk, we'll cover: • What is Reactive Programming? • Introduce the Observable type • Demo many of the built in operators and observables • Several real world examples to highlight how RxJS can greatly simplify complex async and evented logic • Good resources for learning RxJS We'll move very fast in this talk and hopefully it will whet your appetite for RxJS. NOTE: This talk assumes some knowledge of ES2015, particularly arrow functions, destructuring and shorthand property names. It is highly advisable that if your are not familiar with this syntax, you brush up before attending this talk.

Chris Bannon

More on Chris Bannon

Sessions

Track
Javascript/Node.js
Title
Inside Wijmo 5, a Large-scale JavaScript Product
Abstract
GrapeCity has been developing JavaScript products for over seven years. The browser landscape has changed greatly since we started and we have learned a lot along the way. Today, we manage Wijmo 5, a suite of JavaScript UI controls, specializing in a high-performance datagrid and powerful charts. In this session, we will give you a look inside our project. We will go over the collections of tools, frameworks, languages and patterns that we have refined over the years. You walk away from this session with useful tips for managing large-scale JavaScript applications.

David Barkman

More on David Barkman

Sessions

Track
Other
Title
Gitting started with Git, it's easier than you think
Abstract
Surely you're already using VCS, if not, OMG you must attend this session. Maybe you're are using Git, but have only run clone, add, commit, push or pull, or maybe that's an advanced list! In this session, we'll peel back some of the upper layers and dive a little deeper and get you to regular user status. This session will concern using Git with Github and command line commands. Learning a GUI, beyond the basics of the Github website is not in the scope of this session and really, for lazy people. Git commands are intuitive and easy to use and learn, and not really that scary! Make sure you bring your laptop or capable tablet, have already signed up for a free Github account and have Git installed locally or on a server you can access during the session. Running "git --version" should give some productive feedback and not an error. And of course, there will be a prize giveaway!

Jeff Bell

More on Jeff Bell

Sessions

Track
Cloud
Title
Adding Advanced Search Capabilities With Azure Search (Elastic Search)
Abstract

No need to reinvent the wheel when it comes to search. Learn how you can avoid destroying your database with search queries by storing your search index in the cloud using Azure Search. We'll review how to create an index, datasource, indexer and suggester. Then we'll show you how to query it for use with autocomplete suggestions, search results and facets in a real world web application.

 

https://azure.microsoft.com/en-us/documentation/articles/search-get-started-nodejs/


Les Brown

More on Les Brown

Sessions

Track
Mobile (Android/iOS/Microsoft)
Title
Xamarin Development - All about the data (Advanced)
Abstract
Using Realm (local db), Azure Document Db (Cloud), Rest Services with OAuth, create responsive cross-platform applications that function in connected and disconnected states.
Track
Mobile (Android/iOS/Microsoft)
Title
Xamarin Development with Custom Controls (Intermediate)
Abstract
Create custom controls using renderers as well as use native features through dependencies and styling with effects.
Track
Mobile (Android/iOS/Microsoft)
Title
Xamarin Mobile Application Development (Beginner)
Abstract

Build mobile applications (iOS, Android & UWP) using C#. This is an introduction to Xamarin development using Xamarin.Forms.


James Bucanek

More on James Bucanek

Sessions

Track
Other
Title
Design Patterns: The mystic secret of great programmers
Abstract
Design patterns hold the key to effective software development. We all know what a great UI looks like, but what does great software architecture look like? Get a brief introduction to design patterns and design principles, and then dive into the most impotant and commonly used patterns: Model-View-Controller, The Observer Pattern, Delegation, the Open/Closed principle, and a few others. Design patterns are applicable to almost any computer language, but are especially useful in object-oriented ones. (An encore presentation of my CC2014.2 session)

Will Button

More on Will Button

Sessions

Track
Javascript/Node.js
Title
Deploying Node.js on Docker
Abstract

Getting node.js up and running is fairly easy. Getting it to run using best practices and proven principles requires a bit more work. In this session, I'll show you how to deploy using the recommended best practices from node.js. You'll learn how to run node.js as a non-root user, limit memory to the container, leverage docker caching for faster builds and walk away with a template to help you automate the entire process. This session is aimed at node.js developers interested in deploying production applications on Docker.

Track
DevOps/System Administration
Title
DevOps for Developers
Abstract
Ask 10 people what "DevOps" means and you'll likely get 10 different answers. In this session, I'll help you bypass the hype and sales pitch by focusing on the fundamental principles of DevOps and how you can integrate them into your own development workflow to produce higher quality, scalable, performant code. The target audience is new and mid-level developers looking to improve their existing skills and add new ones.

Matthew Calcote

More on Matthew Calcote

Sessions

Track
Other
Title
Land of the Free: Open Source for Productivity and Profit without Pitfalls
Abstract
Open source software is now a ubiquitous part of internet culture, but what does this mean for the livelihood of the groups creating and using it? Take a journey with us through many different scenarios faced by producers and consumers of open source software, during which we will dig into some of the most confusing aspects including licensing, rights, restrictions, as well as cover related business models and a even a few interesting loopholes.

Gustavo Castellano

More on Gustavo Castellano

Sessions

Track
Agile
Title
How to implement Scrum and SAFe using Dale Carnigie techniques (Individuals and interactions over processes and tools)
Abstract
Hi, my name is Gustavo and I'm an agile coach. I will use this session to convince all the audience that the most important item in the Agile Manifesto is "Individuals and interactions over processes and tools". Using as an example my agile journey in Amdocs (a billion company) as a member of the Agile Coaching Transformation Team. We are going to talk about Dale Carnigie, body language, microexpressions and all these "secret" world that involves the "Individuals and Interactions".

Chadtech Chadtech

More on Chadtech Chadtech

Sessions

Track
Javascript/Node.js
Title
How does React work 'under the hood'?
Abstract
So you understand state, props, and components. You are a react dev, and that means you know how to make web applications. However, you might not really know what React does with your code to make your app work. Well, you certainly will after this talk! Not only are we going to give ample treatment to basic questions like 'what is a virtual DOM?', 'How does state trigger a re-render?', but we will live code a simple react-like UI library from scratch.

Mike Christianson

More on Mike Christianson

Sessions

Track
Cloud
Title
Your First Amazon Alexa Skill
Abstract

Learn enough to create, test, and deploy your first Amazon Alexa Skill.

If you want to follow along during the session, you'll need:


Sam Clark

More on Sam Clark

Sessions

Track
Other
Title
Living In The Terminal, Making The Most Of Your Keystrokes
Abstract
What if we could have the development environment performance of a Macbook Pro on a $199 Chromebook? This talk will revolve around making a solid commitment to using the terminal for development in all aspects making much more efficient developer. Everything from checking your gmail, linting your code, checking news updates and twitter, multi-tasking a server. Being able to reattach sessions on the fly. This talk will cover the world of Tmux/Vim, Emacs, terminal based technologies, and why they are the right tools for the job moving forward. Simplify your life as a developer and decrease hand movement by learning to operate via a more functional editor. With the rise of DevOps in our industry, it's important to be able to access systems quickly and understand how they work. Turn your development environment into a computer agnostic world of dependability quick access!

Jeremy Clark

More on Jeremy Clark

Sessions

Track
Other
Title
Clean Code: Homicidal Maniacs Read Code, Too!
Abstract
There's no such thing as a write-once application. The world is constantly changing, and our code needs to change with it. To keep code readable and maintainable, we'll use techniques such as intentional naming and method trees. Think about the next developer to maintain the code. Now, imagine he's a homicidal maniac who knows where you live.
Track
.NET
Title
I'll Get Back to You: Task, Await, and Asynchronous Methods
Abstract
There's a lot of confusion about async/await, Task/TPL, and asynchronous and parallel programming in general. So let's start with the basics and look at how we can consume asynchronous methods using Task and then see how the "await" operator can makes things easier for us. Along the way, we’ll look at continuations, cancellation, and exception handling.
Track
QA/Testing
Title
Unit Testing Makes Me Faster: Convincing Your Boss, Your Co-Workers, and Yourself
Abstract
Bosses hate unit testing. They see it as code that doesn't contribute to the final product. But here's the truth: unit testing makes us faster. We'll look at specific examples of how unit tests save time in the development process, whether we're creating UI-based applications or server-side libraries. With this in hand, we can show our boss how testing makes us faster and lets us move forward confidently and quickly.

Gerard Cohen

More on Gerard Cohen

Sessions

Track
HTML/CSS
Title
Accessibility Testing Tools for Developers
Abstract
You don't have to be an accessibility guru to make your projects accessible, but you do have to make your projects accessible. Identifying accessibility issues as early as possible can save an organization or project a substantial amount of money, time, and headaches over trying to augment a web site or application after initial development. Using a testing tools during development for accessibility will definitely help with this process. For developers that are novice to web accessibility this presentation is a great introduction into key aspects to consider while developing. For developers that are more familiar, this presentation exposes tools that will make accessibility easier. All users will gain from learning how to build accessibility into their development workflow using a variety of testing tools, from simple to intricate.

Michael Collins

More on Michael Collins

Sessions

Track
Javascript/Node.js
Title
Electron for Desktop Developers
Abstract
Let's be honest. Yes, web applications in web browsers have become very powerful with modern browsers and HTML5. But there will probably always be a need for desktop applications. On Windows, WPF has been in standstill for years and the Windows Tile Framework (WTF) applications never went anywhere. On Mac, Cocoa is powerful, but it has a high learning curve. And developing separate applications for Windows and Mac gives you two separate code bases. What if you could build a desktop application in HTML5, but without the limitations of the web browser sandbox? Imagine being able to build a desktop application with a web front-end and complete access to the desktop. Wouldn't that be interesting? Well, we have that today in Electron, the engine behind the Atom text editor, Visual Studio Code, and many other desktop applications. In this session, I will introduce you to Electron and the architecture for Electron applications. I will also show you how to get started building applications with Electron and how to package and distribute your applications for deployment to your users. Come learn about this fascinating new realm of desktop development!
Track
Other
Title
Electronics for Beginners
Abstract
Software engineering is not all about software anymore. Hardware is exploding! From wearable computers to robots, devices and machines are showing up everywhere. If you have always wanted to learn how to work with electronics, but have zero experience and don't know where to start, then this course is for you. This session is targeted for those who have no experience working with electricity or electronics. NO EXPERIENCE NECESSARY! We'll begin by explaining what electricity is, we'll break down the math that you need to know, and we'll take a look at some simple demonstrations of electronics experiments that you can do at home for less than $100. I will also be demonstrating some simple projects using a Raspberry Pi 3. If you've heard of it and want to know what this is about, find out here. Come join us and open the door to this new world!
Track
Mobile (Android/iOS/Microsoft)
Title
VIPER for iOS Developers
Abstract
We all do it. We start off with good intentions and start building unit tests for our iOS applications. But as the program grows in features and complexity, our view controllers become kitchen sink behemoths with thousands of lines of code and are anything but easy to unit test, change, and maintain. In this session, I will introduce you to the VIPER architectural pattern for iOS development. VIPER is inspired by the Humble Object pattern for improving unit testability and enforcing the single responsibility principle for iOS applications. Learn how to break your view controller into strategic parts that make them smaller and easier to maintain and unit test.

Benjamin Deininger

More on Benjamin Deininger

Sessions

Track
Java
Title
Building Micro-services with OSGi & Apache Karaf
Abstract

Micro-services follow the same modular principles as OSGi bundles; they are meant to be granular, replaceable, and independently deployable services that communicate with each other using network protocols. This approach to software reduces coupling, reduces software complexity, and enforces a separation of concerns. This session introduces Apache Karaf, a container powered by OSGi, and demonstrates how to rapidly deploy micro-service bundles in order to leverage the benefits of a modular system. OSGi is an open specification that is used in various applications such as Eclipse, JIRA and Confluence.


Don Doerres

More on Don Doerres

Sessions

Track
Other
Title
Soft Skills for a Hard World
Abstract
Effective communications is the key to sustained workplace success. While technical skills are essential, people skills make the difference between fortune and failure. This class focuses on the important skills of active listening, effective use of emotional energy, dealing with angry people, conflict resolution and employee motivation. This class give participants the important tools they need to be productive and best serve all their customers.

Sean Dolphin

More on Sean Dolphin

Sessions

Track
Other
Title
Concurrency in Golang
Abstract
Show how concurrency works in Golang. Along with some basic design patterns to make modular building of concurrent Golang applications easier.

Justin Dragos

More on Justin Dragos

Sessions

Track
Javascript/Node.js
Title
Reduce, Reuse, Redux
Abstract

If you've heard anything about React lately, you've almost certainly heard about Redux. If you are wondering what in the world that is, and why you might use it this is the presentation for you. We'll take an introductory look at Redux, how it works, and why you might want to use it. If we have time towards the end we'll talk about React integration with Redux. Agenda: * What is Redux? * Why is it useful? * When you should use it? * Data Flow * Actions * Reducers * State * Cool Uses for Redux


Douglas Friday

More on Douglas Friday

Sessions

Track
Other
Title
Being a good code reviewer
Abstract
One of my internal goals this year was to make a substantial comment on every patchset that came my way.... because the bugs are out there! For this session, we'll talk about how to be a good code reviewer. Topics will include examining memory usage, structure packing, multithreaded impacts, critical section lock scoping, 32bit/64bit impacts, optimal STL usage, unit test coverage, and more. Session will have a C/C++ focus but may not be exclusive to that. Topics will also include several examples that we review together as well as an open discussion period (even bring your most obscure patchset/bugs for us to examine, if you want)

Rick G. Garibay

More on Rick G. Garibay

Sessions

Track
Other
Title
Beating back the Monolith: Techniques for working more effectively with legacy code by understanding the complexity of your domain
Abstract
If you’re a software developer, chances are you've encountered that dreadful moment when your project requires you to make a change to an existing piece of code. If you’re lucky, you have unit tests that fire green before you make the change. But what do you do when you are not so lucky? Taking it one step further, how do you know the complexity of the domain that you are operating in if you are new to the code base and whether the changes you need to make are trivial? In this talk, Rick G. Garibay, Senior SDM at Amazon walks through a framework for understanding the complexity of the domain that you are working on. From there, he shares some real-world patterns and techniques for working more effectively with legacy code including code reading and refactoring techniques, identifying and extracting functional seams for separating concerns and establishing devops practices that allow you to test changes in isolation (and yes, sometimes even in production).

Austin Godber

More on Austin Godber

Sessions

Track
Python
Title
Introduction to Python and the Python Ecosystem
Abstract
Learn about Python and the Python ecosystem! In this talk we will briefly discuss the Python language and what it takes to get started using Python. We will also touch on useful tools, best practices and libraries. The discussion of libraries will include web frameworks, database access, numerical tools, GIS tools and possibly more. Come learn what you can accomplish in Python!
Track
Python
Title
Plotting with Python Using Matplotlib and More
Abstract
In this talk I will show you how to confidently plot in Python using the Matplotlib library. I will cover the basics of plotting and do a bit of exploration of the API. I will provide great tips for working efficiently in Matplotlib and share a few of the alternatives to Matplotlib.

Martin Gragg

More on Martin Gragg

Sessions

Track
Database (SQL/NoSQL)
Title
Introduction to Impala
Abstract
Apache Impala is an open source massively parallel processing (MPP) SQL Query Engine for Apache Hadoop. It supports SQL queries for data stored in HDFS, HBase, and Kudu. It shares metadata with Apache Hive and is able to query directly to HDFS bypassing Map/Reduce to make queries much faster. In this session, we will show you how to get started with Impala.

Paul Hacker

More on Paul Hacker

Sessions

Track
DevOps/System Administration
Title
Getting Started with Team Foundation Server 2015 Build
Abstract
Team Foundation Server (TFS) has a powerful build system for years. Nevertheless, TFS 2015 introduces a completely new system. Wondering what this is about and why (again) belongs to something new to you? Join us to explore the next generation of TFS build system and learn more about the background, the technical implementation and the benefits (eg, Cross-Platform builds).
Track
DevOps/System Administration
Title
Release Management with Team Services
Abstract
Learn the fundamentals of Release Management, how it relates to DevOps, and benefits it and continuous deployment bring to any organization. More specifically, I will present an overview of Release Management. I will also cover what Visual Studio Team Services and Team Foundation Services are. We will look at the new Cross-Platform build system, discuss DevOps practices, and benefits of Release Management. Walk away with the knowledge you need to get started with Release Management Team Services.
Track
Cloud
Title
Visual Studio 2015 and Azure Resource Manager
Abstract
Does it take you days to deploy your infrastructure? In this session we are going to introduce you to Azure Resource Manager and demonstrate how we create Azure Resource Manager (ARM) templates using Visual Studio 2015 and then deploy the infrastructure in minutes. We are going to peek under the covers of the ARM templates to show you what is going on inside the template and why you should be implementing it today. We will look at the Azure portal and walk through the infrastructure we deployed. Lastly we will look at the Azure Resource Template Visualizer and show you a great way to use it to get you started with ARM template creation.

Mike Hamilton

More on Mike Hamilton

Sessions

Track
Javascript/Node.js
Title
Gulp.js Introduction
Abstract
A brief overview of the four functions available in the Gulp API and how to use them, and Gulp plugins to aid your web development workflow.

Jason Hansen

More on Jason Hansen

Sessions

Track
Javascript/Node.js
Title
Hello Universe: Building React Applications That Scale
Abstract

Developing web applications is hard enough before people start using them, let alone after the bombardment of new feature requests and user experience improvements begins. But once it does, your development speed moving forward is significantly impacted by your architecture's ability to fulfill those requests.

In this session we'll go through a list of features that most real-world applications eventually need to support (like pagination, search, error handling and optimistic updates) and how to integrate support for those features into your React architecture early on, while also reducing boilerplate across the board.

We'll also talk about how to build an AJAX tier that simplifies server communication, while also protecting your application from breaking API changes and making it easier to migrate between API versions as your application evolves.

A basic understanding of React and Redux (or Flux) is recommended to get the most value from this session.

Track
Javascript/Node.js
Title
Introduction to Lore: A Convention-Driven Framework for React
Abstract

Lore (http://www.lorejs.org) is a convention-driven framework for React that is built on Redux, React-Router and Webpack. Fundamentally, Lore doesn't introduce anything new; if you understand Redux, then you understand how Lore works. So it's not "another new thing" in that sense. But what Lore DOES do is integrate support for many of the application needs we're often left to solve for on our own; things like pagination, filtering, optimistic updates, AJAX communication and WebSockets to name a few.

The way Lore does this is by taking advantage of the boilerplate in Redux applications to create powerful blueprints, and then applying some conventions to duplicate those blueprints across every REST endpoint. This allows the framework to provide you with a set of implicit actions and reducers, so that you can perform standard CRUD operations without the need to write those actions and reducers yourself (though you can certainly do that as well).

The framework, while opinionated, is also highly respectful, and provides many opportunities to tailor or completely override its functionality, as well as the ability to introduce entirely new functionality through the plugin system.

So if you're interesting in learning more about Lore, or just want to see what kind of magic is possible in your own React/Redux applications, come check out this session, where we'll be building an application together and talking about some of the development patterns Lore uses to provide this functionality.


Aaron Hoffer

More on Aaron Hoffer

Sessions

Track
Java
Title
Building REST Services with Apache CXF
Abstract

Want a service-oriented architecture? You’re going to need services. Services let you expose your application to the world, and CXF helps your quickly and easily build them. CXF lets you choose to build SOAP and REST services, with different transport options. The presentation will introduce CXF and the niche it fills in a SOA stack. The reminder of the presentation is a demonstration of building a REST service from scratch, then securing the service with https.

The sample server is available in the cloud: http://104.238.147.53:8080/api-docs?url=/swagger.json#!/CODECAMP/


Chris Holwerda

More on Chris Holwerda

Sessions

Track
.NET
Title
Semantic Logging with ETW and SLAB
Abstract
Using Event Tracing for Windows (ETW) along with the Semantic Logging Application Block (SLAB), this session will go over a logging and tracing shift from using standard string outputs to those with meaning and purpose.

Kevin Hoyt

More on Kevin Hoyt

Sessions

Track
Cloud
Title
Exploring Machine Learning with IBM Watson
Abstract
It has been suggested that in the future, developers will not program computers, as much as train them. This has largely to do with the rapid growth of machine learning. But what is machine learning? What can it do for developers today? And how does one leverage it in their application? In this session, join IBM Developer Advocate, Kevin Hoyt, and IBM Watson, to untangle the details. We will start with a little artificial intelligence history. From there we will move on to defining some of the more common machine learning features by implementing them in various applications (Node.js, iOS, JavaScript).

Anthony Jesmok

More on Anthony Jesmok

Sessions

Track
Javascript/Node.js
Title
You Too Can Build a Bot!
Abstract
From Google to Disney, Slack and Facebook, enterprise and consumer, conversational bot interfaces are a hot new trend for 2016. It seems everybody wants to get in on the craze, but they are not sure how. You may think that programming a decent chat bot involves years of artificial intelligence research, designing data structures, and a whole team of engineers. The truth, however, is different. With some knowledge of Node.JS, and a few APIs available to developers, you will learn how to build, maintain, and extend a conversational chat bot - and have fun with it! These bots use the Microsoft Bot Framework, which allows you to deploy one codebase to plenty of platforms, including Slack, Facebook, Skype, SMS, and others. All you need is some knowledge of Node.JS to get started. This lecture will cover building a conversational bot from scratch. We will also cover the business cases for building bots, for both enterprise and consumer-facing apps. Finally, we will explore more about the psychology of interacting with bots. Because you too can build a bot!

Matthew Jones

More on Matthew Jones

Sessions

Track
.NET
Title
Demonstrating Common Software Design Patterns in C#
Abstract

The influential book Design Patterns - Elements of Reusable Object-Oriented Software by the Gang of Four was released way back in 1995, and the patterns named within have had a huge impact within the software development community. In this session, we will demonstrate several sample application written in C# which implement patterns described in the book, and talk about how and when these patterns would be useful to our projects. We'll discuss why patterns are targets of refactoring, not design. We'll also talk about the three general types of patterns (Creational, Structural, Behavioral) and demo some of the more common types of each (e.g. Abstract Factory, Prototype, Composite, Strategy, etc.). We'll even discuss why patterns such as Adapter and Facade look so similar but are used differently. Come along with me as we learn what patterns are, why they're useful, and how to spot them.


Joe Jorden

More on Joe Jorden

Sessions

Track
Other
Title
Making SharePoint Rock with React and Angular
Abstract
SharePoint is a great platform for collaborating with your colleagues, but most people prefer it to have a different user interface that doesn't look so "SharePointy". In this presentation we will review some of the basics of React and Angular, then we will see how to combine them using ngReact. Finally we will see how to use these components to craft a custom SharePoint user experience.

Jan Jorgensen

More on Jan Jorgensen

Sessions

Track
Agile
Title
Developers are Users: Architecture and Tools as Design Decisions
Abstract
People choose tools, architectures, and even file organization for any number of reasons. The problem is, it usually boils down to "personal preference." Developers are users, and every decision you make about application development is a design decision. We should stop choosing tools and start solving problems. We MUST shift the conversation from what people "like" to what "works."
Track
Other
Title
Hiring for the Team You Want: Your Hiring Process is Also Your Engineering Process
Abstract

You suck at reviewing resumes. You suck at phone interviews. You suck at technical interviews. You waste time on the wrong people and don't always hire the right ones. Recruiting doesn't require an HR department or even a bunch of half-time resources. We'll talk about how to use your devs to form your recruiting team, how to use interviews efficiently, and how to find people who will both hit the ground running AND improve over time.

More importantly, we'll talk about a really tough reality: your hiring process determines your engineering process whether you like it or not. Pre-talk preview blog post available here: http://ramblinjan.com/development/2016/10/03/Your-Hiring-Process-is-your-engineering-process/


Alexander Kahoun

More on Alexander Kahoun

Sessions

Track
Other
Title
Getting started with Clojure
Abstract
Introduction to Clojure! It's a LISP dialect, but by no means a common LISP. Don't let any of that scare you though, because it's a ton of fun to write Clojure code. This is a beginner level course, no prior Clojure or Functional Programming experience required. Clojure is an amazing, dynamically-typed, functional language. Hop on this parenthesis train and learn some functional concepts along the way!

David Keeney

More on David Keeney

Sessions

Track
Cloud
Title
Build Web Applications with Zero Server Coding and (almost) Zero Cost
Abstract

Web app creation commonly follows a sequence like:

  1. design an API for how app interacts with server
  2. implement that API using Rails or Nodejs
  3. Implement features that users want in the app

 

The RdbHost PAAS allows you to go straight to

  1. Implement features in the application.

We enable you to write SQL inline in your client-app, and securely submit to server for remote execution.  Come learn how we can help you implement that App idea you've been nurturing, with minimal setup or deployment hassle.

There will be a live demo, implementing a tiny app live, from scratch (though rehearsed) in ~30 minutes.

 


Iqbal Khan

More on Iqbal Khan

Sessions

Track
.NET
Title
How to Scale .NET Apps with Distributed Caching
Abstract
Your .NET applications may experience database or storage bottlenecks due to growth in data volume, session volume/length or size of objects. Learn how to remove bottlenecks and scale your .NET applications using distributed caching. This talk covers: • Quick overview of scalability bottlenecks in .NET applications • Description of distributed caching and how it solves response time issues • Where you can use distributed caching in your application(s) • Some important features in a distributed cache • Hands-on examples using a distributed cache

David Koontz

More on David Koontz

Sessions

Track
Functional Programming
Title
Functional programming concepts demystified
Abstract

If you read much about functional programming you're quickly overrun by unfamiliar terminology. ADT's, application, totality, currying, monoids, functors, monads, and more! This session will equip you with a basic understanding of these terms so you can make your way through this rewarding but sometimes intimidating landscape.

Track
Functional Programming
Title
Intro to functional programming
Abstract

You may have heard that functional programming is quite different from object oriented programming. This session will give you a sense of how FP approaches problems and what the core ideas behind this very different paradigm are.

Track
Functional Programming
Title
Introduction to PureScript
Abstract

PureScript is a pure functional compile-to-javascript language inspired by Haskell (http://www.purescript.org/). With the benefits of no runtime exceptions, controlled side effects, and fantastic interop with JavaScript it's a new era for functional programming on the web (and with Node). This session will give you an introduction to the language and its ecosystem and some of what makes a pure functional language appealing.


Mark Lassoff

More on Mark Lassoff

Sessions

Track
HTML/CSS
Title
ABCs of HTML5 Video
Abstract

No plug-ins needed! This session provides an introduction integrating HTML5 video into your web site. We'll delve into native HTML5 support in modern browsers, browser compatibility issues, handling events, and video captioning. We'll also look briefly at videojs, which can make the user experience more consistent across a range of browsers. Sample HTML/CSS will be available.

Track
Mobile (Android/iOS/Microsoft)
Title
Beat The Clock: The PhoneGap One Hour App Challenge
Abstract
CHALLENGE: DEVELOP AN APP IN JUST 60 MINUTES AND THEN DEPLOY IT TO THE APP STORE. Sounds impossible, right? Come join us for this exciting, interactive session where you’ll meet Mark Lassoff, Founder of LearnToProgram.TV. Develop an entire app in 60 minutes? That’s EXACTLY what he’s going to do. We’re inviting you to come along for the ride. You’ll learn a lot about PhoneGap mobile app development as Mark creates a complete app using HTML5, Javascript, CSS, jQuery and PhoneGap. This session is a great opportunity to learn about the app development process. From creating a MVP version of your app, to choosing a development technology, to working with outside developers– Mark will touch on it all. You’ll walk away with all the code, and a lot more information that will help you to create your very first mobile application. (We won’t tell anyone if it takes you more than an hour…)

Jeremy Lindblom

More on Jeremy Lindblom

Sessions

Track
PHP
Title
PHP 7 - New Features and Faster Websites
Abstract

PHP 7 was released at the end of 2015 and was the first major version of PHP to be released since 2004. It has brought us dozens of new features (including stronger typing) and huge performance gains. Let's take a tour of the latest and greatest PHP has to offer, including the latest additions in PHP 7.1, and also discuss whether it is safe for you to update your application servers.

Track
Cloud
Title
Scalability (In a Nutshell)
Abstract

The ubiquity of cloud computing services and providers has made it possible for companies of all sizes to do things that weren't possible—or were far too expensive—just 10 years ago; however, many web developers are still new to the concepts cloud computing and scalability. In this session, you will learn the fundamentals of scalable architectures, including what it means to scale up vs. out, principles behind a "twelve-factor app", and the pros and cons of PaaS solutions. You will also learn a little about the Amazon Web Services (AWS) ecosystem and how specific AWS services can be applied within scalable architectures.


Chandra Lingam

More on Chandra Lingam

Sessions

Track
Python
Title
Python Regular Expressions - Introduction
Abstract

Regular Expression is a powerful text processing tool for data parsing, cleanup and preparation. Its power and flexibility allows you to accomplish a lot with very few lines of code. This talk will give you insight into how regex capability works and practical tips to use it.


Steve Lombardi

More on Steve Lombardi

Sessions

Track
Cloud
Title
Getting Started with Google App Engine and Datastore
Abstract

Spinning up a dedicated virtual machine for a small app can be cost-prohibitive. This session offers an introduction to Google's App Engine solution that charges purely based on service demand, making it a fantastic platform for apps that are just getting started, or have traffic that will be difficult to gauge. A live example will be worked using the Java client libraries and will cover the core concepts behind app engine development with Maven, working with the datastore service to persist application data, workarounds for objects not white-listed by app engine, common web concepts in app engine such as thread-safety, sessions, and cookies, how to code for app engine while avoiding vendor lock-in with Google, and helpful resources including app engine documentation and JAVA DOCS for reference. A solid grasp of OOP in any language, along with knowledge of HTTP, will help attendees consume this session. 


Matt Ludwigs

More on Matt Ludwigs

Sessions

Track
Functional Programming
Title
Exploring Concurrency with Elixir and OTP
Abstract

Ever since WhatsApp reported hitting 2 million concurrent users on a single machine Erlang, Elixir, and OTP have exploded in popularity, but what does this mean for developers and software? We are going do a laser focused overview of OTP in Elixir covering basic concurrent primitives, Tasks, Agents, Supervisors, and Applications. Moreover, we are going to discuss some of the practical use cases and implications of what OTP and Elixir (and Erlang) out of the box.

Track
Functional Programming
Title
Introduction to Elm
Abstract
Elm is a functional programming language that compiles to JavaScript. Elm offers a developer friendly environment which is a joy to work with. Even more, it comes with zero runtime exception guarantee and a wonderful architecture to build robust and performant front end applications. Programming in Elm an amazing way to get started in functional programming, and comes with many of the great benefits of purely functional languages. This session will cover the tooling, ecosystem, and benefits of Elm while working through building a small front end application.

Prasanth Manchambhatla

More on Prasanth Manchambhatla

Sessions

Track
Java
Title
Getting started with Kafka
Abstract

An introduction to Apache Kafka - a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system. We will go over details of starting a kafka broker, creating a kafka topic, setting up a producera and a consumer. We will go over a sample use case that uses Apache Kafka with Apache Spark streaming.


Christopher Martin

More on Christopher Martin

Sessions

Track
Mobile (Android/iOS/Microsoft)
Title
Mobile Apps and More with Alpha Anywhere
Abstract
This Session will demonstrate how fast you can develop and deploy your mobile applications using technologies you may already know like HTML5, Javascript, CSS3 and Phonegap. All of the above will be demonstrated using a low code RMAD (Rapid Mobile Application Development) IDE Tool. One code base to publish your Android, iOS or Windows Phone app.

Joe Mayo

More on Joe Mayo

Sessions

Track
.NET
Title
Introduction to the Microsoft Bot Framework
Abstract
Developers, like you, are increasingly adding conversational user interfaces (CUI) to their applications and tools for enabling this are getting better. One of these new tools is the Microsoft Bot Framework. Learn how these tools can help you add more intelligent interaction directly into your applications. You'll learn how to write your own bot to communicate with a user as well as managing conversation state. Along the way, you'll see how to debug bot apps and use other Bot Framework tools. Finally, you'll learn how to publish and register your bot. After this presentation, you'll have enough information to get started coding your own bot.

David McCarter

More on David McCarter

Sessions

Track
.NET
Title
Rock Your Apps With 10 Things You Probably Aren’t Doing
Abstract

This session will go over 10+ things that I see developers not doing in their applications to make them robust, easily changed (feature, feature, future) and free from errors. What are they? Well you will need to attend this session to find out. You are guaranteed to learn a lot in this session! This is part four in 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 Development With A Real World Example (Part 1)
Abstract

This session will demonstrate concepts in the first four parts of my series titled "Improving Code Quality... One Developer At A Time" with an real world app attendees will use during this session. This app that runs from the cloud will show how I use proper architecture design along with coding standards, defensive programming by properly implementing OOP, logging of events and exceptions, code obfuscation, unit testing, strong naming and much more. Note: Even though code examples in this session are in .NET, the concepts can be applied to any language.

Make sure to signup and attend Part 2.

Track
Cloud
Title
Rock Your Development With A Real World Example (Part 2)
Abstract

This session will demonstrate concepts in the first four parts of my series titled "Improving Code Quality... One Developer At A Time" with an real world app attendees will use during this session. This app that runs from the cloud will show how I use proper architecture design along with coding standards, defensive programming by properly implementing OOP, logging of events and exceptions, code obfuscation, unit testing, strong naming and much more. Note: Even though code examples in this session are in .NET, the concepts can be applied to any language.

Make sure to signup and attend Part 1.


Cara McDaniel

More on Cara McDaniel

Sessions

Track
Python
Title
Introduction to Pandas: A Python tool for data analysis
Abstract

Pandas is a Python package providing fast, flexible, and expressive data structures designed to make working with “relational” or “labeled” data both easy and intuitive.This introductory talk on Pandas covers the purpose and uses of Pandas, basic dataframe creation, selection manipulation techniques, visualization, and use the with the datetime module.


Eric McKay

More on Eric McKay

Sessions

Track
Other
Title
Why is it so hard to learn web development?
Abstract
As of June 4 2016, participants had completed more than 16,000,000 challenges on FreeCodeCamp. Only about 1,600 people have finished the entire front-end development curriculum. Online forums and meetup groups are full of people trying to learn web development -- what is holding them back?

Travis McMahon

More on Travis McMahon

Sessions

Track
Java
Title
Building REST Services with Apache CXF
Abstract

Want a service-oriented architecture? You’re going to need services. Services let you expose your application to the world, and CXF helps your quickly and easily build them. CXF lets you choose to build SOAP and REST services, with different transport options. The presentation will introduce CXF and the niche it fills in a SOA stack. The reminder of the presentation is a demonstration of building a REST service from scratch, then securing the service with https.

The sample server is available in the cloud: http://104.238.147.53:8080/api-docs?url=/swagger.json#!/CODECAMP/


Vishal Mehta

More on Vishal Mehta

Sessions

Track
.NET
Title
Utilizing MVVM Light Toolkit to develop WPF applications
Abstract
The goal of MVVM Light toolkit is to accelerate the creation and development of MVVM applications in WPF, Silverlight, Windows Store (RT) and for Windows Phone. The MVVM Light Toolkit helps in separating View from the Model which creates applications that are cleaner and easier to maintain and extend. It also creates testable applications and allows you to have a much thinner user interface layer. Toolkit provides various functions that make implementing a number of MVVM features like command interactions, messaging, etc among others fairly easy and clean. It is very easy to learn and use as well; making it a good choice for implementing MVVM pattern for WPF application development.

William Miller

More on William Miller

Sessions

Track
Java
Title
Using Apache Camel for Enterprise Integration
Abstract

This session introduces participants to Apache Camel, an open source Enterprise Integration Pattern (EIP) framework. We will highlight some of the available Component and Routing tools provided in the framework. We will focus on using the Java-based Fluent API to demonstrate Apache Camel concepts. The session will include examples to help participants understand the capabilities of Camel and demonstrate how it can used for Enterprise Integration.


Randy Miller

More on Randy Miller

Sessions

Track
Cloud
Title
Adding Advanced Search Capabilities With Azure Search (Elastic Search)
Abstract

No need to reinvent the wheel when it comes to search. Learn how you can avoid destroying your database with search queries by storing your search index in the cloud using Azure Search. We'll review how to create an index, datasource, indexer and suggester. Then we'll show you how to query it for use with autocomplete suggestions, search results and facets in a real world web application.

 

https://azure.microsoft.com/en-us/documentation/articles/search-get-started-nodejs/


Joe Modjeski

More on Joe Modjeski

Sessions

Track
Javascript/Node.js
Title
Generators - Live Action Role Play - Crowd Participation
Abstract
Participate in explaining generators to the masses. While the concept has been blogged about for a couple years; modern browsers are now implementing this feature. We can start using this today to make our apps more snappy while still maintainable. This talk will focus on how generators can work in the NodeJs environment, the principles are applicable to browsers.

Luis Montes

More on Luis Montes

Sessions

Track
Javascript/Node.js
Title
The Lastest Hardware and Networking APIs for Progressive Web Apps.
Abstract
Before starting your next app, consider that you might not need Electron, Cordova, or even react native. Modern browsers have access to APIs to control things like Bluetooth, USB, and even MIDI devices. Let's take a look at how to build fast, responsive apps that work offline and have capabilities you might have thought were only available to native applications.

Chris Myers

More on Chris Myers

Sessions

Track
.NET
Title
Microservices with .NET Core and Docker
Abstract

The adoption of Microservice Architecture patterns in enterprises is increasing as the need for extremely decoupled and massively scalable services becomes critical. In this presentation, Chris will demonstrate how we can use Docker and .NET Core to create an isolated and decoupled stateful microservice that is easy to deploy to a cloud or on-premise Docker cluster.


Ed Nicholson

More on Ed Nicholson

Sessions

Track
Javascript/Node.js
Title
Atom and Electron Explainer
Abstract
Atom is a desktop editor, like Textmate or Sublime, and it is built on the Node.js/Chrome framework called Electron. This is a tour of Atom's features and a look at what Electron can do. We have Github to thank for both of these tools and I hope you find them as useful as I do.
Track
Mobile (Android/iOS/Microsoft)
Title
Developing and Managing Bluetooth LE Beacons using the Eddystone Framework
Abstract
The Physical Web is here and Google's Eddystone Framework lets you serve up the Internet on the spot, any spot. This presentation will review what you need to know to a get a BLE Beacon up and running, the options services like this can provide, and the typical methods for deploying and managing a fleet of Beacons. Today, accessing a BLE Beacon takes a knowledgeable user. But with accessibility built into the current versions of Android and Chrome, resources from the Physical Web will be getting the attention of users everywhere.

Jon Nyman

More on Jon Nyman

Sessions

Track
ASP.NET
Title
WebAPI with F#
Abstract
Learn F# idioms with the familiar WebAPI framework. Learn railway-oriented programming, type providers, asynchronous programming, and functional-style programming. F# makes programming RESTful endpoints a breeze while maintaining high quality coding standards.

Josh Padnick

More on Josh Padnick

Sessions

Track
DevOps/System Administration
Title
Infrastructure as code: running microservices on AWS using Docker, Terraform, and ECS
Abstract

The goal of this session is to talk about the real-world mechanics of running a Docker cluster in Amazon Web Services.

We'll start by talking about why infrastructure as code matters. Then we'll talk about microservices, when they make sense, and when they don't. Next we'll cover a quick overview of Docker itself. Then we'll discuss one of the most exciting tools around for deploying infrastructure as code, Terraform. Finally, we'll bring it all together by covering Amazon's EC2 Container Service (ECS), which is a straightforward way to run a docker cluster in AWS.

The speaker, Josh Padnick, has worked with ~ 25 teams worldwide to optimize their DevOps and AWS setup, ranging from Fortune 500 companies to small startups. He has extensive experience with AWS, Terraform, and Docker, and previously published A Comprehensive Guide to Building Scalable Web Apps on AWS, which received over 500 upvotes on Hacker News.

This presentation will be based on a prior talk given by my colleague, Yevgeniy Brikman. You can see a preview at http://www.ybrikman.com/writing/2016/03/31/infrastructure-as-code-microservices-aws-docker-terraform-ecs/. I'll be updating the slides to reflect the latest information (e.g. the new ALB) and put my own spin on a few things.


J. Michael Palermo IV

More on J. Michael Palermo IV

Sessions

Track
Cloud
Title
Enabling Voice Driven Smart Home Experiences with Amazon Alexa
Abstract

Alexa, the voice service that powers Amazon Echo, Echo Dot, Amazon Tap and Amazon Fire TV, provides a set of built-in abilities, or skills, that enable customers to interact with smart home devices in a more intuitive way using voice. Examples of these skills include the ability to control lighting and temperature. Customers can then access these new skills simply by making a command to Alexa. This session will be walk through the Smart Home Skill API and showcase what is possible today.


Tom Paulus

More on Tom Paulus

Sessions

Track
Other
Title
An Introduction to College: My first year as a Comp. Sci. student at SDSU
Abstract

Amongst the tech community, especially those in High School, the big question is: “Is College Worth It?” While I can’t say if college is worth it, I can share my experiences from my first year as a Computer Science Student at San Diego State, a large public state university. From why I chose San Diego State, to the horrors that are graduation requirements, to the awesome opportunity I had to travel to Finland, and study at the University of Jyväskylä this past summer. College is both just like I thought it would be, but also very different.


Wolf Paulus

More on Wolf Paulus

Sessions

Track
Java
Title
Bots, Amazon Echo, language user interfaces in general
Abstract

The graphical user interface (GUI) revolutionized computing. However, it's becoming overburdened and more difficult to use, particularly on smaller mobile devices. The language user interface (LUI) can help to overcome this hurdle to usability, both alone and as a supplement to the GUI. It allows using our natural language with the simple user manual: “Just say what you want.”

The Language User Interface is the core technology behinds text based (chat-) bots and voice enabled applications. Microphone arrays and far field technologies are now available at market-ready pricing, enabling a large proliferation of environment based voice interaction.

Come and learn about best practices for voice and language UIs: Simple patterns like adaptive greeting, randomness, maintaining context, or predictive follow-up, can make an already good Voice and Language User Interface spectacular. If you haven’t noticed yet, Amazon’s Echo has had a tremendous impact on the outlook of voice assistance. Is the era of ubiquitous voice assistants right around the corner? Perhaps, but there’s no denying the rise in popularity of voice and chat driven assistants.

Examples include: Amazon Echo, Slack Chat bots, AIML Pandora bots.
Tags: Turing Test, Amazon Echo, AIML, Slack, Chatbots, Loebner Prize

 

 


Connor Pauly

More on Connor Pauly

Sessions

Track
Java
Title
RxJava: A Crash Course
Abstract
Heard about RxJava? It's the hot new Java library everybody is using! This course will demonstrate how to use the library and what problems it helps to solve.

Liz Ponce

More on Liz Ponce

Sessions

Track
Other
Title
Design Patterns: The mystic secret of great programmers
Abstract
Design patterns hold the key to effective software development. We all know what a great UI looks like, but what does great software architecture look like? Get a brief introduction to design patterns and design principles, and then dive into the most impotant and commonly used patterns: Model-View-Controller, The Observer Pattern, Delegation, the Open/Closed principle, and a few others. Design patterns are applicable to almost any computer language, but are especially useful in object-oriented ones. (An encore presentation of my CC2014.2 session)

Kevin Quick

More on Kevin Quick

Sessions

Track
Python
Title
Actor Model - Introduction and Usage
Abstract
The Actor Model was defined in the mid-70's and has seen recent surges in interest as an easy and powerful concurrency methodology. As well as providing a simple and highly useful concurrency model, Actors also provide scalability, fault tolerance, distributed capabilities, and location independence and are particularly well suited to cloud-based applications. The Thespian open-source library brings Actor technology to the Python environment (http://thespianpy.com). This session will introduce the Actor Model concepts with examples and describe how a Thespian-based production environment has scaled to thousands of servers and some of the lessons learned along the way.

Avinash Ramineni

More on Avinash Ramineni

Sessions

Track
Database (SQL/NoSQL)
Title
Getting started with SparkSQL
Abstract
Spark SQL is a Spark module for structured data processing.Spark SQL can also act as a distributed query engine using its JDBC/ODBC or command-line interface. In this mode, end-users or applications can interact with Spark SQL directly to run SQL queries, without the need to write any code. In this session we will walk through on how to get started with using SparkSQL as a distributed query engine.

Joe Rawlings

More on Joe Rawlings

Sessions

Track
Other
Title
Statefulness in Distributed Systems
Abstract

Have you ever built a service where, if you could just maintain a bit of state, the world would be a much simpler place? Join me, Joe Rawlings (developer @ Amazon), as I take you on a journey through the wonderful world of stateful services in a distributed environment. I'll introduce you to some basic concepts that will require re-orienting your mind to think about statefulness vs statelessness, some common use cases for stateful services, the pitfalls to avoid, and my own experience building a highly available, high throughput stateful workflow engine. And, as a bonus, learn how you are already using stateful services in production today (and might not know about it) along with easy ways to get started in case you aren't. 


Michael Rice

More on Michael Rice

Sessions

Track
Other
Title
A No-Slides Introduction to Elixir and the Phoenix Framework
Abstract
A no-slides (ok, maybe one or two), code-based introduction to Elixir and the Phoenix Framework. We'll build up a simple web app from the ground up, stopping briefly to examine some of the things that makes Elixir and Phoenix so interesting: * Functional programming concepts in Elixir (immutability, first class functions, etc.) * "Process oriented programming" with Elixir * Tooling ecosystem: iex (REPL), mix, hex, ecto * Phoenix Framework features: routing, controllers, etc. * Combine Elixir’s processes with Phoenix Channels for real-time communication with web and mobile clients * Getting started with the Elixir and Phoenix open source communities

Rob Richardson

More on Rob Richardson

Sessions

Track
Cloud
Title
Anatomy of a Web Request
Abstract

What happens after you type the web address before the page renders? Is it a black box to you? It doesn't need to be. We'll peel back the onion and look at DNS, HTTP, TLS, and briefly discuss the client render pipeline and windows metaphors. Ultimately we'll see the internet is not a black box. Open the lid and look inside.

Track
ASP.NET
Title
Testing in ASP.NET Core with XUnit and MoQ
Abstract
ASP.NET Core has been designed from the ground up with testability in mind. XUnit is the testing framework the ASP.NET team uses to test their own code. Let's add some tests to a sample ASP.NET Core project, and see how easy it is to strip away dependencies not necessary for the test.

Mark Richardson

More on Mark Richardson

Sessions

Track
Other
Title
Scratch game programming
Abstract
For kids by kids. Scratch is a great first programming language. Whether you've coded in scratch before or never opened it, I'll get you started building fun games. We'll build a game of tag, a snake that follows the mouse, and a shape builder app. Best for ages 10 and up..

Peter Ritchie

More on Peter Ritchie

Sessions

Track
.NET
Title
Introduction to message-oriented systems in .NET
Abstract

SOLID has been around for at least 13 years, with the underlying principles as far back as 1995. These principles were created in the realm of object-orientation but they can be applied at a much more broadly. This session will introduce message-orientation with .NET and how taking a message-oriented approach to design and architecture, from bottom-to-top, applies SOLID principles with ease. The session will use a couple of small OSS projects http://bit.ly/1VssoZq and http://bit.ly/1RINTyi as abstract message architecture and include topics like agile architecture, composability, decoupled architectures, testability, etc.

Track
Agile
Title
Introduction to Microservices
Abstract
Microservices have been getting a lot of focus as of late. Microservices are not a panacea nor a Golden Hammer. This session introduces attendees to the concept of microservices. This session talks about what microservices are trying to solve and what they really are and aren't. The session will also talk about architectures that include microservices, different types of microservices, and some of the principles and practices that can be applied to microservices.
Track
.NET
Title
Introduction to Service Fabric
Abstract
Ever wondered how Azure provides a scalable environment for thousands of applications? This session takes an introductory look at Azure Service Fabric. You'll see how Azure uses established patterns and principles to provide an environment that is massively scalable. You'll also see how that environment is made available to the public as the Service Fabric platform. The session includes some examples of implementing services in the fabric, the various types of services, and recommendations on how to approach creating and architecting services to support scalability and make the most of Service Fabric.

Walt Ritscher

More on Walt Ritscher

Sessions

Track
Other
Title
From Dull to Dazzling: How Visualization enhances data comprehension
Abstract
Our applications and devices are gathering and storing data at unprecedented levels. Once the information is in our data centers we need tools to help us understand the hidden knowledge contained in that stockpile. We’ve got business intelligence tools that can help but at some point in the data analytics cycle you need to show results to the stakeholder. That’s when choosing the correct visual representation of the data becomes vital. Do it wrong and the data is merely wrapped in pretty graphics; do it right and the user perceives their information in clear and meaningful patterns. There has been an explosion of research on ways to present data in graphical form in the last decade. This is often called Data Visualization or Information Graphics and it is becoming a must have skill for UI developers. This session explores the overall visual concepts that make data easier to grasp. Do you know the best way to show data to your users, so that the information is clear and understandable? Come to this session to learn how to make your data shine.

Rodrigo Rodriguez

More on Rodrigo Rodriguez

Sessions

Track
Design (UX/UI)
Title
UX Design in Web and Mobile Applications
Abstract

User Experience Design revolves around the user-centered approach to software design. With a market saturated with millions of apps to choose from, and competition being just a click away, design is becoming more and more important in the software world. Our presentation exposes our approach to software design so that you can plan and build that next software product you've been thinking of. We will talk about user experience, and what it really is, the importance of design in the product development cycle, and we will give a detailed and interactive walkthrough of all the processes and tools that we use to design software for the modern world. See you there!

--- This was proposed by Rodrigo Rodriguez, prismstudios.io, based in Chandler, AZ.


Robert Sanders

More on Robert Sanders

Sessions

Track
Java
Title
Introduction to Apache Spark
Abstract
This session introduces participants to Apache Spark, an open source distributed computing framework used to process large volumes of data. We will primarily focus on Core Apache Spark and review the implementation of Resilient Distributed Datasets (RDDs) in the framework. Details will be provided on how to work with the API’s as well as how to develop and execute Spark batch jobs. The session will include examples and exercises to help participants gain hands on knowledge of Spark so that they walk away with a better understanding of how Apache Spark can benefit their organization.

Graham Saunders

More on Graham Saunders

Sessions

Track
Javascript/Node.js
Title
Introduction to Angular JS
Abstract
Introduction to Angular JS is a good starting point for anyone wanting to get their feet wet with Angular.

Dylan Schiemann

More on Dylan Schiemann

Sessions

Track
Javascript/Node.js
Title
How ES6 and TypeScript have greatly improved Dojo 2
Abstract
The features of ES6 and TypeScript have greatly improved Dojo as we embark on a complete rewrite of the toolkit we created in 2004. Learn about the features we used, how they benefited the project, what Dojo 2 is, and areas that presented challenges along the way.
Track
Javascript/Node.js
Title
Introduction to Dojo 2
Abstract
Dojo has completely reinvented itself as a modern collection of ES6 and TypeScript packages for building modern, data-centric, scalable web applications. Get a quick introduction to the key features and benefits of Dojo 2, which should be in beta by Desert Code Camp.

Lester Sconyers

More on Lester Sconyers

Sessions

Track
Javascript/Node.js
Title
An Introduction to MEAN Stack
Abstract
MEAN stack is a modern web development methodology that runs on a single, battle-tested language: JavaScript. MEAN stack is comprised of MongoDB, Express, AngularJS, and node.js. Come to this session to learn how you can get started using these open source technologies to write web applications using JavaScript from the front-end to the back-end

Robin Shahan

More on Robin Shahan

Sessions

Track
Cloud
Title
Azure Storage Security
Abstract
Azure Storage provides a comprehensive set of security capabilities which together enable developers to build secure applications. You can secure the management of your storage account, encrypt the storage objects in transit, encrypt the data stored in the storage account, and much more. In this talk, I'll provide a brief overview of the different storage services and then talk about the security features and when/how to use each one. Note: If you don't know anything about Azure Storage, please attend the "Overview of Azure Storage" talk, or you will spend this entire session wishing you knew what I was talking about.
Track
Cloud
Title
Overview to Azure Storage
Abstract
You can't do anything in Azure without using Azure Storage, but you can use Azure Storage without using anything else in Azure. Come learn about blobs, queues, tables, and files, premium storage and standard storage, redundancy by Bruce Willis (or not), and the newest features released.

Ravi Shankar

More on Ravi Shankar

Sessions

Track
Other
Title
Secure, Resilient and Frugal: Develop like a Rock Star!
Abstract

Usually a developer's job is to build a service which serves the purpose, and is maintainable and testable. Things are not the same when you are working for top tech companies, like Amazon.

Security is an imortant aspect of the software development and every developer should include security in their design from the very beginnning of the project. Machines fail often and thats inevitable [1]. Every developer should design a service keeping this in mind. Your service should be self recoverable and resilient to chaos. Lastly, choose your technologies wisely. Should I use technology A or technology B?, we all at some point ask ourselves this question. Do a research on all the available options and select the one which suits the best.

In this talk I will cover these three important steps involved in developing any service at top tech companies and why we, as a developer, should include this in our development practice. Join me while I share the ways to develop secure, resilient and frugal services.

[1]: Google File System, Ghemawat et al


Paul Shannon

More on Paul Shannon

Sessions

Track
QA/Testing
Title
Beyond unit testing with Intern
Abstract
Intern ( http://theintern.github.io/ ) is a powerful tool for authoring tests in JavaScript, ES6, and TypeScript. This talk will look beyond unit testing and at more advanced and new features within Intern, including functional testing, performance testing, accessibility testing, and visual regression testing.
Track
Javascript/Node.js
Title
What's new with TypeScript 2?
Abstract
TypeScript has evolved significantly over the past few years since its introduction. This session will focus on the changes and benefits in recent versions of TypeScript (2.0, 1.8, and 2.1 if it's released by October)

Schuyler St. Leger

More on Schuyler St. Leger

Sessions

Track
Other
Title
Introduction to Git and GitHub
Abstract
When writing software, version control is important. When you are working with more than one person tracking changes can be painful. But there are open source tools that can help! This talk will explore Git and GitHub, talk about what they are, and show you how to effectively use them. If we have time I will also share some useful tips and tricks for using Git and GitHub.

Barry Stahl

More on Barry Stahl

Sessions

Track
Other
Title
A Developer's Guide to Finding Optimal Solutions
Abstract

Solving problems that have more than one possible solution is something every developer will be asked to do over the course of his or her career. Figuring out the best way to utilize the capacity of a device or machine, finding the shortest path between two points, or determining the best way to schedule people or events are all problems where mathematical optimization techniques can be used to quickly and efficiently find solutions. In this introduction to mathematical optimization designed specifically for software developers, we will explore some of the foundational techniques for solving these types of problems, and add several of these methods to your toolbox so that you can put them to work for your customers. Since this is a session for developers, we'll keep it in terms that work best for us. That is, we'll go heavy on the code and lighter on the math.


Vishnu Sudha

More on Vishnu Sudha

Sessions

Track
Java
Title
How to build Distributed Systems with Operational Excellence mindset
Abstract

Operational Excellence(OE) plays a key role in reducing service downtime and leaving better customer experience. Having an OE mindset from early cycles of development pays huge dividends. This talk will include building a sample distributed application service with OE mindset. During the talk, I will go through how to add tests, logs, metrics to the service during development. I will talk on creating dashboards, monitoring systems for maintaining OE post-development.


Todd Sussman

More on Todd Sussman

Sessions

Track
Agile
Title
AN INTRODUCTION TO GAMIFICATION – BUILDING BETTER TEAMS USING SERIOUS GAMES
Abstract
We have all been there, a company introduces agile and there is great excitement. This quickly turns into “Agile” (said in your most disgusting tone!). It might be because there isn’t sufficient executive sponsorship; however, more likely the team has fallen into the Cargo Cult trap (a Cargo Cult is characterized by the ritual inclusion of something that serves no real purpose). In this session, we will introduce the concept of serious games, the different streams of thought behind them, as well as play a few training games. These games can often pull teams out of their “ritualistic” mode of work back into real value.
Track
Agile
Title
Daily Standup Poker
Abstract
One the most significant ceremony of any Agile Team is Daily Standup where the team members get together and plan for their day. But quite often the daily standup turns into a zombie status update meeting where team members come together to blurt out their updates and walk away to their desk without ever maximizing the benefit of that meet up. This technique is a result of a simple experiment that turned into Standup Poker and revolutionized Daily standups. It helps uncover true insights of the teams progress and gets the team talking about strategic planning and plans to remove any impediments as a “team” on daily basis to accomplish their sprint goal and commitments.

Dave Townsend

More on Dave Townsend

Sessions

Track
Javascript/Node.js
Title
Building Modern Web Applications with Spring Boot & React
Abstract
In this talk, we'll look at how to build a React single page app as the front to a Spring Boot application. We will use ES6, webpack, babel and material-ui as our front end toolkit for building a modern web experience with Spring Boot in the post-JSP world.

Dan Wahlin

More on Dan Wahlin

Sessions

Track
DevOps/System Administration
Title
Docker: Creating the Ultimate Development Environment
Abstract

Getting a development environment properly setup and configured across multiple distributed team members can be a challenging and time-consuming task. You're often installing one or more server frameworks (and ensuring you have the correct version), a database and other items, such as a caching server. Once servers are installed, you have to ensure everything is configured and secured properly and consistently for all team members.

Docker can help you address many of the challenges associated with development environment consistency and the overall developer workflow by introducing images and containers into the mix. In this session, Dan Wahlin will address the challenges developers face and explain how tools provided by the Docker Toolbox can address these challenges. By the end of the session, you'll have a solid understanding of how you can get multiple servers up and running in a snap and simplify your overall development workflow using Docker.

 

You will learn:

  • How Docker can make developers more productive
  • The key features Docker Toolbox offers
  • How to enhance your development workflow with Docker

Caleb Washburn

More on Caleb Washburn

Sessions

Track
Cloud
Title
Introduction to Cloud Foundry a developers take
Abstract
Cloud Foundry (http://docs.cloudfoundry.org/) is an open source Platform as a Service (PaaS) that enabled developers to rapidly deploy, test and promote code written in various languages. This runs on various IaaS platforms including AWS, Azure, vSphere, Google Compute Engine and Open Stack. With robust APIs and extension points cloud foundry can help you quickly deliver solutions without worrying about the details of deploying servers, load-balancing, scaling and log consolidation and other operational needs. Come see a demo of how Cloud Foundry works as as a developer and if it can help you.

Eric Wendelin

More on Eric Wendelin

Sessions

Track
Other
Title
Learn Gradle by example
Abstract

Gradle is a high performance, flexible build tool.

In this session, you will learn basic to intermediate features of Gradle by walking through some example projects with a Gradle core engineer.


Brad Westfall

More on Brad Westfall

Sessions

Track
HTML/CSS
Title
CSS Quirks, Tricks, and Must Knows
Abstract
To know CSS is to know it's quirks and the variety of tricks it may take to solve every day problems. This will be an intermediate level talk on must-know tricks and hacks that will hopefully allow you to steer clear of trouble and unwanted side-effects. I hope to show as many tricks as possible in the time we have.

Gian Wild

More on Gian Wild

Sessions

Track
Javascript/Node.js
Title
JavaScript accessibility: it's not as hard as you think!
Abstract
How accessible is JavaScript really? Is providing an HTML fallback the most important thing to do? What about people with disabilities that browse with JavaScript on? Making web applications accessible using JavaScript is really quite striaghtforward once you employ certain techniques and rules. Gian Wild goes through the steps to make accessible JavaScript applications.
Track
Mobile (Android/iOS/Microsoft)
Title
Mobile accessibility: the good, the bad and the ugly
Abstract
Unfortunately when developing WCAG2, the Working Group did not envision the current world where mobile is almost ubiquitous. For example, on a mobile device there is no continual access to a keyboard (unless someone is using it as an add-on to the device – or using a Blackberry Classic). WCAG2 requires that all content be accessible to the keyboard interface, but it does not require that all content be accessible to a mouse or to a touchscreen user – which is essential on a mobile device. Gian Wild talks about the unique accessibility issues on a mobile site and mobile app, including hover traps, VoiceOver swipe traps and zoom traps.

Scott Williams

More on Scott Williams

Sessions

Track
Javascript/Node.js
Title
Designing APIs
Abstract

APIs are becoming more and more important in software development. Designing a good one can be the differentiator that get's your app or service wide adoption. We'll go over some best practices, tools, and examples for quality API design.

 

I have included a slideshare link. Sorry for the crappy quality... will try to improve that.


Moheeb Zara

More on Moheeb Zara

Sessions

Track
Cloud
Title
Internet of Things Made Simple
Abstract
Citrix Octoblu (founded in Tempe) is a full-stack Internet of Things messaging and automation platform that enables companies to create IoT services with secure real-time exchange of data. Octoblu's IoT services are built on our open source Meshblu platform, an open communications and management platform that supports a variety of protocols for physical devices to communicate seamlessly with each other, people, and web services. Through public, private, or hybrid clouds users can connect, design, process, and analyze the flow of information. All services have been designed through a robust security and right management architecture.