Boston Code Camp 20 - Sessions Submitted

held in October 2013

There were 21 sessions at BCC20.

One of the biggest barriers to the adoption of non-relational (noSQL) databases has been the perceived difficulty in dealing with aggregation of non-relational data structures. Whereas SQL has long provided facilities for aggregating data across tables, document-oriented databases such as Couchbase, or MongoDB have had to rely on new methods, which are tailored to the document data model. This session will introduce the basics of MongoDB, and then detail the various aggregation methods available. Topics covered will include map/reduce, and MongoDB's aggregation framework. More

This session will help you understand how to get started writing Single Page Applications (SPA) using Knockoutjs, Durandal and several other supporting javascript frameworks/libraries. I’ll cover some of the lessons I’ve learnt in the past year developing a SPA application and hopefully help you learn it more effectively. I’ll be using ASP.NET and their webapi for the server side, but really anything that would serve JSON would suffice. The focus will be on the javascript code, not the server side code. More

Multi-Targeting is about reusability. It is about writing code once which can be reused across different frameworks. This reduces development and maintenance time giving a boost in ROI. This session would start with discussion about various historical multi-targeting options with Microsoft Development technologies. We would see how portable class libraries supports this idea. The main focus would be about efficiently writing portable code for enterprise system development. More

SQL Server has always been lacking in a good solution to control versions of your database. We make changes directly to the database and if we're good, we remember to take backups. If we're really good, we save scripts so we can make those changes elsewhere. Too often, we resort to tools for schema differences or try to save up all of the scripts to replay them later. This session will cover a new approach: using SQL Server Data Tools (SSDT), a Microsoft add-on to Visual Studio 2010/2012, that provides the ability to design, edit, build and deploy Database Schema artifacts. SSDT is an attempt to bring similar tools and consistency to SQL Server development to what .NET developers have had for years. Features such as IntelliSense, code refactoring,... More

Glimpse is an open source diagnostics platform born out of the realization that insights into the dynamic inner workings of web applications can be difficult to come by. Since going live it has proven successful on the ASP.NET stack, and prototype implementations have been built for PHP and Python. And the possibility of moving beyond simple console.log statements in client-side JavaScript frameworks has developers excited! Join the core Glimpse development team for an architectural deep dive which will cover the platform top to bottom. Starting with the wider ecosystem, find out how the server and client interact, as well as the abstractions that compose this heterogeneous system. From there, learn how extensions can be built to bring advanced... More

Windows 8 provides a great new distribution mechanism over a touch centric API. This talk will focus on the differences between traditional desktop applications and new Windows Store apps. We'll build a small metro application using VB/XAML and MVVM while leveraging new controls to build an immersive application that meets Windows 8 Design Guidelines, by supporting app bars, settings panels, snapped layouts, and asynchronous calls. More

This session is JavaScript 101 for new JavaScript developers coming from an ASP.NET Developers background. You’ve built ASP.NET sites and have a skill set in the Microsoft technology .NET Stack. But, let’s face it, .NET developers need to know how to create HTML5 JavaScript clients, as this is now the norm. The reason? It is simple; your company will lose money if your applications and sites don’t work across devices. This session will help you map your skills in C# and ASP.NET to JavaScript, use AJAX over HTTP to send and receive data, and interact with popular browser components for data binding and UI widgets. Introductory Topics covered: • Responsive Web Design • Ajax • jQuery • jQueryUI • Wijmo •... More

Start to Finish LightSwitch on Azure totally mobile application with almost no coding. With current technology we'll build a touch friendly data centric line of business, HTML 5, CSS 3 application using almost no code.. Be impressed!.. This stuff works Pat More

With the state of diagnostics on the web being what it is, we currently have to do a job that is much harder than it should be. Too often, the tools we are provided with only show a small part of the picture, leaving us to guess what else might be happening behind the scenes. Glimpse is an open source project that aims to change the way we think about diagnostics and the frameworks we interact with. After releasing Glimpse at Mix 11, Glimpse has become a tool that is used daily by tens of thousands of developers around the world. In this session, you’ll learn how to use Glimpse to reveal a complete picture of what is happening within your ASP.NET MVC and WebForms sites, discover what tools are included out of the box, and see how you can easily... More

A whirlwind introduction to the Windows Azure public cloud platform followed by a bunch of practical ways to use it. From simple Web Sites to web-scale Cloud Services, from on-the-cheap dev-test environments to auto-scaling production services, Windows Azure covers the spectrum. What's the story with designing for failure? What happens if I need to scale? How do I manage costs? These and more questions will be addressed. Presented by Windows Azure MVP Bill Wilder, it is based on real-world insights from a Windows Azure-focused consultant who's been working with the platform since the day it was announced in 2008. Some of the topics will be drawn from Bill's Cloud Architecture Patterns book (O'Reilly Media, 2012). More

