Your current filters are…
by Cory House
Inspired by Steve McConnel’s “Code Complete”, Uncle Bob’s “Clean Code” and Andrew Hunt’s “The Pragmatic Programmer”, this session reviews best practices for writing code in a style that’s easy to create, maintain and understand. We have a lofty goal: programming style as documentation. We’ll discuss concrete methods to get you there and give you a vocabulary for pragmatically evaluating code quality.
Various refactoring techniques, code smells, anti-patterns, and rules of thumb are discussed including fail fast, return early, separation of concerns, arrow code, magic numbers, the boy scout rule, being “stringly typed”, DRY, the stepdown rule, table-driven methods, the importance of staying native, techniques for finding subtle redundancy, reinventing the square wheel, when to create a method, doing comments right, horizontal and vertical density, and simple design patterns.
Part of this session involves refactoring a confusing and ugly chunk of code into something beautiful, easy to read and maintain. While examples are in C#, coders in any language should be able to follow along and apply the principles discussed.
Too often, the final days of a project are frantic, stressful, and crazy. Proper scope definition, project estimation, and the often overlooked post mortem will go a long way towards easing the frantic rush.
HTML 5 is the new hot user interface and multimedia development tool, whereas Silverlight was the new tool two years ago for user interface and multimedia modifications. In this session we will discuss what you get using HTML 5 versus Silverlight 5 when developing custom extensions for SharePoint 2010. We will go over the advantages and disadvantages of each tool using the client object model and webservices. In the end attendees will have a better understanding of each tool when developing custom SharePoint user interface and multimedia controls.
by Jessica Kerr
Guava is a Java library from Google full of elegant solutions to common problems. From a simple null check to a thread-safe self-populating cache, Guava has something for everyone. This easy-to-include, carefully-designed library gives you true immutable collections, declarative lazy-evaluating list processing, a better event handling pattern — a veritable grab bag of handy Java tricks. Take a quick tour of what Guava offers, with special focus on caching and list processing. Even if Guava is already in your project dependencies, you’ll be surprised at all the juicy goodness inside.
by James Eggers
by Jay Ashbaugh
This session will explain the basic concepts of SOA and why is it so important to the enterprise. In addition, this session will explain the purpose of a service catalog and how the big platform solutions like Tibco, Progress or SAG change the way be build application on a SOA domain.
An overview of recent developments from the native programming world. Native programming has seen a resurgence over the past 5 years, most notably with Objective-C at Apple and pretty soon C++/CX at Microsoft. But why? If you got your start in software development in the last 10 years, you may not have written much native code, so what does this mean for you?
by Steve Bohlen
You’re Agile. You write User Stories. Now what? The next step is often to turn those User Stories into executable tests that can help you validate the proper behavior of your complex software systems. Behavior-Driven Development (BDD) is the engine that can help to drive this process on your project. The logical evolution of the often too fine-grained process of Test-Driven Development, BDD not only represents a somewhat different technical practice but, more importantly, it also suggests an entirely different way of thinking about your system and the way in which you test it.
In this session we will begin with a series of simple User Stories and demonstrate how the BDD process supports our codifying these User Stories into a series of “executable specifications” that can be used to validate the proper functionality of our complex software system. We will work at first without any of the complex overhead of so-called ‘BDD Frameworks’ to demonstrate the important concepts of BDD and then move on to investigate how and why one might look to use various ‘BDD Frameworks’ to offload some of the repetitive work often involved in the BDD process. Attendees should expect to leave with a good understanding of both the conceptual process that is Behavior-Driven Development as well as some of the technical practices that can help support its successful adoption.
The ideal attendee will have several years’ experience in developing complex software solutions. Some understanding of the role of User Stories in the Agile software development process is helpful but not required. Prior exposure to the concepts behind automated unit testing is assumed, but deep unit testing experience is not required.
SignalR is an asynchronous signaling library for ASP.NET. It’s designed to help you build real-time web applications without a lot of hassle. In the past, developers would have to wire up real-time applications as a series of polls to a webserver, waiting for it to receive data back that was useful. This approach usually cost more in bandwidth than we wanted it to. SignalR simplifies this process, and makes it more useful for the ASP.NET developer. In this presentation, Kevin Griffin will guide you through implementing SignalR into your applications, and how you can take advantage of everything it has to offer.
Heard of elastic computing? Cloud-bursting? Off-line rendering? Join us in this session where we walk through the key cloud scenarios every developer should be familiar with and when and where each should be used. We’ll discuss how the architecture of each of these scenarios is realized using the Windows Azure cloud platform.
You’re a web developer with years of experience creating amazing web applications, but you’ve just been assigned to a *gasp* WPF or Silverlight project! You click File | New | WPF (or Silverlight) project and feel completely lost as you open the XAML file
by Paul Betts
Downloading and caching remote data while keeping the UI responsive is quickly becoming a task that nearly every desktop and mobile application needs to do. Akavache is a library that makes common app patterns easy (i.e. Load cached data from disk but fetch latest in background), as well as being fully asynchronous yet still easy to use. Akavache is also a great advanced demonstration of the power of the Reactive Extensions.
In this talk I’ll give an overview of how to use Akavache in your applications, and I will also go into the difficulties of writing a persistent key-value store, and show how Rx simplifies complex race conditions. Prior knowledge of Rx will be helpful but I will assume developers to have no knowledge of Rx in this talk.
by Adam Barney
Writing code in the real world is a never-ending set of tradeoffs, most of which involve trading performace, elegance, maintainability, etc… for decresed time to market. We could spend a lifetime perfecting a code base – writing code from our Ivory Tower. But that won’t get us far with our employers, who need to get a product to the customer. In this session, I’ll give you some tips on coding from the steps of the Ivory Tower. That is, writing code that’s close to the impecable quality of Ivory Tower, without spending a lifetime writing it.
by Keith Dahlby
You’ve seen the intro, you’ve cloned from GitHub, maybe even committed once or twice…but you’re still not convinced Git’s learning curve is worth the climb. This session aims to shed some light from the real world on how Git is different, why the differences matter, and introduce some features and use cases you never knew you couldn’t live without. Topics covered will include rewriting history with interactive rebase, separating concerns with patchwise add, smashing bugs with bisect, recovering from missteps with reflog and much more.
by Gus Emery
by Jeff Fattic
Does your software team suffer from:
Regardless of your chosen methodology, QA is always at the end of the lifecycle. The delays in every other part of the project cut into this all-important set of tasks. Improvements in the Microsoft test tools make it the premier tool for effectively AND efficiently testing your software project efforts whether they are huge, waterfall projects or just a tiny bug fix.
by Jessica Kerr
Most useful applications require persistent storage. Most persistent storage requires a database. Android offers several local storage options: preferences, files, and a database. Here, Android developers who are past Hello World and familiar with SQL
by Rob Reynolds
PS \> Invoke-TestThisShiz.ps1
So you say automated testing is important? And you are kind of digging the awesome power of PowerShell and want to learn more? What if there was some way to really test powershell scripts in a behavior driven way? We’ll explore the concepts of automated testing (unit, integration, etc) and how they translate from C# to PowerShell. Conversation is welcome if you have your own ideas about automated testing and/or PowerShell.
by Cory House
What could a hacker do to your web application? Lock all your users out of their account? Collect a list of every user’s email to spam them or lure them into a phishing scheme? Are your users passwords safe from theft? Could a simple brute force attack allow a hacker to login as another user? Is your application’s database at risk for total compromise? Are supposedly secure sections of your app actually easily accessible to the public? Are your admin users at risk of having their sessions stolen and impersonated? Let’s get clear answers to these critical concerns.
This session leverages hacking techniques outlined in “The Web Application Hacker’s Handbook”. We will review a variety of best practices and potential pitfalls that are easy to overlook. We will discuss the top 10 most critical web app security issues and view their implications through real-time hacking of an insecure web application. And after we’ve seen how to hack, we’ll discuss how to defend our apps from the thugs.
Whether you’re building a new website using ASP.NET or maintaining an existing one, you’ll leave this talk ready use HTML5 on ASP.NET with VS2010. We’ll look at what HTML5 offers modern application developers and how you can code HTML5 with ASP.NET WebForms or ASP.NET MVC for rich Web Applications both today and tomorrow. In this talk we will see how to build an awesome ASP.NET website which uses the HTML5 & related standards like Audio, Video, GeoLocation, Local Storage, Canvas etc.
by Phil Japikse
Scrum and XP have found a strong following in the development community. But most non-development groups (such as Web Administrators, Production Support, Security, Testing, and Users/Stake Holders) inside the enterprise are not only far from agile, that are not trying to move to be more agile. I start with a refresher on Scrum, and then use real experiences from large enterprise development projects to teach you how to effectively work with non-agile teams. Instead of trying to convert them, I discuss strategies to adapt to their needs while remaining agile in the development realm.
by Sam Bao
In 2011, 7,000 people in the KC metro area collectively lost 25,000 lbs over 10 weeks. Another 2,000 people at a KC company got on their feet and walked a total of 1.5 BILLION steps over 3 months. This is the story of how a website (cernerhealthwins.com) was created, utilizing a variety of open technologies such as Django, MongoDB, and Amazon Web Services, to get people excited about living healthy. Talk will cover the tech behind the site, lessons learned, and the lasting effects of the challenge.
by James Eggers
There’s an Open Source package manager for .NET available now called NuGet. It’s supported and shipping with ASP.NET MVC 3, but it’s not just for ASP.NET. In fact, it’s not just for open source. Join Matthew as we learn all about NuGet, from the basics of consuming packages, to creating and distributing your own packages both internally on your own server and externally on NuGet.org. Then we’ll learn some advanced techniques like preinstalling NuGet packages into your own project templates and how NuGet can be extended and enhanced to write your code for you. We’ll see how using NuGet with your project makes development fun again!
27th–28th April 2012