Specification by example – the missing link?

I’ve been thinking. That statement alone will be sure to put fear in the heart of a lot of you… But if you have continued on this far, here we go. Learning programming stuff During the last year or so I have been reading a lot. I have read stuff on XP, on good design DDD and TDD. This reading has affected me and my coding style way much more than I first thought. I simply cannot write code anymore without the test first, interface first, thinking of SOLID etc.. Learning lean stuff At the same time I have change role at Avega. I am now an AvegaCoach. This means that my time is divided between my regular (often coaching) assignments with customers and Avega and Elevate. Since my fellow AvegaCoaches (Joakim and Christophe) and me are interested in agile and lean stuff we have focused our joint efforts on...
Read More

Calling SOAPUi Testscript from MSBuild

Yes, I know that I have written about this before, with several updates. But I have now solved some issues with setting different endpoints for different services and thought that I might need to update the MSBuild-script to be able to call with those parameters also. Again – the script I am starting off is written by Todd of the Tar Pit. I’ve just tweaked it to take project property as input. That was the recommended way to change the endpoint for one service, to set the endpoint to a projectwide parameter. So, here is what the new MSBuild targets looks like. And here is a DOS-command that runs the MSBuild-target TestAll with the project property set to a endpoint. Please note that I was running this on a 64-bit Windows 7 and got some strange paths (Framework64) that you want to change.. You can download my complete (now updated)...
Read More

Home with children – everything’s fine

We have now been home for a while and things are settling down over here. Actually it’s working pretty good so far. Gustav is much better – he’s completely cured, to be honest. Both Arvid and Gustav is putting on weight and are both happy unless you change their diaper… Small children sleeps a lot, which is nice when you have another one to take care of also. Albert is really lovingly to Arvid and Gustav and enjoy to hold them… with us watching closely… He can lose interest very quickly ;) So all in all – we’re doing just fine. Thanks for all greetings and congratulations (is that even a word?). We’ll soon come out of our cocoon and see you all on the town. But until then we’ll sleep some more.
Read More

Changing endpoint from the command line when testing services with SOAPUi

I have been singing SOAPUi’s praises lately and it’s really great for testing services. In this post I describe how I made the whole thing work for testing WCF Services. But, as stated in this post, there was still one more thing to be solved… The endpoints from the command line. You want to use different endpoints in different environments. And in my specific customer case I want one of them to stay the same all of the time, since that endpoint points (sorry, could not resist myself) to a “singleton” kind of service. Luckily the SOAPUi team also have some great support (Thanks Ole, who replied in Swedish!). So here you have it – how to change the endpoint for one of your services under test from the command line – which in my case means the build script. I first created a sample WCF service project (very vanilla, i...
Read More

Status of workitems – where to keep it

This is a question that arises very soon or sometime even before you start doing work with a board; Scrum, Kanban or Scrumbut. Where should the status be? Or more often – “let’s use TFS” (and keep the work items in TFS/SharePoint/Excel and then make copies of them to use on the wall). A variant of the question is; “we are a distributed team – can we still use the same board?” Well of course there is not a yes or no answer to that but here is my take on it: Low tech rules First I think that no electronic system will ever beat the flexibility, simplicity and agileness of a board. See this for some examples. There are some that have come close but a low tech board communicates so much information with the added flexibility to move things around very easy. Also using a board promotes face-to-face...
Read More

Practical Kanban – some Kanban boards in practices

Together with Joakim Sundén and Christophe Achouiantz I’ve been doing some talks on Kanban. We have included some practicality in the talk – Build your own Kanban-board sort of. For the first few talks I tried to draw as fast as Joakim (in that case) talked. Not an easy task – try it. And also my drawings were not always optimal. So Joakim and I did some stop-motion-action and created slides for this part instead. It took the better part of a complete day… But the result was alright I think. Here are the slides with some short comments to illustrate what we talk about. **[Kanbanboards](http://www.slideshare.net/marcusoftnet/kanbanboards "Kanbanboards")** View more [presentations](http://www.slideshare.net/) from [Marcus Hammarberg](http://www.slideshare.net/marcusoftnet).
Read More

Arvid and Gustav

The last week have really been something extra. Last Friday, early morning we got some signs on that the twins were on their way. And 11 hours later they had arrived. Since then Gustav (twin 2) has been sick. The short story is that being born to early his lungs had not developed fully. And he has also been a better and is not on his way to a full recovery. We’re hoping to be back home with the twins in the beginning of the next week. Arvid (twin 1 with ca 30 min) is a very calm and peaceful person so far. Gustav has a bit more temper. But they are both quite easy going. Gustav looks a lot like me and Arvid is a bit thinner in his looks. I thought I post some pictures on them. Here you go: For people reading this blog searching for IT-stuff;...
Read More

Testing with Unity, Policy injection and solving “Ambiguous match found. (Strategy type Instance Interception Strategy” problem

I have been chasing this for quite some time now, about 4 days on and off. But now I have nailed it, thanks to Christer Cederborg – my Unity beacon in the dependency injection mist. OK – the problem is as follows; I have an object factory that encapsulates the calls to Unity for registration and resolving. This is done because I want to control if the resolved objects should be wrapped with PolicyInjection or not. However I ran into problem when I created test for my code. In the top most layer an resolved started to fail for the layers beneath them. I started to get an error which basically said: Ambiguous match found. (Strategy type Instance Interception Strategy… As often, I didn’t understand the error message and started to chase down the wrong things. I first thought that this had to do with the fact that I was...
Read More

Short and sweet introduction to RESTful services

I have heard a lot about REST and RESTful services but never have had the opportunity to work in project that uses that architectural style of working. So sadly I haven’t learned it. Here is a short and sweet introduction to the subject that explains REST in a good way. So – as I understand it – it’s just HTTP. The way HTTP is meant to be (URL to each resource, stateless, hyperlinks between resources and usages of the HTTP verbs). I like the simplicity.
Read More

Nice, easy and working description on how to compact a Virtual PC Image

I have looked so long for this; a short and sweet description on how to compact Virtual PC images. Here it is: http://kurtsh.spaces.live.com/blog/cns!DA410C7F7E038D!1902.entry Clear out the machine of filler I recommend installing CCLEANER.EXE from http://ccleaner.com which deletes all temporary files from the Windows installation, Internet Explorer cache, the Recycle Bin, and any number of other “garbage”/”temp” directories in the VPC. Disable hibernation If you have hiberation turned on, there’s a colossal sized file called hiberfil.sys in the root of the .VHD.  Go into Power options in Control Panel and disable hiberation to get rid of this file. Capture the Virtual Disk Precompactor .ISO In the menu of Virtual PC windows for your machine, capture the Virtual Disk Precompactor .ISO file which is located at: c:\program files\microsoft virtual pc\virtual machine additions\virtual disk precompactor.iso Run the Precompactor Go to My Computer and double click on the mounted disk.  It will begin to run...
Read More