Great reads in this month’s @nsfwcorp

Almost forgot to mention this: I read the latest print edition of NSFWCorp on the flight here and ended up reading cover to cover. Two great stories. The first one, “The Life and Murder of Anna Loginova“, paints a really worrisome and sad picture of life outside of Moscow in modern day Russia.

The other piece, about immigrating to Canada, is an interesting story, even though it’s unfair to Canada.

Both are going to evoke some disagreement with their conclusions or ideas. Both are worth reading.

Assorted Thoughts on Google I/O 2013

Overall, this has been a very different I/O than the one I went to in 2011. Google’s conference is still a different beast than WWDC, even in this current iteration, but in the most important areas, the technical content and types of sessions available, the two are more similar than not.

Here are some observations from this year’s event:

  • It’s no less whimsical than it has been in years past. The difference is that many of the whimsical things are very close to shipping or are already available. We live in a pretty amazing time, when you see some of the things people have managed to get working at not-insane prices.

  • No announcements for a new version of Android, nothing about Glass in the keynote, and very little “new” stuff in general at these sessions. It’s very odd. On the flip side, that means I’m spending more time at sessions not about Android, learning about the other things that Google is good at.

  • On the other hand, the Glass sessions have been packed. I’m sure they were in part because people were hoping for a giveaway during the sessions, but it’s also an intriguing device. If you give up the “always on your face” thing as a requirement to use it, they’re a really compelling accessory for a lot of scenarios. I have a number of cycling related apps in mind, especially tethered to all the sensors on my bike and my phone. At $1500, that’s not a practical use case, but I expect that price will come down to $200-$300 some day, or less. That’s a little more in line with a GoPro + bike computer, both devices that could be replaced by Glass.

  • iOS developers should consider coming to I/O. It’s an opportunity to see how another platform does things (more ideas to submit as radars!), sure. iOS is, however, part of a lot of presentations. Google releases support for iOS for things like Analytics, Adsense, their new gaming service, and Google+ login. iOS is also a key part of their web technology discussions.

  • The Chromebook Pixel is a gorgeous piece of hardware. I’m still not sure what I’ll do with it, but a guy sitting next to me in a session this AM said it took him 30 minutes to drop Linux on it. Also, the touch screen thing is interesting. One clearly superior use case: scrolling in cramped situations (e.g. airplane, conference seats, etc.) is easier using thumbs with fingers behind the screen.

  • I don’t know who chooses the musical acts for I/O, but the last three acts, starting with this year: Billy Idol, Train, and Jane’s Addiction. While I would enjoy seeing any of them, these are definitely “on-the-corporate-gig-circuit” acts vs. Apple’s choices the last 3 years (not including this year): Neon Trees, Michael Franti & Spearhead, and OK Go. While they’re not pop superstars or whatever, they’re all current bands with new albums at the time.

One more day of sessions. I bailed early because I have some deadlines to hit, so I’m working in the hotel. I’m looking forward to tomorrow, but truth be told, I miss my family, would much rather be home and cranking away on Spot.

I was on the radio

I was a guest on today’s episode of Where We Live on WNPR. The topic was on Connecticut Startup Culture. Give it a listen, and let the mocking commence (“Check it out, it’s awesome!” groan).

One thing we didn’t get to on the show (and, let’s be honest, there are probably a dozen conversations wrapped into this wax ball of a topic), was the demographic differences between CT and NYC or San Francisco. My sense is, and this is definitely anecdotal, that our mix of entrepreneurs in CT is probably a little older than the folks in those other cities. Probably doubly so in tech.

Before the show, I joked to Gitamba that the prototypical ramen diet isn’t really an option when you have a child at home. Accelerators like TechStars or Y Combinator target that frenetic pace and schedule. That makes sense for their programs, and there’s nothing wrong with that, but it might not be the only or best model for areas still building up their entrepreneur base and culture.

Anyway, just an extra thought on the way out the door of the station.

Handbrake, subtitles, and blu-ray backups from MakeMKV

I started backing up my Blu-Ray discs to my Mac this month so I can play them on my AppleTV. It’s nice having 1080p files available without stupid DRM or having to find & load discs into the player.

I’ll write up my workflow once I’m satisfied with it, but you can probably guess it: MakeMKV -> Handbrake -> iTunes + iFlicks. I have an inexpensive Blu-Ray drive for my Mac that’s working pretty well.

The one thing I’ve found that kind of sucks is that Blu-Rays use their own subtitle format (called PGS) that the current version of Handbrake doesn’t recognize. The key there is “current version.” After a lot of searching, I found that the nightly builds of Handbrake have preliminary support for the subtitles in Blu-Ray.

It’s not perfect yet, as you still have to select the right subtitle track. I usually do low quality, fast encodes of a single chapter to test out the subtitle track if I’m not sure which to pick. Not sure if there’s a better way.

