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 , | Leave a comment

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 , , | 14 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

“Cryptography in .NET Succinctly” Book Released

Cryptography in .Net by Stephen Haunts

Cryptography in .Net by Stephen Haunts

My first book Cryptography in .NET Succinctly has now been released by Syncfusion Inc. Even better news is that this book is FREE of charge. You just sign up with an email address and download the book. This book is useful to any developer who creates software solution in Microsoft .NET for the enterprise.

The books synopsis 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 though, and provides assurances of confidentiality, informational integrity, and nonrepudiation. 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 algorithms, leveraging symmetric and asymmetric encryption, and creating digital signatures.

The table of content is :

  1. What is Cryptography?
  2. Cryptographic Random Numbers
  3. Hashing Algorithms
  4. Password Storage
  5. Symmetric Encryption
  6. Asymmetric Encryption
  7. Hybrid Approach (RSA+AES)
  8. Digital Signatures

The following people worked on this book.

Author : Stephen Haunts

Technical Reviewer : Jim Perry

Copy Editor : Suzanne Kattau

Acquisitions Coordinator : Hillary Bowling

Proofreader : Graham High

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

Agile Fundamentals Course Now Live on Pluralsight

My new course, Agile Fundamentals is now live with Pluralsight. The course description is as follows :

In Agile Fundamentals, we explore how working on an Agile project has benefits for your development team, your end users, and your organization as a whole. This course starts by exploring the more traditional waterfall process, and then covers why running an Agile team is a good idea. This course is ideal for software developers, project managers, software leadership, or anyone that would have an interest and gain benefit from running an Agile project and delivering maximum value early to your customers.

The course is split into the following modules :

1. Introduction

2. Waterfall Development and It’s Problems

3. What is Agile all About?

4. Common Agile Misconception

5. The Advantages and Disadvantagesof Agile

6. Extreme Programming

7. Scrum

Posted in Agile, Commentary, Pluralsight | Tagged , , | 1 Comment

Cryptography in .NET Talk : Slides and Sample Code

Cryptography in .NET Talk at Dot Net Notts

Cryptography in .NET Talk at Dot Net Notts

Today I did a talk on 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.

Cryptography in .NET Talk at the DotNet Notts User Group by Stephen Haunts

Cryptography in .NET Talk at the DotNet Notts User Group by Stephen Haunts

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

You can now download the Slides and Sample Code in C# from this talk. If you have any questions about the talk or the subject matter then please feel free to leave a comment on this article or contact me via the contact form on this blog.

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