Great Silverlight 2.0 Tutorial

Everybody who knows me knows my feelings on doing complex WebGUI. In short I think it is stupid - and also I have never met a developer yet who can show me a robust and simple way of managing the events of a web page. It is always, always fixes like; hidden fields, setting stuff in prerender etc etc.

So my personal opinion of this is - don’t do it! Web is for simple stuff. The moment a request about a tab control or thing posting back is being said I would raise a big warning flag. You’ll get into trouble. (Of course I can only speak for ASP.NET, and love to be convinced otherwise).

Luckily there is help on the way.

  • You could either stick with simple HTML and use [ASP.NET MVC](http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx) which removes all the crazy event-handling from the ASP.NET WebForm model. Basically...
Read More

Design patterns II

During the last three weeks or so I’ve been reading a great book, Head First Design Patterns. Now I have finished it!

As i said earlier; This is the best, funniest and most informative IT-related book I’ve ever read - and that is quite a few if you count my years at the university.

I have tried to wrap my brain around Design Patterns many times but failed, often due to the very academical language that is used when you speak about such abstract thing. I cannot count the number of times I got an “aaah”, “so it was this simple?” or “finally!”-feeling while reading this book.

Thank you!

Now if the Head First team only could put out some .NET stuff and I’ll be buying lots and lots of those.

Read More

Sweet brass bander

I can’t withhold this sweet picture. It is from the Youth Brass Band Championships in Great Britain held last weekend. Note that she’s not even holding a normal cornet, it is smaller than a regular cornet. But she is still playing a singing E. What a concentrated face!

Read More

Sprint demo, cold and speed

I’m back - yesterday was a day with speed since we had to prepare the Scrum demo we’re going to hold today. And as frosting on the cake I caught a cold (kind of).

Well, nothing to do about that - the sprint demo today will be running smoothly even if I am a bit slower than usual.

The night at the shelter was quite quiet (:)) for me. I got to go to bed at around 2345 and woke up 7 hours later without a single disturbance, part from a soar throat. A very small contribution from me.

UPDATED The demo was a success! The product owner said that she wanted to do “the wave”, which was quite a good reception, don’t you think.

Read More

A night at the shelter

Tonight I am sleeping at the Salvation Army shelter for homeless in Stockholm. It is a very good way for me to take part the most important work that the Salvation Army does, and that I am embarrising seldom involved in.

Feels fine for now - I hope I don’t mess things up, though. There are a lot of things to keep track of and the people I am serving are used to a certain standard and certain ways. I hope I don’t let them down.

Bye for now - i’ll get back to you after the night.

Read More

What is SOA? What is SOAP-RPC?

The now almost age-old question; “but what is SOA then?” has been out for debate at the office where I am right now. It must be stated that this is a gang of developers and quite often the questions bubbles down to; “but this line of code then, is this SOA?”.

I took some time over the weekend and though about it - and came to the conclusion that you cannot answerer that question because the question is not correct in itself. SOA has to do with switching position and behold your world from another angle, was my conclusion.

And lo and behold; today I found an article that explained a lot of stuff surronding this for me: http://wisdomofganesh.blogspot.com/2008/02/deciding-characteristic-of-soa.html

Great explanation of the differences between SOA and SOAP-RPC.

Read More

WCF - wsdl configurations explained

OK - after an intensive coding session I can now proudly say that I understand 4 attributes of the WCF configurations (of the 1200 + that exists ;))

The attributes that you should set are:

  • ServiceBehavior.Namespace - this get generated as the targetNamepace in the wsdl (instead of http://tempuri.org/). Also you should use this namespace in the endpoint, with the bindingNamespace-attribute in the config-file: <endpoint bindingNamespace=”[http://www.marcusoft.net/Services/](http://www.marcusoft.net/Services/)” />
  • ServiceBehavior.ConfigurationName - this is the name that you use as service name in the configuration file: <service name=”OffertTjanst” >

  • ServiceBehavior.Name - the name property has solely to do with the generated wsdl-file. It is generated as the Name-attribute in the wsdl-file: <wsdl:definitions name=”ListDataTjanst” …

  • ServiceContract.ConfigurationName - (note: this is on the interface, service contract, all other attributes are on the service implementation) this name is used to reference the interface in the endpoint:...
Read More

WCF, WSDL and tempuri.org

It’s back! Just when we thought that we’ve seen the dreadful namespace http://tempuri.org is coming back at us with full power.

The feeling you get when a web service is exposed under the namespace tempuri.org is that the developer of that web service is either sloppy or don’t now what he is doing.

Well, well - don’t be like that when it comes to using WCF. Here is an article describing how to do it. The key points are quite easy:

  • Use the ServiceBehavior attribute. Note: on the service implementation - not on the contract!
  • Set the namespace-property to the namespace you want.

Here is an example (yes, I know, it’s in dredded VB.NET):

<ServiceBehavior(Namespace:=”http://www.marcusoft.net/Services/2008/04/MyService”, )> _ Public Class MyServiceImplementation implements IService … End Class

Read More