The journal

Notes from the workbench.

149 articles on building software and understanding how it works.

.Net GUI thread crossing

"Cross-thread operation not valid" explained from the ground up: what the GUI thread actually does, why only it may touch your controls, and how to cross over correctly in WinForms and WPF.

Early alpha release: Kinect C# Starter Kit

A starter platform for Kinect hacking in C#: MVVM-bound module engine, sample modules doing silly image processing, easy to extend with your own. Buy a Kinect, install drivers, open this project and start playing.

Kinect

Bought a Kinect, hooked it up to the PC, fought the drivers for a couple of hours — and then got raw image data access working in C#. Sample code for fast access to the Kinect's byte stream.

Compression algorithm

Every now and then I get a bright idea for a compression algorithm. This one took 3.5 hours to compress the 5 characters "Tedd!" into 7 characters, after 143 billion iterations. Not every bright idea survives contact with math.

WPF MVVM Thread annoyance

I hoped WPF had left WinForms' GUI-thread invoking behind. Then BindingList and DependencyProperty both demanded GUI thread invocation from my ViewModel — which isn't supposed to know the GUI exists. ARGH.

MVVM (and my IRC client)

A personal rant on whether to use MVVM, written while heavily refactoring my IRC client. Comparing MVVM with my current module architecture — clearly MVVM is not optimal, but there might be parts worth borrowing.