Good times

As the climate approaches acceptability in Sweden it’s time for the annual Lightening of the Mood, which is what Scandinavians do when the hiatus of gloom occurs that follows the sun coming out of hibernation and the impermeable grayish lid of nuclear winter is temporarily lifted.

There are other things than weather to motivate the increase of joy:

There is a plugin for Resharper that works with NancyFx. Not breaking news, but nonetheless joyful.

https://github.com/NancyFx/Nancy.ReSharper

There is a NuGet plugin for MonoDevelop and Xamarin Studio:

https://github.com/mrward/monodevelop-nuget-addin

In general, xamarin studio and its new UI designer for iOS is a Huge Deal and should be explored if you are into iDevices but still want to use the Language of Honor and Heroes (C#, that is).

WCF 4.0

As the tour is now concluded and we are doing business as usual I figured it is time to post some promised source code and powerpoint material. If you just joined us, the final Jayway seminar of the spring season was on Windows Identity Foundation and a short roundup of new features in WCF 4.0. Stefan Severin MC:d the WIF section while I did the presentation on WCF 4.0.

So what IS up with WCF 4.0?  My three main points were the following:

  1. Simplified Configuration
  2. Full implementation of WS Discovery
  3. A turn-key RoutingService

My full presentation in attached and I also submit some source code, largely based on Aaron Skonnard’s excellent MSDN article with minor modifications to show the difference between WCF3.5 and WCF4 in terms of configuration.

References:

Presentation

Source Code

Aaron Skonnard’s introduction to WCF 4.0

Windows Phone 6.1

I managed to lose my employer’s Nokia N82 and as punishment by my boss he stuck me with an HTC Touch Cruise Windows Phone Classic 6.1 phone that nobody had wanted to use since 2008. I have tweeted about my findings with the hashtag #punishmentphone.

In short, the experience has been mixed. Synchronization with Google Apps works like a charm with e-mail, contacts and calendar and the messaging function is quite OK in the way e-mail works and the SMS part has conversations just like the iPhone. Sadly, though, the Windows Mobile general feel remains with very bad tactile feedback from the touch interface and a borderline unusable virtual keyboard and having a Windows interace on a phone means that user stories like “Create new SMS” or “Make a phone call” be at least a few clicks too far away for comfort. Oh, and another pet peeve: When the phone boots, it throws the SIM-card PIN-code dialog at me first, but that gets hidden by the WinMo desktop and I have to go in to the comm manager and disable the phone and reenable it to get the PIN dialog to a place where I can actually punch the numbers in. WinMo has improved since before, though as the phone has only died on me once so far for no reason, which is vastly better than a QTek S100 I wrestled with years before.

NewID

Many of the companies in the former Way Group have now fusioned under the name Jayway, among them my beloved Dotway.

My dear employer has gone from being the key part in a cluster of separate expert companies (Dotway being the finest in .NET, Jayway ruling the world of Java, Testway laying down the law in the world of testing and Leadway striving forward in project management with Realway soldering on (sic) in the embedded systems field)  and fusioned ourselves into one formidable entity under the name Jayway. To this end we are all gathered under the jayway.com domain and all previous references to Dotway should now be pronounced Jayway.

Using the NHibernate OR-mapper

I have decided to go ahead and set up a class that covers the basics and a few more advanced features of NHibernate. In order to take part in the class, please contact Dotway Stockholm at stockholm@dotway.se

As Domain Driven Design has won followers over legacy Data Driven Design people are focusing on mapping a business case directly into a set of objects that describe the problen space and true workflow, solving the problems the customer wants to solve and thus focus more on stringent, understandable and maintainable systems rather than focusing on what data the system will contain and how to store it cleverly, systems for abstracting away object persistence .have emerged. In the Java community Hibernate has been the big name over the years and in .NET NHibernate is establishing itself as the major player being the foundation for several solutions for automated persistence such as Castle ActiveRecord with the ActiveWriter modelling toolset.
 
This class is directed towards experienced .NET developers looking to migrate to NHibernate in production, either wrapping legacy databases or going greenfield domain-first. It covers a variety of tasks from the basic “getting started” via configuration through XML as well as FluentNHibernate to complex persistence solutions with some comparison to other persistence solutions such as Linq2SQL.
Topics covered in this class:

  • OR-mapper. Why?
  • Getting started
  • NHibernate vs … part I
  • Implementing a Sample Case
  • Session model
  • Lazy Loading
  • HQL
  • Schema versioning and deployment
  • Best practices
  • Worst practices
  • NHibernate vs … part II
  • Troubleshooting
  • Performance tuning

Starting with a very basic example of an ASP.NET MVC website I will expand and elaborate on a number of features in NHibernate, such as configuration, transactions, session scope, various key types, numbering schemes and lazy loading to show how to solve problems with NHibernate and how to retrofit NHbernate on top of existing schemas as well as how to create and version greenfield schemas. I will use a demo version of nhprof to demonstrate how the features, settings and tweaks as well as the chosen platform affect the SQL generated

I hope the class will instill a greater understanding of and confidence in NHibernate for use in your current project. If you wish there will be a fistful of code you will be able to use as a starting pont for your own exploration of NHibernate and its features.

New Way blog

Sigurdur Birgisson of Testway has created a very interesting blog for those who are of the testing persuasion.

New Dotway blog

Gustav Nilsson-Kotte of Dotway Malmö, formerly manning the Göteborg outpost, has now re-emerged onto the scene with a very interesting blog.