Category Archives: Personal

Posts not about my professional life.

I, Harlan D. Harris, hereby commit to the pledge. Please stand with me and hold me to it.

It starts:

We, the undersigned, are employees of tech organizations and companies based in the United States. We are engineers, designers, business executives, and others whose jobs include managing or processing data about people. We are choosing to stand in solidarity with Muslim Americans, immigrants, and all people whose lives and livelihoods are threatened by the incoming administration’s proposed data collection policies. We refuse to build a database of people based on their Constitutionally-protected religious beliefs. We refuse to facilitate mass deportations of people the government believes to be undesirable.

(read the rest)

Per the web site, they no longer add signatures to the site, but instead ask people to post a commitment on a personal blog or Twitter, which I have done here.

Smartwatches with Higher-Bandwidth Vibration Notifications

This is an updated version of an article first published on Medium on Oct. 24, 2015.

I love my smartwatch, way more than I thought I would when I bought it, over a year ago. It’s a Moto 360, which is still better looking than the Apple watch, I think.

Why do I love it? It’s not the health monitoring. I turned that junk off as soon as I got the thing. Do not care. It’s because it separates my phone and its alerts (and temptations) from my interactions with other people.

The killer feature for smartphones is the vibration notifications. Phone in my bag or across the room? No problem, I can feel a phone call, or a text message, or a news alert, without anybody else knowing. I even downloaded an app that taps my wrist at the top of every hour, giving me the same sense of time as the dorky digital watch I had in 6th grade, but without annoying the people around me. The alerts are mostly different — apps can choose their duration and pattern — and with practice you can tell a few of them apart. It’s fantastic, and even better is the fact that I can see, dismiss, and briefly respond to alerts if necessary, by looking at my watch and interacting with it. Or, better yet, I can choose not to, but still know the type of alert to expect next time I’m not engaged in something more important.

But one key function isn’t perfect, and it highlights a limitation of having vibration notifications on your wrist. The broken UX is turn-by-turn navigation. The navigation app buzzes your wrist whenever you have to turn. But then the next action you have to perform is to look at your wrist. Maybe tolerable when walking, but inadvisable when driving, and particularly dangerous when biking. (Update: The Apple Watch gives you different patterns when you have to turn left versus right, which would be a useful, if limited, enhancement to Android Wear.)

What if you could feel what direction you have to turn next? What if you could just know when and when to turn, without having to listen to your phone, or learn complex tap patterns on your wrist?

Android Wear should support a secondary bracelet for your other wrist. No screen, just bluetooth and a buzzer. Now, you get twice as much bandwidth when apps want to communicate with you. Apps can buzz both wrists at once, or one then the other, or any other pattern. And even better, spatial apps such as navigation can guide you in the right direction, right from the start. Left buzz? Turn left now. Right buzz? Turn right. Both together? Maybe you’ve arrived!

What would it take to make this happen? Well, Google would have to make changes, I suspect. The current Vibrator API for Android Wear appears to make the strong assumption that there’s a single vibrating device. Android Wear would have to specifically support multiple, coordinated worn devices with independent vibration support, and probably would have to make additional changes to support Wear devices without a screen.

Once Wear supported these devices, though, they’d presumably be easy to manufacture, and we’d see metal smartbracelets, hipster smartbracelets made out of braided leather, and who knows, maybe smartanklets too! Speaking of anklets, a predecessor to this idea is the vibrating ankle compass, whose wearers always know which way is North. Apparently it was transformative to wearers. (Update: There’s been some efforts to sell a Smart Shoe along these lines.)

What other devices could increase your communications bandwidth? Google Glass was a failure, and having bluetooth things talk in your ear is now entirely passe. People don’t want audio or visual connections to the internet all the time, it turns out. (And even more, people don’t want you to have audio or visual connections to the internet all the time!) But the very-low-bandwidth notifications from vibrating devices may give people just enough connectivity to know what they need to know, without interrupting their interactions with the real world. Google? (And Apple, I suppose…) Get started!


Let me unpack that a bit…

Hugh and Crye t-shirt

Recently, Hugh & Crye, a DC-based clothing firm for men, with a novel take on sizing, recently did a Kickstarter campaign for their new line of fitted t-shirts. What the hell? H&C has been around for about 5 years, and based on their product growth and hiring seems to be doing quite well. I like their stuff. Why do they need a Kickstarter? The original goal of Kickstarter was to “kickstart” new products by providing crowdsourced seed funding so that you (you!) can ensure that a great idea gets off the ground. And if a project doesn’t make its goals, no harm done, and no money wasted. A fantastic example is the Oculus Rift, which was a Kickstarted Virtual Reality rig, and is now a subsidiary of Facebook. Kickstarting a project is a rather labor-intensive alternative to trying to get a bank loan, or maxing out your credit cards, but with much less risk. It’s a very community-driven, authentic way of getting support for a new venture, moving it from the prototype phase to the initial manufacturing round.

