RabbitMQ Series Part 1: What is RabbitMQ?

In this series of articles I am going to discuss how to configure and use RabbitMQ with the .NET client libraries. In this first article let’s talk about what message queueing is and then more specifically what RabbitMQ is.

What is Message Queueing

Message queuing gives you a mechanism to allow an application to asynchronously send a message to a receiver. This means that the sender and receiver do not need to interact with the message at the same time. A message is sent to a queue where it is stored until the receiver retrieves the message.

Message queues can be inter-process where the queue resides in memory on a single server or for integrating systems across multiple servers. This can be done by using in-memory queues but it is also common to use durable queues in which the messages are persisted to disk, meaning that messages are not lost should any system or server go offline for any period of time.

RabbitMQ Example Message Brokers
RabbitMQ Example Message Brokers

Message queuing systems come in many forms—both as commercial proprietry products and as open-source products. An example of a commercial solution is IBM MQ. Examples of open-source message queuing systems include RabbitMQ, JBoss Messaging , and Apache ActiveMQ.


Secret Files Decrypted by the Russians and Chinese

It was reported in the press today that a series of files contained in the files stolen by Edward Snowden have been decrypted by the Russians and the Chinese which has given up vital strategic intelligence information forcing SIS (MI6) to move under cover agents out of potential harms way. This story interest me particularly especially with my interest in Cryptography and releasing a Pluralsight course about Cryptography.

Edward Snowden : Secret Files Decrypted by the Russians and Chinese
Edward Snowden : Secret Files Decrypted by the Russians and Chinese

There are a couple of things I am wondering. From a technical perspective, how were the files protected? Was it using AES, RSA, a combination of both? Where the files broken using a Brute force attack? Where the keys particularly weak. These are questions that I am sure I won’t get answers too, but I am curious none the less.

Aside from my own technical geeky curiosity, the other thing running through my mind is why is this even in the news in the first place. It is quite strange that we would hear anything about MI6 operations in the press, which leads me and many others like Former Conservative cabinet minister Andrew Mitchell from wondering if the news story was very well timed to coincide with the Anderson Report.

New Blog Template

This blog, Stephen Haunts { Coding in the Trenches }, has been running since 2012 and since then I hadn’t changed the visual style of the site. For you regular readers you may have noticed that the styling has changed  a bit from today.

New Blog Template
New Blog Template

I have kept the same kind of layout, as I think this works well for a blog like this, but the styling has been updated to make it look and feel more modern and minimal. This site is also now fully responsive, so it will scale down well to tablets and phones.

I hope you like the changes. If you have any feedback on the new template then please leave a comment on this post.

Universal Apps on Windows 10

With the release of Windows 10 getting ever closer (July 29th for the desktop version), Microsoft is putting a lot of weight around the new Universal Applications platform for Windows 10. This means you will now be able to write one application with one binary that works across the entire range of Windows 10 devices. This includes the desktop, mobile, IOT, Xbox, tablets and Hololens.

Universal Apps Platform
Universal Apps Platform

This is really big news and helps solidify the convergence of their platforms and builds on the windows application platform introduced as part of Windows 8.1. They were partly there with Universal Applications under Windows 8.1, but you still needed a desktop and Windows Phone version of your application even though you could share a large part of the code. Unfortunately the adoption of the Windows Application platform and store apps under Windows 8.1 was never really adopted by the mass market consumer and people who create apps for them, but I really hope that changes with Windows 10.

To me it finally seems as though Microsoft has created an almost perfect platform, and I really do hope it catches on as the programming model looks great, and a perfect evolution from Windows 8.1. Due to the fact that an app runs across all the device groups, Microsoft is claiming that not long after launch they will be on around a billion devices. This is great, but what Microsoft really has to focus on, it getting consumers to recognize that there is a store where they can buy apps.

Big Balls of Foam

Recently I purchased a new ultrabook laptop to replace my desktop computer. The laptop is great but I encountered one problem, the laptop fan. I am using the laptop with a docking station and had the laptop on top of the desk. After a while the fan kicks in and it is fairly noisy. It’s not too noisy that it is a major problem, but when I am recording modules for Pluralsight, the noise can be an issue as the laptop was near the mic.

I mitigated this a little but repositioning the dock under the desk. When the laptop is docked I use 2 HD screens, so I wasn’t concerned about using the laptop screen in this situation, and docking under the desk certainly reduced the noise to the Microphone. Whilst this was a big improvement, I was still picking up the fan noise in my recordings.

Kaotica Eyeball
Kaotica Eyeball

I asked on the Pluralsight authors mailing list how people deal with laptop noise as there are quite a few people who use Ultrabooks or Mac Books and there was a few solutions. One was doc the laptop on the other side of the room using a very long cable. I certainly wasn’t going to do that. The other was to buy a device that attaches to the microphone called the Kaotica Eyeball.

The Kaotica Eyeball is acoustic treatment that attaches to a condenser microphone and it is essentially a dense ball of foam with a fabric pop shield at the front. The idea is that it blocks out ambient room noise and focuses sound from the front of the eyeball onto the mic. I was sceptical at first, but after doing some research on-line I decided to buy it. It’s not cheap at $200 but I have to say the difference this has made to my recordings is remarkable. I recently started production on a new Pluralsight course and for the first module I used the eyeball attached to my Microphone. The clarity in the recordings in astounding, and my editor thought so too as the early feedback was that the audio quality was very good.

If you do voice recording work or even record vocals in a less than optimal room, then you should definitely get one of these. I do my recording in a spare bedroom, so treating the room with acoustic tiles is not an option, so this is a much better way of doing it.

Cryptography in .NET Talk at the DotNet Notts Usergroup

Stephen Haunts { Coding in the Trenches }

Meetup at DotNet Notts Meetup at DotNet Notts

On January 26th 2015 I will be doing a talk at the DotNet Notts usergroup in Nottingham UK. The talk will be on Pragmatic Cryptography in .NET. The talk synopsis is as follows.

Data security is something that we as developers have to take seriously when developing solutions for our organizations. Cryptography can be a deeply complicated and mathematical subject but as developers we need to be pragmatic and use what is available to us to secure our data without disappearing down the mathematical rabbit hole.

In this talk Stephen Haunts will take you through what is available in the .NET framework for enterprise desktop and server developers to allow you to securely protect your data to achieve confidentiality, data integrity and non-repudiation of exchanged data. Stephen will cover the following:

Cryptographically secure random number generation.

Hashing and Authenticated Hashes.

Symmetric Encryption with DES, TripleDES…

View original post 22 more words

Developer to Manager Pluralsight Course now Live

I am pleased to announce that my first Pluralsight course, Developer to Manager, is now live and available to watch for all Pluralsight subscribers. You can view a demo of the course below.

The course is based off an article I wrote earlier this year called Transition from Developer to Manager. This has been the single most popular article on this blog. I frequently receive emails from people asking advice on moving into a supervisor / leading role, so I hope this course will help everyone who watches it.

Stephen Haunts Pluralsight Author Page
Stephen Haunts Pluralsight Author Page

The course will start off by covering what a typical supervisor / management role looks like and its aim is to set the listeners expectations about the role to help them make an informed decision. The course then goes on to help the listener come up with a 90 day plan to help them make a real impact in the role if they choose to make the leap.

The structure of the course is as follows:

Module 1 : Introduction

Module 2 : What Does it Mean to be a Manager?

Module 3 : Your Team

Module 4 : Your First Month

Module 5 : Your Second Month

Module 6 : Your Third Month