A Brief Introduction to the Reactive Extensions for .NET, Rx

Wow, it has been a long time since I have blogged.  Yesterday, we made the first official public release of Rx on devlabs.  And that means that I can now talk about what has been on my mind for the past while: Rx.  What is Rx?  Rx is short for the Reactive Extensions for .NET. …

28

The Marvels of Monads

If the word "continuation" causes eyes to glaze over, then the word "monad" induces mental paralysis.  Perhaps, this is why some have begun inventing more benign names for monads. These days, monads are the celebrities of programming language theory.  They gloss the cover of blogs and have been compared to everything from boxes of fruit…

36

Continuation-Passing Style

There are some technical words that cause quite a stir even amongst geeks.  When someone says the word "continuation", people’s eyes glaze over and they seek the first opportunity to change the subject.  The stir is caused because most people don’t understand what a continuation is or why someone would want to use one.  This…

9

Musings on Software Testing

It was spring 2003, I had just finished a weekend camping in the southern Arizona desert.  I was dusty and physically exhausted from hours of playing paintball.  For those who have never been in those parts, imagine long straight roads with dry sage brush, painful cactus, and jagged mountains.  I needed a book to pass…

16

Volta and You

Yesterday, Volta was made publicly available for the first time.  It is an experimental project in the early stages of development.  The team decided to release an early technology preview so that developers everywhere can help guide the project through experience and feedback.  We want your feedback. The first release provides the basic feature set…

19

Volta: Redefining Web Development

Anyone who writes web applications knows that web development is not easy.  Developers wrangle with a soup of technologies distributed across multiple tiers.  We live in a world where programmers accept the fact that they need to know four or five different languages, tools, and environments just to get a site up and running.  In…

26

More on Partial Methods

Thank you everyone for the feedback.  If you have any more to say then please do express your opinion (and yes it is valued ;).  I think there has been a bit of misunderstanding about what partial methods really are.  So let’s set the matter straight.  Here is the current spec (quoting from here on…

16

In Case You Haven’t Heard

It has been a while since I have posted.  We have been working hard to get Orcas beta 1 and beta 2 done.  So I apologize for the long interlude between posts but I hope that you are enjoying beta 1 and that you are looking forward to beta 2. Now that beta 1 is out there,…

93

All About Iterators

Design patterns have been all of the rage for a number of years now.  We have design patterns for concurrency, user interfaces, data access, object creation, and so many other things.  The seminal work on the topic is the Gang of Four‘s book, Design Patterns.  When used appropriately they are a fantastic way to codify…

17

Performance Engineering

Recently, many people have asked me about the performance of Linq.  The questions have ranged from the broad, “How can I analyze the performance of code using Linq?”, to the very specific, “Why is the performance of this code sample not what I expected?” I want to address these questions.  So before I dive into some…

8