Continue reading

Bikeshare hills, incentives, and rewards

A topographic map of Washington in 1791 by Don Alexander Hawkins. I live on the top edge of the map, on one of those hills.

I’m a generally happy user of DC’s Capital Bikeshare system — just renewed my annual membership today in fact. But I don’t use it as much as I’d like to, for one critical reason. I live on top of a hill. Riders are happy to take bikes from the neighborhood to their jobs downhill, but are much less likely to ride them uphill. As a result, the bike racks in my neighborhood are frequently completely empty by 8:00 or 8:30am, despite the many stores and businesses in the area. The only days I can reliably take a bike into work are when I leave at 7:15 for 8:00 meetings, which is thankfully not too often. On several occasions I have looked at the handy real-time map of bikeshare bikes, only to observe that there are no bikes available within a 15 minutes walk of my home!

What should Bikeshare do to solve this problem? Well, they already do one thing, which is that they hire people to put bicycles in the back of a big van, then drive them up the hill to rebalance the system. This works, but it’s expensive for the system, and it’s not very timely or efficient. In other transportation problems, incentives are used to balance demand. For instance, airlines and Amtrak use pricing to incentivize people who are flexible in their schedule to take off-peak trips. But that won’t work for Bikeshare, as most rides are free. (I pay $75/year, but all trips of 30 minutes or less are free. My rides are mostly 15-25 minutes long.) So people happily ride downhill to their downtown jobs in the mornings, but don’t ride uphill to their reverse-commute jobs, and don’t as often ride uphill in the evening home either. The end result is unhappy customers and excessive costs for the Bikeshare system.


Rough map of a possible incentive line for North-Central DC.

So if you can’t give people the usual financial incentives to drop off bikes in the Columbia Heights rack at 8am, what can you do to reduce the need for rebalancing and provide reasons for people to want to help solve Bikeshare’s problem? I think the answer is swag. Imagine that there were lines on the Bikeshare map. Every time you crossed the line going in an uphill direction (reducing the need for rebalancing), you’d earn some points. If you earned enough points, you could redeem them for Bikeshare-branded, limited-edition swag. Imagine a t-shirt in official CaBi colors that said “I bike up hills”, available only through this point system. Who wouldn’t want that?

It’s easy for Bikeshare to figure this out, as they know exactly where you picked up each bike, and where you dropped it off. Determining whether you crossed a line, and thus biked uphill, is easy. And in addition to making people excited about biking up hills, you get them wearing branded items of clothing, which can only help market the system more broadly. They already sell swag through a Cafepress shop, so much of the infrastructure is in place. It’s a win-win.

Bikeshare people, if you read this and think it’s a good idea, please run with it!

Screenshot - 6_23_2013 , 3_08_23 PM

What the swag might look like.



On .name and third-level domains

And, we’re back! After being off-line for several weeks, this site is now live again! I can’t imagine you missed it.

Here’s what happened. Let’s start at the beginning. In 2003, ICANN added .name to the list of top-level domains (like .com, .edu, etc.). The idea is that individuals would use it for personal sites and email addresses. You can still do this, but (in case you haven’t noticed), it’s not very popular, and most domain name registrars don’t even sell .name addresses.

I purchased in 2003. Unlike .com addresses, you don’t generally buy second-level domains in .name, you buy third-level domains. (.name is the top-level domain, is the second-level domain, which you can’t buy, and is the third-level domain.) A cool feature is that if you buy, you can get the email address, not something like (although you can set that up too). So my email address has been for ten years.

Fast forward to April, 2013. I notice that my personal web site (where you are now) has been replaced by a generic sales screen. You know, with a bunch of random keywords, a stock photo, and “buy this domain!” in big red print. Not good. At first I thought that my WordPress site (which hosts this blog) had gotten hacked, but no such luck. It turns out to be a convoluted mess of broken technology and confused customer support reps. The fortunate thing is that I don’t use this site extensively, and the problem with the web forwarding didn’t seem to affect my email address forwarding, so I didn’t lose any email.

The simplified version of what happened is that the company I bought the domain from in 2003, PersonalNames, merged with a company called Dotster a year or two ago. They presumably merged their technical systems together, which makes sense. But they for some reason failed to properly set up a system for third-level .name domain administration. And so my account failed to get properly transferred into their systems, and they stopped sending me notices about problems.

Although I still technically owned, I could no longer log in and administer it, and the redirection to this web site (at another company, HostGator) was reset at some point for still-unknown reasons.

