developer musician photographer

Wednesday, April 1, 2015

How I Gained 30 Pounds in a Year

This has been an amazing year.  About a year ago, I decided to quit Microsoft and join Starbucks as a Barista Manager in Issaquah.  A lot has happened over the last year, but the most important thing is my renewed commitment to my health.

I've always been on the border between a L and XL and this year I finally decided to make a commitment to XL. In doing so, I came to the conclusion that I would need to gain some weight - at least 30 pounds - a huge challenge, but I was up for it!

So, one year ago today I made the commitment to gain 30 pounds and I'm proud to say that as of a week ago I reached that mark. A year ago today I weighed for it!...I'm a whopping 190 pounds.  I'm super excited to have met this goal and so thankful to my friends and family (especially my wife) for their continued support over the last year. It's been life changing - new daily habits, new food, new clothes, new car, new doorways - all very thrilling.

Here's how I went about turning my life around:

Exercise: Before I used to walk at least 10k steps a day. I had a FitBit and I would obsess over that number. Now I move very little. I work from home a lot - often right from my bed. I also used to take afternoon walks - cut those out as well. I now have a hard time making it up a flight of stairs without taking a break - but that's okay - because I rarely use the stairs.

Food: Before I use to eat fresh fruit and nuts for snacks. Now I stack up on bars, candy and chips. I also used to stay away from fried foods and burgers - now that's all I eat. I actually have this fun game I play where I will ONLY eat fried foods for a month. Breakfast, Lunch, Snacks, Dinner - All fried. Fried Eggs, French Fries, Chicken Katsu and Fried Chicken Wings.  Before this change, I used to drink a few beers at night - now I try to finish off at least a 6 pack before crashing for the night. Usually followed by some late night snacks - with lots of carbs.

Huge changes - lots of sacrifices - but worth it! I know this diet won't work for everyone, but it worked for me. Obviously, consult your doctor before taking on something like this.

A huge thanks to everyone who cheered me on over the last year!  Here's to 30 more!


Sunday, February 15, 2015

beakn v0.4.2 - Lync Status Light - Now with easy to edit config settings and reset light on start support.

beakn is a Lync status light that I’ve been building for last couple of months. I tweeted a quick drawing of beakn v0.5, which will include a rechargeable battery and David Washington was quick to respond with a couple of feature requests.

Great ideas!  I’ve been wanting to do all of them for a while…that tweet pushed me to start investigating the Lync REST endpoint for cloud registration and inductive charging is probably a v2 feature, but #2 “get status on reset” is totally doable – so I just implemented it and released beakn v0.4.2.

Here’s what is new in v0.4.2

  • beakn.exe now listens for the Spark “reset” event and sets the light to the current color. Before this you would have to toggle your status. Now it just works after your Spark is reset. For this change I used EventSource4Net and modified my fork of SharpSpark.
  • I moved Spark Device Id and Access Token from beakn.exe.config to Properties.Settings and added a simple two textbox UI. Before this you would have to open Notepad as Admin and edit beakn.exe.config directly.


  • I added a new “quick and dirty” beakn

The best way to get everything setup is to follow the steps from this post: How to Build a Lync Status Light in Minutes with a Spark Core

beakn v0.5 is coming very soon! Follow me on twitter for updates.



Tuesday, February 10, 2015

How to Build a Lync Status Light in Minutes with a Spark Core or Photon

I’ve been building a battery-powered wifi-enabled Lync Status light for the last couple of months. Lots of people have been building the beakn and I did a hackathon class last week, so I thought it would be ideal to have a very simple step-by-step walk through. I’m working on getting the beakn officially manufactured so there are more complex versions available if you are comfortable with soldering. The version below is a great starting point. 

1: Get a Spark Core or Photon from core-a6fcc2b47e235d529ab58fe0a1124588

2: Plug Spark Core into your computer via USB


3: Install Spark Core iPhone or Android app.

If you don’t have an iPhone or Android you will need to follow the “Connect over USB” section of the Spark Getting started guide


4: Connect phone to Wifi network

Must be WPA2 (SSID and Passcode) – WPA2-Enterprise won’t work.


5: Create or Login to Spark Account and connect to same wifi network



6: Connect Core

a) Click on the icon in the upper left and then click “Connect a Core”. You will likely need to sign-in to wifi again.

b) Give your Core a name and hit ok.


7: Flash beakn code to Spark

a) Go to Spark Build (

b) Click on Libraries in lower left rail


c) Search for and click on “beakn”


You will see the beakn-sparkcore-onboard-led.ino file to the right


d) Click on “USE THIS EXAMPLE” button in the left rail


You will then see this page that shows the current app that loaded


e) Click on the “Flash” lightning bolt icon in the left rail to send the code to the Spark Code


You will see the Spark Core led flash while it is being flashed. If you don’t then use the Spark Core debug help.

8: Install beakn Windows App from

The beakn.exe app listens for Lync events and calls the beakn.setStatus function that you just deployed to the Core. Install the latest version of beakn-{version}.msi from - which was beakn.v0.4.2 as of this post.


The last page of the install will look like this – you will want to keep that “Launch beakn” checkbox checked.


9: Set your Spark settings

When beakn.exe launches it checks for your Spark Device Id and Access token and if either are not set you will see this:


Click OK and you will see the settings dialog:


Go to to find both Device Id and Access token and copy and paste them into this settings dialog.

To get the Device Id, click on the icon that looks like a target, second from bottom


To get the Access Token, click on the icon that looks like gears (standard settings icon)


Copy and paste both of those into the beakn settings dialog and then click Ok.

You will now see the beakn dialog that is really just a log of the messages that are being sent to your beakn device.


10: Open Lync and Toggle your status to try it out



(It’s hard to tell in the photo, but the onboard led changed to red)

You should now be all setup with your beakn. Stay tuned for updates on twitter


Monday, February 2, 2015

Windows 10 Coming to Raspberry Pi 2!!

rpi2I joined the Windows IoT team back in October and was thrilled to hear that we were working on getting Windows 10 on Raspberry Pi 2 – now I’m excited to share that news with you all. Like many other Microsoft technology developers I’ve been developing on Windows for many years and was always hesitant to get going with RaspberryPi because it only ran Linux. I recently got Mono running RaspberryPi for my beakn project and I wanted more of what the Windows developer ecosystem has to offer – Visual Studio, Remote Debugging, etc.

Please visit for more information about Windows 10 on Raspberry Pi 2 and to signup for Windows Developer Program for IoT.

We are all very jazzed about all of this and we know you will be as well.


Friday, January 23, 2015

Solution to: “The setup files are corrupted. Please obtain a new copy of the program.”

I was getting this error when trying to install the UPWare software for my UP Plus 2 printer.

“The setup files are corrupted. Please obtain a new copy of the program.”


Solution: Download the file using IE instead of Chrome. Not sure why it works, but it worked for me.