Monday, December 15, 2008

SQL Server 2005 Service Pack 3 has been released

Service Pack 3 for Microsoft SQL Server 2005 is now available. SQL Server 2005 service packs are cumulative, and this service pack upgrades all service levels of SQL Server 2005 to SP3. You can use these packages to upgrade any of the following SQL Server 2005 editions:

* Enterprise
* Enterprise Evaluation
* Developer
* Standard
* Workgroup

Note: To upgrade SQL Server 2005 Express Edition, obtain the SP3 version of Express Edition or Express Edition with Advanced Services.

Download SQL Server 2005 Service Pack 3 here:

Thursday, December 11, 2008

CHESS: An Automated Concurrency Testing Tool

CHESS is an automated tool from Microsoft Research for finding errors in multithreaded software by systematic exploration of thread schedules. It finds errors, such as data-races, deadlocks, hangs, and data-corruption induced access violations, that are extremely hard to find with current testing tools. Once CHESS locates an error, it provides a fully repeatable execution of the program leading to the error, thus greatly aiding the debugging process. In addition, CHESS provides a valuable and novel notion of test coverage suitable for multithreaded programs. CHESS can use existing concurrent test cases and is therefore easy to deploy. Both developers and testers should find CHESS useful.

The Ten Most Asked SQL Server Questions And Their Answers

Check out this blogpost titled The Ten Most Asked SQL Server Questions And Their Answers

Here is what is in that post

1) Selecting all the values from a table for a particular date
2) Search all columns in all the tables in a database for a specific value
3) Splitting string values
4) Select all rows from one table that don't exist in another table
5) Getting all rows from one table and only the latest from the child table
6) Getting all characters until a specific character
7) Return all rows with NULL values in a column
8) Row values to column (PIVOT)
9) Pad or remove leading zeroes from numbers
10) Concatenate Values From Multiple Rows Into One Column

So check it out here: The Ten Most Asked SQL Server Questions And Their Answers

Monday, November 10, 2008

Visual Studio 2010 and the .NET Framework 4.0 Week, 12 videos on Channel 9

Visual Studio 2010 and the .NET Framework 4.0 Week, 12 videos on Channel 9

The week of November 10th is Visual Studio 2010 and the .NET Framework 4.0 week on Channel 9! They will have 12 videos going live this week featuring interviews with various members of the Visual Studio and the .NET Framework product teams, including several screencast demonstrations of the latest bits.

Stay tuned to for all of the action. Here's the lineup:

Monday, November 10th:
- Visual Studio 2010 Overview with Jason Zander

Languages Day (Tuesday, November 11th):
- C# 4.0 Implementation and Design Questions
- VB 10
- C++ 10: 10 is the new 6

The IDE (Wednesday, November 12th):
- Being Code-Focused with Visual Studio 2010
- Test-Driven Development and Visual Studio 2010

Concurrency and Parallelism (Thursday, November 13th):
- Parallel Extensions in the .NET Framework 4.0
- Parallel Patterns Library (Native Parallelism)
- Parallel Debugging Tools in Visual Studio 2010

Web Tools (Friday, October 3rd):??? (probably a typo)
- Sharepoint Development with Visual Studio 2010
- Web Development and Deployment with Visual Studio 2010

Monday, October 27, 2008

Microsoft Announce The Azure Services Platform

The Azure Services Platform is in CTP right now, here are some details about the Azure Services Platform:

What is the Azure Services Platform?
The Azure Services Platform (Azure) is an internet-scale cloud services platform hosted in Microsoft data centers, which provides an operating system and a set of developer services that can be used individually or together. Azure’s flexible and interoperable platform can be used to build new applications to run from the cloud or enhance existing applications with cloud-based capabilities. Its open architecture gives developers the choice to build web applications, applications running on connected devices, PCs, servers, or hybrid solutions offering the best of online and on-premises.

Azure reduces the need for up-front technology purchases, and it enables developers to quickly and easily create applications running in the cloud by using their existing skills with the Microsoft Visual Studio development environment and the Microsoft .NET Framework. In addition to managed code languages supported by .NET, Azure will support more programming languages and development environments in the near future. Azure simplifies maintaining and operating applications by providing on-demand compute and storage to host, scale, and manage web and connected applications. Infrastructure management is automated with a platform that is designed for high availability and dynamic scaling to match usage needs with the option of a pay-as-you-go pricing model. Azure provides an open, standards-based and interoperable environment with support for multiple internet protocols, including HTTP, REST, SOAP, and XML.

Microsoft also offers cloud applications ready for consumption by customers such as Windows Live™, Microsoft Dynamics™, and other Microsoft Online Services for business such as Microsoft Exchange Online and SharePoint® Online. The Azure Services Platform lets developers provide their own unique customer offerings by offering the foundational components of compute, storage, and building block services to author and compose applications in the cloud.

Windows Azure

