From eric at intellovations.com Wed May 5 14:26:21 2010 From: eric at intellovations.com (Eric Floehr) Date: Wed, 5 May 2010 08:26:21 -0400 Subject: [CentralOH] PyOhio: Proposal deadline in 5 days Message-ID: Hey everyone, I just wanted to remind you that the deadline for submitting proposals for PyOhio is coming up in 5 days. If you are thinking of submitting a talk, tutorial, or panel proposal, please get going on it! There are many benefits to talking, doing a tutorial, or moderating a panel discussion: 1. It's a great chance to practice public speaking in front of a receptive audience. 2. It's an awesome addition to your resume. 3. Doing it forces you to learn your topic more than you would otherwise...it's a great motivator. 4. You will gain the respect and admiration of your peers. But in addition to the benefits you will accrue from doing this, you will also be greatly benefiting others by sharing your knowledge and helping others grow as Python developers. So please don't delay...submit your proposal TODAY! Best Regards, Eric From eric at intellovations.com Wed May 5 14:27:23 2010 From: eric at intellovations.com (Eric Floehr) Date: Wed, 5 May 2010 08:27:23 -0400 Subject: [CentralOH] PyOhio: Proposal deadline in 5 days In-Reply-To: References: Message-ID: Heh...more info, including the proposal template here: http://www.pyohio.org/CallForProposals -Eric On Wed, May 5, 2010 at 8:26 AM, Eric Floehr wrote: > Hey everyone, > > I just wanted to remind you that the deadline for submitting proposals > for PyOhio is coming up in 5 days. ?If you are thinking of submitting > a talk, tutorial, or panel proposal, please get going on it! > > There are many benefits to talking, doing a tutorial, or moderating a > panel discussion: > > 1. It's a great chance to practice public speaking in front of a > receptive audience. > > 2. It's an awesome addition to your resume. > > 3. Doing it forces you to learn your topic more than you would > otherwise...it's a great motivator. > > 4. You will gain the respect and admiration of your peers. > > > But in addition to the benefits you will accrue from doing this, you > will also be greatly benefiting others by sharing your knowledge and > helping others grow as Python developers. > > > So please don't delay...submit your proposal TODAY! > > Best Regards, > Eric > From catherine.devlin at gmail.com Thu May 6 15:40:31 2010 From: catherine.devlin at gmail.com (Catherine Devlin) Date: Thu, 6 May 2010 09:40:31 -0400 Subject: [CentralOH] audience-instructors for Python bugfixing needed Message-ID: Calling... anybody who has experience with working on Python itself! (The Python core, and/or the Python Standard Library) I need a few of you (3?) who can commit to come to PyOhio and take part as audience/instructors in a Teach Me Bugfixing session. The PyOhio Call for Proposals is up May 10 so I'd better find you quick! Our awesome language has a problem: there's a big backlog of bugs in the Python bug tracker, and the volunteers who work on them are stretched too thin. That's why Jesse Noller and others are trying to get more people involved in the process. (Read http://jessenoller.com/2010/04/22/why-arent-you-contributing-to-python/) I've never done it myself, so I want to lead a Teach Me Bugfixing session. (See http://catherinedevlin.blogspot.com/2010/04/bugfixing-at-pyohio.html.) In a Teach Me session, the person at the projector *doesn't* know the material. Instead, she asks the audience questions ("How do I find a bug to work on?"), and they talk her through it. It's based on Teach Me Twisted, a mind-blowing session Steve Holden led at PyCon 2008 ( http://catherinedevlin.blogspot.com/2008/03/teach-me-twisted.html). I think it's a fantastic way to teach, but it depends on some veterans being in the audience. There are folks in the greater Python community eager to get hold of a video of such a session... if we do this well, it could become an important tool in keeping the quality of core Python code high. And all I need from you, my audience-instructors, is a promise to show up (no preparation necessary). Can you make it? Can you pass the appeal on to others you know of? Thanks! See you in July! -- - Catherine http://catherinedevlin.blogspot.com/ *** PyOhio 2010 * July 31 - Aug 1 * Columbus, OH * pyohio.org *** -------------- next part -------------- An HTML attachment was scrubbed... URL: From james at atlantixeng.com Tue May 11 17:26:43 2010 From: james at atlantixeng.com (James - Atlantix) Date: Tue, 11 May 2010 11:26:43 -0400 Subject: [CentralOH] Python Miro Community Message-ID: <005c01caf11e$5d019c60$1704d520$@com> I highly recommend this site. Pycon 2009 and 2010 are represented, as well as Django conferences. http://python.mirocommunity.org/ The videos on the python miro community cover a wide range of topics, and are quite well organized. Recently I watched videos on matplotlib, design patterns in Python (Martelli), advanced python (Holden) and cmd interfacing (our very own Catherine). http://python.mirocommunity.org/video/1533/pycon-2010-easy-command-line-a I found the videos by Holden and Martelli to like you're really in class. -James -------------- next part -------------- An HTML attachment was scrubbed... URL: From eric at intellovations.com Wed May 19 14:52:26 2010 From: eric at intellovations.com (Eric Floehr) Date: Wed, 19 May 2010 08:52:26 -0400 Subject: [CentralOH] Monday's Meeting Message-ID: All, I think this Hands-On Python is really going to be cool...in preparation for that you'll definitely need to bring you laptop! Additionally, in order to get the most out of the meeting, you'll want to have installed: All talks: Python 2.4 or 2.6 For the SQLAlchemy talk: SQLAlchemy Python sqllite (2.4 only, 2.6 is built-in) For the Networking talk: Telnet Client For the X Windows/dmenu talk: python-xlib (X library for Python) (Note, Windows users will just have to watch or buddy up) See you there! Eric From eric at intellovations.com Mon May 24 15:57:48 2010 From: eric at intellovations.com (Eric Floehr) Date: Mon, 24 May 2010 09:57:48 -0400 Subject: [CentralOH] Files from OCLC presentation Message-ID: All, I apologize for being so delinquent in publishing the files from the April COhPy meeting. This gzipped tar-ball contains all the files for OCLC's implementation of map-reduce. Let me know if you have any problems with the download or the file. http://www.intellovations.com/cohpy/mroclc.tar.gz Thanks! Eric From nludban at osc.edu Mon May 24 16:22:04 2010 From: nludban at osc.edu (Neil Ludban) Date: Mon, 24 May 2010 10:22:04 -0400 Subject: [CentralOH] sockets auxiliary code Message-ID: <42305BAE-7966-44DE-96C8-BB3A6D6A53AE@osc.edu> Save to a file and bring to the Hands-On Python meeting tonight. #!/usr/bin/env python import socket import sys NUL = chr(0) BS = chr(8) LF = chr(10) CR = chr(13) IAC = chr(255) # interpret as command WILL = chr(251) WONT = chr(252) DO = chr(253) DONT = chr(254) OPT_ECHO = chr(1) # echoing for remote end OPT_SGA = chr(3) # suppress-go-ahead class TelnetProtocol(object): def __init__(self): self._buf = '' def recv_data(self, data): buf = self._buf + data while buf: if buf[0] == IAC: if len(buf) < 2: break command = buf[1] if command in ( WILL, WONT, DO, DONT ): if len(buf) < 3: break option = buf[2] self.got_option(command, option) buf = buf[3:] else: raise NotImplementedError(ord(command)) elif buf[0] == CR: if len(buf) < 2: break assert buf[1] in ( NUL, LF ) self.got_newline() buf = buf[2:] elif buf[0] == LF: self.got_newline() buf = buf[1:] elif buf[0] == NUL: buf = buf[1:] elif chr(0x20) <= buf[0] < chr(0x7f): self.got_ascii(buf[0]) buf = buf[1:] else: self.got_control(buf[0]) buf = buf[1:] self._buf = buf return def got_option(self, command, option): print 'TS: command=%i option=%i' % ( ord(command), ord(option) ) def got_newline(self): print 'TS: ' #sock.send(CR + NUL) #sock.send(LF) sock.send(CR + LF) def got_control(self, c): print 'TS: %r' % c if c == chr(0x1b): sys.exit(0) elif c == chr(0x7f): sock.send(BS + ' ' + BS) def got_ascii(self, c): print 'TS: "%c"' % c sock.send(c.encode('rot13')) class TelnetServer(object): def __init__(self, host='127.0.0.1', port=0): self._listen_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self._listen_sock.bind(( host, port )) self._listen_sock.listen(5) return def process_connections(self): print 'Waiting for connections to:', \ self._listen_sock.getsockname() while True: ( accept_sock, peername ) = self._listen_sock.accept() print 'Connection from:', peername self.process_client(accept_sock) def process_client(self, _sock): global sock; sock = _sock ##sock.send(IAC + DONT + OPT_ECHO) #sock.send(IAC + WILL + OPT_ECHO) ##sock.send(IAC + DO + OPT_SGA) #sock.send(IAC + WILL + OPT_SGA) #tp = TelnetProtocol() while True: data = sock.recv(100) if not data: break sock.send('You said: %r' % data + CR + LF) #tp.recv_data(data) print 'Connection ended.' sock.close() return ts = TelnetServer() ts.process_connections() #--# From eric at intellovations.com Tue May 25 01:38:43 2010 From: eric at intellovations.com (Eric Floehr) Date: Mon, 24 May 2010 19:38:43 -0400 Subject: [CentralOH] Network file Message-ID: Here it is: import os import sys import socket CR = chr(13) LF = chr(10) listen_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) listen_sock.bind(('127.0.0.1',0)) listen_sock.listen(5) print 'Listening:', listen_sock.getsockname() while True: sock, peername = listen_sock.accept() print 'Connection from:', peername, sock.getpeername() while True: msg = sock.recv(200) if not msg: break print 'Question:', msg msg = eval(msg) sock.send(('Answer: %s\n' %msg).replace('\n', CR+LF)) sock.close() listen_sock.close() sys.exit(0) From mark at microenh.com Mon May 24 21:05:35 2010 From: mark at microenh.com (Mark Erbaugh) Date: Mon, 24 May 2010 15:05:35 -0400 Subject: [CentralOH] SQLAlchemy Auxiliary Code Message-ID: <05559BAB-55B1-4F85-BB72-0121EDDBDC31@microenh.com> The attachment contains some Python source code (.py) files. Some of these files will be imported or copied and pasted to reduce typing during my Hands on Python SQLAlchemy demo. I'll also have the files on a USB memory stick. Mark