Desert Code Camp - 2014.1 SessionsA list of all of the sessions at Desert Code Camp - 2014.1en-usDesert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=949Advanced .NET DebuggingImagine 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.Mon, 17 Feb 2014 08:26:49 Z2014-02-17T08:26:49ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=932An Introduction to Genetic AlgorithmsI'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.Thu, 30 Jan 2014 14:21:45 Z2014-01-30T14:21:45ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=927Android From the Trenches<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>Wed, 29 Jan 2014 10:37:07 Z2014-01-29T10:37:07ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=973Application Monitoring using Graphite: An IntroductionMore forthcomingMon, 17 Mar 2014 11:03:03 Z2014-03-17T11:03:03ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=956Basics of heap dump analysisSo 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)Wed, 26 Feb 2014 17:17:50 Z2014-02-26T17:17:50ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=868BDD in .NET with SpecFlowA 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.Thu, 16 Jan 2014 15:05:33 Z2014-01-16T15:05:33ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=991Bluetooth Low EnergyThis 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 CrackleMon, 17 Mar 2014 09:59:36 Z2014-03-17T09:59:36ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=948Build Stuff that Works with F#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!Fri, 14 Feb 2014 15:15:46 Z2014-02-14T15:15:46ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=929Building Web API's with HapiJS and MongoDBIn 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.comWed, 29 Jan 2014 10:52:24 Z2014-01-29T10:52:24ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=944Chef: Automate server configuration and deployment by modeling it in code<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>Thu, 06 Feb 2014 12:56:24 Z2014-02-06T12:56:24ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=939Chocolatey EssentialsChocolatey 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.Wed, 05 Feb 2014 19:46:59 Z2014-02-05T19:46:59ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=986Clean Code I - Design Patterns and Best PracticesAll 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.Sun, 16 Mar 2014 06:42:32 Z2014-03-16T06:42:32ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=987Clean Code II - Cut your Dependencies with Dependency Injection Part 1All 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.Sun, 16 Mar 2014 06:42:43 Z2014-03-16T06:42:43ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=988Clean Code II - Cut your Dependencies with Dependency Injection Part 2All 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.Sun, 16 Mar 2014 06:42:58 Z2014-03-16T06:42:58ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=989Clean Code III - Software CraftsmanshipAll 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.Sun, 16 Mar 2014 06:43:16 Z2014-03-16T06:43:16ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=965Concurrency in Java, a practical approachThis 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.Mon, 03 Mar 2014 12:37:35 Z2014-03-03T12:37:35ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=994Create Your First Game for Android/iOS/MicrosoftLearn 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 :)Wed, 19 Mar 2014 11:50:37 Z2014-03-19T11:50:37ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=908Creating Cross-Platform Mobile Apps Using C# with XamariniOS 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!Fri, 14 Feb 2014 09:48:09 Z2014-02-14T09:48:09ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=955Creating Maps Using the ESRI JavaScript APIThere'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.Wed, 26 Feb 2014 14:54:43 Z2014-02-26T14:54:43ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=907Creating Single Page Applications with Ember.jsEmber.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!Wed, 12 Mar 2014 22:03:27 Z2014-03-12T22:03:27ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=915Data bind everything! No longer bound to Windows thanks to MVVMCross<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>Sun, 26 Jan 2014 18:25:27 Z2014-01-26T18:25:27ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=978Data Integrity: the Row Spanning Dependency antipattern.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",Tue, 25 Mar 2014 14:32:04 Z2014-03-25T14:32:04ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=993Data Modeling: Implementing Bi-Temporal Access to Data.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.Tue, 18 Mar 2014 14:02:36 Z2014-03-18T14:02:36ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=970Debugging in Xcode with Objective-CCome 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.Tue, 11 Mar 2014 10:12:24 Z2014-03-11T10:12:24ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=888Distributed Agile Development<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>Thu, 13 Mar 2014 11:06:58 Z2014-03-13T11:06:58ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=958Do-It-Yourself Graph Search<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>Thu, 27 Feb 2014 10:13:38 Z2014-02-27T10:13:38ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=904DRY: Writing ADO.NET Providers for ASP.NET Forms... ONCE!<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>Wed, 22 Jan 2014 14:27:16 Z2014-01-22T14:27:16ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=952EF's Magic Unicorns: Code First and FluentAPI<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>Tue, 18 Feb 2014 18:35:48 Z2014-02-18T18:35:48ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=983Embracing Common Design PatternsIn 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?).Fri, 14 Mar 2014 07:52:44 Z2014-03-14T07:52:44ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=901Enter Web Components: It will change HTML/CSS/JS as we know it<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>Tue, 21 Jan 2014 11:05:22 Z2014-01-21T11:05:22ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=998ExpressJS and MongoDB end to endIn 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.Sun, 23 Mar 2014 10:43:01 Z2014-03-23T10:43:01ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=933ExpressJs for ASP.NET MVC developersComing 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.Sat, 01 Feb 2014 06:26:14 Z2014-02-01T06:26:14ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=950F# for the C# DeveloperBack 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.Mon, 17 Feb 2014 10:18:44 Z2014-02-17T10:18:44ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=946From zero to Django in sixty minutes<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>Wed, 12 Mar 2014 08:24:01 Z2014-03-12T08:24:01ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=924Gaining the Knowledge of the Open Data Protocol (OData)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.Tue, 28 Jan 2014 04:25:20 Z2014-01-28T04:25:20ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=954Get To Know GalileoLast 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.Mon, 24 Feb 2014 04:54:18 Z2014-02-24T04:54:18ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=867Getting Started with Internet of Things!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)!Wed, 15 Jan 2014 11:29:41 Z2014-01-15T11:29:41ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=957Groom your markup with mustacheIs 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.Thu, 27 Feb 2014 09:08:29 Z2014-02-27T09:08:29ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=940gulp - the Streaming build system<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>Mon, 03 Feb 2014 11:37:23 Z2014-02-03T11:37:23ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=930Hosting Web Applications on the Amazon CloudAmazon 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.Thu, 30 Jan 2014 09:38:42 Z2014-01-30T09:38:42ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=870How I Learned to Love Dependency InjectionTightly 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.Thu, 16 Jan 2014 15:05:39 Z2014-01-16T15:05:39ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=979How not to get hacked - 5 Common .net Security Vulnerabilities and how to Fix ThemAs 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.Wed, 19 Mar 2014 10:39:48 Z2014-03-19T10:39:48ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=980How not to get hacked 2 - 5 MORE Common .net Security Vulnerabilities and how to Fix ThemAs 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.Thu, 13 Mar 2014 14:34:19 Z2014-03-13T14:34:19ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=982How to Create Products People Actually Use<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>Thu, 13 Mar 2014 19:24:49 Z2014-03-13T19:24:49ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=891IEnumerable, ISaveable, IDontGetIt: Understanding .NET Interfaces<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>Sat, 18 Jan 2014 11:36:01 Z2014-01-18T11:36:01ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=992Integrating JavaScript unit-testing (QUnit) with TestNG and MavenA 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.Mon, 17 Mar 2014 11:11:58 Z2014-03-17T11:11:58ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=905Introduction to AngularJSWhy 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.Thu, 23 Jan 2014 04:27:33 Z2014-01-23T04:27:33ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=898Introduction to D3 jsAn introduction to data visualizations with the d3.js librarySun, 19 Jan 2014 11:32:53 Z2014-01-19T11:32:53ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=981Introduction To Game Development with Unity3dUnity3d 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.Thu, 13 Mar 2014 19:24:32 Z2014-03-13T19:24:32ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=895Introduction to HadoopIntroduction to HadoopMon, 24 Mar 2014 08:16:10 Z2014-03-24T08:16:10ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=894Introduction to MongoDBIntroduction to MongoDBMon, 20 Jan 2014 16:20:21 Z2014-01-20T16:20:21ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=874Introduction to Node.js - WorkshopThis 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.Thu, 03 Apr 2014 09:46:39 Z2014-04-03T09:46:39ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=964Introduction to SaltStack Basics<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>Thu, 13 Mar 2014 12:37:25 Z2014-03-13T12:37:25ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=914Introduction to Selenium & Page Object Architecture<p>An introduction to building a maintainable Selenium page object architecture using Java, Maven, and TestNG</p>Wed, 26 Mar 2014 10:14:25 Z2014-03-26T10:14:25ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=906Is your web site safe? What are the OWASP Top 10 web vulnerabilitiesWhat 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.Thu, 23 Jan 2014 04:27:24 Z2014-01-23T04:27:24ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=869Isolate Your Tests with MocksAn 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.Thu, 16 Jan 2014 15:05:42 Z2014-01-16T15:05:42ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=920Just Go For It!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.Mon, 27 Jan 2014 14:54:46 Z2014-01-27T14:54:46ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=892Learn the Lingo: Design Patterns<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>Sat, 18 Jan 2014 10:30:20 Z2014-01-18T10:30:20ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=934Log Analysis using ElasticSearch , Logstash and Kibana<p>Demo of how production log analysis can be done using the open source stack of elasticsearch, logstash,kibana</p>Sat, 01 Feb 2014 06:27:54 Z2014-02-01T06:27:54ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=967Making Your Pages Speak: Web Speech APIA Practical implementation of the W3C Web Speech API
https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.htmlTue, 04 Mar 2014 14:28:31 Z2014-03-04T14:28:31ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=984Messaging 101Have 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.Fri, 14 Mar 2014 07:53:47 Z2014-03-14T07:53:47ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=977Mob Programming - Like A BossMob 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?Wed, 12 Mar 2014 16:35:18 Z2014-03-12T16:35:18ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=918MongoDB: Sharding Production DatabasesAs 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 mistakesMon, 27 Jan 2014 08:56:30 Z2014-01-27T08:56:30ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=862Nefarious Python for Fun and ProfitWant 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.Wed, 15 Jan 2014 11:29:45 Z2014-01-15T11:29:45ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=931Next Generation PaaS and Software Distribution with Docker.ioDocker.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.Thu, 30 Jan 2014 13:43:49 Z2014-01-30T13:43:49ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=959Not Another Chat App (Web Sockets in the Real World)<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>Thu, 27 Feb 2014 11:34:46 Z2014-02-27T11:34:46ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=938Nuget Essentials<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>Sun, 02 Feb 2014 16:48:18 Z2014-02-02T16:48:18ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=935Object-Oriented Programming with RubyThis 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!Sat, 01 Feb 2014 10:51:02 Z2014-02-01T10:51:02ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=942Panel: Implementing Agile in the real world<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>Thu, 06 Feb 2014 04:59:05 Z2014-02-06T04:59:05ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=969Power BI - Self-Service BI A new way to ETL, store and display data in and out of the cloudLearn 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.Mon, 10 Mar 2014 10:24:01 Z2014-03-10T10:24:01ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=917Practical MongoDBIn 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.Mon, 27 Jan 2014 08:56:34 Z2014-01-27T08:56:34ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=936Rails 4 - A Whirlwind TourBack 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.Sat, 01 Feb 2014 10:51:14 Z2014-02-01T10:51:14ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=995Reactive UI with ClojureScript/OmLearn 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.Wed, 19 Mar 2014 18:33:51 Z2014-03-19T18:33:51ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=899REST with DropWizard<p>Come learn how to build Micro Services with DropWizard. More Details to follow.</p>Mon, 20 Jan 2014 08:33:52 Z2014-01-20T08:33:52ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=966Rich Web UIs with Dojo<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>Tue, 18 Mar 2014 11:17:47 Z2014-03-18T11:17:47ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=877Robust Web APIs with node.js and ExpressOne 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.Thu, 16 Jan 2014 15:10:33 Z2014-01-16T15:10:33ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=889Rock Your .NET Coding StandardsWith 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!Sat, 18 Jan 2014 08:56:39 Z2014-01-18T08:56:39ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=1000Rock Your Code Using Code ContractsThis 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!Wed, 02 Apr 2014 15:11:12 Z2014-04-02T15:11:12ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=890Rock Your Code With Visual Studio Add-insThis 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/+SubMainSoftwareSat, 18 Jan 2014 08:57:09 Z2014-01-18T08:57:09ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=884Rogue Data Integration with Talend Open Studio<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>Fri, 17 Jan 2014 10:11:03 Z2014-01-17T10:11:03ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=900SASS: Organization, Performance, and Best Practices<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>Mon, 20 Jan 2014 09:17:38 Z2014-01-20T09:17:38ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=960Set it and Forget it: Automating Data Movement Management<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>Thu, 27 Feb 2014 16:17:15 Z2014-02-27T16:17:15ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=916Share More Code on iOS, Android, and Windows with Portable Class Libraries<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>Sun, 26 Jan 2014 18:25:11 Z2014-01-26T18:25:11ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=858Soft Skills for a Hard World Part 1More than anything else, your ability to communicate in the work place determines success. Learn basic communications skillsWed, 15 Jan 2014 11:29:50 Z2014-01-15T11:29:50ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=859Soft Skills for a Hard World Part 2Once you have learned to communicate, learn to settle disputesWed, 15 Jan 2014 11:29:51 Z2014-01-15T11:29:51ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=893T, Earl Grey, Hot: Generics in .NET<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>Sat, 18 Jan 2014 10:32:05 Z2014-01-18T10:32:05ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=919The Ultimate JavaScript Experience<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>Mon, 27 Jan 2014 09:57:30 Z2014-01-27T09:57:30ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=971TypeScript 101<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>Tue, 11 Mar 2014 17:53:26 Z2014-03-11T17:53:26ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=990Understanding React<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>Mon, 17 Mar 2014 09:32:35 Z2014-03-17T09:32:35ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=999Using HTML5 Navigation and Resource Timing APIs to Understand Client User Experience<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>Sun, 23 Mar 2014 10:46:39 Z2014-03-23T10:46:39ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=875Using SignalR to Build Real Time ApplicationsIn 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.Thu, 16 Jan 2014 15:10:30 Z2014-01-16T15:10:30ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=937Visualizing Web Page Serve Performance Using WebRockit<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>Sat, 01 Feb 2014 14:45:45 Z2014-02-01T14:45:45ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=997Web Applications Re-Imagined for Today's Demanding End UsersThe 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).Thu, 20 Mar 2014 15:02:03 Z2014-03-20T15:02:03ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=974What's new in Windows Azure Infrastructure as a Service (IaaS)<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>Wed, 12 Mar 2014 08:24:10 Z2014-03-12T08:24:10ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=943Why Agile Works...and How to Screw it Up!<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>Thu, 06 Feb 2014 09:47:03 Z2014-02-06T09:47:03ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=922Why Windows 8 Applications need OData and How You can be a Data NinjaWindows 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.Tue, 28 Jan 2014 04:25:26 Z2014-01-28T04:25:26ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=857Writing Mobile Apps for iOS, Android, and Windows Phone Simultaneously with PhoneGap<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>Wed, 15 Jan 2014 11:29:54 Z2014-01-15T11:29:54ZCopyright ©2010-2024, Desert Code Camphttps://apr2014.desertcodecamp.com/session/default.aspx?sessionid=926Writing your first iOS appA beginners course to creating your first iOS application.Tue, 28 Jan 2014 08:37:37 Z2014-01-28T08:37:37ZCopyright ©2010-2024, Desert Code Camp