Date for Saturday, October 18, 2014 8:00:00 AM - Saturday, October 18, 2014 6:00:00 PM
Speaker List
John Ackerman
More on John Ackerman
Sessions
- Track
- .NET
- Title
- Azure DocumentDB 101
- Abstract
An introduction to the new Microsoft Azure DocumentDB, a fully managed, JSON document database service. The following is a rough overview of the topics that will be covered in this one hour lecture. Topics are subject to change due to time constraints.
- Introduction to DocumentDB
- Introduce concepts of NoSQL and a document store.
- Why relational databases are hard to scale (sometimes).
- How document-based DBs solve these issues
- Where does DocumentDB fit?
- Architecture and Vocab
- Configuring DocumentDB
- Finding and Saving a Document
- Advanced Querying
- Writing JavaScript Stored Procedures, Triggers and User-Defined Functions
Slide deck will be made available upon completion.
Larry Apke
More on Larry Apke
Sessions
- Track
- Agile
- Title
- Story Points Revisited
- Abstract
- Perhaps one of the most misunderstood concepts for people new to Agile (and even some not so new) is the concept of story points. It seems that everyone remembers planning poker and playing with cards, but the real essence of what points are, how to assign points, when to assign points, how to use points to determine velocity, what points mean to upper management seem to be either forgotten or not properly trained from the start.
Learning objectives:
* Learn that points are not absolute but refer to relative size
* Learn that points are almost always specific to a scrum team and should not be used to determine relative maturity among teams
* Learn that Planning Poker is perhaps the most inefficient (though memorable) way to assign relative size
* Learn other appropriate techniques for sizing
* Learn to size with non-collocated teams (if you are stuck with such an arrangement)
* Learn how to use points to plan long term potentiality
* Learn how to explain points to others to dispel prevalent myths
Rob Bagby
More on Rob Bagby
Sessions
- Track
- .NET
- Title
- TDD Kata Live!
- Abstract
- Are you still trying to understand how TDD can help drive your design? Still not sure what the benefits of TDD? Not sure how you would get a project started using TDD?
In this session, Rob Bagby will do the Shopping Cart Kata (http://codekata.com/kata/kata09-back-to-the-checkout/) from beginning to end (if he can make it). You will see how this approach will help you separate the responsibilities of classes (SRP) and drive a design that is open for extension and closed for modification (OCP).
Ross Beamish
More on Ross Beamish
Sessions
- Track
- Agile
- Title
- Mob Programming - A Year Later
- Abstract
- Mob Programming is, as described by its community leader from mobprogramming.org, Woody Zuill, all the smart people focused on the same problem at the same time using the same computer. Come discuss with us what this means, how it works, and what we've learned about the practice after adopting it and using it for a year on a couple of different teams at Infusionsoft.
Thomas Behlau
More on Thomas Behlau
Sessions
- Track
- Other
- Title
- Escape Merging Hell: Auto-merging with Atlassian Stash and Bamboo
- Abstract
Take a deeper look into the auto-merging capabilities of Atlassian's Stash managed git repositories and Bamboo build plans. Discover how these features make developers' days less painful.
Steve Booze
More on Steve Booze
Sessions
- Track
- Other
- Title
- Advance Your Career - Move Into IT Management
- Abstract
Are you considering changing your career from the thought leader track to the people leader track? We will discuss some of the advantages and pitfalls of entering into management, how to get started, the successful pitch upwards and buy-in from below.
Les Brown
More on Les Brown
Sessions
- Track
- Mobile (Android/iOS/Microsoft)
- Title
- Xamarin.Forms Mobile Development with the new 3.0 framework
- Abstract
- Build native UIs for iOS, Android and Windows Phone from a single, shared C# codebase.
Inactive User
More on Inactive User
Sessions
- Track
- Javascript/Node.js
- Title
- Isomorphic JavaScript: An Obsession in 4 parts
- Abstract
Using the same JavaScript both clientside and serverside is coming closer and closer to reality with libraries like React, Mach, and Webpack on the rise. Join me in pursuit of this holy grail of web development and see how much code we can share.
Inactive User
More on Inactive User
Sessions
- Track
- Mobile (Android/iOS/Microsoft)
- Title
- Adaptive Views in iOS 8
- Abstract
- iOS 8 completely rewrites the rules for how screens (view controllers) appear and how they adjust their content to the ever-expanding world of iOS devices. Drop in to get a grounding in the two skills you need to write modern iOS apps: view controller presentation and adaptation.
- Track
- Other
- Title
- Design Patterns: The mystic secret of great programmers
- Abstract
- Design patterns hold the key to effective software development. We all know what a great UI looks like, but what does great software design look like? Get a brief introduction to design patterns and design principles, and then dive into the most impotant and commonly used patterns: Model-View-Controller, The Observer Pattern, Delegation, the Open/Closed principle, and a few others. Design patterns are applicable to almost any computer language, but are especially useful in object-oriented ones.
Inactive User
More on Inactive User
Sessions
- Track
- DevOps/System Administration
- Title
- Crazy Little Thing Called Change: Using Automation to Track Application Change Over Time
- Abstract
Sometimes it can be a daunting task to keep track of what has been done in between releases of an application. When multiple developers or even entirely different teams are trying to commit features and fixes on the same project, records can be jumbled at best. Often, spreadsheets or other story boards are filled in by hand to try and keep tabs on implemented changes, but things can still sneak by without being documented or tasks that came in during the middle of a development cycle can be lost. This presentation takes a look at one approach that can be utilized to automatically generate a list of changes which can then be used to populate future change requests and release notes or just to keep afloat in a sea of change.
Kevin Carlino
More on Kevin Carlino
Sessions
- Track
- Javascript/Node.js
- Title
- Approaching the Singularity with the WebSpeech API
- Abstract
- Discover the power of the WebSpeech API and how it will help bring the WWW to life. Demonstrations of a practical applications built in Angular and Node.js.
Nick Ciubotariu
More on Nick Ciubotariu
Sessions
- Track
- Javascript/Node.js
- Title
- Get to know Knockout.js
- Abstract
Declarative bindings? Observable Arrays? MVVM? And just how is Knockout different than Angular or Backbone, for instance? In this session, we will cover Knockout.js, the Model View ViewModel design pattern, and how to develop and build dynamic and rich UI applications by leveraging well structured, flexible client-side JavaScript and using less code.
Jeremy Clark
More on Jeremy Clark
Sessions
- Track
- Other
- Title
- Abstract Art: Getting Things "Just Right"
- Abstract
Abstraction is a blessing and a curse. Too little, and our applications are difficult to extend and maintain. Too much, and our applications are difficult to extend and maintain. Finding the balance is the key to success. The first step is to identify your natural tendency as an under-abstractor or an over-abstractor. Once we know that, we can work on real-world techniques to dial in the level of abstraction that is "just right" for our applications.
- Track
- .NET
- Title
- Dependency Injection: A Practical Introduction
- Abstract
We all want to build code that is maintainable and easily testable. Dependency Injection can help us get there. But what is Dependency Injection? The answers to the question seem to cause more confusion than help. We'll start with the basics to see what Dependency Injection is, why we want to use it, and how we can add it to our applications. Be prepared to spend a lot of time in code. After we have a good handle on the how all of the pieces fit together, we'll see how a DI container (such as Unity or Ninject) can make things even easier.
- Track
- .NET
- Title
- Learn to Love Lambdas
- Abstract
Lambda expressions can be confusing the first time you walk up to them. But once you get to know them, you’ll see that they are a great addition to your toolbox. Used properly, they can add elegance and simplicity to your code. And some .NET constructs (such as LINQ) lend themselves to lambda expressions. We’ll take a look at how lambda expressions work and see them in action. No specific experience is required (but some .NET is helpful).
Michael Collins
More on Michael Collins
Sessions
- Track
- Other
- Title
- Azure Cloud Finance
- Abstract
- Imagine that you launch the next great web application. You built a killer app that given just enough time will develop a cult following that will line your pocket books. The app has perfect code, perfect performance, and a fantastic future. Next, imagine that while you are just getting started with your sales and marketing efforts, the bills start rolling in for the cloud hosting services. It starts off slow at first, but as your usage grows and you begin to scale out, it gets more expensive. Then imagine a few more months down the road, you're spending more money on cloud hosting services than you are bringing in. Eventually, the cost of running the site just becomes too much and you close the site down.
The Microsoft Azure cloud is a great hosting environment for your next big application, but just as important as a great design is a great understanding of the costs involved in cloud hosting. In this presentation, you will learn about how much cloud services will cost you and strategies that you can apply in your software designs to reduce the costs of hosting your applications. You will learn how to consider and plan for the financial effects of your application design in order to determine the optimal design to maximize your profits and return on investment.
- Track
- Other
- Title
- Making Programs Talk
- Abstract
- Modern and future software development is not about building single programs that run happily in their own private environment. Modern applications are distributed and integrated with others using technologies such as REST, web services, web APIs, and asynchronous messaging. In this presentation, we're going to explore several technologies that help programs talk to each other. In this presentation we will explore questions such as:
* REST/web API vs SOAP services
* Are Thrift and other technologies really viable for service implementation?
* What is asynchronous messaging, and how do I best apply it to my solution?
We will explore all topics from both homogeneous (same language/same platform) and heterogeneous (different languages or platforms) perspectives.
- Track
- .NET
- Title
- PowerShell for .NET Developers
- Abstract
- UNIX operating systems have long had their shell that was put to use in very powerful ways. Microsoft Windows and MS-DOS have had the lesser powerful batch scripting...until PowerShell came along. While PowerShell is primarily a tool for dev-ops and system administration, it can also be a very powerful platform to implement features for your applications. Either by using PowerShell as a scripting interface or providing an expert-level command-line interface for your applications, PowerShell is a tool that simply cannot be ignored by .NET developers in the world of cloud applications. In this session, we will explore what PowerShell is; how to write commands, scripts, and programs using PowerShell; and finally some best practices for PowerShell development.
Inactive User
More on Inactive User
Sessions
- Track
- Other
- Title
- Purely Functional Programming in an Imperative World – An introduction to PFP with Haskell
- Abstract
- An introduction to programming without side effects using the Haskell programming language, including recursion and iteration using lists; higher order functions such as filter, map, and fold; an overview of controlling flow using the functor, applicative functor, and monad type classes, and an introduction to safe concurrent programming in the language.
Alan Dayley
More on Alan Dayley
Sessions
- Track
- Agile
- Title
- Panel: Agile In Practice
- Abstract
A panel of Agile experienced practitioners will address questions from the attendees. We will focus on the application of Agile ideas to practical situations. Bring your questions about practicing the ideas in the Agile Manifesto, Scrum, Test Driven Development, The Kanban Method and any other Agile practices.
Please sign up to co-teach if you want to be on the panel.
Inactive User
More on Inactive User
Sessions
- Track
- Javascript/Node.js
- Title
- MeteorJS: Brilliant Shooting Star, or Shiny Space Junk?
- Abstract
Meteor JS is a relatively new full stack JavaScript solution (https://www.meteor.com/). It provides a full featured stack that is capable of binding data securely all the way from the web view to the data layer with a minimal amount of code, and its all reactive. Intrigued? Great! Not sure what half those words mean? Great! Come check out the presentation and leave with a sense of wonder.
I'll cover features of the Meteor framework, basic project setup, and use in a real application. If we have time we'll also discuss some of the major pros and cons of using a full stack solution.
- Track
- Javascript/Node.js
- Title
- Real World WebSockets
- Abstract
- Using the latest version of socket.io we'll look at the code and functionality of a real world web application that is using this in production. We'll look at how to work around reverse-proxies that don't have WebSockets enabled and still enable the use of WebSockets. You will leave this session armed with the knowledge to implement WebSockets in your web application and you will be able to enable real-time interactive updates and collaboration.
- Track
- Java
- Title
- What's new in Java 8
- Abstract
Java 8 added some fairly ground-breaking functionality to the language. Lambdas, default method implementations, and function interfaces add a whole slew of possibilities for functional programming in Java.
Quick Agenda:
- New Date/Time APIs
- Default Method Implementations
- New Reflection Functionality
- Lambdas / Function Interfaces
- Wrap Up
Inactive User
More on Inactive User
Sessions
- Track
- Javascript/Node.js
- Title
- Learning Node.js Lab
- Abstract
- In this lab style presentation you are encouraged to code along and build a simple and understandable Node.js utility that will be used to query the status of a web site. You will get the most out of this if you already have Node.js installed ( http://nodejs.org/ ) and are able to use a basic text editor to follow along. You will still benefit from this presentation even if you are unable to participate just by following the example and trying it at home later. You will leave this presentation armed with a utility that you can use to query your websites and the knowledge to change it to suit your needs.
- Track
- Javascript/Node.js
- Title
- Real World WebSockets
- Abstract
- Using the latest version of socket.io we'll look at the code and functionality of a real world web application that is using this in production. We'll look at how to work around reverse-proxies that don't have WebSockets enabled and still enable the use of WebSockets. You will leave this session armed with the knowledge to implement WebSockets in your web application and you will be able to enable real-time interactive updates and collaboration.
Inactive User
More on Inactive User
Sessions
- Track
- Other
- Title
- SQL Server Analysis Services Best Practices
- Abstract
- A journey through best practices in relation to scalable SQL Server Analysis Services cube design. From dimension design to SSAS engine internals we will explore SSAS multidimensional design patterns that will take you through steps to assist in getting your SSAS cubes better optimized to better match the needs of your organization. After this session you will be able to take these performance design patterns and apply them to new and existing cubes to tune your SSAS cube environment.
Inactive User
More on Inactive User
Sessions
- Track
- Mobile (Android/iOS/Microsoft)
- Title
- Android From The Trenches
- Abstract
- In this session I will discuss what I've learned from having two apps consistently reside in the Top 100 Free category in Google Play for the last 3+ years (Groupon and MyFitnessPal). I'll talk about tips, tricks and expose real life issues that you will run into at scale with an Android app that becomes very popular. You will learn what to do, what not to do, and how to properly manage your application and team at scale. From defensive coding and advanced patterns to various forms of testing - I'll be talking about it here. You'll walk away with a list of tools and tips to help prepare you and your team for when your app gets featured or makes it to the top 100.
Joe Fleming
More on Joe Fleming
Sessions
- Track
- Javascript/Node.js
- Title
- Let's talk testing
- Abstract
- We all know we should be testing our code, but it can be challenging to get started. BDD, TDD, unit tests, integration tests, test runners, code coverage... and that's not even taking in to account the slew of tools available. Testing can be challenging to get in to, and so few people talk about how to actually do it, or how to write code you can actually test.
In this session, I'll try to shed some light on the Javascript testing world, from process to tooling, and hopefully leave you a little less confused than when we started.
Douglas Friday
More on Douglas Friday
Sessions
- Track
- Other
- Title
- High Speed Math! (an introduction to using PETSc and SLEPc)
- Abstract
This session will focus on how to do high speed math using PETSc and SLEPc. PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations. It supports MPI, shared memory pthreads, and GPUs through CUDA or OpenCL, as well as hybrid MPI-shared memory pthreads or MPI-GPU parallelism. SLEPc is an extension of PETSc and can be used for linear eigenvalue problems in either standard or generalized form, with real or complex arithmetic. It can also be used for computing a partial SVD of a large, sparse, rectangular matrix, and to solve nonlinear eigenvalue problems (quadratic or genuinely nonlinear). Additionally, SLEPc provides solvers for the computation of the action of a matrix function on a vector.
Pankaj Gaddam
More on Pankaj Gaddam
Sessions
- Track
- DevOps/System Administration
- Title
- Deployment Automation using OpsWorks and Chef on AWS
- Abstract
Deploying applications using opsworks and chef scripts on Amazon Web Services
Mike Hamilton
More on Mike Hamilton
Sessions
- Track
- Mobile (Android/iOS/Microsoft)
- Title
- Using BreweryDb.com API with Xamarin Forms
- Abstract
In this session we will use brewerydb.com API and Xamarin forms to create cross platform apps to find local brewery information.
Items covered:
- Xamarin Forms
- Starting solution
- UI building in Xaml
- Running in various simulators
- BreweryDb.com
- Site
- API signup
- Hitting the service
NOTE: will not go over install and setup of Xamarin for development.
John Hannah
More on John Hannah
Sessions
- Track
- DevOps/System Administration
- Title
- Build Automation with Team Foundation Server
- Abstract
One of the more valuable features that Team Foundation Server offers to its users are the Build Automation and Release Management services. We will walk through how to setup TFS for build automation, define a build, customize its workflow template and manage its deployment workflow via the new Release Manager. The end result of automating your builds can be found in team artifacts like catching bugs and code quality issues earlier in development, setting up continuous integrations to validate code on clean configurations, or test integration for extra assurance during delivery cycles .
Don Irwin
More on Don Irwin
Sessions
- Track
- .NET
- Title
- Introduction to Azure
- Abstract
- Walk through how to get started with Azure. Discuss real-world applications for using Azure.
Justin James
More on Justin James
Sessions
- Track
- DevOps/System Administration
- Title
- Install windows software easier and faster using Chocolatey
- Abstract
- Chocolatey is a machine package manager somewhat like apt-get for Linux but built for Windows. No more searching for the install download or trying to figure out 32/64 bit or wonder what options to pick. Chocolatey takes care of doing the install for you and you can even create scripts to install multiple packages. With Chocolatey you can bring up a new development machine with minimal effort.
- Track
- .NET
- Title
- Maximize your productivity potential in Windows and Visual Studio
- Abstract
- You will learn several tricks to becoming more productive in Windows and Visual Studio. We will explore some standard windows shortcuts, how to never use the start menu again to launch programs, how to create shortcuts to your commonly used web sites, some very useful Visual Studio plugins, some items you should setup keyboard shortcuts to in Visual Studio, really useful Visual Studio Extensions.
- Track
- .NET
- Title
- Nuget is easier than you think and you should be using it.
- Abstract
- If you need to share a common dll or code among multiple projects and you are not using nuget to do it then you are doing it wrong. You will be amazed at how simple it is to create nuget packages and share them. You will geta quick overview of nuget and then learn how to find/consume packages, create packages, view package internals, host your own feeds, and integrate into automated builds.
Theo Jungeblut
More on Theo Jungeblut
Sessions
- Track
- Other
- Title
- Accidentally Manager – A Survival Guide for First-Time Engineering Managers
- Abstract
- This session is about your career perspective as an engineer, especially when the path may take an “unexpected” turn from technical lead to first-time engineering manager. We will explore the differences between managing and leading, review different management styles, and discuss their impact on both the manager and the team member.
Finally, we will find out why you do not want to treat everyone equally. I will share my personal experiences going from being one of the team to actually managing it: the pitfalls of suddenly being responsible for the team, typical problems surfacing, and how to avoid common mistakes. As part of the session, I would also like to share thoughts and considerations about which career path could be the right one for whom, and what the advantages and disadvantages are going one way or the other.
This is not a “You get it all from the expert”- session, but a session to share experiences and discuss how this fits to your career path.
- Track
- Agile
- Title
- Clean Code I – Best Practices
- Abstract
All Clean Code presentations provide great value by themselves, but taken together are designed to offer a holistic approach to successful software creation. Why writing Clean Code makes us more efficient Over the lifetime of a product, maintaining the product is actually one - if not the most - expensive area(s) of the overall product costs. The Craftsmanship session is exploring the often underestimated importance of clean execution of the coding part and its crucial impact to overall project success. Writing clean code can significantly lower these costs. However, writing clean code also makes you more efficient during the initial development time and results in more stable code. You will be presented best practices which will make you write better and more easily maintainable code, seeing code in a holistic way. You will learn how to apply them by using an existing implementation as the starting point of the presentation. Finally, practices benefits are explained. This presentation is based on C# and Visual Studio 2013. However, the demonstrated patterns and practice can be applied to every other programming language too.
- Track
- Agile
- Title
- Clean Code II - Software Craftsmanship
- Abstract
You will learn why naming is really difficult if done right, why coding and style guidelines are crucial, code structuring, exception handling and why other elements of coding often define the tipping point between success and failure of projects. Following the principles of software craftsmanship will allow you to end up with better maintainability and extensibility of your software and the success of the project in the end. All Clean Code presentations provide great value by themselves, but taken together are designed to offer a holistic approach to successful software creation. Why writing Clean Code makes us more efficient Over the lifetime of a product, maintaining the product is actually one - if not the most - expensive area(s) of the overall product costs. Writing clean code can significantly lower these costs. However, writing clean code also makes you more efficient during the initial development time and results in more stable code. You will be presented design patterns and best practices which will make you write better and more easily maintainable code, seeing code in a holistic way. You will learn how to apply them by using an existing implementation as the starting point of the presentation. Finally, patterns & practices benefits are explained. This presentation is based on C# and Visual Studio 2013. However, the demonstrated patterns and practice can be applied to every other programming language too.
Alexander Kahoun
More on Alexander Kahoun
Sessions
- Track
- Javascript/Node.js
- Title
- AngularJS Directives
- Abstract
- Lean how to make angularjs custom directives.
Jason Kanaris
More on Jason Kanaris
Sessions
- Track
- .NET
- Title
- Azure, .NET and the Internet of Things
- Abstract
- The Internet of Things (IoT) movement is picking up steam. It's estimated that by 2020, the IoT will be an $8.9 trillion market with over 200 billion connected devices. In this session you'll learn how to leverage your existing .NET skills to build the next big (or tiny) thing!
This session will explore:
- What is the Internet of Things?
- An introduction to basic micro electronics.
- What is the .NET Micro Framework (NETMF)?
- Exploring the Netduino and Arduino.
- Running C# on a Raspberry Pi.
- Connecting your devices to Azure.
- Using the Windows on Devices SDK with an Intel Galileo.
There will be no time for boring slides here. Instead we'll be covering lots of code and fun interactive demos with the audience.
Inactive User
More on Inactive User
Sessions
- Track
- .NET
- Title
- Leveraging Visual Studio T4 and code factories to improve pattern adherence, ease refactoring and efficiently scaffold an application framework
- Abstract
- With or without established coding standards and code reviews, application code tends to have a wide variance in implementation when multiple developers are involved. Variations begin to appear over the course of an application’s lifespan due to the introduction of new requirements or improved techniques, etc. Often implemented variations are never refactored due to schedule or workload constraints. With code factories, much of an application can be automatically generated to match a consistent pattern. When new requirements emerge or new methodologies are introduced into the architecture of the application, the factory template author(s) can simply modify their template(s) and re-run the actions to consistently inject the changes without affecting the code written by the development team in the interim.
Eric King
More on Eric King
Sessions
- Track
- Javascript/Node.js
- Title
- What C# Developers Should Know About JavaScript
- Abstract
Don't be fooled by the similarity in syntax between JavaScript and C#. While they share a similar paint job, the languages are very different under the hood. Writing JS like C# can get you into trouble quickly, but this session will introduce key JS concepts in a way that will have you writing clean, solid code in no time. Topics covered include: functions, object literals, and primitive types; prototypal inheritance; variable scoping; modular patterns; pitfalls such as type coercion, implied globals, and truthiness; and more, brought to you from the perspective of an experienced .NET/C# developer.
Stephen Kuenzli
More on Stephen Kuenzli
Sessions
- Track
- Mobile (Android/iOS/Microsoft)
- Title
- iOS Performance Monitoring at Scale
- Abstract
Learn how to understand the real-world performance experienced by users of your iOS applications by monitoring key operations with both manual and automatic instrumentation. We will demonstrate using WeblogNG to instrument a small Swift application and visualize the experience using charts of good, typical, and poor performance across the userbase both in development and production.
John Kuhn
More on John Kuhn
Sessions
- Track
- ASP.NET
- Title
- Introduction to Web API
- Abstract
In this session, you will learn the essentials of building ASP.NET Web API services. Starting off with overview of the basics of HTTP essential to understanding API design, you will then learn how to create services supporting "CRUD" operations and get an overview of working with different clients, routing and security issues needed to start developing your own Web API projects.
Steve Lacy
More on Steve Lacy
Sessions
- Track
- Javascript/Node.js
- Title
- Deploying systems with Node.js
- Abstract
Deploying systems can be daunting task with many choices for task runners and deploying services.
This presentation will go over popular build systems (gulp, grunt), dev / production systems, git hooks, node git hooks, node runners, as well as system error reporting.
- Track
- Javascript/Node.js
- Title
- Real world React with Fission
- Abstract
React.js is getting traction in the JS community.
This talk goes over real world usage of React, and shows examples of it's usage in applications.
Michael Luttrell
More on Michael Luttrell
Sessions
- Track
- Javascript/Node.js
- Title
- Approaching the Singularity with the WebSpeech API
- Abstract
- Discover the power of the WebSpeech API and how it will help bring the WWW to life. Demonstrations of a practical applications built in Angular and Node.js.
- Track
- Other
- Title
- Swift Tricks
- Abstract
- Moving beyond Hello World with Apple's Swift and into a deeper understanding of the more advanced language features.
Inactive User
More on Inactive User
Sessions
- Track
- Other
- Title
- Advanced Internet of Things
- Abstract
- We will demonstrate how to setup your own Octoblu private IoT cloud and gateway for controlling your own Internet of Things projects for home automation and/or enterprise deployments. This session will involve hands-on Linux, GitHub, Node.JS, and Octoblu technologies.
- Track
- Other
- Title
- Arduino Fun!
- Abstract
- We will learn how to control LEDs and servos as well as stream sensor data from an Arduino micro-controller using Node.JS, Johnny-Five (NodeBots), and Octoblu's Nodeblu designer.
- Track
- Other
- Title
- Internet of Things 101
- Abstract
- Getting started with the Internet of Things. We will show you how to connect Arduino micro-controllers and home automation devices such as Phillips Hue lightbulbs and Belkin Wemos to the Internet and control them with JavaScript.
David McCarter
More on David McCarter
Sessions
- Track
- .NET
- Title
- Rock Your Code With Defensive Programming
- Abstract
- This is a companion session to the “Rock Your .NET Coding Standards” that takes writing better code to the next level. Do you enjoy receiving bug tickets from QA? Didn’t think you would, so this session will provide solid practices that I have been using for most of my programming career to check-in to source only rock solid code. You will learn my #1 mantra, along with 13 rules, that I use while writing code that allows me to write new code (features) and stay out of maintenance mode hell.
- Track
- Other
- Title
- Rock Your Technical Interview (Part 1)
- Abstract
Have you ever not gotten a job because you weren’t prepared for the interview? Would you like a big raise? Do you need motivation to rock your career? I’ve interviewed 100's of software developers and will share my knowledge on how to survive, what we look for and even divulge some of the secrets we use during the process. This session (62.5% new material for 2014) will include crazy and strange interview stories from engineers just like you! This session includes tips to get you started, working with recruiters, getting prepared, the technical interview and more. You will also learn what is the #1 question you need to ask during an interview… it’s a game changer! Sit close and you just might catch a custom dotNetDave guitar pick. Some of some of them will win you free software!
Make sure to attend Part 2 of this session.
- Track
- Other
- Title
- Rock Your Technical Interview (Part 2)
- Abstract
Make sure attend Part 1 of this talk first. Have you ever not gotten a job because you weren’t prepared for the interview? Would you like a big raise? Do you need motivation to rock your career? I’ve interviewed 100's of software developers and will share my knowledge on how to survive, what we look for and even divulge some of the secrets we use during the process. This session (62.5% new material for 2014) will include crazy and strange interview stories from engineers just like you! This session includes tips to get you started, working with recruiters, getting prepared, the technical interview and more. You will also learn what is the #1 question you need to ask during an interview… it’s a game changer! Sit close and you just might catch a custom dotNetDave guitar pick. Some of some of them will win you free software!
Andrew Miller
More on Andrew Miller
Sessions
- Track
- Agile
- Title
- Mob Programming - A Year Later
- Abstract
- Mob Programming is, as described by its community leader from mobprogramming.org, Woody Zuill, all the smart people focused on the same problem at the same time using the same computer. Come discuss with us what this means, how it works, and what we've learned about the practice after adopting it and using it for a year on a couple of different teams at Infusionsoft.
Randy Miller
More on Randy Miller
Sessions
- Track
- Other
- Title
- Office 365 APIs, Why should I care
- Abstract
Office 365 is a suite of applications hosted in the cloud that provide, Office Online, Sharepoint Online, Exchange Online, Lync Online, and Yammer. In this session we will cover applications using the new Office 365 SDK (preview) and show Office Apps that integrate directly into the Office Suite of application. Come to this session to see these new capabilities in action and understand why as a developer you should be interested in using these new APIs. This session will be mostly code samples with demos and will be very light on Powerpoint. Come learn how to access the information stored in Office 365 from you custom applications.
Inactive User
More on Inactive User
Sessions
- Track
- .NET
- Title
- C#, the best programming language. Why I love it and so should you.
- Abstract
Throughout the years many programming languages have come and gone, but C# is here to stay. It is everywhere and can run on over 2.5 Billion devices including desktop, web, servers, mobile devices, and game consoles! Come learn why I love C# so much and all of the amazing features it has to offer. This session will be action packed with so much live coding you will not know what to do!
- Track
- Mobile (Android/iOS/Microsoft)
- Title
- Introduction to Cross Platform Mobile Development in C# with Xamarin
- Abstract
As the mobile landscape continues to expand and evolve managing multiple code bases in different programming languages and development tools can become a nightmare fast. In this session learn how to leverage the awesome features of C# and combine them with Xamarin technology to create beautiful native cross platform mobile apps from a shared C# code base with the tools that you love.
Luis Montes
More on Luis Montes
Sessions
- Track
- Javascript/Node.js
- Title
- NodeBots : Creating robots with JavaScript
- Abstract
Using NodeJS, Johnny-five, Arduino, Raspberry Pi, Spark, and other types of hardware, and networking them to build the Robot Overlords that will soon rule over the Earth.
Satya Mudiam
More on Satya Mudiam
Sessions
- Track
- Database (SQL/NoSQL)
- Title
- Introduction to Hadoop
- Abstract
- As part of this session we will cover Hadoop fundamentals
Inactive User
More on Inactive User
Sessions
- Track
- Other
- Title
- An Introduction to Genetic Algorithms
- Abstract
- I'm going to introduce the basic mechanics of a genetic algorithm, discuss a range of use-cases, and share a bit of Python code I put together a while back that uses a genetic algorithm to play a game of Rock, Paper, Scissors.
- Track
- Java
- Title
- Ins-and-Outs of Concurrency with Java
- Abstract
- Concurrency is hard. Most engineers make it harder on themselves than it needs to be. Lets get together and talk about how to do it better, and understand specific failure modes. [Should have sample code] We'll be talking about a few of the most useful parts of the java.util.concurrent package.
- Track
- DevOps/System Administration
- Title
- Next Generation PaaS and Software Distribution with Docker.io
- Abstract
- [w/demo] Docker.io provides Linux containers made easy. This means that you no longer need to rely on full machine virtualization to provide strong jailing between processes and the kernel or other processes. Combined with a built-in distribution and image index system, Docker lets engineers and sysadmins reduce the complexity of building robust provisioning systems.
Inactive User
More on Inactive User
Sessions
- Track
- DevOps/System Administration
- Title
- AWS Developer Fundamentals
- Abstract
Amazon Web Services (AWS) has become an essential tool for building apps today. I've found many developers have some experience with Amazon, but "don't know what they don't know" and hunger for knowledge on best practices or how best to use the various AWS tools. This presentation will give a high-level overview of AWS, best practices for managing it, and go into additional depth on using AWS for servers (Compute/EC2) and storage (S3).
- Track
- Javascript/Node.js
- Title
- Intro to EmberJS
- Abstract
- EmberJS is one of the most popular client-side javascript frameworks in use today. Once learned, you can be remarkably productive and well-positioned to scale your app!
This session will cover the basics you need to get started with EmberJS. We'll discuss the up and coming official EmberJS build tool ember-cli, the core concepts around Ember itself, and some practical tips for how to become productive in Ember as quickly as possible.
J. Michael Palermo IV
More on J. Michael Palermo IV
Sessions
- Track
- Mobile (Android/iOS/Microsoft)
- Title
- Intro to Universal Windows Apps
- Abstract
- Find out how to create apps targeting Windows & Windows Phone. You will learn how to get started, how to "upgrade" an existing app to a universal app, and how to take advantage of shared projects. Session will accommodate .NET or JavaScript developers :)
Vivin Paliath
More on Vivin Paliath
Sessions
- Track
- Other
- Title
- The Glory of REST
- Abstract
- An overview of REST and what it is. This talk will also describe what it means to be truly RESTful (an ideal vision), and what elements truly make a RESTful API (many APIs that claim to be RESTful aren't).
Jeremy Pauli
More on Jeremy Pauli
Sessions
- Track
- Design (UX/UI)
- Title
- Mocking the UI with Balsamiq Mockups
- Abstract
- Learn the benefits of UI mocking and technique for quickly building UI mockups to refine functional requirements.
Wolf Paulus
More on Wolf Paulus
Sessions
- Track
- Mobile (Android/iOS/Microsoft)
- Title
- Developing Applications for Android Wear
- Abstract
- This talk will present a first-hand look at the Android Wear platform and an introduction to Android Wear APIs, how to design effective user interfaces that work best on a wearable device.
Learn about how to use Google's Android Studio IDE for creating apps for Android Wear devices and bringing wearable experiences to your Android apps. We'll walk step-by-step through designing and building a small, native, contextual app for Android Wear. Of course using Java and Android Studio, the new Android development environment based on IntelliJ IDEA.
- Track
- Other
- Title
- Getting Started with MultiCopters (aka. Drones)
- Abstract
Commonly referred to as Drones, these craft provide the pilot the ability to capture images from a new perspective. In this talk we will discuss the basic principles and technology that enable this gravity defying craft to fly.
We have flown these magical devices for a few hundred hours over the last two years. We have bought and built too many multi-copters (unfortunately also known as drones). Anyways, we would really love to share some of our most exciting and memorable experiences with you.
But be warned! You will leave the session, with the strong desire to acquire parts (you before didn't know existed) and build a mulit-copter of your own.
Tom Paulus
More on Tom Paulus
Sessions
- Track
- Other
- Title
- Getting Started with MultiCopters (aka. Drones)
- Abstract
Commonly referred to as Drones, these craft provide the pilot the ability to capture images from a new perspective. In this talk we will discuss the basic principles and technology that enable this gravity defying craft to fly.
We have flown these magical devices for a few hundred hours over the last two years. We have bought and built too many multi-copters (unfortunately also known as drones). Anyways, we would really love to share some of our most exciting and memorable experiences with you.
But be warned! You will leave the session, with the strong desire to acquire parts (you before didn't know existed) and build a mulit-copter of your own.
Inactive User
More on Inactive User
Sessions
- Track
- .NET
- Title
- Dependency Injection with StructureMap
- Abstract
- StructureMap is a Dependency Injection / Inversion of Control tool for .Net that can be used to improve the architectural qualities of an object oriented system by reducing the mechanical costs of good design techniques. StructureMap can enable looser coupling between classes and their dependencies, improve the testability of a class structure, and provide generic flexibility mechanisms.
- Track
- .NET
- Title
- Event Sourcing with .Net
- Abstract
- "The fundamental idea of Event Sourcing is that of ensuring every change to the state of an application is captured in an event object, and that these event objects are themselves stored in the sequence they were applied for the same lifetime as the application state itself." - Martin Fowler
What if we could start with a very simple Domain Model and be able to see every state transition that ever took place within the system AND recreate them at any time. Doing this in classic thinking is not only incredibly difficult it is usually impossible or impractical. This is a large paradigm shift that moves us away from the classic RDBMS thinking as the center of our universe.
As our Domain gets more and more complex, communicating and understanding the relationships between Domain Entities becomes overwhelming. This Pattern is quiet often paired with CQRS, but is a distinct pattern of its own and has significant aspects that need to be considered before adapting it.
Come learn how to think in terms of Events and Aggregate Roots, not just in your Presentation Layer, but in your entire Domain Model.
This Session will cover several Patterns of Enterprise Architecture, thinking in terms of Domain Events and how to create that in Code.
Avinash Ramineni
More on Avinash Ramineni
Sessions
- Track
- Database (SQL/NoSQL)
- Title
- Understanding the fundamentals about MongoDB Replication
- Abstract
- Understanding the fundamentals about MongoDB Replication
Kamlesh Ravlani
More on Kamlesh Ravlani
Sessions
- Track
- Agile
- Title
- Is your organization ready for Scaling Agile?
- Abstract
Organizations invest energy, effort and real dollars to stay in trend. Here's one of the trend: Agile is no longer a buzz word, Scaling Agile is. Terms like Enterprise Agile, Scaled Agile, SAFe, LESS, Agility Path are conveniently thrown around in meetings and speeches as organizations line up to get on the bandwagon of 'Scaling Agile'. Scaling Agile - from the team and product level to the organizational level has it's own benefits and challenges. Is scaling Agile right for you? Are you ready for it? If you've been evaluating any of the scaling frameworks, you might be in luck. In this session, we will discuss approaches to analyze and evaluate if an organization (or a business unit) is ready for scaling Agile. You'll learn steps your organization can take to be more prepared for scaling Agile and reap organization-wide benefits.
- Track
- Agile
- Title
- Panel: Agile In Practice
- Abstract
A panel of Agile experienced practitioners will address questions from the attendees. We will focus on the application of Agile ideas to practical situations. Bring your questions about practicing the ideas in the Agile Manifesto, Scrum, Test Driven Development, The Kanban Method and any other Agile practices.
Please sign up to co-teach if you want to be on the panel.
Dennis Reams
More on Dennis Reams
Sessions
- Track
- Other
- Title
- Docker.io for Developers
- Abstract
- What are these crazy containers you speak of and why should I care? This session will take a look at the basics of Docker containers from the developers point of view. Then we will look at some examples of why we should care about containerizing our applications.
Perry Reinert
More on Perry Reinert
Sessions
- Track
- Agile
- Title
- Panel: Agile In Practice
- Abstract
A panel of Agile experienced practitioners will address questions from the attendees. We will focus on the application of Agile ideas to practical situations. Bring your questions about practicing the ideas in the Agile Manifesto, Scrum, Test Driven Development, The Kanban Method and any other Agile practices.
Please sign up to co-teach if you want to be on the panel.
- Track
- Agile
- Title
- Why Agile Works...and How to Screw it Up!
- Abstract
- This fast moving discussion contains a bit of theory, some interesting statistics, and a few activities. We'll talk a little theory, then we'll "connect the dots" from Scrum the framework back to the theory. All of this will give you a REAL understanding of why Agile works. You'll leave the session wondering "Wow, how could we develop software in any other way!!??", and your reasons for "doing Agile" (and "being" Agile) will be much better than "Uhhhh....because everybody else is doing it?" If you’re not well-versed in Agile or Scrum, don’t worry, there is just enough background so everyone can keep up. After we understand why it works, we'll touch on just a few of the ways to mess things up.
NOTE: Yes, This is kind of an "oncore" performance from the last DCC. I've made a some changes and updates, but the last session was so well attended I thought I'd do it again.
Rob Richardson
More on Rob Richardson
Sessions
- Track
- ASP.NET
- Title
- ASP.NET vNext
- Abstract
- ASP.NET vNext is the next version of ASP.NET. Publicly demoed at TechEd, it's a re-imagination of ASP.NET MVC and Web API built on top of a server-optimized version of the .NET Framework. Let's dig into the early release CTP available at http://www.asp.net/vnext and start to understand where the ASP.NET Team is going.
- Track
- Database (SQL/NoSQL)
- Title
- Get your database under control
- Abstract
- Databases are a critical piece of the development story. So why do we treat them so badly? Why are we so scared of them? Walk with us on a journey of how we brought the database development and application development together into a single, cohesive build and deployment pipeline. We'll discuss Continuous Integration and Continuous Delivery in the context of Database Development, dig into practical mechanisms for starting to version your database and automate database validation and deployment. Don't fear the database, embrace it, version it, and deploy it frequently.
Inactive User
More on Inactive User
Sessions
- Track
- .NET
- Title
- A Gentle Introduction to CQRS
- Abstract
- Contemporary software systems are increasingly having to deal with "concurrency" and "scalability". There are various reasons why parallelism is a common contemporary approach but it's complex and there are many patterns & practices that aid with complexity. CQRS builds on those patterns & practices to make concurrency and scalability easier, if you let it. We will discuss the basic principles around CQRS & its roots. We'll discuss where CQRS fits, what types of complexities CQRS will help deal with, & when CQRS might not be a good fit. Some in-the-trenches-type lessons learned and temper the principles with some recommended practices will also be covered. As well, some of the reasons why you'd want to have a CQRS frame-of-mind along with some ways to think CQRS with existing systems without rewriting your whole system. CQRS and its related practices & principles are one of areas of software development that really parallels journeyman/master in the level of detail and skill required for it to be mastered.
- Track
- .NET
- Title
- How *Not* to Write Concurrent Code
- Abstract
- Invariants, locking, mutexes, critical sections, monitors, barriers, race conditions, non-deterministic, memory coherence, consistency models, etc. "Multithreading is hard", hard to do correctly and easy to do incorrectly. "Correctly" is almost always application-specific and usually caveated with "it depends". It's hard to define specific rules or practices that work in all circumstances. This session takes a different point of view on things and shows you specific ways to do things "wrong" with regard to multi-thread. This session will detail some of the common primitives and techniques use in multi-threading, but used in the wrong ways. Why they are wrong and alternatives will be covered. Topics like Sleep, DoEvents, volatile, lock, interlocked, thread priority, non-shared data, etc. will be covered.
- Track
- .NET
- Title
- The Evolution of Asynchronous Programming on .NET
- Abstract
- Everything you wanted the know about asynchronous programming in .NET, but were afraid to ask. Multithreaded programming is hard. the latest version of Visual Studio includes language additions to C# and VB to make it much easier to write asynchronous code (the async and await keywords). .NET has had numerous ways to implement asynchronous and lengthy operations over the years. This session details some of these techniques, their benefits and their drawbacks. This session also details the progression of these techniques leading up to async/await in an effort to better understand the new syntax as well as better understand how to migrate existing asynchronous code to the new syntax. As well, this session allows you to increase your expertise with several advanced language features that the new syntax and existing patterns build on, like lambdas, anonymous methods, closures, etc.
Jacob Rosenthal
More on Jacob Rosenthal
Sessions
- Track
- Javascript/Node.js
- Title
- Intro to Bluetooth Low Energy
- Abstract
- We will reference PunchThrough LightBlue Bean Arduino Compatible as it is the most mature product in the market, but well spend a good deal of time covering the base technology in general so as to be applicable to any module in the market.
We will interact with the bean via the Node.js noble package from Sandeep Mistry, but examples of interacting with the bean exist for IOS as well.
Robin Shahan
More on Robin Shahan
Sessions
- Track
- Other
- Title
- Azure Websites
- Abstract
- Azure websites is a managed cloud service that allows you to deploy a web application and make it available to your customers very quickly. Supported languages include .NET , Java, PHP, Node.js, Python, and Ruby. Come learn about all the cool and awesome features in Azure web sites, including continuous deployment, autoscaling, monitoring and remote debugging.
- Track
- Other
- Title
- Everything you need to know about Azure File shares (preview)
- Abstract
- Come learn about the new Azure Files preview feature, which exposes file sharing using the standard SMB 2.1 protocol. Applications running in Azure can now easily share files between VMs using standard and familiar file system APIs like ReadFile and WriteFile. The files can also be accessed via a REST interface, which opens a variety of hybrid scenarios. Come learn about the features of this new service and how to use it.
Schuyler St. Leger
More on Schuyler St. Leger
Sessions
- Track
- Other
- Title
- Software Defined Radio - An Introduction
- Abstract
Software Defined Radio (SDR) provides the perfect low-cost method to explore the world of RF (Radio Frequency.) SDR is a flexible radio system that utilizes software instead of specialized hardware to decode radio signals. It can investigate a wide frequency range and decode many different RF protocols. This talk will provide a basic understanding of SDR. It will then discuss some of the available and affordable hardware and software tools for exploring SDR. We’ll finish with a live action demo (fingers crossed!)
Barry Stahl
More on Barry Stahl
Sessions
- Track
- Agile
- Title
- .NET TDD Kickstart
- Abstract
- Back by popular demand is the highly rated .NET TDD Kickstart where the speaker and the audience "pair up" for a coding session which serves as an introduction to Test Driven Development in an Agile environment. We will use C#, Visual Studio and Rhino Mocks to unit test code to be built both with and without dependencies. We will also highlight some of the common issues encountered during TDD and discuss strategies for overcoming them.
- Track
- Agile
- Title
- Panel: Agile In Practice
- Abstract
A panel of Agile experienced practitioners will address questions from the attendees. We will focus on the application of Agile ideas to practical situations. Bring your questions about practicing the ideas in the Agile Manifesto, Scrum, Test Driven Development, The Kanban Method and any other Agile practices.
Please sign up to co-teach if you want to be on the panel.
Inactive User
More on Inactive User
Sessions
- Track
- Mobile (Android/iOS/Microsoft)
- Title
- iOS Performance Monitoring at Scale
- Abstract
Learn how to understand the real-world performance experienced by users of your iOS applications by monitoring key operations with both manual and automatic instrumentation. We will demonstrate using WeblogNG to instrument a small Swift application and visualize the experience using charts of good, typical, and poor performance across the userbase both in development and production.
Jose Trigueros
More on Jose Trigueros
Sessions
- Track
- Other
- Title
- Introduction to Function Composition with Scala
- Abstract
- Function composition is one of the areas which makes functional programming useable. In this introduction, you'll see how you can use function composition to make your code cleaner and easier to re-use, and with Scala you don't have to choose between functional or object oriented, instead you get the best of both worlds.
Mark Tucker
More on Mark Tucker
Sessions
- Track
- Other
- Title
- Devilishly Simple IoT with Electric Imp
- Abstract
This course will introduce you to the Internet of Things by way of the Electric Imp platform. We will explore WiFi connected devices that interact with the imp cloud. Then we will write device and server-side agent code using the object-oriented, dynamically typed Squirrel scripting language.
Chris Wagner
More on Chris Wagner
Sessions
- Track
- Mobile (Android/iOS/Microsoft)
- Title
- Swift 101
- Abstract
- This year at WWDC 2014 Apple announced a brand new programming language, Swift (http://developer.apple.com/swift/). Come learn the basics of Swift and Xcode Playgrounds.
This session is geared towards the beginner in every sense. With Xcode Playgrounds, Swift is an incredibly inviting language for first time programmers. Come with a MacBook and Xcode 6 installed so that you can follow along! A computer is not required to attend this session but encouraged.
Inactive User
More on Inactive User
Sessions
- Track
- Javascript/Node.js
- Title
- AngularJS in 60ish Minutes
- Abstract
- Single Page Applications (SPAs) are all the rage now days but if you've built a true SPA you know that they can be fairly involved to create. There are typically a lot of moving parts and scripts ranging from history, to navigation, to data access. Have you thought through maintenance of the application down the road and how simple or complex it will be to make modifications as scripts change?
In this session Dan Wahlin will introduce the AngularJS SPA framework and demonstrate many of the built-in SPA features it provides. If you like to work with views, controllers, modules, plus tie into existing framework features without having to focus on all of the scripts under the cover then this is definitely a framework to check out!
Andrew Webb
More on Andrew Webb
Sessions
- Track
- Other
- Title
- Swift Tricks
- Abstract
- Moving beyond Hello World with Apple's Swift and into a deeper understanding of the more advanced language features.
Rodney West
More on Rodney West
Sessions
- Track
- Other
- Title
- Escape Merging Hell: Auto-merging with Atlassian Stash and Bamboo
- Abstract
Take a deeper look into the auto-merging capabilities of Atlassian's Stash managed git repositories and Bamboo build plans. Discover how these features make developers' days less painful.
Jim Wooley
More on Jim Wooley
Sessions
- Track
- ASP.NET
- Title
- Exposing Data in your WebAPI
- Abstract
- Methods of working with data has evolved over the years as has our mechanisms to access it through services. In this session you'll learn not only how to expose data through the Web Api, but also learn ways to tune and improve your data interactions with Web API, IQueryables and the Entity Framework.
- Track
- ASP.NET
- Title
- Getting pushy with SignalR and Reactive Extensions
- Abstract
- SignalR facilitates push notifications over HTTP to a variety of clients. The Reactive Extensions were designed to allow for asynchronous LINQ over push based collections. In this talk, you’ll see how the synergy of these two technologies merge to make otherwise difficult tasks, a push over.
- Track
- .NET
- Title
- Reactive Extensions (Rx) in Action
- Abstract
- You may have seen the theoretical discussions of Reactive Extensions and heard about the duality of IEnumerable and IObservable, but are still scratching your head to know how and when to use them. In demo filled session, we'll cover a number of cases where it makes sense to consider RX to declaratively compose complex operations over observable sequences in an elegant LINQ like syntax. We may even have some chocolate induced audience participation along the way.