Vivid Sydney Interview

Vivid Sydney – the Light, Music and Ideas festival is over for another year. I wrote about my experience in attending the event back in June (again, thanks to Intel), and at the time was interviewed about it too.  Now I can present the video addition to my written review, Adam Fowler at Vivid Sydney 2015:


Watching the video (while cringing at my own voice), and re-seeing snippets of the amazing light displays reminded me about how impressed I was. The amount of hours and work that went into the public display is still astonishing to me, with the results speaking for themselves.

Personally, I’m far from being an ‘arty’ type person, but there are things that even the least artistically create of us can take a step back from, and have that feeling of wide-eyed astoundment… even if just for a few fleeting seconds – Vivid Sydney fell into that category for me.

On a more personal note, I look forward to taking my son to experience events like this for the first time. It can be a sensory overload of sorts, but is still a reminder of what we can do as creative human beings. It’s funny how you can find motivation and a sense of achievement from something you had nothing to do with, but get to see the end results. I hope my interview relays these thoughts.

I’m sure all the people behind the event work on many other displays of their talents, but maybe not as much in the public eye as Vivid. I hope they read comments like mine and feel a sense of achievement, as they’ve surely earnt it.

It’s too late this year, but if you get a chance to check out Vivid Sydney in 2016 or beyond, take the opportunity to, have a peek – it’s free!


Create A Custom Email Address for External Office 365 Users

With SharePoint Online, you can create sites that external users can log into and access. This is great for things like sharing documents, with a lot more functionality than a plain file download and upload like Dropbox.

Unfortunately, there isn’t an easy way to create a manual user, but have notifications go to their external email address. When you create a user in Office 365 or Azure AD, they have to be set up with one of your valid, owned domains.

There is a way to modify the ‘Work Email’ field of a cloud user, which is then used by SharePoint Online to send notifications and updates to whatever address they want – but at the time of writing this, can’t be done via the webpage GUI, nor by native PowerShell commands.

There is a way though, thanks to a script written by Ivan Yankulov called “Script to Write and Get User Profile Properties in SharePoint Online with CSOM

The script uses the API’s of SharePoint Online to make changes to users, but read Ivan’s explanation of it on his blog if you’re interested in understanding how it works.


These instructions assume you’ve already created the user in Office 365/Azure AD.

Log on to SharePoint Online as user:

Install SharePoint Online Client Components SDK

Download script Script to Write and Get User Profile Properties in SharePoint Online with CSOM

To get user’s details (need to be an Office 365 Global admin, and use standard PowerShell to launch the .ps1 file from the script above):

.\Get-SPOUserProfileProperty.ps1 -accountname “” -spoadminportalurl “” -username – password xxx

If you don’t specify the password in the command line, it will prompt for credentials (which is fine). This will make sure things are working, and you’ll see all the fields of that user

To set user’s details:

.\set-SPOUserProfileProperty.ps1 -propertyname WorkEmail -accountname “” -value -spoadminportalurl “” -username -password xxx

This is fine on a single user basis, but can also be scripted:

