NDC 2012

Norwegian Developers Conference  
Tag Legend

Rails for the .NET Developer - Rob Conery - June 4th & 5th

Ruby on Rails has quickly risen as one of the top frameworks for rapidly building highly interactive websites, and has been used to build sites such as Twitter, Scribd, Hulu and Groupon. In this two–day workshop, you'll learn the basics of Ruby on Rails and build and deploy your own website. Along the way you'll learn Test–First programming with RSpec and Cucumber, committing your app to Git (and to to GitHub) and deploying your app using Heroku.


– What's Ruby on Rails all about?
  – Building your first app
  – Exploring the architecture
  – Committing your code
  – Red, Green, Refactor
  – Deploying to Heroku
  – Cucumber and even more RSpec
  – Asynchronous Calls with Javascript and Rails
  – Asset Pipelines
  – Debugging Rails
  – Advanced Topics
About the Instructor
Rob Conery is the co–founder of Tekpub.com, an online video learning resource for developers of all shapes and sizes. He is also one of the annoying voices you hear on This Developer's Life – a podcast he does with Scott Hanselman.
Rob has a number of Open Source projects, including Massive (the first MicroORM), SubSonic – an ActiveRecord–y clone, Manatee (migrations with JSON), Sugar – a set of helper libraries, and a few others.
Rob worked on the ASP.NET team for a short while helping to promote application building with ASP.NET MVC. Prior to that he was an independent consultant, sleazy dot–com entrepreneur and data–mining wonk. Rob lives in Hawaii with his two shiney daughters and wonderfully beautiful, patient wife.

A day of WCF - Miguel Castro - June 5th

WCF seems to have been quite an intimidating topic for many developers. It's a technology that provides a unified programming model for what used to be four different technologies.


In truth, it's simpler to use than you may think. Still, many developers are bent on continuing to develop new projects using ASMX web services and even .NET Remoting, the two primary technologies that WCF fully replaces. Even though at its simplest, it doesn't take much to get a service up and running, and is indeed a topic I've tought in standard 75 minutes sessions, WCF offers many other characteristics that make developing services in it very appealing. But it is these very additions to the basics of WCF that intimidate developers. In this one–day workshop, I'll take you through the design and development of WCF services from the ground up using a best–practice approach from the beginning. We'll cover service contracts, data contracts, services, proxies, hosting, and consuming. Then we'll dive into many of the additional features provided by WCF including but not limited to transactions, fault handling, and instancing, and even security. And time–permitting we may get into REST services. You'll walk out fully armed and ready to start writing WCF services without intimidation.
About the instructor
Miguel Castro is an architect with IDesign with over 27 years of experience in the software industry. He’s a Microsoft MVP, member of the INETA Speakers Bureau, and ASP Insider.
With a Microsoft background that goes all the way back to VB 1.0 (and QuickBasic in fact), Miguel has spoken at numerous user groups, code camps, and conferences throughout the US and overseas. He has also been featured on the technology talk shows, .NET Rocks, .NET Rocks–TV, Microsoft’s ARCast (Architecture Podcast), and The Polymorphic Podcast on numerous occasions. He specializes in architecture and development consulting and training using Microsoft technologies. Miguel is also a regular author with CoDe Magazine.

The RavenDB Workshop Part I & II - Itamar Syn-Hershko - June 4th & 5th

In this fast–paced and hands–on 2–day RavenDB workshop, you will learn how to use this quickly evolving Document Database efficiently in your applications to save time and effort on communicating with database storage.
It's possible to register for just 1 day of this 2–day workshop.


In this fast–paced and hands–on 2–day RavenDB workshop, you will learn how to use this quickly evolving Document Database efficiently in your applications to save time and effort on communicating with database storage.
During the first day of this workshop we will get to know RavenDB and its core concepts, get comfortable with its API, learn how to build and customize indexes, and how to correctly model data for use in a document database.
After getting familiar with all the basics in the first day, during the second day we will build on that knowledge to properly grok Map⁄Reduce, Multi–maps and other advanced usages of indexes, learn how to extend RavenDB and the various options of scaling out.
Upon completion of this RavenDB course, you will be able to build database–backed applications faster and more efficiently.
Topics covered in this workshop:
– Overview of RDBMS, NoSQL, Document Databases and RavenDB
– Basic CRUD operations
– RavenDB's indexes implementation
– Data modeling
– Caching
– If time allows – Static indexes and Full–text search and spatial queries
– Static indexes and Full–text search and spatial queries
– Map⁄Reduce, multi–map, boosting
– Live projections
– Scaling: replication, sharding, multi–tenancy
– Bundles
– Extending RavenDB by writing your own bundle
It's possible to register for just 1 day of this 2–day workshop.

