You know, for dorks.

My cough is gone and I'm not sad after all

This is a follow up to a previous post.

While I'm very glad to have experimented with an Android app to track my cough, I don't think it's the right answer after all. Not because it didn't work, but because it became socially awkward. At the peak, I was logging somewhere on the order of 40-50 coughs per day. Because I am a manager, I spend a lot of time in meetings. So what that means is that if I were to fully utilize the app I built, I would interrupt all of those meetings first by coughing and then by playing with my mobile phone. Turns out, that's not very professional.

So I'm back to the drawing board. I've had some ideas for alternatives.

  • I could just update once every hour with an estimated severity for the last hour. But of course, I wouldn't estimate while I was sleeping, but I could have the app wake up and just send a severity of zero because I don't cough at night. In fact, I think I want the app to wake up and record weather and air quality data anyhow so that the graphs make more sense and I'm still collecting data even when I'm not coughing.
  • I could just update once a day right before bed with an estimate for the full day, but then I won't get info about things like my morning commute or differences in coughing around mealtimes.
  • I could write every cough in a notebook and do data entry at the end of the day, but who wants to do that?
  • My favorite idea is to do essentially what I've been doing, but with a totally different user interface. Instead of tapping on my phone, I could build a ring or a bracelet (depending on how small I can make the hardware) that just has a button on it. Then I could tap the button 1-4 times for the severity of a cough, which I could do without attracting attention, and I wouldn't have to focus on my phone and miss out on what other people are saying. Because what's the point of a meeting if I'm not even going to pay attention?

So it's back to the drawing board on this one. I'm hoping to do a little Arduino project to test out a one-button solution, which means I have a lot of learning to do. If I go for it, I'll let you know what happens.

I might actually be sad if my cough goes away

Anybody who has been near me in the fall or winter for the past 8 or so years has probably noticed that I cough. A lot. I often feel like I should have a t-shirt that says, "It's not contagious, I promise!" The short story is that it's most likely allergies and I'm working on it. I found an excellent specialist last year who does neat things like apply science to the problem, rather than just telling me I have asthma. (I do not have asthma.) For the first time in many years, I might be close to a cure for this stupid cough—or at least suppression of symptoms through the magic of corticosteriods. It's already January and my ribs don't hurt from coughing. I can't express how amazing that is. Yay!

Anyhow, that's just the background information. The ridiculous impulse I'm having right now is that I actually want to cough for just a little while longer because I just wrote an Android app to track it. Why didn't I think of this before? It's a very simple app that just asks for a severity level: 1, 2, 3, or 4. When I cough, I pick a severity and click a button. Easy as pie.

After a button is clicked, the app goes out and gets weather from OpenWeatherMap, air quality from AirNow, and then logs everything to New Relic Insights, which is a data analytics platform (disclaimer: I work for New Relic). It has been a lot of fun to build, and I signed up for an Android course through Coursera so I can learn about the things I inevitably did wrong as I slapped it together.

My plan going forward is to clean it up and put it out on Github so other people can fork/contribute/laugh at my source code. I hope it will be useful for others who want to track similar symptoms that have them seeking specialists. In light of that, my next step is probably to find a better way to store the data. Insights was an easy way to get started, but I have a limited retention policy and it's not good for sharing the app with others, should anybody else want to use it. I also want to play around with D3.js to see if I can come up with a good way to visualize the relationships between, say, humidity, temperature, and the severity of my cough. Of course, there are a lot more things I can do with it. For instance, it would probably be good to know when I start or stop medications, start and stop exercising, etc., so I could add some sort of event logging. Jesse also had the idea of doing a little Arduino project that will let me get temperature and humidity data for the room I'm in rather than the current weather in whatever city I'm in.

Here's a look a the super minimal user interface. This could definitely look better, but I was eager to start collecting data before I start mucking around with pretty buttons.

And here's some sample weather data in Insights (air quality didn't fit in a screenshot). I don't have enough data yet to show some good graphs, but this gives you the general idea.

To sum up, this has been good fun, and I'm excited to be writing some code. I'll be even more excited if it helps me gain insight into this cough of mine. I think it will. I mean, even if the steroids stop the cough, cold air will still be a trigger, so maybe I can use it to figure out the minimum conditions needed before I can ride my bike to work again. That would be pretty sweet!