Windows® Azure is a cloud services operating system that serves as the development, service hosting and service management environment for the Azure Services Platform. Windows Azure provides developers with on-demand compute and storage to host, scale, and manage internet or cloud applications. Windows Azure supports a consistent development experience through its integration with Visual Studio. In the early stages of CTP, .NET managed applications built using Visual Studio will be supported. Windows Azure is an open platform that will support both Microsoft and non-Microsoft languages and environments. Windows Azure welcomes third party tools and languages such as Eclipse, Ruby, PHP, and Python.

Learn more about Windows Azure.

Live Services

Live Services is a set of building blocks within the Azure Services Platform for handling user data and application resources. Live Services provides developers with an easy on-ramp to build rich social applications and experiences, across a range of digital devices that can connect with one of the largest audiences on the Web.

Learn more about Live Services

Microsoft SQL Services

Microsoft SQL Services extends the capabilities of Microsoft SQL Server into the cloud as a Web-based, distributed relational database. It provides Web services that enable relational queries, search, and data synchronization with mobile users, remote offices and business partners. It can store and retrieve structured, semi-structured, and unstructured data.

Learn more about SQL Services

Microsoft .NET Services

Microsoft .NET Services make developing loosely coupled cloud-based applications easier. .NET Services includes access control to help secure your applications, a service bus for communicating across applications and services, and hosted workflow execution. These hosted services allow you to easily create federated applications that span from on-premises environments to the cloud.

Learn more about .NET Services

Microsoft® SharePoint® Services & Dynamics® CRM Services

In the future, developers will have access to SharePoint & CRM functionality for collaboration and building stronger customer relationships. With the flexibility to use familiar developer tools like Visual Studio, developers will be able to rapidly build applications that utilize SharePoint and CRM capabilities as developer services for their own applications. Developers can expect a breadth of SharePoint & CRM capabilities across the spectrum of on-premises, online & the Azure Services Platform.

Register for the Azure Services Platform here:

Sunday, October 26, 2008

New .NET Logo

New .NET Logo

.NET Logo

Wednesday, October 15, 2008

New Transactional Memory Blog On MSDN

There is a Transactional Memory Blog On MSDN.

Here is an excerpt

If you have been using the Parallel Extension CTP or simply writing multi-threaded code yourself, you probably have run into situations where you needed to share data between multiple threads. So long as the data is read-only, this isn’t a problem, but what about mutating data?

The easy answer is to use a lock. There are a lot of blog entries and white papers talking about how to use locks correctly, how to avoid deadlocks, or what are the best locks for the particular scenario, or even how to correctly write lock-free code. You could read all of these and still run into trouble using locks. You see, the problem isn’t sharing one piece of data; it’s when you are sharing multiple pieces of data – for instance data that has a complex schema involving multiple complex objects such as trees or lists.

So, locks are a basic tool in your arsenal. From the simple lock, you can build synchronization mechanisms that hopefully protect your data, correctly, and don’t impact your scalability.

Ah, I hear you sigh. Yes, hope is eternal, software has bugs and multithreaded software has race conditions, deadlocks, and scalability problems. Why? Well, because many find it is hard and fraught with peril to correctly use anything more than a single lock or at most some really small set of course-grained locks. As code matures, locking hierarchies to provide fine-grained-locking often morph from elegant to clumsy. You may also find that as your project grows, lock depth blossoms, unnecessarily, or alternatively race conditions are introduced simply because programmers were unaware that it necessary to lock a specific resource. The end result is code that simply doesn’t scale or your application’s reliability plummets without some of your best and brightest spending time tuning, fixing, “right-sizing” and eliminating locks. Even after all that work, are you confident that your code is bug-free? Do race conditions exist in it?

Subscribe to this blog here:

Friday, October 10, 2008

Microsoft Announces Conference Call With Scott Guthrie

Microsoft Corp. will hold a teleconference with Scott Guthrie, corporate vice president of the .NET Developer Division at Microsoft. Guthrie will make a significant announcement related to Microsoft Silverlight. A recording of the call and additional information will be available for 30 days on the Microsoft Silverlight PressPass Web site:

Monday, Oct. 13, 2008, at 9 a.m. PDT
Special Instructions:
Participants will need to speak the passcode “Silverlight” when prompted after dialing into the call.

Domestic participants: 888-617-1526

International participants:
Argentina: 0800-777-0466
Australia: 1-800-098-380
Austria: 0800-677-286
Belgium: 0800-4-9718
Brazil: 0800-8911991
Chile: 1230-020-0323
China: 10800-712-1296 or 10800-120-1296
Colombia: 01800-9-156436
Czech Republic: 800-700-224
Denmark: 8088-5430
Finland: 0-800-1-12828
France: 080-510-0983
Germany: 0800-12-6809
Greece: 00800-12-6809
Hong Kong: 800-908-208
Hungary: 06-800-17568
India: 000-800-852-1228
Indonesia: 001-803-011-3651
Ireland: 1800-932-053
Israel: 1-80-9214710
Italy: 800-906-460
Japan: 0034-800-400651
Malaysia: 1-800-81-2060
Mexico: 001-866-839-3438
Netherlands: 0800-343-4364
New Zealand: 0800-441-333
Norway: 800-11118
Panama: 011-001-800-5072132
Poland: 00-800-1211774
Portugal: 8008-60134
Russia: 8-10-8002-0074011
Singapore: 800-120-4247
South Africa: 080-09-92283
South Korea: 00798-14800-6607
Spain: 800-099-387
Sweden: 0200-893-409
Switzerland: 0800-001-214
Taiwan: 00801-137-661
Thailand: 001-800-1206-65426
United Kingdom: 0800-279-9630
Uruguay: 000-413-598-3416
Venezuela: 0800-1-00-3211

