For additional writing beyond these posts, check out my snippets for some less polished musings.

The Go Note Go Story

A personal account of how I came to build Go Note Go, a headless keyboard (no monitor) note-taking device for when you’re on the go. It begins with a castle.

Sending messages as I drift off to sleep

My new Messager setup allows me to send messages directly from Roam Research or from a standalone keyboard (with no monitor) that I keep at my bedside as I drift off to sleep.

A Step-by-Step Developer Guide to Building a Personal Roam-to-Twitter Bot

Use this guide to build a Roam Research Twitter bot that only you can see, to reclaim your attention when scrolling.

Where are all the posts from 2020?

I’ve taken to writing “snippets”, which are like blog posts, but without an audience or quality bar. Read them here.

Keeping Track of My Life in a Spreadsheet

I use a daily activity log to track my habits and plan future activities.

The Weisfeiler-Lehman Isomorphism Test

Explains the Weisfeiler-Lehman Graph Isomorphism Test

Writing a Mail Merge in Google Apps Script

Use Google Apps Script to write a mail merge and schedule emails to send in the future.

Introducing Python Fire

Python Fire automatically generates command line interfaces from any Python objects.

Ĉu Vi Estas Mia Patrino?

This is my translation of P.D. Eastman’s children’s book ‘Are You My Mother?’ into Esperanto.

Running Firefox in the Cloud

Run a headless version of Firefox in the cloud and drive it with Selenium.

Why a Code@Night is not a Hackathon

A Code@Night is not a hackathon. Hackathon : Code@Night :: Track race : Evening stroll

MathCounts Coach Q+A

Last week I did a Q+A for the Life at KA blog. The last time I did an education-centric online Q+A was more than three years earlier. Let’s take a look. Originally posted at in March 2010. How long have you been a MATHCOUNTS coach? This is my second year coaching the Van Antwerp MATHCOUNTS team. What is your favorite part about being a MATHCOUNTS coach? It’s great to see my students having a good time with math.

Life at KA: A Khanversation with David Bieber

In which David Bieber interviews himself.

ssh Passwordlessly

You’re used to ssh-ing into machine B from machine A by typing: ssh password Now you wish to ssh from machine A into machine B without having to enter your password. Just follow these steps. Create a public/private RSA key pair by issuing the unix command ssh-keygen. Do not enter a passphrase. Put the private key on machine A (the machine you wish to ssh from).

Teach at Scale

The best way to learn is to teach. It’s also, most of the time, the most fun way to learn. And as an added bonus, the person you’re teaching learns too. I strongly believe that you, as someone who has found themselves reading strange blogs on the internet, have a lot to offer the world in the way of teaching. So I want you to teach at scale. Yes, I’m looking at you Mom and Dad, former Facebook and Twitter interns, my fellow interns here at Khan Academy.

Automate Your Life: Sending Emails

Use Python to send emails programmatically.

Lorenz Attractors and Chess

Every pawn is an inverted Lorenz attractor. Not every Lorenz attractor is an inverted pawn.

Blokus Life Lessons

In this post, clicking the bold word Life will replace it with the bold word Blokus. Life is simple. It gets more complex over time, but nothing insurmountable. In the beginning, your path is pretty much laid out. You have some control over what directions you go, and these are important decisions. They’ll shape your future. They’ll change what opportunities you have down the road. But as important as they are, there are relatively few wrong decisions.

Get your new Django based web app live with AppFog in minutes

You’ll have your Django web app up and running live on the internet with AppFog in a matter of minutes. Here’s what you have to do. Start a project on AppFog. Clone the django-appfog-helloworld repository. Push to AppFog. The repository is available at Here’s what comes with this repo. It’s a Django project that works out of the box (just download it and python manage.

CRM's: Not Just for Sales Folk

In this blog post I recommend Streak, a customer relationship management (CRM) tool that lives inside Gmail. Discuss on Hacker News. What do you use email for? I’m curious, so feel free to let me know before reading further (Google form). Personally, there are a just a handful of use cases that make up the vast majority of my email usage. Let’s list them. Organizing talks and events for ACM and Splash!

Thoughts on Education

That concludes day one of the TigerTrek. I flew out of Princeton yesterday with a group of 20 to spend the week visiting technology companies, startups and venture capitalists in Silicon Valley. We’re going company to company hearing founder’s stories, discussing entrepreneurship, and as we do this I am forced to introspect. What do I want to do with my life? How can I make a difference? My passion is education.

Do you take online courses?

If you’ve taken any online classes, read on! Online education is growing rapidly, and I want to make the online education experience the best it can be. To that end, I would really appreciate your insight regarding online courses such as those offered at Coursera, Udacity, edX, Khan Academy, and MIT’s OpenCourseWare. Please help me by filling out this short 4 question form regarding your online education experiences: The questions asked are: “Which platforms have you used?

What's a Code@Night?

Check out this video showing what Code@Nights are all about! Since you’re reading my blog, you should know a little bit about myself. I’m a big fan of Scrabble. I love math, puzzles, and playing tennis. I spend a lot of my would-be-free time on Coursera. And I’m vice chair of Princeton’s ACM Group. ACM stands for Association for Computing Machinery, but that’s not important. I think that name is silly.

Collapsible Blog Posts

This is my Hello World blog post of sorts.