Building a Real-time Push App with Silverlight: Part 2
2011-08-27

Let’s review the main Rx code from last time: public IObservable<string> GetJsonStreams() { var request = GetRequest(); return Observable.FromAsyncPattern<WebResponse>(request.BeginGetResponse, request.EndGetResponse)() .Select(wr => wr.GetResponseStream()) .Select(str => Observable.FromAsyncPattern<byte[], int, int, int>(str.BeginRead, str.EndRead)) .SelectMany(ParseJson); } One thing I didn’t like about this was that the web request object was created regardless of whether the Observable gets a subscription or not. This is potentially wasted resources, and I wanted to refactor this to be completely lazy. Read on...
Building a Real-time Push App with Silverlight: Part 1
2011-08-26

This is the beginning of a multi-part series where I’ll be building an interactive application with Silverlight 5 (still beta as of this post). It will be built from the ground up and designed predominantly from a “push data” point of view, where the application is reacting to events in real-time, rather than a more traditional “pulling” point of view. This type of application has exploded with the popularity of social networking and has made a lot of the traditional methods of building applications obsolete. Read on...
Injecting Logger Instances Via Convention With Unity
2011-08-19

Let’s say you have something like this: public void MyClass { public ILog Logger { get; set; } } And you simply want Unity to inject an instance of ILog such that its name is requestingDependency.GetType().FullName, which in this case would be Full.Namespace.MyClass. I’ll leave it up to the exercise of the reader, but if you search for ‘log4net and Unity’ you will find some working solutions which IMO are way too long to solve this. Read on...
Adding Scripting to your Tool Belt
2011-08-16

One of the most important things for any developer is to be well rounded. They should know about functional, imperative, object-oriented, aspect-oriented programming, among others. They should know the difference between dynamic and static languages. They should know the difference between scripting, interpreted, compiled languages. Why? It opens your mindset. It lets you see things in a different light, which ultimately changes the way you will write your code, and for the better. Read on...
Tools I Use To Do What I Do

It’s been a while since I last blogged, but I want to get back into it….I just haven’t thought about what I wanna blog about yet.  I’m thinking of doing some sort of multi-part series on a topic but haven’t decided on what yet.  Nonetheless, just to get the ball rolling again here’s a quick blog post on some of the tools I use to do my every day job that’s in addition to your typical .NET developer tool chain. Read on...