Thursday, October 9, 2008

Nice collection of VB.NET Programming Hacks

A nice collection of VB.NET Programming Hacks

Here is what is available

* Aliassing a namespace
* Memory usage for all processes
* Get the commandline parameters
* Get the computername
* Getting text from the clipboard
* Saving text on the clipboard
* Getting the freespace on a drive
* Getting memoryusage of one process
* Get the total space used by a drive
* Path to UNC
* Impersonating an administrator
* Programaticaly changing the Ignore addresses in the proxy settings

* Use StringBuilder to concatenate strings

* Add day, month, year to date
* Add time to a date (hours, minutes, seconds)
* Substract Time from a date (hours, minutes, seconds)
* Substract from a date (days, months, years)
* What day of the week is a certain date
* Is this year a leapyear?
* Difference in days between 2 dates

* Use commandparameters instead of string concatenation

* Opening a form on a specified monitor
* Show a form in a form
* Open a form as modal
* Open a form
* Hide a form on closing

Friday, October 3, 2008

Help me win this bet

You might know that some friends and myself have launched a site named LessThanDot, this is a site where users can collaborate via the wiki, ask questions in the fora and can read out blogs. It is a technical site but we do have a forum where you can post pretty much anything you want(not vulgar or offensive). Here are some examples
The Rage of the Previously Rich
We're In Ur Bank, Bailing It Out
Girls Habanero Eating Contest

Of course we do have our technical forums, some examples
Microsoft SQL Server
Tech Rants

So I made a bet with the other owners of this site that I will have the most people sign up until November 1st. So please sign up and let your coworkers/friends know and let them sign up too, after all you don't want me to lose or do you?

Don't be scared to participate in the forums :-)

My username is SQLDenis

Sunday, September 28, 2008

jQuery to ship with ASP.NET MVC and Visual Studio!

jQuery to ship with ASP.NET MVC and Visual Studio! (intellisense FTW)

Microsoft is looking to make jQuery part of their official development platform. Their JavaScript offering today includes the ASP.NET Ajax Framework and they’re looking to expand it with the use of jQuery. This means that jQuery will be distributed with Visual Studio (which will include jQuery intellisense, snippets, examples, and documentation).

Additionally Microsoft will be developing additional controls, or widgets, to run on top of jQuery that will be easily deployable within your .NET applications. jQuery helpers will also be included in the server-side portion of .NET development (in addition to the existing helpers) providing complementary functions to existing ASP.NET AJAX capabilities.
and here

Monday, September 22, 2008

Interview With Louis Davidson Author of Pro SQL Server 2008 Relational Database Design and Implementation

I interviewed Louis Davidson in 2005 about the 2005 edition of his book. I did another one today about Pro SQL Server 2008 Relational Database Design and Implementation. You can check out the interview at the link below, you will enjoy it

Interview With Louis Davidson Author of Pro SQL Server 2008 Relational Database Design and Implementation

And remember if you have any SQL Server related questions, you can ask them in the SQL Server Programming Forum

Saturday, August 30, 2008

Microsoft F#, September 2008 Community Technology Preview Available For Download

Microsoft F#, September 2008 Community Technology Preview Available For Download

The F# September 2008 CTP provides all the tools and resources needed to develop applications with the F# programming language.

F# is a functional programming language for the .NET Framework. It combines the succinct, expressive and compositional style of functional programming with the runtime, libraries, interoperability, and object model of .NET.

F# is well suited to a spectrum of development tasks - from interactive, explorative scripting to component and large-scale software development. The CTP release of F# provides further support for explorative development using F#, as well as improved Visual Studio integration to enable large-scale, tool-based software development.

Download the F# CTP here:

Friday, August 29, 2008

ASP.NET MVC Preview 5 Released

ASP.NET MVC Preview 5 Released

This ASP.NET MVC CodePlex Preview 5 is an interim release that contains some new features and some feature improvements for which the ASP.NET MVC team would like to receive feedback from the community

Get it here:

Thursday, August 14, 2008

Microsoft launches Windows 7 blog

Microsoft launches Windows 7 blog :

Welcome to our first post on a new blog from Microsoft—the Engineering Windows 7 blog, or E7 for short. E7 is hosted by the two senior engineering managers for the Windows 7 product, Jon DeVaan and Steven Sinofsky. Jon and Steven, along with members of the engineering team will post, comment, and participate in this blog.

