Desert Code Camp - 2013.1 SessionsA list of all of the sessions at Desert Code Camp - 2013.1en-usDesert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=604A Love Child with AngularJS and Socket.ioAngularJS is an excellent client-side JavaScript framework and add in Socket.io and it is time to break out Barry White, candlelight dinners and bear skin rugs in front of the fireplace. Client side applications with real time messaging? The H is O!Mon, 04 Feb 2013 15:34:03 Z2013-02-04T15:34:03ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=681Activating Wonder Twin Powers: NoSQL and Relational Databases Unite to Take on Corporate Challenges•Learn how to leverage the advantages of Relational and NoSQL technology together in order to meet growing customer needs for highly available real time information by combining the rich functionality of RDBMS's with the high availability and scalability provided by NoSQL solutions. The session will walk through decisions made to stand up a highly available internal platform and lessons learned, choosing between database technologies, including how to combine them, and code used to develop against each as well as to manage transactions that utilize both.Thu, 04 Apr 2013 11:30:04 Z2013-04-04T11:30:04ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=663Agile ToolsDifferent tools that agile team can use to quickly move discussions to resolution, quickly estimate work, to measure fine-grained progress and more.Wed, 13 Mar 2013 18:37:44 Z2013-03-13T18:37:44ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=624Amazon Web Services for PHP DevelopersAmazon Web Services and the AWS SDK for PHP continue to put more power into the hands of PHP developers to build robust and scalable web applications. With version 2 of the AWS SDK for PHP, developers now have an even more powerful library built on top of existing open source software like the Guzzle HTTP framework and the Symfony 2 Event Dispatcher. In this session you will learn how about Amazon Web Services, how to use the new AWS SDK for PHP (including examples using Amazon S3 and Amazon DynamoDB), and how you can quickly deploy your application to AWS Elastic Beanstalk. Though this session will primarily cater to PHP developers, the information about AWS applies to other developers as well. AWS has official SDKs for PHP, Java, .NET, Python, Ruby, iOS, Android, and Node.js.Wed, 03 Apr 2013 09:34:09 Z2013-04-03T09:34:09ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=592An Arduino Data LoggerUse an Arduino, a Chronodot, an LCD display, and sensors for recording data over timeSat, 02 Feb 2013 15:21:17 Z2013-02-02T15:21:17ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=656Android Custom Adapters for Grouped Tables and Spinner SubtitlesWow, thanks for reading the More Info, that title was rough! iOS developers have it so easy! Building a nice grouped table or adding subtitles and icons to a spinner is not trivial for Android developers. I'll show you how to build a sweet custom adapters and implement them in your code. If there's time, we'll even have a quick look at ActionBarSherlock for Android. A thrilling hour of Android programming! In case you still weren't intrigued, there will also be a book and Starbucks gift card giveaway.Fri, 08 Mar 2013 14:00:29 Z2013-03-08T14:00:29ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=666Android: Building More with LessBuilding an Android application of any worth is no trivial task. From integrating with remote APIs to making sure that the UI and UX are set up properly takes a lot of time, and more so, a ton of code to do. In this session, learn how to stand on the shoulders of giants to create compelling applications with minimal code that will operate and look great on Android 2.x up to the current version of Android. 

You will be introduced to some open-source libraries such as Dagger, Otto, ActionBarSherlock, GSON, HTTP Request, Maven and more. At the end of this session, you should be able to download a template application and begin working on your next masterpiece.Thu, 14 Mar 2013 21:20:06 Z2013-03-14T21:20:06ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=610AngularJS and PhoneGap UNITE!AngularJS is a powerful client-side JavaScript library for building web apps. Many developers are finding that AngularJS greatly simplifies and improves their development process. Using PhoneGap together with Angular, you can have this same power and simplicity in a mobile app. Better yet, you can write code that's portable across desktops, phones, and tablets.

