Our first 2013 Code Camp will be held at the Penn State campus in Abington, PA on Saturday, May 11 from 8:30-5:00. Detailed directions are on the Penn State web site.The Call for Speakers is now closed. Selected sessions are listed below.The Call for Sponsors is now closed. Please read this page for details.
- Lots of code, just say no to slides!
- 8 hours of learning and networking
- 50 sessions by 50 speakers (8:30, 10:00, 11:30/12:00, 1:30, 3:00)
- 10 tracks
- 700 seats with tables (laptops welcome)
- Breakfast, lunch (two groups), and afternoon snack
- Raffles and prizes after second lunch and closing
- Booster registration option for charity donations, parties, and prizes
- Easy parking (Penn State map, park in F/G or M/N)
- After hours party at Miller’s Ale House (network with speakers and attendees)
- The official Twitter hash tag will be #phillycc. Use it when you tweet and search it to stay in the know.
- New this year: We are partnering with the conference vendor EventBoard to add full mobile device and Windows 8 App support. All sessions, evaluations, maps, and other Code Camp details will be available weeks before and the day of the event.
Download and print the agenda: Grid 2013-1
Click on the session name, track name, or speaker name for more details…
One of the basic tenets of unit testing is the code you are testing should not have dependencies on other code. This guarantees that if a unit test fails, it is not caused by something other than the method under test. In the case when a method does depend on other code, Fakes and Mocks can be used to intercept calls to code outside of the method under test. This provides full control over your tests. This session will explore the use of Stubs and Shims using Microsoft Fakes. We will also look at how Mocks differ by enabling behavior verification using Moq.
If you go to Google and search for “measuring software developer productivity” you will find a whole lot of nothing. Seriously — nothing.
Well, okay, not exactly nothing. You’ll get a ton of links. But almost all of the links you find will talk about how measuring the productivity of software developers can’t be done effectively. Some people will even argue that it shouldn’t be attempted at all. Some others will describe techniques to measure developer productivity, that, well, everyone else knows don’t really work.
There have been many valiant attempts to measure developer productivity, but all seem to end in less than successful territory. (We all know to laugh at “Lines of Code” as a productivity measure). Virtually any objective measurement you can apply to the software development process can be “gamed” into submission.
There are just too many variables to account for everything that goes into the development process. Measuring any one of them, or even a combination of them, simply cannot begin to capture effectively everything that is involved. You can’t pick a surrogate thing to measure, but because of human nature, developers will react in ways that will skew the measurement. Many studies have been done on this topic, with little to show for it. Every software development manager who has to fill out a developer’s evaluation or determine who gets bonuses has struggled with this. Many a leading expert and guru has thought about and researched this thorny topic.
This talk will discuss the futility of trying to *objectively* measure developer productivity and instead will propose a means for making an attempt at an “objectively subjective” way to measure developer productivity.
We’ve built web sites for years on the idea that they were stateless and changes occurred on a callback to the server. That’s changing in a big way, and you can leverage your .NET skills to get up to speed.
Start building extensible and powerful web applications after seeing how the way the web works is changing for good.
With the rise of IPhones and IPads mobile web development is starting to take center stage. Come learn about how to build single page applications (SPA) using the JQuery Mobile Framework. This presentation will cover how to use JQuery Mobile framework along with the Model View Control (MVC) pattern, CSS 3 (Media Queries) and Response Design Techniques to build mobile (touch) enabled applications for smart phone, tablet and desktop devices.
NuGet is a package management framework that allows you to quickly and easily add assembly references to your .NET projects, with a powerful dependency resolution algorithm that ensures you’ve got everything you need in order for those assembly references to function properly. Heck, it’ll even perform any number of automated tasks or generate code to help prepare your project to use the new assembly reference. Not only that, the centralized repository is your one-click stop for thousands of open source libraries to help super-charge your applications. And — oh yeah — it’s already installed on your machine, right there in Visual Studio!
In this talk I’ll show you how to use NuGet to perform anything from the mundane task of adding assembly references to your project, all the way to sharing code snippets or even installing applications on your computer.
Thinking about developing a Windows Store app? Not sure where to begin. Confused how to create and deploy the app? In this session we will go over the following:
What tools are needed What template should you start with? Run through of what each is good for. What pages can be added to a template / project once selected. Which development language to use Walk through of how to create the app package for deployment to other devices for testing Walk through of how to install created app package
And some other nuggets plus questions.
Join Michael as he gives a practical overview to programming responsive and highly concurrent / parallel applications using Task Parallel Library, Async/Await, and Datalow networks in .NET. These three new additions to .NET provide a new, and when understood, much easier way to coordinate multiple tasks within your application, allowing you to focus on what you need to do instead of the details of how to do multithreaded programming. We will look at common patterns of concurrent programming made simple with TPL, how async/await helps to make TPL easier, and how Dataflow networks can be used to orchestrate data concurrently in your application.
Back in the old days, compression and databases was a really bad idea. Now, with powerful CPUs we can use to both improve performance and save disk space. We will cover the basics of how all compression and deduplication works, and then we will learn how SQL Server page and row compression work, and the special compression that is used in SQL 2012 Columnstore Indexes. We will demo performance and space savings in using compression.
SharePoint 2013 introduces the new Cloud App Model, which enables you to create self-contained pieces of functionality that can extend the functions and capabilities of a SharePoint 2013 website. Today we’ll have a discussion on the high-level architecture of them, how to set up your environment to build them, why you’d want to build an app, and then finish up with a couple high-level demos.
Programming languages are each adept at solving certain kinds of problems. As developers, we should be exposed to different varieties of language to learn their strengths, their weaknesses, and where they are best applied. Google Go is a relatively young programming language with a unique approach and C-like syntax.
In this session, you’ll learn the syntax and distinctive features of the Google Go (GoLang) programming language. We’ll walk through code samples and identify the kinds of solutions where it might be best applied.
In this talk I will show you each of the 4 major code frameworks from Microsoft in ASP.Net (WebForms, MVC, WebAPI, and SignalR — what Microsoft refers to as ‘One ASP.Net’) and put together a sample web application that uses each of these frameworks in a cohesive solution. Our discussion will define the benefits and drawbacks of each framework, leading into a live coding session of our sample project. You will learn to craft simpler, faster, and more testable solutions.
I plan to talk about ‘big data’ and dashboards and then use SQL Server 2008/2012 and Qlikview to build a working fully filterable dashboard with 100,000,000+ rows of data behind it from start to finish. The majority of this talk will be live demos, with some focus on data storage, data compression, and optimization of large data sets.
Learn how to use Glimpse to reveal what is happening within your ASP.NET MVC and WebForms sites. Instead of forcing you to go line by line inside your code, Glimpse does the work for you by telling you exactly what’s going on with each web request. After releasing Glimpse at Mix11, Glimpse has become a tool that is used daily by tens of thousands of developers around the world. See what features are included out of the box and see how you can easily extend it to suit your needs. For more information on the Glimpse Project, see http://getglimpse.com.
I’ve been busy this past year helping clients architect and build distributed systems of all shapes and sizes. I’ve also helped them to navigate the maze of seemingly endless architectural and development options surrounding what I call the multiplicity of clients. Throughout all of these experiences, it has become very clear to me (more than ever) that the cornerstone of success and the key to enabling business agility in the face of all these new demands is a well-factored SOA.
One thing’s for sure, there are no easy answers for us here. There are simply too many variables in the equation right now, many that are business related, that erode any hope for us to formalize a singular guidance. The good news is that architectural patterns are emerging around these new demands that can help us control the chaos.
In this session I’ll share my from the field observations of some of the systems I’ve helped bring to market. We’ll not only examine architecture and technology, but the all-important business drivers that shaped the rationale behind the many design decisions as well. Throughout, I’ll present the patterns that I’ve used to bring consistency and repeatability to these architectures. And in this context, I will share observations supporting my opinion that WCF is not dead, but in fact is as needed as it ever was.
As with all my sessions, I anticipate lively, thoughtful discussion to erupt. So please consider joining us and adding your perspective to the mix. I hope to see you there.
What’s full text search and and why is it useful? What’s ElasticSearch got that Solr or Lucene don’t? Full text search is extremely useful for parsing documents with fuzzy searches. Imagine being able to “Bing” your own error logs? We’ll cover installing ElasticSearch, some basic configuration, saving documents, and most importantly, searching for results using the excellent NEST ElasticSearch .NET client library.
Windows 8 Store applications are much more interesting if they use the live tile capabilities. This talk will show how to add live tiles to your app. We will also go over use of the lock screen and background processes.
You don’t need to learn three frameworks and two dozen libraries to build a web app that can go toe to toe with it’s native brethren. In the land of mobile, less is more. Let’s cut the bloat of large payloads and tons of third party dependencies.
Selenium is the popular open source web testing tool. The session will introduce the Selenium tools : Selenium IDE & RC, demo the various test scenarios.
Access Services Overview and Demo – draft agenda for the talk
*Overview of configuration and System Requirements
•Architecture – what happens when I select Custom Web Application
•Take existing Access databases and moving them into Access Services
•Include SharePoint data in Access Web Apps
Enhance your Windows Store apps by learning how to create applications filled with geospatial visualizations. Learn the basics of the Bing Maps Api licensing model. Leverage Bing Map Apis Location Services, Modules, Geocoding, Routing and Bing Maps REST Services in your Windows Store apps.
This session will deep dive into the new Windows Phone Maps control from Nokia, now part of the core SDK, and cover how you can create your own unique maps and routes. We will also build an app utilizing the new Speech and Voice recognition API’s and cover how to access NFC. If you’ve been looking to take advantage of the new sensor features in Windows Phone 8, or are just a curious enthusiast, this session is for you.
What’s is, what’s new, and what’s coming with Windows Azure Websites?
HTML is great for declaring static documents, but it falters when we try to use it for declaring dynamic views in web-applications. AngularJS lets you extend HTML vocabulary for your application. The resulting environment is extraordinarily expressive, readable, and quick to develop.
This talk will be an introduction to AngularJS, along with a sample app highlighting some of it’s strengths.
Whether you are building the application from scratch or deploying a mobile UI for an existing application, making an enterprise grade application into a mobile app can be challenging on many levels. Enterprises tend to require functionality above and beyond the utility of a basic mobile app. Integrating authentication, authorization, multi-tenancy, scaling, failover, etc… are requirements regardless of the application. This talk will briefly discuss some the challenges facing enterprise mobile development and demonstrate how the use of a well-developed PaaS can enable teams to keep focused on the business rules specific to the application, and still deliver all the requirements of the Enterprise with little to no overhead.
Web scale architectures have been evolving over the years and if you were starting up from scratch, what would you build today? Well, the answer is it depends, but possibly this might be one approach to creating a modern architecture. We will also explore ways to retrofit this into your existing architecture and also discover what was old is new again and that you keep most of your design skills and best practices from before. There will be lots of discussion and lots of code examples so come with ideas and ready to contribute to the discussion.
Building branding solutions in SP2010 that will translate to SP2013. We will reverse engineer a delivered SP2010 branding solution and review updates that may be required to be useable in SP2013.
In this session, I will present the Microsoft Big Data story including the Microsoft Big Data roadmap along with real-world samples and demos. The presentation, demo & code will focus on Big Data with SQL Server and will feature the use of NoSQL and Hadoop data sources to analyze complex & large data sets.
The key advantage of this Track is to help show how to implement oData with the Entity Framework exposed with WCF RESTful services and secured with Azure’s Access Control System (oAuth). Implementing this as an alternative to implementing WCF SOAP based services using x509 certs with TransportWithMessage Credentials as the security model. I was happy to see that this implementation was very seamless and straightforward to implement with the same level of security.
MVVM on the web… that works! Yes, finally; thank you Steve! If you don’t know who I’m thanking, Steve Sanderson is one of the brilliant minds behind major contributions to ASP.NET with focus on the MVC side of things. And if you don’t know what Knockout.JS is, you really need to come see me show you how to use Steve’s latest brainchild. Knockout.JS lets you do real MVVM on your HTML. I’m talking about real two-way binding. And with the help of Web API and Ajax, you can overcome any shortcoming that cannot be totally handled on the client. So come see me and let’s add another great tool to your web arsenal.
HTTP is a part of the daily life of every developer – and of everyone who browses the Internet! But what is it, and how does it work? What exactly is being sent back and forth from client to server, and what do tools like WebClient and HttpWebRequest really do? In this talk we will take an in-depth look at HTTP, from a basic understanding of sockets, to the structure of the data packets that comprise HTTP requests and responses, and to practical examples such as what is really happening when you load up a page – or submit a form – in your browser. We will also learn how to use Fiddler, a popular HTTP debugging tool, to actively monitor HTTP communication on your computer. By the end of this talk, developers should have a better understanding of how to construct basic HTTP requests from scratch, how to debug web exceptions, and how to use low-level tools to communicate with a web service without resorting to code-generation tools like WSDL.exe.
It is easy to create code that cannot be unit tested. This talk covers techniques to refactor code to allow unit testing. Writing unit tests for code dependent on third party libraries is difficult. This talk discusses how to use the decorator design pattern and interfaces can break the dependency and facilitate writing unit tests and how to use Moq to simulate third party libraries.
The latest Microsoft web development tools simplify responsive web site development. This talk complements our popular hands-on lab series. We start with layout and controller basics, add some jQuery and plug-ins, render with templating tools like jsRender, build forms with scaffolding, and access data with REST. Sprinkle in a little HTML5 goodness and some CSS3 to complete the recipe.
The best way to learn how to protect yourself is learn the techniques that will be used against you. This session is an intro to hacking using the tools that black-hat hackers use on a regular basis to detect and exploit vulnerabilities and how to protect yourself against them. Learn how horribly unsecured Wi-Fi is and some of the most common web site vulnerabilities.
Lets explore the various design principles which in turn lays the foundation for a good user experience.
With each passing day, there is more and more emphasis being put on the design and user experience for an application (often the bane of application developers).
The talk explores some of the major design principles, shares some examples, things to do, things to avoid and is more of an introduction to various principles to keep in mind during application development.
Using the .NET API, we’ll design and run existing packages, and create a new one. We’ll discuss the different objects a package contains, see how to query a package’s contents, and how to edit field-level component transformations.
The introduction of the iPhone, iPad, and iPod touch sent waves through the software development community. iOS has become a very successful force and many developers have flocked to the platform. Unfortunately, many developers shy away because of the unfamiliar development environment. It doesn’t have to be that way! Come learn how to build iOS applications using C# with Xamarin.iOS. You’ll learn how to use your existing skills to build apps for iOS. I’ll show you how to use Xamarin Studio and Visual Studio to create iOS applications using Xamarin 2.0.
This session demonstrates the customization of search results via modification of display templates. Various search components are discussed and areas of the Search Service Application are explained. The demos currently include implementing PDF preview and customizing image previews.
Couchbase Server 2.0 is an opensource, distributed NoSQL database. It is a document-oriented data store with a key/value API. Couchbase features a map/reduce engine that allows for complex document indexing and querying. This talk will introduce development with Couchbase Server using the .NET Client Library. After a brief overview of server deployment and architecture, a detailed look at the key/value and document APIs will be covered. The discussion will conclude with a demonstration of using the code-first approach to building an ASP.NET MVC application with Couchbase.
Doug Finke, author of “PowerShell for Developers and Microsoft Most Valuable Professional (MVP) takes us on a deep dive into PowerShell from a developer’s point of view. Doug shows techniques for integrating/debugging PowerShell from and to C# code as well as using PowerShell with a Windows Presentation Foundation (WPF) application. He also addresses using reflection at the command line, PowerShell’s innovative object pipelining, and PowerShell’s REPL (Read, Eval and Print Loop).
Have you been wanting to use EF? What are you waiting for? In this course, I will answer your questions on EF. You will drive the what we learn. Post your interests to this talk and I will make sure we cover it in the class. By the end of our 90 minutes I hope that you give up on the old ADO.net and embrace EF and working with data as an object model.
Many new business apps have bolted on social features, but in many cases they end up as silos that don’t reach a critical mass of users. Yammer is different. It provides a unified social layer that drives adoption and engagement in your applications.
In this session you’ll learn how to integrate Yammer with your organizations systems and applications. We’ll look at how Yammer Connect can be integrated with your web applications, the REST API, how activity stories and Open Graph objects can be pushed into Yammer, and some best practices for development on the Yammer platform.
Windows Phone development is highly productive, relatively easy and fun. If you’re already a .NET developer, you can get up and running with the Windows Phone SDK pretty fast. Maybe you’ve already even built a prototype or two. Stuff runs. You deploy it to your phone. Ready to publish, right? Wrong. There’s a difference between a functional prototype and a final store-ready app. This session explores recommendations and best practices to turn your fledgling app into a real professional submissions. We’ll look at the user experience, the “About” page, tracking the update history, getting feedback from users, providing help, and even your iconography. We’ll also go over critical monetization steps such as supporting micro-transactions, in-app advertising, rate & review reminders and sharing your app. With hundreds of thousands of apps to compete with, you need to go above and beyond to impress your users. Come learn how to do it for a maximum impact.
Learn about Encryption hierarchy, Symmetric Key, Asymmetric Key, Certificates. How to use encryption in SQL 2005 and up.
Data entry is boring. Developing web forms is tedious and can be complicated. As AJAX heavy applications have become the standard of today’s web developers have relied on many third party plugins and libraries to add client-side value to data entry forms. Modern browsers implement many of these features natively, in many cases eliminating the need to load and maintain an application against a third party library. In this session I will review new input types, attributes, styling and validation techniques that should make you forget those third party libraries for your next project.
The topic will be on using open source technological s to solve a very complex task such as merging two companies together. I’ll talk about my real world experience as project lead and teach the following tools:
Creating an engaging user experience in SharePoint isn’t simply about getting the functionality right based on the business requirements. SharePoint developers must think about the entire user experience. This demo packed session will show how, using client side development tools like XSL, JQuery, and HTML/CSS and design contructs like Responsive design, you can enhance the user experience in SharePoint and elevate the user above the out of the box design. This session will include best practices and gotchas to watch out for.
While this session will be based in SharePoint 2010, many of the concepts will work with 2013 as well.