Category Archives: Software Development

Don’t do anything in DllMain… Please

Thinking of adding some code to your DLLs DllMain function? STOP!

Also posted in Debugging, Uncategorized, Windows | Tagged , , , , | Leave a comment

Generating and plotting random numbers

An example of generating random numbers in F# and visualising their distribution using the WPF charting control.

Also posted in .NET, F#, Finance, Visual Studio, WPF | Tagged , , , | Leave a comment

Programming is like a bad analogy

The joy of programming can be a difficult thing to describe. I take a look at some of the bizarre things people have compared it to.

Also posted in Rant | Tagged | 4 Comments

Pinned DataTips in Visual Studio 2010 Beta 2

I’ve just noticed a nice little feature in Visual Studio 2010 Beta 2: pinned DataTips. Values displayed in the debugger as you hover over a variable can now be pinned in place and remain aligned with the source. They can even have annotations added… Tasty!

Also posted in Debugging, Usability, Visual Studio | Tagged , | Leave a comment

Comparing lambdas in C++ and F#

Lambdas in C++ and F#: compare and contrast.

Also posted in F#, Visual Studio | Tagged , | 1 Comment

FormatException in WPF DataBinding

A FormatException is generated by the WPF DataBinding diagnostics if the original exception text contains curly brackets.

Also posted in .NET, Uncategorized, Visual Studio, Windows | Tagged , , , , | Leave a comment

The 7 signs your UI was created by a programmer

Programmers are notoriously bad at creating good user interfaces. How can you tell if your app was designed by a programmer? (Hint: it’s easy).

Also posted in Excel, Rant, Usability | Tagged , , , | 42 Comments

Getting IUnknown from __ComObject

How do you find the unmanaged COM object that’s being referenced by a .NET object?

Also posted in .NET, COM, Debugging, WinDbg, Windows | Tagged , , , , | 4 Comments

Finding the largest free block of address space

I’ve been seeing problems recently with fragmented virtual address space. During the lifetime of a process, bits and pieces of memory are allocated throughout the 2GB 32-bit address space to such an extent that large contiguous blocks of free space are no longer available. If anything subsequently requires a large block of memory (like, for [...]

Also posted in WinDbg, Windows | Tagged , , , , , | 2 Comments

Diagnosing out of memory errors with VMMap – Part 2

(I had problems with WordPress choking on this long post, so I’ve split it into 2 parts. The first part is here. This is the second part).

Also posted in Debugging, Windows | Tagged , , , | Leave a comment