Searching MSDN Using Google

I sometimes find it useful to search MSDN directly using Google, so I wrote a search plugin using OpenSearch to make this easier. Firefox should discover the search plugin automatically – it should appear in the search drop down at the top right. Otherwise, you can just install the plugin directly. For more details, see Creating OpenSearch plugins for Firefox.

Piano Recordings – Upright Piano

Not an upright piano. A Steinway model O, in fact.

This is the second in a series of attempts to do some piano recordings, a project which started out of a desire to conquer stagefright on the rare occasions that I perform in public. Increasingly I have been investigating the process in more depth, making use of Cubase and various recording techniques. The result of these investigations is this recording of Sergei Rachmaninoff’s Prelude in D Major, which I performed at a recital in June. This represents probably the best recording I can achieve given my upright piano and limited knowledge of recording techniques.

Continue reading

Using Merged ResourceDictionaries in Silverlight Themes

Silverlight 3.0 moved its featureset closer to that of WPF by adding support for merged Resource Dictionaries and Style Inheritance. Without these features, developing custom templates and styles for Silverlight controls can become a bit of a copy-and-paste nightmare. Since I have used the implicit theming feature built into the Silverlight Toolkit to make my Silverlight controls fit into the overall look and feel of this site, I was hoping that these features would enable me to refactor my themes developed for Silverlight 2.0 to be a bit less unwieldy.

Continue reading

Piano Recordings

Prelude in C♯ Minor by Sergei Rachmaninoff.

In December I had my first piano recital in nearly two years, and so I started to look into various methods that performers use to conquer performance anxiety, something which causes me a lot of grief. Lately I’ve been hanging around with a number of friends involved in Cambridge’s thriving local music scene, and so not willing to go the beta blockers route I started thinking about doing some recordings. This way not only do I get to hear what the audience hears but it also reproduces some of the pressure that comes with performing for an audience. The audiofile above is my first effort, a recording of Sergei Rachmaninoff’s Prelude in C♯ Minor.

Continue reading

Implementation of the Reaction Diffusion Simulation

blood.png Update – This post was written before the release of Silverlight 3.0b, which provides a number of enhancements relevant to this implementation, such as a WriteableBitmap and Pixel Shaders

Rendering

The first obstacle to implementing the RD simulation is that Silverlight 2.0 does not by default provide a means of generating dynamic images. WPF has a WriteableBitmap, but no equivalent exists in Silverlight. However, it does support PNG streams so we can dynamically update a bitmap by encoding it to PNG on the fly. For this I have used Joe Stegman’s PNGEncoder class, which I have modified slightly to deal with RGB data and to reduce memory usage.
Continue reading

London Triathlon 2008

medal.jpg

Somewhat late, since I have had pictures on my facebook profile for months, but I thought I should add a post about my experiences at the London Triathlon in August 2008. This was the second of three major endurance events I completed in 2008, the others being the Blenheim Triathlon and the New York Marathon, in aid of Epilepsy Research UK. I would like to thank everyone who generously sponsored me for those events, your donations have since been passed on to the charity and will be put towards improving the quality of life for eplieptics who suffer from more severe symptoms than my own.
Continue reading

Reaction-Diffusion Models

maze.png

One of Alan Turing‘s many contributions to mathematics and science during the 20th century was his 1952 paper on “The Chemical Basis of Morphogenesis” in which he suggested that a simple model of coupled differential equations could account for pattern formation in natural processes such as those found on animal coats. Such models are known as Reaction-Diffusion models, and take the following general form
\[
\frac{\partial}{\partial t}\mathbf{q}=\mathbf{D}\nabla^2\mathbf{q}+\mathbf{R}(\mathbf{q})
\]

Continue reading

Oxford to Cambridge Bike Ride

andrew_1.jpg

On 27th September 2008 I and three friends took part in the Hearts First Bike Ride from Oxford to Cambridge in aid of the British Heart Foundation.

My friends stayed in Oxford overnight and probably started the day with a hearty breakfast. Unfortunately I had to make the start in Cambridge resulting in a 6.00am coach ride from Cambridge, a coach ride I almost missed due to a faulty alarm clock. One coffee cup and a muffin is no way to start a 90 mile bike ride ( or 86.78 according to my GPS ). I completed the ride in just shy of 5 hours, which admittedly is not that great but I use the excuse that it wasn’t a race and I had no one to draft.
Continue reading

URM Emulator

The Unlimited Register Machine (URM), designed by Nigel Cutland, is an abstraction of a computer similar to the Turing Machine – but somewhat easier to get to grips with and more in tune with the operation of a modern computer processor.

It also happens to be the model used by the Open University’s course on Mathematical Logic and Number Theory, and is the reason for this article since I studied the course in 2007.

Continue reading

New York City Marathon 2008

34924-11729-033f.png

On November 2nd I ran my first marathon. It remains to be seen if I will run another, but at least I’ll have done New York. It really is the most awesome experience, the weather was just about perfect and the crowds from start to finish were incredible.

I took a package with Sports Tours International so everything was bought and paid for. Not only was this my first marathon but it was also my first trip to NYC ( If I’m going to see the city, I may as well see 26 miles of it… ) so I didn’t want to have to worry about transfers and getting from A to B, but in the end I doubt this would have been much of a problem.

Unfortunately the route information is missing from the map below, but this link should show it accurately. Alternatively, you can download the kml file directly for Google Earth.

Continue reading