Designing an async API, from sans-I/O on up | Hacker News Reader