Useful Articles on Microsofts HoloLens

Whilst on my quest for more information on HoloLens I came across some useful articles written by some early testers of the device, and also the cover feature for Februaries edition of Wired with Microsoft CEO Satya Nadella. These articles give lots of great insight into the new HoloLens device and it’s design and possible applications.

Microsoft HoloLens

Microsoft HoloLens

Microsoft HoloLens hands on: It’s early, but it’s already nifty

Project HoloLens: Our Exclusive Hands-On With Microsoft’s Holographic Goggles

Microsoft in the age of Satya Nadella

Posted in Commentary, Windows 10 | Tagged , | Leave a comment

Windows 10, the Spartan Browser and HoloLens

The other day Microsoft made some interesting announcements that have started to whip up a frenzy in the tech community. The main ones that I find interesting are :

  • Windows 10 to be offered Free for a year
  • The new Spartan web browser
  • Hololens holographic glasses

Microsoft announced many other things, of which you can get a summary in the video below, but the above points are the ones that really interested me.

Windows 10 to be Offered Free for a Year

Windows 10 is shaping up to be a great new version of Windows where they are correcting a lot of the things that people hated about Windows 8 to create a more cohesive operating system between the desktop and mobile platforms. Microsoft realises that they did a lot of damage to their reputation with Windows 8 (although I didn’t think it was that bad to be honest) so to get people to adopt the new version they have announce that they will give it away for free for Windows 7 and 8 users for a year after it’s release.

Windows 10 New Start Menu

Windows 10 New Start Menu

This is good news as I think it would be a hard sell to convince people who are non MSDN subscribers to part with their cash to upgrade.

The New Spartan Web Browser

There have been rumours flying around for a while now that Microsoft is going to deprecate their Internet Explorer browser and replace it with a new experience, and it is now official. They have announced a new lightweight, and higher performance browser called Spartan.

Microsoft Spartan

Microsoft Spartan

During yesterday’s Windows 10 demonstration, Microsoft showed off how users will be able to annotate and share Web pages using Spartan, as leaks previously indicated would be the case. They also showed Spartan’s built-in reading experience capabilities and the expected Cortana integration.

Also previously leaked, Spartan will work on Windows Phones, tablets and PCs. This will make Spartan the replacement for Internet Explorer including the version that shipped with Window 8 both on the desktop and tablet devices.

Hololens Holographic Glasses

The real exciting news to me, and something I certainly wasn’t expecting, was Microsoft’s announcement of the Hololens Holographic Glasses. This device is just unbelievably cool. Essentially, when you look through the glasses you see your environment as though you was wearing a normal pair of glasses, but the device will blend 3D graphic into your environment as it you was seeing an actual holographic image.

Windows Hololens

Windows Hololens

This is in contrast to a device like the Oculus Rift where you are immersed into a completely 3D environment. What is interesting is that the Hololens is a completely untethered device as there is no cable to your computer or games console.

Microsoft had some interesting demos for this device, including controlling a Mars rover, augmented instructions for doing DIY, and a game of Minecraft. It’s early days, but the potential for this is huge. I can’t wait to get my hands on one and try some development with it.

One thing I am keen to know is what is the battery life like? This is something that will truly determine its usefulness. If it is low (around an hour) then that will seriously compromise how useful this device will be. If it can keep going for 6+ hours then this will be much more useful, especially for applications outside gaming where staff may have to wear this as part of a shift.

The possibilities are endless for this device and I am truly excited to see where this goes. I just hope Microsoft hurries up and makes it available to us developers as I want one!! I am in full on gear lust mode now!

Microsoft Hololens Minecraft Demo

Microsoft Hololens Minecraft Demo

There are no firm release dates yet, but there is supposed to be more information at Aprils Build conference in San Francisco. The following video talks about some of the possibilities with Hololens.

Microsoft in my opinion is making all the right moves. Windows 10 is shaping up to be a great new version of Windows, and their new Browser will hopefully cure all the ills of Internet Explorer. The future of being a developer in the Microsoft eco-system has never looked so good.

Posted in Commentary, Windows 10 | Tagged , | 1 Comment

Cryptography in .NET Talk at the DotNet Notts Usergroup

Originally posted on 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 22 more words

Posted in General | Leave a comment

Agile Fundamentals Coming Soon to Pluralsight

Since completing my Developer to Manager course and finishing my first book for SyncFusion, I have been planning, writing and producing my next course for Pluralsight. The next course is call Agile Fundamentals and it’s main focus is to explain WHY agile software development is important to the modern software industry.

Agile Fundamentals Course on Pluralsight by Stephen Haunts

Agile Fundamentals Course on Pluralsight by Stephen Haunts

The course starts out by covering the more traditional Waterfall and V-Model approaches and explains both the advantages and disadvantages of these approaches. The course then talks about an alternative way of working that aims to resolve the many disadvantages of the Waterfall based processes.

Continue reading

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

Reflecting Back on 2014

Now that we are past Christmas and rapidly approaching the new year, I spent a little time reflecting on the past year over the Christmas break. 2014 has been an amazing year for me both personally and professionally. On a personal level I have a great family (wife and 2 young kids) and we have had a really fun year of holidays, day trips, weddings and general fun and play.

Reflecting back on 2014

Reflecting back on 2014

Professionally, I have also had a great year. At this time last year I intended to change my day job from working at Dollar Financial to something else and take the next step up the career ladder. That was a goal of mine going into the new year. I finally made that jump in May 2014 when I took a Development Manager position at Alliance Boots in Nottingham UK.

