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.

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!


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!


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:

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.

Lenovo Yoga 3 Pro Review

I recently reviewed the Lenovo Yoga Pro 2 which I think is a really awesome laptop. Now, I’ve had a chance to check out the newer Lenovo Yoga Pro 3 which is a bit different again, while being another solid laptop. This will be a mix between looking at the Yoga 3, and comparing it to the Yoga 2. Here’s my thoughts:

Firstly, the model I received was silver. It’s a nice silver, but the Clementine Orange colour of the Yoga Pro 2 which is also available for the Yoga Pro 3 really grew on me, which I was surprised about. Given the choice, I’d pick orange – but the silver probably looks a bit more professional. My other slight disappointment was that Ashton Kutcher, Lenovo Product I Engineer wasn’t featured on my laptop as per the picture:

I moved on fairly quick from that. Here’s the specs of the laptop I have:

Processor Intel® Core™ M-5Y70 Processor (4M Cache, 1.1GHz), Turbo Boost 2.0 (2.6GHz)
Operating system Windows 8.1 64-bit
Display 13.3″ QHD+ (3200×1800), 300nits, 16:9 aspect ratio, with Gorilla glass
Graphics Intel HD Graphics 5300
Memory 8GB, PC3-12800 1600MHz LPDDR3, soldered to system board
Webcam 1.0-megapixel, 720p HD Camera, fixed focus, with dual array microphone
Storage 256GB
Dimensions 330 x 228 x 12.8 mm
Weight 1.19kg
Case colour Platinum Silver
Battery life Up to 9 hours
Audio support Integrated JBL® stereo speakers
Wireless LAN 802.11ac, with Bluetooth 4.0
Ports 2 x USB 3.0
DC-in with USB 2.0 function
Combo audio/microphone jack
4-in-1 card reader (SD, MMC, SDXC, SDHC)

There’s several interesting points here, especially when comparing to the Yoga Pro 2 specs.

The CPU is an Intel Core M model, rather than the i series in the Yoga Pro 2. In a generel performance shootout, the i7 that I had slightly beats the Core M in terms of speed and performance, but the Core M has much more efficient power usage. The Yoga Pro 3 is very quiet when running (there is a fan, but quieter than the Yoga 2 Pro’s). The Yoga 2 Pro gets rather hot when under full load, where as the Yoga Pro 3 only gets slightly warm; a big difference between the two.

This smaller, more power efficient Core M CPU also means the laptop itself can be thinner. Keep in mind that the lower end Yoga Pro 2 comes with an i5 CPU which seems to be so close on performance vs the Core M, you’d notice no difference. There’s also a higher end Yoga Pro 3 than what I have, with the Intel Core M-5Y71 Processor (4M Cache, 1.2GHz), Turbo Boost 2.0 (2.9GHz) CPU which will give you a little extra performance if needed.

There’s not that much difference grunt wise between all these options though, and unless you’re doing really intensive CPU work, they’ll all be more than fast enough for your requirements. The real benefit of the Yoga 3 is the lowered power consumption.

Display is the same between both models, with the very high QHD resolution. Both laptops have amazing screens. Not much else to be said here!

WP_20150325_17_05_41_ProLenovo Yoga Pro 3 Screen

Keyboard wise, it’s very similar to the Yoga Pro 2. Keys are spaced nicely and it’s nice to type on. The trackpad is a little nicer – I’d still prefer having a separate right click button, but haven’t found any issues with clicking the wrong part.

WP_20150325_17_05_23_ProLenovo Yoga Pro 3 Keyboard

Onboard graphics has jumped from the Intel HD 4400 model which has become commonplace, to the HD 5300. There’s no huge difference between these, so again you won’t notice much difference. Intel have a list of games that are playable at 30fps or higher with this chipset, which by no means is an extensive list – but gives you an idea of the capability.

8GB of RAM is more than enough these days, unless you’re doing fairly crazy high end work, or trying to run multiple Virtual Machines – not really what this laptop is designed for. Standard photo and video editing is fine of course. The RAM is soldered onto the motherboard itself which is becoming standard in slim line laptops to save on space.

The internal drive for the Yoga 3 is a 256GB SSD, same as what I had on the Yoga 2. If that’s not enough, there is a 512GB option. Plenty for a laptop!

The Yoga 3 is a rather thin 12.8mm in thickness – thinner than the Yoga 2’s 15.5mm. As a comparison, the Macbook Air‘s thickness is 17mm – so both of these are really thin! Weight wise, the Yoga 3 is also 200 grams lighter than the Yoga 2, and 160grams lighter than the Macbook Air.

Battery life is around the same – again one of those things that is hard to measure and dependent on many factors. You generally won’t get a full day’s work out of it (the 9 hours is really a best case scenario if it’s on the dimmest setting and doing nothing), but it’s still pretty decent for a thin laptop. Power plugs are everywhere anyway! One day we’ll have a Windows capable laptop that can run for a full 8 hour working day under load, and not be chunky (Lenovo Helix with it’s second battery in the keyboard falls into the chunky category).

Ports are pretty standard, apart from the power jack. Recently Lenovo has been using a rectangle plug around the size of a USB-A in most their models, including the Helix, Yoga 2 Pro, Carbon X1 and so on – but the Yoga 3 has a different plug. This time it’s USB-A shaped with an angled end:

The angled end plugs into the laptop, and the standard USB-A rectanged end plugs into the power pack. The reason they’ve done this, is to let the port on the laptop double up as a normal USB port. I like the idea of that, but wish they’d done it sooner and standardised – but my guess is that it’s something to do with the new lower power usage of the Intel Core M CPU.

The other benefit of this new cable is the power plug – it will support a normal USB cable and charge your phone or tablet. It gives you a double up on the usefulness of the plug.

The operating system that comes with the Yoga Pro 3 is Windows 8.1 – not the pro version. This may not bother most, but to see if there’s a feature you need have a look at this comparison chart from Microsoft. This OS is not for use in a business environment, as it won’t join a domain – but in saying that, many businesses should have their own licensing agreement with Microsoft and not care about OEM licenses.

I almost forgot – the hinges. The hinges between base and screen are a new style, and look like they’re off a watch. They look pretty classy, and are very functional. The Yoga Pro 2 had a different style which also worked well, but was probably too thick for the thinner Yoga Pro 3.

WP_20150325_17_04_53_ProLenovo Yoga Pro 3 Hinges

@dgaust from Twitter recently bought a Lenovo Yoga Pro 3, so I asked him for his thoughts on the device:

He also mentioned he would have preferred dedicated function keys which is a fair comment, but personally I’m used to just using the function button combo’d with the number keys to get function key usage. I prefer this over the 2nd Generation Carbon X1’s context sensitive panel, which can be frustrating to toggle through.

All in all, the Lenovo Yoga Pro 3 is an incredibly light and thin laptop, with low power consumption, good battery life and reasonable power that should make most people quite happy to use.

At the time of writing, the base model which I have been using is $2099 AU including GST and delivery.

If you have any questions about the laptop feel free to ask in the comments.

Thanks to Lenovo for providing this laptop for review, and thanks to both @Ant1958 and @AdrianGHughes for asking extra questions which helped in this review.

Internet Of Things Light Up Challenge – Part Two

Read Part One Here

Read Part Three Here
Read Part Four Here

Details of this project are on GitHub here where you can get the parts and do this yourself.

I eagerly took the items home and started following the Internet Of Things Maker Den Instructions to make my device.

Lab 1 was to get all the wires, resistors, the LED, temperature sensor and photocell all connected up on the breadboard. It was a bit bewildering to see a pack of 500 resistors, but only a few were actually used:


After finding and extracting the resistors I needed, I was supposed to build this:

proper iot 2

Here is my finished result. Can you spot the mistake I made?


Took me a while to find it, but that was Lab 1 complete.

WP_20150309_23_09_56_Pro (1)

Lab 2 (called Blinky) was a bit more of a challenge, since I don’t use Visual Studio. I was stuck on this for a while until Microsoft’s Dave Glover (Twitter @dglover) answered my tweets of desperation. My issue ended up being a configuration issue in Visual Studio where I was deploying to an emulator rather than USB (this device connects via micro-usb for both power and data). After that was changed, my code successfully deployed to the Netduino, resulting in a red flashing LED:


Awesome! Since it’s a multi-coloured LED, I could change the code to make it blue:


Or green:

WP_20150310_22_42_26_ProThe party’s over now, onto the next lab.

Lab 3 was just about seeing the temperature and light sensor work, piping back values to Visual Studio. Nothing exciting to screenshot here, it all just worked perfectly.

Lab 4 was changing the code again, but this time downloading a dashboard that would visually show the two values of light and temperature. The device had to have a network cable plugged in, so it would send it’s data to Azure, and the dashboard then showing the values off of Azure. Here’s my two gauges:



Lab 5 was just adding a bit of extra code to uniquely identify the device, in preperation for Lab 6.

Lab 6 requires a NeoPixel Ring, Grid or Strip which I don’t have yet – it’s in the mail. That will be covered in Part Three.


Password Expiry Notification Script Part 2 – Who’s Expiring?

This is a brief modification to the Password Expiry Notification Script, which seems to be pretty popular.

