Implementing Unit Of Work with NHibernate
The more I work with it the more stupid I feel around what I have been doing before; why have I written so much SQL? It feel just … unnecessary. Who said stupid? Not me… Jimmy Nilsson said something like; “I just want the database and storage problems to be a consequence of my domain model. I don’t want to think about it”. And that is one of the goals with DDD and the solution is, for example, NHibernate. I have been doing some labs with NHibernate the last couple. And as often with me – I think I am in love. NHibernate really rocks. The mapping files are quite hard to chew off at first and I suspect that there are many tricks and traps for me to find. But still – so beautiful. Of course the Net has helped me a lot on my quest. Here are some...
Object-oriented database – worth a try
I have been doing a very small lab with an object-oriented database,
db4o, and I am very
The concept a first is a bit hard to grasp since there are no tables, no
SQL and hence no mapping going on. You simply store
Of course the trick is to query them back, but the excellent
db4o-crew and chunking out code every now and then
and for example the current release includes full support for LINQ which
gives you and excellent programming experience.
I am still very much a newbie and have some un-answered questions on how
data and class definitions evolution is handled. But
it looks cool, very cool.
Just say it loud for yourself: “No more SQL. No more mapping.” Yeah, you
like it, admit it.
The Flight of the Concords
Here is a very funny duo from New Zeeland. This song is a great
introduction. Come on – take a 7.10 break.
And then take 3 minutes more:
Task Board for Team System – finally!
I have been quite harsh to the Conchango Scrum template for Team Foundation Server, and I actually didn’t like it when I used it last (8 months ago). That primarily had to do with me being forced to use the standard, heavy-weight forms in Visual Studio to edit Backlog Items and Actions. That did that we couldn’t use it in our daily scrums and hence someone (read: me) had to take notes and then go an update the TFS. In lean terms this was WASTE that was added to our project. I didn’t like that one bit. So we stopped using it. Quickly. But now Conchango has created the tool that I think was the missing link. A Task Board application that mimics the actual task board that you draw and edit during sprints, planning and daily scrums. You can read more about it here and learn how it works...
Why do TDD?
I haven’t done TDD for a very long time and I still am waiting for my first BDD project in real life. In fact I sometimes have a problem to describe the goodness. But Gregg Pollack has done the same journey as I have and he has also done this great presentation on why TDD is good and how to use it. Sadly that video is long gone. Sad, because it was a good presentation. This is such a great presentation where he takes us through a series of points that explains the rationale of TDD and then BDD, or the “pathway to developer enlightenment”, as he calls it. I have extracted his points here: Testing breeds confidence If you write tests before you write your code, you end up writing better code Well written tests are just as good, if not better than documentation TDD isn’t about writing tests,...
More great stuff on BDD
I have been doing some more reading on BDD, and I like it more and more, the more I read about it. I am working from my house today and Elin is getting a bit annoyed from every time I call out “Yes”, or when I am trying to explain how good this is. The main thing for me, right now, is that using the BDD-technique gives you a way to derive the requirements in a iterative and exploring way. And in the language of the experts (the ubiquitous language). I also is fond of the strict structure of a story and it’s scenario that Dan North describes in this article. Mainly because it gives you guidance in the process (“what is the next important thing the system doesn’t do”). Here are some other reasons from Mike Cohn Being strict and formal it also lends itself to automation, like these...
Pomodoro – being agile and focused on the individual level
I have been introduced to a new concept called
Technique. It’s a way to work in a very focused and lean way, on the
individual level (it can also be used for groups).
From what I’ve learned so far it seems very powerful and is something
that I sure will be reading more about, and try to use for myself. I
often have trouble to keep my focus on the task at hand and the Pomodoro
Technique seems like a great way of handling that.
Here are some resources that I found on the subject:
Pomodoro Technique in 5 minutes
Book from the inventor of Pomodoro, Francesco
Pomodoro Technique Illustrated
And finally a great lightning talk by
Nöteberg on the problems that Pomodoro sets out to solve. In Swedish
I am afraid…
Here is a longer (50 min) version of the same talk
Some great SOA – articles
I am preparing a talk on
SOA. That always scares me since it’s such a big
topic. Who among us would want to answer the question
“What is SOA?”
OK – in my preparations I found some great resources.
My new house-god
Dan North has
this fun and
easy to follow introduction.
A lot of different stuff on
a good starter. Here are some articles on
Enterprise service bus and
SOA Governance that I found useful as
Here is a really good discussion on why a common domain model is no good idea.
Booting from a VHD in Windows 7
OK – I have been playing around for a while with my Windows 7 and up to now I love it! It even got my old Dell Precision M70 (4 years old and as many kilos) to look good again. I am also trying to setup a lab environment for Visual Studio 2010 and TFS Server 2010 and found this great video and introduction on how to do that. However, since my system is slow and low on memory, it doesn’t play to well with running the whole thing (Windows 2008 Server, SQL Server 2008, TFS Server 2010 and Visual Studio 2010) in Virtual PC. So I was very happy when I found this post from Scott Hanselman. Here is an excellent video that shows you how it’s done. In short there is now support to boot from a VHD (Virtual Hard Drive) and even to create a VHD-file from...
I am back working
Sooo - the parental leave is now over. I have spent six months “not-working” and together with my son, Albert. It has been great but when looking back it seem like the time has passed very fast. OK - so now I am offically back in business. Well, by the way, let’s see if there is anything for me to do first. Otherwise I’ll be “free” for a little while longer. We’ll see. What I have done so far is just updated my CV. That’s always rewarding since it seems like you have done a lot of important work… And now I have put way to much time into installing Windows 7. I have had a real hard time to do it from a USB-stick. But here is a great a description on how to install Windows 7 from USB-stick. From that I’ll try to install Visual Studio 2010 and...