Boston Code Camp 22 - Sessions

held in November 2014

There were 30 sessions at BCC22.

Henry Ford is attributed with saying "If I asked people what they wanted, they would have said a faster horse". This session focuses on strategies for getting the most out of interactions with users. We'll discuss strategies for getting at the “real” information. Users are experts at their work, but not at describing it to us in the way we need to hear it. But users know their challenges better than we do. This session includes information about how to: * Use basic active listening techniques with customers * Ask unbiased questions to get higher quality information * Manage some common challenges that arise when talking to users * Effectively capture the information that users share with you This session will be presented by Joan Wortman and... More

ASP.NET Web Api 2 provides some powerful features to implement the public URLs that will be used to access an API. Web API 2 adds attributed-based routing to the convention-based routing introduced in Web API 1. Together they can be used to create a robust and flexible API for your system. This session will briefly introduce the concept of routing and it's importance in building an API for your system. First, convention-based routing will be discussed and then Web API 2 attribute-based routing. After the conceptual overview, the details of how to use routing to build a RESTful interface for your system will be covered in detail. More

Use Unity to kick off your indie game dev career! We'll explore the basics of creating 2D games in the Unity game engine. We'll cover topics such as art, animations, scripting in C#, collisions, lighting, and many other game dev concepts. More

Angular has been getting a lot of attention lately. It has been described as "the XAML of the web". The declarative nature of the framework allows you to partition your code for testability and reuse. We'll discuss the features and history of the framework, how to set it up, and how to write tests. More

In this intermediate level session (Part 1 of 2) we'll take a look at building an MVC 5 web application that has a mini-SPA using AngularJS and using Web API 2 and Entity Framework to provide data persistence. We'll start with a quick overview of MVC 5 and Web API 2. We'll create an API for our demonstration app using Entity Framework and Web API 2 , and then dive into AngularJS (using v1.2) in the context of creating a mini-SPA embedded in an MVC web application. To get the greatest benefit from this session and the sample code, you should already know something about ASP.Net MVC and Entity Framework (or at least the concept of ORM). If you're new to AngularJS, plan on attending Phil Denoncourt's session at 11:40, prior to this... More

In this intermediate level session (Part 2 of 2) we'll take a look at securing an MVC 5 web application that has a mini-SPA using AngularJS and using Web API 2 and Entity Framework to provide data persistence. This session uses and extends the application built in Part 1. More

Thought PowerShell cmdlets weren't available for Office 365? Think again. This session will review how to authenticate into Office 365 and make web service calls to create sites, lists & libraries, upload files, set permissions and more. In addition, we'll review Office 365 desktop integration (Word, Explorer view, etc.) and look at ways to automate that as well. More

This session will cover the common security issues found in writing secure ASP.NET MVC and Web API applications. We will cover issues such as Model Binding, Cross-Site Scripting (XSS), Cross-Site Request Forgery (CSRF) and other common vulnerabilities and their mitigations to avoid these problems. More

Every discipline requires a set of principles or assertions to build upon. As disciples of the practice of software engineering, it is imperative that we define a clear set of unwavering principles that guide the process, methodology and architecture for the products we create. Lean Engineering defines a set of principles for high velocity development of software products. It leverages Lean methods such as Minimal Viable Product and Continuous Delivery along with modern cloud based development platforms and tools. In this session we will review Lean Engineering principles and how they can be applied to define a Cloud Software Development Lifecycle and how that is realized through Azure IaaS and PaaS capabilities using live demos and code... More

Are your presentations harder to follow than spaghetti code? Do your PowerPoint slides look like data dumps? Presenting is similar to writing code – using the wrong structure gives you poor results. Many technical presentations are boring because the speaker doesn’t know the three rules that make a topic interesting to both technical and non-technical audiences. Attend this presentation to: • Hear how to keep your audience’s attention by using the three “cons” • Learn the most effective ways to open and close your presentation • Find out how to make your “big idea” remembered, repeated, and retweeted • Discover effective ways to establish trust and rapport with your audience • Understand how the three-second rule works for... More

Xamarin Forms are a revolutionary way to create *native* cross platform mobile applications. This session will show you how to use pages, layouts and views to create native applications with nearly 100% shared code. More

Azure Websites provide a level of abstraction on top of the Cloud Services. Azure Websites provides a few different options for publishing your website including ftp, WebMatrix and direct from source control. Learn how to manage the publication process of your websites using deployment slots, KuduSync and custom deployment scripts. More

Overview of a DevOps tool chains, including build servers (Jenkins, GO, etc...), Vagrant, Docker, Configuration Management tools (Chef, Puppet, Ansible, etc..) with a lot of demos More

Abstract: Every developer eventually comes against business logic that can’t be handled with a single simple or complex query. TSQL provides the developer with several constructs that can store temporary result sets that are passed to the next query in the script. I will be covering these various TSQL techniques with examples using the [AdventureWorks] database as well as a toy database called AUTOS. The pros and cons of each construct will be examined. Advanced options like enabling trace flag 1118 will be explored. Coverage: 1 – Derived tables. 2 – Local temporary tables. 3 – Global temporary tables. 4 – Table variables. 5 – Common Table Expressions (CTE). 6 – User databases in [tempdb]. 7 – Trace Flag 1118. More

