Boston Code Camp 23 - Sessions

held in March 2015

There were 36 sessions at BCC23.

With the increasing variety of web enabled devices entering the market, the next generation of the web will need to be more flexible than ever before. In this session we will explore how Responsive Design can help build "A Foundation for the Web" and ensure maximum compatibly on any device now or in the future. More

The shift to client side SharePoint development allows for using the latest Javascript frameworks, and AngularJS is by far the most popular and pervasive choice. This talk will begin with a brief overview of AngularJS, and then dive into demos of how Angular can be used in web part development. Where Angular is often used to build sophisticated whole-page applications, here you will learn how to use Angular in a web part, where it needs to share the page with SharePoint and web parts from other sources. These web parts can be used with the App model or directly in SharePoint sites. Please join in to find a new perspective on modern web part development! More

ImpactJS is a video game engine that makes HTML5 video game development crazy fun and easy. This talk will outline the impactJS game engine and how you can use it to build fun javascript powered games for desktops, mobile devices and the web. We'll build a zombie shooter using a lot of the features that impactJS has to offer. This will largely be for beginner game maker. Some knowledge of javascript will be a plus. 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. This time around we'll build a Flappy Bird clone! More

Modern web development means that more and more application code is running in the browser as JavaScript. This architectural shift requires us to change how we perform authentication and authorization. Fortunately, using modern protocols such as OpenID Connect you don’t need to invent your own solution for this new environment. This session will show you the modern approach for browser-based JavaScript applications to authenticate users, and perform secure web api invocations. As you might expect, security is sufficiently complex and so even modern security comes with its own set of challenges. Luckily, we will show off some libraries that help manage this complexity so your application doesn’t have to. More

This session focuses on EACH thing you might want to do with Azure 'One Step at a Time'. You don't have to learn all of Azure to get started. Just a Website, just use Azure SQL, Tables, Queues, Blobs, CDNs, or just a Virtual Machine. This session is all about learning how each Azure tool fits in your toolbox. What is it? Why use it? and a nugget of code to make it work. And then you can tell the boss you'll need that raise cuz you know Azure! More

Our platforms and development environments keep offering better debugging support, but debugging is still a game of strategy. It’s a critical game because we fix bugs from the time we first check in code, and the cost of each bug tends to increase across the project lifecycle. Come to this talk to merge strategy with the debugging tools in your environment. In the examples, you’ll see debugging features in the current version of Visual Studio and upcoming in Visual Studio 2015, along with Windows features like ETW (Event Tracing for Windows). Good debugging strategies let you ask better questions and tools offer an array of tactics to efficiently answer most questions. Strategies and tactics differ a bit depending on the difficulty of the bug and where... More

We, the organizers of Boston Code Camp, are looking to update the existing web application, and add new features to enhance the attendee experience for Code Camp 24. We are in the early stages of planning this open source community development effort. Some of the work will be using ASP.Net MVC. Some of the work will involve creating a more responsive design for existing pages using bootstrap. Some of the work is likely to be done with a JavaScript framework, probably Angular JS. If you'd be interested in contributing to the design, development effort or testing, and would like to give something back to the community, come to this session to learn more. More

Why write repetitive code when you can generate it? Use the code generator built in to Visual Studio to create source code, configuration files, stored procedures and more using ASP.Net like templates written in the .Net languages you already know. Do you find yourself writing repetitive code? Learn how to use the Text Template Transformation Tool (T4) that's built into Visual Studio to create source files, configuration files, stored procedures and more using simple Asp.Net like templates in the .Net languages you already know. More

Stop worrying about the forgotten TODO statements or missed exception checks and get back to solving business problems. Learn to write Roslyn Diagnostics to check for common errors, enforce your coding standards, and make coding fun again. More

Technical presentations don’t have to be boring. This class will show you how to fine-tune structure and slides to make your topic interesting to technical and non-technical audiences. Attend this session to: • Learn PowerPoint coding hacks that help keep your audience engaged • Discover effective alternatives to bullet slides • Understand how to explain the “why” and “how” to your audience in a memorable way • Hear design tips to make your technical topic easier to understand • See before and after examples of techniques that make your presentations more effective This session is follow-up to my 2014 Code Camp seminar. I’ll present new material along with a quick review of the topics covered last fall. Attendance at the previous session is... More

Today's multi-device world often requires a system to interface with browsers, mobile devices, and other systems. ASP.NET Web API 2 is a .NET Framework for building HTTP services that can meet this need using a REST-based architecture. This session will cover both the concepts and implementation of Web API with the goal of providing attendees with a foundation which can be used to continue their own projects. Topics to be discussed include: -Why Web API? -Creating a Web API project -Models for exposing data -Controllers and the REST architecture -Routing with Attributes as an important tool -How to figure out what your REST architecture should look like, i.e., how to organize your API. -Securing the API -Testing the API right in your... More

