The preliminary list of selected sessions for the upcoming Code Camp NYC 2016 event is available in the following table which supports paging, sorting, and full-text searches.
Sessions in this list with the Status of Selected have been selected for the event. Sessions with the Status of Standby will be used in place of any last-minute cancellations by Speakers.
Please note that there may be minor changes to this list as the event approaches and the schedule is finalized.
|Status||Speaker Name||Session Title||Session Level||Session Abstract|
|Selected||Alex Lindgren||Building an ecommerce bot using the Microsoft Bot Framework||200||Conversational interfaces are becoming mainstream and Microsoft’s Bot Framework makes it easier to get started building chat bots. In this session, learn how to build an ecommerce chat bot using Microsoft’s Bot Framework. The bot will utilize Microsoft’s Cognitive Service LUIS (Language Understanding Intelligent Service) and the Merchello ecommerce platform to enable a user to shop and buy products via a chat interface.|
|Selected||Alvin Rogers||Part II "Finding Black and Hispanic Programmers" by Alvin Rogers & Chris Gomez||100||projector and surface tablet|
|Selected||Anthony Abate||Low Latency C# Programming||300||How fast is fast? This topic will discuss various low-latency performance critical techniques that can provide speed boosts by utilizing concepts such as lock-free and non-blocking operations as well as generalized code optimization.
Measuring extreme performance becomes a problem in itself, so specialized logging techniques are introduced to capture live data points for post run time analysis.
The performance implications of .net locking and synchronization primitives (signals/events, lock/monitor, interlocked) and various threading (thread pool, tasks, async) patterns are compared along with their latency implications.
Design patterns such as pessimistic vs optimistic concurrency, lock-free circular queues and the disrupter pattern will be discussed and demonstrated.
|Selected||Benjamin T. Galluzzo||MongoDB For Developers And Accessing MongoDB data||100||This is where .NET, MongoDB, and SSIS meet. We'll begin with an overview of what MongoDB and NoSQL are and how it is often used in the world. Then, we'll go over some of terminology of MongoDB and how these terms map to the SQL world. Lastly, we'll demonstrate how we can work with MongoDB from SSIS using .NET code to make all of the connections.|
|Selected||Bhakthi Liyanage||How to build your own weather station using IoT and Azure cloud||200||The Internet of Things (IoT) starts with your things—the things that matter most to you or your business. Welcome to the Internet of Your Things.In this heavy demo based session I will demonstrate how to build your own weather system by connecting sensors to the Windows Azure cloud by using Azure IoT platform and share the telemetry data in the cloud.|
|Selected||Brian Minisi||Maturing DevOps to Optimize Value Delivery||200||In this ever changing world, IT agility is becoming increasingly critical to remain competitive. Increasing flexibility and delivery while keeping the cost of development, testing and operations under control is a key factor in driving DevOps practices. See how we can embrace the DevOp movement using Visual Studio and Azure Cloud solutions. We will cover many DevOps practices such as Infrastructure as Code, Release Management, DevTest in the Cloud and using Azure environments to manage and monitor development, test, operations and more.|
|Selected||Chris Gomez||Who needs Visual Studio? A look at using .NET Core everywhere else.||200||.NET Core is here! We've heard how it is lightweight and cross-platform and that you can use the tools that make you happy. Most of us are going to let Visual Studio do the heavy lifting, and that's fine, but you can learn much about how things work under the hood if you put the IDE aside and work with .NET Core without ever touching it.
To demonstrate, Chris will demonstrate acquisition and use of .NET Core on a VM untouched by a Visual Studio installation. We'll compare the outcome to doing the same on Linux, and learn what the Omnisharp effort is all about.
The goal is to talk about how you can achieve the most friction-free experience for projects that want to be accessible on different platforms for people with different tastes. This session is perfect for .NET veterans who are brand new to .NET Core and want to see what the brave new world looks and feels like.
|Selected||Chris Gomez||Git: A practical guide for the rest of us||100||Git burst onto the scene and became the hot new must-have source control system. Boasting of a "distributed model", you've probably heard how there's no central server or that everyone has their own repository. You might have also heard that sometimes you just have to throw your repo away and start over when you get stuck... because that's just how it is. Maybe you experienced similar frustration yourself.
Join Chris as we go over an introduction to Git as a source control system. We'll get some myths out of the way, and look at practical ways to use Git in your organization or to contribute to source on GitHub. With a few simple techniques, you can then decide for yourself to use tools for some tasks or be a command line jockey if you like.
|Selected||Ed Charbeneau||Don’t be a stereotype, rapid prototype||100||In just about every industry, rapid prototyping is described as “A group of techniques used to quickly produce a working model”, and web development should be no different. Rapid prototyping allows developers to quickly communicate and collaborate on the product they are creating while investing minimal resources. When used effectively, a prototype can provide structure to a project, ensuring that the development team and the customer are working towards the same vision and goal.|
|Selected||Ed Charbeneau||Refactoring CSS with Sass||200||Does your CSS code remind you of an episode of Hoarders? In this session we'll look at how to apply back-end development principles like OOP, DRY, SoC, and Encapsulation to CSS using Sass and Compass. We'll explore techniques to build modular, semantic and intelligent CSS. Prepare yourself for the next evolution in front end development.
Code demonstrations will be shown using Visual Studio, ASP.NET Core
|Selected||Gael Fraiteur||Automate design patterns with PostSharp and aspect-oriented programming||100||Design patterns are now universally accepted and have significantly improved the way we design software. However, they had relatively little impact on how we implement it. Except rare exceptions like the 'using' or 'lock' keywords, most patterns must still be implemented by hand, resulting in large quantities of boilerplate code that must be validated by peer review. However, development tools could do a better job by automatically implementing some parts of the pattern, and automatically validating hand-written code against pattern rules. This talk shows how to remove this redundant code with aspect-oriented programming (AOP) and PostSharp, the reference AOP framework for .NET.|
|Selected||Gael Fraiteur||How to train your dragon II – a tale of leadership||100||Hiccup is called by his father to become the tribe’s leader, but he does not feel quite ready yet. Is he really this kind of man? After all, he does not have half of his father’s stature. Hiccup goes on an odyssey that will confront him to several models of leadership for good and evil. This talk is dedicated to all people who feel they are the depository of a special spark – be it a talent, a vision or a message – but that feel internally obstructed from realizing it. The talk borrows from my own personal path – from an awkward geeky teenager to an unsuccessful and frustrated employee to an open-source developer and international technical speaker to the founder of PostSharp Technologies, a successful tech business. In this unusual session, we will analyze the messages, models and stereotypes that are keeping your spark from taking fire.|
|Selected||Greg Shackles||Going Serverless: Event-Driven Service Architecture Without The Infrastructure||200||Technologies like Amazon Lambda and Azure Functions make it possible to build services and APIs without needing to provision or manage servers. Instead of managing servers in the cloud and scaling out by adding instances, you simply pay for the resources you consume and the scaling happens for you. On top of that, you're also not paying when your code isn't running, without needing to worry about shutting down your instances. Your functions can be triggered by events from other AWS or Azure services, or you can even expose them as APIs that can be accessed from your other applications. In this session we'll dig into the ins and outs of this type of architecture, and what it looks like to build real systems with it, from simple bot integrations to full-fledged backend systems.|
|Selected||Greg Shackles||Monitoring Your Mobile Apps in the Wild||100||Now that you've released your app out to the world, do you know how it's performing in the hands of real users? How long are they waiting for screens to load, or are they using that new feature you're so excited about? If you can't answer questions like these, you're effectively flying blind.
There's a lot of guidance for monitoring on the web, but what about mobile apps? In this session we'll look at the kinds of things you should be paying attention to, and then take an existing app and walk through adding various forms of instrumentation to it.
|Selected||James Bender||Level-Up Your Test-fu with BDD & SpecFlow||200||A key concept of any Agile methodology is communication. It’s no longer normal or acceptable for developers to sit and develop applications in isolation from the business. To that end, developers and business domain experts have been trying to find better ways to communicate. While developers tend to speak in terms of “code and technology” most business domain experts are more comfortable communicating in terms of scenarios, workflows and business rules.
Test Driven Development (TDD) was the first step in getting these two groups to communicate in the same way. Developers could write unit tests that expressed business requirements with the hope that business users could validate that what was being tested was in fact what the desired behavior was. But, unit tests are still code and while it was better, the communication was still stilted and inefficient.
To help this communication new techniques such as Behavior Driven Development (BDD) and Acceptance Test Driven Development (ATDD) have become popular. Along with these new ideas, new tools like SpecFlow have become popular as a means to express unit tests in a way that the business can better understand and validate.
This session will demonstrate how SpecFlow can be leveraged in your BDD or ATDD practices. The Gherkin language and the “Given, When, Then” paradigm will be explained and you will see how to write tests in a way that business users are not only capable of reading, but can also help you create them.
|Selected||James Bender||How I Learned to Love Dependency Injection||100||Tightly coupled applications lead to heartache. They are difficult to manage. They are difficult to maintain. The create applications that are inflexible. They make TDD, or even TAD (Test After Development) all but impossible. It doesn't have to be this way. You've probably heard fancy terms like "Dependency Injection" and "Inversion of Control" but what do these mean and can they really help you write better applications and make testing easier? What about all those exotic frameworks? And what the heck is a "container?!" The bad news; this knowledge is a MUST HAVE for most testable applications these days. The good news, they are simpler than you think and besides simply making your code testable will also lead to good architecture practices that will help you develop better applications. This session will explain and demonstrate how these concepts some easy to use frameworks can help make your C# or VB.NET application more loosely coupled, easier to work with, more flexible, more maintainable and more testable.|
|Selected||Jay Harris||Rebooting the ASP.NET Franchise||100||Are you an ASP.NET developer that is tired of the baggage and cruft within the framework? Do you wish you could use OS X for developing ASP.NET apps? Are you new to ASP.NET, but are adverse to installing Windows and Visual Studio? Everything has changed: ASP.NET isn’t just for Visual Studio, anymore. Learn how ASP.NET has broken free from Windows and has turned into a fresh, cross-platform, OS-agnostic framework. Develop ASP.NET applications on your OS, with your editor, in your way. No more compromises, no VMs, no workarounds. Grab some popcorn an experience the reboot of the ASP.NET Franchise.|
|Selected||Jay Harris||Design for Non-Designers from a Non-Designer||100||Elegant design requires talent, but talent is not a prerequisite for avoiding bad design. If you lack artistic touch and prefer rules and logic over the ethereal art form, the fundamental tenets of composition can enable you to apply Design as a programming paradigm. Spend an hour with a coder learning the logic of design--hacking pixels instead of bits--and free yourself of your excuse for horrible designs.|
|Selected||Jerry Nixon||An introduction to Inclusive Design||100||Inclusive design dramatically increases the potential audience for your software by paying attention to usability, design and features for every user. Inclusive design is an intentional strategy to make your experience better for everyone.|
|Selected||Joe Kuemerle||Defense Against The Dark Arts: Application security and you||200||As more of the world uses the magic of applications to get things done there is an ever increasing threat from those who would use your code to do harm. Security vulnerabilities are real and can have a significant impact on your employment. In this session we will review the most significant threats to your applications and learn techniques to harden your applications against them. We will also cover methodologies that can improve your security standing before you even write the first line of code.|
|Selected||Joe Kuemerle||Is your API leaking? Breaking APIs to increase security.||200||Smartphone apps, single page web applications and most other applications are required to use various APIs in order to accomplish work. While this technology is wonderfully powerful, many developers are unaware of all the ways in which an improperly implemented API can cause data breaches and lead to expensive publicity disasters or compromise of internal systems. In this session we will dive into ways to investigate and compromise web based APIs in order to increase the security and stability of our applications.|
|Selected||Joel Cochran||The Road to the White House Goes Through the Cloud: How data will decide the next President||100||Today's Presidential campaigns have the technical sophistication of a modern enterprise, the constrained environment of a startup, and a relentless timeframe. Political rhetoric may get air time, but data wins elections. Political operatives use data analytics to target communications, identify supporters, garner donations, organize field staff, drive voter turnout, and predict outcomes. In this session, Microsoft's Campaign Technology Services team will discuss: its role in the 2016 U.S. Presidential campaigns; the Iowa Caucuses and the party conventions; our customers' adoption of Machine Learning, various Azure data platform tools, and the broad implementation of Power BI visualizations.|
|Selected||John Bennett||Building a multi-tenant SaaS application||200||In this session, we will walk through some of the major considerations when creating a multi-tenant SaaS application, including: authentication, keeping each tenant's data safely isolated, managing complex authorization challenges, and customizing UI and data schemas per tenant. In short: maximizing the cost savings of shared resources, while minimizing the risk that one tenant can affect another, either inadvertently or maliciously.
Our app will consist of a single-page application (SPA) built with React and Redux, backed by an API built with Node and Restify. But the concepts covered apply regardless of what tools you are using.
|Selected||John Bennett||Develop, test and deploy with Docker||200||Docker has rapidly emerged as the leading container implementation. In this session, we will create a complete, automated dev-test-deploy workflow with Docker, using GitHub, CircleCI, and DockerHub. We will create Docker-hosted environments in both AWS and Azure. The demo application will include three separate components: a single-page web app, a REST API, and a MongoDB database.
You will learn the basics of using Docker locally and in the cloud, your choices when creating a Docker cloud environment, and the gotchas to watch out for. In addition, you'll have a complete set of scripts to use in automating your own Docker-based workflow.
You should have some familiarity with creating and managing resources in either AWS or Azure. Familiarity with Docker is helpful.
|Selected||John Zablocki||Digging for Data in Documents||200||COUNT(*)? SUM(*)? AVG(*)? Working with non-relational databases requires learning new methods for performing basic data aggregation. This talk will explore the real-time aggregation options available in two popular document databases. Couchbase's SQL for Documents, and map-reduce view engine will be covered, along with MongoDB's aggregation framework. Designing a schema for aggregation will also be part of the discussion. Some experience with a document database is expected.|
|Selected||John Petersen||Leveraging the power of dynamic lambda statements||200||Lambda expressions and Linq in general are powerful tools in .Net. Sometimes, we need the ability to construct lambdas dynamically based on user requirements. In this session, John will review the basics of what expression trees and lambdas are and the techniques you need to construct dynamic lambda statements in your .Net applications.|
|Selected||John Petersen||Intellectual Property Fundamentals for the Technologist||100||Today, more than ever, technologists need to be aware of the basics of Copyright, Trademarks, Patents and Trade Secrets as well as the basics of Non Disclosure Agreements. There's a myth that if something is available on the internet, it's free to copy and use as we please. Nothing could be further from the truth. In this session, John will cover the basics of intellectual property law so that you can be a more informed technology professional.|
|Selected||Jonathan Mills||Design Patterns in Practice||200||If your experience with design patterns does not venture much past the repository or factory patterns, then this session is for you. Design patterns are often fun to talk about or interesting from an academic standpoint, but many struggle with how to implement them practically in the real world. In this session, I will walk you through the different categories of design patterns and show you practical implementations for many design patterns.|
|Selected||John Brown||ASP.Net Core - Gettting Started||100||ASP.NET Core is a familiar yet a whole new way of developing web apps on .NET. This talk will start with Hello World and build a functioning web app to see how each piece of middleware adds to the overall process and allows you to specifically configure your application.
You will learn:
* How to startup your app and prepare the middleware pipeline
* How where and how the configuration of ASP.NET Core is done
* Prepare Entity Framework Core to work with ASP.NET Core
* You will learn how to setup for production configuration
* Where to get started with a new application
|Selected||James Sturtevant||Introduction to Service Fabric||100||Orchestration, automation, and monitoring are just some of the challenges when moving to container technology. Service Fabric is a distributed services platform that solves these challenges and more. It is a battle tested system that is used inside Microsoft for its mission critical applications such as Azure SQL, Document DB, and Bing Cortana - processing more than 500 million evaluations per second. In this session we will explore Service Fabric and see how it helps to solve the challenges of distributed computing.|
|Selected||Karl Shifflett||Rapid Xamarin.Forms XAML Data Entry Form Creation from MVVM ViewModel||200||Come learn how you can rapidly create XAML data entry forms for iOS & Android (via Xamarin.Forms), UWP, and WPF applications using "XAML Power Toys for Visual Studio 2015" (aka the tool), is a free, open source, RAD, data-driven, drag & drop tool for rapidly creating data entry forms for current Microsoft XAML technologies: Xamarin.Forms, UWP, and WPF.
After a lightning fast demo of the tool, we will get everyone on the same page with MVVM, PCL, Shared Projects, and Xamarin.Forms. We'll spend the remainder of the session creating data entry forms with a focus on iOS & Android via Xamarin.Forms, and Windows 10/UWP scenarios.
Gone are the days of tedious XAML editing for data entry forms. This is a free Visual Studio 2015 package that both mobile & desktop developers will enjoy.
|Selected||Kendall Miller||To The Cloud! How We Moved our SaaS to Azure (and it made us better!)||200||Two years ago we had to make a decision whether to double down with new hardware in our Colo or go another way to grow our SaaS. We moved into Azure and haven't looked back.
In this talk we'll walk through the challenges we've faced moving from our own hardware to Azure including:
•Taking advantage of auto-scaling to reduce costs.
•Growing 100x without controlling the hardware.
•When it all goes wrong and Azure falls over.
•How Azure has improved the performance of our on-premises installs too
Far from a theoretical conversation about how you could use the cloud, we'll share real data from our production implementation, both the good and the bad. Finally, we'll talk about where we're going with what we've learned.
|Selected||Kendall Miller||Scaling Systems: Architectures that Grow||200||It's harder than ever to predict the load your application will need to handle in advance, so how do you design your architecture so you can afford to implement as you go and be ready for whatever comes your way. It's easy to focus on optimizing each part of your application but your application architecture determines the options you have to make big leaps in scalability. In this talk we'll cover practical patterns you can build today to meet the needs of rapid development while still creating systems that can scale up and out. Specific code examples will focus on .NET but the principles apply across many technologies. Real world systems will be discussed based on our experience helping customers around the world optimize their enterprise applications.|
|Selected||Kevin S. Goff||Introduction to Data Warehousing Patterns||100||If you've worked primarily with OLTP database applications and would like to learn more about data warehousing and business intelligence solutions, this session is for you!
I'll cover some of the fundamental concepts (using the Ralph Kimball methodology) and how to implement them using the SQL Server platform. If you're interested in what fact and dimension tables are for, what slowly changing dimensions are (and why you should care), then come to this session!
This is an introductory session and only makes the assumption that the attendee has worked with normalized, transaction databases. I'll take it from there
|Selected||Kishore Reddy||API Design Patterns||200||API design patterns with an emphasis on building Protocol Independent APIs. This involves writing your API 1 time and being able to host the API as both a Web API and also using it on the command line.
- api standardization
- api routing format
- api help and discovery
- api request and response
- api implementations patterns
- api as a logic-less entry-point
- api with protocol independence
Will demo writing your API in Scala as a plain class with Annotations once, and them making it available as both a Web API ( using Akka-Http ) and on the CLI ( command line interface ) shell.
While the concept is language independent, it will include a working example using:
|Selected||Lee Brandt||OpenID Connect in ASP.NET Core||100||In the age of the “personalized web experience”, authentication and user management is a given, and it’s easier than ever to tap into third-party authentication providers like Facebook, Twitter and Google. And it’s not just the wild, wild web that needs it. Businesses need ways to secure their APIs, and identify users logged into their apps as well. In this session, I will show you how to use the latest authentication protocol from the OpenID Foundation: OpenID Connect. It's a complete protocol that is implemented by several providers and an easy way to secure your web applications!|
|Selected||Matthew Groves||Full Stack Development with .NET and NoSQL||200||Application development and data storage needs are changing constantly. Today you might find yourself using ASP.NET MVC, but tomorrow you might need to use ASP.NET Core. Maybe tomorrow you find yourself needing to store a more diverse set of data than you did yesterday, creating a challenging data upgrade path. What if you suddenly decide that you need to include a mobile application as well as a web application? How do you prepare your enterprise to be able to accommodate these various technology shifts as the years pass?
In this session we will talk about what is different about this generation of web applications and how a solid development approach must consider the latency, throughput and interactivity demand by users across both mobile devices, web browsers, and IoT. We'll see how to include a NoSQL database in such applications to support a flexible data model and easy scalability required for modern development.
We will see how to create a full stack application that makes use of .NET, Couchbase NoSQL, and AngularJS, but can very easily be altered to meet the needs of your organization should things change in the future.
|Selected||Miguel Castro||Exposing an Extensibility API for your Applications||200||Writing software that can be maintained is and always has been crucial. But so is writing software that can be enhanced and extended. It’s become quite commonplace for many apps today to expose APIs so externally written apps can have access to their data or their services. But imagine how cool it is to expose an API for changing or extending an application’s functionality. I’m talking about the ability to use the architecture of an application in order to enhance that system. This is the power of the patterns and techniques I’m going to show you in this session. They’re very useful and very geeky so bring your propeller hat.|
|Selected||Mitchel Sellers||Entity Framework the 60 Minute Practical Introduction||200||Although Entity Framework has been around for quite a while now, many developers have yet to fully experience the power that it can bring to a project. In this session we will take a deep dive into the specifics of working with Entity Framework to manage the data layer of an application. We will start from scratch and build a model, enable migrations, work with migrations and implement queries. Included in all of this will be practical notes regarding production processes with entity framework. At the end of this session attendees should be comfortable with initial implementation of complex data models & operations using Entity Framework.|
|Selected||Mitchel Sellers||Website Performance; Make it Fast to Make it Last||200||The modern website visitor has very high expectations for the performance of websites and it is imperative that our applications meet this need. The ramifications of an under-performing website can go far beyond customer satisfaction, though, as even the search engines are getting in on the "it must be fast" bandwagon. In this session, we will dive head-first into the in's and out's of website performance. Starting with a practical review of what it means to have a "fast" website and what some key metrics are that can help quantify this designation.
As the session progresses we will evolve into reviewing common site infrastructure issue that can contribute to poor performance and the methods available to quickly identify these items for resolution. After identifying these areas we will discuss the quick fix items and how to get the best improvements the fastest. The session will end with a quick introduction to heavy traffic load testing practices.
|Selected||Erik Noren||Defensive Programming Techniques||200||Corporate networks are under constant attack and from a practical perspective there is no question of if they'll be compromised but when and how badly. A developer can not rely on firewalls alone to ensure their applications are protected from unauthorized use and simply adding SSL does little to reduce the threat. In this session I'll show how application designs can be altered to make them more resilient to attacks and breaches.|
|Selected||Erik Noren||F# for C# Developers||200||C# is a powerful language that can be used to accomplish practically any task. Even though it can do most things, it doesn't do them all equally well. F# is a functional-first language that can be used to solve some challenges the modern developer faces in fewer lines of code and with reduced code complexity. In this session I will first demonstrate how F# can be leveraged in C# projects to simplify common tasks then build up to more complex examples of its support for asynchronous and parallel processing.|
|Selected||Oren Novotny||Creating packages the .NET Standard way||200||Learn how to create NuGet packages that work with .NET Core and .NET Standard. This session will introduce the .NET Platform Standard and show how to create libraries and packages that can run anywhere.|
|Selected||Oren Novotny||Cross-Platform Unit Testing with xUnit||200||xUnit allows you to write unit tests that run across all platforms, validating your logic across iOS, Android, and Windows devices. In this session, we'll explore how you can use xUnit for Devices to test shared code as well as platform-specific code, and take a deep dive into the power of xUnit's extensibility engine.|
|Selected||Paulmichael Blasucci||Embracing the "Common" in "Common Language Runtime"||200||One of the undervalued strengths of .NET/Mono is the ability to mix-and-match many different languages. And yet, developing libraries for polyglot consumption is a little-known craft. In this example-laden talk (drawn from 18 years of professional experience) we'll learn some of the tools, techniques, and mindset needed to delivery high-quality libraries which are a joy to consume from multiple CLR languages.
(Note: this session assumes a day-to-day familiarity with .NET or Mono, though not necessarily in more than one language. Also, the discussion will be limited to languages "in the box" with Visual Studio... sorry, Cobol.NET fans.)
|Selected||Paulmichael Blasucci||Quick! Check your Properties (and Write Better Software)||100||Love it or Loathe it, testing is an unavoidable aspect of developing high-quality software. But there's a world of difference between well-tested code and simply writing tests. Very often, the difference boils down to how you assess the "correctness" of your code. By focusing on software as a mapping from inputs to outputs, property-based testing offers a powerful methodology for testing the logical invariants a piece of code should always uphold, regardless of implementation details.
This session presents a review of FsCheck, a powerful library for doing property-based testing and sophisticated data generation in the CLR ecosystem. In addition to the basic features of the library, attendees will learn about identifying common invariant patterns and building specifications from collections of properties. Time will also be spent exploring how FsCheck can be used to refine domain models and integrate with other popular testing tools. Finally, real-world examples will highlight both the strengths and weakness of this approach to software craftsmanship. While no prior knowledge is assumed, familiarity with the CLR (.NET or Mono) will be helpful.
|Selected||Rachel Reese||A History of F#: From Euclid to Type Providers||100||After I switched from C# (a curly-brace heavy object-oriented language) to F# (a whitespace-sensitive functional language) a few years ago, I started to wonder about the history of programming languages and how they evolve. How does a feature in one language influence a feature in another language -- for instance, where did type providers come from? In this talk, I cover the history of the ML family from approximately the dawn of time, eventually focusing on F# specifically.|
|Selected||Rachel Reese||Is functional programming just a fad?||100||So, is this functional programming thing just a fad, starting to have its 15 minutes of fame? Are there any benefits to learning a functional programming language? Or to switching your development over to a functional language? In this talk, Rachel will discuss several of the considerations and use cases that helped Jet.com (and a few other companies) decide whether to consider, or fully make the switch to using, a functional programming language.|
|Selected||Ravi Okade||ZeroMQ, ZooKeeper and FlatBuffers all in One hour||200||In this session we will create a high performance Pub-Sub solution using ZeroMQ which can be achieved with a few lines of code. So to fill the remaining part of the hour, we will use ZooKeeper which will help fill the zoo with multiple publishers and keep them all behaving. And we will visit FlatBuffers which will make you wonder if serialization protocols will ever stop evolving.|
|Selected||Rob Zelt||A Developer's Look At Microsoft Hololens||200||In January 2015 Microsoft announced a new product called Microsoft Hololens, a mixed reality platform based on Windows that mixes virtual with reality. In this session we'll look at a few Hololens demos to show some potential scenarios using the recently released developer version and then dig into some of development tools. No, you will not be able to try it on, but you will see how you can apply many of the tools you may be using today to platform of tomorrow.|
|Selected||Rob Zelt||Backyard IoT||200||From bee hives to the tomato garden, your back yard contains a wealth of information. See how a variety of IoT products connecting to the cloud can feed you a wealth of data about your yard.|
|Selected||Spencer Schneidenbach||Getting Started with Angular 2 and TypeScript||100||The web world has become increasingly more complex over the past few years. The demand for fast, fluid single page applications (or SPAs) has gone up, along with the seemingly endless number of frameworks used to build them. The most popular among them, Angular 1, took the SPA world by storm seven years ago. Since then, it's been adopted by many developers and firms looking to build rich, feature-fill applications for the web, mobile, and beyond.
|Selected||Spencer Schneidenbach||Never RESTing - RESTful API Design Best Practices Using ASP.NET Web API||100||Designing and building RESTful APIs isn't easy. On its surface, it may seem simple - after all, we're only marshaling JSON back and forth over HTTP right? However, that's only a small part of the equation. There are many things to keep in mind while building the systems that act as the key to your system.
In this session, we'll delve into several best practices to keep in mind when designing your RESTful API. We'll discuss authentication, versioning, controller/model design, and testability. We'll also explore the do's and don't's of RESTful API management so that you make sure your APIs are simple, consistent, and easy-to-use. Finally, we'll discuss the importance of documentation and change management.
The session will show examples using ASP.NET Web API and C#. However, this session will benefit anyone who is or might be working on a RESTful API.
|Selected||Shiva Chittamuru||Machine Learning on Microsoft Azure||100||Machine learning uses computers to run predictive models that learn from existing data in order to forecast future behaviors, outcomes, and trends that can make apps and devices smarter. Azure Machine Learning Studio is the place where data science, predictive analytics, cloud resources, and your data meet. This talk focuses on the overview of Machine Learning, what's in it for developers, and how Azure ML makes it easy to build accurate predictive models and make your apps smarter.|
|Selected||Muhammad Siddiqi||Swagger for REST based APIs Contracts||100||REST APIs provides us lots of advantages including JSON based responses and supporting plain HTTP. This simplicity makes it difficult to utilize them for statically typed clients. Swagger allows these services to publish their contracts using the same HTTP. The session would be a deep dive discussing how Swagger can be used for API documentation, discovery and client code generation specially for polyglot development.|
|Selected||Philip Japikse||Becoming an Effective Leader||200||Leaders aren't born, they aren't hatched, and they don't apparate. Leadership is a journey, one that involves hard work, practice, and a deep understanding of not only your team members but also yourself. I've led teams large and small throughout my 30 year career, and certainly made plenty of mistakes on the way, But I've learned to fail fast, iterate, and continuously improve to create high performing teams across multiple verticals. In this session I share what I have learned over the years being a leader and being led.|
|Selected||Philip Japikse||Agile: You Keep Using That Word...||200||Much like the DOTCOM boom when everyone declared themselves a programmer, once David Norton (Gartner Research) declared agile mainstream on August 26, 2009, you can’t throw a stone without hitting someone who claims to be an Agilista. From the proliferation of “agile” frameworks and certifications, to all of the people who decided to hang out a shingle as a coach, it can be hard to remember what is the essence of being agile. In this talk, I remove the fluff and hyperbole, and get down to the roots of what it means to be agile.|
|Selected||Stephanie Herr||DevOps for the Database||100||We hear a lot about DevOps these days, but what exactly is it and what does it mean for the database? We’ll try to define DevOps and review some of its principles. We’ll also look at how practices like version control, continuous integration, and continuous delivery can be used for the database and what advantages this brings. Ultimately, database releases should be boring and this demo can help you see how to make this possible.|
|Selected||Stephen Leonard||Enterprise Mobility – A Whole Different World||100||Many are surprised when coming from consumer mobility, just how different the operating environment and requirements can be in enterprise-focused mobility. This session will cover enterprise mobility from the typical business requirements though platform architecture, engineering and implementation, leading finally to developing applications on this often fragmented technology foundation.
Enterprise mobility can be very challenging with mistakes resulting anywhere from lost productivity, up though total loss of your proprietary data and, often the client’s trust. An understanding of the enterprise mobility landscape is essential to crafting and implementing a successful mobile strategy upon which to build your business. The topic areas will be applicable for any sized organization including large, regulated and governmental organizations. Once the groundwork is laid, we will focus on what this all means for application development so you can build, and actually implement, the next killer enterprise app.
|Selected||Iqbal Khan||How to Scale .NET Apps with Distributed Caching||200||Your .NET applications may experience database or storage bottlenecks due to growth in data volume, session volume/length or size of objects. Learn how to remove bottlenecks and scale your .NET applications using distributed caching. This talk covers:
• Quick overview of scalability bottlenecks in .NET applications
• Description of distributed caching and how it solves response time issues
• Where you can use distributed caching in your application(s)
• Some important features in a distributed cache
• Hands-on examples using a distributed cache
|Selected||Will Robertson||Building your testing arsenal||100||A guide to the various approaches and tools available in .NET to test your code complete fashion both for intention and implementation. Talk will cover types of testing, techniques that have worked and not worked, the ‘implementation’ trap and what tools can assist you in writing better tests.|
|Standby||Bhakthi Liyanage||Getting started with Data Analytics with Azure Machine Learning||200||Windows Azure Machine Learning and Data Analytics platform offers a streamlined experience, from setting up with only a web browser to using drag-and-drop gestures and simple data-flow graphs to set up experiments. Azure Machine Learning Studio is a GUI-based integrated development environment for constructing and operationalizing Machine Learning workflow on Azure and features a library of time-saving sample experiments, R and Python packages, and best-in-class algorithms from Microsoft businesses like Xbox and Bing. Learn how the Azure Machine Learning service in the cloud lets you easily build, deploy, and share advanced analytics.|
|Standby||Ed Charbeneau||Giving Clarity to LINQ Queries by Extending Expressions||300||In this session we'll learn about .Net Expression trees by discovering how they work and applying the knowledge to LINQ using the pipes and filters pattern.
LINQ and Entity Framework are both commonly used in the .Net ecosystem, but even well-written applications can have LINQ queries that are difficult to understand. Because LINQ is so flexible, it can be written in ways that fail to communicate the developer’s intent. Well-written LINQ should be so clear as to be self-documenting. To write clear LINQ, it helps to understand the details of a few LINQ components that improve LINQ’s readability.
We’ll be showing how to use a pipe and filter pattern to make LINQ queries easier to comprehend. We will take a deep dive into expression trees to understand how they work, and how to manipulate them for maximum re-usability.
|Standby||James Bender||TDD will set you free!||100||Test Driven Development (TDD) mean freedom. The ability to bake quality into your application as you develop it can change the way you think about software frees you from the fear of creating applications that are brittle and don't respond well to change. It effects the way we approach, design and write applications. Test Driven Development is powerful. Yet many developers allow themselves to be intimidated by what they perceive as added complexity. Managers worry that the practice of "test first" will delay development. This presentation will explain the concepts behind TDD, outline the benefits, give you some concrete examples of how to do TDD using the C# language and some advice on how to sell it to your managers.|
|Standby||Jay Harris||Growth: Moving Beyond “Independent Developer”||100||You’ve made the decision to go out on your own. Do you want to stay an Army of One or do you strive for something more? Spend an hour discussing the obstacles you will encounter if you go it alone and the obstacles you will encounter if you don’t. Learn philosophies that will help you on your way to an Army of Two, from before, to during, and for after your transition to Employer. Move beyond Independent Developer, and switch from “Me” to “Us”.|
|Standby||Joe Kuemerle||Keeping Secrets: Using Encryption Effectively||300||We all want to protect data that is entrusted to us. Whether we are required to protect sensitive information because of regulations or just to keep the trust of our users a good understanding of encryption is essential. In this session we will work through common data encryption scenarios and use encryption techniques to ensure that your data stays protected. We will also review common mistakes when using encryption and learn how to avoid them. Additionally, we will discuss techniques to guard against tampering and how to maintain the security of our data over the long term.|
|Standby||James Sturtevant||Building Resilient Services with Xamarin||200||Most applications require a backend service to do complex processing. In this session we will see how to build resilient communication with an backend service in the mobile world where we are not always connected to our service. We will focus on techniques like request prioritization, caching and more. By the end of the of the talk you will be familiar with several techniques to ensure your app performs well in all situations and learn about a few C# libraries that enable resiliency in your applications.|
|Standby||Matthew Groves||I have a NoSQL toaster||100||NoSQL is a catch-all term that covers a lot of different types of data storage. Is it really helpful to group them together by one thing they don't have? Think about it like this: my toaster is as much NoSQL as any database! So, how can we make more sense of this new breed of database management systems?
In this talk I cover the four main data models that have been part of the past ten years' NoSQL movement: key-value, document, columnar and graph. I explain how they differ and when you might want to use each one.
|Standby||Mitchel Sellers||ASP.NET MVC & Identity: The Things You Were Never Told||200||Following the quick start examples it is trivial for a developer to stand up a new ASP.NET MVC application and use ASP.NET identity to handle user authentication and authorization. However, following these tutorials there are many important details that are left out. How do you work within a single DB Context? How do you share your data model with a project outside of ASP.NET MVC? How do you use Dependency Injection with Identity? How about displaying the users name on each page load?
This talk goes into all of the details that you need to truly SUCCEED with ASP.NET MVC and Identity. By sharing a big set of lessons learned, and other helpful insight your next project should be much easier to get off the ground!
|Standby||Paulmichael Blasucci||(Nearly) Everything You Ever Wanted to Know About F# Active Patterns (but were Afraid to Ask)||200||This presentation will provide a concise, but thorough, review of one of the more unique features of the F# language: active patterns. Also known as active recognizers, this feature allows one to extend the pattern-matching capabilities of the language. Active patterns may be put to great effect in taming unruly APIs, improving the declarative style of one's code, constructing embedded DSLs, and much more. This talk will be given in a lecture format, interspersing digestible code samples with detailed breakdown of syntax. Additional consideration will be given, time permitting, to appropriate use-cases for active patterns and a discussion of the under-lying mechanics. The review is aimed at advanced beginners who are familiar with F#'s general syntax and usage. Also, while not strictly necessary, those wishing to follow along via computer are encouraged to have, at least, version 2.0 of the core F# tools. Information on obtaining the latest version of F# (for your platform of choice) may be found at: http://fsharp.org.|
|Standby||Will Robertson||Beginning Aspect-Oriented Programming in .NET||200||A concise outline of Aspect-Oriented Programming (AoP). Talk will cover .NET/server-side and web/client-side approaches, advantages of the available tooling and the drawbacks of each. Covering basic AoP concepts and best practices for implementing and testing aspects. Participants will understand how using AoP to alleviate the burden of cross-cutting concerns and avoid painful code will benefit your team and your future self.|
|Standby||Jason Farrell||An Updated Introduction to Xamarin||100||Xamarin has been around for almost 7yrs now and has evolved from a simple open source project into a legitimate alternative to native iOS and Android development complete with a full stack of tools. Recently, Xamarin was acquired by Microsoft as a way to help .NET developers develop mobile apps by allowing to use C# through a cross compilation mechanism. Xamarin apps are purely native and are able to leverage all of the functionality of the native platform. In this talk we will cover not just the root of Xamarins and its product stack but also take a deep dive into how Xamarin accomplishes what it does. I will explain how the compilation process between Android and iOS differ and what those differences mean for the final output. By the end, attendees will have a clear understanding of what Xamarin is and that there is no difference between a Xamarin app and an app written in the native platform.|
|Standby||Spencer Schneidenbach||Getting Started with React and JSX||100||The web world has become increasingly more complex over the past few years. The demand for fast, fluid single page applications (or SPAs) has gone up, along with the seemingly endless number of frameworks used to build them.
Enter React - a view library created by Facebook that you can use to create composable, maintainable web applications. We'll explore components, the basic building block of a React-backed view. We'll also look at JSX, the language used frequently to create React components.
Finally, we'll touch on some of the decisions you'll have to make as a React developer. React is decidedly "not a (full) framework", so we'll consider where to store data React uses, what routing framework to use, what framework to use for HTTP calls, and more.