Beginning with this post together we are going to start looking forward towards the “Windows 7” project. We know there are tons of questions about the specifics of the project and strong desire to know what’s in store for the next major release of Windows. Believe us, we are just as excited to start talking about the release. Over the past 18 months since Windows Vista’s broad availability, the team has been hard at work creating the next Windows product.

The audience of enthusiasts, bloggers, and those that are the most passionate about Windows represent the folks we are dedicating this blog to. With this blog we’re opening up a two-way discussion about how we are making Windows 7. Windows has all the challenges of every large scale software project—picking features, designing them, developing them, and delivering them with high quality. Windows has an added challenge of doing so for an extraordinarily diverse set of customers. As a team and as individuals on the team we continue to be humbled by this responsibility.

Read the rest of the post and subscribe here:

Wednesday, August 6, 2008

Visual Studio 2008 SP1 Coming August 11th, SQL Server 2008 is RTM

SQL Server 2008 was released today, here is the press release:

Visual Studio 2008 SP1 will be released August 11th

Sunday, July 20, 2008

Microsoft Visual Studio Team System 2008 Database Edition GDR July CTP Released

Microsoft® Visual Studio Team System 2008 Database Edition GDR July CTP is available for download

In addition to providing support for SQL Server 2008 database projects, this release incorporates many previously released Power Tools as well as several new features. The new features include distinct Build and Deploy phases, Static Code Analysis and improved integration with SQL CLR projects.

Database Edition no longer requires a Design Database. Therefore, it is no longer necessary to install an instance of SQL Express or SQL Server prior to using Database Edition.

Download it here: ... laylang=en

Thursday, July 17, 2008

44 Amazing Silverlight 2.0 Screencasts

Mike Taulty recently uploaded and amazing collection of Silverlight 2.0 screencasts on how Silverlight works, controls, File IO, networking, UI design, data-binding, interacting with HTML pages, and more. If you want to learn about Silverlight, this set of screencasts should definitely help!

1. Silverlight - Hello World
2. Silverlight - Anatomy of an Application
3. Silverlight - The VS Environment
4. Silverlight - Content Controls
5. Silverlight - Built-In Controls
6. Silverlight - Width, Height, Margins, Padding, Alignment
7. Silverlight - Using a GridSplitter
8. Silverlight - Grid Layout
9. Silverlight - StackPanel Layout
10. Silverlight - Canvas Layout
11. Silverlight - Databinding UI to .NET Classes
12. Silverlight - Simple Styles
13. Silverlight - Custom Types in XAML
14. Silverlight - Binding with Conversion
15. Silverlight - List Based Data Binding
16. Silverlight - Simple User Control
17. Silverlight - Templating a Button
18. Silverlight - Resources from XAP/DLL/Site Of Origin
19. Silverlight - Animations & Storyboards
20. Silverlight - Uploads with WebClient
21. Silverlight - Downloads with WebClient
22. Silverlight - Calling HTTPS Web Services
23. Silverlight - Calling Web Services
24. Silverlight - Making Cross Domain Requests
25. Silverlight - Using HttpWebRequest
26. Silverlight - File Dialogs and User Files
27. Silverlight - Using Sockets
28. Silverlight - Using Isolated Storage
29. Silverlight - .NET Code Modifying HTML
30. Silverlight - Using Isolated Storage Quotas
31. Silverlight - Calling JavaScript from .NET
32. Silverlight - Evaluating JavaScript from .NET Code
33. Silverlight - Handling HTML Events in .NET Code
34. Silverlight - Handling .NET Events in JavaScript
35. Silverlight - Calling .NET from JavaScript
36. Silverlight - Displaying a Custom Splash Screen
37. Silverlight - Passing Parameters from your Web Page
38. Silverlight - Loading Media at Runtime
39. Silverlight - Dynamically Loading Assemblies/Code
40. Silverlight - Reading/Writing XML
41. Silverlight - Multiple Threads with BackgroundWorker
42. Silverlight - Insert/Update/Delete with the DataGrid
43. Silverlight - Getting Started with the DataGrid
44. Silverlight - Embedding Custom Fonts

Get it all here:

Wednesday, July 2, 2008

Awesome Collection Of ASP.NET Hacks, Tips and Tricks

We added a bunch of ASP.NET Hacks, Tips and Tricks , below is the full list


* ASP.NET: Environment Details
* ASP.NET: Encrypt your applications settings
* ASP.NET: Launch an external application
* ASP.NET: Display Version Information


* ASP.NET: Clear all Cached objects
* ASP.NET: Data Caching


