What is ¡Pura Vida!

I recently got back from an amazing trip to Costa Rica. It was absolutely amazing and has changed me (I hope) forever and for the better. Unfortunately it wasn’t 31 days, but rather it was only 8 days. However I’m taking on a writing challenge of writing something every single day for 31 days straight. I decided to write about the change in my life…

¡Pura Vida! is the Costa Rican way of life. Translated it’s “pure life” which sounds pretty simple but in practice it goes much deeper. Most of the time folks look at it as just like a “hang loose” or something like that. But it goes a lot deeper than that.

It started in a 1956 film from Mexico called Pura Vida in which the main character said the catch phrase all the time as an expression of unbridled enthusiasm. The movie was a hit and the phrase started spreading. It was slow but by the 1970s, it was all over Costa Rica. It was even officially recognized in dictionaries in the 90s.

The phrase really means that life is wonderful, that there is always someone who is less fortunate that you and we are all in this together. This pervasive outlook on life is outstanding and something that more of us need to adopt.

As I looked around Costa Rica, I saw some real poverty but everywhere I looked I saw amazing generosity, joy and community. Jeremy Sublet and I were driving through a small town and stopped for lunch. The town obviously didn’t have any money and everywhere I looked I saw joy and love whether it was couples walking in the park or having lunch together or kids playing in the streets. At the end lunch, we were headed back to the car when one of the guys at the bar held up his beer to us and I heard that phrase for the first time – “¡Pura Vida!”.

At the time I didn’t understand what it meant. But I laughed and said “¡Pura Vida!”.

Now that I understand more about it, I look at my life and think about all of the times when I’m wallowing in self pity. Yes, I have hardships in my life. But there are so many people who have so many more real troubles in their life.

Over the next 31 days, I’ll be writing about ¡Pura Vida! and how I’m going to be trying to incorporate it into my life.

Deciding to go to Costa Rica

Justin Bronder in a boat at Rio Clara

Justin Bronder in a boat at Rio Clara

The first time that I met Justin Bronder, he was just back from a trip that he acted like was the trip of a lifetime. He showed me amazing pictures of obscure birds and crazy little monkeys. Actually, the first picture that I saw was of a monkey’s behind as it mooned the camera. I thought he was nuts, that he was was awesome and that we’d be friends all at the same time. Turns out I was right on all accounts.

Fast forward a year and I know for a fact that Justin has got one of the biggest hearts that I know. And amazingly, he headed back to Costa Rica and invited me to come with him. Something in Costa Rica had touched him and he wanted to share that with more people.

The restaurant at Copa de Arbol at night.

The restaurant at Copa de Arbol at night.

While I was excited to go, I really didn’t know what to expect. Justin had talked about the both the jungle and 5 star resort and pointed me at the hotel web site – http://www.copadearbol.com. When I looked at the web site, I saw that it was both – a 5 star resort in the middle of the jungle. There were some other things that were fun. The resort is right on the edge of the Corcovada National Part which is a green zone. There’s no roads to the property so everything is water taxi or hiking. That made me even more excited.

I talked to my wife and got permission to go.

Honestly though, I didn’t spend enough time researching Costa Rica. That was a failing on my part.But I didn’t look at the amazing country that I was about to go to other than seeing it’s in Central America. I spent a little time reviewing my pathetic Spanish. “Gracias”, “Hola”, “Adios”, “Caliente”, “Frío”,  “Uno, “Dos”, “Tres”…  I spent some time looking at my camera gear, picking up waterproof backpacks (I picked up an awesome one – Phantom Aquatics Walrus 25 Premium Waterproof Backpack Dry Bag) and the like.

It was all completely selfish but the good news is that despite this failing, I was ready to start packing for the trip.

Going to production with chipsets.