This talk will cover the basics of working with AngularJS, as well as some special considerations when working with PhoneGap. The talk will also cover how to debug, test, and benchmark AngularJS apps with PhonegapTue, 05 Feb 2013 09:22:29 Z2013-02-05T09:22:29ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=642Asynchronous Messaging Patterns using ZeroMQMany solutions cannot be solved through normal web services. Some work takes a while to complete and clients cannot be expected to block and wait for that work to complete. Other distributed solutions involve a producer with multiple consumers. Do you have to send events or notifications to multiple listeners? In this presentation, we will look at the problem of asynchronous messaging architectures and how ZeroMQ can help to solve your messaging needs. We will look at how to implement asynchronous distributed components that can handle request/reply, point-to-point, or publish-subscribe messaging patterns. We will also look specifically at heterogeneous solutions where .NET, Java, Node.js, Python, and other systems can collaborate and communicate using ZeroMQ.Sat, 16 Feb 2013 19:33:58 Z2013-02-16T19:33:58ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=593Behavior Driven Development or: How I Learned To Stop Worrying and Love My UsersWhile Behavior Driven Development is not always the best defined term, the concept of designing a system by defining its external behaviors is easy to grasp by both developer and user. In this session, see an example of using SpecFlow and Selenium to define a simple system in plain English, but then execute that specification using an automated test.Thu, 28 Feb 2013 22:06:46 Z2013-02-28T22:06:46ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=590BizTalk ESBLearn about how they way Microsoft implements an Enterprise Service Bus.
Learn what things the Stott Creations team has done to enhance the features and functionality of the ESB Toolkit to make it more user friendly (both in decreased development time, and business user interfaces).
We will be looking at the interface using Microsoft's just released BizTalk 2013, which Stott Creations was a part of the ESB roll-out for BizTalk 2013.Sat, 02 Feb 2013 09:28:20 Z2013-02-02T09:28:20ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=612Building a DSL using an OData SourceDomain specific languages are a great way to wrap-up functionality designed to be used by other programmers in the problem space. In this session, we will extend LINQ, a domain language for querying data, to allow querying of the OData source for a specific problem domain. We will first extend the DSL by enabling search on the OData source. We'll then spend the rest of the session on ways to improve query maintainability and discoverability within our DSL.Wed, 06 Feb 2013 10:01:32 Z2013-02-06T10:01:32ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=649Building an Office Add-in without the pain of VSTO or COMUse your existing C# and XAML skills to build Office Add-ins using WPF. Admittedly uses a 3rd-party tool, but worth the price of admission to avoid VSTO and COM. Will show how to wire up to use a standard WPF UserControl, and tricks to get drag-and-drop working as well. Am currently using this in a production application, so open to any questions/discussion.Mon, 25 Feb 2013 10:20:16 Z2013-02-25T10:20:16ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=607Callback to the FutureGreat Scott! Even with jQuery and Backbone, DOM and AJAX events can leave even the most seasoned developer lost in callback shenanigans. Learn about different event patterns to prevent your Web application from being lost in alternate dimensions.Mon, 04 Feb 2013 16:34:12 Z2013-02-04T16:34:12ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=655CanJS in PracticeCanJS is a MIT-licensed, client-side, JavaScript framework that makes building rich web applications easy. Use it because it’s: Smaller, Faster, Safer, Easier, Library-er.

