Practical Cryptography in .NET Course Released by Pluralsight

I am pleased to announce that my latest course, Practical Cryptography in .NET has been released by Pluralsight.

The course description is as follows:

As a software developer you have a duty to your employer to secure and protect their data. In this course you will learn how to use the .NET Framework to protect your data to satisfy confidentiality, integrity, non-repudiation and authentication.

This course covers random number generation, hashing, authenticated hashing and password based key derivation functions. The course also covers both symmetric and asymmetric encryption using DES, Triple DES, AES and RSA. You then learn how to combine these all together to product a hybrid encryption scheme which includes AES, RSA, HMACS and Digital Signatures.

The course is aimed at teaching developers about the importance of protecting sensitive data within their systems.

Practical Cryptography in .NET Coming Soon to Pluralsight

Practical Cryptography in .NET Coming Soon to Pluralsight

As-well as giving lots of technical background, the course will be very practical with lots of live code demonstrations. The course will be split into the following modules.

1. Course Outline and Introduction
2. Cryptographic Random Numbers
3. Hashing Algorithms
4. Secure Password Storage
5. Symmetric Encryption
6. Asymmetric Encryption
7. Hybrid Encryption
8. Digital Signatures
9. Secure String
10. Course Summary

Modules 2 – 6 covers a lot of theory and practical advice on using what is built into the .NET Framework. Module 7 on Hybrid Cryptography takes this a step further to combine a lot of the cryptographic primitives discussed into a cryptography scheme that gives the flexible key management benefits of RSA with the benefits and speed of algorithms like AES which includes full authenticated integrity checking.

Practical Cryptography in .NET Coming Soon to Pluralsight

Practical Cryptography in .NET Coming Soon to Pluralsight

This then gets expanded on further by introducing the concept of Digital Signatures to build in non-repudiation into the system.

Practical Cryptography in .NET Coming Soon to Pluralsight

Practical Cryptography in .NET Coming Soon to Pluralsight

The course has been a lot of fun to produce and I hope you find it useful. Protecting data is something that every developer should take very seriously and this course gives you all the tools you need to protect your companies data from ex-filtration by hackers or anyone else that wants to cause organisations harm.

Posted in Coding, Commentary, Cryptography, Pluralsight | Tagged , , , , | Leave a comment

Microsoft Band First Impressions

For the last month I have had Microsofts new fitness band on pre-order waiting for the official UK release. It finally turned up this week. As a software developer and developer leader I spend most of my time sitting down, which isn’t great for your long term health. Recently Me and my Wife decided to take out joint gym memberships so we could get a bit healthier. I could certainly do with loosing some weight.

Naturally being a gadget geek I wanted to augment this experience with some technology and as I have made my career what it is by working in the Microsoft Space it made sense to try our their fitness tracker.

Microsoft Band

Microsoft Band

So far I have been very impressed with it. The band is comfortable to wear and although it looks bulky on top it looks reasonable in my opinion. The band contains 10 sensors, to measure heart rate, steps, calories, Sun UV, GPS and all this is available via a touch screen.

The main features for the band are :

  • 24-hour heart rate tracking – Monitor your heart rate 24 hours a day so you can perform at your best
  • Sleep Tracking – See how long and how well you sleep and how often you wake
  • GPS Run Mapping – Map the routes you’ve run, biked, or hiked and save your favorites
  • Get the most out of Microsoft Band with the Microsoft Health app and a full-featured web dashboard
  • Works with the phone you own – iPhone, Android, or Windows Phone Microsoft Band is designed to be awesome on multiple platforms
  • Works with Windows Phone 8.1 update, iOS 7.1 and later and Android 4.3-5.0 phones, with Bluetooth

The main configuration I have done with the band is to turn off email, message and phone notifications. Personally I find them annoying, but I know some people like this sort of thing. What I do love though is the ability to track steps, calories and heart-rate. You can set up calorie, and walking targets so you can measure if you are hitting your own targets. I have the steps target set to 10,000 steps and the calorie burn target set to 2600 calories.

Continue reading

Posted in Commentary, Gadgets | Tagged , | 2 Comments

The Evolution of the Employee

I was reading an article over at Troy Hunts blog about him hitting a personal milestone by getting made redundant and now going full time on creating courses for Pluralsight, and he had a really interesting infographic in his post which was taken from the book the book called “The Future of Work” by Jacob Morgan.

The infographic is about the evolution of the employee and it struck a real chord with me as it aligns with how I have been thinking recently and highlights pretty much everything I have been striving for and want to achieve in the future.

The Future of Work

The Future of Work

I’ll just highlight a few that are really important to me.

