Spring 2016, Sat, Apr 16, 2016
-
Getting Started with ASP.NET Core 1.0 in Visual Studio Code
by Scott Addie
Microsoft new cross-platform ASP.NET framework promises to appease those seeking modularization and performance improvements. Out with the kitchen sink that is the System.Web assembly, and in with the new. Couple this with a lightweight, cross-platform code editor which comprehends ASP.NET Core 1.0, and developers around the world rejoice. So let’s dive in! Open Visual Studio Code, and choose File -> New -> Project, right? Not quite!
This talk will explore how to get started with ASP.NET Core 1.0, from the ground up, using Visual Studio Code. Along the way, we’ll discuss new features and how to take advantage of them in your applications. -
Busting .NET Myths
by Jason Bock
Structs and classes. Disposable objects. Asynchronous code. Both C# and the .NET Framework have a ton of features and capabilities within, but sometimes erroneous information is spread about how they work. In this session, we'll set things straight on a number of topics so you know exactly what's going with your code. -
Voxel Art for Games: From Qubicle to Unity
by Matt Christian
Programmer's rejoice! Don't settle by filling your games with hastily drawn MS Paint scribbles. Learn how to quickly, easily, and cheaply build voxel art, a blocky 3D art style popularized in games such as Minecraft and Crossy Road. We'll look at the basic building blocks (pun intended) of creating models in Qubicle (http://qubicle-constructor.com) a 3D voxel art editor. Then we'll apply basic animation techniques using the freely available Blender (https://www.blender.org/) software package and finish it up by getting that art up and running in a scene within Unity (http://unity3d.com/). -
Introduction to Real-Time Notifications With SignalR
by Anne Bougie
As the user experience becomes more important, real-time push notifications are an important tool for web developers to master. Learn how to build real-time server-to-client and client-to-server push services in ASP.NET using SignalR. SignalR makes it incredibly simple to build communication hubs for real-time notifications, peer-to-peer collaboration, and real-time content delivery. SignalR is flexible, extensible and scalable. We will cover setting up a complete MVC5 application using both the Javascript client API and the .NET client. There are several transport protocols available depending on which server and client platforms you are using. We will discuss these options as well as extending, scaling and customizing SignalR. -
Cross-Platform Continuous Mobile Deployment
by Brandon H
Agile is all about the continuous cycle of development and feedback solicitation but mobile platforms introduce added complexity: how do you get your app out to all your testers or stakeholders across all the platforms so they can give you the feedback you need to refine it? In this session we’ll explore one way to do this across all the major platforms: Windows 10, iOS, and Android and throw in cross-platform Continuous Integration to boot! -
What the Heck is WebAssembly, and do I Have to Learn C Now?
by Dan Callahan
Three years ago, Mozilla began experimenting with a low-level subset of JavaScript that supported ahead-of-time compilation and eliminated garbage collection pauses. The experiment worked: Programs written in C and compiled to this intermediate language, called asm.js, could deliver runtime performance within 1.5x of their native C speed. In contrast to Google's Native Client (NaCl / PNaCl) projects, asm.js remained backwards compatible with existing JavaScript engines.
Clearly, there was room for performance improvement on the Web, and a way to get there without breaking old browsers.
Last year, Apple, Google, Microsoft, and Mozilla formed a W3C Community Group to collaborate "on a new, portable, size- and load-time-efficient format suitable for compilation to the web." They called it WebAssembly, and it starts landing in browsers this year.
Suddenly, JS isn't the only game in town: programs will be written in C, compiled to WebAssembly, and run faster than JavaScript ever could. Is this the end? Do we all have to learn C? Come to the talk and find out! -
Introduction to Speech Interfaces for Web Applications
by Kevin Hakanson
Speaking with your computing device is becoming commonplace. Most of us have used Apple's Siri, Google Now, Microsoft's Cortana, or Amazon's Alexa - but how can you speak with your web application? The Web Speech API can enable a voice interface by adding both Speech Synthesis (Text to Speech) and Speech Recognition (Speech to Text) functionality.
This session will introduce the core concepts of Speech Synthesis and Speech Recognition. We will evaluate the current browser support and review alternative options. See the JavaScript code and UX design considerations required to add a speech interface to your web application. Come hear if it's as easy as it sounds? -
Programming Rocket Ships for No Good Reason
by Kevin Gisi
Who says that programming must be practical? Let's throw caution to the wind and explore kOS — a programmable autopilot for Kerbal Space Program. It's a wild west where there are no standard libraries, no classes, and no try/catch blocks! But there are real problems to solve, including PID controllers, orbital maneuver calculations, and even machine learning.
Join us as we write dangerous code that launches brave Kerbals into outer space on wobbly rockets in a video game. For science! -
Deconstructing Laravel to Rebuild a Personal Backend-as-a-Service
by Sreenath Pillai
Laravel is a popular PHP MVC framework, using the common design pattern to separate concerns, improve performance, and organize code. We will break down and understand the base components of the framework, and then rebuild it in a way that is as framework-agnostic as possible. Then we will add some features to turn it into a 'Backend-as-a-Service' that you can use to speed up the development of your web, mobile, or IoT projects! Lastly, we will build classes in both JS and Objective-C to demonstrate how to talk with our newly created backend. -
Intro to Ethereum
by Mike Rosack
We've all heard of Bitcoin by now, but what's the next step in blockchain technology? How about a distributed, decentralized turing complete computer in the cloud? That's the premise behind Ethereum, a new blockchain that takes the technology pioneered by Bitcoin to the next level. In this session I'll give an overview of what Ethereum can do, and then walk you through a simple hello world Ethereum application in both the Mix IDE and the geth command line client. -
Freaky Fast Delivery - Responsive Performance Strategies
by Brad Broulik
Want to learn how to build freaky fast sites that load within the mythical one-second barrier? In this talk, we’ll explore the latest techniques we can apply to create responsible sites the achieve this goal. Topic discussed will include:- Traditional vs enhanced page loading techniques
- Loading JavaScript, CSS, fonts and content asynchronously
- Compression techniques for requests, images, and assets
- Caching techniques via Browser cache and Web storage
- Performance budgets, anti-patterns, and monitoring tools
-
Business Driven Development
by Benoy John
Business Driven Development is a development methodology based on communication between the business customers, the developers, and the testers. BDD encompasses many of the same practices as Specification by Example, Acceptance Test Driven Development (ATDD), Example-Driven Development (EDD), and Story Test-Driven Development (SDD). All these processes aid developers and testers in understanding the customer’s needs prior to implementation and allow customers to be able to converse in their own domain language. This talk will focus on why we need to do BDD, How we can include BDD into our development process, the advantages and challenges in implementing BDD. Examples for this talk will be in .Net/SpecFlow. If you are a Developer, Tester, Business Analyst, Product Owner or a stakeholder in a software development project this talk will show you how you could build products with in-built quality and value and can be extended easily. -
DevOps In Action
by Dave Strebel
DevOps aims to remove hurdles from getting features deployed to production by standardizing and automating the delivery pipeline, and Agile processes aim to make the act of development itself more efficient and incremental.
The session will begin with a short intro to Release Management followed by an end to end demo of deploying and testing an ASP.NET 5, MVC 6 application in a Docker container to a Linux machine in Azure using Release Management online. We will be using the latest Build and Release Management UI from Visual Studio Team Services and Release Management Online. Attend this session so you can understand how things are changing and what tools are available to help you keep pace with the developer evolution. -
Open Source Software for Microsoft Developers
by Rockford Lhotka
In today's world it has become virtually impossible to write software without using open source tools, libraries, or frameworks. Even if you avoid "third party" open source components, Microsoft is open sourcing more and more of .NET itself that it is inescapable. So should you be worried? Didn't Steve Ballmer tell us open source was bad and dangerous? Well, there are things you should know about open source in terms of licensing, maintainability, support. Many are things you need to think about when using ANY code you didn't write yourself, whether open source or not. By the end of this session you'll understand where open source does and doesn't differ from traditional proprietary tools, libraries, and frameworks. You might still be worried, but you'll understand WHY you are worried. -
Six Reasons Sandstorm.io is Rocking the World of Open Source Web Apps
by Dan Kraft
Sandstorm describes itself as "an open source operating system for personal and private clouds."
In this session, we will go over the features that make Sandstorm the ideal platform for distributing and hosting open source web apps, then go over the brilliantly simple process of getting Sandstorm installed on your own server. Packaging (or porting) an app to run on the platform will also be covered. -
TypeScript In Action
by Kamran Ayub
Do you want to learn how to automatically generate strongly-typed Angular services for your Web API? What about Knockout view models that stay synced with your server-side code? In this session, we will walk through a sample application that leverages TypeScript, Angular2, and ASP.NET MVC/Web API. You will learn how TypeScript can help augment your development experience and your existing knowledge as a Javascript developer by adding type safety, OO concepts, and ES6 features to your codebase. If you consider yourself a C# or .NET developer and do Javascript on the side, TypeScript is a great fit for all the paradigms you're used to. If you work in a Linux or Mac world, you’ll still be able to leverage TypeScript with cross-platform tooling. Come and learn something that might help you become more productive and make your applications more robust and less scary to refactor. The speaker recommends watching his previous TypeScript Demystified talk for a grounding in the concepts of TypeScript but it’s not required. -
The Definitive Guide to the Flux Pattern for React
by Vince Bullinger
React is a JavaScript framework that makes a radical departure from the MV* frameworks that have been inundating the development space for the last several years. With this radically new approach comes a pattern to replace the common paradigm of two-way data-binding MV* frameworks. This pattern is known as "Flux." While React has been gaining steam for a couple of years now, the Flux pattern is still a relative mystery to most of us.
In this talk, we'll start with a quick recap of React to get everybody up to speed. Then we'll dive into the nuts and bolts of the Flux pattern, investigate some of the more popular Flux frameworks and make sure you walk away fully understanding this enigma. -
Tour d’Azure 2016 – New Killer Features That’ll Blow You Away
by Mike Benkovich
In the 7 years since Microsoft introduced Azure, the public cloud has evolved and come to terms with the needs in today's marketplace for a virtualized computing infrastructure that you and provision and deploy what you need when you need it and pay just for what you use. Platform as a Service (PaaS) has come a long way as well, and with the latest incarnation of Application Services (which includes Web, Mobile, API and Logic Apps) a developer is able to quickly and efficiently use the cloud to deliver solutions faster than ever. Microsoft Azure has changed a lot since it was released and in this talk we'll show you some great new compelling features that make all the difference. -
The Why and How of Dependency Injection
by Sean MacAvaney
Many frameworks use dependency injection to improve testability and allow for runtime dependency configuration. In this session we further discuss the motivation of this approach and implement a service locator in an ASP.NET MVC project. Related topics covered along the way include inversion of control and reflection. -
Extending Visual Studio and Making It Work for You
by Jason Lattimer
Did you know there's a Visual Studio SDK? By now everyone's heard talk of the .NET Compiler Platform ("Roslyn") but there's also a world of other extensibility points in Visual Studio. Templates, menu commands, tool windows, and even customizations to the editor itself can all be tapped to add new functionality to keep you in the IDE longer making you more productive. There will be lots of demos to show off some of the features and the session will wrap up by talking about getting an extension in the Visual Studio Gallery so it can be shared with the world. -
Advanced Topics in F#
by Jeremy Abbott
You know that F# .NET's functional programming language. You know that it supports default immutability, functions as types, and type inference, and even OOP. But do you know about the other awesome language features like pattern matching, discriminated unions, sequences, mailbox processors, type providers, and a plethora of other awesome tools? Learn how F# can make you productive in your day to day work using these awesome language features. -
Live Coding Sound Responsive OpenGL Fragment Shaders
by Shawn Lawson
This presentation will be an introduction/crash course into using OpenGL Fragment Shaders for live-coding graphics. I will be using an open source toolkit, The Force, designed around WebGL and run in Google Chrome or Firefox. The toolkit is hosted on github, so participants have the option of following along. http://shawnlawson.github.io/The_Force/
We will cover: a brief explanation of the tool, how it’s constructed, how it works, a quick tour around the basic functionalities of the OpenGL Fragment Shader language, how to work with coordinate space, function generators within the toolkit, some simple examples, and finally integrating an audio source for creating sound responsive graphics. -
How To Mentor Jr. Devs Without Losing Your Mind
by Alec Wojciechowski
Have you ever had to take on a junior developer? Do you get questions that seem like they've come out of left field? Are you sick of doing the busy work that they should be doing? We'll explore what it takes to take a junior from green to gold without feeling like you're about to lose it! -
Date and Time Odds, Ends and Oddities
by Maggie Pint
Did you know that sometimes midnight doesn't happen? That some years have 53 weeks? That javascript will interpret "2016-01-01" and "01/01/2016" differently? That certain libraries can drastically improve the developer experience with date and time?
Date and time is a complicated and under-appreciated problem in programming, but it affects nearly ever application ever made. Using code examples in JavaScript, we will go through the oddities and edge cases of date and time that every developer should take into consideration when writing modern applications. You will come out of this talk feeling more prepared to tackle date and time in your code, no matter what programming language you use. -
HoloLens: This Isn't Your Grandmother's VR -- This is AR
by Lance Larsen
- "Hologram" (noun): an image that is projected in a way that makes it appear three-dimensional.
- "Augmented Reality" (noun): superimposed computer-generated images on a user's view of the real world.
- "HoloLens" (noun): an awesome wearable holographic computer that lets you see, hear and interact with holograms in any environment!
Join Lance Larsen fresh back from the Microsoft //BUILD conference -- where HoloLens was center stage! -
Rethink Frontend Development With Elm
by Brian Hogan
Come explore Elm, a functional programming language for making web things. Elm aims to solve some of the same problems that Ember, React, and Angular 2 solve, but in a radically different way. Strong and static typing ensures that data you pass around in your apps really is what you think it is. A simple and tried-and-true architecture makes it easy to understand, and great tooling makes it fun to use.
In this talk, we'll explore how we use Elm to build our user interface and our code, and we'll take an honest look at where Elm can make a difference for you, and where it falls short. By the end of the talk, you'll know how to get started and have all the resources you need to explore Elm on your own. -
PJAX Driven Architecture
by Kevin Stanton
Front End (targeting, and "the two classes you probably don't know about 'processed', and 'unprocessed' ")
Back End (sessions/cookies, variable passing)
Middle (the front to back end communications) -
Launching a Software Business
by Todd Gardner and Jordan Griffin
Are you tired of building someone else’s product? Are you tired of building yet another business application? Are you itching to build something amazing? Join our panel conversation and Q&A with real developers who’ve started and built software businesses. Let’s talk about the failures and successes, the fears and arrogance in starting a business. Bring your questions and let’s startup. -
A Developer's Guide to Finding Optimal Solutions
by Barry Stahl
Solving problems that have more than one possible solution is something every developer will be asked to do over the course of his or her career. Figuring out the best way to utilize the capacity of a device or machine, finding the shortest path between two points, or determining the best way to schedule people or events are all problems where mathematical optimization techniques can be used to quickly and efficiently find solutions.
In this introduction to mathematical optimization designed specifically for software developers, we will explore some of the foundational techniques for solving these types of problems, and add several of these methods to your toolbox so that you can put them to work for your customers. Since this is a session for developers, we'll keep it in terms that work best for us. That is, we'll go heavy on the code and lighter on the math. -
DevOps Tools, Explained for Developers
by Dan Nordquist
Maybe you've watched a few videos about devops tools like Vagrant, Docker, or Microsoft Release Management. You know they represent the future, but you're not sure why to use them, how to apply them, or how they work together. Join Dan as he briefly explains the DevOps movement, and then demonstrates real-world usage of these DevOps tools. -
F# and Data 101: Utilizing FsLab to Quickly Understand your Data
by Jonathan Dexter
In this talk, we’re going to run through a suite of tools that the F# community has created to bring the power of F# to data manipulation and modeling. Utilizing the functional-first, typed architecture that F# provides, FsLab is a collection of packages which allow data to be explored and understood. These packages include: F# Data, which utilizes F#’s type provider system to create concrete types without boilerplate classes; Deedle, which allows swift in-memory manipulations and transformations of data; and visualization and more packages. We’ll touch on F# syntax as we go. Come join and take a crash course through these tools. -
Introduction to Docker
by Philip Nelson
Find out what all this containerization talk is about, and how you can use this for your development and devops work. We'll focus most on your development workflow with more in depth coverage of multiple container applications running locally, how data is saved, how containers are wired together in a network, how your IDE fits in, and other practical stuff the initial howto articles don't seem to cover. We'll cover how docker fits in with other devops tools, and then we'll end with an overview of the ways these containers can be used in production. -
Test-Driven Approaches to Documenting RESTful APIs (for Groovy/Java)
by Jennifer Strater
Documentation generated from source code is very popular. Solutions such as Swagger are available for many different languages and frameworks. However, limitations of annotation based tools are becoming apparent. An overwhelming number of documentation annotations make for great docs but muddy the source code. Then, something changes and the docs are out of date again.
That is where test-driven approaches come in.
Test-driven documentation solutions, such as Spring Rest Docs, generate example snippets for requests and responses from tests ensuring both code coverage and accurate documentation. It can even fail the build when documentation becomes out of date. This session will walk through how to implement test-driven documentation solutions for groovy ecosystem technologies like Spring Boot and Grails. Attendees should have a basic understanding of AsciiDoc and how to construct RESTful APIs in Spring Boot and/or Grails. -
Continuous Security
by Wendy Istvanick
Worldwide, from government to retail, banking to healthcare, hacks and data breaches are becoming household names. Yet we often ignore many security concerns as we work towards our various delivery deadlines, handling only those that are easy to incorporate. And we generally rely on manual processes to ensure that even these steps are followed.
Similar to what we are doing with increasing frequency for functional testing, configuration, and deployment, we can integrate some security measures into our pipelines and other processes. This talk will go through a few options, using examples for multiple programming languages including C#, Java, and Ruby and highlighting how running them regular could thwart various security threats. -
An Introduction to Semantic 2.0
by Nate Taylor
Is CSS and layout a mystery to you? When you read HTML are you able to understand what will be displayed without constantly looking up classes or documentation? If you’re like me, these are problems you run into when doing the view layer of your application. CSS classes become meaningless combinations of letters that don’t really seem to express intent.
However, there’s a library to help with that. Semantic UI is a framework that aims to create rich UIs “using human-friendly HTML.” Gone are the days of col-md-3. Instead, our HTML will have classes like “three column wide”. But it’s more than that. Semantic UI has a wide variety of elements, collections, and views that can make any application pop, all while following sane patterns. Throughout this talk, we’ll look at several key UI components, and talk about the underlying principles of Semantic UI. After leaving the talk, you’ll be bale to install Semantic UI (hint: it’s really simple) and get up and running on your next project.