IoT is hotter than ever and there are a ton of folks getting jazzed about the Raspberry PI 2, the Arduino, Intel Edison and other awesome and cheap devices that are incredibly powerful. The issue is that these are maker boards designed for hobbyists, not production boards that you could actually leverage in a real production product. This is deliberate on their part as they are going after a specific audience and they do an outstanding job of it. There are a ton of folks prototyping on these boards, as they should, and getting their proof of concept running. But then, there needs to be a path to production. The great news here is that there are a lot of great paths depending on what you’re trying to accomplish and what features you need in your board.

It’s a good idea to start with your path to production in mind when you pick your maker board. Reason being, if you have a similar chipset and capabilities to what you’re going to go to production with, it’ll minimize churn when you get to that point. If you’re going to be going to production with a minimal real time operating system, it’s probably a bad idea to start with an x86 board with gigs of ram and processing power.

Embedded OS Options

Since it affects your chipset choice, the first thing is to talk about the different embedded OS options and their capabilities. The options range from real time operating systems (RTOS) to embedded Linux to many different flavors of Windows.

The first question is what are you trying to accomplish? What’s your device going to be doing?

Power systems make a huge part of this choice for you. Is it going to be battery operated? Rechargeable? Constant wall power?

Is it going to be doing communications? With what? Over what type of radio?

How are you doing security?

Are you doing processing on the device? Or is it simply a remote sensor or actuator of some sort?

How complicated is the processing that it needs to do?

Obviously cost is also a factor. What’s your target “BOM” or Bill of Materials?

How large is the space you’re going to put it in? Does your device have ventilation? Some processors require more robust cooling systems or have more sensitive temperature ranges. It matters if you’re putting a device in the arctic circle or in the middle of death valley.

What’s your development language? Realize that I put this fairly far down the list of considerations because it’s possible you are going to have a language forced on you. But if you can choose, would you prefer C, C++, Python, JavaScript, .NET or what.

That’s a lot of questions but it really drives down to four basic options that are chosen most of the time, Windows, Linux, an RTOS (real time operating system) or a microcontroller where you are writing firmware.

Windows 10 IoT Core is the current build of Windows for smaller devices. Your options for development are the languages that run on Windows 10. That’s quite a few including C, C++, .NET or any other type of runtime that runs on Windows so you can get Python, Javascript/node.js and the like to run on it. This makes it an extremely versatile option. It’s also a very robust option when you’re talking about security, communications and the like. If you want to get started on this option, check out http://ms-iot.github.io/content/GetStarted.htm. The downside on Windows 10 IoT Core is that it’s limited to the x86/x64, Atom and ARM chips.

Linux is another great choice. On many devices you can run something as big as Ubuntu however there are a number of variants of Linux that are specifically built for embedded devices. The one that I’m most familiar with is OpenWRT. It was originally built for firmware on routers but it’s a tough little operating system that works well on a lot of little devices. It’s more limited on languages in that it doesn’t run .NET but you can run C, C++, Python, node.js, Java and the like. It’s also able to do communications and security just fine. And it runs on a very wide set of processors.

The downsides of both of these options is that while they have more capabilities, they have latency compared to an RTOS. If you really need real time, you’ll need to look at something a little deeper but to be honest, it’s been years since I’ve done anything with real time. I’m usually close enough that the user doesn’t notice vs the exact number of milliseconds matter.

The other option is some type of firmware where you’re skipping the operating system completely and programming the device to do exactly one thing and do that thing well (theoretically). In these cases, typically security and long range communications are offloaded to a gateway device that is running one of the above options.

Chipset Options

The second thing to do is talk about the types of chipsets and their capabilities. I’m not going to go through every possible chipset in the world but there’s a few that are specifically focused on the IoT.

Of course you can run an x84/x64 if you are going to be on constant power or at least near power. The Intel Galileo is maker board based on this chipset. It runs Linux and Windows Embedded (that’s prior to Windows 10 IoT Core)

Intel’s Atom processor is the next on the list. This is a great little chipset built for lower power consumption and longer battery life than the x86/x64 chipsets. These can still run many flavors of Windows as well as Linux. A great prototyping/maker board for this is the Raspberry PI 2. It’s running a 900 MHz quad core Atom processor.