Hope this saves someone else a few minutes or a few bucks since you don’t need the MKV tools that are out there for subtitles.

On becoming the CEO

Is it possible to be both really excited and sad at the same time? After this past Friday, my answer to that question is yes.

I’ve been struggling for a few days now to find the right way to express my perspective about the recent changes at Fanzter. A lot of people have texted, messaged, or emailed me various congratulations (thank you all, once again!). To the last one, I’ve demurred,”It’s not that big of a deal.”

But it is.

I am sad because Aaron’s departure marks the real end of an era here. Startups always take on the personality of their founders, and Fanzter is no exception. We are determined, scrappy, and ruthlessly focused on quality, especially when compared to our size. This is almost entirely Aaron’s influence and personality. He’s a very talented guy, and ESPN is lucky to have him back.

There’s also a personal connection: Aaron is how I ended up at ESPN and in CT. 1 My career prior to ESPN was enterprisey things, with a lot of fun software projects on the side. Without Aaron finding some of them, liking them, and convincing me to move down to CT, my career probably looks very different. Heck, I’d probably be a solutions architect for some giant company (no offense if that’s your job, but it’s not for me). Instead, I got to build stuff for the best sports web site anywhere, got to be on stage for an Apple event (look for fat Sujal in the background – I’m driving the demo), and got to build some of the best sports apps for iOS & Android.

For those (and many other) reasons, the “Thanks for everything” I said to him on Friday was heartfelt and beyond sincere. I really appreciated having Aaron as a colleague. We’re going to miss his day-to-day influence here. There’s really no other way to say it.

So, that’s the sad part.

The excited part is more obvious and easier to explain. On a personal level, it’s a new challenge and a whole new experience and perspective inside our business. For the company, Fanzter is in a great position. Business is good. There’s a new product launch on the immediate horizon so we’re in a good position to grow from there. Even the pain of learning how to deal with insurance, payroll, etc. is worth it knowing what we’re capable of building.

So, it’s going to be a good, fun ride for as long as we can keep executing. And we’ll keep executing. That’s my promise to Aaron and our team. There’s really nothing holding us back.

That, obviously, is the exciting part. Looking forward to the rest of 2013 and beyond.

  1. He discovered some open source sports stuff I wrote and basically suggested I do it for a living instead.

    Side note: I just found that MacWorld article (or maybe I forgot about it?) — cool! I wish I had screenshots of the Baseball Monitor widget. It was a fun project. I’m also surprised I’ve never written up the “How I got hired at ESPN” story, actually.

Sensors, LEDs & iPhones, oh my!

Over Christmas, I hacked together my first hardware/software project. It’s been a long time since I’ve picked up a soldering iron, let alone built something worthy of sharing. It turned out to be a fun little project.

Cause, effect, agency

I got the idea to do a project over Christmas while looking for toys for my son for Christmas. I wanted to find something that would teach him simple cause and effect relationships where he could cause something (e.g. clicking red & blue blocks together) that produced an observable effect (e.g. the blocks changing color to purple). I hoped that I could prime some interest in science. I also really wanted to instill a sense that he can make things happen for himself.

For a two year old, I basically came up empty.

But for a kid slightly older, we’re living in a golden age of hackable creativity. We have 3D printers that are slowly becoming affordable. The Internet makes finding (and sharing!) instructions on building everything from customized furniture to undersea robots easy. Open source and community based tools are getting cheaper and easier to use every year. Several businesses have grown up offering easy instructions and tutorials. (Come on, these look cool, don’t they?)

So, I decided I’d use the four-day Christmas long weekend to hack together a hardware prototype (with help from my wife’s nephew).

The project

For the project, I set out to build a simple thermometer & barometer that I could check from my iPhone. I also wanted it to have some visible indicator that would be fun to look at so my son could check it. As a beginner, I also wanted something I thought I could pull off.

My project centered around an Arduino microcontroller board. An Arduino is an inexpensive open source “electronics prototyping platform” that can be programmed using nearly any computer and a USB cable. Because it’s cheap and freely documented, people have hooked up dozens (if not hundreds) of sensors & other electronics to it.

I had an old kit laying around that I rediscovered after I returned to Fanzter and started working with our resident hardware hacker extraordinaire, Josh. I recommend starting with a starter kit if you’re just getting into electronics projects. You can get several decent options from Adafruit, MakerSHED, or Sparkfun. I have an older Sparkfun Inventor’s Kit, but any from these three vendors will do.

You should go through a few of the tutorials before trying the rest of this to get familiar with the basics of Arduino programming.

Here’s the full parts list:


In addition, if you want to get an app running on your iPhone, iPad, or iPod Touch, you’ll need to have a developer account with Apple.

