I came across an interesting set of principles that you might want to keep in mind the next time you set out to design an application, a website, or even improve your daily life. They are The Laws of Simplicity and were conceived by John Maeda, an artist and noted computer scientist from the MIT Media Lab. He compiled them in a short, 100-page book (and posted them on his website as well). I found them in a back issue of Wired magazine, in an article that applied them in a critique some new gadget. I have since found that they increasingly influence my own analysis of UIs and websites, and occassionally use them as the basis for discussions with clients to keep a design session on track.
The Laws are:
1. Reduce - The simplest way to achieve simplicity is through thoughtful reduction of functionality.
2. Organize - Organization makes a system of many appear fewer.
3. Time - Savings in time feel like simplicity.
4. Learn - Knowledge makes everything simpler.
5. Differences - Simplicity and complexity need each other.
6. Context - What lies in the periphery of simplicity is de?nitely not peripheral.
7. Emotion - More emotions are better than less.
8. Trust - In simplicity we trust.
9. Failure - Some things can never be made simple.
10. The One - Simplicity is about subtracting the obvious, and adding the meaningful.
You can find a more detailed explanation of each law on his site
www.petermorano.com
At one time or another, we will all find ourselves trying to remember the sa password. Now, thanks to Rodney Landrum's article and the sp_help_revlogin stored procedure, there is an easy way to deal with this.
You can find his article here
www.petermorano.com
I recently came across a situation where I needed to pass the Microsoft Data Access Application Blocks a dynamic connection string. Out of the box, the DAAB does not support this.
Solution: Create a simple method that accepts a connection string and return a Database object.
Code Before:Database db = DatabaseFactory.CreateDatabase();Code After:Database db = CustomDatabaseFactory.CreateDatabase(connstring);Class Code:1using System;
2using System.Collections.Generic;
3using System.Data.Common;
4using System.Text;
5using Microsoft.Practices.EnterpriseLibrary.Data;
6namespace Satisfyd.DataAccessLayer
7{
8//This class is used to dynamically set the connection string
9//while using the Microsoft Data Application Blocks
10publicstaticclass CustomDatabaseFactory
11 {
12staticreadonly DbProviderFactory dbProviderFactory =
13 DbProviderFactories.GetFactory("System.Data.SqlClient");
1415publicstatic Database CreateDatabase(string connectionString)
16 {
17returnnew GenericDatabase(connectionString, dbProviderFactory);
18 }
19 }
20}