The Intel Edison runs a Quark processor, comes with BLE and WiFi on board and the whole system can fit inside an SD card if you need the space. It runs Linux. I’m not wild about Intel’s toolchain for development but it’s a good chip.

Atheros is another great chose if you are looking at Linux as your host. A great board for this is the Arduino Yun. It has both an Amtel chip for more real time/micro controller options as well as the Atheros chip for running linux. Their default distros are running OpenWRT.

The Amtel chipset is the first microcontroller that we’re going to talk about. These are even lower power consumption than the Atom but they also have less capabilities. The huge advantage that these bring to the table is that there is very little that can go wrong with them. Since you are basically writing firmware, you can just plug them in and let them run. The Arduino is an example of a maker board that you can use with the Amtel chipset.

There are lots of other chipsets that are pretty awesome but I’m going to skip those for now

Manufacturer Options

There are a ton of manufacturers that are out there. Before you pick your manufacturer, you should pick your chipset and then start shipping around.

Dog Hunter is the manufacturer behind the linux system on a chip that’s on the Arduino Yun. They’ve got a great little chip called the Chiwawa. In quantities of 5000 or more, you can get these down to sub $10.

Intel is obviously the manufacturer of the Edison. They are a known quantity and know how to produce in quantity. They also make a Quark SOC that’s a well-established chipset.

The reality is though that you might need to go to China and meet with some of the manufacturers yourself. But to meet these folks, you have to know where to go. The great news is that there’s a ton of great resources to help you locate a partner and start conversations. GlobalSources.com, ThomasNet and Alibaba.com are a great starting point for components. It’s like the Yellow Pages for manufacturing. If you start looking through, you’ll find folks that do production for all the major players such as Nokia but also for little guys. But don’t trust what’s on their web site as your end all be all. First of all, manufacturer’s websites are A: marketing and B: notoriously out of date and poorly designed. Research the companies looking in your favorite search engine for the manufacturer’s name and the words “scam” or “fraud” or “fail”.

Quantity Options

In physical manufacturing, quantity matters. It takes time and effort to set up the manufacturing of a given item. There is also the possibility that there’s specialty equipment and the like that either needs to be purchased or tuned to make your device. Both of these, time and equipment, cost a lot of money. That price needs to be amortized across a large number of units in order to really drive the cost down. If you want 10-20 of a small device, expect to be paying hundreds to thousands each just for the setup and manufacturing before you get to your “BOM” or Bill of Materials. Reality is that if you are only ordering a couple hundred devices, that’s a “small run”. In fact, some manufacturers look at anything less than 10k as a small run. This means that either they are not interested or the price goes up fairly dramatically. That said, don’t go do a run of 10k of something without verifying that it works and that customers like it.


There’s a lot of questions that you have to answer before you get started building. Most people start with the board that they get cheap at Radio Shack but don’t think down the line for when they are going to try to go to production. Before you make that mistake, think through the choices that you’re going to need to make and then pick a board that’s a good fit for you.

BTW – I talked about some of this on the .NET Rocks Episode 1144 – Getting Practical with IoT

Merry Christmas

Merry Christmas! Every year about this time I say to myself, why didn’t I put out a Christmas letter? I receive some from some amazing folks every year and every year, I think about and fail to reciprocate. Well this year is different. Well, kinda different. By different I mean that I’m putting this blog post up and I’m going to post it on Facebook and email it and such to reach the people that I should have taken the time to write out a proper Christmas letter to.

It’s been an interesting year to say the least. The whole family has changed and grown up in ways that I am still trying to get used to and it’s a good thing.

CollinCollin, my oldest, is 18 and in college now. He figured out that he could skip his senior year and go directly to the community college and start getting college credits since he was 18. He’s loving college and doing really well. He’s also gotten a job at Baskin Robbins. He’s closing on the weekends and seems to be enjoying at least the paycheck if not the job. It was awesome this year to watch him shopping for his siblings on his own with his own money and the pride that he took in that.

