You can clone with
Add stupid templates.
Add some glue code to hash salted passwords wit PBKDF2.
MyIP: display reverse DNS as well as IP address.
Add a MyIP WSGI app.
Add links to the new blog post.
Add timer objects that can be canceled or reset.
Test dropped non-packet bytes.
Add a packet reader.
Fix with file-like objects.
Make line_reader a method.
Add a block_reader method.
Simplify internals a bit.
Add a line reader. (Like file.readline())
Add a test without timers (only a file descriptor).
Properly close the pipe after the test.
Add module docstrings for the event loop.
Move event_loop and its tests to a directory.
Add a event loop. Events are either timers, or FDs ready for reading.
TimerManager handles multiple timers.
Add a README.
Add GNOME Terminal tabs script.
Add Jinja2 template loader for Django.
Markov passwords: simplify again.
Add a license: BSD.
Markov passwords: simplify and comment code.
Markov passwords: make it self-contained
Add a script I had lying around to generate random pronounceable pass…