I recently started listening to the Herding Code podcast and BoagWorld podcast and have subsequently been exposed to some really interesting “stuff”. I thought I’d put these down, if for no other reason than helping me remember to try them out.


Javascript is getting a lot of attention and investment lately. This is both in the browser and on the server. There are a ton of cool things going on, many of which are discussed at JSConf.

One of the trippy things I heard about is a JS library that will rip flash into HTML5 on the client, eliminating the need for the plug-in.

The other thing they talked about was the security aspects around the web in general. All I can say is “unplug your internet connection now!” Also good justifications for having separate passwords (and usernames?) for each site.

Fluent Validation

The Fluent Validation library makes validation (and some business rules) almost a pleasure to write. I’ve used this with good results. Highly recommended!

Web Protection Library

I’ve heard of the Anti-XSS library, but I recently learned that MS released the successor to this in the form of the Web Protection Library. The implementation is a bit different and the feature set is a bit wider than it’s predecessor.

RestSharp and Hammock

All the “cool kids” are doing REST. Those living in Microsoft land have some support for this via WCF, OData, etc. But it can still be a little tricky.

RestSharp and Hammock for REST are two open source projects that make it really simple to consume REST based services. I’ve tried both and ended up using Hammock. Very nice work by both projects!


This is not a library. It’s a service. It took me a minute to get the vision, but I think it’s really cool…

Twilio is a REST API for “voice-enabling” your app and/or sending SMS messages. The voice part is cool because you can build a speech enabled “IVR” really easily.


This is another thing that all the cool kids are doing… DBs without SQL. No, this is not the resurrection of Object Databases. Rather, this is the movement to “Document Databases”.

A Document Database is one that stores a chunk of data as a single unit. In some ways, it’s kind of like storing a chunk of XML in a SQL Server XML column.

The difference is that document databases often store the data using a JSON (or BSON) type format. They support many of the standard DB-ish features like indexes, queries, inserts, updates, LINQ, transactions, replication, backups, etc. They also enable some new features that are not simple in a relational model, like crazy fast performance, sharding, etc.

I sort of wish that I would have known and considered these for a couple projects as they would have made certain scenarios much simpler and decreased the development time significantly.

So far, I’ve looked into (but not yet used):

MongoDB is a fairly mature, open source, C++ based, cross platform, cross language implementation. It also has a commercial option.

RavenDB is an open source and/or commercial implementation that is tailored a bit more toward .NET. My investigation indicated that it has some features that management might like to see, such as ACID transaction, integration with .NET TransactionScopes, online backups, etc.

Michael C. Kennedy has a great series of posts on NoSQL.

MVC Turbine

I’d heard of MVC Turbine a while back, but recently heard the interview on Herding Code, which helped me understand what it does and why it is.

From what I understand, the key feature is it’s “glue” that lets you use an IoC container with MVC. Apparently, this is not simple to do on your own. With this in place, the framework can add some really nice features to an MVC app.

Fluent Migrator

Just heard about Fluent Migrator one today. I’m intrigued by the concept of writing database migration steps in .NET such that they are DB agnostic and allow for easily moving a DB from one version to the next. This can be used in automated testing, automated deployments, and just getting a DB setup in the first place.

I’m still a big fan of the VS DB projects and Red-Gate’s tools, but this seems like another nice tool to have in one’s toolbox.

Reactive Extensions

RX for .NET and RX for JavaScript are two implementations of a pattern that make it simpler to “subscribe to events” and then do interesting filters or aggregations over multiple events and how those events relate to each other. There is a ton of info out there on these. Definitely worth a look. I hope to explore the applicability of these in a WPF app soon.


Clipperzis a “Web Rolodex for your passwords”. The cool thing is that they use client side, JavaScript based encryption technologies. They also follow a “Zero-Knowledge” approach and use the SRP protocol, meaning that the company itself has no way to decrypt the data that you store on their servers. Heady stuff, but very cool.