SeanSean is 16 and a Junior in high school. He’s gotten big and is, much to my dismay, borrowing my shirts a lot these days. The house, thanks to him, has become one of the social hubs for Interlake High School and is a regular drop in zone for boys and girls. He’s working on finding a job but as Collin found out for him, this is a really tough job market for teens. He, much to my pride, has come up with several ideas for startups that he’d like to pursue. I’m anxious to see which one of them sticks.

MiriamMiriam is 14 now and is in 8th grade. She’s involved in *everything*. She’s a “WEB leader” which is a welcoming committee/mentor program for the 6th graders coming into her school. She’s loving the responsibility and is adorable talking about her 6th graders and how important her work with them is. She’s also in the choir at church (Holy Family Name in Kirkland, WA), youth group, multiple sleep overs a month, anime club and anything else that she can talk us into taking her to.

MauraMaura is 11 and growing up fast. She’s in “5th” grade and is our “A” student which is funny because “A” is for “adaptive”. Many of you may know that she’s got special needs. You can read all about it on my wife’s blog at http://www.phoebeholmes.com/. Suffice to say she’s got global delays but we’re thrilled this year that she’s outgrown her seizure disorder. She was on meds twice a day for the last 7 years of our lives but this summer we weaned her off of them and couldn’t be happier about them.

Phoebe HolmesPhoebe is doing really well here. We both miss Ireland and it’s hard to imagine that it’s been a year and a half since we moved but it has. Phoebe has finished one book which she has at an agent right now and we’re hoping that it’ll get picked up and shopped to publishers. She’s most of the way through the second but as you know, she’s already got a much stronger following than I do on her blog. I wish that I was half the writer that she is and 10% as prolific as she is with 5% as amazing material as she produces. I, and all of her followers, love her sense of humor that envelops every topic and has you laughing and crying at the same time.

Josh with his guitarI’m still at Microsoft working in TED (Technical Evangelism and Development) on a team called Strategic Engagements. It’s about as fun of a job as I can imagine. My job is, no word of a lie, to full time write open source software and I get paid by Microsoft to do it. If I rewound even a year ago, I wouldn’t have believed it but here I am. And I’m getting to play in a space called Internet of Things which you can translate as I’m getting to play with all the fun toys. Someday they’ll figure out that they’re paying me for this. :) I’m still mountain biking and working on vintage motorcycles as much as possible. Someday, I’ll “retire” and do the motorcycle work all the time. I’ve got an engine to overhaul this winter and I couldn’t be happier about it.

Merry Christmas to all of you!

Tessel 2 Nitrogen

I’ve been playing a ton with the IoT space over the past 4-6 months. It’s been a ton of fun from a number of directions.

  1. I love to play with devices. I’ve got Arduinos, Raspberry PIs, Minnow Boards, Galileos and more. But my latest is the Tessel.
  2. I love playing with large scale cloud infrastructures as well.
  3. I love learning new technologies.

This last bit has pushed me in all three of those areas. I’ve been working with Tim Park on an IoT framework called Nitrogen which is built in node.js and runs in Azure. Working on Nitrogen has really pushed my node.js knowledge and I had never done anything with Ember prior to this. And then pile on top of that the vast number of devices out there and there’s something new for me to learn every day. :)

Yesterday I started playing with my Tessel and seeing if I could connect it up to Nitrogen’s MQTT gateway. Ivan Judson was kind enough to stand one up for me that I can start playing with. It was ridiculously easy to get going from there.

I started with the Climate Logging over MQTT project found on the Tessel site and modified it for Nitrogen.

The big change with Nitrogen is the format of the topic for subscriptions. Rather than being a simple string is a JSON object. For example, rather than just being “temperature” or something like that, is a subscription to messages routed to this particular device.

var subscription = ‘{“to”: \”‘+deviceId+‘\” }’

Check out all the code on Github at https://github.com/joshholmes/tessel2nitrogen.

Following your passion…

