From brian.costlow at gmail.com Wed Aug 1 02:26:50 2012 From: brian.costlow at gmail.com (Brian Costlow) Date: Tue, 31 Jul 2012 20:26:50 -0400 Subject: [CentralOH] Anyone Have Suggestions for August Meeting Location? Message-ID: Hi All, Eric and I were chatting yesterday, and we'd like to take COhPy 'on-the-road' for the August meeting. We're thinking of the Bell-Haun building in Westerville, or 2CO on the west side again, unless somebody has an idea for a place we have not tried yet. So if you have any suggestions, please send them to me ASAP. Thanks, Brian -------------- next part -------------- An HTML attachment was scrubbed... URL: From jon.hogue at gmail.com Wed Aug 1 06:22:36 2012 From: jon.hogue at gmail.com (Jon Hogue) Date: Wed, 1 Aug 2012 00:22:36 -0400 Subject: [CentralOH] Anyone Have Suggestions for August Meeting Location? In-Reply-To: References: Message-ID: <-7085927819116190282@unknownmsgid> I know a cool space. will check on it tomorrow. Sent from my iPhone On Jul 31, 2012, at 8:27 PM, Brian Costlow wrote: Hi All, Eric and I were chatting yesterday, and we'd like to take COhPy 'on-the-road' for the August meeting. We're thinking of the Bell-Haun building in Westerville, or 2CO on the west side again, unless somebody has an idea for a place we have not tried yet. So if you have any suggestions, please send them to me ASAP. Thanks, Brian _______________________________________________ CentralOH mailing list CentralOH at python.org http://mail.python.org/mailman/listinfo/centraloh -------------- next part -------------- An HTML attachment was scrubbed... URL: From Sanith_Nair at artechinfo.com Wed Aug 1 22:04:15 2012 From: Sanith_Nair at artechinfo.com (Sanith_Nair at artechinfo.com) Date: Wed, 1 Aug 2012 16:04:15 -0400 Subject: [CentralOH] Python Developer required at Chicago IL Message-ID: Hello, My name is Sanith and I'm a recruiter at Artech, a global staffing and IT consulting company. We are constantly on the look out for professionals tofulfill the staffing needs of our clients. I do have a position which might interest you. Location: Chicaco, IL (on-site) Contract 12+ Months Python Developer Role Specific Responsibilities: The candidate will be a mid level Python developer responsible for contributing to all phases of the SDLC including analysis, design, development, QA, UAT, and tier-2 production support. Majority of this role is Python development (enterprise platform). Java development background with python experience is helpful. Looking for solid OO developer - heads down coding role. Candidate will interact with architects, business analysts, and developers within and outside of GMOT. **Requirements** Required Technical Skills: ? 2+ years Python programming ? 2+ years XML experience ? 3+ years Object Oriented Programming experience (Java background is helpful) Desired Technical Skills: ? Experience with Microsoft WPF UI programming a plus ? Experience with NoSQL databases a plus ? Experience with SQL databases ? Working knowledge of Unix/Linux ? Agile development life-cycle experience Peripheral Skills: ? Financial experience a plus ? Knowledge of Dodd-Frank regulations a huge plus ? Knowledge of derivative products a plus Personal Skills: ? Structured & logical thinking ? Problem solving ? Results oriented ? Client focus Independent, self-motivated Strong communication (written & verbal) Business Unit and Department Structure: GMOT provides technology solutions and services for back office operations within Bank of America Merrill Lynch. We seek an experienced Python system developer to assist in the delivery of a challenging real-time data processing platform in the derivatives space. Sanith Nair Sr Executive - Staffing Artech Information Systems LLC 240 Cedar Knolls Road, Suite 100 | Cedar Knolls, NJ 07927 Office: 973.967.3522 | Fax: 973.998.2599 Email: Sanith_Nair at artechinfo.com | Website: www.artechinfo.com Artech is the #10 Largest IT Staffing Company in the US About Artech Information Systems LLC Artech is an employer-of-choice for over 5,500 consultants across the globe. We recruit world-class talent for over 55 Fortune 500 companies coast-to-coast across the US, India, China and Mexico. We are one of the fastest-growing companies in the US, and this may be your opportunity to join us! Want to read more about Artech? Click here to visit our website or click on the following links to read what others are saying about us: Better Business Bureau, Hoovers, The Wall Street Journal, Inc., Entrepreneur, eWeek, NMSDC, dBusiness News, Diversity Careers, The Artech Circle, NJTVOnline Email secured by Check Point -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/png Size: 9050 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: image/jpeg Size: 2452 bytes Desc: not available URL: From jep200404 at columbus.rr.com Tue Aug 7 02:37:33 2012 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Mon, 6 Aug 2012 20:37:33 -0400 Subject: [CentralOH] 2012 PyOhio Videos Message-ID: <20120806203733.129891a8.jep200404@columbus.rr.com> Where and when should the videos for the 2012 PyOhio appear? From jep200404 at columbus.rr.com Tue Aug 7 15:16:06 2012 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Tue, 7 Aug 2012 09:16:06 -0400 Subject: [CentralOH] TDD at PyOhio Message-ID: <20120807091606.52fba2ab.jep200404@columbus.rr.com> There was a discussion at PyOhio about Test Driven Development (TDD) that I need to review. Who and which presentation(s)? I'm grasping at vague recollections. There was a discussion about TDD during PyOhio that mentioned the need to have tests run in under a second, otherwise developers won't run the tests often enough for the tests to be of benefit. There was also talk about how some tests were very cumbersome, setting up test data in databases. I think there was some discussion of how to avoid that cumbersomeness. Maybe it got into talking about how to program to interfaces. I don't think it was the main focus of a presentation, then again, maybe it was during the main part of a presentation. It might have cropped up during Q&A, then again, maybe not. It might have been a few minutes of one presentation, or I might be thinking of part from more than one presentation. From eric at intellovations.com Tue Aug 7 16:40:32 2012 From: eric at intellovations.com (Eric Floehr) Date: Tue, 7 Aug 2012 10:40:32 -0400 Subject: [CentralOH] 2012 PyOhio Videos In-Reply-To: <20120806203733.129891a8.jep200404@columbus.rr.com> References: <20120806203733.129891a8.jep200404@columbus.rr.com> Message-ID: Jim, > Where and when should the videos for the 2012 PyOhio appear? I think Carl is still processing SciPy I think (or just finished). There are a couple of places to look. The official place is: http://pyvideo.org/ Which is the "semi-official" metadata location for Python conference and user group videos. For potentially rawer access, Carl has a YouTube account he's been starting to post videos to, rather than blip.tv: http://www.youtube.com/nextdayvideo Cheers. Eric From brian.costlow at gmail.com Tue Aug 7 19:16:40 2012 From: brian.costlow at gmail.com (Brian Costlow) Date: Tue, 7 Aug 2012 13:16:40 -0400 Subject: [CentralOH] Looking for presentations for August COhPy Message-ID: Hey All, We're looking for people to give presentations at the August COhPy meeting, 8/27. If you have something new you've done, learned, built etc., and can give a 20-50 minute talk on it, please email me. brian.costlow+cohpy at gmail.com Thanks! Brian -------------- next part -------------- An HTML attachment was scrubbed... URL: From nludban at columbus.rr.com Wed Aug 8 00:45:09 2012 From: nludban at columbus.rr.com (Neil Ludban) Date: Tue, 7 Aug 2012 18:45:09 -0400 Subject: [CentralOH] TDD at PyOhio In-Reply-To: <20120807091606.52fba2ab.jep200404@columbus.rr.com> References: <20120807091606.52fba2ab.jep200404@columbus.rr.com> Message-ID: <20120807184509.14512a68.nludban@columbus.rr.com> Your topics all sound like a discussion at the cohpy meeting on the Monday before pyohio, which IIRC started as a preview of this presentation: http://pyohio.org/schedule/presentations/69/ On Tue, 7 Aug 2012 09:16:06 -0400 jep200404 at columbus.rr.com wrote: > There was a discussion at PyOhio about Test Driven Development > (TDD) that I need to review. > > Who and which presentation(s)? > > I'm grasping at vague recollections. > There was a discussion about TDD during PyOhio that mentioned the > need to have tests run in under a second, otherwise developers > won't run the tests often enough for the tests to be of benefit. > There was also talk about how some tests were very cumbersome, > setting up test data in databases. I think there was some > discussion of how to avoid that cumbersomeness. Maybe it got into > talking about how to program to interfaces. I don't think it was > the main focus of a presentation, then again, maybe it was during > the main part of a presentation. It might have cropped up during > Q&A, then again, maybe not. It might have been a few minutes of > one presentation, or I might be thinking of part from more than > one presentation. > > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > http://mail.python.org/mailman/listinfo/centraloh From brian.costlow at gmail.com Wed Aug 8 02:03:35 2012 From: brian.costlow at gmail.com (Brian Costlow) Date: Tue, 7 Aug 2012 20:03:35 -0400 Subject: [CentralOH] COhPy August Monthly Meeting Message-ID: Hi everyone, We're still working out speaker details, but we are having a monthly meeting on 8/27. Start time is 6:00 PM. We have a new location for this one. ContactUS has graciously offered to host. ContactUS 1108 City Park Avenue, Columbus, OH 43206 https://maps.google.com/maps?f=d&hl=en&saddr=&daddr=39.939674,-82.994522 They've also offered to provide food, so if you are coming, please go the meetup site and RSVP so we can get an accurate count. http://www.meetup.com/Central-Ohio-Python-Users-Group/events/76779652/ Regards, Brian -------------- next part -------------- An HTML attachment was scrubbed... URL: From catherine.devlin at gmail.com Wed Aug 8 02:11:36 2012 From: catherine.devlin at gmail.com (Catherine Devlin) Date: Tue, 7 Aug 2012 20:11:36 -0400 Subject: [CentralOH] Python Workshop for Women Message-ID: Hi, COhPy! Just in case some of you missed my Sunday night lightning talk at PyOhio, allow me to repeat my pitch:" Last spring, I was one of the instructors for this spring's Indianapolis Python Workshop for Women: https://openhatch.org/wiki/Indianapolis_Python_Workshop. This was one of a series of weekend-long introductions to programming in general and Python specifically pioneered by the Boston Python Meetup and now popping up in various cities. Shall Columbus, home of PyOhio, go without its own Workshop? Will Ohio's noble capital be left behind Portland, Chicago, Kansas City, and who knows where else? May it never be! So I need some local knowledge to make this happen. 1. Who can sponsor? We like to buy attendees lunch. Suggestions of Columbus companies that might contribute a few hundred dollars would be welcome (or itty bitty companies that might pitch in $100 each). If you have personal contacts at any such companies that you can refer me to, that's even better - I have bad luck with "cold calls". If you have incriminating information on highly-placed company executives, that's best of all. 2. Where shall we hold it? The ideal venue is free, open Friday night ('tll 9 or 10) and Thursday, has WiFi, and is generally pleasant and accessible. Teaching assistant volunteers are welcome, too! Oh, and here's Jessica's PyCon talk on Boston Python's explosive growth, due largely to these Workshops - definitely worth watching: http://pyvideo.org/video/719/diversity-in-practice-how-the-boston-python-user Finally, if you're subscribed to this list but not actually in Columbus, I'd be happy to make it happen in your city, too. Unless your city is, you know, Reykjavik or something. (Actually, I'd love to go to Reykjavik.) Thanks, -- - Catherine http://catherinedevlin.blogspot.com From eric at intellovations.com Wed Aug 8 16:13:20 2012 From: eric at intellovations.com (Eric Floehr) Date: Wed, 8 Aug 2012 10:13:20 -0400 Subject: [CentralOH] Rewardli offers Message-ID: Hey everyone, Rewardli is a new startup that basically aggregates marketing offers from technology vendors (in our case) to SMB's, user groups, and the like. As anyone who has tried to market to SMBs and small organizations, it's tough. So the benefit to the vendors is they have reduced marketing costs because they are able to reach groups that would be likely buyers of their products, and with those reduced costs, are able to offer deals that they don't generally offer to the general public. Of course the companies can "cheat" the system and offer deals with lots of restrictions or not any different than they offer the general public. Anyway, I was approached by Rewardli and signed up. Take a look at the COhPy page at: http://centralohiopython.rewardli.com/offers If you think there are some deals for services or products that make it compelling to sign up, please do (it's free). If you think it's spammy or crappy or not worth me sending an email and sounding like I'm pimping the company, please let me know. I'm not receiving anything for this, just got the email (copied below). But I thought I would offer this to the group as it seemed like they are "trying to do the right thing" and not just another no-value marketing offer. And looking at the offers, it seemed like there was some value there. Cheers, Eric ---------- Forwarded message ---------- From: Matt Roe Date: Tue, Aug 7, 2012 at 6:06 PM Subject: Central Ohio Python Rewardli Group To: eric at intellovations.com Hey Eric, I'm reaching out to you because O'Reilly, MailChimp, Optimizely, MongoHQ and others are interested in providing private discounts and perks to members of Central Ohio Python. Rewardli helps vendors connect with influential communities and we work with a lot of technology incubators, co-working spaces and developer groups (especially Python groups!). We currently have 100+ companies offering deals through our platform that are suited for Central Ohio Python members. I thought I would contact you directly because you are the leader of Central Ohio Python. Rewardli lets groups access awesome deals, managing preexisting perks, and request offers for their organization. I've already set up a group for Central Ohio Python so you can instantly see how it works at no cost by clicking here: http://centralohiopython.rewardli.com/?i=6OM3UBUG The Central Ohio Python group includes deals such as: MailChimp 6 Months Free O'Reilly Books 40% off print books, 50% off ebooks Optimizely 25% off MongoHQ $200 credit Tddium 1 month free Zencoder $20 credit Pusher.com 1 month free Code School $9 for first month Are there any offers that you think members of Central Ohio Python would want? If so, just let me know or request the deal on Rewardli and I will negotiate a deal for you! Let me know if you have any questions or just visit http://centralohiopython.rewardli.com/?i=6OM3UBUG to claim your group and help your members grow! I'd love to schedule a phone call sometime soon to talk about the platform in more detail. Best, Matt Roe -- Matt Roe Business Development | Rewardli (925) 360-9195 From eric at intellovations.com Wed Aug 8 22:47:13 2012 From: eric at intellovations.com (Eric Floehr) Date: Wed, 8 Aug 2012 16:47:13 -0400 Subject: [CentralOH] LinuxFest Booth Message-ID: PyOhio generally has a booth at the Ohio LinuxFest, which is September 29-30 this year. We use it for general Python outreach. In past years we've displayed Python books, raffled off PyOhio t-shirts, had laptops running Python demos, etc. It has also acted as a kind of "hang out" for Pythonistas. This year, we have been thinking about offering PyOhio t-shirts for donations, printing flyers about PyOhio next year, and info flyers with URLs and info for the regional Python groups. However, we are really looking for new ideas and directions. Are you interested in heading this effort at outreach? Want to put your stamp on something cool? PyOhio will pay for printing costs, and the booth rental... all you need is time and your ideas. Also, if you are interested in manning the booth for some or all of the time, let us know as well. -Eric -------------- next part -------------- An HTML attachment was scrubbed... URL: From mark at microenh.com Tue Aug 14 19:05:33 2012 From: mark at microenh.com (Mr Mark E Erbaugh) Date: Tue, 14 Aug 2012 13:05:33 -0400 Subject: [CentralOH] DoJo West Message-ID: <376D16A1-8C14-466E-8178-E5405163317A@microenh.com> For those who attended last night, I made an announcement that the room would not be available next Monday, but on checking my records, the room is available, so we will have a DoJo next week (8/20). Sorry for the confusion. Mark From jep200404 at columbus.rr.com Thu Aug 16 21:26:34 2012 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Thu, 16 Aug 2012 15:26:34 -0400 Subject: [CentralOH] Pipeness _Within_ Python Message-ID: <20120816152634.18303243.jep200404@columbus.rr.com> How would one do the following[1] entirely within Python[2]? python mogrify.py <(cat "$filename" \ | tee >(sha1sum >&3) >(wc -c >&4) /dev/null \ | gunzip | tee >(sha1sum >&5) >(wc -l -c >&6) /dev/null) [1] Calculate sha1sums and byte count of compressed and uncompressed file, reading file only once (without using temporary files and without saving file in memory). [2] Is it the wrong thing to ask for, considering Python nature and Unix shell script nature? If so, what question should I ask? http://www.catb.org/~esr/writings/unix-koans/ten-thousand.html By the way, while looking for [2], I found "Why Python?"[4] [4] "Why Python?" http://www.linuxjournal.com/article/3882 Guido van Rossum told me [Eric Raymond] once he thought this article was the single most effective piece of Python evangelism ever. For some years it was the single most popular back article on the LJ website. From lenjaffe at jaffesystems.com Thu Aug 16 22:01:10 2012 From: lenjaffe at jaffesystems.com (Len Jaffe) Date: Thu, 16 Aug 2012 16:01:10 -0400 Subject: [CentralOH] Pipeness _Within_ Python In-Reply-To: <20120816152634.18303243.jep200404@columbus.rr.com> References: <20120816152634.18303243.jep200404@columbus.rr.com> Message-ID: On Thu, Aug 16, 2012 at 3:26 PM, wrote: > How would one do the following[1] entirely within Python[2]? > > python mogrify.py <(cat "$filename" \ > | tee >(sha1sum >&3) >(wc -c >&4) /dev/null \ > | gunzip | tee >(sha1sum >&5) >(wc -l -c >&6) /dev/null) > > [2] Is it the wrong thing to ask for, > considering Python nature and Unix shell script nature? > If so, what question should I ask? > http://www.catb.org/~esr/writings/unix-koans/ten-thousand.html > Why would one do that? If the pipeline works, what do you stand to gain from converting it? Len. -- lenjaffe at jaffesystems.com 614-404-4214 www.volunteerable.net Proprietor: http://www.theycomewithcheese.com/ - An Homage to Fromage Greenbar : Grubmaster: 2012-2009, Grub Asst: 2008, Trained: 2007. -------------- next part -------------- An HTML attachment was scrubbed... URL: From nludban at columbus.rr.com Fri Aug 17 04:40:40 2012 From: nludban at columbus.rr.com (Neil Ludban) Date: Thu, 16 Aug 2012 22:40:40 -0400 Subject: [CentralOH] Pipeness _Within_ Python In-Reply-To: <20120816152634.18303243.jep200404@columbus.rr.com> References: <20120816152634.18303243.jep200404@columbus.rr.com> Message-ID: <20120816224040.571393d5.nludban@columbus.rr.com> On Thu, 16 Aug 2012 15:26:34 -0400 jep200404 at columbus.rr.com wrote: > How would one do the following[1] entirely within Python[2]? > > python mogrify.py <(cat "$filename" \ > | tee >(sha1sum >&3) >(wc -c >&4) /dev/null \ > | gunzip | tee >(sha1sum >&5) >(wc -l -c >&6) /dev/null) > > > > [1] Calculate sha1sums and byte count of compressed and > uncompressed file, reading file only once (without using > temporary files and without saving file in memory). $ cat moogrify.py | gzip > moogrify.py.gz $ ls -l moogrify.py* -rwxr-xr-x 1 neil wheel 1116 Aug 16 22:19 moogrify.py* -rw-r--r-- 1 neil wheel 435 Aug 16 22:22 moogrify.py.gz $ wc -l moogrify.py 50 moogrify.py $ sha1 moogrify.py moogrify.py.gz SHA1 (moogrify.py) = f8abef74e7d7de1592ea9ba888886e21befa762f SHA1 (moogrify.py.gz) = b6e747168a6725c55b9e5abbe58d5fcb845df9e6 $ ./moogrify.py < moogrify.py.gz Input: nBytes=435 sha1sum=aa92f0df4752c4ab2a61a1e54fa7fb3c6ff0d961 Output: nBytes=1116 nLines=50 sha1sum=f8abef74e7d7de1592ea9ba888886e21befa762f Note the Input has wrong byte count and sha1sum, probably because the gzip library is pre-reading the file header to determine the format. Correctly supporting tell() and seek() on class ShaInputFile is left as an exercise for the reader... #!/usr/local/bin/python2.7 import gzip import hashlib import shutil import sys class ShaInputFile(object): def __init__(self, fin=None): self._fin = fin self._sha = hashlib.sha1() self.tell = self._fin.tell self.seek = self._fin.seek def read(self, *nbytes): buf = self._fin.read(*nbytes) if buf: self._sha.update(buf) return buf def done(self): print 'Input: nBytes=%i sha1sum=%s' % ( self._fin.tell(), self._sha.hexdigest() ) class ShaOutputFile(object): def __init__(self): self._sha = hashlib.sha1() self._nbytes = 0 self._nlines = 0 def write(self, buf): self._sha.update(buf) self._nbytes += len(buf) self._nlines += buf.count('\n') def done(self): print 'Output: nBytes=%i nLines=%i sha1sum=%s' % ( self._nbytes, self._nlines, self._sha.hexdigest() ) infile = ShaInputFile(sys.stdin) xfile = gzip.GzipFile(fileobj=infile) outfile = ShaOutputFile() shutil.copyfileobj(xfile, outfile) infile.done() outfile.done() #--# From jep200404 at columbus.rr.com Sat Aug 18 19:28:46 2012 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Sat, 18 Aug 2012 13:28:46 -0400 Subject: [CentralOH] Pipeness _Within_ Python In-Reply-To: <20120816224040.571393d5.nludban@columbus.rr.com> References: <20120816152634.18303243.jep200404@columbus.rr.com> <20120816224040.571393d5.nludban@columbus.rr.com> Message-ID: <20120818132846.2e321670.jep200404@columbus.rr.com> On Thu, 16 Aug 2012 22:40:40 -0400, Neil Ludban wrote: > infile = ShaInputFile(sys.stdin) > xfile = gzip.GzipFile(fileobj=infile) That chaining (reading xfile, reads from infile through gzip.GzipFile, which reads from sys.stdin through ShaInputFile) is pipeness. That's the idea I needed. The goodness of file-like objects and Python in general is shown again. Thank you very much! The original post, had mogrify reading the gunziped output for unspecified processing, so I rewrote ShaOutputFile to have a read method that in turn reads from an upstream file-like thing. #!/usr/bin/env python import gzip import hashlib import sys class StatifyFile: def __init__(self, fin=None): self._fin = fin self._sha = hashlib.sha1() if 'tell' in dir(self._fin): self.tell = self._fin.tell if 'seek' in dir(self._fin): self.seek = self._fin.seek self._nbytes = 0 self._nlines = 0 def __iter__(self): return self def next(self): try: buf = self._fin.next() except StopIteration: raise StopIteration self._sha.update(buf) self._nbytes += len(buf) self._nlines += buf.count('\n') return buf def read(self, *nbytes): tell_before = self.tell() buf = self._fin.read(*nbytes) if buf and tell_before == self._nbytes: self._sha.update(buf) self._nbytes += len(buf) self._nlines += buf.count('\n') return buf def get_stats(self): return (self._nbytes, self._nlines, self._sha.hexdigest()) gzipped_file = StatifyFile(sys.stdin) # gzipped_file = StatifyFile(open('moogrify.py.gz')) # gunzipped_file = gzip.GzipFile(fileobj=gzipped_file) # my_stdin = StatifyFile(gunzipped_file) my_stdin = StatifyFile(gzip.GzipFile(fileobj=gzipped_file)) for i, line in enumerate(my_stdin): if i % 10 == 0: print i, line, pass print 'compressed', repr(gzipped_file.get_stats()) print 'uncompressed', repr(my_stdin.get_stats()) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - If I didn't care about the getting info from the filters, I could have written: for i, line in enumerate( StatifyFile(gzip.GzipFile(fileobj=StatifyFile(sys.stdin)))): > Note the Input has wrong byte count and sha1sum, probably because the > gzip library is pre-reading the file header to determine the format. > Correctly supporting tell() and seek() on class ShaInputFile is left > as an exercise for the reader... [jep200404 at test nl]$ ll moog* -rwxrwxr-x. 1 jep jep 1116 Aug 17 23:29 moogrify.py -rw-rw-r--. 1 jep jep 435 Aug 17 23:30 moogrify.py.gz [jep200404 at test nl]$ sha1sum moog* f8abef74e7d7de1592ea9ba888886e21befa762f moogrify.py 52ac0f5b2fbafceeb0a926470eff9525189797a8 moogrify.py.gz [jep200404 at test nl]$ ./two.py $ sha1 moogrify.py moogrify.py.gz > SHA1 (moogrify.py) = f8abef74e7d7de1592ea9ba888886e21befa762f > SHA1 (moogrify.py.gz) = b6e747168a6725c55b9e5abbe58d5fcb845df9e6 By the way, which OS were you using? From nludban at columbus.rr.com Sat Aug 18 20:22:06 2012 From: nludban at columbus.rr.com (Neil Ludban) Date: Sat, 18 Aug 2012 14:22:06 -0400 Subject: [CentralOH] Pipeness _Within_ Python In-Reply-To: <20120818132846.2e321670.jep200404@columbus.rr.com> References: <20120816152634.18303243.jep200404@columbus.rr.com> <20120816224040.571393d5.nludban@columbus.rr.com> <20120818132846.2e321670.jep200404@columbus.rr.com> Message-ID: <20120818142206.3eea13e6.nludban@columbus.rr.com> On Sat, 18 Aug 2012 13:28:46 -0400 jep200404 at columbus.rr.com wrote: > On Thu, 16 Aug 2012 22:40:40 -0400, Neil Ludban wrote: > ... > > By the way, which OS were you using? > NetBSD 5.1.2 on a rather old x86 (2.67GHz Celeron, AGP video era). From brian.costlow at gmail.com Sun Aug 19 23:13:44 2012 From: brian.costlow at gmail.com (Brian Costlow) Date: Sun, 19 Aug 2012 17:13:44 -0400 Subject: [CentralOH] Central Ohio Python Job Opp Message-ID: All, I haven't worked with this recruiter at all, it was a cold contact that reached out to me, but Python (even partial Python) opportunities seem rare in Columbus, so I told her I would pass it along. Please have anyone interested in this opportunity or simply interested in hearing about other opportunities in Columbus, OH contact me at kimyark at technisource.com**** ** ** This opportunity is a 3-6 month contract to hire with one of our favorite clients. Our client is a claims management company and they just inquired business that will double the size of the company. They are in need of a python developer/analyst to help with software applications in an oracle environment.**** ** ** Skills Required:**** **? **1. Tier 1 (Important) Python, Web development, Oracle RDBMS, C/C++, ANSI X.12**** **? **2. Tier 2 (Very Beneficial) Oracle Forms, Java, Data Modeling, Development Life Cycle Methodologies**** **? **3. Tier 3 Ajax, Cross Platform SCM Tools, Python/C/C++ ORM Tools**** ** ** Position Description: This position will provide for support and development of a software application run for the Bureau Of Workers Compensation of Ohio. The application is built upon an Oracle environment with various integrated components and interfaces. ANSI X.12 transaction set for medical bill and workers compensation are used throughout the application.**** ** ** Responsibilities:**** **? **1. Help develop and maintain new front end application to replace current.**** **? **2. Back-up on development and maintenance of existing back-end application**** **? **3. Additional development work to support EDI and/or State Reporting**** ** ** Project Summary:**** **? **Ongoing enhancement and maintenance of outsourced application supporting Ohio BWC HPP program. This application is written in Python, C, and Oracle Forms. It adjudicates medical invoices, determines MCO reimbursement, and handles employer assignment to individual MCOs. It sends and receives data via ANSI X.12 transaction sets.**** ** ** Thanks,**** Kim Yark**** kimyark at technisource.com**** 614.987.2706 -------------- next part -------------- An HTML attachment was scrubbed... URL: From jep200404 at columbus.rr.com Tue Aug 21 03:44:35 2012 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Mon, 20 Aug 2012 21:44:35 -0400 Subject: [CentralOH] Filenames For Pipes? Message-ID: <20120820214435.35e57ae6.jep200404@columbus.rr.com> How can I do the following from within Python, without invoking bash and without creating intermediate files? How can I get a filename for a pipe or handle? diff <(gunzip References: <20120820214435.35e57ae6.jep200404@columbus.rr.com> Message-ID: <20120820222409.5a873c01.nludban@columbus.rr.com> On Mon, 20 Aug 2012 21:44:35 -0400 jep200404 at columbus.rr.com wrote: > How can I do the following from within Python, without invoking > bash and without creating intermediate files? How can I get a > filename for a pipe or handle? > > diff <(gunzip /dev/fd/* From jep200404 at columbus.rr.com Thu Aug 23 00:39:56 2012 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Wed, 22 Aug 2012 18:39:56 -0400 Subject: [CentralOH] Filenames For Pipes? In-Reply-To: <20120820222409.5a873c01.nludban@columbus.rr.com> References: <20120820214435.35e57ae6.jep200404@columbus.rr.com> <20120820222409.5a873c01.nludban@columbus.rr.com> Message-ID: <20120822183956.7dc3763c.jep200404@columbus.rr.com> On Mon, 20 Aug 2012 22:24:09 -0400, Neil Ludban wrote: > On Mon, 20 Aug 2012 21:44:35 -0400 > jep200404 at columbus.rr.com wrote: > > How can I do the following from within Python, without invoking > > bash and without creating intermediate files? How can I get a > > filename for a pipe or handle? > > > > diff <(gunzip /dev/fd/* I'm using the following smelly code: fd_name = '/dev/fd/%d' % file.fileno() There have to be better ways. What are they? From wam at cisco.com Thu Aug 23 01:07:29 2012 From: wam at cisco.com (William McVey) Date: Wed, 22 Aug 2012 19:07:29 -0400 Subject: [CentralOH] Filenames For Pipes? In-Reply-To: <20120822183956.7dc3763c.jep200404@columbus.rr.com> References: <20120820214435.35e57ae6.jep200404@columbus.rr.com> <20120820222409.5a873c01.nludban@columbus.rr.com> <20120822183956.7dc3763c.jep200404@columbus.rr.com> Message-ID: <1345676849.6095.4054.camel@goldfinger> On Wed, 2012-08-22 at 18:39 -0400, jep200404 at columbus.rr.com wrote: > I'm using the following smelly code: > fd_name = '/dev/fd/%d' % file.fileno() > There have to be better ways. What are they? I don't exactly understand what you're trying to do in terms of your python program. The example you gave at the start of the thread showed the bash syntax for dealing with open descriptors as filenames. This makes sense for bash, which has to be able to convert its file handle redirection to binaries which generally prefer to handle filenames. But in python, operations are rarely done with either file descriptors or even filenames (beyond initial program setup) and it is much more common to process arbitrary iterators (or at least things that behave like file objects). Mapping from an open file to a file descriptor to a filename seems like an exceptionally obtuse way to accomplish most tasks within python (and as you've pointed out, the code smells because this is a very platform specific capability found in only some linux/unix kernels). You apparently have open file objects within your python code. Are these generic file objects (e.g. just as likely to be sys.stdout or StringIO objects) or files that previously were opened from disk and now you're trying to find the original filename (in which case, the .name attribute of the file object might suffice). Again though, it'd help if we knew what you were trying to do within your python code. -- William From jep200404 at columbus.rr.com Thu Aug 23 03:17:23 2012 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Wed, 22 Aug 2012 21:17:23 -0400 Subject: [CentralOH] Filenames For Pipes? In-Reply-To: <1345676849.6095.4054.camel@goldfinger> References: <20120820214435.35e57ae6.jep200404@columbus.rr.com> <20120820222409.5a873c01.nludban@columbus.rr.com> <20120822183956.7dc3763c.jep200404@columbus.rr.com> <1345676849.6095.4054.camel@goldfinger> Message-ID: <20120822211723.1b14c8cf.jep200404@columbus.rr.com> On Wed, 22 Aug 2012 19:07:29 -0400, William McVey wrote: > On Wed, 2012-08-22 at 18:39 -0400, jep200404 at columbus.rr.com wrote: > > I'm using the following smelly code: > > fd_name = '/dev/fd/%d' % file.fileno() > > There have to be better ways. What are they? > > I don't exactly understand what you're trying to do in terms of your > python program. I'm using external programs from within Python. > The example you gave at the start of the thread showed > the bash syntax for dealing with open descriptors as filenames. This > makes sense for bash, which has to be able to convert its file handle > redirection to binaries which generally prefer to handle filenames. But > in python, operations are rarely done with either file descriptors or > even filenames (beyond initial program setup) and it is much more common > to process arbitrary iterators (or at least things that behave like file > objects). Yup. I'm dealing with the mismatch between the bash way of doing things and the Pythonic way of doing things. Here's some simplified code to show what I'm playing with. [jep200404 at test ~]$ ll | gzip >old.gz [jep200404 at test ~]$ ll | gzip >new.gz [jep200404 at test ~]$ diff <(gunzip total 536340 16c16,17 < -rw-rw-r--. 1 jep200404 jep200404 0 Aug 23 01:00 old.gz --- > -rw-rw-r--. 1 jep200404 jep200404 0 Aug 23 01:00 new.gz > -rw-rw-r--. 1 jep200404 jep200404 570 Aug 23 01:00 old.gz [jep200404 at test ~]$ python Python 2.6.6 (r266:84292, Jun 18 2012, 14:18:47) [GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from subprocess import Popen, PIPE >>> >>> old_file = Popen(["gunzip"], stdin=open('old.gz', 'rb'), stdout=PIPE).stdout >>> new_file = Popen(["gunzip"], stdin=open('new.gz', 'rb'), stdout=PIPE).stdout >>> >>> old_fd_name = '/dev/fd/%d' % old_file.fileno() >>> new_fd_name = '/dev/fd/%d' % new_file.fileno() >>> >>> with (Popen( ... ['diff', old_fd_name, new_fd_name], ... stdout=PIPE).stdout ... ) as diff_stdout: ... for line in diff_stdout: ... # process line ... print line, ... 1c1 < total 536336 --- > total 536340 16c16,17 < -rw-rw-r--. 1 jep200404 jep200404 0 Aug 23 01:00 old.gz --- > -rw-rw-r--. 1 jep200404 jep200404 0 Aug 23 01:00 new.gz > -rw-rw-r--. 1 jep200404 jep200404 570 Aug 23 01:00 old.gz >>> [jep200404 at test ~]$ From wam at cisco.com Thu Aug 23 17:36:09 2012 From: wam at cisco.com (William McVey) Date: Thu, 23 Aug 2012 11:36:09 -0400 Subject: [CentralOH] Filenames For Pipes? In-Reply-To: <20120822211723.1b14c8cf.jep200404@columbus.rr.com> References: <20120820214435.35e57ae6.jep200404@columbus.rr.com> <20120820222409.5a873c01.nludban@columbus.rr.com> <20120822183956.7dc3763c.jep200404@columbus.rr.com> <1345676849.6095.4054.camel@goldfinger> <20120822211723.1b14c8cf.jep200404@columbus.rr.com> Message-ID: <1345736169.6095.6073.camel@goldfinger> On Wed, 2012-08-22 at 21:17 -0400, jep200404 at columbus.rr.com wrote: > I'm using external programs from within Python. Seems like the easiest thing to do is just call zdiff against your gzipped files directly and process that program's output stream. If that's not to your liking, I'd suggest skipping the external programs altogether and use the python solutions to this problem, namely the gzip and difflib libraries: >>> import gzip, difflib, pprint >>> a = gzip.GzipFile("a.gz") >>> b = gzip.GzipFile("b.gz") >>> pprint.pprint(list( ... difflib.unified_diff(a.readlines(), b.readlines(), ... fromfile="gzipped a", tofile="gzipped b"))) ['--- gzipped a\n', '+++ gzipped b\n', '@@ -1,4 +1,5 @@\n', '-total 8\n', '+total 12\n', ' drwxr-xr-x 2 wam wam 4096 Aug 23 10:58 .\n', ' drwxrwxrwt 18 root root 4096 Aug 23 10:58 ..\n', '--rw-r--r-- 1 wam wam 0 Aug 23 10:58 a.gz\n', '+-rw-r--r-- 1 wam wam 105 Aug 23 10:58 a.gz\n', '+-rw-r--r-- 1 wam wam 0 Aug 23 10:58 b.gz\n'] unified_diff() returns a generator, so I convert it to a list before pushing it to pretty pprint. If that's not to your liking, then I'd probably recommend using named pipes created via os.mkfifo() in a tempfile.mkdtemp() created directory. -- William From brian.costlow at gmail.com Fri Aug 24 14:47:56 2012 From: brian.costlow at gmail.com (Brian Costlow) Date: Fri, 24 Aug 2012 08:47:56 -0400 Subject: [CentralOH] Reminder: COhPy Monthly Meeting August 27th Message-ID: All, Just a reminder we're having this month's meeting at a new location. *When*: Monday, August 27, 2012 6:00 PM *Where*: ContactUS 1108 City Park Avenue Columbus, OH 43206 Bryan Harris will be talking about Project Euler. For more details, see the full listing on meetup.com Our hosts have offered to provide some food, so we're trying to get an accurate as possible attendee count. If you plan on coming, please RSVP on the meetup site. http://www.meetup.com/Central-Ohio-Python-Users-Group/events/76779652/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From jep200404 at columbus.rr.com Sat Aug 25 04:33:28 2012 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Fri, 24 Aug 2012 22:33:28 -0400 Subject: [CentralOH] Filenames For Pipes? In-Reply-To: <1345736169.6095.6073.camel@goldfinger> References: <20120820214435.35e57ae6.jep200404@columbus.rr.com> <20120820222409.5a873c01.nludban@columbus.rr.com> <20120822183956.7dc3763c.jep200404@columbus.rr.com> <1345676849.6095.4054.camel@goldfinger> <20120822211723.1b14c8cf.jep200404@columbus.rr.com> <1345736169.6095.6073.camel@goldfinger> Message-ID: <20120824223328.4f320e67.jep200404@columbus.rr.com> On Thu, 23 Aug 2012 11:36:09 -0400, William McVey wrote: > On Wed, 2012-08-22 at 21:17 -0400, jep200404 at columbus.rr.com wrote: > > I'm using external programs from within Python. > > > Seems like the easiest thing to do is just call zdiff against your > gzipped files directly and process that program's output stream. Thanks, I did not know about zdiff. That certainly makes short work of what I'm doing, and avoids the /dev/fd/%d trickery. > If that's not to your liking, then I'd probably recommend using named > pipes created via os.mkfifo() in a tempfile.mkdtemp() created > directory. I'll keep that in mind. That could be helpful in case I need to do something like the following instead of diff. comm <(gunzip 2012-08-27 18:00 EDT http://www.meetup.com/Central-Ohio-Python-Users-Group/events/76779652/ From brywilharris at gmail.com Tue Aug 28 00:07:55 2012 From: brywilharris at gmail.com (Bryan Harris) Date: Mon, 27 Aug 2012 18:07:55 -0400 Subject: [CentralOH] 27 Aug 2012 Presentation Message-ID: <503BEFBB.6030908@gmail.com> -------------- next part -------------- A non-text attachment was scrubbed... Name: Euler Project.ppt.pdf Type: application/pdf Size: 3126757 bytes Desc: not available URL: