Thursday, September 17, 2015

Head to Head Comparison: Fitbit One vs. Fitbit Charge HR

I'm a health-minded person, and I often spend a good portion of my free time on fitness-related pursuits.  Running is one of my favorite hobbies.

I've been a pedometer user for many years.  I used to wear a mechanical pedometer to track my daily activity.

In more recent years, I've moved onto fitness gadgets that keep track of all that for you.  I've had a Fitbit One since March 2013.  I enjoy tracking my daily activity with it and challenging my friends and family regularly via their leaderboard feature.

A few months ago, I set my One aside in favor of a Charge HR.  A lot of my exercise isn't easily read by a pedometer (best for running and walking activities).  I wanted the calories burned based on heart-rate readings.  I tie Fitbit in with MyFitnessPal and wanted accurate calorie data as I track what I eat in pursuit of weight loss goals.

After getting to know both gadgets, I could see definite pros and cons to each device.

  • Fitbit One
    • Pro
      • Inconspicuous
    • Cons
      • Easy to lose
      • Wristband for night wearing is inconvenient
  • Fitbit Charge HR
    • Pro
      • Heart rate data
    • Cons
      • Some people do not like the watch style
      • Skin rashes for some
      • Easy to see you are wearing it

I wanted to compare the accuracy between the two devices.  I was convinced that the Charge HR would give me loads of unearned steps from arm movements.  My experience: that was not the case!