There are dozens of frameworks for JavaScript and Clientside development. Why should I use CanJS?
CanJS gives you the basis for building great JavaScript Clients that attach to RESTful Web APIs.
can.Observe provides the observable pattern for JavaScript Objects. It lets you: Set and remove property values on objects, Listen for property changes and Work with nested properties.
can.Model is a can.Observe that connects to a RESTful interface.
Extend can.Model with your domain specific methods and can.Model provides a set of methods for managing changes.
can.route is a special can.Observe that updates window.location.hash when its properties change and updates its properties when window.location.hash changes. can.route uses routes to translate URLs into property values. If no routes are provided, it just serializes the route into standard URL-encoded notation.
can.Control creates organized, memory-leak free, rapidly performing, stateful controls. Use it to create UI controls like tabs, grids, and context menus and organizes them into higher-order business rules with can.route. It can serve as a traditional view and a traditional controller.
This session will demonstrate a CanJS Client that connects to a .Net WebAPI and provides a full working solution.
I have created NuGet packages and Templates for you to get up to speed developing your Client quickly with Visual Studio or Web Matrix.Thu, 07 Mar 2013 10:11:37 Z2013-03-07T10:11:37ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=594Clean Code: Homicidal Maniacs Read Code, TooThere's no such thing as a write-once application. The world is constantly changing, and our code needs to change with it. We'll think in small pieces and take a look at some principles and techniques that will keep our code manageable and understandable. Think about the developer who will come after you. Now, imagine that he's a homicidal maniac who knows where you live. Examples will be in C#, but the principles apply to pretty much every programming language.Sat, 16 Feb 2013 09:21:11 Z2013-02-16T09:21:11ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=641Creating Extensible .NET Applications using v8You've probably heard of Google's v8 JavaScript engine. It's at the heart of Node.js and Google Chrome. But did you know that v8 is a reusable JavaScript engine that you can use in your own applications? In this presentation, we will look at how you can get the source code for v8, build it on Windows, and integrate v8 into your .NET applications. We will explore a sample application that exposes a .NET object model to v8 and allows end-users to create scripts to extend the functionality of the application. You will learn techniques to create your own extensible applications using v8 and JavaScript.Sat, 16 Feb 2013 19:13:25 Z2013-02-16T19:13:25ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=615Creating responsive, dynamic user interfaces with KnockoutJS.KnockoutJS is a JavaScript library for creating dynamic user interfaces using the Model-View-ViewModel (MVVM) pattern. During this presentation, we will explore a few key concepts of KnockoutJS, and how using the MVVM pattern can give you better separation of responsibilities in your JavaScript.Thu, 07 Feb 2013 13:44:54 Z2013-02-07T13:44:54ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=683Creating Your First Video Game for the Windows StoreWould you like to be part of the hottest genre of apps in the Windows Store? Find out how easy it is to get started to create your own video game! How easy is it? A complete video game will be developed from start to finish in this session using the GameMaker gaming engine by Yo Yo Games. If you are into gaming, you simply cant afford to miss this session! Mon, 23 Dec 2024 08:07:40 Z2024-12-23T08:07:40ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=596Data Integrity: the Row Spanning Dependency patternA Row Spanning Dependency is where the value of a field is linked to the value in a field in a different row of the same table. This can be easily identified when a row contains fields named something like "begin_xxx" and "end_xxx" where the end value must match a corresponding begin value in another row. It can quietly wreak havoc with data integrity in a relational database and complicates CRUD operations. Fortunately, it can be completely and cleanly eliminated because, as it turns out, it is not at all necessary. This session covers identifying and eliminating row spanning dependencies and the changes needed in queries.Sat, 02 Feb 2013 17:11:56 Z2013-02-02T17:11:56ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=630Date and Time FundamentalsManaging dates and times properly is one of the most difficult things to get right in software. This is mostly due to us stupid humans and the how we have introduced nuance into our calendars and clocks. In this session, I will help you straighten it all out. We will cover general concepts such as UTC and GMT, daylight savings time, local time vs. instantaneous time, time zones and the different time zone databases, ISO8601 standards, important date-time gotchas, and more. We will dive deep into classes for managing time in the Microsoft .Net framework, including DateTime, DateTimeOffset and TimeZoneInfo. We will then take a look at NodaTime - a C# library aimed at replacing those classes. We will also look at the JavaScript Date object, and several JavaScript libraries including MomentJS, TimezoneJS, and jsTimeZoneDetect. Code samples will be in either C# or JavaScript, but much of the information is relevant to any modern software language or architecture.Thu, 14 Feb 2013 05:21:14 Z2013-02-14T05:21:14ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=645Deep dive into ASP.NET SignalRSignalR is a new library for ASP.NET developers that allows you to add "real-time" web functionality to your ASP.NET application. SignalR provides a simple to use API for doing server to client RPC calls in situations where you may want server-side code, to push content to connected clients.Tue, 19 Feb 2013 20:30:50 Z2013-02-19T20:30:50ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=646Deobfuscating Stupidity: Obfuscation Tactics, Techniques, and Uses in MalwareA discussion of obfuscation in PHP scripts; the differences between obfuscation, encryption, and hashing; obfuscation/deobfuscation methods and tools; and examples from malware found in the wild.Fri, 22 Feb 2013 09:30:27 Z2013-02-22T09:30:27ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=639Dependency Injection: A Practical IntroductionWhat is Dependency Injection? The answers to the question seem to cause more confusion than help. We'll take a look at what Dependency Injection (DI) is, when we should use it, and what design patterns we can use to help us implement it. Benefits range from extensibility to late binding to testability. We can implement DI with or without a container (such as Unity, Ninject, or StructureMap), but we'll see how a container can do a lot of the work for us.Sat, 16 Feb 2013 09:22:20 Z2013-02-16T09:22:20ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=654Designing a REST Web APIThe success of a Web API design completely depends on how quickly developers can get up to speed and start using your API.
What are the standards and best practices to consider when designing a great Web API.
You have to get the design right first, because design communicates how your API will be used.
Learn how to design for the optimal benefit of the App Developer. 
See firsthand what tools are beneficial in the design and API development process.
Get an overview of the Representational State Transfer (REST) architectural style for distributed hypermedia and how to use it correctly with Web API.
The Sample Project demonstrated is a .Net Web API using RavenDB as the backend without Entity Framework.
I will also demonstrate how to deal with things like Cross-origin resource sharing (CORS) and Using OAuth to secure your APIThu, 07 Mar 2013 10:38:07 Z2013-03-07T10:38:07ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=588Dive into HTML5 Game DevelopmentThe current state of game engines and features including the new FrozenJS engine. As well as ways to very quickly get started writing games for desktop and mobile.Sat, 02 Feb 2013 07:20:44 Z2013-02-02T07:20:44ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=665DOS attacksA deep explanation about DOS (and DDOS) attacks and how to protect our services against them.Sat, 23 Mar 2013 07:30:33 Z2013-03-23T07:30:33ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=605Encapsulating StyleInstead of adding complexity with more toolsets and adding confusion with popular religious patterns, learn how to tackle your CSS styles and keep them organized from the onset and throughout.Mon, 04 Feb 2013 16:34:05 Z2013-02-04T16:34:05ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=629Esoteric LINQ and Structural MadnessLike a mad scientist, or perhaps a profane philosopher, I cannot stop researching declarative programming and applying the query expression syntax to data structures and patterns beyond sequences and observers. Be forewarned: this talk is not for the faint of heart. I will immediately take you on a deep dive into the heart of what it means to be declarative, applying useful functions to gain you both performance and syntactic clarity, before moving into the application of query expressions to concepts like functions, graphs, and specifications. This talk will make your brain hurt, but in the process you will see C# through a new lens.Tue, 12 Feb 2013 13:01:58 Z2013-02-12T13:01:58ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=661Facilitating Amazing RetrospectivesAttend this session if you want to learn how to facilitate retrospectives that will help your team grow, adapt and mature. 

