Author: Adam Fowler

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.

WP_20150528_20_44_53_Pro

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’.

WP_20150528_18_06_10_Pro

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.

WP_20150528_20_02_06_Pro

WP_20150528_18_19_42_Pro

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

How To Launch A URL In Google Chrome

When your default browser isn’t Google Chrome, how do you force a particular link to always open in it?

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.
URI Schemes are required to make this work.

Applies To: Windows 10

Scenario:
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 http://webpage.com, but the site is also linked from our Intranet – how do we get the link to always launch in the preferred browser?

 

Update 21st Dec 2016

Updates to Chrome seem to have broken this. Thanks to Chris Done for working with me on this fix:

1.Add the String Value of “URL Protocol” with a blank value to:

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ChromeHTML\] or [HKEY_CLASSES_ROOT\Chrome]
(they’re one and the same)
“URL Protocol”:””

2. Modify the value of

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ChromeHTML\shell\open\command\Default]
“C:\Program Files (x86)\Google\Chrome\Application\chrome.exe” — %1

3. Use a space in the URL after the // you’re using for your link:

ChromeHTML:// adamfowlerit.com

4. Create this key to remove the prompt on opening the link:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\ProtocolExecute\ChromeHTML]
“WarnOnOpen”=dword:00000000

Here’s the registry settings you can copy and paste into a .reg file and import:

Copy from the next line

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ChromeHTML]
@=”Chrome HTML Document”
“URL Protocol”=””

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ChromeHTML\DefaultIcon]
@=”C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe,0″

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ChromeHTML\shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ChromeHTML\shell\open]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ChromeHTML\shell\open\command]
@=”\”C:\\Program Files (x86)\\Google\\Chrome\\Application\\Chrome.exe\” — %1″

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\ProtocolExecute\ChromeHTML]
“WarnOnOpen”=dword:00000000

Copy stops above this line

End of update 21st Dec 2016

Answer:
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:

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ChromeHTML\shell\open\command]
@="\"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:

ChromeHTML:// google.com

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]
“WarnOnOpen”=dword:00000000

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:// adamfowlerit.com” on your intranet page to launch the website of your choice in Chrome browser.

Update 22nd January 2018

This issue has been marked as ‘Wont fix’ by the Chromium team. This means potentially, they may ‘break this/remove this/anything could happen’ in the future. Please be aware that you’re now doing something unsupported by Google. In November they removed more of the functionality that made this work, for reasons I can’t quite understand!

 

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

An updated version of this article is available here: Five Generations Of The X1 Carbon

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.

WP_20150331_17_19_20_Pro

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.

Generation 4

Please read the bottom of this post for more info.

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:

WP_20150331_17_17_59_Pro

Top to Bottom: Gen3, Gen2, Gen1

WP_20150331_17_18_29_Pro

Top to Bottom: Gen3, Gen2, Gen1

WP_20150331_17_18_44_Pro

Top to Bottom: Gen3, Gen2, Gen1

WP_20150331_17_19_05_Pro

Top to Bottom: Gen3, Gen2, Gen1

Summary

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.

WP_20150331_17_22_27_Pro

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

Update

The Lenovo Carbon X1 Generation 4 came out in 2016, but I didn’t get one to review. Instead I got the Lenovo X1 Yoga which I think is a better all rounder vs the Carbon X1 Gen4. Check out that review and decide for yourself!

Internet Of Things Light Up Challenge – Part Three

Read Part One Here
Read Part Two Here

Read Part Four Here

Have a read of the last two parts to catch up on what’s happened up to here.

The NeoPixel Ring arrived in the mail which meant I could continue onto Lab 6. Since I was ahead of the lab I was supposed to be up to, I had to do some digging around to work out how to wire the thing up. Now there’s some much clearer doco, but I managed to get the wires right the first time!

WP_20150327_18_02_49_Pro

It may not be the most elegant of wiring, but it worked just by bending a few wires. What would happen when I updated the Visual Studio code and pushed it to the device?

Blinding lights. It was configured to just play several pretty patterns – still cool though!

WP_20150327_12_13_04_Pro

I tried to take some photos, but just believe me, this thing is bright. At this stage, I now had to sit tight and wait for further instructions.

*A week passes*

A few days ago, another email came in. I had to update the code from GitHub, in preparation for the competition. After mucking about and getting it going again, I re-uploaded the source code to the Netduino. Now, the device was both flashing lights via the NeoPixel Ring, as well as reporting temperature and light readings back to Azure. I took a quick video of the new light sequence:

https://www.youtube.com/watch?v=PPhfat-MQi0

A much more basic light sequence. I now have to leave it running, as some devices will soon flash a special sequence. If that happens, it means I’ve won an Xbox One!

Judging by how many devices are live in the dashboard, there’s about 30 people on so far. I don’t know how many people are involved, but there are five Xbox Ones are being given away according to the T&C’s – it seems like my odds are pretty reasonable.

I may have to set up a webcam at home so I can keep an eye on the lights, as they’ll change at lunchtime. Will I win an Xbox One? We’ll find out soon! I’ll wrap up soon with the results and re-cover what the point of this whole exercise was.