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.