I've been trying out Selenium 2/Webdriver, and I like what I see. First, you get a real cross language framework. Second, you get a webtesting framework where switching between a headless browser and a normal browser is made dead simple. Here's I'll show you how to get started.
Responsive web design is about making your web site adapt the layout to the viewing context, typically the browser window or the device that renders it. In other words, whether I watch the web site on a mobile, a tablet or a pc, and no matter what resolution I use, I should see something useful. It should respond to the context. Lately I've redesigned my blog to make it responsive, and here is what I've done.
If you're not familiar with the yield statement in C#, you should look into it, as it might be a very handy tool. It is not that intuitive if you're not familiar with the concept. But luckily it's not so hard to wrap your head around how it works.
I just noticed the other day that C#'s foreach actually does an implicit cast. That was a bit unexpected, honestly. The problem with casting generally is that when we do it, we let go of everything that type safety has to offer us (no compile time warnings or errors). And the problem with foreach is that it casts for us without many of us knowing it does at all.
There, I've reimplemented my blog. Basically I did it to see how simple it could be done. Simplicity is king. It was quite easy actually. It's an asp.net mvc solution, hosted at appharbor.com, using mongodb as storage.
Last year I was a speaker at NDC for the first time, and I'm proud to again have been given the opportunity at this years NDC. The presentation this year is titled: “When less is more - Agile web architecture”, and I did together with Jonas Follesø.
The Law of Demeter helps decouple objects, it makes mocking intensive tests much easier to write, and it offers a concrete set of rules that can make things clearer. I recently ran into an example in Glue where I refactored towards LOD. I will share my thoughts on that here.