session lineup
3p's (patterns, performance and principles) of c#
- speaker: Dhall, Chander
This is one talk that includes patterns, principles with performance. This comprises of deep dive into 10 things every developer must know. Creates a basis for creating highly scalable as well as high performing web applications.
- level: intermediate
- keywords: algorithms, performance, design patterns, website optimization, best practices
advanced android development
- speaker: Farrell, Jason
As mobile development continues to rise in popularity Android stands as the main challenge to iPhone. Beyond the normal introduction to Android, this talk will focus on advanced concepts such as Intents, Adapters, Listeners and more.
- level: intermediate
- keywords: Android, Mobile, Java, Eclipse
android 101 - introduction to android development
- speaker: Maung, Lwin & Min
In this session, we will show you how to get started on Android development, all the way from installing the development platform to building your first application. We will also show you things you can do with Android such as location, mapping etc if we have time. This is for people who wants to try Android but never did due to different reasons.
- level: introductory
- keywords: Android, 101, beginner, intro, geo location, submission
an introduction to mongodb
- speaker: Grubbs, JC
MongoDB is a schema-free, document-oriented, and highly performant database system for multiple platforms. Along with many other "NoSQL" databases such as CouchDB, Redis, and Riak it allows a new way of thinking about how we store and retrieve data.
This presentation is intended to be an introduction to getting started with MongoDB and will touch on topics such as: the Mongo shell and administrative function, query syntax, basic schema design, indexing, map/reduce, replication and sharding, using the Mongo drivers for C#.
- level: introductory
- keywords: mongodb, nosql, c#
application instrumentation with wmi
- speaker: Schweitzer, Nick
WMI (Windows Management Instrumentation) is most commonly used to query for hard drives, find out what services are running, and other basic Windows functions. But, did you know that you can make your own objects queryable in WMI as well, as well as send custom events? We'll go over how to query machine state with WMI, and then how to instrument your own applications with WMI as well. Finally, I'll show how to make a custom MMC plugin powered with WMI.
- level: intermediate
- keywords: .net,wmi,instrumentatoin
build a multiplayer node.js game in 48 hours
- speaker: Suchy, Jim
Last August, 8th Light put together a team to participate in the inaugural Node.js Knockout coding contest. Come see what four Node neophytes were able to put together in just 48 hours, and learn about both the hits and misses of Nōdo Tanku.
- level: intermediate
- keywords: node, javascript
building a management api with powershell
- speaker: Murawski, Steven
PowerShell is a great automation framework, but it really shines when you develop a management API with integrated systems management in mind.
- level: advanced
building a windows phone app in 60 minutes or less
- speaker: Bost, Dave
No slides. Just code. We'll walk through what it takes to build a Windows Phone app with Visual Studio and Expression Blend.
- level: intermediate
- keywords: windows phone
clojure; it's the new ruby.
- speaker: Martin, Micah
10 year ago Ruby was the unknown gem of programming languages. Today Ruby is practically mainstream and millions have profited from its power. Clojure has the feel today of Ruby 10 years ago. It's powerful, fresh, sexy, and relatively unused.
In this session we will succumb to the allure of Clojure. We'll learn about it's Lisp heritage and how it fits into the world of functional languages. Software Transactional Memory? You be we'll talk about that. We'll see how even though Clojure is not an OO language it provides all the tools needed to build an architecture that stinks of OO goodness. And we'll talk about some real work uses.
- level: intermediate
- keywords: clojure, ruby, functional
code generation with t4 and visual studio
- speaker: Sych, Oleg
Why write repetitive code when you can generate it? By now you must have heard about Text Template Transformation Toolkit (T4) – the code generator built into Visual Studio and used by ASP.NET MVC, ADO.NET Entity Framework and other cutting edge technologies. T4 allows you to use simple ASP.NET-like template syntax to generate application source code, configuration files, stored procedures and more. This session shows you everything you need to start building your own or customizing existing code generators, including an overview of code generation, T4 template syntax and how to create a working template for generating CRUD stored procedures from scratch.
- level: intermediate
- keywords: t4, code generation
community, you have a voice so speak up!
- speaker: Sell, Clark
Clark Sell has asked a number of community leaders across the Midwest to speak as part of a community panel. This panel would like to explore the current state of our community and how can continue to improve it.
- level: introductory
- keywords: Developer, Community, Midwest, Chicago
continuous learning
- speaker: Temkin, Marc
In the past six months our speaker,Marc Temkin, has expanded from Windows to Mac development, Unix, Python, Java, PHP, a legacy database, along with more Microsoft technologies including SSIS, WCF and Silverlight all while daily solving enterprise-level problems. Marc will explain how you can learn new technologies and get work done. He will show you efficient learning and research techniques which leverage what you already know with what you need to learn and demonstrate quick research techniques that lead to answers rather than misinformation.
- level: intermediate
- keywords: research learning professional student practical
creating a dsl in javascript using node.js
- speaker: Mavity, Brian
A domain specific language can make code more focused and clear. With some of the capabilities of node.js, writing a domain specific language in JavaScript became much easier.
- level: advanced
dependency injection in asp.net mvc 3 distilled
- speaker: Petersen, John
One of the major changes in ASP.NET MVC 3 is how the Dependency Injection / Inversion of Control Pattern is implemented. We no longer have to wire up our own custom controller factories. Instead, we simply need to make ASP.NET MVC aware of which IoC container we are using. It's not an entirely straightforward process. In this session, John will explain the DI/IoC pattern, why you will want to use Dependency Injection and how DI/IoC works in MVC.
- level: introductory
- keywords: MVC, Dependency Injection
detangling your javascript
- speaker: Powers, Chris
You've learned the basics of Javascript and jQuery. You've hacked together rich client behavior on your Web sites. It works, but now you're stuck with a tangled mess of Javascript that is getting harder to update. What now? Time to detangle!
I will introduce attendees to the following in a tutorial-style presentation:
- JS Testing with Jasmine
- JS Best Practices / OO Design
- JS Refactoring
- level: intermediate
- keywords: javascript, tdd, refactoring, jasmine
git more done
- speaker: Dahlby, Keith
You've seen the intro, you've cloned from GitHub, 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 interactive rebase, interactive add, reflog, bisect and more.
- level: intermediate
- keywords: git, dvcs
going indy 101: lessons learned from a decade of independence
- speaker: Eaton, Michael
Breaking free from the confines of the cubicle farm and going out on your own can be one of the most satisfying things you do for your career. It can also be one of the most terrifying. This session will answer the most common questions I've been asked over the years such. These questions include "How do I get started?", "Where do I find clients?", "How much do I charge?" and many others. Come find out if the grass really is greener on the other side.
- level: advanced
high performance 2d graphics in silverlight
- speaker: Reiss, Bill
Whether you want to create a great Silverlight based game or just improve the user experience of your app, getting the most out of the Silverlight graphics engine can be tricky. Learn how to improve performance and troubleshoot graphics related perforamnce issues. In addition, learn how to be ready for Silverlight 5 and the significant improvements it will bring in this area.
- level: intermediate
- keywords: silverlight, graphics, performance
how i learned to stop worrying and love jquery
- speaker: Giard, David
JavaScript is an excellent way to add rich client-side functionality to a web site. But differences in the DOM implementation by the various browsers and platforms can make JavaScript difficult. JQuery solves this by providing a library of functions that provide simplified, consistent, cross-browser, cross-platform JavaScript support. In this session, I will show how to add jQuery to your applications and use it to add rich functionality to your web sites.
- level: introductory
- keywords: jQuery,JavaScript,AJAX
introduction to gnu smalltalk
- speaker: Kim, Steve
This session is an introduction to GNU Smalltalk, an open source implementation of the Smalltalk-80 language that runs on POSIX compatible operating systems.
The audience will leave with a greater understanding of the history of Smalltalk and gain hands-on experience writing in the Smalltalk language.
- level: introductory
- keywords: smalltalk, ruby, oop
let cygwin take you to a whole gnu world
- speaker: Gerry, Ryan
The goal of this talk is to show the power of the *nix shell beyond tools like cmd.exe. This talk wold be excellent back to back with a talk on the MS Power Shell. You can view the slides at: http://bit.ly/learn-unix .
- level: introductory
- keywords: unix, linux, bash, command line, ruby
messaging with nservicebus
- speaker: Harold, Lee
More like WCF than BizTalk, nServiceBus makes asynchronous, one-way queued messaging between services easy — and there's no server to install or maintain. Just add a reference to nservicebus.dll in your project.
Unlike a traditional RPC approach using WCF, there is no such thing as a blocking call with nServiceBus. That's because message queues are the key technology behind nServiceBus — and different adapters let you choose the specific queue implementation that makes you happy.
Based on my own experience using nServiceBus in production systems over the last 2 years, I'll present the architectural concepts behind messaging. Then we'll dive into a code example using nServiceBus to integrate three separate systems that collaborate to process and fulfill online customer orders.
- level: intermediate
- keywords: messaging, nServiceBus, distributed systems, queues
.net means mobile
- speaker: McMahon, Kevin
iOS, Android, and Windows Phone 7. What do these three platforms have in common? C#. With MonoTouch, MonoDroid, and good ol' .NET you can write native apps on all three major smartphone platforms. This session will introduce you to the three different platforms and show you how to minimize the amount of code rework and maximize the reuse across the major mobile platforms.
- level: introductory
- keywords: mono, monodroid, monotouch, mobile, apps, ios, android, wp7, windows phone 7, .net, c#
oh crap, now i have to secure this?
- speaker: Leifheit, Glenn
Most developers are faced with unrealistic business requirements for applications that compromise usability for security. A lack of security requirements can be some of the most painful, often with a customer contract on the line. We will cover the basics of application security, the understanding of what your defending against, as well as basic resources to get you beyond the basic. Be prepared for the call when your told you need to secure this application now!
- level: advanced
onion architecture with asp.net mvc
- speaker: Hidinger, Matt
Onion architecture exploits well-known patterns like dependency injection to promote true loose coupling between the core business logic and technical implementation details of an application
- level: intermediate
- keywords: mvc, architecture, ioc, di
open data/government as a platform--justin massa
- speaker: Baker, Paul
Justin Massa, Metro Chicago Information Center, MoveSmart.org, Urban Geek Drinks convener, Food Genius founder, and Paul Baker, designer and web strategist at Webitects, will talk about open government data history, challenges, and opportunities, and show some local and national examples of data in use.
Hopefully, we will hear some ideas from you about possible uses of open data and the sorts of data that you would find interesting.
- level: introductory
- keywords: Open government, Open data
rapid dynamic prototyping with sketchflow
- speaker: Polyakov, Nikita
Learn basic ideas around prototyping interactive experiences using Microsoft Expression Blend SketchFlow. Learn how this will increase quality of your product, help ALM and even improve Sales.
- level: introductory
- keywords: Prototyping, Expression, Blend, SketchFlow, ALM
solid, di, ioc… wtf?
- speaker: Beardsley, Scott
We will cover the the five principles of class design, dependency injection and inversion of control. We will also cover the benefits of each when it comes to testability and creating loosely coupled systems. We will use C# as the language however these principles can be applied to any OO language.
- level: introductory
- keywords: SOLID, DI, IoC, Class Design
standing remotely on the shoulder of giants
- speaker: Dixit, Ashish
The talk is focussed on leveraging the remote tools that we have at our disposal and the value that pair programming brings and using it to learn from the great community of professionals. I have had the pleasure to do remote pair programming sessions with Evan Light, David Brady, Pat Maddox and Andy Lindeman and they have all been a great learning experience. During these sessions, I realized that we as a community can benefit from doing more remote pair programming and how it allows us to create our own journeyman tour without leaving the comfort of your home.
- level: introductory
- keywords: remote pair programming, learning
take control of your development career
- speaker: Norton, Michael
As developers, we tend to spend a lot of time focused on languages, frameworks, and tools. But few of us spend time thinking about our careers or personal growth. Michael "Doc" Norton talks about simple things you can do today that pay off in a big way tomorrow. Take control of your Development Career. Be the developer you wanted to be. It is easier than you might think.
- level: introductory
- keywords: Developer, Career, Kata, Koans
test-driven development - tips, tools, and techniques
- speaker: Burnell, Keith
Software development methodologies come and go like boy bands. Every week someone in the blogosphere is hyping a new methodology, or modifications to an existing one, all of which claim to be the next big thing. Test-driven development (TDD) is one of these methodologies that outlasted its fad phase and has become a major player in the software development methodology arena. Once you have grasped the methodology there an abundant amount of ways you can make the process easier in the .NET space. In this talk Keith will discuss techniques such as Inversion of Control/Dependency Injection using StructureMap, Castle Windsor, and Ninject and Mocking using MOQ, and RhinoMocks. Keith will also dive into automated UI testing tools such as WatiN and Behavior Driven Development (BDD) using RSpec.
- level: advanced
testing the user interface: coded ui tests with vs2010
- speaker: Boyd, Eric D.
With the new Coded UI test in Visual Studio 2010, building automated tests for the user interface is no longer the unattainable Nirvana. In this session, we will explore the features of Coded UI tests in VS 2010. We will walkthrough how you record tests, add assertions and customize the resulting tests for increased automation. Finally, we will explore how to customize existing Coded UI tests and how to run them with your automated builds.
- level: intermediate
- keywords: testing, codedui, vs2010
unit testing java code with groovy
- speaker: Buswell, Jim
Unit testing Java applications is imperative to delivering a product of high quality. However, unit testing Java code with more Java code can be tedious and frustrating. You always end up writing a lot of boiler plate code. In addition, you usually end up with a separate hierarchy of stub and mock objects; some of these become so complicated you feel like you should create tests for these!
I propose to talk about a solution to this problem: utilizing the Groovy dynamic language to unit test Java code. Using Groovy makes unit testing, easier, more efficient, and more interesting. The talk will go over several of the most interesting parts of Groovy and how these make unit testing much easier. We will talk about closures, dynamic typing using "as" operator, builders, and more features of Groovy which help with unit testing.
- level: intermediate
- keywords: Java, Groovy, JUnit, Unit Testing
using f# to solve real world problems
- speaker: Erickson, Aaron
In this talk, we will explore using F# to solve several real world problems, from averting a financial crisis, to solving the problem of incivility on the Internet.
- level: intermediate
- keywords: F#
web sockets with pusher
- speaker: Hoover, Dave
Taking inspiration from soupcan.me, we will build up an honest to goodness web chat room with web sockets via Pusher. That's right, no expensive polling required!
Dave will be joined by Damien Tanner, the co-founder of http://pusher.com!
- level: intermediate
- keywords: html5, web sockets, web
