Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-announce-list@python.org Delivered-To: python-announce-list@mail.python.org X-Spam-Status: OK 0.004 X-Spam-Evidence: '*H*': 0.99; '*S*': 0.00; 'messages.': 0.05; 'subject:Python': 0.06; 'release,': 0.09; 'url:github': 0.09; 'python': 0.11; 'chris,': 0.16; 'fork': 0.16; 'from:addr:pobox.com': 0.16; 'from:addr:skip': 0.16; 'spit': 0.16; 'subject:program': 0.16; 'to:addr:python-announce-list': 0.16; 'folder': 0.16; 'sender:addr:gmail.com': 0.17; 'discussion': 0.18; 'bit': 0.19; 'written': 0.21; 'help.': 0.21; 'seems': 0.21; 'skip': 0.24; "i've": 0.25; 'idea': 0.28; 'point': 0.28; 'chris': 0.29; 'words': 0.29; 'message-id:@mail.gmail.com': 0.30; 'code': 0.31; 'lists': 0.32; 'figure': 0.32; 'subject:from': 0.34; 'could': 0.34; 'but': 0.35; 'received:google.com': 0.35; 'set.': 0.36; 'stable': 0.38; 'to:addr:python.org': 0.39; 'enough': 0.39; 'mailing': 0.39; 'around.': 0.60; 'free': 0.61; 'useful.': 0.68; 'internet': 0.71; 'subject:your': 0.76; 'listens': 0.84 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:message-id:subject:from:to:content-type; bh=GH/hZo3lR2ioM9Q3H2sxYV42PBsbgFEXPSUs6Jy0xWk=; b=qRB7fGyRnb0UdA5MA6bR6Yy865U8IFydNM7ex1KjIaEcBNIno5mYJxbM+t+Fpxkvkv e5L7bieGKVVGLWP/503veX4RryHESpzKI6+LRXCojPGGP+jXH2MPqMHZN9X6642nFN7Y wgNHMFR7udp9d27tToey3qzjgNwsvVXkFTdNgYxH5QjanjmRsdcfcdIFcICdffsGGlNn N8G7GCmZb9aUkmLYmsaLZIdcDPOxBwp3gagw6xYPF8F/ptILHsiL6eJ2i0Xq3LpkCOir oFv0C1vcoQ82h8jD+ZqNPRXH8eKbv+PcAzBgoNZxj2AceBvdZE5j5O2Wsqt+Oe9vo2B7 dfXg== MIME-Version: 1.0 X-Received: by 10.50.33.73 with SMTP id p9mr13748261igi.24.1410038243033; Sat, 06 Sep 2014 14:17:23 -0700 (PDT) Sender: skip.montanaro@gmail.com Date: Sat, 6 Sep 2014 16:17:22 -0500 X-Google-Sender-Auth: QdRBgHbAhwW1LlZE0G8oHzJyTl8 Subject: Polly - Python program to generate XKCD 936 passwords from your email From: Skip Montanaro To: python-announce-list@python.org Content-Type: text/plain; charset=UTF-8 X-Mailman-Approved-At: Sat, 06 Sep 2014 23:24:08 +0200 X-BeenThere: python-announce-list@python.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: python-list@python.org List-Id: Announcement-only list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Approved: python-announce-list@python.org Newsgroups: comp.lang.python.announce Message-ID: Lines: 19 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1410038648 news.xs4all.nl 2867 [2001:888:2000:d::a6]:39259 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python.announce:1379 Based on a discussion on comp.lang.python, I stole an idea from Chris Angelico. His D&D game has a parrot that listens to the chatter of the participants. You can ask Polly for a password and it will spit out an XKCD 936 password from the words it has seen. I don't play D&D, but I get a ton of mail from public mailing lists and Internet forums, so I figured I could use that stream of messages as a word set. In deference to Chris, I named it Polly. Polly is written in Python and uses imaplib to monitor an IMAP folder for messages. It seems stable enough at this point that mentioning it outside of other threads on comp.lang.python seems useful. I have no official release, just a Github repository: https://github.com/smontanaro/polly Feel free to fork it and play around. I've never used imaplib for anything, and figure that code code could use a bit of help. Skip