Date for Desert Code Camp - 2014.1  Saturday, April 5, 2014 8:00:00 AM - Saturday, April 5, 2014 6:00:00 PM

Speaker List

Vijay Alluri

More on Vijay Alluri

Sessions

Track
QA/Testing
Title
Introduction to Selenium & Page Object Architecture
Abstract

An introduction to building a maintainable Selenium page object architecture using Java, Maven, and TestNG


Greg Babiars

More on Greg Babiars

Sessions

Track
Javascript/Node.js
Title
Creating Single Page Applications with Ember.js
Abstract
Ember.js is a new client-side application framework that makes it very easy to get a lot accomplished with very little code. Once you understand the basics of how Ember.js handles MVC (it's a little different from server-side MVC!) and routing, you will enjoy the productivity boosts the framework offers you. In this session I'll introduce you to Ember.js basics, how to handle data, and how to use Handlebars templating to build your application. Upon leaving the session, you'll be ready to join Groupon and Square and many other companies using this hot new framework!

Rob Bagby

More on Rob Bagby

Sessions

Track
.NET
Title
Embracing Common Design Patterns
Abstract
In this session, Rob Bagby will discuss 3 common design patterns: 1) The Strategy Pattern, 2) The Factory Pattern and 3) The Repository Pattern. Rob will illustrate how the Strategy and Factory patterns can help your design adhere to the Single Responsibility Principle (The "S" in SOLID) and the Open-Closed Principle (The "O"). Rob will then discuss the popular Repository Pattern, discussing some of the differing views on this pattern such as whether generic repositories are evil or great and whether one should use this pattern at all (after all, don't most ORMs do this?).
Track
.NET
Title
Messaging 101
Abstract
Have you heard of a "Message Bus", but don't know what it is? Do you think it is too complex for you? Are you interested in Messaging, but don't really know how to get started? If so, then this session is for you! In this session, Rob Bagby will introduce you to Messaging. He will show you real-world examples of how and why to use messaging. Rob will give you the information you need to get started with messaging in your applications.

Ross Beamish

More on Ross Beamish

Sessions

Track
Agile
Title
Mob Programming - Like A Boss
Abstract
Mob programming is pair programming on a team scale. This means an entire team is focused on one task at time. Come learn about our attempt to implement this coding practice, complete with how we heard about it, how we adapted it to fit our team, experiments along the way, and what we have learned. We will answer questions like how does this practice affect productivity, can you maintain the same velocity while an entire team focuses on one task at a time, can the team stand to work together all the time, and most importantly what's that smell?

James Bender

More on James Bender

Sessions

Track
.NET
Title
BDD in .NET with SpecFlow
Abstract
A key concept of any Agile methodology is communication. It’s no longer normal or acceptable for developers to sit and develop applications in isolation from the business. To that end, developers and business domain experts have been trying to find better ways to communicate. While developers tend to speak in terms of “code and technology” most business domain experts are more comfortable communicating in terms of scenarios, workflows and business rules. Test Driven Development (TDD) was the first step in getting these two groups to communicate in the same way. Developers could write unit tests that expressed business requirements with the hope that business users could validate that what was being tested was in fact what the desired behavior was. But, unit tests are still code and while it was better, the communication was still stilted and inefficient. To help this communication new techniques such as Behavior Driven Development (BDD) and Acceptance Test Driven Development (ATDD) have become popular. Along with these new ideas, new tools like SpecFlow have become popular as a means to express unit tests in a way that the business can better understand and validate. This session will demonstrate how SpecFlow can be leveraged in your BDD or ATDD practices. The Gherkin language and the “Given, When, Then” paradigm will be explained and you will see how to write tests in a way that business users are not only capable of reading, but can also help you create them.
Track
.NET
Title
How I Learned to Love Dependency Injection
Abstract
Tightly coupled applications lead to heartache. They are difficult to manage. They are difficult to maintain. The create applications that are inflexible. They make TDD, or even TAD (Test After Development) all but impossible. It doesn't have to be this way. You've probably heard fancy terms like "Dependency Injection" and "Inversion of Control" but what do these mean and can they really help you write better applications and make testing easier? What what about all those exotic frameworks? And what the heck is a "container?!" The bad news; this knowledge is a MUST HAVE for most testable applications these days. The good news, they are simpler than you think. This session will explain and demonstrate how these concepts some easy to use frameworks can help make your C# or VB.NET application more loosely coupled, easier to work with, more flexible, more maintainable and more testable.
Track
.NET
Title
Isolate Your Tests with Mocks
Abstract
An important goal of Test Driven Development (TDD) is to be able to isolate your code under test. This means the method and class you are testing at any given time should not interact with other classes or external resources like data stores or web services. So how do you test code the relies on these things? You use mock objects to stand in for them! This session will explain the basics of mocking including the different types of mocks (mocks, stubs, fakes, etc.). You will see how to use a mocking framework to make your test writing fast, easy and more dependable. You will also learn some good patterns for creating and using mocks and shown some anti-patterns to avoid. Lastly, you'll be shown how to introduce mocking and unit testing into an environment that was not really designed for it.

Mike Bender

More on Mike Bender

Sessions

Track
Database (SQL/NoSQL)
Title
Set it and Forget it: Automating Data Movement Management
Abstract

How do you keep track of hundreds of processes moving data across multiple platforms? What happens when an error occurs? How is processing moved between environments without manual intervention?. Come see how we are taking the human element out of managing data movement using Informatica. Learn how we are automating configuration changes between environments, error processing, and providing business partners insight into their data.


Mike Blum

More on Mike Blum

Sessions

Track
DevOps/System Administration
Title
Hosting Web Applications on the Amazon Cloud
Abstract
Amazon Web Services provide a very cost effective means to host your web application. We will discuss how to leverage their service offerings offerings to create an environment with high availability and the ability to scale. Service that will be covered include: Elastic Cloud Computing, Elastic Load Balancing, Auto Scaling, Relational Database Service, Simple Storage Service, and Content Delivery Network.

Mathias Brandewinder

More on Mathias Brandewinder

Sessions

Track
.NET
Title
Build Stuff that Works with F#
Abstract
F# has a reputation for being a great language to express complex domain models with very little code. However, F# has more to offer; one aspect less advertised is its awesomeness for continuous integration, for any .NET language. In this presentation, we'll demonstrate testing your C# code with FsUnit, Canopy and FsCheck (a port of Haskell's QuickCheck), building it with FAKE (the build automation system GitHub recently adopted for their .NET projects), and creating literate-programming style documentation as part of your build with FSharp.Formatting. If you are a true Engineer who likes a rock-solid process that ensures you are Building Stuff That Works, come see what F# has to offer!
Track
.NET
Title
F# for the C# Developer
Abstract
Back in 2010, Visual Studio came with a new language on board: F#. Out of curiosity, I started playing with it, and got hooked. F# is a fantastic language - it mixes functional and Object Oriented approaches seamlessly, encourages writing bug-free code (it is virtually impossible to get a null exception...), comes with great features, and is incredibly productive. In this talk, I will give a intro to F# for C# developers, illustrated with live code samples, and discuss where it fits and how you can get started with it.

Les Brown

More on Les Brown

Sessions

Track
Mobile (Android/iOS/Microsoft)
Title
Creating Cross-Platform Mobile Apps Using C# with Xamarin
Abstract
iOS and Android present great opportunities for developers. Unfortunately, many developers shy away because of the unfamiliar development environment. It doesn't have to be that way! Come learn how to build Android and iOS applications using C# with Xamarin 2.0. You'll learn how to use your existing C# skills to build apps for these platforms (and Windows Phone+Windows 8!) from within the same solution in Visual Studio!

Will Button

More on Will Button

Sessions

Track
Database (SQL/NoSQL)
Title
MongoDB: Sharding Production Databases
Abstract
As databases sizes continue to expand, managing those databases- specifically scalability and performance requires planning ahead. MongoDB meets these demands through sharding, a horizontal scaling approach that allows you to add more machines to support data growth and read/write operations. In this session, we'll review a case study of sharding production datasets, what went right, what went wrong, and what I'll do different next time. Expect to walk away from this session with: What is sharding How we knew it was time to shard What to shard Choosing a shard key Building servers Integrating sharding into a production environment Monitoring for success and failure Lessons learned Things you can do today in your own environment to benefit from my mistakes
Track
Database (SQL/NoSQL)
Title
Practical MongoDB
Abstract
In this session, we'll cover the different technologies that were used to bring together into a single, comprehensive application running on MongoDB. Using Passport.js on our Node.js server, we'll connect to a Facebook page and grab user posts for a given topic. The posts will be stored in MongoDB using Mongoose, then analytics and visualizations will be performed on the data using D3.js. The end result is a website suitable for clients to log in and track the performace of their Facebook group page. The session will not focus on writing the code, but more on how the individual components tie together to make a complete application.

Kevin Carlino

More on Kevin Carlino

Sessions

Track
Javascript/Node.js
Title
Making Your Pages Speak: Web Speech API
Abstract
A Practical implementation of the W3C Web Speech API https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html

Tomm Carr

More on Tomm Carr

Sessions

Track
Database (SQL/NoSQL)
Title
Data Integrity: the Row Spanning Dependency antipattern.
Abstract
We start out with a brief discussion of Data Integrity as applied to databases. Quick, what role does data normalization play in Data Integriry? We know what to do when an attribute has a dependency on another, non-key Attribute. But what if that dependency is to a column of a different row in the table? This happens when an unbroken sequence of values (mostly datetime) is maintained with each row representing one interval of the sequence. Look for columns with names like "FROM_xxx" and "TO_xxx". This leads to data manipulation anomolies (fancy word that means *the data integrity cannot be maintained") that cannot be fixed through normalization. Fortunately, it can be fixed and surprisingly easily. This session is encouraged for anyone signing up for "Data Modeling: Implementing Bi-Temporal Access to Data",
Track
Database (SQL/NoSQL)
Title
Data Modeling: Implementing Bi-Temporal Access to Data.
Abstract
The ability to track changes in data over time has long been a goal in the relational database world. We have even written special temporal databases with a special version of SQL to give us that ability. The rest of us have used history tables of one form or another to hold the past. But this separates current data from past data and can make analysis using both somewhat awkward. So it's handy to know that full bi-temporal capabilities can be brought to a standard RDBMS system where we can access current and past data with the same query, from the same sources. "Bi-temporal" means there are two ways to look back at past data. "Transaction time" means we look at the data as it was stored in the database on a particular date and time. "Valid time" means we look back at the data that was in effect in the real world on a particular date and time, even though there could have been some delay in updating the database. It would be helpful but not necessary to also attend the "Data Integrity: the Row Spanning Dependency antipattern" session. We will briefly examine this common mistake used in most time-sensitive implementations, but there is enough useful information that it has its own session for a more complete examination.

Jeremy Castle

More on Jeremy Castle

Sessions

Track
Javascript/Node.js
Title
Groom your markup with mustache
Abstract
Is your code poorly maintained? Does it need a trim? Is it shaggy and unkept? Buried markup in code can be messy! Initial development, maintenance, and readability are all issues whenever you embed markup. The use of templates gives you the ability to separate the code from the markup. Lean back in the chair as we trim up your code using Mustache. Mustache is one of many logic-less templating solutions. It provides a framework to compile/render data with a template. Mustache has quite a few different language implementations, however in this session we will focus on the javascript version.

Justin Chmura

More on Justin Chmura

Sessions

Track
Javascript/Node.js
Title
Creating Maps Using the ESRI JavaScript API
Abstract
There's more to maps than Google. ESRI has a JavaScript SDK for creating maps that has a lot of built in functionality but also is quite extensible. In this presentation, we will take a high-level walkthrough of the API, create a basic map using freely available services, and show a demo of this API in the real-world.

Jeremy Clark

More on Jeremy Clark

Sessions

Track
.NET
Title
IEnumerable, ISaveable, IDontGetIt: Understanding .NET Interfaces
Abstract

Best practices tell us to program to an abstraction rather than a concrete class. Let's start by understanding what .NET Interfaces are and what they can add to our code. After that, we'll look at a couple of practical implementations that can make our code more robust, extensible, and testable.

Track
Other
Title
Learn the Lingo: Design Patterns
Abstract

You already use Design Patterns but probably don't know it. Observer, Facade, Iterator, Proxy -- Learning the lingo allows you to better communicate your ideas with other developers. We'll take a look at several Gang of Four patterns that we regularly use without realizing it. Don't know who the Gang of Four is? Join us to find out. No prior knowledge of design patterns is required (but some .NET experience will be helpful).

Track
.NET
Title
T, Earl Grey, Hot: Generics in .NET
Abstract

Let the compiler work for you. Generics shift the burden of type-safety from the developer to the compiler. To understand Generics, we'll take a look at some .NET classes from the BCL (such as List), comparing the generic and non-generic versions. Then we'll add Generics to our own methods to add flexibility and type-safety.


Bob Cober

More on Bob Cober

Sessions

Track
Other
Title
Introduction To Game Development with Unity3d
Abstract
Unity3d is quickly becoming game changing technology for developing mobile and desktop games. Coupled with the Asset Store, Unity enables small indie developers to quickly create outstanding games across a wide variety of devices. Come learn about Unity and start creating your own games.

Michael Collins

More on Michael Collins

Sessions

Track
.NET
Title
Advanced .NET Debugging
Abstract
Imagine this. You spend months iterating, designing, and building the next revolutionary enterprise application. You roll out your solution to a production environment that is locked down in a secure IT environment, deployed to a cloud server, or rolled out onto customer servers. Then in the height of your celebration, the calls and support tickets start rolling in. Your application is crashing. There are memory leaks. The CPU is spiking. You sit on the phone for hours trying to guide the user through some alternatives to get them back and running, but the problems continue to persist. This would be so much easier if you could just launch Visual Studio to reproduce the problem, but you can't. So what do you do? In this presentation, we'll take an advanced look at debugging production issues in .NET applications. Using real world scenarios and tools, you will learn how you can monitor production systems, capture data and memory dumps, and explore the memory dumps using WinDbg and other tools to find problems. We will use demos of real-life badly behaving programs and walk through the problem resolution process so that you can see how these techniques worked in real support cases.
Track
Other
Title
Just Go For It!
Abstract
Go is an up-and-coming language that is gaining in popularity. It features syntax similar to C, but a lighter environment for system and application development than using C, C++, or Java. It is compiled, but has many of the best features found in dynamic languages such as JavaScript, Python, and Ruby. It is also highly portable. Programs written in Go will run on Linux, Mac OSX, and Windows. In this session, we'll do a crash-dive into the Go language. I will show you how to set up a Go development environment, cover some of the syntax, and we will take a look at some real production code that is written in Go as case studies for the types of applications and systems that you can build with the Go language.

Joseph Crim

More on Joseph Crim

Sessions

Track
Other
Title
Visualizing Web Page Serve Performance Using WebRockit
Abstract

WebRockit uses a headless web browser to measure how fast web pages load, relative to what a real user might experience. WebRockit also captures interesting metrics about the page load (time to first byte, number of assets, size of response, time to onDomReady, etc) and can draw time-series graphs using that data. WebRockit combines the scalability of Sensu, the accessibility of Graphite, and is backed by the reliability of WebKit (PhantomJS).

 

WebRockit is written mostly in Ruby and makes use of Node for the headless browser, and is %100 REST API driven. In this session we'll describe why measuring page serve performance is important, describe the components of the WebRockit stack, show off the dashboard (Oooh, ahhh!), and go over the basics of the API.  WebRockit is MIT licensed and all of the source is publicly available on github.


Aaron Cure

More on Aaron Cure

Sessions

Track
.NET
Title
How not to get hacked - 5 Common .net Security Vulnerabilities and how to Fix Them
Abstract
As developers, we write code until the wee hours of the morning making business dreams come true. But how secure is the code we are writing? What are the odds that our code will be the next Target or Neiman Marcus or Heartland Payments or Sony Pictures? What is SQL Injection, Cross-Site Scripting (XSS), etc and how do I know if I am vulnerable? How do I fix them? Come discover the answers to these questions and more.
Track
.NET
Title
How not to get hacked 2 - 5 MORE Common .net Security Vulnerabilities and how to Fix Them
Abstract
As developers, we write code until the wee hours of the morning making business dreams come true. But how secure is the code we are writing? What are the odds that our code will be the next Target or Neiman Marcus or Heartland Payments or Sony Pictures? What is Cross Site Request Forgery (CSRF), Parameter Tampering, etc and how do I know if I am vulnerable? How do I fix them? Come discover the answers to these questions and more.

Ammon Curtis

More on Ammon Curtis

Sessions

Track
Other
Title
How to Create Products People Actually Use
Abstract

Deciding what to build is one of the most challenging and important tasks for the success of any project, especially when coding. In this interactive workshop you will learn how Infusionsoft identified a target customer, isolated the reaching demand and launched a product used and loved by thousands of customers. Elevate your design thinking and get hands-on practice creating useful solutions.


Don Doerres

More on Don Doerres

Sessions

Track
Other
Title
Soft Skills for a Hard World Part 1
Abstract
More than anything else, your ability to communicate in the work place determines success. Learn basic communications skills
Track
Other
Title
Soft Skills for a Hard World Part 2
Abstract
Once you have learned to communicate, learn to settle disputes

Adam Doman

More on Adam Doman

Sessions

Track
Javascript/Node.js
Title
Groom your markup with mustache
Abstract
Is your code poorly maintained? Does it need a trim? Is it shaggy and unkept? Buried markup in code can be messy! Initial development, maintenance, and readability are all issues whenever you embed markup. The use of templates gives you the ability to separate the code from the markup. Lean back in the chair as we trim up your code using Mustache. Mustache is one of many logic-less templating solutions. It provides a framework to compile/render data with a template. Mustache has quite a few different language implementations, however in this session we will focus on the javascript version.

Inactive User

More on Inactive User

Sessions

Track
Javascript/Node.js
Title
Not Another Chat App (Web Sockets in the Real World)
Abstract

Web sockets are an exciting new web technology that allows the server to broadcast events to the client in real time. The bad news? Try and find an example implementation that isn't a chat room or a game! Both examples are great, but they don't represent the problems that most web developers are trying to solve. This will be a collaborative session about solving real world problems with web sockets.

No prior knowledge of web sockets is necessary, but it will be very helpful to have a prior knowledge of the web request/response pattern.

 

Agenda:

  • Brief Intro to Web Sockets
  • Web Socket paradigm and its power
  • Couple of real world socket examples
  • Pros and cons of sockets
  • Open discussion on real world socket problems/solutions

Keith Elder

More on Keith Elder

Sessions

Track
.NET
Title
Web Applications Re-Imagined for Today's Demanding End Users
Abstract
The 90’s called and wants it website back! End users today expect more of our web applications. They want them fast, performant and above all they never ever want to have to hit the refresh button. Today it is all about the real-time web, push notifications, scalability, graceful recovery from failures, and handling large spikes in traffic. In order to build the next generation web app for cloud scale we have to think different. In this talk we’ll take an extreme departure from a typical three-tiered web application architecture. We’re going to look at how we can leverage asynchronous messaging and queues in our architecture. Or, as I like to call it a Queued Services Architecture. We’ll take a look at a demo that leverages multiple technologies including SignalR, TopShelf, Asp.Net, and RabbitMQ to create a scalable, highly available, buzzword filled, real-time web application. We're going to look at how we would handle long running business processes that cross service boundaries using command queues and events to push notifications back to our end users. We'll learn that we've actually made our application simpler to write, scalable and resilient to failure (even transactional when we need it).

Inactive User

More on Inactive User

Sessions

Track
Database (SQL/NoSQL)
Title
ExpressJS and MongoDB end to end
Abstract
In this session I will take your through what a NodeJS/ExpressJS application is and how to build one that communicates with MongoDB through the Mongoose ODM.

Donn Felker

More on Donn Felker

Sessions

Track
Mobile (Android/iOS/Microsoft)
Title
Android From the Trenches
Abstract

 

In this session I will discuss what I've learned from having two apps consistently reside in the Top 100 Free category in Google Play for the last 3 years (Groupon and MyFitnessPal). I'll talk about tips, tricks and expose real life issues that you will run into at scale with an Android app that becomes very popular. You will learn what to do, what not to do, and how to properly manage your application and team at scale. From defensive coding and advanced patterns to various forms of testing - I'll be talking about it here. You'll walk away with a list of tools and tips to help prepare you and your team for when your app gets featured or makes it to the top 100.

 

Track
Javascript/Node.js
Title
Building Web API's with HapiJS and MongoDB
Abstract
In this session you will be introduced to the NodeJS Server framework, HapiJS. I will demonstrate how you can build out a simple API with HAPI that connects to MongoDB via Mongoose. You can learn more about HapiJS at www.hapijs.com

Joe Fleming

More on Joe Fleming

Sessions

Track
Javascript/Node.js
Title
Understanding React
Abstract

React bills itself as "A Javascript library for building user interfaces." It was created by Facebook and "uses a virtual DOM diff implementation for ultra-high performance." It also uses some internal magic to batch changes and keep your UI fast - their goal is making your application run at a full 60fps. Its API is pretty small, making it very easy to start using. And because there's no hard DOM dependency, it works quite well on the server with Node. In this session, I'll talk about the how React works and where it fits into the frontend MV* stack. I'll walk through some examples of React components and show you how to create your own. You'll leave with a solid understanding of how React works and the knowledge to start using it to build blazing fast interfaces in the browser.


Lennard Fuller

More on Lennard Fuller

Sessions

Track
Java
Title
Concurrency in Java, a practical approach
Abstract
This session will identify key and at times costly mistakes java developers make when dealing with concurrency as well as how to avoid them. An emphasis will be placed on how to bring to bear the power of the updated Java Concurrency Utilities.

Michal Garbacz

More on Michal Garbacz

Sessions

Track
Database (SQL/NoSQL)
Title
Do-It-Yourself Graph Search
Abstract

We’ll see how to build a Facebook-like graph search on top of a graph database. Presentation will showcase the power of graph databases for relationship-based data and show how to frame data as relationships. Technologies used: Ruby for backend, Twitter Bootstrap for prettier demo, Neo4j as graph database, Cypher as query language.


Leo Godin

More on Leo Godin

Sessions

Track
Python
Title
From zero to Django in sixty minutes
Abstract

I spent a lot of time and effort learning Django in recent months. Much of the time was wasted getting caught up in distractions and best practices. In this session I will show you how to get going quickly with Django. We will cover the basics and explore next steps. If you are new to Django, you should learn how to get up and running quickly and which topics to learn next. 

For those who want to follow along as we build a simple application, be sure to have virtualenv and PIP installed. All the code is at https://github.com/leogodin217/thepath. It is a bare-bones application intended to teach Django and not web development. 

Topics covered: 

  • Basic Django terminology
  • Models
  • Views
  • urls.py
  • Templates
  • Testing

Topics not covered:

  • Professional best practices
  • Thorough testing
  • Deployment
  • Security

Ginger Grant

More on Ginger Grant

Sessions

Track
Java
Title
Introduction to Hadoop
Abstract
Introduction to Hadoop
Track
Database (SQL/NoSQL)
Title
Power BI - Self-Service BI A new way to ETL, store and display data in and out of the cloud
Abstract
Learn about Microsoft's newly released product to ETL,store and display data with Power Query, Power Map, Power Pivot and Power View. The presentation will show how to create a Self-Service Business Intelligence application in the cloud.

Kevin Griffin

More on Kevin Griffin

Sessions

Track
Javascript/Node.js
Title
Robust Web APIs with node.js and Express
Abstract
One of the many benefits of using node.js is the ability to quickly build and scale network applications. One of the best examples for a scalable application is a web server or an API. In this presentation, attendees will walk through rapidly developing an API with node.js and Express, a modular web framework built on top of node.
Track
.NET
Title
Using SignalR to Build Real Time Applications
Abstract
In the beginning, we had static websites. Then we invented AJAX, and our websites became alive with dynamic content. Now we're getting to a point where we'd like to have our web applications work in cool asynchronous ways across all of it's connected users. The typically example would be a chat room. You send a message to the server, and the server broadcasts it to everyone who's in your room. In the past, in order to build a system like that took time and code. How about dynamically refreshing content in your application based on events that happen on the server? SignalR is a library that assists you in building real-time, multi-user interactive web applications. In this talk, we'll discuss the current state of the real time web, and then WOW you with quick, easy, and code-filled demos showing off the power of SignalR.

Inactive User

More on Inactive User

Sessions

Track
.NET
Title
DRY: Writing ADO.NET Providers for ASP.NET Forms... ONCE!
Abstract

Tired of writing the same data access code in multiple code-behind files or having to modify CRUD methods every time the database changes? Never fear! This session demonstrates code for creating a custom ADO.NET provider for ASP.NET that can be used time and again to build data-centric, n-tier applications to communicate with SQL Server. It also explores simple methods for avoiding pitfalls in the data layer, how to make the most of disconnected objects, and the don't-repeat-yourself (DRY) concepts of best coding practices. Finally, the session also explores creating a data-bound custom ASP.NET server control that uses the provider code. If you love code then you'll want to attend this session! Note: Code samples and a free e-book will be available for download a couple of weeks prior to the session.

Track
.NET
Title
EF's Magic Unicorns: Code First and FluentAPI
Abstract

Learn best practices for using Entity Framework Code First FluentAPI to quickly and safely apply changes to your database without having to drop and recreate it every time. Through an MVC 4 project, topics include method chaining, shortening development time by creating configuration classes, and how to annotate controllers with attribute filters to create your database, and call the configuration changes through Migrations.


Bryan Hales

More on Bryan Hales

Sessions

Track
Mobile (Android/iOS/Microsoft)
Title
Writing Mobile Apps for iOS, Android, and Windows Phone Simultaneously with PhoneGap
Abstract

What if you could write apps for iOS, Android, and Windows Phone simultaneously, with only one code-base, using only the tools and languages you’re probably already familiar and comfortable with? PhoneGap lets you do just that. With a little HTML5, CSS3, and Javascript, you can create solid apps for several platforms at once.

PhoneGap also gives you the ability to call into the native APIs of your platform, and take advantage of everything from the camera to the address book with nothing more than Javascript. We’ll walk through what it takes to get started, how to write solid HTML5 mobile apps, and common gotchas to keep an eye out for. If you can create a website, then you can write a mobile app using PhoneGap.


Julie Hernandez

More on Julie Hernandez

Sessions

Track
Database (SQL/NoSQL)
Title
Set it and Forget it: Automating Data Movement Management
Abstract

How do you keep track of hundreds of processes moving data across multiple platforms? What happens when an error occurs? How is processing moved between environments without manual intervention?. Come see how we are taking the human element out of managing data movement using Informatica. Learn how we are automating configuration changes between environments, error processing, and providing business partners insight into their data.


Chris Holwerda

More on Chris Holwerda

Sessions

Track
Javascript/Node.js
Title
Introduction to AngularJS
Abstract
Why AngularJS? HTML is great for declaring static documents, but it falters when we try to use it for declaring dynamic views in web-applications. AngularJS lets you extend HTML vocabulary for your application. The resulting environment is extraordinarily expressive, readable, and quick to develop. Alternatives Other frameworks deal with HTML’s shortcomings by either abstracting away HTML, CSS, and/or JavaScript or by providing an imperative way for manipulating the DOM. Neither of these address the root problem that HTML was not designed for dynamic views. Extensibility AngularJS is a toolset for building the framework most suited to your application development. It is fully extensible and works well with other libraries. Every feature can be modified or replaced to suit your unique development workflow and feature needs. Read on to find out how.
Track
Other
Title
Is your web site safe? What are the OWASP Top 10 web vulnerabilities
Abstract
What are some things you seem to hear every single day? Target hacked. Healthcare.gov hacked. Neiman Marcus hacked. Chrome browser microphone hacked. It seems like every day some other web site or application is getting hacked. I'll discuss OWASP, the Top 10 OWASP vulnerabilities, and also show you some tricks to help reduce the risk in your web applications.

Justin James

More on Justin James

Sessions

Track
DevOps/System Administration
Title
Chocolatey Essentials
Abstract
Chocolatey is a machine package manager somewhat like apt-get but built with Windows in mind. I will give a brief overview of how Chocolatey works, finding packages, installing packages, and creating your own packages. Once you start using Chocolatey it will feel wrong to install software without it.
Track
.NET
Title
Nuget Essentials
Abstract

Nuget is a package manager for the Microsoft development platform. I will lead us through all of the essentials for using Nuget. You will learn how to find/consume packages, create packages, view package internals, host your own feeds, and integrate into automated builds.


Theo Jungeblut

More on Theo Jungeblut

Sessions

Track
Agile
Title
Clean Code I - Design Patterns and Best Practices
Abstract
All 4 Clean Code presentations provide great value by themselves, but taken together are designed to offer a holistic approach to successful software creation. This first session creates the foundation for the 2nd and 3rd Clean Code presentation on Dependency Injection, as it explains expected base knowledge. Why writing Clean Code makes us more efficient Over the lifetime of a product, maintaining the product is actually one - if not the most - expensive area(s) of the overall product costs. The Craftsmanship session is exploring the often underestimated importance of clean execution of the coding part and its crucial impact to overall project success. Writing clean code can significantly lower these costs. However, writing clean code also makes you more efficient during the initial development time and results in more stable code. You will be presented design patterns and best practices which will make you write better and more easily maintainable code, seeing code in a holistic way. You will learn how to apply them by using an existing implementation as the starting point of the presentation. Finally, patterns & practices benefits are explained. This presentation is based on C# and Visual Studio 2013. However, the demonstrated patterns and practice can be applied to every other programming language too.
Track
Agile
Title
Clean Code II - Cut your Dependencies with Dependency Injection Part 1
Abstract
All 4 Clean Code presentations provide great value by themselves, but taken together are designed to offer a holistic approach to successful software creation. This first session creates the foundation for the 2nd and 3rd Clean Code presentation on Dependency Injection, as it explains expected base knowledge. Why writing Clean Code makes us more efficient Over the lifetime of a product, maintaining the product is actually one - if not the most - expensive area(s) of the overall product costs. The Craftsmanship session is exploring the often underestimated importance of clean execution of the coding part and its crucial impact to overall project success. We will dive into the basics of Inversion of Control (IOC) and Dependency Injection (DI) to review different ways of achieving decoupling, using and exploring both: Best Practices, Design and Anti Patterns. This presentation requires knowledge and understanding of basics like DRY, SoC, SRP, SOLID etc. which are building the base for decoupled architecture. However, we will start at the basics of DI and will work towards intermediate and advanced scenarios depending on the participating group. This presentation is based on C# and Visual Studio 2013. However, the demonstrated patterns and practice can be applied to every other programming language too.
Track
Agile
Title
Clean Code II - Cut your Dependencies with Dependency Injection Part 2
Abstract
All 4 Clean Code presentations provide great value by themselves, but taken together are designed to offer a holistic approach to successful software creation. This first session creates the foundation for the 2nd and 3rd Clean Code presentation on Dependency Injection, as it explains expected base knowledge. Why writing Clean Code makes us more efficient Over the lifetime of a product, maintaining the product is actually one - if not the most - expensive area(s) of the overall product costs. The Craftsmanship session is exploring the often underestimated importance of clean execution of the coding part and its crucial impact to overall project success. We will dive into the basics of Inversion of Control (IOC) and Dependency Injection (DI) to review different ways of achieving decoupling, using and exploring both: Best Practices, Design and Anti Patterns. This presentation requires knowledge and understanding of basics like DRY, SoC, SRP, SOLID etc. which are building the base for decoupled architecture. However, we will start at the basics of DI and will work towards intermediate and advanced scenarios depending on the participating group. This presentation is based on C# and Visual Studio 2013. However, the demonstrated patterns and practice can be applied to every other programming language too.
Track
Agile
Title
Clean Code III - Software Craftsmanship
Abstract
All 4 Clean Code presentations provide great value by themselves, but taken together are designed to offer a holistic approach to successful software creation. This first session creates the foundation for the 2nd and 3rd Clean Code presentation on Dependency Injection, as it explains expected base knowledge. Why writing Clean Code makes us more efficient Over the lifetime of a product, maintaining the product is actually one - if not the most - expensive area(s) of the overall product costs. The Craftsmanship session is exploring the often underestimated importance of clean execution of the coding part and its crucial impact to overall project success. You will learn why naming is really difficult if done right, why coding and style guidelines are crucial, code structuring, exception handling and why other elements of coding often define the tipping point between success and failure of projects. We will also quickly review tools in Visual Studio which help you automate some of this work. This presentation is based on C# and Visual Studio 2013. However, the demonstrated best practices can be applied to every other programming language too.

Richard Key

More on Richard Key

Sessions

Track
Javascript/Node.js
Title
The Ultimate JavaScript Experience
Abstract

From front-end to back-end, all the way up to the database, this session will give you more action than a cheesy 90s blockbuster starring Arnold Schwarzenegger. We start with some front-end work, building a simple single page application. Then we slather on some delicious Node.js to create our server. We finally follow it up with MongoDB for our data to complete the JavaScript pie. Some front-end experience is preferable, but if you think you can handle it drop in and try it out.


Stephen Kuenzli

More on Stephen Kuenzli

Sessions

Track
HTML/CSS
Title
Using HTML5 Navigation and Resource Timing APIs to Understand Client User Experience
Abstract

Learn how to diagnose root cause of slow web browser requests using the new HTML5 navigation and resource timing APIs. We will provide an overview of the specification and use it to work though a simple implementation that collects metrics in real time.

 

 HTML5 Navigation and Resource Timing in Action!


Steve Lacy

More on Steve Lacy

Sessions

Track
Javascript/Node.js
Title
gulp - the Streaming build system
Abstract

Build systems are used to speed up workflow, improve performance, and increase efficiency.

This session will be an introduction and overview of gulp, a next-gen build system.

Track
Javascript/Node.js
Title
Introduction to Node.js - Workshop
Abstract
This workshop will teach you how to get started with node, learn the fundamentals of non blocking JavaScript, and create a Node.js app. Requirements: Laptop Node.js + git Already installed and configured.

Rudy Ludena

More on Rudy Ludena

Sessions

Track
Javascript/Node.js
Title
Making Your Pages Speak: Web Speech API
Abstract
A Practical implementation of the W3C Web Speech API https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html

Michael Luttrell

More on Michael Luttrell

Sessions

Track
Javascript/Node.js
Title
Making Your Pages Speak: Web Speech API
Abstract
A Practical implementation of the W3C Web Speech API https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html

Adam Martin

More on Adam Martin

Sessions

Track
DevOps/System Administration
Title
Introduction to SaltStack Basics
Abstract

Are you still managing your Linux servers manually, one by one? Are you using Puppet, Chef and / or CFEngine to manage your Linus infrastructure and they having you feel down in the dumps? If you answered "yes" to any of those questions come to our SaltStack presentation at Desert Code Camp. We will be demonstrating SaltStack basics using Vagrant and then there will be a demonstration of using SaltStack to orchestrate a chorus of servers around the world!


Brandon Mason

More on Brandon Mason

Sessions

Track
Javascript/Node.js
Title
Reactive UI with ClojureScript/Om
Abstract
Learn how Om combines Facebook's React render engine with ClojureScript's immutable data structures for up to 40x performance improvement. We'll tour an interface written with Om, and talk about some design decisions that went into the technologies involved.

Chris Matthieu

More on Chris Matthieu

Sessions

Track
Other
Title
Getting Started with Internet of Things!
Abstract
I will teach you how to use the SkyNet.im machine-to-machine instant messaging IoT platform and API to get you up and running quickly with registering and controlling devices (Raspberry Pis, Arduinos, AR Drones, etc) connected to SkyNet (http://skynet.im)!

David McCarter

More on David McCarter

Sessions

Track
.NET
Title
Rock Your .NET Coding Standards
Abstract
With lots of new material for 2014 (126.190%), this session will guide any level of programmer to greater productivity by providing the information needed to write consistent, maintainable code. Learn about common coding mistakes, code style, defensive programming and much, much more. Code tips are included to help you write better, error free applications. Lots of code examples in C# and VB.NET. This session is based on my latest book, David McCarter’s .NET Coding Standards. Sit close and you just might catch a custom dotNetDave guitar pick or Rock The Nation postcard. Some of some of them will win you free software!
Track
.NET
Title
Rock Your Code Using Code Contracts
Abstract
This session will introduce developers to the new powerful new feature that is part of the .NET 4.5 framework called Code Contracts. Code Contracts brings the advantages of design-by-contract programming to .NET programming. Contracts are used to improve testing via run-time checking, enable static contract verification, and documentation generation. Sit close and you just might catch a custom dotNetDave guitar pick. Sit close and you just might catch a custom dotNetDave guitar pick or Rock The Nation postcard. Some of some of them will win you free software!
Track
.NET
Title
Rock Your Code With Visual Studio Add-ins
Abstract
This session will focus on my must have Visual Studio add-ins and other tools that makes programming faster and easier (and makes you look like a rock star programmer). All the tools that are either free or very affordable. Tool categories include add-ins for debugging and profiling and more. These tools are designed to impress your boss and get you home at a reasonable time. This session is packed full of demonstrations! Sit close and you just might catch a custom dotNetDave guitar pick or Rock The Nation postcard. Some of some of them will win you free software! A few of the demos from this session are already online: – https://google.com/+SubMainSoftware

Jay McGavren

More on Jay McGavren

Sessions

Track
Ruby
Title
Object-Oriented Programming with Ruby
Abstract
This is a beginner-friendly session that will use Ruby to demonstrate basic concepts in object-oriented software development: classes, methods, instance variables, and so forth. Code samples will be in Ruby, but you'll be able to apply what you learn to Java, C#, Python, or any other object-oriented language. Ideally, you'll arrive already knowing the very basics of programming (in any language): what a string is, what a method (or function) is, etc. But even if you don't, this will be a question-friendly environment - interruptions are encouraged!
Track
Ruby
Title
Rails 4 - A Whirlwind Tour
Abstract
Back in 2005, David Heinemeier Hansson released a screencast showing how to create a blog in 15 minutes with his new Ruby on Rails framework. It created a stir in the web development community, as it was by far the easiest way to get a custom application up and running. 8 years later, things haven't changed that much. Rails is still one of the most powerful and flexible frameworks available. It works a little differently under the hood, though. This talk updates that original blog demo to work with Rails 4. We're also going to pack in lots of extra information about how Rails works. This talk won't make you an expert, but you'll have an excellent idea of what Rails can do for you. You'll also have some useful resources to get you started creating your own web apps.

Sheldon McGee

More on Sheldon McGee

Sessions

Track
Javascript/Node.js
Title
Introduction to Node.js - Workshop
Abstract
This workshop will teach you how to get started with node, learn the fundamentals of non blocking JavaScript, and create a Node.js app. Requirements: Laptop Node.js + git Already installed and configured.

Robert Mckay

More on Robert Mckay

Sessions

Track
Mobile (Android/iOS/Microsoft)
Title
Writing your first iOS app
Abstract
A beginners course to creating your first iOS application.

Mike McLane

More on Mike McLane

Sessions

Track
Other
Title
Visualizing Web Page Serve Performance Using WebRockit
Abstract

WebRockit uses a headless web browser to measure how fast web pages load, relative to what a real user might experience. WebRockit also captures interesting metrics about the page load (time to first byte, number of assets, size of response, time to onDomReady, etc) and can draw time-series graphs using that data. WebRockit combines the scalability of Sensu, the accessibility of Graphite, and is backed by the reliability of WebKit (PhantomJS).

 

WebRockit is written mostly in Ruby and makes use of Node for the headless browser, and is %100 REST API driven. In this session we'll describe why measuring page serve performance is important, describe the components of the WebRockit stack, show off the dashboard (Oooh, ahhh!), and go over the basics of the API.  WebRockit is MIT licensed and all of the source is publicly available on github.


Randy Miller

More on Randy Miller

Sessions

Track
.NET
Title
What's new in Windows Azure Infrastructure as a Service (IaaS)
Abstract

Will demonstrate all the new features of Windows Azure Infrastructure as a Service (IaaS) that will be publicly announced the week before Desert Code Camp at the Windows Build conference. We will cover all aspects of Windows Azure IaaS including VMs, storage, networking, Windows Azure Active Directory, etc. Many of these features will be hot off the presses from the Windows Build conference and if you want to learn how to take advantage of these new features, make sure you attend this session.


Andrew Miller

More on Andrew Miller

Sessions

Track
Agile
Title
Mob Programming - Like A Boss
Abstract
Mob programming is pair programming on a team scale. This means an entire team is focused on one task at time. Come learn about our attempt to implement this coding practice, complete with how we heard about it, how we adapted it to fit our team, experiments along the way, and what we have learned. We will answer questions like how does this practice affect productivity, can you maintain the same velocity while an entire team focuses on one task at a time, can the team stand to work together all the time, and most importantly what's that smell?

Shantanu Mirajkar

More on Shantanu Mirajkar

Sessions

Track
DevOps/System Administration
Title
Log Analysis using ElasticSearch , Logstash and Kibana
Abstract

Demo of how production log analysis can be done using the open source stack of elasticsearch, logstash,kibana


Joe Modjeski

More on Joe Modjeski

Sessions

Track
Javascript/Node.js
Title
ExpressJs for ASP.NET MVC developers
Abstract
Coming into NodeJs from ASP.NET MVC can be a bit of a leap. This session will help bridge the gap by drawing lines from ExpressJs and Connect middleware to their ASP.NET MVC counterparts.

James Montemagno

More on James Montemagno

Sessions

Track
Mobile (Android/iOS/Microsoft)
Title
Data bind everything! No longer bound to Windows thanks to MVVMCross
Abstract

The Model View ViewModel (MVVM) is an architectural pattern that originated from Microsoft and is the base for Windows Store and Windows Phone apps, but now you can take MVVM everywhere including iOS and Android. MVVM frameworks act as the glue that ties together the apps user interface and business logic adding amazing features including data binding and commands. MvvmCross is that glue that bring all of the awesome features of MVVM to both iOS and Android development. This framework sits on top of both Xamarin.iOS and Xamarin.Android, which enable developers to create stunning cross platform native applications all in C#.  Learn what exactly the MVVM pattern is and why you would want to use it and its features including data binding. We will go through the pros and cons of multiple architectural patterns such as MVC and MVP and compare them to the MVVM pattern.  Walk away with the ability to leverage the MVVM framework for optimal code reuse in creating beautiful native mobile applications. Then take your apps to the next level by using MvvmCross’s plugin architecture to add features rapidly to all of your applications.

Track
Mobile (Android/iOS/Microsoft)
Title
Share More Code on iOS, Android, and Windows with Portable Class Libraries
Abstract

Microsoft’s Portable Class Libraries(PCL) have become an extremely popular way to create true cross platform libraries, that even run on platforms like Android and iOS. PCLs allow you to write all of your logic in one project and compile to one library and then add it to any targeted platforms. As a subset of the .NET framework there are important design and implementation decisions to take into consideration when building and using PCLs. This session will show you how to get the most out of PCL projects, including strategies for structuring cross-platform solutions, and tips for using PCLs to replace your favorite missing .NET features. Take code reuse to the next level with PCLs and Xamarin in your Android, iOS, Windows Phone, and Windows Store apps.


In this session you will learn what Portable Class Libraries are and if you should use Portable Class Libraries by learning the positives and negatives that come along with PCLs. I will walk through getting started creating truly reusable Portable Class Library targeting Xamarin.Android, Xamarin.iOS, Windows Phone, and Windows Store. We we will add new features by writing code once in your PCL and have it available for use on all platforms in C# or VB.NET!


David Morgan

More on David Morgan

Sessions

Track
Javascript/Node.js
Title
Introduction to D3 js
Abstract
An introduction to data visualizations with the d3.js library

Derek Neighbors

More on Derek Neighbors

Sessions

Track
Agile
Title
Panel: Implementing Agile in the real world
Abstract

Bring your burning questions that are holding your organization/team from Agility. Experienced panelists share their insights, practices they use and what has worked well for them.

Please provide your feedback post the session: Feedback form


Jeff Nickoloff

More on Jeff Nickoloff

Sessions

Track
Other
Title
An Introduction to Genetic Algorithms
Abstract
I'm going to introduce the basic mechanics of a genetic algorithm, discuss a range of use-cases, and share a bit of Python code I put together a while back that uses a genetic algorithm to play a game of Rock, Paper, Scissors.
Track
DevOps/System Administration
Title
Next Generation PaaS and Software Distribution with Docker.io
Abstract
Docker.io provides Linux containers made easy. This means that you no longer need to rely on full machine virtualization to provide strong jailing between processes and the kernel or other processes. Combined with a built-in distribution and image index system, Docker lets engineers and sysadmins reduce the complexity of building robust provisioning systems.

Josh Padnick

More on Josh Padnick

Sessions

Track
DevOps/System Administration
Title
Chef: Automate server configuration and deployment by modeling it in code
Abstract

Chef is an open source Configuration Management tool that launches servers, automates install of the latest updates, automates your environment's software config, and much more all with a single command.

If you model your infrastructure as code, your infrastructure's entire state becomes instantly reproducible from your local command line. If a server goes bad, instead of struggling to fix it, you can merely re-deploy it using Chef and get it to the exact state it's supposed to be in.  Chef code is written in Ruby, and can be tested and version-controlled like any other part of your source code.  Used well, it can make day-to-day server management and deployment a "non-event."

In this session, I'll introduce you to Chef, walk through the key concepts you need to know to start using it, and discuss different options for leveraging Chef. Time permitting, we will build our very own "cookbook" (chef-speak for instructions a server will execute).


J. Michael Palermo IV

More on J. Michael Palermo IV

Sessions

Track
Mobile (Android/iOS/Microsoft)
Title
Create Your First Game for Android/iOS/Microsoft
Abstract
Learn in one session how to create a game to target any/all desirable mobile platforms using GameMaker Studio. Specifically, this session will cover key concepts and awesome tips & tricks to accelerate game development time. Do you have any gaming assets you have made (images or sound files) you would like to see in the game made in the session? Tweet @palermo4 with #dcc14 with link to resource and it may be used! Attendees will receive a handout of valuable resources :)

Vivin Paliath

More on Vivin Paliath

Sessions

Track
QA/Testing
Title
Integrating JavaScript unit-testing (QUnit) with TestNG and Maven
Abstract
A way to integrate JavaScript unit-testing with QUnit so that JavaScript unit tests can run in tandem with regular Java unit tests. This is accomplished by using PhantomJS along with the QUnit JavaScript unit-testing framework.

Jeremy Pauli

More on Jeremy Pauli

Sessions

Track
Database (SQL/NoSQL)
Title
Rogue Data Integration with Talend Open Studio
Abstract

Your applications needs historic or external data and that could mean XML, CSV, Text, RDBMS, Big Data, NoSQL or who knows what!

Learn how developers can quickly and easily: 1. Extract data from various sources 2. Transform the data to the desired format 3. Load the data into your application data storage.  

Join this session to learn the basics of using great a great tool, Talend Open Studio for Data Integration, to ease your data movement anxiety. No DBA's, no SQL and no Excel sheets to manually transfer data!

 


Avinash Ramineni

More on Avinash Ramineni

Sessions

Track
DevOps/System Administration
Title
Log Analysis using ElasticSearch , Logstash and Kibana
Abstract

Demo of how production log analysis can be done using the open source stack of elasticsearch, logstash,kibana


Kamlesh Ravlani

More on Kamlesh Ravlani

Sessions

Track
Agile
Title
Panel: Implementing Agile in the real world
Abstract

Bring your burning questions that are holding your organization/team from Agility. Experienced panelists share their insights, practices they use and what has worked well for them.

Please provide your feedback post the session: Feedback form


Perry Reinert

More on Perry Reinert

Sessions

Track
Agile
Title
Panel: Implementing Agile in the real world
Abstract

Bring your burning questions that are holding your organization/team from Agility. Experienced panelists share their insights, practices they use and what has worked well for them.

Please provide your feedback post the session: Feedback form

Track
Agile
Title
Why Agile Works...and How to Screw it Up!
Abstract

This fast moving discussion contains a bit of theory, some interesting statistics, and a few activities. We'll talk a little theory, then we'll "connect the dots" from Scrum the framework back to the theory. All of this will give you a REAL understanding of why Agile works. You'll leave the session wondering "Wow, how could we develop software in any other way!!??", and your reasons for "doing Agile" (and "being" Agile) will be much better than "Uhhhh....because everybody else is doing it?"  If you’re not well-versed in Agile or Scrum, don’t worry, there is just enough background so everyone can keep up.  After we understand why it works, we'll touch on just a few of the ways to mess things up.


Arthur Richards

More on Arthur Richards

Sessions

Track
Agile
Title
Distributed Agile Development
Abstract

The world is going remote. How many people do you know that work from home 1 day a week? 2-3 days? Exclusively from home or half way around the world? Must work while travelling? These days, many of us are remote - even if only some of the time.

The benefits are enormous to both the company and the developer / remote worker. But many companies still have not embraced a distributed model, and the trend flies in the face of one of the 12 agile principles: 'The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.'

Drawing upon experiences as a remote worker and scrummastering for distributed agile development teams at the Wikimedia Foundation, this session explores how we've pushed the envelope of that principle and shares best practices that empower successful semi or fully distributed agile teams. Not to spoil the ending or anything, but these best practices are also the key ingredients for success of ANY development team - co-located or distributed.

This session is aimed at folks working on an agile development team, but the subject matter is appropriate for anyone involved in anyone involved in software development practices.


Wendel Schultz

More on Wendel Schultz

Sessions

Track
DevOps/System Administration
Title
Application Monitoring using Graphite: An Introduction
Abstract
More forthcoming

Hamid Shojaee

More on Hamid Shojaee

Sessions

Track
Agile
Title
Panel: Implementing Agile in the real world
Abstract

Bring your burning questions that are holding your organization/team from Agility. Experienced panelists share their insights, practices they use and what has worked well for them.

Please provide your feedback post the session: Feedback form


Scott Smith

More on Scott Smith

Sessions

Track
Javascript/Node.js
Title
Rich Web UIs with Dojo
Abstract

Why choose Dojo over another JavaScript toolkit? This session will introduce Dojo concepts, including creating classes, using closures and dealing with scoping issues. It will cover querying the DOM, event handling, animations and AJAX calls. And, time permitting, we will discuss other areas of Dojo such as Dijit Widgets and Dojox.


Schuyler St. Leger

More on Schuyler St. Leger

Sessions

Track
Other
Title
Get To Know Galileo
Abstract
Last October Intel announced their first maker focused prototype board called Galileo. The board uses an Intel Quark processor and supports the Pentium instruction set. This course will explore the Galileo board and supported programming models. 1) Galileo overview. Discussion of board components, features, I/O, etc. 2) Arduino. Discussion and demonstration using the Arduino IDE and sketches. 3) Linux. Getting started with Linux on Galileo. 4) Mixed Mode. Marrying together things like scripts (Python, etc.) and Arduino. (Note: This is still a WIP. We'll see what I get done come April!) The class will be live and interactive versus flipping through slides. Key Words: Intel, Galileo, Quark, Arduino, Linux, Maker.

Tomasz Stechly

More on Tomasz Stechly

Sessions

Track
HTML/CSS
Title
Using HTML5 Navigation and Resource Timing APIs to Understand Client User Experience
Abstract

Learn how to diagnose root cause of slow web browser requests using the new HTML5 navigation and resource timing APIs. We will provide an overview of the specification and use it to work though a simple implementation that collects metrics in real time.

 

 HTML5 Navigation and Resource Timing in Action!


Bryan Stephens

More on Bryan Stephens

Sessions

Track
Java
Title
Basics of heap dump analysis
Abstract
So my JVM just crashed and told me about some file named 'java_pid12345.hprof', what the heck do I do with this? We will be talking about a couple tools used to identify potential memory leaks within heap dumps and concurrency issues within thread dumps with less guesswork when your production machines get sick all of a sudden. Tools/software that will be used: Oracle JDK 1.6+ Eclipse Memory Analysis Tool (MAT) 1.3.1 (Standalone version) Thread Dump Analyzer (TDA) version 2.2 (Standalone Version)

John Thomas

More on John Thomas

Sessions

Track
Python
Title
Nefarious Python for Fun and Profit
Abstract
Want to be more popular on Twitter? Brand yourself as an expert even if you aren't? Need more traffic for your clients but you suck at SEO? Or maybe you just want a steady stream of income... Join in the fun as we explore the dark arts of Python. We will look at creating webbots, scrapers and parsing techniques and how to tie it altogether for making a quick buck.

David Tosi

More on David Tosi

Sessions

Track
Javascript/Node.js
Title
TypeScript 101
Abstract

Are you writing large scale JavaScript applications and wish you could have static checking, symbol-based navigation, statement completion, and code refactoring? Are you an experienced C# or Java programmer but you are uncomfortable with JavaScript’s dynamic nature and wish for classes and typing? If yes, then TypeScript may be for you.

TypeScript is a new open source language that provides support for building enterprise scale JavaScript applications. It is a strict superset of JavaScript, and adds optional static typing and class-based object-oriented programming. TypeScript compiles to clean and simple JavaScript code which runs on any browser, in Node.js, or in any other ES3-compatible environment. This session will cover all of the great features of TypeScript including classes, inheritance, interfaces, enums and more!


Shekhar Vemuri

More on Shekhar Vemuri

Sessions

Track
Database (SQL/NoSQL)
Title
Introduction to MongoDB
Abstract
Introduction to MongoDB
Track
Java
Title
REST with DropWizard
Abstract

Come learn how to build Micro Services with DropWizard. More Details to follow.


Chris Wagner

More on Chris Wagner

Sessions

Track
Mobile (Android/iOS/Microsoft)
Title
Debugging in Xcode with Objective-C
Abstract
Come see how to take full advantage of Xcode's powerful debugging features, learn a little bit about LLDB, and take a look at some open source solutions to assist you in developing your apps.

Rodney West

More on Rodney West

Sessions

Track
DevOps/System Administration
Title
Introduction to SaltStack Basics
Abstract

Are you still managing your Linux servers manually, one by one? Are you using Puppet, Chef and / or CFEngine to manage your Linus infrastructure and they having you feel down in the dumps? If you answered "yes" to any of those questions come to our SaltStack presentation at Desert Code Camp. We will be demonstrating SaltStack basics using Vagrant and then there will be a demonstration of using SaltStack to orchestrate a chorus of servers around the world!

Track
Javascript/Node.js
Title
Rich Web UIs with Dojo
Abstract

Why choose Dojo over another JavaScript toolkit? This session will introduce Dojo concepts, including creating classes, using closures and dealing with scoping issues. It will cover querying the DOM, event handling, animations and AJAX calls. And, time permitting, we will discuss other areas of Dojo such as Dijit Widgets and Dojox.


Brad Westfall

More on Brad Westfall

Sessions

Track
HTML/CSS
Title
Enter Web Components: It will change HTML/CSS/JS as we know it
Abstract

Web Components is a bleeding edge technology that browser vendors are exploring which allows developers to play with HTML, CSS, JS, and the DOM in ways never imagined before. UI projects and templating engines such as Twitter Bootstrap, jQuery UI, YUI, Handlebars, Jade, [insert your favorite here], etc will either become completely obsolete or will become completely revamped if Web Components becomes adopted. In this talk we will introduce the core concepts of Web Components, Shadow DOM, and some cool polyfills that will allow you to start using them today in modern browsers.

Track
HTML/CSS
Title
SASS: Organization, Performance, and Best Practices
Abstract

SASS, and similar preprocessors, have turned the CSS world on it's head in the last few years. While these tools help in some regards, they can easily cripple your CSS' performance when misused. This talk will focus on my experiences using SASS , how it should be organized, and other best practices. While these principals can also apply to LESS and Stylus, I will be using the SCSS flavor of SASS since it is the most common. We will start with the basics of preprocessing with SASS and installation, then move to the more advanced topics.


Bob Wilmes

More on Bob Wilmes

Sessions

Track
Other
Title
Bluetooth Low Energy
Abstract
This session covers the basics of Bluetooth Low Energy (also know as Bluetooth Smart) including some recent proposed changes in Bluetooth 4.1 and hacking exploits such as Crackle

Chris Woodruff

More on Chris Woodruff

Sessions

Track
Other
Title
Gaining the Knowledge of the Open Data Protocol (OData)
Abstract
The Open Data Protocol (OData) is an open protocol for sharing data. It provides a way to break down data silos and increase the shared value of data by creating an ecosystem in which data consumers can interoperate with data producers in a way that is far more powerful than currently possible, enabling more applications to make sense of a broader set of data. Every producer and consumer of data that participates in this ecosystem increases its overall value. OData is consistent with the way the Web works – it makes a deep commitment to URIs for resource identification and commits to an HTTP-based, uniform interface for interacting with those resources (just like the Web). This commitment to core Web principles allows OData to enable a new level of data integration and interoperability across a broad range of clients, servers, services, and tools. In this talk Chris Woodruff will provide an in depth knowledge to this protocol and how to implement an OData service on Windows using the WCF Data Services and ASP.NET WebAPI products.
Track
.NET
Title
Why Windows 8 Applications need OData and How You can be a Data Ninja
Abstract
Windows 8 applications are the ultimate in consumer experience but what drives these applications? Data!! What you need to remember about Windows 8 applications is that they can work with data through web services. What is the easiest way to drive your new Metro applications and make your users happy? OData is the answer and Chris Woodruff will teach you the secrets of OData and how these skills will make you a Master of Data.