Monday, August 20, 2012

Laying it out: Onion Architecture

It's a fact, there is no Single Silver Bullet for every solution, but we can come damn close. Having the right architecture sets a solid foundation for any solution. When I say "architecture", I mean structuring the solution in a specific strategic way; with the aim to have the components (or layers) loosely coupled and tightly cohesive to the maximum extent possible keeping in mind the feasibility of the trade-off.

Project Management??

From a young age we all had big dreams of what we want to be when we grown up, some wanted to be firemen, police men, game rangers and some ladies wanted to be models - or the best one: Marry a rich man and spend his money.

Friday, August 17, 2012

RAID


RAID Types Explained

Below is a description of the different types of RAID that most commonly used in SAN storage arrays.

Thursday, August 16, 2012

NOLOCK!

Introduction

I see many developers writing SQL code and using NOLOCK as a "performance tool". I see NOLOCK spread liberally through scripts, applied to every single table as far as the eye can see. This technique is dangerous and I would like to share why.

Tuesday, August 7, 2012

Great or Successful: Lessons from the Olympic Games


This week's achievement of Michael Phelps at the 2012 London Olympic Games to surpass Larisa Latynina's record of a total of 18 medals in a Olympic career has made me think about how we determine success of information systems development (ISD)  projects.

Monday, August 6, 2012

Ghost Buster


Scenario:

A few months ago a client asked me to have a look at some of their scheduled tasks because they were running for more than 24 hours, and they should be running for less than 1 minute. We stop and restarted these tasks but they just kept on running. The SP_WHO2 procedure revealed that the tasks we BLOCKED by another task but this was a system task, “TASK MANAGER” that was accessing the “MSDB” system database. We’ve tried everything, from rebooting the server, trying to KILL the task etc. but were unsuccessful. The CPU usage was 100% all the time (even after restarting the server).

Friday, August 3, 2012

Modular JavaScript with RequireJs

"RequireJS is a JavaScript file and module loader"

While looking at some of the familiar namespacing patterns for JavaScript, I stumbled upon RequireJs.
Namespacing is essential in JavaScript to provide scope to your code in order to prevent conflicts with other variables, objects or functions with the same name that could have been loaded into the global namespace or scope.
There are no official namespaces in JavaScript but this can be achieved using objects and closures.