Thursday, August 30, 2012

SQL Server 2012: Restore Fails With Deadlock

We had an interesting situtation at a client where we could not restore a SQL Server 2008 R2 backup onto SQL Server 2012. The restore would fail at 100% with a deadlock.

Logging made simple

This may be old news for most, but for those of you who have not used log4net, this could be quite beneficial…

Monday, August 27, 2012

Isolation Levels

As a follow up to my NOLOCK blog I thought it would be a good idea to discuss the five different isolation levels in SQL Server. These are as follows:

Wednesday, August 22, 2012

Blogging Guidelines For Dummies

As I have come to learn in the past few months, the hardest part of a Blog is finding a topic that inspires not only yourself, but will also draw in readers from a variety of backgrounds in the related area of the Blog... For instance, if your area of Blogging is based on a Rugby crowd the biggest mistake you can make is to Blog about The Beautiful Game (Soccer).

Tuesday, August 21, 2012


How The FOS team has changed in the past few months- Using agile

I would like to share my experience that I have had on the FOS team in the past couple of years, and how things changed in the past few months when we adapted to agile mythology.

In April 2011 was a very stressfull month for our team, we were all stressed out, under pressure and working long hours. Each member of the team were busy in their own “world” ; trying to get their tasks completed in time, which lead to poor quality development and where most of the time work to be re-done and at time not even tested by our tester before it was release to the client,  because of all the rush and deadlines. This all happening, making the client frustrated in the process.

Now if I compare what the team is today and what we were last year April, we have changed as a TEAM – we have grown as a team and adapted well with Agile.

I believe Agile has helped us in the following ways:

1.)    Communication
-          Between the team and the client
-          Stand Ups (Being aware of what our team mates are busy with)
2.)    Weekly Release
-          This is a great opportunity for the client to see progress and change     requirement if necessary in time and not when task is fully completed where it requires the developer to re-do his/her work.
3.)    More awareness/ Visibility
4.)    Transparency to client and team
5.)    Planning  & Organizing

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 Types Explained

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

Thursday, August 16, 2012



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


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.