You'll leave this session with a solid understanding of your role as the facilitator of a retrospective, new exercises and techniques for driving your team towards continuous improvement and awareness of common patterns and anti-patterns of an agile retrospectives.Tue, 12 Mar 2013 21:38:36 Z2013-03-12T21:38:36ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=587Faster than AJAX: Asynchronous real-time apps with Node and websocketsHow to build incredibly fast applications using remote procedure calls over websockets with a simple syntax and sharing code between the client and server.Sat, 02 Feb 2013 07:17:31 Z2013-02-02T07:17:31ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=599From Scrum team to an Agile TeamThis is session starts with a quick presentation on what is Scrum, its limitations and challenges implementing Scrum in an enterprise with global teams. Also presenter will share solutions used for some of the practical challenges implementing Scrum. Presentation includes what else to be done to become an Agile team than just following Scrum process. I hope this session will be useful for both new ones to Scrum world as well for those who are already using Scrum at work.Sun, 03 Feb 2013 17:54:05 Z2013-02-03T17:54:05ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=617Fundamentals of Web Performance OptimizationAn overview of WPO (Web Performance Optimization) techniques applicable in all technology stacks. The focus of the discussion will be on the techniques themselves and not on any framework-specific tools.Fri, 08 Feb 2013 15:10:59 Z2013-02-08T15:10:59ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=613Getting Started with Raspberry PiThe Raspberry Pi is a small credit-card sized linux computer. Developers and hobbyists around the world are creating miraculous applications and projects, and now you can join them. Last year we presented Raspberry Pi, What We Have Learned So Far, This year's presentation covers the first steps to using your Pi. From the basics, like burning your SD Card to creating a News Reader, you will learn GPIO Basics and simple Python tools. Communication between other components using SPI or I2C will also be covered. It is recommended, but not required that you have a Raspberry Pi, some knowledge of Python and simple electronics.Wed, 06 Feb 2013 18:05:58 Z2013-02-06T18:05:58ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=669Git Educated About Git - 20 Essential CommandsGit is a free, distributed version control system that is fast, easy to learn, and has great features like cheap local branching and convenient staging areas. It has also taken the open source world by storm, especially with the help of online services like GitHub. Learn 20 essential commands that will help you work with your next project, as well as common conventions and workflows.Wed, 03 Apr 2013 09:34:11 Z2013-04-03T09:34:11ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=679Grunt.js Deep DiveAt the last DCC, I gave a talk on Grunt.js and how it can improve your workflow. The talk covered Grunt 0.3.17 with mentions to 0.4.0 and was heavily driven by what the crowd wanted to know about. Topics covered included: why you would use Grunt, installation, built-in tasks, community tasks, and Grunt internals and usage. This session will focus on Grunt 0.4 and will once again be driven by what the crowd wants to learn about. I can cover topics explored the first time around and things like migration pains/solutions, what's the same/changed, picking the right community modules or modification to fit your needs, etc.Mon, 01 Apr 2013 20:25:29 Z2013-04-01T20:25:29ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=682Hacking Your Attorneys Fees: Business Law 101Learn the legal aspects of starting up your own start-up without spending a small fortune in attorneys fees. Find out which organizational structure best suits the immediate needs of the co-founders and set it up on your own. Learn how to protect your intellectual property via copyright, patent and trademark. Learn the basics of building a solid contract. Find out what you can do yourself versus when an attorney is necessary.Mon, 23 Dec 2024 08:07:40 Z2024-12-23T08:07:40ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=660Hacking Your Team with the Core ProtocolsAttend this session if you want to learn how to hack your team's culture, mindsets and interactions.