Interested in developing cross platform mobile apps? Have you thought about how to connect your apps in the back end? Your app does not become very powerful without data powering it. Azure Mobile Services is quick and easy way to provide data storage (accessible through REST API calls), Push Notifications, and authentication with Microsoft Accounts. All of this functionality works on each of the tope Mobile Platforms!. We will take a look at the Azure portal as well as the tooling built into Visual Studio giving you, the developer, a couple of different options for setting up your backend and quickly putting you on your way to making your first cross platform mobile app! More

An overview of the interesting variety of platform-native ways to store & organize data for experienced programmers who are Windows 8.1 & 10 Universal app dev curious. More

Abstract: Are you tired of installing, configuring and patching Microsoft SQL Server? Azure SQL database maybe a way to move some of your existing infrastructure to the cloud. Depending upon your companies philosophy, it might be great for development, testing, and possibly production environments. The exciting thing about this service is that new features will be released on this platform first before trickling down to the on-premise editions. Coverage: 1 - The Azure Portal 2 - Identifying your database server 3 - Adding IP Rules for clients 4 - Capturing a connection string 5 - Using SSMS, SSDT and/or SQLCMD for development 6 - Creating a database from TSQL 7 - Executing CRUD statements 8 - Migrating old database using... More

Entity Framework is going through a big change as it moves to the next version: EF7. The change is so drastic that Microsoft had to think hard about calling it EF7 or calling it V1 of something new. The initial release that is focused on supporting ASP.NET 5 is trimmed back from the big picture goals for EF7 and will be flagged as a "prerelease". When you install this initial release of EF7, you will see caveats and warning about its limitations. And Microsoft is recommending that unless you are focused on creating ASP.NET 5 applications, you should probably stick with EF6 for the time being and await future iterations of EF7 that will have more parity with EF6 (but never full parity), support for non-relational databases and support for Windows Phone... More

Elasticsearch is a search server based on Lucene. It provides a distributed, multitenant-capable full-text search engine with a RESTful web interface and schema-free JSON documents. Elasticsearch is developed in Java and is released as open source under the terms of the Apache License. We'll cover using Elasticsearch in Azure using the .NET API. We'll cover: • Elasticsearch basics • Setting up a development environment • Loading data • Searching data using REST • Searching data using NEST, the .NET interface • Understanding Scores You'll walk away from this armed with the knowledge to add Elasticsearch to your data analysis toolkit and you applications. If time permits, I'll overview a real-world implementation of ES in Azure to mine... More

Discover how to track both new and existing SQL schemas in version control and how to include changes in your code release process. More

Source control has long been an important part of the software development process: 15 years ago Joel Spolsky even included it as item #1 in his influential test to rate software teams. In the time since that blog post, source control itself has changed a lot. Visual Source Safe has faded into history and a wide array of better alternatives have sprung up, including Microsoft's Team Foundation Version Control (TFVC) in TFS. More recently, Git, originally developed for use with the Linux open source project, has developed into the go-to system to use not only for open source, but for just about any project. It's become so popular that it is now even integrated into TFS as an alternative to TFVC. In this session we'll look at how to get started with Git... More

Wearables are an experimental form factor that stretch the limits of mobile computing and force us to rethink how to build useful applications for multiple devices and screens. On Android Wear, you can connect and extend your existing mobile apps with familiar APIs, and create new and efficient user interfaces for touch, text and voice. In this session, we will explore how to build wearable applications using Android Studio. No prior experience is necessary. More

Have you ever looked at the code in one of the better open-source JavaScript libraries? The amazing thing is how effortless it looks. Somehow, without appearing to do very much, these masterpieces do everything. Would you like to know how? The answer comes down to a few simple principles that make all the difference. In this session, we will examine code from Mike Bostock’s D3.js graphics library in detail. By observing how Mike uses these principles, you will learn how to write your own masterpiece. More

Starting with the Lumia 830, Windows Phone 8.1 supports low-level access to NFC-based devices. This session will introduce you to NFC on Windows Phone, the MiFare Classic 1k chip and how to use them for various tasks. More

This is a pattern that is unique to Asp.net MVC. We will see how it can help developers to 1) Communication information with users in a consistent way; 2) Reduce the code duplication; 3) Avoid the intermediate parameters to controller action methods. I will show it in action with real working example in using Asp.net Identity for securing web site. More

