TITLE OF PAPER: Yarn: Working with Messages in Diverse Formats and Protocols URL OF PRESENTATION: _URL_of_powerpoint_presentation_ PRESENTED BY: Abe Fetting REPRESENTING: _name_of_the_company_they_represent_ CONFERENCE: PyCon 2005 DATE: _date_of_your_conference_here_ LOCATION: _venue_and_room_in_venue_ -------------------------------------------------------------------------- REAL-TIME NOTES / ANNOTATIONS OF THE PAPER: {If you've contributed, add your name, e-mail & URL at the bottom} "All programs expand until they can read mail" -- jwz Reading Mail Sending Mail Download RSS feeds Post to weblogs And upload images Information wants to be decantralized Useful information is spread around thentwork specialized hosted dat sources Strategies for Interop 1. All our data are belong to us (Roach Motel strategy) 2. Teach your users to cut and paste 3. Teach your applications to talk to other services Interop is harad Learn spec Implement spec Learn how things work in the real world Interop is Boring It's all about messages From a person or application To a person, group, or application Contains Title Body Links (maybe) Metadata Email (MIME) message blog post RSS item Atom item Bookmark Google search result IM Yarn A Python/Twisted library for workig w/ mesage standard API for reading/, writing, manipulating messages Originally developed for HEP - attempt at a universal message proxy http://yarnproject.org Version 0.7 HEP is not dead It is "just resting" Next release will follow Yarn 0.7 DEMO Yarn browser - Python and GTK uses browser to visit: a local mbox Slashdot RSS feed imap folder Google search results del.icio.us Yarn includes a credentials management framework browser can search what is being displayed can create messages (example of creating a del.icio.us entry) Yarn Architecture Core classes provide common infastructure client api connection sharing cache managment credential management searching query parsing ... missed a few Plugins Protocols - HTTP, POP3, iMAP Formats - RSS, Atom, mbox MIME type conversion (HTMl -> text, HTML -> XHTML) API details slide 15 line App slide Yarn Messages Preserve underlying data Convert on demand DEMO - load slashdot rss feed into Python interpeter using Yarn, and then manipulate data interactively using REP loop Because yarn preserves underlying data, you can edit data via python and have the underlying data get updated Why use Yarn support multiple protocols without any extra work concenrat on more intersting problems Where to use Yarn Universal Personal Proxy Roadmap Code in SVN New release next week 1.0 summer 2005 -------------------------------------------------------------------------- REFERENCES: {as documents / sites are referenced add them below} -------------------------------------------------------------------------- QUOTES: -------------------------------------------------------------------------- CONTRIBUTORS: {add your name, e-mail address and URL below} Ted Leung -------------------------------------------------------------------------- E-MAIL BOUNCEBACK: {add your e-mail address separated by commas } -------------------------------------------------------------------------- NOTES ON / KEY TO THIS TEMPLATE: A headline (like a field in a database) will be CAPITALISED This differentiates from the text that follows A variable that you can change will be surrounded by _underscores_ Spaces in variables are also replaced with under_scores This allows people to select the whole variable with a simple double-click A tool-tip is lower case and surrounded by {curly brackets / parentheses} These supply helpful contextual information. -------------------------------------------------------------------------- Copyright shared between all the participants unless otherwise stated...