[Nov 13, 2018]
Lambda Enigma λ Enigma is a puzzle game for programmers.

Building a function is a puzzle. If the puzzle is finding the correct solution to the larger problem, then the functions that we compose to build the larger function are its pieces.

Read more about this project in my blog post.

Visit the project on GitHub.

[Apr 2, 2016] Qactive
Qactive Qactive is a reactive queryable observable framework based on Rx.NET.

Qactive builds on Reactive Extension's queryable observable providers, enabling you to write elegant reactive queries in LINQ that execute server-side, even though they are written on the client. Qactive makes the extremely powerful act of querying a reactive service as easy as writing a typical Rx query.

I started this project as a proof of concept for using queryable observables as an ad-hoc service engine. It was originally called "TCP Qbservable Providers" and was part of the Rxx codebase. Read my blog posts about it here.

[Aug 18, 2014] RubyFeed
RubyFeed Last year, I blogged about a stand-alone HTML5 page that I created to make it easy to read Windows RSS Platform feeds right on your home page in Internet Explorer.

I'm happy to report that it's now an open source project called RubyFeed, available on CodePlex.

I've already fixed several bugs and added new features, which will be available in the next release. In my spare time, I'm also actively working on a free cloud synchronization service so that you can use RubyFeed across multiple computers. The service will run on Azure and use your Microsoft account for authentication (OAuth).

Please let me know what you think. What features do you require in a feed reader?

[June 17, 2014] White Tie
White Tie I've just released White Tie on CodePlex. White Tie is a NuGet Package intended for open source developers that deploy their projects to NuGet. It's basically a couple of MSBuild files that I had developed while working on my own projects over the last few years to simplify building, packaging and deployment.

  • No configuration necessary.
  • Provides many MSBuild properties and items, enabling complete customization if desired.
  • Controls whether common static analysis tools are executed (only in Release mode, by default).
  • Builds a NuGet package for your project (only in Release mode, by default).
  • Copies build output to a local deployment directory (only in Release mode, by default).

[May 11, 2014] LINQ to OWIN
I've just released the first prototype of LINQ to OWIN on CodePlex. It's also available as a NuGet Package.

LINQ to OWIN is middleware that allows you to code your Katana/OWIN web applications as a set of reactive queries using Rx (Reactive Extensions) for .NET.

yield return from context in host["/page1"].PostRequests
             from form in context.Request.ReadFormAsync()
             let number = form.TryParseDecimal("number")
             select number.HasValue
                  ? "<div>You posted: " + number + "</div>"
                  : "<div>Please post a number to this URL.</div>"

[Jun 4, 2013] HTML5 RSS Reader for IE 10 on Windows 8
HTML5 Feed Viewer I've just written a stand-alone HTML5 page that lets you read your Windows RSS Platform feeds right on your home page in IE 10.
Download from CodePlex

Here are just some of its features:
  • Stand-alone HTML page. No server, no external scripts, no external style sheets, no external images.
  • Targets HTML5 in IE 10 (desktop mode only) for Windows 8.
  • Touch input support.
  • Uses JavaScript to interact with the Windows RSS Platform APIs via Window's built-in ActiveX automation.
You can read more about it in this blog post.

[Nov 23, 2012] Visual Studio Settings Switcher on CodePlex
Visual Studio Settings Switcher Version 1.0 released today.

Switch between Visual Studio settings automatically when a solution is opened. Switch settings, export settings or format every document in the solution at the click of a button. It's very useful for open source developers, when teams have different code formatting requirements.

Download it from CodePlex, the Visual Studio Gallery, or search for "settings switcher" in the Visual Studio Extensions and Updates dialog.

[Mar 30, 2012] Microsoft Community Contributor Award for 2012
Microsoft Community Contributor Award for 2012 My contributions to the community in the Reactive Extensions (Rx) Forum and the Code Contracts Forum throughout 2011 have been recognized by Microsoft for the second year in a row by awarding me with the Microsoft Community Contributor Award for 2012. I've also been pretty active in the open source community over the last year, though I don't know whether those contributions were considered for the award.

I appreciate this recognition and will continue spending my free time in the forums to improve my understanding of Rx and Code Contracts and hopefully to help others do the same. I've also been planning to increase my blogging output related to Rx, but if it comes down to a choice between blogging or deploying code, I'll typically choose the latter.

[Aug 25, 2011] Labs on CodePlex
Labs Logo Labs is a framework for .NET 4.0, Silverlight and Windows Phone that helps you to create and manage cross-platform experiments during software development and to persist those experiments within lab projects that are part of your software's Visual Studio 2010 solution.

All developers need to experiment every now and again, so whether you require knowledge about new or old technology, languages, platforms and even your own code, Labs makes it quick and easy by providing the tools that are necessary for cross-platform experimentation. Labs are persisted and compiled into a redistributable hands-on labs program to help teammates and customers learn from your experiments.

[May 01, 2011] Reactive Extensions - Extensions (Rxx) on CodePlex
Rxx is a library of unofficial reactive LINQ extensions supplementary to Microsoft's Reactive Extensions for .NET (Rx). Rxx is developed entirely in C# and targets the .NET Framework 4.0, Silverlight 4.0 and Windows Phone 7 (WP7).

James Miles and I started this project to contribute our ideas and to work with other Rx community members that would like to do the same. Our primary goal is to create and maintain a solid and stable library of reactive extensions that many people will find useful on top of Rx.

[Feb 25, 2011] Microsoft Community Contributor Award for 2011
Microsoft Community Contributor Award for 2011 My contributions to the MSDN Forums (more specifically, the Reactive Extensions (Rx) Forum and the Code Contracts Forum) throughout 2010 have been recognized by Microsoft with the Microsoft Community Contributor Award for 2011.

The email that I received stated, "The Microsoft Community Contributor Award is reserved for participants who have made notable contributions in Microsoft online community forums such as TechNet, MSDN and Answers. The value of these resources is greatly enhanced by participants like you, who voluntarily contribute your time and energy to improve the online community experience for others." Participating in the forums is fun and a great learning experience - I highly recommend it.

[Jan 16, 2008] MSDN Community Content 2007 Top Contributor Award
MSDN Community Content 2007 Top Contributor Award I received a plaque in the mail today from Microsoft, "as a small token of our appreciation for finishing in the top 20 most active contributors over the past year". It's a glass statue with the MSDN logo, the award name, my name and "Thank you from Microsoft" frosted on the side. With the statue I also received a 30GB Zune "as a small gift"!

The complete list of my contributions is available in my MSDN profile.

[June 08, 2007] Auto-Input Protection (AIP) on CodePlex
AIP is an open source, extensible ASP.NET web control that I've written in C#, which provides CAPTCHA protection for blogs, forums, wikis and websites, greatly reducing the likelihood of unwanted form submission from automated spam and hacks. AIP is available on Microsoft's CodePlex website:

[Jan 02, 2007] DocProject on CodePlex
DocProject, open source software that I've written in C#, drives the Sandcastle help generation tools using the power of Visual Studio and MSBuild. Choose from various project templates that build compiled help version 1.x or 2.x for all project references. DocProject facilitates the administration and development of project documentation with Microsoft Sandcastle, allowing you to use the integrated tools of Visual Studio to customize Sandcastle's output. DocProject is available on Microsoft's CodePlex website:

[Dec 01, 2006] Blog Launched
My C# software development blog was launched recently. Take a look and provide some feedback by adding comments to my blog entries. Thanks!