The R programming language is an increasing popular tool for manipulating and analyzing big data sets. It provides an approachable means to work with vectors, matrices, and larger data frames, can produce compelling plots and visualizations that can be easily published and shared, and enjoys extensive community support - it will also be coming soon to Visual Studio. John will walk through the basics of the R programming language using RStudio, and interactively demonstrate how it can be applied in a broad range of application scenarios. 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 deliver live video content at scale with Azure Media Services. More

Public data sources abound-- and can often reveal interesting and useful information for the consumer. In this session we'll take a look at the plethora of Open Data sources (both government and private) and uses those to rapidly prototype and build a complete application using HTML5, Javascript and the PhoneGap technologies. Quick and reliable methods for parsing complex data feeds and displaying them in a clear, concise manner for the user will be reviewed. Visualizing data on a map will also be demonstrated. Participants will be invited to code along with the instructor as they build a complete app using New York's Metropolitan Transit Authority data feeds, the leaflet.js map library and a few rapid application development techniques. This fast paced... More

The Modern Application enables users to interact with information and people anywhere on any device. It scales resiliently and adapts to its environment. It is designed, architected, and developed using modern frameworks, patterns and methodologies. In conjunction with these new user experiences is the need to connect to and interact with a variety of online services that provide information and transactions in a scalable, resilient and cross platform way. This session delves into an emerging approach to service architecture called Microservices where applications are composed of autonomous, independently deployed, scaled, and managed services. This approach to service architecture along with the benefits of cloud platforms provides the scalable,... More

It's becoming more common to see prototype functions due to our familiarity with them, along with their support for helping us conceptualize complex applications. I’ll be demonstrating how prototype methods can handle generating the entire DOM as well as handle events using efficient and scalable JavaScript (or CoffeeScript) code. More

PowerShell is a command-line scripting language primarily designed for system administration & development. Unlike VBScript or DOS batch files, PowerShell is built upon the .NET Platform which makes it customizable and extensible. This introductory session will show the PowerShell language constructs & scripts and how it can be used for desktop & SQL Server administration and also development (IIS, ADO.Net, etc). More

There are many changes coming out this year for Microsoft .NET and ASP.NET, ASP.NET MVC, WebAPI, SignalR - which collectively has been called "ASP.NET vNext" or its official title "ASP.NET 5". Along with a new Visual Studio 2015, there will be improvements and changes in deployment (Windows, Azure, Linux, and Mac!) as well as changes in configuration and build environments. This session will be in two parts: First, we'll take a brief look at some of the key changes coming with ASP.NET 5. Second, we'll dive in to see what you will need to learn now to make sure your applications are ready to move to ASP.NET 5.0. If you are developing today with Microsoft ASP.NET, ASP.NET MVC, WebAPI, SignalR or with any of the Javascript libraries using these... More

You've worked hard on your software, passionately developing a solution that has transformed the way we work and making life easier. But here's the million dollar question: can you capitalize on your software invention? Have you created an open source solution, a lifestyle business or the next billion dollar company? Securing your intellectual property rights for software can be confusing and costly, even with prior art preventing the software inventor from scaling, licensing, and profiting from their original invention! In this session, Patent Attorney William Mansfield, will walk you through legal options to help you protect your software inventions or "protect your passion." If you want to reap the rewards from your hard work, you need to know... More

This session offers a practical introduction to exploring SQL Server database with R. You will learn how to install ODBC driver, connecting it with RODBC, query data with R, visualizing data with ggplot2, literate programing with knitr, etc. This session is designed for audience with little or no prior experience with R. For those who will bring a laptop, I suggest you have R http://cran.r-project.org/ and RStudio http://www.rstudio.com/products/rstudio/download/ installed. More

It is truly compelling to think about the number of devices that we use every day and how those devices are either connected to the internet or will soon be. There are 2 billion PCs and 10 billion phones today but by 2020 there will be 250 billion devices connected to the internet. So how does this all work and how will our applications evolve to work with the massive amounts of data that will be produced by these connected devices. In this session we will cover how devices connect to the cloud and how cloud based services deal with this high volume of messages in real time. More

It may sound premature to start thinking like a CIO this early in your career, but it will help you begin to notice things you would otherwise miss. This talk is designed to broaden your perspective on Information Technology (IT), the role IT plays within the overall organization, and the mentality of those above you, regardless of your current professional level. This enhanced perspective, in turn, has the potential to significantly enhance your current work performance, get you noticed by those above you organizationally, and accelerate your upward professional growth. 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

That's "Themes" with a capital T. We'll cover the use of ResourceDictionaries, ThemeDictionaries, implicit and explicit styles, and general techniques for taking control of your modern applications' look and feel. The focus will be on Windows 8.1, but many of the techniques and concepts carry across to other Microsoft UI technologies such as WPF, Silverlight, and Windows Phone. More