$data = import-csv -path C:\Temp\userdetails.csv
foreach ($user in $data){
.\set-SPOUserProfileProperty.ps1 -propertyname WorkEmail -accountname $user.UserPrincipalName -value $user.EmailAddress -spoadminportalurl “” -username -password xxx

The password is specified in this script because you’ll be prompted for the password on every single user change. You can always save this script, add your password, run the script but not save the changes.

The CSV file used is the same as my last article Office 365 and PowerShell Cloud User Creation

Richard Sole,Richard,Sole,ILovePSv4,,

If you have any issues getting the above working, feel free to ask in the comments below.

Office 365 and PowerShell Cloud User Creation

Getting started with Office 365 and Powershell can be a bit confusing, partly because so many aspects have changed in a short time. This is really for my own notes, but I’ve made it generic and may help others:

Here’s a very brief rundown on how to set yourself up and start creating cloud users. For internal users, DirSync/AzureAD is a much better option, but you may have requirements for external parties to access your Office 365 environment in some way.

Install Microsoft Online Services Sign-In Assistant for IT Professionals

Install Azure AD Module

Launch Azure Active Directory PowerShell

Test connectivity to Azure/Office365 by adding account using command “connect-msolservice” – will get prompted for credentials.

Check you’re connected with a command such as “Get-MsolCompanyInformation”

Create a CSV with your users such as this:

Richard Sole,Richard,Sole,ILovePSv4,,

Run this script which will prompt for Azure credentials. This one is hardcoded for the AU region, but can be added as a variable to the CSV.

$data = import-csv -path C:\Temp\myusers.csv
foreach ($user in $data){
New-MsolUser -FirstName $user.FirstName -DisplayName $user.DisplayName -LastName $user.LastName -Password $user.Password -UserPrincipalName $user.UserPrincipalName -UsageLocation AU

Users are now created in Office 365!

You can store the credentials to be used, or use a certificate – this Azure article shows how


My Trip To Sydney’s Vivid Festival

Thanks to Intel, I was invited to see and experience the Vivid Sydney light festival.

Intel are the main sponsor of Vivid Sydney, and have been for the last 5 years. Not being from Sydney, I really didn’t know much about what Vivid even was (which was evident when I asked what time during the day I should be there for, when it’s a nighttime light event), I’m glad I found out about it.

Vivid’s slogan is ‘Lights, Music, Ideas’ which is rather accurate, but should also include ‘Technology’. Scattered around the Sydney CBD are dozens of things to see and experience – the Vivid website lists several.

Although structures like the Sydney Opera House and The University Of Sydney were incredibly impressive, I was sent across to see what Intel was doing behind the scenes to power it all, as well as checking out what cool things they had on display.


The first thing I saw was a demo of Intel’s RealSense technology, as shown by CNET Australia thanks to Claire Reilly. The technology uses three different cameras on your computing device for proper 3D imaging. Sheldon is involved somehow, so it must be good (also check that link for lots of cool things this technology can do). The tech demo could accept a few gestures, and showed a 3D rendering of the object placed in front of it (usually someone’s face). One of the highly useful implementations of this technology will be Windows 10 support for logging in, which can’t be fooled with a 2D photo of someone – this was a fundamental flaw in using a single camera to take a photo of someone’s face for a ‘secure login’.


After this demo, I got to fly a drone in ‘Game Of Drones‘. Disappointingly for me, the exhibit was going under a bit of work, which meant I had the joy of flying up or down. Hopefully others had a few more controls than this! Drones are of course fun, but Intel had linked them together and had them talking back to a centralised system (powered by Intel of course) which made sure they wouldn’t bump into each other. I was ready to take on @BeauGiles too, but alas our drones were never to meet.



A lot of what was happening behind the scenes at Vivid Sydney was powered by Intel, but you’d have no idea it was the case. One example I was told about, was that many of the boats in the harbour had been set up with an Intel Galileo board and a bunch of lights. The board was programmed to recognise where the boat was in the harbour, and change the light colour accordingly. A rather effective result from a simple little idea.

While being treated to VIP access ginger beers, a woman walked by who caught my eye. This was because she was wearing a rather fetching suit, that lit up when she breathed. Again, this was powered by an Intel chip of some sort – it was a bit rude to stare to try and work that out. But the robot woman (which is what I called her, unsure on how much was human vs robot) at least posed for a picture before crushing mankind:WP_20150528_19_14_57_Pro

It was a really fun event, which had so much effort put into it from behind the scenes. I can imagine the amount of hours put in from artists, technicians and all the other roles required to make such an event happen. Sydney, you’re a very lucky city for having it! Thanks again Intel for letting me experience Vivid Sydney.


How To Launch A URL In Google Chrome

We want to open a particular URL in Google Chrome, but the default browser is Internet Explorer. Most company apps either support or require Internet Explorer, so we don’t want to change the default browser – but one app works better in Chrome.

We could create a desktop shortcut using chrome.exe -url, but the site is also linked from our Intranet – how do we get the link to always launch in the preferred browser?

URI Schemes. Any program can be launched using a protocol (you can see which ones you already have in Windows under Control Panel > Default Programs > Associate a file type or protocol with a program > Scroll past all the extensions down to the protocols.

You may have something like ‘MAILTO’ which is used in the format “Mailto:”. Type that into your browser and it will either launch a new email from your default mail client, or ask you to set a default mail client.

Some apps automatically create their own protocol, but you can also create your own through registry entries. Details from MSDN are available here.

Luckily for Chrome, this is already done for you, using ChromeHTML. This means you should be able to call Chrome with “ChromeHTML:” and insert the URL you want after it to open – except it doesn’t work. Chrome will open, but no URL is passed over.

A user has logged this bug with Google several months ago, it hasn’t been fixed. There is a workaround though, that can easily be done via group policy to change a local registry setting.

As this user mentions, a quote needs to be taken out of the following registry key, so it looks like this:

@="\"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe\" -- %1"

The quote removed was before the % sign.

Once this is done, the ChromeHTML protocol can be used with a URL, as long as it’s in this format:


Note the space after the slashes.

The next issue you will notice, is that Internet Explorer will most likely prompt when launching the URL, asking ‘Do you want to allow this website to open a program on your computer?’ – there is a tickbox you can remove to ‘Always ask before opening this type of address’ but this can also be suppressed via the registry.

Snapcomms have an article on how to do it with their product, but the same rules apply for Google Chrome, as long as you use the right key:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\ProtocolExecute\ChromeHTML]

Once this key exists, the prompt will no longer show for that particular protocol.

That’s it, now you can use a URL link such as “ChromeHTML://” on your intranet page to launch the website of your choice in Chrome browser.

Internet Of Things Light Up Challenge – Part Four

Read Part One Here
Read Part Two Here
Read Part Three Here

Part three ended the day before the competition – to find out if my device lit up in a way meaning I won one of 5 Xbox Ones…

I’d set up a webcam at home, and called myself via Skype to see if the flashing light changed:

Luckily, around noon the light changed to green only – which meant I was a winner! Microsoft confirmed, and hopefully my Xbox One will be on it’s way soon.

What was the point of all this (apart from winning an Xbox One)?

If you know what you’re doing with web services on Azure, some Visual Studio programming and a bit of basic electronics – you can easily build a device that reports back on something. It’s what the ‘Internet of Things’ is all about – low powered, simple devices that tell you a bit of information. It might be the temperature of your hydroponics setup (I don’t know why I thought of that first), or it could be an alert when your dog is barking too loud (that one’s because of the next door neighbour’s dog).

We’re only in the early days of cheaper, easier ways to do this – it’s been possible for a long time, but the missing piece of the puzzle was cheap redundant infrastructure with great up-time, which is what Azure, AWS etc are now providing. It’s more of an ‘Out of the box’ experience to set up the infrastructure to do it, which makes it more accessible to everyone.

Since I’m a winner, I’m going to make someone else a winner too. My Netduino kit is up for grabs – check it out in Part One (you’ll also get the NeoPixel Ring that was originally missing). I’ll take it apart and mail it to someone, and you can do with it as you please. I’d love to see a photo of a finished project – you can follow the same project I did and see how you go.

To win it, just comment on this post with 25 words or less: What’s your Internet Of Things idea? You don’t have to be able to make it, just tell me what you’d want. The best answer decided by me (factors are if it’s feasable, amusing, or just something I’d want myself). Make sure you use your email address so I can contact you – email won’t be used for anything else. I’ll mail this around the world too, pending Australia Post being able to deliver to your country.

You have until the end of the month of April, 2015 to respond!

Edit: Just to note, the kit’s worth about $100 total :)

Lenovo X1 Carbon – Three Generations

The Lenovo X1 Carbon Gen3 came out recently, so I thought it would be a good time to review the 3 models and compare. I won’t be looking at too many of the specs, because each generation has had many configurable options – but where it makes sense, I’ll draw attention to technical differences.

The X1 Carbon is part of Lenovo’s Thinkpad series. These are normally aimed at businesses, due to their military-spec testing. Consumer models of Lenovo laptops are still of high quality, but don’t have the same stringent testing and guarantees. Thinkpads have been around since 1990 – then they were owned by IBM, but Lenovo bought out IBM’s personal computer business in 2005 and continued with the name.

Generation 1

Originally, the Lenovo X1 Carbon Gen1  launched in 2012. It was the successor to the Thinkpad X1, and was quite popular when it hit the market, but there were a few major drawbacks. No touchscreen, and a 14″ 1600 x 900 res screen were still good, but not in the realm of amazing. This was partly resolved about 4 months later at the start of 2013, when a touchscreen variant, inventively called the Lenovo X1 Carbon Touch. This still had the lower resolution though, while the Lenovo Helix released at the same time had a much smaller 12″ screen yet ran at 1920 x 1080.

Battery life was quite good too, Lenovo quoting 8 hours under ideal conditions. For a 2012 laptop, that was pretty impressive.

lenovo x1 carbon gen1 keyboardLenovo X1 Carbon Touch Gen 1 Keyboard

The Gen 1 laptop was powered by a 3rd Generation Intel CPU, Intel HD 4000 graphics chip . It weighed in at 1.54kg. Keyboard wise, this was the standard design that most Thinkpad laptops had, and worked well.

Generation 2

Then in early 2014, the Lenovo X1 Carbon Gen 2 launched. For the CPU, Lenovo had moved to the 4th Generation of Intel CPUs. Screen wise, the base model was still the 1600 x 900 res, but there was also upgrades available – a massive 2560 x 1440 resolution with an additional touchscreen optional.

Several new design changes were made, and not all were seen as improvements. The biggest was a new feature called the ‘Adaptive Keyboard Row’ which was a long LCD panel at the top of the keyboard. Instead of actual buttons for function keys, it was now a cycling set of images that let you toggle to the keys you wanted – standard function keys, or 3 other screens of laptop shortcuts. Software could be installed to auto detect the most likely keyboard option you’d need, but personally I’d almost always want the function keys. It was also possible to always default to the one you wanted which made it more usable. Personally, I’d rather just have keys and a function button.

Other major changes were the dropping of the left and right buttons on the trackpad – now it was just where you clicked on the trackpad. I prefer those physical buttons. A strange adjustment was removing the caps lock key, and replacing it with ‘Home’ and ‘End’ buttons. For anyone who uses a keyboard regularly, changing the placement of buttons to the opposite side of the keyboard than you’d expect them to be isn’t a great design choice.

Caps lock was still possible to do by pressing ‘Shift’ twice, and that would light up a tiny LED on the shift key to indicate Caps Lock was on. Another strange design choice, as it was very easy to accidently press Shift twice, and start typing in capitals.

Despite these changes, the laptop was still solid overall. For it’s weight, it was 200 grams lighter than it’s predecessor at 1.34kg. The graphics had been updated to Intel HD 4400/5000, and battery life was ‘a bit longer’ at around 9 hours.

lenovo x1 carbon gen 2 keyboardLenovo X1 Carbon Touch Gen 2 Keyboard

The laptop was also thinner, and sported more ports than the Gen 1. Between then Gen 1 and Gen 2, each had it’s pros and cons. If only they could mash them together to make the perfect laptop…

Generation 3

Enter the Lenovo X1 Carbon Gen3 in early 2015. A 5th Generation Intel CPU would be inside each laptop, along with another updated Intel HD 5500 graphics chip. The base level resolution had been bumped up to 1920 x 1080, with the standard 2560 x 1440 high res option available, along with a touch variant.

Battery life had gone up another hour or so, to 10ish hours depending on what screen you had. It hadn’t shed any weight, depending on the variant it came in at somewhere between 1.31kg and 1.44kg, which is still rather light and comparable to the MacBook Air.


Lenovo X1 Carbon Touch Gen 3 Keyboard

The adaptive keys were gone, function keys were back. Caps lock had it’s place back on the keyboard too, with Home and End being moved to the right side of the keyboard again. The trackpad had it’s left and right mouse buttons back too!

Almost perfect, except they put the function key back in the bottom left hand corner. For people used to finding the Ctrl button there, it’s a bit of a change to get used to (and Gen 1 had the key in the same spot). Really, it should be one key over – such as Lenovo’s Yoga 2 Pro has.

More Photos

To show what ports are available on each model, and comparing size/style, here’s some photos from each side of the laptops stacked together:


Top to Bottom: Gen3, Gen2, Gen1


Top to Bottom: Gen3, Gen2, Gen1


Top to Bottom: Gen3, Gen2, Gen1


Top to Bottom: Gen3, Gen2, Gen1


There are many other areas I haven’t covered – such as all three models have a backlit keyboard which is great in the dark. They all have RapidCharge technology, meaning you’ll get about 80% of your charge back in 35 minutes. The screens on all options are high quality with great viewing angles.

They all have Dolby speakers, and dual noise cancelling microphones. All have spill resistant keyboard. There is a lot to like about all the models, but each has it’s own style. Who knows what they’ll do with Gen 4.


Back to Front: Lenovo X1 Carbon Gen1, Gen2, Gen3

If you have any questions about these, please let me know in the comments below.