Works Anywhere / Any time : The focus of my career is changing and for me the ability to work anywhere is really important. I also find I am my most productive when I change my work environment, be it working from home or a coffee shop. Recently in the office I had to give up my desk and start hot desking. Initially I wasn’t too keen on it, but actually I am really liking it. There are many hot desks all over the building and I change where I work frequently. This not only gives a change of scenery, but I meet more people.

In another article about retaining software developers, I stated that it is important for a developer to have a desk they call their own, and I still believe this is very important.

For my own purposes though, I don’t write code in my current job, so hot desking is more suitable to my needs.

As for working any-time. I find the 9-5 grind a little restrictive. I have 2 kids in school and childcare and to help my wife out I have to be flexible with work times. Sometimes this means working a shorter day in the office as I have to both drop off and collect the kids. Even though my employer is OK with this, I always feel a little uncomfortable about it. As for my out off the office work, like Pluralsight courses, I tend to be most productive with them when I work late at night.

Continue reading

Posted in Career, Commentary | Tagged , | 3 Comments

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.

Posted in Commentary, General, Pluralsight | Tagged , | 5 Comments

The Surprising Truth About What Motivates Us

In my post on Retaining Software Developers, I had a number of really good comments to the post. One of the comments made reference to a fantastic video about the Truth about what really motivates us.

This video is an animated short which summarises a longer video by Dan Pink. If you are a software developer or a lead of developers, then I really recommend watching this video.

Posted in Commentary, Leadership | Tagged , | Leave a comment

Retaining Software Developers in Your Company

As a company owner or hiring manager, attracting software developers into your organisation is one challenge. You have to hook them in with a job specification and then sell your company to them in an interview as-well as gauge their technical abilities.

But once a developer starts at your company, you then have to retain them. The jobs market is quite vibrant at the moment and developers have a plentiful choice of companies to go to as a permanent or contractor developers.

Retaining Software Developers in Your Company

Retaining Software Developers in Your Company

On-boarding and training up a new developer is quite a large commitment to a company in terms of time and costs, so how do you keep a developer engaged and wanting to stay so they can be productive and give a return on your investment.

In this short article I want to share some of my thoughts and view on this, but what I would really like to happen is for you to comment on this article and give your opinion either as a developer or as a companies hiring manager.

Has your company done something else to retain staff, if so what and how well did it work? Did they try something and it didn’t work?

Continue reading

Posted in Commentary, Leadership, Motivation, Recruitment | Tagged , , | 15 Comments

Cryptography in .NET talk at the Derbyshire.Net User Group

Cryptography in .NET talk at the Derbyshire Dot Net User Group

Cryptography in .NET talk at the Derbyshire Dot Net User Group

I will be doing a talk at the Derbyshire Dot Net user group on March 26th 2015 in Derby. The talk will be on Cryptography in .NET.  The talk will be at Sadler Bridge Studios in the City Centre and start at 7pm.

The talk synopsis is:

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.
  • Secure Password Storage
  • Symmetric Encryption with DES, TripleDES, and AES.
  • Asymmetric Encryption with RSA.
  • Hybrid Encryption by using Symmetric and Asymmetric encryption together.
  • Digital Signatures.

Stephen Haunts is a Development Manager working in the healthcare division at Boots and has been developing code since he was 10. Stephen is also an author with Pluralsight and a book author writing for the Syncfusion Succinctly series of books.

Posted in Cryptography | Tagged | 2 Comments

Generating Data Type Classes from XML

I was shown a nice trick recently in Visual Studio that I never realised existed. The technique is an easy way to create a C# class from an XML or JSON document. Have you ever been in the situation where you are taking an XML or JSON feed from one system and need to integrated it into a project you are working on? I have plenty of times and creating the data type from that XML so you can de-serialize it back can be a pain.

Generating Data Type Classes from XML

Generating Data Type Classes from XML

At first I thought I must be the only person who doesn’t know this, but on discussing it with some team members, they hadn’t hear of it either. Lets take a look at an example with XML. I have taken an example excerpt of XML from the W3CSchools website.

<breakfast_menu>
    <food>
        <name>Belgian Waffles</name>
        <price>$5.95</price>
        <description>
            Two of our famous Belgian Waffles with plenty of real maple syrup
        </description>
        <calories>650</calories>
    </food>
    <food>
        <name>Strawberry Belgian Waffles</name>
        <price>$7.95</price>
        <description>
            Light Belgian waffles covered with strawberries and whipped cream
        </description>
        <calories>900</calories>
    </food>
    <food>
        <name>Berry-Berry Belgian Waffles</name>
        <price>$8.95</price>
        <description>
            Light Belgian waffles covered with an assortment of fresh berries and whipped cream
        </description>
        <calories>900</calories>
    </food>
    <food>
        <name>French Toast</name>
        <price>$4.50</price>
        <description>
            Thick slices made from our homemade sourdough bread
        </description>
        <calories>600</calories>
    </food>
    <food>
        <name>Homestyle Breakfast</name>
        <price>$6.95</price>
        <description>
            Two eggs, bacon or sausage, toast, and our ever-popular hash browns
        </description>
        <calories>950</calories>
    </food>
