Quantcast
Channel: Code rant
Browsing all 112 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

Tracing System.Net to debug HTTP Clients

If you are writing software that leverages the System.Net.WebRequest class, you’re probably familiar with tools like Fiddler or Wireshark. You can use these tools to see the actual HTTP requests and...

View Article


Image may be NSFW.
Clik here to view.

Reading UTF-8 Characters From An Infinite Byte Stream

I’ve been playing with the twitter streaming API today. In very simple terms, you make an HTTP request and then sit on the response stream reading objects off it. The stream is a stream of UTF-8...

View Article


Image may be NSFW.
Clik here to view.

Sprache – A Monadic Parser For C#

Recently I had a requirement to parse AMQP error messages. A typical message looks something like this: The AMQP operation was interrupted: AMQP close-reason, initiated by Peer, code=406,...

View Article

Image may be NSFW.
Clik here to view.

REST – Epic Semantic Fail

Roy Fielding writes a PhD dissertation describing the architectural style of the World Wide Web. He coins the term ‘Representational State Transfer’ (REST) to describe it – after all, if you’re going...

View Article

Image may be NSFW.
Clik here to view.

Using Git and GitHub in a Microsoft Development Team

The team at 15Below, my excellent clients, have been using Git and GitHub since last September. Although I’ve been using GitHub for open source projects for several years now, this is the first time...

View Article


Image may be NSFW.
Clik here to view.

Wiring up TopShelf, Windsor and EasyNetQ

EasyNetQ is my simple to use .NET API for the awesome RabbitMQ messaging broker. Architecting system around a message bus involves writing many small focussed components that sit on the bus waiting for...

View Article

Image may be NSFW.
Clik here to view.

Return a Task From BeginExecuteNonQuery

Blog as notepad time. Just a little reminder for myself on how to return the result from BeginExecuteNonQuery as a Task<int> public Task<int> Save(string value){ var taskCompletionSource =...

View Article

Image may be NSFW.
Clik here to view.

Replacing EasyNetQ Components

EasyNetQ, my simple .NET API for RabbitMQ, is a library composed of small components. Until today, the code simply wired the components in a messy hard-coded routine. Now it has its own tiny internal...

View Article


Image may be NSFW.
Clik here to view.

Parsing a Connection String With Sprache

Sprache is a very cool lightweight parser library for C#. Today I was experimenting with parsing EasyNetQ connection strings, so I thought I’d have a go at getting Sprache to do it. An EasyNetQ...

View Article


Image may be NSFW.
Clik here to view.

EasyNetQ Cluster Support

EasyNetQ, my super simple .NET API for RabbitMQ, now (from version 0.7.2.34) supports RabbitMQ clusters without any need to deploy a load balancer. Simply list the nodes of the cluster in the...

View Article

Image may be NSFW.
Clik here to view.

A Functional IoC Container

Today I was idly thinking about an idea I had a couple of years ago for a functional IoC container. I’d had a go at implementing such a beast, but soon got bogged down in a tangled mess of spaghetti...

View Article

Image may be NSFW.
Clik here to view.

EasyNetQ Publisher Confirms

EasyNetQ is my easy-to-use .NET API for RabbitMQ.The default AMQP publish is not transactional and doesn't guarantee that your message will actually reach the broker. AMQP does specify a transactional...

View Article

Image may be NSFW.
Clik here to view.

Nicer Client Properties For EasyNetQ

EasyNetQ is my lightweight easy-to-use .NET API for RabbitMQ.Today I added a small but very nice feature, better client properties. Now when you look at connections created by EasyNetQ you can see the...

View Article


Image may be NSFW.
Clik here to view.

A C# .NET Client Proxy For The RabbitMQ Management API

RabbitMQ comes with a very nice Management UI and a HTTP JSON API, that allows you to configure and monitor your RabbitMQ broker. From the website:“The rabbitmq-management plugin provides an HTTP-based...

View Article

Image may be NSFW.
Clik here to view.

Using BlockingCollection To Communicate Between Threads

Consider these (somewhat) common programming challenges:I’m using a third party library that is not thread safe, but I want my application to share work between multiple threads. How do I marshal calls...

View Article


Image may be NSFW.
Clik here to view.

RabbitMQ On Windows With .NET, A Case Study

Any reader of this blog will know that my big project over the last year has been to create a simple .NET API for RabbitMQ called EasyNetQ.  I’ve been working as a software architect at 15Below for the...

View Article

Image may be NSFW.
Clik here to view.

The Onion Of Compromise

I love little phrases that sum up large scale behaviours in software systems and the organisations that produce them. One of my favourite is “The Onion Of Compromise.” I first heard this gem from my...

View Article


Image may be NSFW.
Clik here to view.

WebRequest Throws On 404 Status Code

WebRequest, or rather HttpWebRequest has the annoying behaviour or throwing a WebException when the server returns 404 ‘not found’ status, or in fact any unexpected status number. It would be much...

View Article

My Super Simple Node Twitter Re-Tweeter

I’ve been having a lot of fun writing a little ‘re-tweeter’ this morning. We basically want to monitor our user stream and then re-tweet any status with a particular hash tag. I thought this would be...

View Article

Image may be NSFW.
Clik here to view.

A Geek Christmas Quiz

God rest ye merry gentlemen! Welcome to my 2012 Geek Christmas Quiz. Every Friday morning at 15below we have a ‘DevEd’ session. Usually this is a presentation about some interesting tech, or a new way...

View Article
Browsing all 112 articles
Browse latest View live