Below is a brief overview of each day.  My activity (normally there'd be plenty of exercise, but I was suffering from a cold and didn't do as much as usual.  I also noted car trips.  I see lots of feedback from others about watching the watch-style Fitbits record steps while driving/riding in a car.

Results/Summary
It's a good reality check that these devices aren't the end-all, be-all for accuracy.  My father-in-law has done similar testing and gotten very different results.  He was finding larger discrepancies (say 2000 steps on a 12000 step day) with the Charge HR reporting more than the One.  

I've got half the week with close ending step counts (one was off by two steps, others off by a few hundred steps for a 3-4% discrepancy).  Those are promising results.

But I've got 3 days with 12-18% discrepancies representing step discrepancies of over 2000 steps.  Considering that's enough to be at least a mile, it adds up.

What does this mean for me?  Not tons.  I still love my Fitbit products and will continue to use them.  I just won't take the data as ironclad fact.  I find it interesting if nothing else.


Day 1: Saturday, September 5, 2015
Daily overview:
A fairly inactive day.  I had flown home from California to Michigan the day before.  On top of having to deal with the time change, I was sick with a cold.  The daily was fairly inactive and included a nap.  No time in the car.  I did take the dog on two short walks (1.75 miles total).
Charge HR: 9998 steps
One: 9996 steps
Result - very accurate

Day 2: Sunday, September 6, 2015
Daily overview:
Not extremely active.  Slept in very late due to my cold.
Charge HR: 11422 steps
One: 13425 steps
Result - 18% discrepancy, Charge HR lower

Day 3: Monday, September 7, 2015
Daily overview:
Fairly active around the house.  Walked the dog 1.25 miles.
Charge HR: 15213 steps
One: 17488 steps
Result - 15% discrepancy, Charge HR lower

Day 4: Tuesday, September 8, 2015
Daily overview:
Commute to work (15 miles each way) in the car.  Busy day at work, so not much time for walking.  Walked the dog 1.25 miles in the evening.
Charge HR: 7576 steps
One: 7873 steps
Result - 4% discrepancy, Charge HR lower

Day 5: Wednesday, September 9, 2015
Skipped audit on this day.  I had misplaced the charger for the Charge HR and its battery died.  I was unable to wear both trackers all day.

Day 6: Thursday, September 10, 2015
Brief car trips. Brief walk for dog. Walking desk for one hour completing 3 miles.
Charge HR: 12085 steps
One: 13523 steps
Result - 12% discrepancy, Charge HR lower

Day 7: Friday, September 11, 2015
Morning dog walk of 0.5 miles.  Commute to work in car (30 miles round trip).  Evening drive to Costco (30 miles round trip).  Plenty of walking in Costco
Charge HR: 11288 steps
One: 11746 steps
Result - 4% discrepancy, Charge HR lower

Day 8: Saturday, September 12, 2015
Completed a 3 mile jog and walked the dog times 2 for 1.4 miles. No car trips today.
Charge HR: 15386 steps
One: 14897 steps
Result - 3% discrepancy, Charge HR higher

Monday, July 20, 2015

Difficulting Editing Network Card on vSphere 5.5

I have to confess, I've been "kickin' it old school" and haven't embraced some of the new ways of doing things with my VMware ESXi systems.

I stayed at version 5.0 on vCenter and ESX for awhile.  News of the challenges of the upgrade to 5.1 and the Single Sign On implementation gave me pause and I delayed.

So much so that I skipped 5.1 altogether and upgraded to 5.5 approximately 1 year ago.  (I haven't yet dipped my toe into 6.0.  We have other large scale upgrades and initiatives that haven't allowed me the time to do so.  I hope to investigate it in the coming months.)

One of the other new things I've been avoiding?  The vCenter Web Client.  I was used to being proficient and moving quickly through the vSphere fat client.  Certain features weren't there (hello, Update Manager), and so many things were in different places.

Related to that, I haven't taken my Virtual Machine Hardware versions above 8, so they could all be edited in the fat client.

Okay, with that background out of the way, this weekend I performed a sizeable P2V migration of a SQL server.  And, when the time came, I decided to abandon some of my older ways.  I built the new system as Virtual Machine Hardware version 10, current to my 5.5 infrastructure.

So, after the initial P2V work was done (by running vSphere Converter Standalone), I was working with my new virtual server (uninstalling hardware drivers as appropriate).  I noticed I had an Intel E1000 network adapter.  My standard is to use the VMXNET 3 adapter.  This allows my virtual systems to communicate amongst themselves at 10Gbps.

OK well this is easy enough to fix.  (Or is it?)  I powered down the virtual server for good measure, and attempted to Edit Settings.




Well, that was silly of me.  I knew that was coming.  OK time to sign into the vCenter Web Client to make the changes.

But wait!  Even with the VM powered off, I could not edit the adapter type--it was grayed out and unchangable.  What was going on?  I began to panic.




I attempted to add a second Network Adapter.  Again, I wound up with an E1000 I could not edit.  My panic level rose.

The trick, and how to accomplish this task, is to DELETE ALL NETWORK ADAPTERS.  Once there are none on the system, and you add one--then you can edit the type.  At that point, I selected my desired VMXNET 3 and was on my way.



Thursday, June 4, 2015

Macbook Pro: Moving Mavericks to Yosemite, iPhotos to Photos, iCloud Photo Stream, and a Crushed Internet Connection

At home, I absolutely love my Macbook Pro Retina 15" that I got in late 2014.  I made the switch from Windows to OS X in late 2012 first with a Mac Mini.  While it was a fantastic computer, I decided to switch and I love having the laptop.

I held off on moving to Yosemite for a bit for two major reasons.  Yosemite was having some major networking issues that I knew would be crippling for me using home Wifi.  There were tons of purported fixes that didn't really address the issue.  It sounds like the true fix will be coming in 10.10.4 when Apple abandons their new discoveryd process.  (More on that here: http://fortune.com/2015/05/27/apple-mac-bug/ and countless other places).

The other big stumbling block was the iPhoto to Photos move.  My primary use for my home computer is organization of an extensive digital photo collection.  It is one of my favorite hobbies.  Over many years, I have scanned all of the print photos in my family that I could fine (that number is roughly 4,000).  Throw in a plethora of digital pictures, and duplicates as I preserve originals for edited and improved versions, and today I have over 28,000 pictures!  In iPhoto, they are meticulously organized with correct dates, faces and keywords.  With a few quick clicks or searches, I can put my hands on any photo.  They scroll across my screen daily as my screensaver to be enjoyed.  They are not relegated to a dark box in the corner of a closet.

One of the added bonuses of doing this in the Apple ecosystem was having this complete photo access on my iPhone and iPad.  I have both devices with 64GB of storage, and that was ample space to synchronize my photos.  Events and Faces also synchronized for easy access on those devices as well.  That required me to plug in and synchronize with iTunes regularly, but in doing so, my photos were always at my fingertips.

So, now we have Photos and the iCloud Photo Stream.  By using this software and this ecosystem, now, all my photos will automatically synchronize to all devices with no efforts required by me.  Great, right?  Yes, but it's not that simple.

iCloud gives users 5GB by default.  Before even messing with iCloud Photo Stream, I was paying for 20GB per year.  That was enough space to back up my iPhone and iPad as I needed just over 5GB.  I want to say the current rates for that were somewhere in the neighborhood of $10-20/year.

But now I'm looking at 28k photos!  Yikes.  When I enabled iCloud Photo Stream, it let me know that 200GB would be enough space.  They charge $3.99/mo for that.  I decided that full, no effort access to my photos was worth that and upgraded.

But now what?  My MBP needs to upload all these pictures!  And, here we go...

I have a great Internet connection.  I love Wide Open West and we pay for 50Mbps down with 5Mbps up.  But, Photos just began to push all of my pictures up.  It consumed the 5Mbps upload rate.  And brought my whole household's Internet to a crawl in the process.

It is painfully short sighted of Apple to not give more control on the upload process.  The only control you have is whether or not you keep high quality original resolution on your local device, and an option to pause uploads for a day.

Researching the matter quickly let me know I was not alone.  Many people with similarly large photo collections and similarly crushed Internet connections.  Thankfully I have found a decent solution here: https://discussions.apple.com/thread/6992427?start=90&tstart=0

A post from user 'mayall' on page 7 highlights the fix.  By using an Apple Developer tool known as the Network Link Conditioner, you can control your bandwidth usage.

Sign into http://developer.apple.com with your Apple ID.  You'll need to accept a few license agreements and whatnot.  Then make your way to downloads and get the latest Xcode developer toolset as a DMG download (v 6.3.2 as of this writing on 6/4/2015).

Once you have the Network Link Conditioner installed, it is an option in your System Preferences.  Use the Manage Profiles button in the lower right.  Add a Custom Profile, a name that suits you, and configure the downlink and uplink bandwidth in Mbps.  With my 50/5 Internet connection, I have configured a 20/2 profile.  I am now running this way.  This means my MBP will limit its Internet usage to 20Mbps down and 2Mbps up.  That is leaving 30Mbps down and 3Mbps up for all the other devices in my home, so everyone else can happily use the Internet.

It's been about 5 days so far.  My Internet connection is working well and the photos are uploading.  Out of 28k photos, 18k have gone up so far with 10k to go.

P.S. I am also looking at Google Photos and wondering if I'll need to keep paying for iCloud space.  In the meantime, I will upload them all and decide which one I like best.


Monday, May 4, 2015

How to Pin Windows Update to Start Menu on Windows Server 2012 R2

So, we've all heard the big stink when Microsoft did away with the Start button and menu and the Metro interface.  I know that Windows 10 is moving back towards the tried-and-true way that we expect.

I have been leaving my 2012 R2 servers default.  I don't find the interface too bad.  I just take a moment to pin a few key items to my Taskbar or my Start Menu and it works for me.

Most of these are pretty easy to do.  I hit the Start button, then use the magnifying glass to search for what I want.  I can then right click it and Pin to Start or Pin to Taskbar.  I do this for things like Run, Command Prompt, and Computer Management.  Also any applications on the server that I would access regularly.

One that stumped me, however, is Windows Update.  When I search on it, I can't right click and get a menu.  Now what?

I found an article on using PowerShell to pin items to the Start menu in Windows 8.  https://gallery.technet.microsoft.com/scriptcenter/Script-to-pin-items-to-51be533c  I thought I was onto something.  But Windows Update is a subset of Control Panel.  So I couldn't figure out how to make the script work.  

My approach is painfully simple, but I stumbled across it myself and my GoogleFu didn't lead me to it.  So I blog it here in the hopes that it will help someone else.

Click the Start button

Search for Windows Update

Click Windows Update.  It will open.

In your box's navigation, it says Control Panel | System and Security | Windows Update.  Click System and Security to move up a level.

Find Windows Update as the 4th main heading.  Click and drag it to your desktop.  When you release, you now have a "Windows Update - Shortcut" shortcut.

Take a moment to rename it to Windows Update.

Right click your shortcut.  Voila, the Pin to Start option is there.

Pin and enjoy your day.

Monday, April 6, 2015

WSUS on Server 2012 R2: Much Harder Than One Would Expect

In my organization, I have been using WSUS for some time to patch my desktops via Group Policy.  It is a very straightforward process that allows me some level of control over patch deployment without taking up too much of my time.  I deploy patches in two batches.  Microsoft releases hotfixes on the 2nd Tuesday of each month.  One week later, on the 3rd Tuesday of each month, I release to computers within the IT department, and a smattering of "test" systems throughout the organization, attempting to hit a random sampling throughout each department.  Once we've heard of no problems, a week later, on the 4th Tuesday, hotfixes go to the rest of the organization.

My WSUS server is running Windows Server 2003.  With that being officially end of lifed in July 2015, it was time to move this function to a newer server.

I was shocked at the complications I had when deploying to Windows Server 2012 R2.  I expected to install the feature via Server Manager and the Add Roles and Features wizard. While that was fundamentally what I did, I encountered a number of problems I had to correct.  It did not seem to work 'out of the box' as one would expect.  

Once I had WSUS online, I redirected some test computers to use the new server via Group Policy.  But All Computers in WSUS continued to show zero computers.  Investigation on the client, in the Event Log, under Applications and Services Logs | Microsoft | Windows | WindowsUpdateClient | Operational log yielded this error message:

Error
Source:        WindowsUpdateClient
Event ID:      25
Task Category: Windows Update Agent
General:       Windows Update failed to check for updates with error 0x80244019.

So I head to the Google machine and come back with this article:
http://support.microsoft.com/en-us/kb/920659 

The language in this article was slightly off for Server 2012, but I found that the IUSR account didn't have access to the folder in question.  I edited the NTFS rights (after taking ownership).  And that was one hurdle resolved.

Once I had that issue resolved, I could then use a web browser to get access to a relevant WSUS file (i.e. http://servername/selfupdate/wuident.cab) and I pressed on.

Only to realize that I still wasn't getting any clients showing up to WSUS.  The next thing I realized: the web site for WSUS hadn't gone into the Default Web Site, but was running in a separate site under WSUS Administration.

Now bare with me here as I'm not sure if this is designed correct behavior or I had something odd happen during install.  I didn't feel like specifying unusual ports in my Group Policy settings pointing my clients to WSUS (it was running on 8530 for http).  So I removed the binding for port 80 for the Default Web Site (Internet Information Services IIS Manager | Bindings, highlight http, Edit... button, change port to 8080, OK, Close).  I then set the WSUS Administration to port 80 in similar fashion.

But at that point, all I did is cause Update Services console to open with error messages indicating I needed to Reset the Server Node, which didn't clear the error message.  Whoops, I've broken things.  Back to Google I went.  

There were two additional steps to fix matters.  I needed to update a registry key.  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup.  Port Number needed to be switched to 80.  

One more command I ran was found in C:\Program Files\Update Services\Tools.  I needed to run WSUSUtil.exe.  The syntax was "wsusutil usecustomsite false".  

Rebooting after executing these two steps resolved matters for me.  (I found the info that helped me to figure this all out from multiple people here https://social.technet.microsoft.com/Forums/systemcenter/en-US/8907dd07-8cc2-4aec-b542-d52e4691ba1e/how-to-change-port-settings-in-wsus)

OK, so at LONG LAST, I had functional WSUS.  But, further minor headaches were to come.

Once I had computers in the new WSUS, finding needed updates, one of your available options it to right click a computer and select Status Report.

Doing so told me that I needed Microsoft Report Viewer 2008 Redistributable.  OK that's easy enough.  But wait, during that install, it told me I was missing .NET 2.0.  

Well, hang on a minute.  I certainly can't go download that and install it, that's too old.  So Googling leads me here: http://blogs.technet.com/b/schadinio/archive/2012/05/18/windows-server-2012-beta-how-to-configure-wsus-reporting.aspx.  

So either via GUI or via command line, you can install .NET Extensibility 3.5 (which will include the .NET 2.0 that you need).  But I was having problems.  I was providing the DVD ISO for Server 2012 and it was telling me the needed files were missing.  I was using the command line arguments to tell it to go download the needed files and those were failing.  I was getting errors 0x800f0906 and 0x800f081f (I don't remember which problem equated to which error code).  

The problem was: This is my WSUS Server.  I had already placed it in a location in Active Directory where it gets its Windows Update reconfigured to USE ITSELF to get downloads from.  So it wasn't going to Microsoft to get the missing files.

On top of that, I also encountered roadblocks because it needed some parent features installed.  The /all switch was necessary to get around that problem.  

I had to relocate it in Active Directory so it wasn't using a WSUS server, then this was the correct syntax to install .NET and go download needed files while using the provided DVD ISO (replace z with whatever drive letter you have mounted to your DVD or ISO):

dism.exe /online /enable-feature /all /featurename:NetFX3 /Source:z:\sources\sxs

Lo and behold, at long last, I had a functional WSUS!!!!!

Monday, March 23, 2015

Brute Force Approach To TSAdmin on Server 2012 R2

It's a common problem.  Your server has Remote Desktop enabled, and multiple administrators hop on to a server, don't properly log off, and you want to see who is connected and remotely disconnect them.

In Server 2003, we had tsadmin.exe.  In Server 2008, we had tsadmin.msc.  But in Server 2012 R2, we have... what?

I found what I will deem a brute force approach to fixing this problem.  Basically copying some files from a 2008 server along with some registry settings, and getting yourself something working on Server 2012.

From a 2008 server, copy:

  • tsadmin.dll
  • tsadmin.msc
  • umcres.dll (this file was already on my Server 2012 system, so I did NOT overwrite)
  • wts.dll
Then make the below registry modifications.  (I copied this text into notepad, saved with a .reg extension.  Double click from your server to execute.)

Reboot and voila.  tsadmin.msc will work for you.

I'm not going to highlight this as a best practice, but it is working for me.  Use at your own risk.  



Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\FX:{3FCE72B6-A31B-43ac-ADDA-120E1E56EB0F}]

"ApplicationBase"=hex(2):43,00,3a,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,\

  73,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,00,00

"About"="{00000000-0000-0000-0000-000000000000}"

"VersionStringIndirect"="@C:\\Windows\\System32\\umcRes.dll,-106"

"ProviderStringIndirect"=hex(2):40,00,43,00,3a,00,5c,00,57,00,69,00,6e,00,64,\

  00,6f,00,77,00,73,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,\

  5c,00,75,00,6d,00,63,00,52,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,\

  00,31,00,30,00,32,00,00,00

"NameString"="Remote Desktop Services Manager"

"HelpTopic"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,00,6f,00,\

  74,00,25,00,5c,00,68,00,65,00,6c,00,70,00,5c,00,74,00,73,00,5f,00,6d,00,61,\

  00,6e,00,61,00,67,00,65,00,72,00,2e,00,63,00,68,00,6d,00,00,00

"AssemblyName"="tsadmin"

"RuntimeVersion"="v2.0.50215"

"Description"="Manage Remote Desktop Services sessions"

"DescriptionStringIndirect"=hex(2):40,00,43,00,3a,00,5c,00,57,00,69,00,6e,00,\

  64,00,6f,00,77,00,73,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,\

  00,5c,00,75,00,6d,00,63,00,52,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,\

  2d,00,31,00,30,00,34,00,00,00

"LinkedHelpTopics"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,\

  00,6f,00,74,00,25,00,5c,00,68,00,65,00,6c,00,70,00,5c,00,74,00,73,00,5f,00,\

  6d,00,61,00,6e,00,61,00,67,00,65,00,72,00,2e,00,63,00,68,00,6d,00,00,00

"NameStringIndirect"=hex(2):40,00,43,00,3a,00,5c,00,57,00,69,00,6e,00,64,00,6f,\

  00,77,00,73,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,\

  75,00,6d,00,63,00,52,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,31,\

  00,30,00,33,00,00,00

"IconIndirect"=hex(2):40,00,43,00,3a,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,\

  00,73,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,75,00,\

  6d,00,63,00,52,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,31,00,31,\

  00,31,00,00,00

"FxVersion"="2.0.1.7"

"Type"="Microsoft.TerminalServices.Monitor.SnapIn.TSManagerSnapIn, tsadmin, Version=6.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

"FolderBitmapsColorMask"=dword:00000000

"ModuleName"="tsadmin.dll"

"Provider"="Microsoft Corporation"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\FX:{3FCE72B6-A31B-43ac-ADDA-120E1E56EB0F}\NodeTypes]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MMC\SnapIns\FX:{3FCE72B6-A31B-43ac-ADDA-120E1E56EB0F}\Standalone]

Friday, January 23, 2015

Windows Server 2012 - The Nags Continue - How to REALLY Disable UAC

In my organization, I had gotten a late start in to deploying Windows Server 2012 R2.  (The culprits were versioning on our backup system of EMC Avamar and our versions of VMware vCenter.)  

As such, I've just started deploying servers with it over the past 6 months or so.  

Part of my standard server build process (or within my VMware templates) includes disabling User Account Control (UAC).  

I'd hit the Start button, use the Search box and type in "user account control" and then go to Change User Account Control settings.  I'd drag the slider down to "Never notify" and expect not to be restricted from doing things on my own servers.  (Doesn't every administrator do this, really?  What was Microsoft thinking with this "feature" anyways?)

Yet when operating with Server 2012, I was still being restricted.  Trying to work with files within a system area like C:\Program Files, I'd would be unable to move files.  "You'll need to provide administrator permissions" with prompts like this:













Finding the right keywords to Google were a little challenging, but ultimately I found the answer here: http://social.technet.microsoft.com/wiki/contents/articles/13953.windows-server-2012-deactivating-uac.aspx.  

The GUI doesn't really disable UAC.  You need to use a registry tweak.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system
Change DWORD "EnableLUA" from default value of 1 to 0 

You'll be rewarded for your effort with this pop up from the system tray:






"You must restart your computer to turn off User Account Control.  Click to restart this computer."

Then after a reboot, lo and behold, you won't be hampered from managing your own server. Enjoy.