Simple Talk is now part of the Redgate Community hub - find out why

Debugging Arbitrary thread stacks in .NET

0
0
Check out John Robbins November 05 Bugslayer article.. He has ported his excellent SUPERASSRT code from native C++ into C#. Part of his solution uses CDB.(a command line version of WinDBG)I have previously found producing minidump files very useful in tracking down native code problems, so I will be trying out his new C# implementation … Read more

Explorer and Environment variables

0
0
You can type environment variables into the the Explorer Address bar and it is expanded into its full path.Typical examples include: Environment Variable  Meaning Example %TEMP% Temp directory C:TEMP %TMP% Temp directory C:TEMP %USERPROFILE% Current Profile C:Documents and SettingsDavid Connell %WINDIR% Windows Directory  C:Windows You may have some company specific enviroment variables, check it out by … Read more

Type safe collections

0
0
I must admit that creating a nice type safe collection for a new feature in one of our products took me a little time. There are some very good resources online on how to setup your own type safe collection so I thought I’d contribute a little to that resource. The key to all this … Read more

Wing Dings

0
0
Occasionally when developing software you come across really absurd or bizarre bugs. The user interface for the application I’m currently developing recently exhibited one of these: a propensity for beeping periodically, for no readily explicable reason. To be precise, not so much a beeping as a “ding”ing. Now like most software developers, I work in … Read more

SQL Data Compare: Comparing Views

0
0
In case you haven’t come across this before you can actually compare two views in SQL Data Compare. The only pre-requisite is that the view has an index defined on it. As an example lets create and compare an indexed view on pubs. First we must create the view with the schema binding option: We … Read more

SQL Backup 4.0 BETA is ready!

0
0
Phew… on November 15th an email went out to a select group of SQL Server DBA’s, Developers and other potential SQL Backup users to let them know of the SQL Backup version 4.0 beta program. The beta version is pretty much feature complete. It’s a major upgrade from version 3.2. The final release is scheduled for 16th … Read more

Always set Warnings as Errors

0
0
How many of us have developed some code only to find the compiler outputs some warnings such as unused parameter, or unreachable code and just thought “yup, I’ll fix it tomorrow”. Unfortunately tomorrow never comes and the warning just get left in. Before you know it when you build a project there are hundreds of … Read more

Testing for empty String

0
0
I was speaking with James a few days ago about strings and testing for them being empty, and as usual we had an interesting discussion. At the end of it I thought I better go off and write some test code to find out some real numbers. I investigated three environments. .NET 1.1 .NET 2.0 … Read more

Humbling times

0
0
It’s that time again. Time to leave the comfy confines of the office, brave the real world and meet the most important people who work for Red Gate: our users. With a bunch of design ideas stashed on a laptop, we venture off to learn exactly how wrong we’ve got it.  I have to admit, … Read more

Who am I?

0
0
This is the first post in my Red Gate Blog so I think I’d better introduce myself a little bit. I’m the main programmmer on the SQL Data Compare engine one of our suite of best selling SQL Bundle tools, currently I’m working on the latest version which will support the new data types in … Read more

An interesting article about ASP.NET and SQL Server Performance

0
0
While reading through the excellent http://blogs.msdn.com/ I noticed this post by Todd Carter talking abount ASP.NET and SQL Server Performance, in it he talks about compiler locks slowing down stored proceedure execution. Aparently this occurs when The user that runs the stored procedure is not the owner of the procedure AND The stored procedure name is not fully qualified … Read more

XP SP1/SP2 system DLL’s

0
0
Last week I found out that sometimes XP SP1 dlls are labelled as xpsp2. A client had DLLs that were labelled xpsp2 for example comctl32.dll  6.0 (xpsp2.050831-1533) c:windowswinsxsx86_microsoft.windows .common-controls_6595b64144ccf1df_6.0.2600. 1740_x-ww_7cb8ab44comctl32.dll  However just because the DLLs are labelled xpsp2 this does not mean that they are Service Packl 2.Infact they are late XP Service Pack 1 DLLs!… Read more

Common Controls and "invalid window class name"

0
0
Last week came across a weird issue. A .NET 1.1 program was throwing up a weird exception when running on XP SP1, with a manifest. (The problem disappeared if the manifest was removed). We were sent the stack trace This highlighted several issues. Firstly that native windows are only created in .NET when they are … Read more

Windows Keyboard short cuts

0
0
Here is a list of some of the windows key board short cuts (thanks to Tilman): Keyboard Meaning Windows key Start menu Windows key + D       Minimize all windows to Desktop Windows key + D Restore minimized windows Windows key + E Windows Explorer Windows key + L Lock Desktop Windows key … Read more

Lock Free Datastructures

0
1
Hidden away in the System.Threading namespace is the class Interlocked. This class provides atomic operations on variables. The method System.Threading.Interlocked.CompareExchange is the .NET equivalent to the Compare and Swap primitive. It basically does the following in an atomic fashion object CompareExchange(ref object o, object p, object q){            if(o == p)            {                        o = q;                        return p;            }             return … Read more

World Usability Day

0
0
Thursday 3rd November is World Usability Day. A day that is hugely anticipated.  Millions will take to the streets, trying to catch a glimpse of their favourite usability guru, sagely administering sermons on the woes of unusable products.  I can see it now – it’ll generate almost as much fervour as the results for the … Read more

How you log in to Simple Talk has changed

We now use Redgate ID (RGID). If you already have an RGID, we’ll try to match it to your account. If not, we’ll create one for you and connect it.

This won’t sign you up to anything or add you to any mailing lists. You can see our full privacy policy here.

Continue

Simple Talk now uses Redgate ID

If you already have a Redgate ID (RGID), sign in using your existing RGID credentials. If not, you can create one on the next screen.

This won’t sign you up to anything or add you to any mailing lists. You can see our full privacy policy here.

Continue