Intro
- PyCon is an annual conference
- Atlanta for the first time (Chicago last two)
- Sat next to a fellow attendee on the plane
- and behind two guys from Nasuni
Timsort
- Larry Hastings (facebook) microoptimizations talk
- up-front about it being "nerd porn" rather than important
- timsort
- new advancement when written
- appearing in Java 7
- takes huge advantage of existing sortedness
- str.repeat speedups
- noticed that "x" * 1000 * 1000 beats "x" * 1000000
- Visual Workflow Programming
- pipelines
- visual diffs of "code flowcharts"
- provenance recording
- visual version history
- ebird, LANL; science focussed
- hooks for matplotlib, arbitrary python source
- 100+ modules is a "massive" but manageable design
Robots
- NASA JPL DARTSlab (Dynamics Algorithms for Real-Time Simulation)
- 180mi x 280mi @ 1m = 100G terrain model - "anything GDAL can read"
- HDF5, NumPy, matplotlib
- C++ for speed, Python for everything else
- a recurring theme - Nasuni bootstrapped in 8mo
- DocTest
- flot (pure-jquery plotting lib)
Robots 2
- Tortuga swimmer
- 15 ksloc python, 50 ksloc C++, lots of libraries
- "Robotics @ Maryland" club - 4 years, 30 members
- MacMini running Gentoo
- "only thing that kept me sane was knowing that the unittests were
good"
- boost.python, Py++
Robots 3
- Georgia Tech CS1301 (ie. CS1)
- Georgia Robotics, Amazon
- $18 textbook, $100 bot, $100 bluetooth + camera board
- scaling down rather than up
- Synapse Wireless was back
Military
- Alatec @ White Sands (Army)
- "Combat 21" closed form scenario modeller
- jython embedded in it (like JSF tools last year)
- EC2 scaling - $250k/year, but doubling in use
- "Postgres is a fast key-value store"
- compared to memcachedb, SimpleDB, BDB...
- 30G memcached
- 80% is logged out users (Akamai)
- Queues for votes, comments, etc.
- C-based whitespace stripper
- Ctypes wrapper around "discount" for markdown, 15x faster
- C-memcache too leaky/buggy
- 43% of profile in socket.socket.read - memcache
QA/Releng
- Use Hudson
- don't reinvent
- debugging buildbot was like debugging email or print queues
- very nice icons/summary/drilldown
- "Very saleable to non-geeks - don't discount that"
- "Twisted is a lifestyle choice... that I haven't made"
- talked about using RSS/webhooks for build notification
- Sikuli playing Bejeweled
- Shuttleworth on release cadence
- "orbison" ambient orb clone with camera-based testing
- Ned Batchelder, "Tests and Testability"
More Talks
- Raymond Hettinger, Mastering Team Play (just go watch it)
- O(sqrt(N)) running-median algorithm
- QuickSelect
- Random Sample - middle-pop is O(n), replace from end is O(1)
- Python NLTK - Hadoop Streaming
- word-association from 5-gram, westbury datasets
- parser-visualizer
Other
- books written with OSS tools
- understanding the GIL (just go watch it)
- pubsubhubbub - real-time RSS w/delegation, 100e6 feeds
- picloud for crash-fetching?
- fork() copies locks - paramiko bug?
- eventlets/greenlets
- Python Docx - "even ANGRY UNIX GUYS like it"
- "Kittens, Quality, and Design"
Colophon
- Written in ReST with emacs rst-mode
- Converted to HTML with rst-slidy
- Displayed with W3C Slidy javascript