Earlier in the year I did a live Pluralsight webinar to about 700 people talking about what a Blockchain is? Why you would want to use one? The differences between a Blockchain and a Database and other interesting facts about the technology.
The recording of that Webinar is now available to watch on YouTube.
If you are interested in learning more about Blockchain from either a high level executive briefing standpoint or more as a software developer and architect, then I have the following courses available at Pluralsight.
I have been very busy recently making new courses for Pluralsight and I am delighted to say I have just released two of them over the past week. The first course is called, Executive Briefing: State of Blockchain. This couse is a little different to the normal content on Pluralsight in that it is a short filmed course as opposed to screen casts and demos.
The idea of this course is to teach information to tech leaders and C level execs quickly as they won’t normally have time to sit and watch long courses. My course is all about blockchain where I talk about what it is, why you would need it, potential use cases. I also run through a matrix of questions about whether a blockchai is suitable for your company and the key differences between a blockchain and a database.
This course was good fun to produce as I had to setup all the lighting and camera myself aswell as record good audio. This is much harder than you think with getting the lighting right to reduce glare from the computer screen and my glasses. I am really pleased with the results though.
Asynchronous Messaging with RabbitMQ and EasyNetQ
The second course I have released this week is a more traditional Pluralsight course called, Asynchronous Messaging with RabbitMQ and EasyNetQ. This course is about the RabbitMQ messaging platform and how to use it with the EasyNetQ client library. The course is aimed at C# developers using .NET Core or the .NET Framework, and it will get them up and running and productive very quickly as it is very demo focused.
This course works as a great companion to my other course, RabbitMQ by Example, which builds up the same sample application scenario but using the much more complicated RabbitMQ client library. If you want to compare the default client library to the EasyNetQ client library, then both courses will give you that information. If you just want to make your life easier and go straight to EasyNetQ, then this course contains everything you need.
The introduction of blockchain based technologies has been one of the most significant developments in computing in recent years. We now have access to public blockchains and cryptocurrencies with systems like Blockchain and Ethereum, and also private blockchains that can be used by more regulated consortiums of companies. As with any technology, it is important for developers and architects to have a good grasp of the underlying principles of these technologies, even if they are going to use a 3rd party toolset.
In my latest Pluralsight source, Blockchain – Principles and Practices, I take you under the covers of this fascinating technology and show you how it works at a data structure and algorithm level. As well as explaining the principles I also build up a working blockchain sample written in C# and .NET Core to help illustrate the principles in something that you can play with and debug. If you want to understand how this technology works, then this is the course for you.
Here is the course description:
Blockchains are probably one of the most highly talked about technologies at the moment as they provide a way to attain digital trust on the Internet. There is so much emphasis on the technology that companies are very keen to learn about Blockchains and adopt them. Venture capitalists are currently diverting a lot of investments into funding Blockchain-based companies.
In this course, Blockchain – Principles and Practices, you will explore the fundamental data structures and algorithms used to build a typical Blockchain and build up a working example over the course. First, you will learn how to store single transactions in a block. Second, you will discover how to store multiple transactions in a block using Merkle trees. Next, you will be taught how to make the Blockchain tamper-proof using mining and proof-of-work. Finally, you will learn how nodes on a Blockchain maintain consensus.
By the end of this course, you will have the knowledge and tools necessary to build your own Blockchain.
A Play by Play course is a little different to a conventional Pluralsight course because it is filmed in front of cameras as opposed to narrated slides. A Play by Play course is unscripted and is a conversation between the two of us about a particular subject. The subject is meant to be narrow enough for us to have a good discussion about it in around an hour. These courses are great for opening peoples minds up to different subjects or ways of working or thinking.
The photo above was taken while we were filming in Oslo. I recorded two courses with Lars that day, and this is the first one to be released. They are great fun to record, if a little scary at first with all the camera, lights, and mics. Thankfully I didn’t need the anti-glare makeup powder, even though it was very hot in that room. This is the 2nd Play by Play I have had this year. The first was about Enterprise data security and encryption key management in Azure.
This course is all about virtual reality, augmented reality and mixed reality with the Microsoft Hololens. In this course, Lars was the subject matter expert, and my job was to drive the conversation by asking the questions that the viewer might ask when learning the subject. We cover a lot of ground in this course, and Lars also demonstrates some of the tools used, like Unity 3D, for creating engaging Hololens experiences.
Here is the official course description:
Play by Play is a series in which top technologists work through a problem in real time, unrehearsed, and unscripted. In this course, Play by Play Developing Engaging Digital Reality Experiences, Lars Klint and Stephen Haunts introduce the fundamentals of the major pillars in designing and building universal apps for HoloLens in particular. Learn how to use gaze, gestures, voice, and audio to create an app that is immersive and engaging. By the end of this course, you’ll understand the possibilities as a developer in creating a virtual world, where a mixed reality app uses the real world around you.
Whilst I was at NDC Oslo this year I was fortunate enough to record some more Play by Play courses with my good friend Lars Klint for Pluralsight. This time I recorded 2 courses with Lars, whereas in London in January, I recorded 1 course. The first was on Social Engineering, and in this course, I was the subject matter expert, whilst Lars Facilitated the course, and the 2nd course was about creating engaging digital realities with the Hololens where Lars was the subject matter expert and I was the facilitator.
As in January, this was a really fun process and the camera crew was good fun to work with. The room was in the basement of the Oslo Spektrum arena, so they needed a lot of lights to illuminate the scene, which made the room quite warm, but the recordings went smoothly.
I am not sure when the courses will be out. I expect it will be over the next couple of months, but I am looking forward to seeing the results after the magic of editing. I would love to do some more, in the future. We will have to see what happens.
I am pleased to announce that my latest Pluralsight Course called, Improving Brownfield .NET Apps with Code Analysis and Metrics has been released. This course is all about trying to improve the quality of your code by using the code metrics and static code analysis tools that come with Visual Studio, including Visual Studio 2017.
The course is nice and short and to the point, which makes it very easy to watch and digest the information in a short space of time. I explain how all of these tools work in detail and follow up with live coding demos. If you have to work with large legacy code bases then these tools are very good at helping you understand the state of the code to make refactoring easier, and the code analysis tools make it easier to ensure your code confirms to Microsoft best practice.
The course is split into 5 modules. The first module is the trailer and information about the course. Next, we have a module that talks about what quality is and the impact of poor quality code to businesses and their users. Then I walk you through the standard code metrics that are available and how to use them. Next, I show you how to configure and use the code analysis tools in Visual Studio, with a demo, before wrapping up the course.
For many people maintaining brownfield software is a large part of their job. When you maintain this older code, having the ability to analyze code quality and setup automated code quality checks can be invaluable. In this course, Improving Brownfield .NET Apps with Code Analysis and Metrics, you’ll look at the tools built into Visual Studio to help you improve brownfield application quality with code metrics and static code analysis. First, you’ll explore what quality means to software and its users, along with different types of testing that can be utilized. Next, you’ll discover the tools built into Visual Studio, such as the built-in code metrics that you can generate from your own code. Finally, you’ll learn how to setup and interpret the inbuilt static code analysis tools. By the end of this course, you’ll have the necessary skills to efficiently use code metrics and static code analysis.
I first hinted at this course back in January after attending NDC London, as this Play by Play was recorded at the conference. It is the first time I have done anything like this and I really enjoyed the whole experience. The subject we discussed in the course is about protecting your data in a multi-tenant environment in the cloud (Azure for example) using Azure Key Vault. This is a subject that is vital for organisations to get right, which is why we thought it would make a good Play by Play.
Here is the course description:
Play by play is a series in which top technologists work through a problem in real time, unrehearsed and unscripted. In this course, Play by Play: Enterprise Data Encryption with Azure Revealed, Stephen Haunts and Lars Klint look at the different ways in which enterprises can protect their data, especially in a cloud-first, multi-tenant world. You’ll learn concepts around encrypting enterprise data, look at what you should encrypt, and cover robust patterns and practices you can follow in your organizations. By the end of this course, you’ll have a better understanding of enterprise data encryption methods and how to apply them to your organization.
As the description states these courses are unrehearsed and unscripted, which is true. We have an idea of the demos and a list of bullet points of things we want to cover but apart from that the course is done as a conversation between me and Lars.
These courses are designed to be deliberately short, around an hour, because we pick one narrow subject and discuss that in detail. These are not full subject, in depth courses, but they give you enough knowledge to be practical and useful with tips for further research. This means that the courses are very easy to watch in a short space of time. This course is about an hour in length, so is the length of a normal podcast or conference talk.
If you watch this course and then want to go into much more depth, then this course compliments my other course called Practical Cryptography in .NET which goes into much more detail on the AES and RSA cryptographic algorithms. What this Play by Play features is how to securely protect any encryption keys you use to protect your data.
The Play by Play is quite practical and I run through several code demos. The source code for all these demos are included with the course.
During my recent speaking trip to the NDC London conference, I was also invited to record a Play by Play course for Pluralsight. A Play by Play course is a short film course that is in a conversational style. This involves having one person who is the subject matter expert for the course, and a 2nd person who is the facilitator for the course. It is this persons job to introduce the course and help draw information out of the subject matter expert by asking questions. This conversational style should make it easier for the learner to get a good gist of the subject in a short space of time. These types of courses are not meant to be super in-depth, but an introduction to a subject, or focusing on one area of a larger subject.
My partner in crime for this course was Lars Klint, who is another Pluralsight author. Lars has done a few of these courses before, so I knew I was in good hands. The course we was recording was about enterprise data security using Azure KeyVault. Essentially the course was about encryption key management using hardware security modules, or abstracted hardware security modules like Azure KeyVault.
We started the planning for this course in December where we put together the proposal that split the course down into modules. Each of these modules then had a content plan so we knew what the overall narrative would be from start to finish. Once this was approved I then split this out in to a slide deck where we have bullet points for each modules. I had this on my screen whilst we were recording. This acted as a prompt for me and Lars. Whilst this prompt would have been recorded on my laptop, none of this will be seen as it will be edited out.
When I first walked into the room on the day of recording, I will admit that it felt a little intimidating seeing all the lights, 3 large cameras and 3 camera operators, but luckily Lars and Troy Hunt were recording a course first, so they were happy for me to sit in and watch. I am glad I did this as it meant I could see what was involved, including how best to recover if you make a mistake. The technique here is to remember what you last said, pause and carry on with the same intonation in your voice to help make it a clean edit point for the editor. Every now and again we would speak out editor notes to the camera, but of course this will all be edited out of the final course.
I recently released my latest (7th) course over at Pluralsight called RabbitMQ by Example. This course shows you how to make full use of RabbitMQ in your .NET applications. RabbitMQ is a very powerful messaging broker and this course takes a practical look at how to use it by showing you how to build a payments system.
Here is the official course description :
In this course, RabbitMQ by Example, you will see how to use RabbitMQ by using practical examples featuring a fictional company and a software development scenario based around taking card payments and purchase order payments. You’ll start with an introduction to RabbitMQ and how it compares to Windows’ default queue technology, MSMQ. As well as looking at RabbitMQ specifically, you will look at message queuing architectures, micro services, and how RabbitMQ can work as a broker for handling asynchronous and synchronous messages in this architecture. You will also get to explore the use of the topics exchange for routing and synchronous remote procedure calls. By the end of this course, you’ll be ready to use RabbitMQ in your .NET applications.
The course is split into 8 modules
Introducing RabbitMQ Exchanges
Understanding Queuing Architecture
Implementing Microservices and Message Queueing
Installing and Configuring RabbitMQ
Implementing Queueing Code
The example application built in this course is based around the concept of Microservices, so this is a great use case for modern enterprise application development. The feedback from the course so far has been excellent as it has been getting very good ratings, so I am glad that it is helping people.