NHibernate in Action

Last week i received my copy of NHibernate in Action. This book provides much more than the typical examples you find in the product documentation like architectural guidance on the application of O/R Mapping. Even with my Hibernate experience i found some interesting insights in the NHibernate features. This book is most certainly recommended!

JavaScript: The Good Parts

This week i have been reading JavaScript: The Good Parts. Although the book is pretty thin, approximitaly. 150 pages, the information that is inside the book is really powerful. The book provides deep insight for people that are considering to implement functionality in JavaScript. I would say that this is a must read.

Here is an example of something that i learned from the book (A workaround for an error in the ECMAScript Language Specification which causes this to be set incorrectly for inner functions):

[code lang=”javascript”]function Broken(name) {
this.name = name;
function GetName() { return this.name; }
this.Display = function() { alert(GetName()); }

new Broken(“broken”).Display(); // displays ‘undefined'[/code]


[code lang=”javascript”]function Fixed(name) {
var that = this;
this.name = name;

function GetName() { return that.name; }
this.Display = function() { alert(GetName()); }

new Fixed(“fixed”).Display(); // displays ‘fixed'[/code]

Non-Designer's Design Book

A couple of weeks ago the Non-Designer’s Design Book was mentionned in some podcast i was listening to and i decided to give it a read. The author has stuffed the color printed book with examples describing the four basic design principles:

  1. Contrast: The idea behind contrast is to avoid elements on the page that are merely similar. If the elements (type, color, size, line thickness, shape, space, etc.) are not the same, then make them very different. Contrast is often the most important visual attraction on a page.
  2. Repetition: Repeat visual elements of the design throughout the piece. You can repeat color, shape, texture, spatial relationships, line thicknesses, sizes, etc. This helps develop the organization and strengthens the unity.
  3. Alignment: Nothing should be placed on the page arbitrarily. Every element should have some visual connection with another element on the page. This creates a clean, sophisticated, fresh look.
  4. Proximity: Items relating to each other should be grouped close together. When several items are in close proximity to each other, they become one visual unit rather than several separate units. This helps organize information and reduces clutter.

Microsoft .NET: Architecting Applications for the Enterprise

Earlier this month i have read Microsoft .NET: Architecting Applications for the Enterprise. This time i was pretty pleased to notice that the author, Dino Esposito, did not fill the book with references to other books written by him. All in all the book painted a pretty accurate picture of enterprise application development that is obviously inspired by masterworks like: Design Patterns: Elements of Reusable Object-Oriented Software, Patterns of Enterprise Application Architecture and Domain-Driven Design: Tackling Complexity in the Heart of Software.

One remark though: I was a bit disappointed to see that the examples of unit tests used MSTEST. Why? Because it is such a broken product i find it hard to believe that for serious enterprise application development this library is actually usable.