Search This Blog

Wednesday, June 30, 2010

Using Fluent NHibernate With Legacy Databases

link -> Using Fluent NHibernate With Legacy Databases

So lets talk about the relevant Fluent Nhibernate features:

  • Schema("viplookups.dbo");

The first item of interest is the Schema() method. The schema function tells NHibernate to pull this entity from a specified database. In my case this database exists on the same SQL Server. So I didn't need to try it on another server. If you have knowledge of this working on another server leave a comment here.

  • Table("bnkroute");

The next item of interest is the Table() method. This is pretty straight forward Fluent NHibernate and specifies the legacy table to pull your data from.

  • SchemaAction.None();

The next interesting feature is SchemaAction.None(). When developing our applications I have an integration test that is used to build all our default schema. I DONT want these table to be generated in our schema, they are external.  SchemaAction.None() tells NHibernate not to create this entity in the database.

So that's it. A simple combination of Fluent NHibernate features to access data from a legacy database properly.

I didn't know about the Schema and SchemaAction commands. Schema may help with the warehouse

Friday, June 25, 2010

Test-Driven Javascript

link -> Test-Driven Javascript

Test-Driven JavaScript

In this talk my goal was to demonstrate as real as possible what it would be like to Test Drive your JavaScript Development, and to help you see that there really isn’t any reason why not to develop in this manner. And because of that I did not rehearse the actual coding exercise till perfection. I mean I know it was possible to do what I wanted, but I wanted to show the whole thinking about what to do as well, not just paste in pieces of code. Because that would not have been anywhere close to actual development. So needless to say I ran in a few small issues, but thankfully nothing that I couldn’t solve and if anything this was as real as it gets. So I am happy with this one. You can see the Test-Driven JavaScript recording here and also all the other recordings from NDC2010 here (well they will be there shortly, amazing how many they already made available).

How do I get started?

So after you have seen the recording and gotten all excited about Test Driving your JavaScript Development but you don’t really know where to go from here. Here is a small list of recourses and stuff that have helped me.


If you have any questions, then please let me know, I am more then happy to help where I can.

Tried to watch video but download speed was really bad


link -> StoryQ
StoryQ is a portable (single dll), embedded BDD framework for .NET 3.5. It runs within your existing test runner and helps produce human-friendly test output (html or text). StoryQ's fluent interface adds strong typing, intellisense and documentation to your BDD grammar.
Another Given, When, Then test framework. Seems kind of weird to me at first

Bulk processing with NHibernate

link -> Bulk processing with NHibernate

On a recent project, much of the application integration is done through bulk, batch processing.  Lots of FTP shuffling, moving files around, and processing large CSV or XML files.  Everything worked great with our normal NHibernate usage, until recently when we had to process historical transactional data.

The basic problem is that we had to calculate historical customer order totals.  Normally, this would be rather easy to do with a SQL-level bulk update.  However, in our case, we had to process the items one-by-one, as each transaction could potentially trigger an event, “reward earned”.  And naturally, the rules for this trigger are much too complex to attempt to do in straight T-SQL.

This meant that we still had to run our historical feed through the domain model.

Cool multi-query thing I forgot about

Monday, June 21, 2010

Using FxCop: A Short Tutorial

link -> Using FxCop: A Short Tutorial
An in-depth tutorial on customizing Microsoft FxCop.
Pretty neat that it lets you write custom rules. For example don't pass repository our UnitOfWork in aggregate root

Wednesday, June 16, 2010 Project Statistics for NHibernate

link -> Project Statistics for NHibernate
Get NHibernate at Fast, secure and free downloads from the largest Open Source applications and software directory. .NET port of the excellent Java Hibernate which provides Object/Relational mapping to persist objects in a relational database.
Has all development stopped? 600 files this year compared to 6000 files in previous years

Dan Gilbert asks, Why are we happy? | Video on

link -> Dan Gilbert asks, Why are we happy? | Video on

Tuesday, June 15, 2010

Domain Language /Model Exploration Process

link -> Domain Language /Model Exploration Process
Draft of whitepaper EE is working on to describe how his company incorporates modeling into an agile process. Goes along with the video I shared earlier.

Eric Evans: Folding Design into an Agile Process

link -> Eric Evans: Folding Design into an Agile Process
The talk "Folding Design into an Agile Process" was originally given by Eric Evans at QCon London 2010. We recorded it at a meeting of DDD-NYC SIG in May of 2010, shortly after the conference.

This talk was originally presented by Eric Evans at QCon London 2010. The recording is made during a meetup of DDD-NYC SIG in May of 2010.


After a decade of heavy process, the Agile revolution of the late '90s threw off the dead hand of big upfront design. The bloody purge that followed was needed!

Click here to view Flash content.

I only got through the first 45 minutes but so far I like where he is going. He definitely describes some situations we have experienced ourselves.

Friday, June 11, 2010

Readability - An Arc90 Lab Experiment

link -> Readability - An Arc90 Lab Experiment
Readability is a simple tool that makes reading on the Web more enjoyable by removing the clutter around what you're reading.
Awesome bookmarklet. Gets rid of everything but the actual article you are reading

Tuesday, June 8, 2010

Finger on nose: how to make fast decisions « Scott Berkun

link -> Finger on nose: how to make fast decisions « Scott Berkun
There is an old adage in leadership circles: sometimes it doesn't matter what you decide, as long as you decide quickly and take action. Standing in front of an
Funny way of playing "Not it"

Thursday, June 3, 2010

Rietveld, or “How to revamp your code review process”

link -> Rietveld, or “How to revamp your code review process”

For me, code reviews have traditionally been one of those aspects of software development that fall into the “good idea; bad execution” category. It’s something that I know we’re supposed to do but when someone says, “let’s do a code review”, my first reaction is usually to make a cross with my fingers and start yelling “THE POWER OF CHRIST COMPELS YOU!” at them.

code reviews without meetings, uses software to track comments on revision diffs

YouTube - RSA Animate - Drive: The surprising truth about what motivates us

link -> YouTube - RSA Animate - Drive: The surprising truth about what motivates us
Please Please Watch this one. This explains really well why we need our team to be self organizing and why we can't let the command and control norm to continue. Plus the drawings our cool and fun.

Wednesday, June 2, 2010

C#5 and Meta-Programming

link -> C#5 and Meta-Programming
We've been extremely busy the last months in order to have a well polished release of NDepend v3 completely integrated in VS 2010, 2008 and 2005.

Now, having NDepend as a companion in all my VS instances makes each of my programming day bright Smile. But it is already time to think about what's next. We have tons of plans and you are welcome to publish all your secret wishes for NDepend vNext in the comment of this post.

eval c# sweet