About the instructor
Itamar Syn–Hershko is a software developer writing mostly for .NET but also in Java and C⁄C++, and is a core developer of RavenDB since joining Hibernating Rhinos in 2011.
Author of open–source projects like HebMorph and NAppUpdate, and an active participant of others (CLucene for example), Itamar strongly believes in the power of open–source projects and the innovation they can bring to the table.
Itamar's current focus is on modern Information Retrieval – mostly search engines and databases, and he blogs about those and others in his blog http:⁄⁄code972.com

CSS3: Not just for Designers - Lea Verou - June 4th & 5th

CSS3, in essence, is about creating web applications that download faster and are easier to develop, maintain and edit. Less HTTP requests, less Kilobytes to download, less presentational JavaScript. All those are mostly developer goals, rather than designer goals. And that's why developers should care about CSS3, perhaps even more than designers do.


Starting with the basics, we'll dive deep uncovering the nitty–gritty details of the CSS3 features that help you achieve those goals. You will get the chance to test everything yourself in the process with small, easy to understand examples designed to keep the learning process fun and enjoyable.
What you will learn:
  • How you can integrate CSS3 in your daily workflow to produce better results more quickly
  • How to get rid of external images and when it's wiser to keep them
  • How you can use CSS3 to offload presentational tasks to CSS instead of bloating your JavaScript code
  • How CSS3 interacts with JavaScript, to allow you to do even more
  • How to think about detecting CSS3 feature support and how to create your own fallbacks and polyfills, instead depending on others to write them for you
No matter your experience with CSS3, you will walk away having learned a ton of new things you can immediately apply to your everyday work. You will also get an exclusive web application where you can experiment with everything taught, even after the workshop has passed.

About the Instructor
Lea has a long–standing passion for open web standards, and has been often called a “CSS guru”. She loves researching new ways to take advantage of modern web technologies and shares her findings through her blog, lea.verou.me. Lea also makes popular tools and libraries that help web developers learn and use these standards. She speaks at a number of well–known international web development conferences and writes for leading industry publications. Lea also co–organized and occasionally lectures the web development course at the Athens University of Economics and Business.

Hunt The Wumpus: Acceptance tests to code - Uncle Bob - June 5th

Come write lots of Java, C#, C++, or even Ruby code with Uncle Bob. We'll begin with acceptance tests in FitNesse that describe the behavior of the old computer game "Hunt The Wumpus". And then, step by step, test case by test case we'll use TDD, Refactoring, and Clean Code practices to get this application working. Students will learn how to use FitNesse, and how well written acceptance tests are an executable specification of an application.


About the Instructor
Robert C. Martin has been a software professional since 1970. In the last 35 years, he has worked in various capacities on literally hundreds of software projects.
He has authored "landmark" books on Agile Programming, Extreme Programming, UML, Object–Oriented Programming, and C++ Programming. He has published dozens of articles in various trade journals. Today, he is one of the software industry's leading authorities on Agile software development and is a regular speaker at international conferences and trade shows. He is a former editor of the C++ Report and currently writes a monthly Craftsman column for Software Development magazine. 

REST workshop - Erlend Hamnaberg & Trygve Laugstøl - June 4 & 5th

The workshop will be an introduction to REST. We will take a practical approach and implement an actual application. We will walk you through how HTTP works in a RESTful context. The participants will learn how to use it effectively. REST is the first architectural style that elevates data to an architectural element.


This makes it very important to take an active stance to what the data should look like, formatting etc. We will supply the participants with a toolbox for identifying, and use hypertext elements in existing and new data formats. Data formats with hypertext controls are also known as Hypermedia. We will also show areas where REST as an architecture and HTTP as a protocol works poorly.
Who should attend
People that are interested in REST.
No up–front knowledge is required, but it's wise to not be afraid of the command line prompt.
About the instructors
Erlend Hamnaberg
Erlend is a senior software consultant working in Arktekk. He mainly works as a software developer and architect. His technical interests revolve around HTTP, REST, and functional programming.
He dabbles in multiple languages, some with more than one paradigm, including Scala. The target platform of choice is usually the JVM, but other platforms are also interesting.
In his spare time he is the Chairman of javaBin (Norwegian Java User Group). He is involved with multiple open source projects, including being the lead developer and architect behind the open source HTTP–cache library HTTPCache4j.
Trygve Laugstøl
Trygve Laugstøl is an experienced system developer with a strong passion for programming. He currently works as a consultant in the areas of Java, Scala and general system architecture. The last few years REST and hypermedia has become the main areas of interest.
Trygve is known from his numerous contributions on many open source projects like Apache Maven and Contiuum and has been a board member⁄leader of the Norwegian Java User Group javaBin for many years. We is also a frequent speaker at various conferences in Norway.

