Introducing Shader Playground

Parsing Command & Conquer: Generals replay files

OpenSAGE Dev Diary #6 (2018-02-10) - and 1st release!

OpenSAGE Dev Diary #5 (2018-01-07)


OpenSAGE Dev Diary #4 (2017-12-24)

OpenSAGE Dev Diary #3 (2017-12-17)

OpenSAGE Dev Diary #2 (2017-12-10)

OpenSAGE Dev Diary #1 (2017-12-03)

Syntax highlighting for HLSL and ShaderLab files on GitHub.com

Xbox One XDK shader intrinsics now available in HLSL Tools for Visual Studio

Syntax highlighting for HLSL in Visual Studio Code

Try HLSL online


HLSL Tools for Visual Studio v1.0 released


Introducing HLSL Tools for Visual Studio

Gemini v0.6 released

Cross-platform C# and F# in 2015

Comparing API footprints of Direct3D 12, 11, 10, and 9

Parsing Direct3D shader bytecode

Cascaded shadow maps sample for MonoGame


Make Santa Jump - Making an endless runner game in F# using MonoGame

Getting started with JetBrains Nitra

The Matrix Inverted

Writing a MiniC-to-MSIL compiler in F# - Part 6 - Conclusion

Writing a MiniC-to-MSIL compiler in F# - Part 5 - Code generation

Writing a MiniC-to-MSIL compiler in F# - Part 4 - Building the intermediate representation

Writing a MiniC-to-MSIL compiler in F# - Part 3 - Semantic analysis

Writing a MiniC-to-MSIL compiler in F# - Part 2 - Lexing and parsing

Writing a MiniC-to-MSIL compiler in F# - Part 1 - Defining the abstract syntax tree

Writing a MiniC-to-MSIL compiler in F# - Part 0 - Introduction

DryRunner: Isolated integration testing for ASP.NET

New SharpDX module for Gemini - Direct3D in your AvalonDock

Introducing HlslUnit: unit tests for your HLSL shader code


Gemini - a.k.a. "Make your own Visual Studio"


NDepend 4 review

Multi-file item templates in Visual Studio 2010


Integrating DotLiquid with SharePoint 2010

Marshalling C# structures into Direct3D 11 cbuffers using SharpDX

DotWarp - Server-side 3D renderer for .NET

Meshellator - Open source 3D asset import library for .NET / Silverlight

Nexus - vector and matrix maths library for .NET / Silverlight, suitable for 3D development


StitchUp in action

Drawing an XNA Model bounding box

XBuilder v0.2 released

Content Aware Image Resizing for ASP.NET

XBuilder updates - Show normals

Extracting the normals from a Model at runtime

XBuilder updates - Grid, rotation indicator, mouse wheel zoom

StitchUp - Support for multiple techniques

Announcing XBuilder, a free & open source content viewer for XNA 4.0 integrated with Visual Studio 2010

A sneak preview of "XNA Inspector"

XNA Model Viewer inside Visual Studio 2010

3DS, OBJ, and NFF content importers for XNA 4.0

Some StitchUp updates

Terrain GeoMipMapping on Windows Phone 7

An XNA 4.0 Content Pipeline processor for Terrain GeoMipMapping

Introducing StitchUp: "Generating Shaders from HLSL Shader Fragments" implemented in XNA 4.0

NuGet package now available for DotLiquid

My default stack

Creating website thumbnail images in ASP.NET

Creating thumbnails of a PDF in ASP.NET

Rolling Your Own Blog Engine: Part 1

Farewell, 0x1D

Introducing DotLiquid: the secure, open-source template engine for .NET


Osiris SceneGraph Development Part 1 - Introduction

Setting the default button for a nested control in ASP.NET

XNA 3.0 Hybrid Ray Tracer

ASP.NET HTML Control Mapping


A few things I wonder about

Milky Way + Andromedia = Milkomeda

Depressible buttons on drink carton lids

Reversible quotations

Overriding the meaning of ~ in ASP.NET

Clever shit

Climate science

Toilet paper folder and dispenser

Increasing the maximum connections to a server in IE and Firefox

Urinal etiquette

The not-so-beautiful game

Is your second cousin once removed the child of your first cousin twice removed?

Solved: The Great Religion Debate

Sacrificial chips

Free will


Thief Steals Urinal

New Year's Resolutions


Our car game now has a car...

Vista - Failed to install ISKernel files

Things I wonder about

Vista: Clear, Connected, Clumsy

12 Days of Christmas

Why I Am Not A Christian



XMLSpy irritations

Progress on the coloured squares

Christmas cheer

When is a choice not a choice?

They don't call me Tim "Michael Schumacher" Jones for nothing... actually they don't call me that at all

Flaming Lips

Coloured squares

Goo Goo Dolls

Little preview of my coast to coast video


100000 miles - woo!

Changing the LCD screen on a Sony Ericsson K750i

Writing your own OS with Visual Studio 2005

DVD Taxonomy

Desert Island Discs

The size of space

Customising the AxWebBrowser


Getting setup with iTunes

Christianity - a new religion?

French holiday

This ungodly blog

Renamed brands

Starting from scratch

Primitive Professions

Coast to Coast


Batman has Begun

Solving cracks in geomipmapping - the wrong way...


And we begin...