Or N LINQ related tips for some number N LINQ may be easy to work with, but that ease may mean you're not getting the best benefits from LINQ. You may be writing code that replicates functionality in the framework. You may be doing work in inefficient ways. In this session, I'll point out the most common mis-uses of LINQ and what you should be doing instead. You'll learn to use LINQ based methods beyond the query keywords. You'll learn the subtle differences in what different methods do, and the different performance characteristics of the different LINQ methods. More

The development community is buzzing with the promise of Responsive Web Design. Many people are talking about it, but only a handful are putting it into practice. The purpose of this session is to get hands on with some of the strategies used to successfully implement a Responsive Web Application. During this session we will break down the core concepts of Responsive Design, as well provide advice for ASP.NET MVC 5 Web Developers on framework selection, tools of the trade, as well how to deploy and deliver your application. Some of the content in this session will be:Responsive Design with ASP.NET MVC 5: - Developing Responsive Web Apps with .NET MVC 5, HTML5, CSS (SASS & Compass), JavaScript - Responsive UI Design and Development Techniques ... More

ASP.NET WebAPI is the .NET framework from Microsoft for building modern HTTP-based services and these services will need to be secured. This session introduces how security (confidentiality, integrity and authentication) is typically performed for HTTP-based services and how you can implement these approaches in your WebAPI application. Once authentication has been established we'll then turn to authorization and how you can control access to the resources your WebAPI is exposing. More

SignalR is a library for ASP.NET that make it possible for you to stream data back to web users in near realtime. Phil will discuss the overall architecture of SignalR, how to install it, and what devices it works on. We'll demonstrate how to create sites that make use of the library. More

In this discussion we will be focusing EventSource API in .net framework 4.5 and how Semantic Logging Application Block builds on top of that, providing multiple log destination support. We will be discussing how we can bring more structure in our logging using the application block, improving troubleshooting of problems. This can only be achieved by proper and well-designed instrumentation. More

Supporting asynchronous programming means more than sprinkling the async and await keywords throughout your code. Understanding and adhering to the Task Asynchronous Programming (TAP) Model makes it easier to compose asynchronous operations, and to achieve the greatest benefit from the async features added to C# 5. In this session, you'll learn the rules for the TAP model. You'll see the benefits of adhering to the TAP model, how to compose TAP based methods, and how to ensure that the async methods you write adhere to the TAP model. You, and other developers that use your code will benefit from following the TAP model. More

Writing large scale JavaScript is difficult. The lack of structure and the difficult in enforcing conventions make maintaining these types of applications difficult. Typescript helps by adding structure and type safety, while still emitting JavaScript. We'll review the features of Typescript, tooling, and how it relates to it's competitors. More

The Knockoutjs javascript library is included in the Visual Studio MVC 4 project template by default. This presentation will introduce the Knockoutjs library, discuss the benefits it offers, and demonstrate how it can be used with JQuery to create richer MVC 4 applications. We will review the MVVM design pattern and show how Knockout implements it on the browser client. We will then demonstrate using Knockoutjs and JQuery to enhance the basic MVC 4 project template application to create a richer user experience. More

The goal of this session is to provide an overview of the concepts and basic implementation of the WebAPI framework available with ASP.NET. There is an increasing need for diverse clients such as a browser, an iPhone, or even consumers of a public AP to access system functionality and data. The WebAPI provides a solution to this need. The session will start with the fundamentals of the WebAPI including what it is used for and the basic operations it provides such as getting and inserting data. Next, there will be a discussion of some principles to consider when developing the components that support the WebAPI interface including the role of the MVC architecture. Finally, the consumption of WebAPI services by clients such as jQuery/Javascript and a... More

Software Developers live in a world of constant flux. As software craftsman, we need to understand the many frameworks and platforms at our disposal in order to make the right decisions for the applications we build. This session will focus on web application tools, frameworks, and platforms in the Microsoft stack. A demonstration will be given of an application that is hosted in Azure, and pulls data from multiple data sources to deliver a rich user experience around social media. During this session a review of the selected frameworks will be provided across the full stack. Subjects covered in this session will be: - Review the architecture of a Modern ASP.NET MVC 5 Application - Delivery via ASP.NET MVC 5 - Discussion around JavaScriptMVC*... More

In addition to the tremendous amount of power available in today's mobile computing devices, the abundant availability of network connectivity provides the ability to create extremely rich and robust apps that take advantage of resources in the cloud. However, many mobile app developers often are constrained by limited time and financial resources and cannot afford to invest large amounts of either to set up an elaborate back-end to support their apps' needs. This session will introduce Windows Azure Mobile Services and how it can be used to quickly support the cloud-integration needs of most mobile apps, including data storage and manipulation, server-side business logic, custom API endpoint creation, authentication and authorization, and connection to... More