Category Archives: Software Development

Diagnosing out of memory errors with VMMap

VMMap is a new tool from Mark Russinovich et al that’s very useful for diagnosing virtual memory/address space exhaustion issues. I describe it here, and give some information that should help you interpret what it reports.

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

Visualising Black-Scholes option pricing using F# and WPF

Using F# to create simple plots of Black-Scholes option prices and greeks using WPF.

Also posted in .NET, F# | Tagged , , | 3 Comments

WinDbg !locks command broken

It seems that the extremely useful !locks command is broken in 6.11.1.40x, the current and previous release of WinDbg from the debugging tools for Windows.
You’ll get errors like:

0:007> !locks
NTSDEXTS: Unable to resolve ntdll!RTL_CRITICAL_SECTION_DEBUG type
NTSDEXTS: Please check your symbols

The suggested solution seems to be to roll-back to version 6.10.3.233, available from here, or you can just [...]

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

F# May CTP released

Well, what are you still doing here, get over to Don Syme’s blog and download it…!

Also posted in .NET, F# | Tagged | Leave a comment

IL analysis using F#

A description of using F# language features and reflection to enable basic analysis of .NET IL (intermediate language).

Also posted in .NET, F# | Tagged , , | 2 Comments

Installing Windows SDK breaks F# Visual Studio integration

Beware! If you install the Windows SDK – perhaps to get access to the interesting looking WPF performance tools – you’ll find that it hoses your F# Visual Studio integration. I found that it causes intellisense tooltips to stop appearing, and the integrated F# interactive to crash Visual Studio. Both of these issues are a [...]

Also posted in F#, Visual Studio | Tagged , , , , | 5 Comments

Verifying dynamically generated IL

It’s safe to assume that when you use the C#, F# or (heaven forfend) VB.NET compilers, the IL generated for you will be correct. But, if you’re using Reflection.Emit to generate code “by hand” in a dynamic method or assembly it can be difficult to identify problems with the IL you emit. In the majority [...]

Also posted in .NET, F# | Tagged , , , , , | 2 Comments

Implementing INotifyPropertyChanged with F#

I like F# for a lot of things, but, man, is it a pain to support events. In C# it’s trivial to implement an interface like INotifyPropertyChanged consisting only of an event, but in F# you have to jump through some hoops to map native functions to delegates/events. F# is generally much terser than C# [...]

Also posted in F# | Tagged , , | 4 Comments

Visual Studio Toggle Brackets Macro

After using a F# heavily for a while, I often found myself wanting to add brackets (or rather, parentheses) around some text. This is normally when adding a type specification to an argument in order to be able to use dot notation, e.g. going from:

let typeName t = t.Name

which causes “error FS0072: Lookup on object [...]

Also posted in F#, Visual Studio | Tagged , , , , | Leave a comment

BattleFingers is here!

Well, I’ve done it: I’ve got my first game live on the AppStore. It’s been an interesting journey. I’m terribly bad at getting my hands on devkits and SDKs, having a play with them and then not doing anything constructive. This dates way back to things like the Playstation NetYaroze, which was pretty expensive, and [...]

Also posted in Gaming, Mac, iPhone | Tagged , | Leave a comment