The build out is really simple. The BLE shield snaps onto the Arduino board basically extending the pins and sockets on the Arduino through itself. Just make sure you line up all the pins and sockets. More details at RedBearLab if you want them.

For the LED matrix and the temperature sensor, there’s a little soldering involved. For both the soldering and the basic wiring setup, I followed the instructions in Adafruit’s tutorials:

Make sure you position the LED matrix correctly before soldering it. I got multiple warnings about that from people.

Here are the results of my soldering job:

Arduino project images

I’ll admit, I’m proud of how well that came out considering it was my first soldering project in 20 years.

Arduino project photo The only difference in my final wiring from the two tutorials is that I hooked the matrix CLK and DAT pins to the same rows containing the CLK and DAT lines from the Arduino to the temperature sensor. In the picture at left, those are the green and orange wires (Click through for a larger view). This works because they both speak a protocol called I2C and have different addresses. [1]

For power and ground, I used the breadboard instead of hooking the sensor or backpack directly to the Arduino board. This is standard, and what the kit tutorials encourage. Just thought I should mention it, since it’s not directly mentioned in the two Adafruit tutorials above.

The next step is programming the Arduino. Rather than walk you through all the details, here’s the source code. Feel free to fork the project and mess around. I’d appreciate any bug fixes if you have them. To use the source code, you’ll need to install the Arduino software & the Ino tool. I used Ino so that the github repository would have everything you need. To run the project, launch Terminal, then type ino build and then ino upload to get the project onto your Arduino. If you want to see the serial output, you can use ino serial -b 57600 to get that on your terminal screen.

I also have the iOS code available if you’d like to play with that. You’ll need to be comfortable with iOS development to use this. I may submit a version to the store if there’s enough interest. Let me know.

That’s it. The finished wiring looks like this:

Arduino project images

When lit up, it looks something like this (only 2 readings are displayed – normally there are 8):

The arduino end of this, the simple temperature station.

The iOS app is really simple:

Weekend hack: arduino weather station talking to iOS app via BLE. Boom.

Drag up to trigger a connect or disconnect. Eventually, I’ll add a pull down to trigger a temp refresh. Otherwise, it polls every minute.

Known issues

The code isn’t perfect and, as I get free time, I’m still cleaning up a few things. Here are some known issues:

  • Bluetooth reliability: For some reason, the iPhone doesn’t seem to disconnect and/or reconnect properly to the device. Pressing the reset button on the BLE shield usually fixes it, which makes me think there’s something wrong in my code.

  • Memory usage: So, the main challenge programming an Arduino is that the device only has about 2K of RAM for the sketch. Yes, that’s two kilobytes. It’s a challenging environment when I’m used to phones that have 256-512MB RAM (or more). My code is definitely not particularly optimized. The program did run out of memory regularly. I think it’s stable now, but it’s not as good as I think I can get it.

Next steps

I’m going to try and hook it up to a Raspberry Pi and put it in an weatherproof enclosure so I can leave it outside. My other goal is to change the LED Matrix to an LED strip like this so I can make it look like an actual thermometer.

I’ll update this with photos if I get that far.

Hope that helps someone out. It was a fun project, and I’m looking forward to working on this more.


[1] I2C is a simple two-wire interface to hardware components. I2C allows the Arduino to control multiple devices over just two pins. The Wikipedia page has the gory details, but just know that each device has an address which has to be unique, and then you just wire them up in parallel. The LED Matrix backpack that Adafruit provides provides an I2C interface to the LED matrix, and the Bosch sensor comes on a board that also speaks I2C, so all the work is basically done for you.

That’s more detail than you probably need, but I thought it was neat.

Update: Two corrections above, both minor but notable. I accidentally described an Arduino as a microprocessor instead of microcontroller, but then Josh pointed out that it’s really a whole platform because the microcontroller is the specific chip at the heart of the Arduino. It’s a significant detail when you get more advanced because different versions of the Arduino might have different microcontrollers at the heart of the platform.

The other is how I described the I2C wiring in the footnote. The sensor and the LED matrix are wired in parallel, not series. I had a feeling that was the wrong word, but forgot to look that up. Minor detail, but again significant for deeper understanding.

Sorry about both of those. They’re fixed above.

The problem with Flickr as Instagram replacement

A quick note on this trend I see of people switching to Flickr from Instagram over the various kerfuffles.

My only worry here, as a user of both services, is that I use Flickr as the place to dump a LOT of photos all at once. It’s my library of photos. I use Instagram for those few shots that are worthy of sharing RIGHT NOW.

Even with the grouping that the Flickr app does on my iPhone, I’m not sure it’ll be a good experience for keeping up with everyone’s photos, especially when we all do the occasional post-vacation or family event bulk upload.