Amnon Hoppe contacted me from the blog, and passed on a few extra scripts with some other ideas. He has collaborated and adjusted two scripts, to quote him “one to email only the admin/service desk with a list of all users that are about to expire and the other is to do that AND also email the end users in question to warn them to verify/take action to prevent lockout.”

I’ll add them here to share. I haven’t tested these, but have gone over them to make sure nothing malicious is going on.

Accounts2Expire2EndUsers (1)

Accounts2Expire2Admin (1)

Thanks Amnon!

These scripts are a bit more complex, but they’re good examples of what you can do, as well as a different approach from what I took, for a very similar purpose (Those are for account expiry, while mine was for password expiry)

I thought about adjusting the scripts, but after spending some time on it, I thought I’d leave them as is, but take the idea of displaying the users affected, then apply that to my own script. This is similar to the original, but it’s purpose is to just list the users who’s passwords expire in X days or less. This might be handy over a holiday for example, to know who’s going to have their password expire and then contact them to help. You should easily be able to combine the old and new scripts if you want to generate an email with this information on yourself.

Password Expiry List (rename to .ps1)

Here’s the script, which if you compare to the original is very similar. Instead of generating an email, we’re creating a list of users that have the password expiry due on X days or less (represented by the -le comparison operator, rather than -eq, a list is here). The list is then echo’d out to the console.

# Please Configure the following variables….
# expireindays1 = How many days maximum the password has to expire (e.g. 7 will be up to 7 days)
$expireindays1 = 7

#Get Users From AD who are enabled
Import-Module ActiveDirectory
$users = get-aduser -filter * -Properties enabled, passwordneverexpires, passwordexpired, emailaddress, passwordlastset |where {$_.Enabled -eq “True”} | where { $_.PasswordNeverExpires -eq $false } | where { $_.passwordexpired -eq $false }

$ListOfNames = @()
foreach ($user in $users)
$Name = (Get-ADUser $user | foreach { $_.Name})
$emailaddress = $user.emailaddress
$passwordSetDate = (get-aduser $user -properties passwordlastset | foreach { $_.PasswordLastSet })
$PasswordPol = (Get-AduserResultantPasswordPolicy $user)
# Check for Fine Grained Password
if (($PasswordPol) -ne $null)
$maxPasswordAge = ($PasswordPol).MaxPasswordAge

$maxPasswordAge = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge

$expireson = $passwordsetdate + $maxPasswordAge
$today = (get-date)
$daystoexpire = (New-TimeSpan -Start $today -End $Expireson).Days

if ($daystoexpire -le $expireindays1)
$ListOfNames += $Name


echo $listofnames

Outlook Patch KB295612 Breaks Profile Changing

With Outlook 2010, I have profiles automatically created*. This means a user can just launch Outlook for the first time with all their account settings populated. The flow on effect of this is that from the Mail control panel program, clicking Add will also auto-populate the account using our email server and the signed in user’s email address.


Once the new profile was created, you can normally go to Properties > Email Accounts > Change – from there, you can enter a different user’s name and use their Exchange account instead (assuming you have permission). This is handy for people who need secondary profiles for Outlook for whatever reason, or for Admins.


Except, now I can’t change the account from my own. The User Name field for the Change Account window is greyed out! It never used to be. After doing some digging around, assuming some policy must have changed I finally worked out that the latest update for Outlook had caused this.

The culprit is KB2956128, the February 10, 2015 update for Outlook 2010. After removing this update from my PC, the field was no longer greyed out and can now be changed.


Another weird effect of this patch was that one of the profiles disappeared when it was installed, then reappeared after the patch was removed.

My guess is that this problem stems from the listed issue being fixed, but I’m only guessing:

February 10, 2015 update for Outlook 2010 (KB2956128)

    • Although you deploy the Microsoft Outlook 2010 policy Prevent copying or moving items between accounts (registry entry DisableCrossAccountCopy), Outlook 2010 still lets certain user rules to move or copy organization email messages to an Outlook Data (.pst) file or another email account.


There are some other grumblings about this patch breaking addins, OCS crashing, password prompts and search functionality on public folders. I didn’t see my particualr issue mentioned though… here’s a few links:

The worrying part of this is it seems to be yet another patch that’s causing issues in the Microsoft world. They haven’t had a very good run of patches lately, when a year ago a bad patch was surprising. Let’s hope they start testing these more thoroughly again.

* Update 6th March 2015 – I just wanted to clarify that in my work environment, we are pushing settings that force the auto creation of a profile. If you’re not doing this then you’re probably not affected as much by this particular issue because you’ll be prompted for the details such as Exchange Server and Email address, but there’s still several weird issues that have arisen from this patch – so either hold off or do extra testing on this one!