Programming

Resharper – Using custom patterns to catch subtle bugs with OfType<T>

One of the pitfalls with LINQ which I have fallen into on multiple occasions is around the use of the OfType<T> extension method with dictionaries. Either through carelessness or changes to the underlying variable (a class property being changed from list to dictionary for instance) I have ended up using OfType<…> on a dictionary which …

Resharper – Using custom patterns to catch subtle bugs with OfType<T> Read More »

Introducing, DSLs to query against Amazon CloudWatch metrics

If you have done any DevOps work on Amazon Web Services (AWS) then you should be familiar with Amazon CloudWatch, a service for tracking and viewing metrics (CPU, network in/out, etc.) about the various AWS services that you consume, or better still, custom metrics that you publish about your service. On top of that, you …

Introducing, DSLs to query against Amazon CloudWatch metrics Read More »

Introducing log4net.Kinesis, a log4net appender for Amazon Kinesis

Just under three weeks ago, Amazon announced the public availability of their new Kinesis service, a service which is designed to allow real-time processing of streaming big data. As an experiment I have put together a simple, actor-based customer appender for log4net which allows you to publish your log messages into a configured Kinesis stream. …

Introducing log4net.Kinesis, a log4net appender for Amazon Kinesis Read More »

Echo websocket server using websocketd – as if by magic!

I stumbled across this little gem the other day – websocketd – which turns anything that takes standard-in and standard-out into a websocket server! To build a dead simple echo server, follow these steps: follow the download instructions here (don’t forget to add it to your PATH) create a new console application in Visual Studio …

Echo websocket server using websocketd – as if by magic! Read More »

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close