Or, maybe it’ll be like Facebook and everyone will be OK with the volume/trusting the feed algorithm. I’m not confident about that, though – there’s a reason I choose Instagram over Facebook. Selectivity & signal-to-noise matter to me.

It’s about gun violence, not gun control

This is, admittedly, an incomplete thought, so I’ll share it as an observation:

The problem we’re trying to solve is gun violence.

Gun control is a vague label attached to policy ideas. Calling this a gun control debate already cuts off a number of possible solutions that may not involve simply banning guns. The mental health angle that so many folks are talking about isn’t about controlling guns, for example.

We could also talk about mandatory gun safety education. Or tax incentives for using gun safes at home. Incentives or coverage to have periodic mental health screenings just like we do vaccines. I’m sure there are a dozen different ideas out there that I can’t even imagine that might work.

Sure, we will want to talk about gun purchasing restrictions, too. And, yes, there are problems with all of those things I just mentioned, but something tells me there’s not a simple solution that’s going to be perfect to deal with this. The point is to get ideas on the table, then evaluate them. Can’t do that without getting the ideas out first.

Anyway, just a random thought this morning as I spent it with my wife and son. We need to focus on the violence part and deal with the guns as much or as little as we need to in order to reach that goal.

PS: I don’t know what to call people that don’t believe in unfettered gun access… the motivations are quite different among various groups, and as such the common labels seem to carry too much baggage.

A jumble of thoughts

On a normal Friday of a normal December, a bunch of families said goodbye to their kids and sent them off to school. Announcements. Meetings for the Principal. A normal Friday.

Then the abnormal sound of gunfire. Of violence. Of death.

And now, the sound of tears, of sadness, of remembering and loss… of fears and nightmares past and future.

I keep imagining what it must be like for the parents of the victims today, especially of the young children. I imagine myself in their shoes, I imagine walking by a now-always-empty room with bright paint evoking happier times.

My thoughts are with the families affected by the tragedy.

When I walk into my son’s class, the kids say “Hi Che’s Dad!” They make me smile no matter how crappy my morning has been. I keep thinking about what someone must go through to walk into a classroom full of children and open fire. Why would anyone want to hurt them?

It’s unfathomable. The loss is unfathomable. The chance and the randomness is most unfathomable of all.

I wrote this earlier today re: discussing gun control policy on the day of a tragedy (slightly edited for grammar):

My only point is that today should be about the tragedy itself, to burn in the news and to cope with the loss & fear of loss that these events bring up.

We get wrapped up in hammering the stats, the policy ideas, and how “stupid” the other side is on this debates today, but the real work is how we keep this in the public eye going forward.

I’m also seeing things like this at TPM that ask good questions. This is the nitty gritty of how we help prevent these sorts of tragedies in the future. Even on the mental care front, how would those laws work?

I’m just incredibly sad & angry about this, and I’m not ready to have those conversations today. That’s all I’m saying.

The response I got from people on Twitter & elsewhere primarily centered on getting people talking about the issues at play while attention is fully on the tragedy. They argue that tomorrow the pain will be a little less for those of us not directly affected. In a month the national media will forget about this completely.

There’s probably a lot of truth to that… the second, little tragedy that goes along with the big, evil tragedy that happened in Newtown.

“Those who cannot remember the past are condemned to repeat it.”

So, it seems our job is to keep us from forgetting this bit of our past, to keep it squarely in focus during the next Congress and the next legislative session here in CT and beyond. Take a moment and ask yourself, “What am I doing for the victims of Newtown?”

If you’re upset about this, and want the government to do something about this, learn what you can about the issues at play. What ideas do people have for reducing gun violence? What should we ask our representatives in government to do? Is gun violence reduction about more than guns? Do we need to rethink mental health policies in this country?

As you do learn about these things, contact your representatives in your state legislature, Congress, and anyone else you think is in a position to advocate for better policies. Tell them what you’re learning, ask them to look into the best ideas you find.

There’s always a risk that bad laws get rushed through in the wake of tragedies. This one will be no different, so it’s up to all of us to become smarter about the dynamics at play here and what public policy options people have considered. We need to do something. Let’s make sure that something lives up to the memories of those lost today.

This American Life #478: Red State Blue State

Continuing the theme about how we need to re-learn how to disagree without disrespect in our political conversations, I wanted to recommend the most recent This American Life episode. Called Red State Blue State, it’s a great episode. The first half of the episode has stories of friendships shattered by political disagreements among ordinary people. It’s eye-opening. (ear-opening?)

We need to stop assuming the worst about each other, and recognize that our 50/50 voting split is the result of two highly efficient parties who have reached some sort of Pareto optimal result in the battle for votes. We need to step back, and recenter the conversation away from the language used by people whose goal is to divide us.

That’s a rough thought. More when I have time.