Kael Rowan
Foundations of Elegant Code
Debugger Canvas on Channel9
Hi everyone, Robert Green from Channel9 asked me to do a Debugger Canvas video for Channel9 last...
Date: 05/23/2012
Code Canvas vs. Code Bubbles vs. Debugger Canvas
You may have seen my previous comparison of Code Canvas vs. Diagrams/Visualizations, but sometimes...
Date: 03/10/2012
Debugger Canvas 1.1 is Released!
Hi everyone, we are pleased to announce the release of Debugger Canvas version 1.1. This version...
Date: 01/31/2012
Debugger Canvas Available for Download!
I’m pleased to announce that Debugger Canvas is available for download on DevLabs! Debugger...
Date: 06/13/2011
Introducing Debugger Canvas
Over the past several months I’ve been working on a new Power Tool for Visual Studio with Andrew...
Date: 05/21/2011
ZoomableApplication3: When not to ApplyTransform
By default, ZoomableCanvas works by coercing its RenderTransform to be a combination of a...
Date: 08/18/2010
ZoomableApplication1: Scale and Offset
For the first entry in the series of examples using the ZoomableCanvas, I’ll start off with...
Date: 08/05/2010
ZoomableCanvas
ZoomableCanvas is the Panel that displays almost all of the elements in Code Canvas. Code Canvas is...
Date: 07/29/2010
ZoomableCanvas: Preface
When I started writing Code Canvas back in 2008, I quickly realized that using a simple...
Date: 07/26/2010
Code Canvas @ ICSE 2010
Code Canvas is being shown by Rob DeLine at the 32nd International Conference on Software...
Date: 05/05/2010
LinkedList.FindNext and FindPrevious
The generic collections in the .NET framework do a good job of hiding algorithmic details and...
Date: 04/09/2010
Code Canvas @ TechFest
In honor of today's historic date of breaking down walls, I'm posting a recording of the live...
Date: 11/09/2009
PriorityQuadTree
Chris Lovett has a written a cool Virtualized WPF Canvas that lets you pan and zoom around a huge...
Date: 05/21/2009
Code Canvas @ Lang.NET Symposium
Microsoft recently hosted the 2009 Lang.NET Symposium here in the Microsoft Research building. A...
Date: 05/12/2009
VirtualPanel
Virtualization, according to the documentation for WPF’s built-in VirtualizingStackPanel, refers to...
Date: 04/27/2009
Rect.Intersects and IsDefined
When working on the PriorityQuadTree, most of the code I was reading and writing revolved around...
Date: 04/27/2009
Softpedia article on Code Canvas
Wow, I’m impressed with how fast the word is getting out. Marius Oiaga already published an...
Date: 03/28/2009
Code Canvas
I’ve been working in Microsoft Research on a project called Code Canvas for a while now, and we...
Date: 03/26/2009
InlineVSPaste
There’s a great plugin for Windows Live Writer called VSPaste by Douglas Stockwell:...
Date: 12/11/2008
Blog Resurrection
Sometimes in the course of software development it becomes best to start over from scratch. I'm...
Date: 10/15/2008
Simple Paint Application
Here's a screenshot of a typical "Paint" application: It has the following features: The "pencil" or...
Date: 10/12/2008
Snapshooter
I’ve been working on a very large-scale canvas application for a while now, and I finally checked in...
Date: 06/18/2008
ArithmeticConverter
Using a declarative language like XAML to define a UI feels like the right thing to do, but it has...
Date: 06/11/2008
Presentation.More
In the same vein as System.More, I've also created a Windows Presentation Foundation counterpart...
Date: 05/21/2008
MathExtensions
Fluent programming is cool, and with extension methods you can make your code much more...
Date: 05/12/2008
System.More
I, like most developers out there, have accumulated a set of classes and utility functions that have...
Date: 05/12/2008
Comparator
I recently wrote a generic PriorityQueue class which can treat any type of object as the priority...
Date: 10/04/2007
SynchronizationCallback
It's common for user interface frameworks (such as Windows Forms applications or Visual Studio...
Date: 09/05/2007
ThreadQueue
I was writing an application the other day that required serializing objects to a set of files on a...
Date: 07/20/2007
IndentedTextWriter
There's a very useful class called IndentedTextWriter in the System.CodeDom.Compiler namespace that...
Date: 03/28/2006
PriorityQueue
I’m implementing a single-source multiple-target version of Dijkstra's shortest path algorithm that...
Date: 01/09/2006
Hello, World!
My name is Kael Rowan. I am a Software Design Engineer at Microsoft, and this is my first blog.
Date: 05/15/2000