Learn how to use the Core Protocols to elevate your team to the next level. Participants will learn how to quickly and unanimously move their team forward, improve their daily stand-up meetings and other techniques to increase effective communication.Wed, 13 Mar 2013 06:12:31 Z2013-03-13T06:12:31ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=676Hands on with ActiveMQBrief intro to ActiveMQ then hands on with the ActiveMQ performance module and some common performance optimizations and tuning parametersTue, 09 Apr 2013 08:34:02 Z2013-04-09T08:34:02ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=597How to Hire and Manage Virtual Software DevelopersThis is a presentation on how to hire and product manage virtual software developers. It's aimed at entrepreneurs, product owners and PM's. You will learn where to look for talent, how to hire virtual talent, how to scope your project, and how to successfully manage a team of virtual developers to ensure your project gets done with high quality and high efficiency.Sat, 02 Feb 2013 18:19:33 Z2013-02-02T18:19:33ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=644Inroduction to ASP.NET MVC ScaffoldingASP.NET MVC Scaffolding allows you to develop applications with amazing speed, while still allowing you the flexibility to customized your application to meet the needs of your customers. Come learn how to take advantage of this great framework.Mon, 18 Feb 2013 07:23:10 Z2013-02-18T07:23:10ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=608Intro to ScalaThis is a general introduction to the Scala programming language. Scala is a JVM based language that integrates features of object oriented and functional programming. Code sizes are typically reduced by a factor of two to three when compared to equivalent Java applications.Mon, 04 Feb 2013 18:03:10 Z2013-02-04T18:03:10ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=658iOS for the .Net Web GuyHaving spent most of the last 15 years writing web apps on a Microsoft platform, the switch to iOS was a tricky one for me. I will share all that I have learned in the last year making the transition. You will learn the basics of iOS programming from a .NETters perspective. For any .NET web developers looking to make the jump to iOS, but are not sure what to expect, this session is for you.Sat, 09 Mar 2013 05:52:24 Z2013-03-09T05:52:24ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=677iOS: Building More with LessInspired by Donn Felker's "Android: Building More with Less", this session is about leveraging proven code that has already been written. Creating an iOS app can be time consuming and starting from scratch translates to wasted time. The Apple developer community is full of smart people who have created proven solutions to common problems. Learn how to leverage open-source libraries and tools such as AFNetworking, Cocoa Pods, ViewDeck, and Kiwi. This session will also cover some common iOS development patterns and boiler-plate code that every project needs. A comprehensive example project will be provided on GitHub that contains all the topics discussed during the session. Build more with less so you can complete your projects early and under budget. What you will do with your new free time is up to you.Mon, 25 Mar 2013 13:43:03 Z2013-03-25T13:43:03ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=668Lean Startup in Big EnterpriseBy now you may have heard about the book The Lean Startup by Eric Ries. Great ideas for small, nimble startups seeking the right product for the right customers. Just for small companies, right? Nope. Big companies, like General Electric big (http://www.startuplessonslearned.com/2012/11/bringing-lean-startup-to-life-at-ge.html) are getting big into Lean Startup. What are they doing that maybe your big company should be doing? What is Lean Startup and how can you bring the ideas of Build-Measure-Learn into your large enterprise? This session will layout the basics of the Lean Startup ideas and then dive into how even the largest of companies can use them to improve products and projects. We'll also check in on some of the bumps you may face along the way to creating an "intrapreneur" environment in your enterprise.Mon, 18 Mar 2013 06:20:01 Z2013-03-18T06:20:01ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=640Learn the Lingo: Design PatternsYou already use Design Patterns but probably don't know it. Observer, Adapter, Iterator, Proxy -- Learning the lingo allows you to better communicate your ideas with other developers. We'll take a look at several GoF patterns that we regularly use without realizing it. Don't know who the GoF is? Join us to find out. No prior knowledge of design patterns is required (but some .NET experience will be helpful).Sat, 16 Feb 2013 09:22:09 Z2013-02-16T09:22:09ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=586Managing CouchDB with Node.jsCouchDB and Node.js are a match made in heaven! IN this session you will learn how to manage your design documents and setup unit tests for your map/reduce functions using Node.js.Fri, 01 Feb 2013 16:43:33 Z2013-02-01T16:43:33ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=633MapBox - Using OpenStreetMap Data in Your Projects & SitesTune OpenStreetMap data to your needs with MapBox tools TileMill Maki and the new iD editor.Thu, 14 Feb 2013 12:36:59 Z2013-02-14T12:36:59ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=631Maqetta - Ready To Go UI Prototyping in HTML5 CSS3 and JSAn Introduction and Demo of UI development for an Eclipse project using Maqetta.Thu, 14 Feb 2013 12:36:51 Z2013-02-14T12:36:51ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=680Mostly Cloudy: A Demo of an Internal Cloud and the Technology Behind itAre you interested in learning more about a large-scale open source cloud solution with integrated network, compute, and storage capabilities? Woud you like to learn more about Mule integration? We will cover these topics in a highly interactive session format and encourage you to attend.Tue, 02 Apr 2013 12:05:58 Z2013-04-02T12:05:58ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=603Moving to the Dark Side - How to Break Into IT ManagementAre you considering changing your career from the thought leader track to the people leader track? We will discuss some of the advantages and pitfalls of entering into management, how to get started, the successful pitch upwards and buy-in from below. $25 Starbucks gift card giveawayMon, 04 Feb 2013 14:56:46 Z2013-02-04T14:56:46ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=618Node.js Streams: The funnest io abstraction.Streams are a powerful asynchronous io abstraction. Node provides a streaming
interface for: HTTP requests/responses, file reads/writes, stdin/stdout/stderr,
TCP sockets, child processes, and more out of the box. Not to mention the
many modules for websockets, databases, hardware, transforming and controlling
the flow of streams, etc. All of these things are compatible,
and can be piped together quickly and flexibly.