Node for a real-time web - Remy Sharp - June 5th

JavaScript is increasingly seen as the ubiquitous language for developing for the web, so it stands to reason that JavaScript be used for the server side too. Node allows for applications to be developed in JavaScript and is running on the incredibly fast V8 engine (the same JavaScript engine used to run Google Chrome). It can handle thousands of concurrent connections due to it’s event model, and because of this event model, developing for Node is very familiar if you’ve already written JavaScript for the browser – as this the same event model.


  • The basics: Async development, modules, requires, exports and scope
  • Debugging techniques and tools
  • Building web servers: by hand, with Connect, with Express.js
  • WebSockets in minutes
  • Repo control, releasing and deploying using npm

What do you need for this workshop?
  • Node installed on your machine (0.6.10 is currently the latest stable release)
  • Ideally have git installed
  • A text editor (Vim, TextMate, Coda, Textpad++, etc)
  • A browser with latest technology baked in, like Google Chrome for instance

About the instructor
Remy is the founder and curator of Full Frontal, the UK based JavaScript conference. He also runs jQuery for Designers, co–authored Introducing HTML5 (adding all the JavaScripty bits) and is one of the curators of HTML5Doctor.com.
Whilst hes not writing articles or running and speaking at conferences, he runs his own development and training company in Brighton called Left Logic. Generally speaking, hes about as crazy about JavaScript, HTML & CSS as a squirrel is about his nuts during the winter!

Develop Mobile Applications with C# and .Net - Chris Hardy & Jonas Follesø - June 5th

Join Chris Hardy and Jonas Follesø as he will transform you from a .NET developer into a iOS and Android mobile developer in this one day workshop on using .NET and C# to develop native iOS and Android mobile applications using MonoTouch and Mono for Android. This is your chance to find out how easy mobile development with C# and .NET really is and how you can produce stunning native applications.


  • Learn about the differences of developing an iOS application and an Android application
  • Find out how to use the native controls and APIs that the platform provides for you
  • Speed up development with Xamarin.Mobile APIs
  • Create an iOS and Android application that share common .NET code

Note that you need to bring your own intel based MAC for this course.

About the Instructors
Chris Hardy
Chris Hardy, a Microsoft ASPInsider, is an .NET consultant focusing on MonoTouch and Mono for Android development.
Ever since MonoTouch was in beta, Chris has been developing and evangelising MonoTouch and was one of the first users to get a MonoTouch application on to the App Store. Speaking at conferences around the world on the subject, Chris has been a key part of the community and extended this by contributing to MonoTouch and Mono for Android books.
You can follow him on Twitter at twitter.com⁄@chrisntr and keep up to date on his blog athttp:⁄⁄weblogs.asp.net⁄chrishardy
Jons Follesø
Jonas is a scientist at BEKK in Trondheim. He has broad experience and in–depth knowledge of the .NET Framework, ASP.NET, WPF, Silverlight and the C# programming language.
Jonas has worked on several projects using various Microsoft technologies. Currently he is spending most of his time exploring rich client technologies like Windows Presentation Foundation and Silverlight.
Jonas is an active member of and contributor to the .NET developer community. He is an experienced speaker from industry events like TechEd, REMIX, MSDN Live and NDC. In 2006 Jonas was nominated Microsoft Regional Director for his contributions and involvement with the Microsoft developer community.
He blogs regularly at http:⁄⁄jonas.follesoe.no and can be contacted at jonas@follesoe.no or onhttp:⁄⁄twitter.com⁄follesoe.

Choose your own adventure - Greg Young - June 4th & 5th

We will be coding 80% of the time. Of course you will not be coding my random next little start up (unless of course we all decide that two days is enough!). We will instead focus on writing code that has lessons built into it. Katas, Check. Build your own testing framework and use it. Check. Things you can't do at work but may learn something from. Check. If you want lectures there are many other workshops, if you want relevant code and less lectures; bring a laptop the more environments the marier we love polyglotism.


About the Instructor
Greg Young is an independent consultant who lives in two suitcases (literally).
When not travelling around working for clients throughout the world you can often find him on the domain driven design list, blogging at codebetter.com, or floating upside down in a kayak through rapids.