There’s a video and cartoon that go through Alan Watts’s little speech about “What if money was no object”. The summary is that he challenges students to forget about money and focus on their passion. You can watch the whole thing on “The Mind Unleashed” ->


There is a part of this that I agree with and a ton of it that I vehemently disagree with.

The part that I agree with is that if you are simply chasing money, you’ll never be happy and fulfilled. The flip side of that is that if my son exclusively followed his passion, he’d be turn 30 still living my basement playing video games. And if expanded and everyone just followed their passions, who would build sewers, collect garbage and so on.

Passion Pay Potential TriangleThe best manager that I’ve ever had, Nathan Hancock, once drew a triangle on the board with the corners labeled Passion, Pay and Potential.

What you want to do is be dead centre of that triangle.

For example, I’ve got a tremendous amount of passion around playing soccer. And the English Premier League pays really REALLY well. But I have little to no potential.

I also have a lot of passion around being a vintage motorcycle mechanic. And I’m pretty good at it. But it doesn’t pay well enough to support my family.

I have zero passion around politics as a whole. At the higher levels it pays well and I’d be really good at but I’d hate my life.

Programming, for me, is something that I’m passionate about, if I’m on the right projects and working with the right folks, that pays well and I’m good at. What pays just as well that I’m more passionate about is software architecture and teaching people. Architect evangelist make a great job for me because it’s pretty close to the centre of that triangle.

There are lots of people who at really happy handing out on the right hand side of the triangle. This includes artists, people who run charities, the good teachers, clergy and so on. We need those people in our lives. They make us better as a society and enrich our lives in amazing ways. But that’s not everyone and it shouldn’t be anyone with responsibilities such as kids.

You don’t have to look far to see people on the left hand side of the triangle. Watch any of the reality TV shows such as “The Voice” or “America’s Got Talent” to see people who have a lot of passion and are trying to get into something that pays well but have zero potential.

There are people who choose to hang out at the bottom part of the triangle. These people have made money their passion and mistakenly think that it’ll make them happy. There are professions that are more full of these people than others. A tremendous number of lawyers for example, have done this. There are definitely lawyers who are passionate about helping people in need and serving the law is how they do that.

If I had followed my passion exclusively, I would be in a theatre somewhere and would have never tried programming to be honest. Following the money helped me find something that was in the centre of the triangle. But I didn’t just go become something that I thought would pay well. I looked for something that I love doing and continued to refine that over and over again until I found what I’m doing now. I’m going to continue to refine that over time as I continue to endeavor to be in the centre of the triangle.

In short, life is not black and white. It’s not one and only one thing that you’re passionate about and you should pursue that without regard. If you honest with yourself, you’re passionate about a lot of things. Find one of those things that pays decently and get good at it. If you do that, you’ll be in a good place.

Passion in a Startup – A Double Edged Sword

The Wall Street Journal is one of the few newspapers that I still give the time of day but I still stay mostly in their business and tech sections. Yesterday they posted an article that really nailed it about how an entrepreneur’s passion can destroy a startup. The title is a little click baity for my tastes but passion and startups are definitely hot buttons of mine.

Key points out of the article:
Passion is what drives most startups but it can blind you to the gaping issues.

Issues that you need to pay attention include (but not exclusive to) the following areas in no particular order:

  • sales experience
  • marketing experience
  • technical experience
  • business experience
  • industry knowledge
  • network of folks
  • family life
  • and much much more

Reality is that we get excited about an idea and want to run with it but without a full team that keeps their eye on all of the various issues, you’re doomed to fail.

If, on the other hand, you’ve got a diverse team with a range of skill sets who are working on the project together and helping cover each other’s weaknesses, you’ve got a much better chance.

One of the big things that a lot of startups forget though is family life. There’s the old adage, “An entrepreneur is someone who works 16 hours a day for himself to avoid working for someone else.” This means that family can easily fall off the side when you are deep into it. Long after you’re startup has been gone (success or failure), your family is going to be there for you. Make sure that you spend some time with them and are sensitive to their needs as well.