We will be taking a comprehensive look at streams, from the guts of how
they are implemented to the high level libraries that make working with them
easy. We will see how streams benefit our software both in performance and
in simplicity. Questions are encouraged, and we will be examining a lot of code.

Familiarity with the basics of JavaScript/Node.js will be assumed.Mon, 11 Feb 2013 05:48:52 Z2013-02-11T05:48:52ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=614Object-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!Wed, 06 Feb 2013 13:28:13 Z2013-02-06T13:28:13ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=652Ooey GUI WebHaving a good, consistent, clean UI is important, but how do you do this? In this session we'll look at free UI widgets to get you going. You'll see how easy it is to add these widgets to your web pages and see some customization on them too. Along the way we'll visit jQuery UI, Wijmo Open and more. A basic understanding of jQuery is recommended but not required.Wed, 27 Feb 2013 14:20:05 Z2013-02-27T14:20:05ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=591Panel: Implementing Agile in the real worldParticipants are encouraged to bring their burning questions. Panel members share their insights, practices they use and their specific situation (team size, organizational culture, etc.).Sat, 02 Feb 2013 19:28:06 Z2013-02-02T19:28:06ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=583RavenDB 2.0 - Painless NoSQL for the .Net Developer [Part 1 of 2]Have you wanted to break in to NoSQL but were intimidated by other options? Do you think scalable multi-entity transactions are not possible without a full RDBMS like SQL Server? Fed up with the mapping overhead that comes with ORMs like Entity Framework? Come take a closer look at RavenDB. This next-generation document database was designed specifically with .Net developers in mind. Learn how easy it is to use to add a schemaless, structured data store to your .Net applications. No prior knowledge of RavenDB or NoSQL is required, but you should have familiarity with C# and general application development. This will be a fast-paced discussion with lots of real code examples. We will cover the following areas, starting from the basic, and moving towards the advanced. There should be something for everyone, including Document / Entity modeling considerations, Basic usage of Raven's LINQ API, Full-Text analyzed searches, Using Map / Reduce indexes, Indexing related documents (pseudo-JOIN operations), Update patching via JavaScript, Real-Time Change Notification, Replicating data to a SQL Server, Geo-Spatial Search (distance, proximity, polygons, etc.), Using RavenDB in a web application, Embedding RavenDB in a desktop application, Indexing Word and PDF attachment contents, and Temporal Data Versioning. THIS IS A TWO PART SERIES. YOU SHOULD ATTEND BOTH SESSIONS.Fri, 01 Feb 2013 10:22:35 Z2013-02-01T10:22:35ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=584RavenDB 2.0 - Painless NoSQL for the .Net Developer [Part 2 of 2]This is the second part of the two-part series on RavenDB. You should plan to attend both sessions. There will not be a break between sessions.Fri, 01 Feb 2013 10:22:33 Z2013-02-01T10:22:33ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=585Real World Backbone.jsTodo App's not doing it for you? In this session we will walk through some real world code examples of Backbone.js that interact with Node.js. The topics covered include every component: Router, Model, Collection, View, and Events. The examples will also include some Twitter Bootstrap and Express for good measure.Fri, 01 Feb 2013 16:43:45 Z2013-02-01T16:43:45ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=609Realtime Communications with Node.JS, WebSockets, & WebRTCHave you heard about the latest advancements in HTML5 WebRTC (Real-Time Communications)? You can now develop audio and video-based web apps with native HTML5 (No Flash / No Java Applets)! We are building a Skype-killer using these technologies and it's called Twelephone (http://twelephone.com). We'll dissect our single-page realtime web app to show you how its built!Tue, 05 Feb 2013 08:39:15 Z2013-02-05T08:39:15ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=619RESTful Web Apps with WebAPI (part 1 of 2) - Backend with MongoDBThe session will go over NoSQL databases with a focus on MongoDB. It will go over the official 10gen C#/MongoDB drivers and how they can be used. Lastly it will cover how to put it all together to create a RESTful WebAPI project.Mon, 11 Feb 2013 13:02:46 Z2013-02-11T13:02:46ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=620RESTful Web Apps with WebAPI (part 2 of 2) - Front-End with Backbone.jsThis session will take the RESTful WebAPI we looked at in the first session and show how we can consume and display that data with Backbone.js and Require.js all while using CoffeeScript. We'll even hack into Backbone.js a little bit to show how we can dynamically extract header information from our REST responses.Mon, 11 Feb 2013 13:02:47 Z2013-02-11T13:02:47ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=627Secrets of a .NET NinjaIn my years developing C# applications, I have seen techniques both good and bad. I will demonstrate those that are good, rant against those that are bad, and reveal those unknown to many. Whether a novice or a seasoned coder, you will find something useful, or perhaps even wicked, that you can do with C# and the .NET Framework.Tue, 12 Feb 2013 12:58:59 Z2013-02-12T12:58:59ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=672Software Quality via Unit TestingSoftware quality is critical to consistently and continually delivering new features to our users. This talk covers the importance of software quality and how to deliver it via unit testing, Test Driven Development and clean code in general. All examples are in Java but the concepts apply to software written in any language.Mon, 18 Mar 2013 17:58:33 Z2013-03-18T17:58:33ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=622SSRS – Implementing a Rendering ExtensionIn SSRS, a rendering extension is a component or module of a report server that transforms report data and layout information into a device-specific format. Out of the box, SSRS includes seven rendering extensions: HTML, Excel, Word, CSV, XML, Image, and PDF. During this presentation, Josh will show how to implement and deploy a JavaScript Object Notation (JSON) rendering extension for SSRS. JSON is a lightweight data-interchange format commonly used in rich client web applications.Tue, 12 Feb 2013 05:43:26 Z2013-02-12T05:43:26ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=670Surviving and Thriving in Technical InterviewsTechnical interviews can a difficult and stressful part of finding employment. Regardless of whether or not you receive the job offer, you can make the technical interview process a good experience every time. In this session, you will learn some tips for your next technical interview, and also analyze some example interview and coding questions to learn how to think about and answer questions in a way that shows off your abilities.Wed, 03 Apr 2013 09:34:12 Z2013-04-03T09:34:12ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=653T4 code generation - Intro to the Microsoft Text Template Transformation Toolkit (T4)Microsoft's T4 toolkit which is built into Visual Studio can help you quickly generate classes, methods or other types of code files. Now's the time to introduce code generation to your company. If you're doing something twice or more, manually, in your company, generate it! T4 templates can help you generate tons of code! You can use T4 to generate Entity Models, Database Structures or entire facades!Thu, 28 Feb 2013 15:02:11 Z2013-02-28T15:02:11ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=643Testing RESTful Web ServicesWith the ASP.NET Web API framework, exposing your applications data and services over HTTP is incredibly simple. In this session we will focus on techniques which can be used to test RESTful end points. We will start with simple Unit testing and progress up to more advanced behavior based testing using SpecFlow and RestSharp.Sun, 17 Feb 2013 12:49:07 Z2013-02-17T12:49:07ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=664The importance of the Product Owner figure.A discussion about the definition and responsabilities of the Product Owner (or similar roles) and the importance of their commitment and availability for the project. This session will be free of all slides and driven by experiences and participation.Mon, 18 Mar 2013 06:20:07 Z2013-03-18T06:20:07ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=628The Legend of LambdaLambda expressions are a powerful feature of C#, one that can be wielded for good or evil. Attend this session for an adventure through the evolution of the C# language, from the depths of the delegate keyword to the expressiveness of the lambda expression. I will show you how anyone can easily learn to wield and empower code with lambda expressions. It's dangerous to go alone! Take this: =>.Tue, 12 Feb 2013 13:01:50 Z2013-02-12T13:01:50ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=595TypeScript 101What's up with TypeScript and why should I care?Wed, 27 Feb 2013 13:27:00 Z2013-02-27T13:27:00ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=623Unit Testing your SQL Server database using tSQLttSQLt is a database unit testing framework for Microsoft SQL Server. In this session we'll review the main aspects of tSQLt including: installing the tSQLt framework, creating and executing unit tests, isolating code using fake tables/views and stored procedure spies.Tue, 12 Feb 2013 05:43:28 Z2013-02-12T05:43:28ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=600Unity IntroThis session will present an overview of the Unity engine: its strengths and weaknesses, and typical workflows.Fri, 15 Mar 2013 14:11:11 Z2013-03-15T14:11:11ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=674Using Arduino (and an Android app) to control Lego motorsAn introduction to Arduino hardware (including "What is ADK?") and Arduino software and specifically what was needed to control Lego motors. Why Lego and Lego motors? Then a demo of a remote control Lego car! Then maybe another demo if I haven't taken that car apart! Lastly, a wrap up lessons learned and other options.Thu, 21 Mar 2013 20:00:26 Z2013-03-21T20:00:26ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=650Voice enabling web pages and mobile applicationsThe broad introduction of Voice User Interfaces, allowing the interaction with computers through voice/speech, may be the next revolution when it comes to User Interface Engineering.
One of the biggest challenges with Voice User Interfaces is of course the correct and instantaneous recognition of a spoken input. 

A verbally responding mobile application has many obvious advantages. For instance, users don't have to decipher tiny fonts on small displays, in fact, they don't have to look at the display at all.

We are taking a closer look at Android's Speech-To-Text (STT) and Text-To-Speech (TTS) capabilities and will develop and deploy a simple a voice controlled assistant.

We will also cover in some detail how Websites can be voice enabled without using Flash.Wed, 27 Feb 2013 05:31:23 Z2013-02-27T05:31:23ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=659Watering Agile for Executive CommunicationThe battle between Agile Software Developers and Waterfall Executives has been exaggerated by evangelists on both sides of the argument. This session will examine how Agile Software Development can meld with age old project methodologies to increase Executive Communication and Stakeholder Awareness. Attendees will be provided with the gaps between the two methodologies and learn how pieces of each can be utilized to increase the efficiency of a team or program. Attendees will also learn how current tools like Project Server and TFS can integrate to allow Team Leads and Scrum Masters to present their progress to Waterfall Executives. The audience will walk away from this session with a good understanding of how Waterfall and Agile differ and how Team Leads and Scrum Masters can adjust to meet the needs of a Waterfall Executive.Mon, 11 Mar 2013 17:02:46 Z2013-03-11T17:02:46ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=632WebID - Social Network Presence You ControlEstablish and Serve-Up Your WebID - a survey of tools and services to get you into the semantic web.Thu, 14 Feb 2013 12:36:55 Z2013-02-14T12:36:55ZCopyright ©2010-2024, Desert Code Camphttps://apr2013.desertcodecamp.com/session/default.aspx?sessionid=601Windows Installer XML 101: Introduction to WiXWith Visual Studio 2012, Setup projects are no longer supported. The open sourced, but loosely supported, WiX Toolset is the new favorite child of Microsoft.

This session will show you the basics of creating WiX installers for your applications and adding custom actions.

This is an introductory presentation given to supplement of the dearth of WiX walkthroughs available online.Mon, 04 Feb 2013 09:04:00 Z2013-02-04T09:04:00ZCopyright ©2010-2024, Desert Code Camp