* ASP.NET: Access Master Page controls from the Content Page
* ASP.NET: Maintain an entered password in a TextBox
* ASP.NET: Apply a Please Wait message to a Button
* ASP.NET: Clear all TextBox values
* ASP.NET: Creating an accessible label
* ASP.NET: Add dynamic controls with events
* ASP.NET: Get a list of all selected items in a CheckBoxList
* ASP.NET: Find which control caused a postback
* ASP.NET: Limit selections for the Calendar
* ASP.NET: Add a confirmation popup to a Button
* ASP.NET: Insert a ListItem into a DropDownList
* ASP.NET: Add paging to a repeater
* ASP.NET: Append client side functions with Attributes.Add
* ASP.NET: Add a total row to a GridView
* ASP.NET: How to export a GridView to Excel
* ASP.NET: Render a control to a string


* ASP.NET: Convert a DataSet to a DataView
* ASP.NET: Extract data from a SQLDataSource to a DataTable
* ASP.NET: Insert data into SQL Server
* ASP.NET: Loop through data in a DataTable
* ASP.NET: Loop through data using a DataReader
* ASP.NET: Storing connection strings in the web.config file


* ASP.NET: Calculate a person's age from their date of birth
* ASP.NET: Calculate the difference between two dates
* ASP.NET: Simple date and time methods


* ASP.NET: Enabling page tracing
* ASP.NET: Simple debugging tips


* ASP.NET: Send an email


* ASP.NET: Encrypt a string using MD5


* ASP.NET: Files and Path information
* ASP.NET: Rename a directory
* ASP.NET: Reference files with relative paths
* ASP.NET: Read and display a text file


* ASP.NET: How to crop an Image
* ASP.NET: How to save a remote image
* ASP.NET: Drawing images and bar charts with System.Drawing


* ASP.NET: Register a javascript function

Objects and Classes

* ASP.NET: Accessing the Response object in a Class
* ASP.NET: An introduction to classes and properties
* ASP.NET: Looping using an Enumerator
* ASP.NET: Use Response.Filter to intercept your HTML
* ASP.NET: Use C Sharp and VB.NET in the same project
* ASP.NET: Using Generics to create a property list


* ASP.NET: Change the current Master Page
* ASP.NET: Nested Master Pages


* ASP.NET: Redirect the page when the session ends


* ASP.NET: Filter words
* ASP.NET: Remove the last character from a string
* ASP.NET: Reverse a string
* ASP.NET: String Concatenation
* ASP.NET: Strip HTML tags from a string
* ASP.NET: Truncate a string to a set number of whole words


* ASP.NET: Using Page.IsValid

Visual Studio

* ASP.NET: Changing the default browser
* ASP.NET: Keyboard Shortcuts
* ASP.NET: Using a task list


* ASP.NET: Access the web via a proxy server
* ASP.NET: Convert HTML tables to a DataSet
* ASP.NET: Retrieve data from a web page
* ASP.NET: Create an RSS Feed
* ASP.NET: Custom Error Pages
* ASP.NET: Find out where a visitor came from
* ASP.NET: Using an AppOffline.htm file for updates
* ASP.NET: XHTML Strict Validation

The URL to these hacks is here:

Bookmark that URL because we will be adding more hacks, tips and tricks

Interview With SSIS Guru Jamie Thomson

As promised yesterday, here is the link to the interview I did with jamie Thomson: Interview With SSIS Guru Jamie Thomson

Tuesday, July 1, 2008

I tried to keep it a secret but it is all over the internet: I am a SQL Server MVP

So all over the internet is exaggerated, I became a SQL Server MVP today and was not going to do a blog post about it. However some other people had other ideas

Congratulations, Denis!
SQL Server MVP - Denis Gobo

and even an announcement on lessthandot

My profile is here:

Stay tuned, I will have an interview with Jamie Thomson tomorrow

Thursday, June 26, 2008

Working On SQL Admin Hacks, Tips and Tricks

I haven't posted for a while because I have been working on SQL Admin Hacks, Tips and Tricks lately. it is still a work in progress but below is what is on the wiki currently. It is not yet categorized but we will do that once we get more of these hacks done. To see what it will look like when it is done take a look at the SQL Server Programming Hacks

Can you think of any admin stuff you would like to see? This is what we have right now

Find Primary Keys and Columns Used in SQL Server
Get The Domain Name Of Your SQL Server Machine With T-SQL
Grant Execute/SELECT Permissions For All User Defined Functions To A User
Grant Execute Permissions For All Stored Procedures To A User
Kill All Active Connections To A Database
SQL Server 2008: When Was The Server Last Started?
Check If Auto Update Statistics Is Enabled By Using DATABASEPROPERTY
Three Way To List All Databases On Your Server
Generate A List Of Object Types By Using OBJECTPROPERTY
How to find all the tables and views in a database
Find Out Server Roles For a SQL Server Login
Which Service Pack Is Installed On My SQL Server
Test SQL Server Login Permissions With SETUSER
Login failed for user 'sa'. Reason: Not associated with a trusted SQL Server connection. SQL 2000
Login failed for user 'sa'. Reason: Not associated with a trusted SQL Server connection. SQL 2005
Compare Tables With Tablediff
Find All Tables Without Triggers In SQL Server
Find All Tables With Triggers In SQL Server
Create Stored Procedures That Run At SQL Server Startup
Cycle The SQL Server Error Log
How to read sql server error messages
Use OBJECT_DEFINITION To Track SQL Server Stored Procedure Changes
SQL Compare Without The Price Tag
How To Get The Database Name For The Current User Process
How To Find Out Which Columns Have Defaults And What Those Default Values Are
Fixing Cannot add, update, or delete a job that originated from an MSX Server Error after renaming a server

