Monday, June 9, 2014

Smarter Grocery Shopping

My latest little project is Shopping Brain. It's a mobile (web) app to make frugal grocery shopping easy, based on Mr Money Mustache's strategies for shopping.

It's very new and very rough. I recommend waiting until I iron out a few more kinks before you use it but if you're feeling adventurous and want to give it a shot, I'd love to hear what you think! You can see my to do list here.

I reused some of the code and architecture from my to do list program, Do Me, although I got to fix all the things I did wrong there :-) Since I had a pretty good handle on angular.js before starting this, the code is very nice and was a breeze to write!

It's open source for maximum goodness.


Monday, March 24, 2014

Are Big Cars Safer Than Small Cars?

I just did some investigating and the short answer seems to be "generally, yes."

My findings are at

Tuesday, March 4, 2014

Monday, January 20, 2014

You are 8 times more likely to be killed by a police officer than by a terrorist

I just had to link to this great article. It's backed up by real data and someone who's actually using their brain.

The article includes the quote:
“Terrorism is the best political weapon for nothing drives people harder than a fear of sudden death”.
- Adolph Hitler

Our government is certainly following that advice!

Contextual Bandits

I read and thought I could write a more concise version. I also had some questions.


A/b testing is great! Wikipedia uses it every year to pick the best fundraising banner and a/b testing makes them millions of dollars more.

The contextual bandits algorithm can do even better.

2 improvements over traditional a/b testing

  1. The algorithm doesn't have to have a single winner. It will try to show the most effective version for each user.
  2. The algorithm automatically optimizes. If it has a good guess at which version a user will prefer, it uses that. If not, it picks randomly to collect more data.

How to Use It

There's a paid service at with a free beta.

My Questions After Reading

  1. How do we generate the versions to use for contextual bandits?
  2. Does the algorithm support adding new versions later?
  3. Does the algorithm support removing poorly performing versions?

Thursday, January 9, 2014

My latest little project: backup.js

I just created and released backup.js. It's a library to make it easy for html apps to make backups in local storage.

I've been working on and off on my own to do list app. It makes periodic backups of the data in case I accidentally erase something (there's no undo) and in case there's a bug which clobbers data. The backup functionality has been very simple: it makes copies of data in local storage but never cleans them up. Eventually it hits the browser's local storage space limit and I have to dig in and delete some old backups to make the app start working again.

I finally got sick of this situation and decided to implement backups in a smarter way. backup.js is a standalone library to do this. I easily plugged it into my to do list app, but it's perfectly usable for any future projects of mine or anyone else who wants to use it.

It's been a fun little side project for a few days!

Wednesday, January 1, 2014

You Are The Average of Your 5 Closest Friends

I just started a new (minimal) "correct opinion" page on the effect the people we spend time with have on us-