Desert Code Camp - 2014.1 SessionsA list of all of the sessions at Desert Code Camp - 2014.1uuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=201282024-11-21T06:37:29ZDesert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20129Advanced .NET Debugging2014-02-17T08:26:49Z2014-02-17T08:26:49ZImagine 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20130An Introduction to Genetic Algorithms2014-01-30T14:21:45Z2014-01-30T14:21:45ZI'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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20131Android From the Trenches2014-01-29T10:37:07Z2014-01-29T10:37:07Z<p> </p> <p class="p1">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.</p> <p> </p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20132Application Monitoring using Graphite: An Introduction2014-03-17T11:03:03Z2014-03-17T11:03:03ZMore forthcomingCopyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20133Basics of heap dump analysis2014-02-26T17:17:50Z2014-02-26T17:17:50ZSo 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)Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20134BDD in .NET with SpecFlow2014-01-16T15:05:33Z2014-01-16T15:05:33ZA 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20135Bluetooth Low Energy2014-03-17T09:59:36Z2014-03-17T09:59:36ZThis 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 CrackleCopyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20136Build Stuff that Works with F#2014-02-14T15:15:46Z2014-02-14T15:15:46ZF# 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!Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20137Building Web API's with HapiJS and MongoDB2014-01-29T10:52:24Z2014-01-29T10:52:24ZIn 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.comCopyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20138Chef: Automate server configuration and deployment by modeling it in code2014-02-06T12:56:24Z2014-02-06T12:56:24Z<p>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.</p> <p>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."</p> <p>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).</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20139Chocolatey Essentials2014-02-05T19:46:59Z2014-02-05T19:46:59ZChocolatey 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20140Clean Code I - Design Patterns and Best Practices2014-03-16T06:42:32Z2014-03-16T06:42:32ZAll 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20141Clean Code II - Cut your Dependencies with Dependency Injection Part 12014-03-16T06:42:43Z2014-03-16T06:42:43ZAll 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20142Clean Code II - Cut your Dependencies with Dependency Injection Part 22014-03-16T06:42:58Z2014-03-16T06:42:58ZAll 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20143Clean Code III - Software Craftsmanship2014-03-16T06:43:16Z2014-03-16T06:43:16ZAll 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20144Concurrency in Java, a practical approach2014-03-03T12:37:35Z2014-03-03T12:37:35ZThis 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20145Create Your First Game for Android/iOS/Microsoft2014-03-19T11:50:37Z2014-03-19T11:50:37ZLearn 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 :)Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20146Creating Cross-Platform Mobile Apps Using C# with Xamarin2014-02-14T09:48:09Z2014-02-14T09:48:09ZiOS 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!Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20147Creating Maps Using the ESRI JavaScript API2014-02-26T14:54:43Z2014-02-26T14:54:43ZThere'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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20148Creating Single Page Applications with Ember.js2014-03-12T22:03:27Z2014-03-12T22:03:27ZEmber.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!Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20149Data bind everything! No longer bound to Windows thanks to MVVMCross2014-01-26T18:25:27Z2014-01-26T18:25:27Z<p>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.</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20150Data Integrity: the Row Spanning Dependency antipattern.2014-03-25T14:32:04Z2014-03-25T14:32:04ZWe 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",Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20151Data Modeling: Implementing Bi-Temporal Access to Data.2014-03-18T14:02:36Z2014-03-18T14:02:36ZThe 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20152Debugging in Xcode with Objective-C2014-03-11T10:12:24Z2014-03-11T10:12:24ZCome 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20153Distributed Agile Development2014-03-13T11:06:58Z2014-03-13T11:06:58Z<p>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.</p> <p>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.'</p> <p>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.</p> <p>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.</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20154Do-It-Yourself Graph Search2014-02-27T10:13:38Z2014-02-27T10:13:38Z<p>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.</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20155DRY: Writing ADO.NET Providers for ASP.NET Forms... ONCE!2014-01-22T14:27:16Z2014-01-22T14:27:16Z<p>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! <strong>Note:</strong> Code samples and a free e-book will be available for download a couple of weeks prior to the session.</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20156EF's Magic Unicorns: Code First and FluentAPI2014-02-18T18:35:48Z2014-02-18T18:35:48Z<p>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.</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20157Embracing Common Design Patterns2014-03-14T07:52:44Z2014-03-14T07:52:44ZIn 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?).Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20158Enter Web Components: It will change HTML/CSS/JS as we know it2014-01-21T11:05:22Z2014-01-21T11:05:22Z<p>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.</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20159ExpressJS and MongoDB end to end2014-03-23T10:43:01Z2014-03-23T10:43:01ZIn 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20160ExpressJs for ASP.NET MVC developers2014-02-01T06:26:14Z2014-02-01T06:26:14ZComing 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20161F# for the C# Developer2014-02-17T10:18:44Z2014-02-17T10:18:44ZBack 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20162From zero to Django in sixty minutes2014-03-12T08:24:01Z2014-03-12T08:24:01Z<p>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. </p> <p>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. </p> <p>Topics covered: </p> <ul> <li>Basic Django terminology</li> <li>Models</li> <li>Views</li> <li>urls.py</li> <li>Templates</li> <li>Testing</li> </ul> <p>Topics not covered:</p> <ul> <li>Professional best practices</li> <li>Thorough testing</li> <li>Deployment</li> <li>Security</li> </ul>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20163Gaining the Knowledge of the Open Data Protocol (OData)2014-01-28T04:25:20Z2014-01-28T04:25:20ZThe 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20164Get To Know Galileo2014-02-24T04:54:18Z2014-02-24T04:54:18ZLast 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20165Getting Started with Internet of Things!2014-01-15T11:29:41Z2014-01-15T11:29:41ZI 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)!Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20166Groom your markup with mustache2014-02-27T09:08:29Z2014-02-27T09:08:29ZIs 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20167gulp - the Streaming build system2014-02-03T11:37:23Z2014-02-03T11:37:23Z<p>Build systems are used to speed up workflow, improve performance, and increase efficiency.</p> <p>This session will be an introduction and overview of gulp, a next-gen build system.</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20168Hosting Web Applications on the Amazon Cloud2014-01-30T09:38:42Z2014-01-30T09:38:42ZAmazon 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20169How I Learned to Love Dependency Injection2014-01-16T15:05:39Z2014-01-16T15:05:39ZTightly 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20170How not to get hacked - 5 Common .net Security Vulnerabilities and how to Fix Them2014-03-19T10:39:48Z2014-03-19T10:39:48ZAs 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20171How not to get hacked 2 - 5 MORE Common .net Security Vulnerabilities and how to Fix Them2014-03-13T14:34:19Z2014-03-13T14:34:19ZAs 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20172How to Create Products People Actually Use2014-03-13T19:24:49Z2014-03-13T19:24:49Z<p>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.</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20173IEnumerable, ISaveable, IDontGetIt: Understanding .NET Interfaces2014-01-18T11:36:01Z2014-01-18T11:36:01Z<p>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.</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20174Integrating JavaScript unit-testing (QUnit) with TestNG and Maven2014-03-17T11:11:58Z2014-03-17T11:11:58ZA 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20175Introduction to AngularJS2014-01-23T04:27:33Z2014-01-23T04:27:33ZWhy 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20176Introduction to D3 js2014-01-19T11:32:53Z2014-01-19T11:32:53ZAn introduction to data visualizations with the d3.js libraryCopyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20177Introduction To Game Development with Unity3d2014-03-13T19:24:32Z2014-03-13T19:24:32ZUnity3d 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20178Introduction to Hadoop2014-03-24T08:16:10Z2014-03-24T08:16:10ZIntroduction to HadoopCopyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20179Introduction to MongoDB2014-01-20T16:20:21Z2014-01-20T16:20:21ZIntroduction to MongoDBCopyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20180Introduction to Node.js - Workshop2014-04-03T09:46:39Z2014-04-03T09:46:39ZThis 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20181Introduction to SaltStack Basics2014-03-13T12:37:25Z2014-03-13T12:37:25Z<p>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!</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20182Introduction to Selenium & Page Object Architecture2014-03-26T10:14:25Z2014-03-26T10:14:25Z<p>An introduction to building a maintainable Selenium page object architecture using Java, Maven, and TestNG</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20183Is your web site safe? What are the OWASP Top 10 web vulnerabilities2014-01-23T04:27:24Z2014-01-23T04:27:24ZWhat 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20184Isolate Your Tests with Mocks2014-01-16T15:05:42Z2014-01-16T15:05:42ZAn 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20185Just Go For It!2014-01-27T14:54:46Z2014-01-27T14:54:46ZGo 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20186Learn the Lingo: Design Patterns2014-01-18T10:30:20Z2014-01-18T10:30:20Z<p>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).</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20187Log Analysis using ElasticSearch , Logstash and Kibana2014-02-01T06:27:54Z2014-02-01T06:27:54Z<p>Demo of how production log analysis can be done using the open source stack of elasticsearch, logstash,kibana</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20188Making Your Pages Speak: Web Speech API2014-03-04T14:28:31Z2014-03-04T14:28:31ZA Practical implementation of the W3C Web Speech API
https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.htmlCopyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20189Messaging 1012014-03-14T07:53:47Z2014-03-14T07:53:47ZHave 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20190Mob Programming - Like A Boss2014-03-12T16:35:18Z2014-03-12T16:35:18ZMob 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?Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20191MongoDB: Sharding Production Databases2014-01-27T08:56:30Z2014-01-27T08:56:30ZAs 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 mistakesCopyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20192Nefarious Python for Fun and Profit2014-01-15T11:29:45Z2014-01-15T11:29:45ZWant 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20193Next Generation PaaS and Software Distribution with Docker.io2014-01-30T13:43:49Z2014-01-30T13:43:49ZDocker.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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20194Not Another Chat App (Web Sockets in the Real World)2014-02-27T11:34:46Z2014-02-27T11:34:46Z<p>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.</p> <p>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.</p> <p> </p> <p>Agenda:</p> <ul> <li>Brief Intro to Web Sockets</li> <li>Web Socket paradigm and its power</li> <li>Couple of real world socket examples</li> <li>Pros and cons of sockets</li> <li>Open discussion on real world socket problems/solutions</li> </ul>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20195Nuget Essentials2014-02-02T16:48:18Z2014-02-02T16:48:18Z<p>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.</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20196Object-Oriented Programming with Ruby2014-02-01T10:51:02Z2014-02-01T10:51:02ZThis 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!Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20197Panel: Implementing Agile in the real world2014-02-06T04:59:05Z2014-02-06T04:59:05Z<p>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.</p> <p>Please provide your feedback post the session: <a href="http://goo.gl/QpoZVl" target="_blank">Feedback form</a></p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20198Power BI - Self-Service BI A new way to ETL, store and display data in and out of the cloud2014-03-10T10:24:01Z2014-03-10T10:24:01ZLearn 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20199Practical MongoDB2014-01-27T08:56:34Z2014-01-27T08:56:34ZIn 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20200Rails 4 - A Whirlwind Tour2014-02-01T10:51:14Z2014-02-01T10:51:14ZBack 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20201Reactive UI with ClojureScript/Om2014-03-19T18:33:51Z2014-03-19T18:33:51ZLearn 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20202REST with DropWizard2014-01-20T08:33:52Z2014-01-20T08:33:52Z<p>Come learn how to build Micro Services with DropWizard. More Details to follow.</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20203Rich Web UIs with Dojo2014-03-18T11:17:47Z2014-03-18T11:17:47Z<p>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.</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20204Robust Web APIs with node.js and Express2014-01-16T15:10:33Z2014-01-16T15:10:33ZOne 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20205Rock Your .NET Coding Standards2014-01-18T08:56:39Z2014-01-18T08:56:39ZWith 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!Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20206Rock Your Code Using Code Contracts2014-04-02T15:11:12Z2014-04-02T15:11:12ZThis 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!Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20207Rock Your Code With Visual Studio Add-ins2014-01-18T08:57:09Z2014-01-18T08:57:09ZThis 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/+SubMainSoftwareCopyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20208Rogue Data Integration with Talend Open Studio2014-01-17T10:11:03Z2014-01-17T10:11:03Z<p>Your applications needs historic or external data and that could mean XML, CSV, Text, RDBMS, Big Data, NoSQL or who knows what!</p> <p>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.  </p> <p>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!</p> <p> </p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20209SASS: Organization, Performance, and Best Practices2014-01-20T09:17:38Z2014-01-20T09:17:38Z<p>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.</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20210Set it and Forget it: Automating Data Movement Management2014-02-27T16:17:15Z2014-02-27T16:17:15Z<p>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.</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20211Share More Code on iOS, Android, and Windows with Portable Class Libraries2014-01-26T18:25:11Z2014-01-26T18:25:11Z<p dir="ltr">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.</p> <p><br />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!</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20212Soft Skills for a Hard World Part 12014-01-15T11:29:50Z2014-01-15T11:29:50ZMore than anything else, your ability to communicate in the work place determines success. Learn basic communications skillsCopyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20213Soft Skills for a Hard World Part 22014-01-15T11:29:51Z2014-01-15T11:29:51ZOnce you have learned to communicate, learn to settle disputesCopyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20214T, Earl Grey, Hot: Generics in .NET2014-01-18T10:32:05Z2014-01-18T10:32:05Z<p>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.</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20215The Ultimate JavaScript Experience2014-01-27T09:57:30Z2014-01-27T09:57:30Z<p>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.</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20216TypeScript 1012014-03-11T17:53:26Z2014-03-11T17:53:26Z<p>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.</p> <p>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!</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20217Understanding React2014-03-17T09:32:35Z2014-03-17T09:32:35Z<p>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.</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20218Using HTML5 Navigation and Resource Timing APIs to Understand Client User Experience2014-03-23T10:46:39Z2014-03-23T10:46:39Z<p>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.</p> <p> </p> <p> <img src="https://bytebucket.org/beardedrobotllc/resource-timing-demo/raw/47c9bbaa9bd9d5d3c031bb89961478e1d7bb6805/images/html5-timing-demo.png" alt="HTML5 Navigation and Resource Timing in Action!" width="701" height="302" /></p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20219Using SignalR to Build Real Time Applications2014-01-16T15:10:30Z2014-01-16T15:10:30ZIn 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20220Visualizing Web Page Serve Performance Using WebRockit2014-02-01T14:45:45Z2014-02-01T14:45:45Z<p>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).</p> <p> </p> <p>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.</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20221Web Applications Re-Imagined for Today's Demanding End Users2014-03-20T15:02:03Z2014-03-20T15:02:03ZThe 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).Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20222What's new in Windows Azure Infrastructure as a Service (IaaS)2014-03-12T08:24:10Z2014-03-12T08:24:10Z<p>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.</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20223Why Agile Works...and How to Screw it Up!2014-02-06T09:47:03Z2014-02-06T09:47:03Z<p>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.</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20224Why Windows 8 Applications need OData and How You can be a Data Ninja2014-01-28T04:25:26Z2014-01-28T04:25:26ZWindows 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.Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20225Writing Mobile Apps for iOS, Android, and Windows Phone Simultaneously with PhoneGap2014-01-15T11:29:54Z2014-01-15T11:29:54Z<p>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.</p> <p>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.</p>Copyright ©2010-2024, Desert Code Campuuid:7ee39c25-ecfb-48e1-bc12-26deaae71e84;id=20226Writing your first iOS app2014-01-28T08:37:37Z2014-01-28T08:37:37ZA beginners course to creating your first iOS application.Copyright ©2010-2024, Desert Code Camp