Shortly after that, something interesting happened which was something I didn’t even consider doing last year. I started talking with Pluralsight in June 2014, went through an interview and then was invited to take part in their audition process. After a lot of work and learning how to record and edit videos, I was accepted as a Pluralsight author in July. I was very excited about this as I had been a customer of their for nearly 4 years prior to this and was always a very big believer in the learning platform that they had created, so to finally become part of the team was amazing.

Continue reading

Posted in Commentary | Tagged | Leave a comment

Advantages and Disadvantages of Agile Software Development

In this article I want to cover some of advantages and disadvantages of agile software development. I have already written a number of articles about agile development, agile misconceptions, agile benefits and common mistakes make by new agile teams.

Advantages and Disadvantages of Agile Software Development

Advantages and Disadvantages of Agile Software Development

Advantages of Agile

Customer Satisfaction by Rapid, Continuous Delivery of Useful Software

Your customers and users will be satisfied because you are continuously delivery value to them with usable software.

This is a stark contrast compared to that of a traditional waterfall product delivery, that if your customers are used to waterfall, they may find it strange adjusting to having working software sooner.

The big downside of waterfall is that you deliver large pieces of functionality towards the end of the project life-cycle. This means that all throughout the development stages of waterfall, your project is incurring costs with no return on investment.

By delivering working pieces of functionality sooner and more regularly you are giving your users an opportunity to get a return on their investment sooner. Sure, they may not have all the functionality they need upfront, but they can start to make use of the solution to make their lives easier and start realising the benefits sooner.

Continue reading

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

Common Mistakes Made by New Agile Teams

I have already written a number of articles about agile development, agile misconceptions and agile benefits. In this article I want to cover common mistakes that are made by teams new to Agile. They are in no particular order and are all equally as relevant. Not all teams make all of these mistakes, but these are observations I have seen over my career.

Common Mistakes of a New Agile Team

Common Mistakes of a New Agile Team

Fear

Fear is a powerful emotion that is encountered in many forms. For a team new to agile this is fear of the unknown as working agile is completely different to that of a more traditional waterfall process. Fear drives bad decisions and practices that can frustrate a new Agile team. The enemy of fear is trust. You counter fear by instilling trust at all levels.

Start by letting the team know that the organization trusts them to make the right commitments and decisions. The team should be trusted to learn, grow, and make choices as a group, instead of taking directives from management.

A common example of fear stifling team growth is the issue of commitment. Teams often under commit or pad their estimates, due to fear of being responsible or blamed for failure. Initially, allow your team to give themselves permission to miss in their estimation. Foster an environment of trust, such that the team can explore the causes of a miss without finger-pointing.

This will help you find the true limit of your teams velocity. A single miss should translate into dozens of future successes.

Continue reading

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

The Making of My Pluralsight Course

Recently I published my first course on the Pluralsight called Developer to Manager. As you can imagine I am quite excited by this as I have been a customer and fan of their training library for about 3 years, so being able to get involved was great.

I have had a lot of people ask me about the my experience of becoming a Pluralsight author, so I thought I would write a post explaining the process I have been through. Hopefully if you have heard of Pluralsight, you will find this interesting, but also if you are a new Pluralsight author, I hope you come across this post and it helps you ease into the role.

The Audition Process

I first started talking to Pluralsight towards the end of June 2014. After a few email exchanges I had a short phone interview with a content acquisition editor (Jodi). After this discussion I moved into the audition process. If I am honest, this was quite daunting as I have never done anything like this before, so not only was I coming at this new, I was also going to be heavily scrutinised.

The audition process is fairly straight forward. You have to produce a 10 minute video using the Pluralsight presentation template. The audition video has to have a beginning, middle, and end and tell a complete story. Preferably the audition should have a live coding demo too.

Continue reading

Posted in Commentary, Pluralsight | Tagged , | 2 Comments

Cryptography in .NET Talk at the DotNet Notts Usergroup

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, and AES.

The pitfalls of key exchange

Asymmetric Encryption with RSA.

Hybrid Encryption by using Symmetric and Asymmetric encryption together.

Digital Signatures.

Posted in Coding, Commentary, Cryptography | Tagged , , | 1 Comment

Serializing POCO’s to Byte Arrays in C#

I have recently had a need to serialize objects in .NET down to a byte array to send to another system for a project that I was working on, so I thought I would share some of the code.

I have written about serializing POCO objects into XML before on this blog.

In the rest of this post I will show a simple implementation of a class called ObjectSerialize that adds a set of extension methods onto the base object class.

ObjectSerialize Class

ObjectSerialize Class

The ObjectSerialize class contains 2 public methods, Serialize and DeSerialize. These methods will be available as extension methods on the base object method in .NET. There are also 2 private methods (Compress and Decompress) that apply GZip compression to the object being serialized to ensure the byte arrays are as compact as possible.

Lets take a look at the Serialize method.

public static byte[] Serialize(this Object obj)
{
    if (obj == null)
    {
        return null;
    }

    using (var memoryStream = new MemoryStream())
    {
        var binaryFormatter = new BinaryFormatter();
        binaryFormatter.Serialize(memoryStream, obj);
        var compressed = Compress(memoryStream.ToArray());

        return compressed;
    }
}

This method takes an object and then serialises the object into a MemoryStream using a BinaryFormatter. The MemoryStream is then run thorough the compress method to apply the GZip compression. The resulting byte array is then returned.

Continue reading

Posted in Coding | Tagged , | 3 Comments