Tuesday, June 10, 2008

SQL Server 2008 Release Candidate 0 Available To The General Public For Download

SQL Server 2008 Release Candidate 0 has been made available to the general public.

There are 2 versions (and 3 flavors of each) ISO or DVD

Download it here:

Don't forget to also visit the SQL Server 2008 Release Candidate 0 connect site here:

Sunday, June 1, 2008

Less Than Dot A New community Site Has Been Launched

Myself and a bunch of friends have been working on Less Than Dot for a while now. The site has a forum, blogs and a wiki. More info why we started Less Than Dot and who we are can be found here:

Since I am mostly a SQL guy, I wrote a collection of SQL Server hacks. This collection of SQL hacks is available on the Wiki, right now we have 8 sections and between 70 and 80 hacks. Ideally we will have more hacks and we will also have a SQL admin hacks page in the future.

SQL Server Hacks Sections
* 2 Dates
* 3 Sorting, Limiting Ranking, Transposing and Pivoting
* 4 Handy tricks
* 5 Pitfalls
* 6 Query Optimization
* 7 Undocumented but handy
* 8 Usefull Admin stuff For The Developer

Below are direct links to all the hacks on the wiki, you can also get a list of all the hacks on the wiki itself here: SQL Server Programming Hacks



Sorting, Limiting,Ranking, Transposing and Pivoting

Handy tricks


Query Optimization

Undocumented but handy

Usefull Admin stuff For The Developer

Hopefully you will like the site and find some good content, if you have a question then don't hesitate to ask it in a forum.

Wednesday, May 28, 2008

Google Hosts Popular JavaScript Libraries, Prototype, jQuery, Dojo and more

If you've ever wanted to use a JavaScript library like, Prototype, jQuery or Dojo, but you couldn't upload its files to a site or you found it difficult to manage all the different versions, Google hosts them for you.

Check it out here: AJAX Libraries API

Now if they also had Ext JS things would be good

ASP.NET MVC Preview 3 Released

ASP.NET MVC Preview 3 has been released.

Download the ASP.NET MVC Preview 3

Much more(videos, tutorials) here:

Friday, May 23, 2008

Microsoft Source Analysis for C# Announced By Microsoft

Microsoft Source Analysis for C# has been announced. Here is what I found on the Microsoft site:

This tool is known internally within Microsoft as StyleCop, and has been used for many years now to help teams enforce a common set of best practices for layout, readability, maintainability, and documentation of C# source code.

Source Analysis is similar in many ways to Microsoft Code Analysis (specifically FxCop), but there are some important distinctions. FxCop performs its analysis on compiled binaries, while Source Analysis analyzes the source code directly. For this reason, Code Analysis focuses more on the design of the code, while Source Analysis focuses on layout, readability and documentation. Most of that information is stripped away during the compilation process, and thus cannot be analyzed by FxCop.

The ultimate goal of Source Analysis is to allow you to produce elegant, consistent code that your team members and others who view your code will find highly readable.

More info can be found here:

Source Analysis for C# can be downloaded here:

Tuesday, May 20, 2008

LessThanDot - A New IT Community Coming To You June 1st

Some friends and I are launching a new IT Community site. This site will have a forum, blogs and a wiki. The co-founders are experts from many of the top forums around the internet, who also blog on professional blogs, such as and If you're even a semi regular user of places like Tek Tips, Google Groups, Microsoft Forums, Experts Exchange, LinuxQuestions and many others, you are likely to have been helped by one of the 30+ co-founders of LessThanDot - many of whom are top MVP's in their fields.

LessThanDot intends to cover all aspects of IT - from Web Developers to Sys Admins, from Architects to Data Management, IT Professionals (e.g. Project & Service management) to IT Students and Researchers, Desktop Developers to Enterprise Developers. And if it's not there - just ask.

There will be a "blow off some steam" forum where you can read fun stuff, tech rants, a tech news stream and more.

Unlike other fora we will accept questions from students, but instead of giving an answer we will direct you to where the answer can be found. After all you want to do some work yourself.

Right now you can see 3 screen shots here LessThanDot and make sure to come back June 1st.

SQL people that should be followed on twitter

A fellow blogger statisticsio has made a post: SQL people that I follow on twitter
If SQL is your thing I recommend checking out the link and subscribing to some of these people on twitter

And don't forget my Use Twitter To Stay On Top Of The .NET Programming News

Monday, May 12, 2008

Podcast: Brad Abrams and Omar Khan from Microsoft officially announce .NET 3.5 SP1 and Visual Studio 2008 SP1

