blog implementation from udacity_cs253 classes, but using bottle.py