</breakfast_menu>

If you take the above XML and place it into the clip board. Then create or open an existing visual studio project. Goto the Edit Menu and select “Paste Special” and then “Paste XML as Classes“. This will create a set of classes that represents the XML data structure.

Continue reading

Posted in Coding, Visual Studio | Tagged , , | 1 Comment

Interview on the Syncfusion Blog

Syncfusion recently did a quick interview with me for their blog. I was interviewed because I am an author on their Succinctly series of e-books.

Stephen Haunts Interview on the Syncfusion Blog

Stephen Haunts Interview on the Syncfusion Blog

The interview is based around my recently book release called “Cryptography in .NET Succinctly“. The book description is as follows:

Cryptography is used throughout software to protect all kinds of information, from emails, to passwords, to credit card data, and more. It goes beyond encrypting data, and provides assurances of confidentiality, informational integrity, and non-repudiation. With Cryptography in .NET Succinctly by Stephen Haunts, you will learn various methods to implement cryptography in .NET apps, including using the SHA, AES, and RSA hash algorithms, leveraging symmetric and asymmetric encryption, and creating digital signatures.

Cryptography in .Net by Stephen Haunts

Cryptography in .Net by Stephen Haunts

Table of Contents

What is Cryptography?

Cryptographic Random Numbers

Hashing Algorithms

Password Storage

Symmetric Encryption

Asymmetric Encryption

Hybrid Approach (RSA+AES)

Digital Signatures

Posted in Commentary, Cryptography, Security | Tagged , , | Leave a comment

Using Music to Focus

Recently, Carl Frankin, software developer, musician and presenter on the popular programming podcast DotNet Rocks, released a music album aimed a software developers. The album is called Music to Code By and comprises of 3 x 25 minute long music tracks.

The idea behind the album is that each track is the length of one pomodoro and you listen to the music and focus on your work for 25 minutes and then take a break. After this break, you work for another 25 minutes. The music is designed help you concentrate and filter out any distractions to allow you to focus.

Carl Franklin - Music to Code By

Carl Franklin – Music to Code By

I purchased a copy of the album last week. It costs $20 dollars and I thought I would give it a try. For this price you get the CD, which should turn up at some point soon and a digital copy of the album. If I am honest I am not bothered about the physical disc. I will probably look at it and think “ohhh shiny” and then put it on a shelf. I haven’t bought a real CD for about 8 years. It would be good to see a digital only offering that is cheaper for some people, but it’s not a big deal.

I have tried the album out on a project last week. It wasn’t a coding project, but I needed to complete my 2nd e-book for Syncfusion. I used this album to help me focus and get the job completed. It took me 3 days to complete the project.

Did it work?

Yeah, the album definitely helped me focus and split my work down to 25 minute intervals. The music isn’t what I would normally listen too and I would describe it as a series smooth funk tracks, but to get the job done it certainly helped. I wouldn’t use this all the time as the tracks could get repetitive after a while and I normally like to listen to film soundtracks whilst I am working, but if I have a deadline looming and I really need to just focus, then I would use this album as I am not as attached to the music as I would be with my favourite film soundtrack. I think that’s a key point actually because I am not actually listening to the music I am just using it block out the environment around me, where as with a film soundtrack (and I like action scores) part of my brain is also listening to the music.

Coffitivity and Background Sounds

I was discussing this with a colleague of mine and he told be about a site that he uses called Coffitivity. This is a completely different twist using music or sound to focus with. What is presented here are streamed recordings of ambient cafe / coffee shop sounds. Imagine you are sitting in Starbucks doing some work whilst enjoying a coffee with all the noises of the cafe in the background. That is exactly what this is.

Coffitivity - Ambient cafe sounds

Coffitivity – Ambient cafe sounds

I am listening to a track on it as I write this post and I really like it. I am not thinking about the noise but it is helping me block out the surrounding work environment around me.

Which is Best?

I think it would be unfair to say whether Coffitivity is better than Music to Code By or the other way around. They are both different. I could see myself using coffitivity a lot more for general work as the ambient sounds are quite soothing, where as if I am up against it and I really need to get something done for a deadline, I can see myself using Music to Code By as my musical weapon of choice.

As with anything, this all subjective, what works for me wont necessarily work for you, but I would give both a try. Coffitivity is free to try out with a few tracks, so you should definitely give it ago. There is a premium version you can pay for to get access to more tracks. Music to Code By costs $20. Both are worth checking out.

Posted in Commentary | Tagged | Leave a comment