It took a week and a dozen email messages and several hours on the phone for Dotster to figure out that yes, they owned this domain, but no, they didn’t have the technical chops to administer it.

I then set up an account with another company, eNom (nom, nom…), that does support third-level .name domains. Transferring the domain took another week and three attempts, due to errors on both sides. Add 48 hours for DNS forwarding to propagate around the Internet, and I’m finally back online yesterday!

Except that although my email forwarding still works, I don’t yet have control over that, because Dotster seemingly neglected to transfer email forwarding rights at the same time as the rest of the domain. So if you need me tomorrow, I’ll be back on the phone with tech support.

Sad Rain

Pretzel Whoopie Pies with Vanilla Stout Filling

My newish cooking club had a dinner yesterday with the theme American Beer. I was tasked with dessert, and came up with this recipe for Pretzel Whoopie Pies. They turned out extremely well, so I thought I’d share the recipe here.



  • 2 egg yolks
  • 1/2 c minus 1 T sugar
  • 1 T light corn syrup
  • 1/2 c finely ground unsalted mini pretzels
  • 1/2 c cake flour
  • 1 t baking powder
  • 1/8 t salt
  • 4 T butter, softened
  • 1/3 c milk
  • kosher salt
  • 1 c stout beer (Breckenridge Vanilla Porter is excellent)
  • 4 T butter, softened
  • 8 oz powdered sugar


  1. Beat egg yolks, sugar, and corn syrup until lightened.
  2. Mix pretzel flour, cake flour, baking powder, and salt. Beat in butter and milk. Add to liquid mixture and mix thoroughly.
  3. Refrigerate dough for 30 minutes to hydrate evenly. Preheat oven to 350 F.
  4. Drop 12 evenly-shaped cookies onto a silpat-covered pan. A ring mold is helpful.  Sprinkle kosher salt over the top lightly.
  5. Bake about 14 minutes, until starting to brown around the edges, but still soft.
  6. Cool thoroughly on wire racks.
  7. Boil beer in a saucepan large enough to deal with foaming up, and reduce to 1/2 c. Cool to room temperature.
  8. Mix butter, powdered sugar, and reduced beer into a creamy, delicious frosting.
  9. Make sandwiches out of cookies and frosting.

Makes 6 whoopie pies.

Communication and the Data Scientist

I recently gave a presentation on communication issues around the terms “Data Science” and “Data Scientist”, based in part on a survey that I did with my Meetup colleagues Marck and Sean. The basic idea is that these new, extremely-broad buzzwords have resulted in confusion, which has impacted the ability of people with skills and people with data to meet and effectively communicate about who does what and what appropriate expectations should be. The survey was an attempt to bring some clarity to the issue of who are the people in this newly-reformulated community, and how do they view themselves and their skills. For more on the survey, see our post on the Data Community DC blog. Here’s the video of my presentation at DataGotham:

Apple TV and cross-device user-interface integration

On last week’s Build and Analyze — a great podcast nominally about iOS development, but actually more about just living a tech-geek lifestyle — Marco talked a lot about the rumored “Apple TV” and whether it could actually be a groundbreaking product. He concluded that it probably couldn’t. Most people wouldn’t dump a working TV just for an Apple brand; the touch-screen interface that Apple has been using for the iPad and iPhone wouldn’t work for a TV; the only apps that would work well on a TV would be just ways of getting better content (I note that Roku apps are laughable, with the exception of Angry Birds); getting access to better content than other competitors is probably impossible, even for Apple.

For these reasons and more, Marco suggested that there’s little that Apple, or anyone else, could do to substantially improve the TV experience, with the exception of better menu design.

I think there’s a way that Apple (or someone) could integrate modern technology into a TV that would be actually compelling, though. And in some ways it’s the same way that I earlier blogged about for MP3 players. Cross-device user-interfaces. Here’s how it might work for a television:

Continue reading

making meat shares more efficient

A personal interest I have is the ethical and sustainable production of food. I’ve been a member of and helped run Community Supported Agriculture groups, and my wife and I currently purchase the majority of our meat from a group of upstate NY pastured-livestock producers who sell their products through CSAs. It’s an ala-carte business model, where I place an order on a website, and the next week I pick up the frozen products cut and packaged as if for retail.

A related way to get meat has become fairly popular recently — the meat CSA or meat share. As the NYC Meatshare group describes it, “Looking for healthy meat raised on pasture by small local farms? It’s expensive, but by banding together to buy whole animals we can support farmers and save money.” Members of a meatshare all pitch in to buy a whole animal, which is then butchered and split among the members. Here’s how a meatshare event described the 10th of a hog each member got: “Each person will get an equal amount of bacon and sausage (about 2 lbs each), chops (center & butt), and will divide the other cuts up as equally as possible (including ham steak, loin, organs, etc.)  If you have preferences please let me know, I will do my best to accommodate.  Or, you can swap with other members at my place.”