I got a new job

In October of 2002, nearly 12 years ago, I applied for a job with a software company operating out of a dingy office in the Barbazon building over in the Hollywood District. (Incidentally, it was that Barbazon, the modeling school, so there were afternoons when heavily made-up young girls would line the hallways and cry in the bathroom.) I planned to stay for maybe two years, get some development experience, and move on.

Until recently, that was the last time I applied for a job. I never intended to stay for that long, but the people were great, I was always learning new things, and the vacation was excellent. We ate lunch at Sam's Pool Hall and then the food carts after we moved downtown. We spun off from our parent company, bought another company, and were eventually bought by our Swedish competitors. I began as a relatively junior engineer and wound up managing the Portland development team. It was a long ride for many reasons, but I only really needed one: it was the best job I've ever had.

Tomorrow, I start a new job, a new adventure. Most importantly an unknown adventure. It feels a little insane (it is). I keep wondering if I've really thought this through (I have). I worry that it's a big mistake (probably not). That I don't know enough (but I like learning). That I'm not up for this big of a challenge (I am).

So with a deep breath and not a little excitement, but admittedly a bit of trepidation, I will change my morning commute ever-so-slightly and go meet my new co-workers. Onward and (I hope) upward!

Yet another opinion about women and minorities in tech

Just about every day, I see a new article or news story about getting women and minorities interested in tech careers. Why is it that tech jobs still seem like a big secret that only white males are in on? In my opinion, it's a simple failure of imagination.

When I went to see Madeline Albright speak last year, she said something that really stuck with me. She was talking about her surprise when President Clinton asked her to be Secretary of State. "I never dreamed I'd be Secretary of State," she said. "Not because I didn't have ambition, but because I'd never seen one in a skirt."

So check that out. Madeline Freaking Albright (not her real middle name) had never seen a female Secretary of State so she never imagined it would happen for her. I think the same thing is happening in the tech world. To succeed in diversifying the tech workforce, we need to be able to imagine a future where a software development team with 10 people on it actually includes non-Asian minorities. And 4-6 women. Even minority women. I can imagine that, but I have to confess it takes some effort because I have never seen it.

So why does it matter if we can envision more women and minorities in tech? When you don't look like someone's stereotype, they usually either ignore you or ask you to prove yourself. This is tiring and erodes enthusiasm. You're also less likely to get new opportunities or even be encouraged to enter into a tech career in the first place if people just assume you wouldn't be interested, or worse, if they think you wouldn't be capable.

Here's a good example: Jesse and I were chatting with a guy we met at a party. He asked what we do for a living and we both answered that we were programmers. The guy immediately turned so that his shoulders were squared on Jesse, thereby blocking me out of the conversation, and said, "Really? My friend/cousin/bartender needs a web site. Is that something you do?" That has happened on more than one occasion.

What's up with that? Was the guy just a total jerk? Probably not. The woman who once told me to "shut up, you look too cute right now to be that big of a nerd!" was a jerk. But to the guy at the party, I just don't look like a programmer. Never mind that I have been building websites since 1997. Never mind that I have nearly a decade more experience than Jesse, who went back to school in his 30s. People are hard-wired to make assumptions based on appearance, and I want us to change those assumptions.

It's important to note that women also suffer from this failure of imagination. A woman once asked me what I do for a living and when I told her I was a software engineer, she took a step back. She physically moved away from me as though fearing a contagious disease. This has also happened more than once. It's especially weird when a whole group of people moves away from you. These are probably just gestures of surprise, but when the phrase, "I am a programmer" gets the same reaction as "I am a leper," it has an impact.

So the shift I'd like to see is that we start believing women and minorities when they say they know how to write code/configure your network/fix your computer/whatever, or at least stop being so surprised by it. Also, when young people are casting about for a direction to start their careers, we certainly shouldn't steer them away from tech jobs based on their appearance—these are great jobs that pay well!

The recent movement to encourage more diversity in tech careers is great. Is it possible to speed this up just by using our imaginations to picture what success looks like? I hope so. I hope we all start now so that eventually, we won't have to use our imaginations at all: we'll be able to just look around.