Tuesday, July 31, 2012

Basic Principles of Design

Even if you're creating a basic, Windows Forms based software solution for a financial institute's back office - even those poor users definitely deserve a well rounded user experience. Here are some basic design principles to get you thinking about why some screens look great and others don't.

Try and incorporate at least the last three - Layout, Composition, and Communication in your next screen design.

Design Principles - What you need to know

Till next time - Ciao

Wednesday, July 25, 2012

Tests with a Twist

Test Driven Development (TDD) plays a big part in our modern day development life-cycle as it allows us to write stabler code more efficiently. The idea behind it is to create an automated testing environment for the optimal continuous integration process.

"Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: first the developer writes a failing automated test case that defines a desired improvement or new function, then produces code to pass that test and finally refactors the new code to acceptable standards. Kent Beck, who is credited with having developed or 'rediscovered' the technique, stated in 2003 that TDD encourages simple designs and inspires confidence." - Beck, K. Test-Driven Development by Example

The concept of  'Test-first then Code' keeps us developing code in-line with the required use-case, having the code solve the test and the test (when passed)  guarantees a rock solid solution for it.

Monday, July 23, 2012

Tools of the trade

So after spending the entire week cursing not so softly to myself about having to make a blog contribution and not really having a clue what I should blog about, it dawned on me.  For most of this week the entire point of this blog has alluded me. It’s only after reading Anél Marais blog contribution that I realized that this is a great way for us to share lessons that we have learnt out in the field with our peers.

So with that in mind I would like to expand on Anél's blog contribution on sp_who2 with another tool that I use myself for monitoring called sp_WhoIsActive

Generally when one is confronted with a question that goes along the lines of “Why is the server slow???” the first port of call generally is the system stored procedure sp_who2. 

Anyone that has ever used sp_who2 will be well aware of its limitations, such as having to sift through a bunch of irrelevant processes to find what you are looking for or  having to issue another command just to find the query text for a given spid.

Thursday, July 19, 2012

More or Less

Ever wish you could do more with css by writing less repetitive styles?

Introducing less: “The dynamic stylesheet language.”

In summary, by using less you can focus on writing styles in one place and reusing them where needed, even conditional styles which ultimately just compile back to native css.

Fun, Games & Physics


Have you ever wondered how to write a computer game and how does one handle the complex physics behind a game.

Well, Farseer Physics Engine makes game development simple.

Farseer Physics Engine

Farseer Physics Engine is a collision detection and Physics engine written for Windows Platforms which gives you realistic physics responses.

Farseer allows you to write realistic physics games in C# for Silverlight, XNA, Windows Phones, WPF ect.

Thursday, July 5, 2012

Honey I Shrunk The Database

As a developer or a dba you may in your life have to shrink the log file of a database or you will have to shrink the database, because the server that the database is on is running low on space.
The syntax for a shrink statement is:

( database_name | database_id | 0
     [ , target_percent ]  *
[ WITH NO_INFOMSGS ]              

*For more information about how the target_percent or any of the relevant areas of the shrink database query works, reference the following link:

Tuesday, July 3, 2012

Thou shalt comment thine code

One the most difficult things to do as a developer or DBA is to attempt to understand someone else’s code no matter what programming language or database is being employed. As a former developer myself, I must admit outright that commenting my code used to be one of the last things on my mind when producing a functional module. Commenting code is like eating a healthy balanced diet, you know you should do it, but who needs the hassle? What I’ve discovered though is very often I would attempt to look at code I myself wrote long ago and the logic would be difficult even for me to follow. Most of the time I’d be asking myself “Why did I not comment this?”.  To this end I began employing a methodology for ensuring I included comments in my code, instead of viewing comments as a last step or a nice-to-have I’ve attempted to make it as part of the process I use when coding.