These two business models put a substantial burden on either the farmer (in the first case) or the consumer (in the second case). The retail model requires the farmer, or a collective of farmers, to put together a retail-ordering web site, a butchery and inventory system, and a delivery and distribution system. The meat share model takes these burdens off the farmers, but requires the consumers to set up and organize the purchase and payment system, meet at a common location, and either take what is available or perform ad hoc swaps. In a more traditional producer-consumer relationship, the supply chain, payment, inventory, and preferences-matching process is taken care of by the comodification of the animals (all cows are the same) and the services provided by a retail grocery store.

One could argue that that’s the third option — Whole Foods — but it sorta defeats the purpose of non-commidified, high-quality meat, and it tends to defeat the pocketbook too. No connection with the farm, just a promise of ethical standards (probably including the pointless “organic” label), and a substantial cut by middlemen. Not really an option at all.

So what else could be done to build sustainable relationships between animal producers and people who value high-quality, ethically produced meat? Why not leverage technology? And not just selling via web sites, but the kind of logistics technology that allows Whole Foods (and UPS, and Walmart) to efficiently get huge varieties of goods from place to place? A group at a recent food-tech hack-a-thon had the start of this idea. They put together a quick demo of a front-end web site (“” — clever!) that would allow consumers to choose smaller sets of cuts in such a way that the whole neatly ends up with a whole animal. By setting up a platform that can be easily connected with many small producers all over the country, the problem of every producer needing to be a webmaster is eliminated. And the system to get all of the pieces to add up to whole animals reduces risk for the farmer. It’s a great start. But by leveraging additional open-source tools and some ingenuity, I think it should be possible to do even more.

Imagine a similar web site, but instead of selecting a pre-selected package of cuts, you instead indicate your preferences and price range. As animals become available, you get an emailed notification of a delivery with a set of products that are very similar to the preferences you specified. You might love pork belly and boneless loin. Your neighbor might love cured pork belly (bacon) and chops. You might hate liver, but you’d accept some pig ears every once in a while for your dog. And your neighbor might really like the fatback to render for lard, while you’d find that useless. Everyone who might be sharing in an animal indicates their preferences, and the web site would automatically give everyone as much as possible of what they like the most. Equally important, all of the parts add up to whole animals, so the farmer is not stuck with the risk of unsold inventory.

Now imagine that after a few months, you’ve ranked the cuts of meat from Alice’s Farm 5 stars, but the ones from Bob’s Ranch only 3 stars. And you’ve told the system that you’re willing to pay more to get more of what you really want, but you neighbor tells the web site that he’s willing to make trade-offs to spend less money. You’ve essentially added other constraints, that if balanced well, will make everyone as happy as possible. Also, notice that I mentioned both boneless loin and pork chops? They’re more-or-less the same part of the animal cut different ways, so you can’t sell them both off the same half of the same animal. Now you have exclusive constraints to add into the mix. Maybe everyone’s better off if you get the boneless loin, or maybe everyone’s better off if your neighbor gets the chops. It’s easy to imagine collecting all of this information, but how do you combine it all and optimize the outcome in a utilitarian way?

Why, operations research and computational optimization! Write some software that plugs everyone’s constraints into a set of equations, push a button, let the computer think for a second or two, and wham, you get a solution that balances the constraints as fairly as possible! Send the cut list to the slaughterhouse and email the product lists and bills to the customers, and you’re basically done.

In the past, this sort of supply-chain optimization required massive computing power and complex software design. But now, there are open-source code bases for solving this sort of problem, at least at the scale needed to balance the preferences of a few farmers and a few dozen or hundred customers at a time.

This is the next step in leveraging technology to make at least some aspects of the supply chain for small-scale meat operations as efficient as what Purdue does, but maintaining the high quality and personal connection to the farm that many people want now. All that’s needed are some enterprising hackers to write the code and set up a scalable, configurable web platform for preference-based meatshares.

In my next post, I’ll demonstrate how to write code that uses one of those open-source optimization libraries to solve a small version of this problem. If you’re interested in reading R code, stay tuned!

Smartphones, MP3 players, and Bluetooth: the division of labor

As more and more people get smartphones that can play MP3s or streamed music, like the iPhone or Android phone like the upcoming HTC Evo 4G (I’m gettin’ one!), fewer and fewer people are buying standalone MP3 players. Why have two gadgets when you can have just one? But I think there are good reasons to do so, but I don’t think the right combination of products are currently on the market. Here’s my thinking. Continue reading