Dotnetrocks has a podcast where Brad Abrams and Omar Khan from Microsoft officially announce .NET 3.5 SP1 and Visual Studio 2008 SP1, and detail all the new features and improvements!

Brad Abrams was a founding member of both the Common Language Runtime, and .NET Framework teams at Microsoft Corporation where he is currently the Group Program Manager for the UI Framework and Services team which is responsible for delivering the developer platform that spans both clients and web based applications as well as the common services that are available to all applications. Specific technologies owned by this team include ASP.NET, Atlas, and Windows Forms. Brad has been designing parts of the .NET Framework since 1998 when he started his framework design career building the BCL (Base Class Library) that ship as a core part of the .NET Framework. Brad was also the lead editor on the Common Language Specification (CLS), the .NET Framework Design Guidelines and the libraries in the ECMA\ISO CLI Standard. Brad has been deeply involved with the WinFX and Windows Vista efforts from their beginning. Brad co-authored Programming in the .NET Environment, and was editor on .NET Framework Standard Library Annotated Reference Vol1 and Vol2 and the Framework Design Guidelines.

Omar Khan is Product Unit Manager at Microsoft corporation responsible for running the Visual Web Developer product team. Since joining Microsoft in 1995, Omar has worked on several product releases, including Visual InterDev 1.0 , Visual InterDev 6.0, Visual Studio 2003, Visual Studio 2005, and Visual Studio 2008. Prior to joining Microsoft, Omar attended the University of Michigan - Ann Arbor from 1992-1995, majoring in a Bachelor's of Computer Science.

Listen to the podcast here:
Download the Visual Studio 2008 and .NET Framework 3.5 Service Pack 1 Beta here:
Scott Guthrie wrote about it here: Visual Studio 2008 and .NET Framework 3.5 Service Pack 1 Beta

Wednesday, May 7, 2008

Check If xp_cmdshell is enabled on SQL Server 2005

How do you check from Transact SQL if xp_cmdshell has been enabled on SQL Server 2005?

Run the following code

USE master;

EXEC SP_CONFIGURE 'show advanced option', '1';


You will see a long list but the one you want to check is at the bottom

name minimum maximum config_value run_value
xp_cmdshell 0 1 1 1

here is the complete list

Ad Hoc Distributed Queries
affinity I/O mask
affinity mask
Agent XPs
allow updates
awe enabled
blocked process threshold
c2 audit mode
clr enabled
common criteria compliance enabled
cost threshold for parallelism
cross db ownership chaining
cursor threshold
Database Mail XPs
default full-text language
default language
default trace enabled
disallow results from triggers
fill factor (%)
ft crawl bandwidth (max)
ft crawl bandwidth (min)
ft notify bandwidth (max)
ft notify bandwidth (min)
index create memory (KB)
in-doubt xact resolution
lightweight pooling
max degree of parallelism
max full-text crawl range
max server memory (MB)
max text repl size (B)
max worker threads
media retention
min memory per query (KB)
min server memory (MB)
nested triggers
network packet size (B)
Ole Automation Procedures
open objects
PH timeout (s)
precompute rank
priority boost
query governor cost limit
query wait (s)
recovery interval (min)
remote access
remote admin connections
remote login timeout (s)
remote proc trans
remote query timeout (s)
Replication XPs
scan for startup procs
server trigger recursion
set working set size
show advanced options
SQL Mail XPs
transform noise words
two digit year cutoff
user connections
user options
Web Assistant Procedures

When using sp_configure to change a setting, use the RECONFIGURE WITH OVERRIDE statement for the change to take immediate effect. Otherwise, the change takes effect after SQL Server is restarted.

Thursday, April 24, 2008

So do you think deciding between a clustered or non clustered index is difficult? Enter the world of Sybase IQ my friend

I have been messing around with Sybase IQ for a bit now. Sybase IQ is a columnar databases; data is stored in columns not in rows. This makes retrieval very fast but inserts are slower than a traditional RDBMS.

You are looking at the data in your table, most of the queries are ranges queries but every now and then a query gets executed for exactly one row. How would you index this? This is a very tough decision, right? You have 2 types of indexes to choose from, and if the index is a composite (multi column) index then you also have to worry about which column to place first so that you get a lean mean index seek.

With Sybase IQ you have these indexes to choose from

The Default column index
For any column that has no index defined, or whenever it is the most effective, query results are produced using the default index. This structure is fastest for projections, but generally is slower than any of the three column index types you define for anything other than a projection. Performance is still faster than most RDBMSs since one column of data is fetched, while other RDBMSs need to fetch all columns which results in more disk I/O operations.

The Low_Fast (LF) index type
This index is ideal for columns that have a very low number of unique values (under 1,000) such as sex, Yes/No, True/False, number of dependents, wage class, and so on. LF is the fastest index in Sybase IQ.

The High_Group (HG) index type
The High_Group index is commonly used for join columns with integer data types. It is also more commonly used than High_Non_Group because it handles GROUP BY efficiently.