The two things that really stood out to me as far as data points in the article:

  • 52% of founders are replaced by their third round of funding.
  • 78% of experienced founders would either wait longer to get funding or bootstrap themselves the whole way.

Both of these data points hit me as a lot of times my advice to startups is to wait on taking investment and these two give me a little ammo as to why that’s sound advice. I always ask startups two questions when it comes to investment:

  1. do you have a clear plan as to how you’ll spend every penny?
  2. Are you 100% sure that the potential investor is on board with your vision and bought in for the long haul?

If you’re just taking money from anyone with a checkbook, that’s a recipe for failure.

In short, make sure that your passion, while an amazing thing and the driving force behind any successful startup, is not blinding you to the potential train wrecks.

I built a Cigar Box Guitar…

When I build the next one, I’ll do a fuller write-up but I wanted to get these pictures and video up.
Cigar Box Guitar
I built a Cigar Box Guitar. My friend Joe Rames had built one and I thought it was cool and then I saw some while in London that just looked amazing. I loved the idea and decided to build my own.

I started with a 1×2 piece of poplar wood and started trimming it down. The head needed to be back far enough to make some tension on the nut (the piece at the top that the wires run over).

And then I needed to carve out the bottom of the neck because I wanted to make a through neck and that required carving it down to let the cigar box close. This was a little tough as I didn’t have power tools and did it by hand with a saw and a chisel.

Then I pieced glued on the bits for inside the box so that it was nice and sturdy. I probably need to redo this at some point because it’s about an 1/8 of an inch short of the bottom of the box and so is not quite touching and stable. But it works for now.

The tuning pegs were the first “guitar” part that I bought. Almost everything else was from home depot, radio shack and my local cigar shop. Figuring out where to mount these was harder than it should be. My next one is likely going to be headless with the pegs inside the box so that it’s a much more compact design.

Then I carved out the cigar box for the neck to fit in. Next time the neck will likely go all the way through the cigar box and out the other side but for this first one, the neck goes through and stops just inside the other wall.

Then I installed the 1/4 inch jack for the pickup and built my own pickup out of a piezo buzzer. That was fun and it works great (watch the video)… The next step was building the amp itself.

Yeah – the guitar looks good. :) but I actually had a lot of work left to do at this point. I don’t have good pictures of putting the frets in. However, that wasn’t as hard as I was afraid it would be. I found an online template maker where you enter in the measurements of your guitar and it’ll print a template for where your frets should be.

I decided at this point to build my own amp as well. I have an amp but it’s big, heavy and doesn’t travel well. Oh, and it’s not in a cigar box… :)


It’s a slightly different shape than the other cigar box but I think it looks class. I’ll likely switch out the green light for a red one in the near future but at the moment I like the green as well.

This was actually the first circuit I’ve ever soldered so that was a learning curve as well. Reality is that now that I’ve done it, I’m not sure what I was so scared of all those years. I started with design for a Cracker Box amp and modified it to have an on/off, the little LED and a few other little bits and bobs.

And there you have it – finished product. I’m pretty proud of it. Now to learn to play it…

New job for Josh

I’m very excited to announce that I’m on the brand new Enterprise Architect team in the Developer Experiences (DX)team (rebranded from DPE).

This means that I’m no longer the go to guy for Internet Explorer dev relations stuff, for that make sure that you reach out to @IEDevChat for anything you need related to Internet Explorer. There’s a great team in place that are based directly on the engineering team that are taking over the work that I was doing there.

So the new team is a deeply technical and and focused on delivering solution that customers will use. We’ll be finding issues in the wild that really need some help and solutions and working on helping our customers develop open source solutions in those spaces. It’s going to let me go really deep into technology and still work with customers.

This is really an exciting new position and a growing space. I’m employee number 3 on a team that’s growing quickly and could be 50 people by the end of next year. If you’re interested in talking about the team more, feel free to reach out to me either through the comments or on twitter