The public cloud platforms - such as Azure and Amazon - provide a powerful toolbox for building and delivering applications. Harnessing this power can accelerate system development, reduce risk, and enhance team agility and efficiency. Except when it doesn't. In this session, long-time Azure cloud consultant Bill Wilder will walk through a bunch of ways to fail in your first cloud project - all inspired by real-world examples. More

BI can make a big difference to any organization that collects data on its business processes. Delivering BI often means bringing systems together, organizations together, skill together for improving decision quality for all. The steps and pitfalls for getting it done and achieving the desired results are being presented. With the added benefit of 20/20 hindsight the experience of working a solution from scratch to the CFO dashboard are outlined. SQL Server 2008R2 and the 2012 BI infrastructure in a SharePoint 2013 environment are the technical pieces, however the talk focuses on process and approach. More

Reactive Extensions (Rx) with the ReactiveUI (RxUI) library makes it easy to write declarative event-driven programs. This session will show how to use these RxUI to create an MVVM-based application that works across iOS, Android and Windows Phone. More

In this talk we will go over the offerings from Amazon and Microsoft Infrastructure as a Service including 1. VM provisioning 2. Load balancing 3. AD Domain services 4. Storage, Networking and security More

Learn how to deliver any media on any device at scale with Media Services for Azure! This session addresses the pain points of supplying media content to users in a world with a myriad of different devices and the solution Media Services presents. Learn how to target multiple devices and minimize storage costs with Dynamic Packaging. More

Learn how Azure Mobile Services and help you quickly setup a back end to handle storing date, authenticating users, syncing data offline and sending push notifications. More

Microsoft provided a major update to its workflow engine with .NET 4.0, including a new workflow host called Workflow Manager. This talk will provide an introduction to Workflow Foundation and Workflow Manager using Visual Studio 2013, for use independently and within SharePoint 2013 and SharePoint Online. You'll learn how to develop reusable, long-running workflows, custom activities, and more. Come learn how to develop workflows and workflow activities at this demo-filled, deep dive session! More

Game engines, how do they work? If you are new to making games or even just curious about making games this session is for you. Jared, one of the founders of Frag Castle Games will explain the different common pieces of a 2d game engine: The Game Loop, Animation, Sound, Input & Character Movement and Collisions. All within your web browser using Javascript and Canvas. Code Available via github: More

JavaScript Promises will revolutionize the way you do async programming. Almost as significant a step up as AJAX was, Promises encapsulate how to handle a future event's success or failure, and do so more flexibly than callbacks or events. They are already a key part of prominent frameworks like AngularJS, and are first-class objects in ECMAScript 6, so it's time to get up to speed! Also covered in this session will be how to meet the unit-testing challenges of Promise-based code. More

In the session I will introduce - The Watch, the OS - The Cloud IDE - The Programming Model - Programming the pebble in C (Hello World) - Programming the pebble in C with the WinFormebble library (C# and WinForm friendly) - Watch buttons and other UI controls - Communication with your Smart phone to use GPS and INTERNET - Programming with JavaScript only Learn few things in one hour and start developing More

Since the beginning of .NET the C# and VB languages have shared a lot but been served by separate compilers which have evolved over more than a decade. With the next release of Visual Studio a brand new compiler that is unified, modern, and even Open Source will underpin both languages: the .NET Compiler Platform, also known as Roslyn. In addition to unifying some disparate features of the two languages, Roslyn is also an open platform that will serve as a base for all kinds of new extensibility in both languages and their editor experiences in Visual Studio 2015. This session will look at Roslyn itself and some of the upcoming language features coming along with it. More

Asp.NET identity is the Microsoft's latest technology for securing Web application. In this session I will walk through this latest technology in action. I will demonstrate how to use APP.NET Identity to manager your ASP.NET 5 user account, external login with third party account such as Google and Facebook. I will aslo walk through Two factor authentication with email and SMS. More

In the past 10 years building web applications, developers have used separate protocols for performing authentication and authorization. Authentication to web applications was normally performed with WS-Federation or SAML2-P, whereas authorization for API calls was performed with OAuth or OAuth2. Now with the recently ratified OpenID Connect specification these two tasks are combined into a single protocol. We’ll discuss how this protocol can be used in .NET applications and how the open source Thinktecture IdentityServer can provide centralized authentication and authorization for your applications. More

Software delivery is hard. Teams have deadlines, soft requirements, changing priorities, and a myriad of other issues which detract us from our main goal: writing great software. Join me while I highlight the tools and metrics I use to keep projects on track, costs reasonable, and quality high. You will see all the visual displays I use to make cases for unit testing, QA staff, tight business involvement, and Agile management practice. This talk will be great for you and your manager(s)! 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 its competitors. More

Fresh from the MVP Summit, Pat Tormey has new thoughts on Azure, VS 2015 and a few technical notes. More