The High_Non_Group (HNG) index type
Add an HNG index when you need to do range searches.
An HNG index requires approximately three times less disk space than an HG index requires. On that basis alone, if you do not need to do group operations, use an HNG index instead of a HG index.

The Compare (CMP) index type
A Compare (CMP) index is an index on the relationship between two columns. You may create Compare indexes on any two distinct columns with identical data types, precision, and scale. The CMP index stores the binary comparison (<, >, or =) of its two columns.

The Containment (WD) index type
This index allows you to store words from a column string of CHAR and VARCHAR data.

The Date (DATE) index type
The Time (TIME) index type
The Datetime (DTTM) index type
Three index types are used to process queries involving date, time, or datetime quantities:

The JOIN Index (Linear joins and Star joins)
Join indexes usually provide better query performance than when table joins are first defined at query time (ad hoc joins). In many situations, however, you can gain optimal performance on joined columns without creating join indexes.

Yes, a lot more than two, Sybase IQ does not have clustered or non clustered indexes. You can specify clustered index but it will be ignored.

What do you think? Do we need more indexes in SQL Server? What about BitMap indexes?

Wednesday, April 23, 2008

What is Live Mesh?

Microsoft launched Live Mesh. So what is this Live Mesh thing?

Robert Scoble wrote about it here: Ray Ozzie delivers with Live Mesh

Channel 9 has two videos
Abolade Gbadegesin: Live Mesh Architecture
Ray Ozzie: Introducing Live Mesh

Start playing with it here:

Have fun watching/reading/playing

Tuesday, April 22, 2008

How to rename a column in a SQL Server table without using the designer

If you have a table and you want to rename a column without using the designer, how can you do that?

First create this table

CREATE TABLE TestColumnChange(id int)
INSERT TestColumnChange VALUES(1)

SELECT * FROM TestColumnChange

As you can see the select statement returns id as the column name. you can use ALTER table ALTER Column to change the dataype of a column but not the name.

Here is what we will do, execute the statement below

EXEC sp_rename 'TestColumnChange.[id]', 'value', 'COLUMN'

Now do the select, you will see that the column name has changed

SELECT * FROM TestColumnChange

That is it, very simple

Monday, April 21, 2008

Windows XP SP3 Released To Manufacturing

Windows XP SP3 will be released to the web (RTW) on April 29, 2008.

From the MSDN forum

Today we are happy to announce that Windows XP Service Pack 3 (SP3) has released to manufacturing (RTM). Windows XP SP3 bits are now working their way through our manufacturing channels to be available to OEM and Enterprise customers.

We are also in the final stages of preparing for release to the web (i.e. you!) on April 29th, via Windows Update and the Microsoft Download Center. Online documentation for Windows XP SP3, such as Microsoft Knowledge Base articles and the Microsoft TechNet Windows XP TechCenter, will be updated then. For customers who use Windows XP at home, Windows XP SP3 Automatic Update distribution for users at home will begin in early summer.

Thanks to everyone here who installed the public betas – you not only gave us detailed feedback but also helped each other out with timely troubleshooting. Through the beta program we found several important issues and were able to confirm some essential fixes. We couldn’t have done this without you.

We will still be monitoring this forum during the next few weeks in case you have more feedback about the release of Windows XP SP3.

On behalf of myself, Shashank Bansal and Windows Serviceability, many thanks.

Chris Keroack
Release Manager, Windows XP Service Pack 3
Windows Serviceability

There you have it.

Thursday, April 17, 2008

Use Twitter To Stay On Top Of The .NET Programming News

Do you use twitter? If you don't you should, it is a great way to find out what is happening in the programming world. Below is a list of some well known programmers and their twitter URL. Start following them and you might learn a thing or two. And if you know of some other people then leave a comment and I will add them to the list.

Don Demsak

Keyvan Nayyeri

Phil Haack

Miguel de Icaza

Shawn Wildermuth

Andrew Badera

Michael Palermo

Jeff Atwood

Scott Hanselman

Jessy Libertry


Gavin Joyce

Sam Gentile

Dare Obasanjo

Chuck Boyce

Justice Gray

Rory Blyth

John Lam

Jason Massie


Paul Nielsen

Scott Koon

--------- added from comments --------
Rob Conery

Jon Galloway

Chad Myers

Jeremy Miller

Brad Wilson

Chris Bowen

Dan Rigsby

Aaron Lerch

Jeff Moser

Javier Lozano

Roy Osherove

Listen To Joel Spolsky(Joel On Software) And Jeff Atwood(Coding Horror) On The Stackoverflow Podcast

Jeff Atwood is starting a new site, it will be called

Listen to the first podcast with Joel Spolsky and Jeff Atwood

Get it here:

Joel Spolsky wrote an article here:
And Jeff Atwood did the same here:

Tuesday, April 15, 2008

Solutions for Common T-SQL Problems Wiki Launched

Volunteer Moderators and Answerers who support the Microsoft MSDN SQL Server Forums have launched a Wiki with Solutions for Common T-SQL Problems. Check it out here: