A Geek Christmas Quiz–The Answers!
Thanks for everyone who had a go at my Geek Christmas Quiz. The response was fantastic with both Iain HolderandRob Pickering sending me emails of their answers. I’m pretty sure neither of them Googled...
View ArticleConverting Between Unix Time And DateTime
Unix time is the time value used in Unix based operating systems and is often exposed by Unix based APIs. To convert it to, or from, a .NET System.DateTime simply calculate the number of seconds since...
View ArticleVisual Studio: Multiple Startup Projects
I’ve been using Visual Studio for over 10 years, but still keep on learning new tricks. That’s because I learn things very slowly dear reader! Today’s ‘wow, I didn’t know you could do that moment’, was...
View ArticleHow to Write Scalable Services
I’ve spent the last five years implementing and thinking about service oriented architectures. One of the core benefits of a service oriented approach is the promise of greatly enhanced scalability and...
View ArticleEasyNetQ in Africa
Anthony Moloney got in touch with me recently. He’s using EasyNetQ, my simple .NET API for RabbitMQ, with his team in Kenya. Here’s an email he sent me:Hi Mike,Further to the brief twitter exchange...
View ArticleEasyNetQ on .NET Rocks!
Last week I had the pleasure of being interviewed by Carl Franklin and Richard Campbell for a .NET Rocks episode on RabbitMQ and EasyNetQ. It was terrific fun and a real honour to be invited on the...
View ArticleFractured Product Syndrome
How do you sell your software product? Do you fork the source code of your previous customer, modify it a little and deploy it as its own instance with its own database? Maybe each customer even has...
View ArticleCoders, Musicians and Cooks
In a light hearted Twitter exchange yesterday I asked why so many coders also played guitar. Mark Seemann suggested that there was also a high correlation with cooking. How about a survey? Mark and I...
View ArticleLua as a Distributed Workflow Scripting Language
I’ve been spending a lot of time recently thinking about ways of orchestrating long running workflows in a service oriented architecture. I was talking this over at last Tuesday’s Brighton ALT NET when...
View ArticleSerializing Lua Coroutines With Pluto
In my last post I showed how it’s possible to use Lua as a distributed workflow scripting language because of its build in support for coroutines. But in order to create viable long-running workflows...
View ArticleStop Your Console App The Nice Way
When you write a console application, do you simply putConsole.WriteLine("Hit <enter> to end");Console.ReadLine();at the end of Main and block on Console.ReadLine()?It’s much nicer to to make...
View ArticleThe Benefits of a Reverse Proxy
A typical ASP.NET public website hosted on IIS is usually configured in such a way that the server that IIS is installed on is visible to the public internet. HTTP requests from a browser or web...
View ArticleSSH.NET
I’ve recently had the need to automate configuration of Nginx on an Ubuntu server. Of course, in UNIX land we like to use SSH (Secure Shell) to log into our servers and manage them remotely. Wouldn’t...
View ArticleNuGet Install Is Broken With F#
There’s a very nasty bug when you try and use NuGet to add a package reference to an F# project. It manifests itself when either the assembly that is being installed also has a version in the GAC or a...
View ArticleAutomating Nginx Reverse Proxy Configuration
It’s really nice if you can decouple your external API from the details of application segregation and deployment.In a previous post I explained some of the benefits of using a reverse proxy. On my...
View ArticleRedis: Very Useful As a Distributed Lock
In a Service Oriented Architecture you sometimes need a distributed lock; an application lock across many servers to serialize access to some constrained resource. I’ve been looking at using Redis, via...
View ArticleGuest Post: Working Around F#/NuGet Problems
A first for me. A guest post by my excellent colleague Michael Newton.Michael normally blogs at http://blog.mavnn.co.uk and works at 15below. He’s the build manager at 15below and has developed various...
View ArticleBrighton ALT NET @ Brighton Digital Festival
TL;DR We need you! Present your project at our BDF special event in September.Brighton Digital Festival is a month long celebration of all things digital throughout September in the lovely city of...
View ArticleEasyNetQ: Big Breaking Changes in the Advanced Bus
EasyNetQ is my little, easy to use, client API for RabbitMQ. It’s been doing really well recently. As I write this it has 24,653 downloads on NuGet making it by far the most popular high-level RabbitMQ...
View ArticleEasyNetQ: Topic Confusion!
This is a quick post to highlight a common cause of confusion when people play with topics in EasyNetQ.You can subscribe to a message type with a topic like this:bus.Subscribe<MyMessage>("id1",...
View Article