18 January 2012
18 January 2012

It always works on my machine.

0
Probably the most common question that the Red Gate developer tools support gets is “Does your X work with Y?” where X is your bit of software and Y is a bit of software made by a different company. This is probably the least answerable question in the known universe. Start with the obvious – … Read more
0
15 October 2011
15 October 2011

Event-Driven Debugging

0
Most application troubleshooting involves getting an error, analyzing the error message, and at worst, attaching a debugger to work out the real cause. What is not really covered is how to troubleshoot an applicaiton that is not errant, but is having a performance issue, and more than likely, in the middle of the night when … Read more
0
19 December 2010
19 December 2010

Anatomy of a serialization killer

0
As I had mentioned last month, I have been working on a project to create an easy-to-use managed debugger. It’s still an internal tool that we use at Red Gate as part of product support to analyze application errors on customer’s computers, and as such, should be easy to use and not require installation. Since … Read more
0
24 November 2010
24 November 2010

Updating the managed debugging API for .NET v4

0
In any successful investigation, the right tools play a big part in collecting evidence about the state of the “crime scene” as it was before the detectives arrived. Unfortunately for the Crash Scene Investigator, we don’t have the budget to fly out to the customer’s site, chalk the outline, and eat their doughnuts. We have to … Read more
0
06 November 2008
06 November 2008

Installing databases using Wix

1
In the promised second half of my Wix installment, I am going to demonstrate how you can install a SQL Server database as part of a software deployment using Wix and SQL Packager from Red Gate. In my experience, your average software company has exactly one “Installer Guy”. Typically, this is a very unappreciated fellow … Read more
1
21 October 2008
21 October 2008

Arrrrgh! Wix!

1
This week’s time-eater, for me, was to try to create an installer package (MSI) with custom actions that install databases on SQL Servers. Typically, I had grown to like Microsoft Visual Studio Deployment Projects, because I could easily knock out some C# code and slam it into an installer and get it to do, basically, … Read more
1
24 September 2008
24 September 2008

ASP .NET: when a crash is not a crash

0
In the mysterious viscera of Microsoft Internet Information Server, nothing is as it seems. When applications are designed to work over the web, they must bristle with all sorts of bits designed to make the stateless stateful and many users become one inside the web server’s inner sanctum. What I am talking about are the fundamental … Read more
0
16 August 2008
16 August 2008

Object-level recovery from backup is here!

0
Version 7 of the Red Gate SQL Comparison SDK has finally brought the possibility of recovering individual objects from a Microsoft SQL Server backup to a live database. I found this an exciting opportunity to flex the old noggin and design a program that can restore schema and associated data from a backup file to a real … Read more
0
12 August 2008
12 August 2008

Man eats crow, film at eleven

0
Last week I’d had a bit of a rant here about not using software for anything other than what it is designed to do. Thinking back, though, I have done this quite a few times myself, particularly by employing a code profiler to do the job of a debugger. When good software goes bad, the right … Read more
0
05 August 2008
05 August 2008

DOH! It’s the DaftOperationHandler

0
   Probably my least favourite question in the world, professionally anyway, is “Does your software support <choose a technology>”. Well, first off, define support. Dictionary.com provides for no less than nineteen definitions for that particular word, and I can probably think of about a dozen more.    If my answer to this question is “yes”, and … Read more
0
27 March 2008
27 March 2008

Po man’s patchworkin’

0
If you had come of age before Component Object Model as I have, the concept of COM registration seemed rather odd at first glance. Why is your system limited to exactly one application extension which is forced to be backwards-compatible, when, for years, other operating systems have enjoyed the ability to have many versions of … Read more
0
26 March 2008
26 March 2008

Optimize Prime

0
Ever since the dark ages of programming, certain tricks have been implemented in code compilers to eke out the maximum performance from the compiled code, the most important of which is inlining. Put simply, inlining is the process by which a child method is inserted into the parent method in its’ entirety. For larger methods, … Read more
0
26 March 2008
26 March 2008

Exceptionally expensive

0
Many years ago, when switching from programming in plain old C to the managed environment of .NET Framework, I had discovered exceptions.  The idea was not completely new to me because I’d already seen try/catch blocks in JavaScript and I liked that method of error handling a lot, especially when compared to the ON ERROR … Read more
0
13 November 2007
13 November 2007

Need to loosen my bindings

0
Microsoft .NET’s runtime provides an execution engine for Just-In-Time compiled code, but it also has the clandestine capability to pre-compile code and cache it on disk. This at first seems a little odd, since the point of environments like .NET Framework and Java are supposedly designed to offer machine-independent, ‘virtual’ code. I suppose that .NET’s native … Read more
0
14 October 2007
14 October 2007

Using the kill to cure

0
I was watching a medical drama the other day, you probably know the one, where the diagnostician darn near kills the patient with bizarre tests in trying to figure out his illness, given a strangely conflicting set of symptoms. I’ve come across some similar situations with my inorganic patients recently which forced me to step … Read more
0
06 October 2007
06 October 2007

One ringy dingy…

0
I should really count my blessings. Technical Support, to some companies, means a bank of Rhesus monkeys picking up telephones and telling customers to ‘turn it off and then on again’. Previous to this prevalent statement, ‘is it plugged in?’ was de rigeur until customers found this too insulting to their intelligence — particularly the ones … Read more
0
30 September 2007
30 September 2007

Database backup: insufficient resources for cache withdrawal

0
Sometimes SQL Server can pose conundrums of such complexity that even the Riddler couldn’t conceive of. In my mind’s eye, a SQL Server is in fact its’ own operating system, running on another operating system. For instance, SQL Server has a task scheduler to manage threads running within the SQL Server Process, and this User-Mode Scheduler … Read more
0
20 September 2007
20 September 2007

How to rewind a SQL Server

0
I work for a company that sells software. And SOME people, because of their untrusing nature, need to be convinced that the software that we want to sell them actually works. This process, in some large, bureaucratic institutions, involves salesmen and conference calls and schmoozing and all of those things, that I, as a technical … Read more
0
15 September 2007
15 September 2007

Support’s line in the sand

0
Some months ago, I took my car in for a safety inspection, and the garage found a small hole on the inside of the wheel-well. In order for the car to pass inspection, they said, that would need to be welded shut. Great, I said, can we do that now? No, they said. They do … Read more
0