From jep200404 at columbus.rr.com Sun Nov 1 10:17:18 2015 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Sun, 1 Nov 2015 10:17:18 -0500 Subject: [CentralOH] Tuesday Python Lunch: Byrne's Pub Message-ID: <20151101101718.7260aabd.jep200404@columbus.rr.com> Tuesday 2015-11-03 11:30 Tuesday Tuesday Byrne's Pub Tuesday Tuesday 1248 West Third Ave Tuesday Tuesday byrnespub.com (talk to the hands) Tuesday From jay at tixers.com Tue Nov 3 11:39:20 2015 From: jay at tixers.com (Jay Clouse) Date: Tue, 3 Nov 2015 11:39:20 -0500 Subject: [CentralOH] Startup Weekend Columbus (Health) Nov. 20-22 Message-ID: Hey guys, It's that time again, when Startup Weekend Columbus rolls around. We are doing our first ever vertical/theme in Columbus, and that theme is Health. You don't need to be in the health space or have a health idea yourself to participate, but each project will center around that vertical. Boiler plate info below, we've got a 50% off code for our COhPy friends too. See you there. -- Startup Weekend Health is coming to Columbus for the first time! All Startup Weekend events follow the same basic model: Anyone is welcome to pitch their startup idea and receive feedback from their peers. Teams organically form around the top ideas (as determined by popular vote) and then it's a 54-hour frenzy of business model creation, coding, UX/design, and market validation. The weekends culminate with presentations in front of local entrepreneurial leaders with another opportunity for critical feedback. This event will be held November 20-22 at CoverMyMeds and features a fireside chat with Doug Ulman, CEO of Pelotonia (former CEO of LIVESTRONG). There will also be an introductory yoga session to start your Saturday morning right! Find more info or reserve your ticket here. For COhPy members, use promo code COHPY for *50% off*. Attendees will receive: - Sweet space at CoverMyMeds to work for the weekend - Invaluable access to a community of world class entrepreneurs and mentors - 3 dinners, 2 lunches, 2 breakfasts - A sweet t-shirt - All the coffee, soda, energy drinks, and water you could ever need - An amazing experience and chance to get a taste of the startup world If you have any other questions, feel free to contact the organizers at columbus at startupweekend.org *Jay Clouse *| *Tixers * | *Chief Operating Officer**419.852.9976 | *LinkedIn | Twitter | Personal -------------- next part -------------- An HTML attachment was scrubbed... URL: From eric at intellovations.com Tue Nov 3 16:38:02 2015 From: eric at intellovations.com (Eric Floehr) Date: Tue, 3 Nov 2015 16:38:02 -0500 Subject: [CentralOH] Columbus Ohio Tech Holiday Party 12/4 6-9pm Message-ID: All, Everyone is invited to celebrate the Columbus tech community and the holidays! The party is hosted by CoverMyMeds and will be on Friday, December 4, from 6 to 9pm. Food and drink as well as the facilities will be generously provided by CoverMyMeds. If you'd like to attend, please register here (it's free): http://www.eventbrite.com/e/columbus-meetups-holiday-celebration-tickets-19374804562 I hope to see you there! We can talk Python! Cheers, Eric -------------- next part -------------- An HTML attachment was scrubbed... URL: From jep200404 at columbus.rr.com Tue Nov 3 17:49:47 2015 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Tue, 3 Nov 2015 17:49:47 -0500 Subject: [CentralOH] 2015-11-03 Byrne's Pub Napkin Scribbles: TPoSaNA; fortran vb assembler pascal lopsa perl apis greeks usb gig ethernet Feynman lectures Message-ID: <20151103174947.67e15705.jep200404@columbus.rr.com> The weather was absolutely glorious on the patio at Byrne's Pub. Five made it. formally matriculated at on-line school just passed Python test brought The Practice of System and Network Administration Second Edition Thomas A Limoncelli, Christina J. Jogan, and Strata R. Chalup with Hello Kitty bookmarks Fortran still important VisualBasic Assembler still has very narrow niche Pascal not practical LOPSA discussed languages Rob Kinyon presented Perl still relevant a language itself may be easy to learn, but learning the libraries (and APIs) takes much time wp: prefix means Wikipedia To get good answers, consider following the advice in the links below. http://catb.org/~esr/faqs/smart-questions.html http://web.archive.org/web/20090627155454/www.greenend.org.uk/rjk/2000/06/14/quoting.html wp:Siberian wp:Sybarite wp:Polyphemus Anker 3-Port USB 3.0 Hub with Gigabit Ethernet http://www.ianker.com/product/A7514041 Model A8303 I wonder how much throughput it handles over gigabit ethernet. wp:USB Type-C 5V 900 mA 5V 1.5 A 5V 3.0 A wp:Phosphoric acid wp:Cold Fusion wp:Cold welding wp:The Feynman Lectures on Physics http://feynmanlectures.caltech.edu/ Thanks for making it available for free on-line. Thanks for taking care so that it renders on a wide variety of devices. the hummus is pretty spicy. the green onions and tomato on top are nice the french fries were good. Cubano was good and could have used fruit Coney Dog was small but very loaded and good one beverage was served in a glass with lipstick wp:Jane Byrne From jep200404 at columbus.rr.com Tue Nov 3 17:55:53 2015 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Tue, 3 Nov 2015 17:55:53 -0500 Subject: [CentralOH] Monday 2015-11-09 11:30 EST Explorer's Club Kitchen at Zauber Brewing Company Message-ID: <20151103175553.7f5cc59e.jep200404@columbus.rr.com> Monday 2015-11-09 11:30 EST Monday Monday Explorer's Club Kitchen at Monday Monday Zauber Brewing Company Monday Monday 909 West Fifth Avenue Monday Monday http://www.explorersclubmv.com/lunchdinner/ Monday From jep200404 at columbus.rr.com Tue Nov 3 18:10:58 2015 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Tue, 3 Nov 2015 18:10:58 -0500 Subject: [CentralOH] Monday 2015-11-09 11:30 EST Explorer's Club Kitchen at Zauber Brewing Company In-Reply-To: <20151103175553.7f5cc59e.jep200404@columbus.rr.com> References: <20151103175553.7f5cc59e.jep200404@columbus.rr.com> Message-ID: <20151103181058.16d0bc5c.jep200404@columbus.rr.com> On Tue, 3 Nov 2015 17:55:53 -0500, jep200404 at columbus.rr.com wrote: > Monday 2015-11-09 11:30 EST Monday > Monday Explorer's Club Kitchen at Monday > Monday Zauber Brewing Company Monday > Monday 909 West Fifth Avenue Monday > Monday http://www.explorersclubmv.com/lunchdinner/ Monday http://www.openstreetmap.org/search?query=909%20west%20fifth%20ave%2C%20columbus%2C%20ohio%2C%20usa#map=19/39.98800/-83.03043 From jep200404 at columbus.rr.com Tue Nov 3 19:35:48 2015 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Tue, 3 Nov 2015 19:35:48 -0500 Subject: [CentralOH] Summarizing Data From Excel Spreadsheet Message-ID: <20151103193548.0b1c51fc.jep200404@columbus.rr.com> David commented[1]: > I'm looking for a program that will ... I don't know if a program that does everything you want already exists. One can make a Python program to do it. > ... take a csv or Excel file ... Python's csv module groks csv files and csv-ish Excel files with aplomb. > ... and profile the data in it: > # of rows, ... easy > ... list of column names, ... easy _if_ always done the same way > ... worksheet tab (if Excel), ... I don't know what that is. > ... max and min in a column, ... easy might also play with pandas library > ... whether a column has all unique values ... easy with sets and len() > ... or a histogram of the values (value and count) when there > are less than unique values (parameter input into program), ... not hard if you want text histogram something ala sort | uniq -c | sort -n can be done in Python if you need graphics histogram, matplotlib and maybe ipython notebook/jupyter > whether a column is all numeric, all alpha or alpha numeric, > if numeric then average and median values. not hard > Thanks! If this isn't the right forum, I apologize in advance. The meetup web page and meetup mailing list are mediocre for technical discussions. Good forums for technical discussions are: The weekly Python lunches. The weekly dojos. COhPy's mailing list[3] (distinctly different from the meetup mailing list) cohpy monthly meetings and after meetings Also, Stauf's Coffee Roasters in Grandview around 8:30 to 9:15[2] esp. weekdays Also visit cohpy.org. Someone might need to let David know that there is a response on cohpy's mailing list to his meetup comment. [1] http://www.meetup.com/Central-Ohio-Python-Users-Group/events/226471478/ [2] Stauf's Coffee Roasters 1277 Grandview Ave http://lists.colug.net/pipermail/colug-432/2015-February/003564.html http://lists.colug.net/pipermail/colug-432/2015-May/003814.html You never know who is going to show up. Doughnuts from DK Diner and anything from Thurn's are great lubrication for discussion. [3] cohpy's (technical) mailing list https://mail.python.org/mailman/listinfo/centraloh To get good answers, consider following the advice in the links below. http://catb.org/~esr/faqs/smart-questions.html http://web.archive.org/web/20090627155454/www.greenend.org.uk/rjk/2000/06/14/quoting.html From pybokeh at gmail.com Tue Nov 3 19:46:32 2015 From: pybokeh at gmail.com (pybokeh) Date: Tue, 3 Nov 2015 19:46:32 -0500 Subject: [CentralOH] Summarizing Data From Excel Spreadsheet In-Reply-To: <20151103193548.0b1c51fc.jep200404@columbus.rr.com> References: <20151103193548.0b1c51fc.jep200404@columbus.rr.com> Message-ID: If you don't mind using something that is outside your standard Python distribution, I would recommend the pandas library as Jim suggested. I made a cheat sheet for it that you may like: http://nbviewer.jupyter.org/github/pybokeh/jupyter_notebooks/blob/master/pandas/PandasCheatSheet.ipynb Regards, Daniel On Nov 3, 2015 7:39 PM, wrote: > David commented[1]: > > > I'm looking for a program that will ... > > I don't know if a program that does everything you want > already exists. One can make a Python program to do it. > > > ... take a csv or Excel file ... > > Python's csv module groks csv files and > csv-ish Excel files with aplomb. > > > ... and profile the data in it: > > # of rows, ... > > easy > > > ... list of column names, ... > > easy _if_ always done the same way > > > ... worksheet tab (if Excel), ... > > I don't know what that is. > > > ... max and min in a column, ... > > easy > might also play with pandas library > > > ... whether a column has all unique values ... > > easy with sets and len() > > > ... or a histogram of the values (value and count) when there > > are less than unique values (parameter input into program), ... > > not hard if you want text histogram > something ala sort | uniq -c | sort -n can be done in Python > if you need graphics histogram, > matplotlib and maybe ipython notebook/jupyter > > > whether a column is all numeric, all alpha or alpha numeric, > > if numeric then average and median values. > > not hard > > > Thanks! If this isn't the right forum, I apologize in advance. > > The meetup web page and meetup mailing list are mediocre > for technical discussions. Good forums for technical discussions are: > The weekly Python lunches. > The weekly dojos. > COhPy's mailing list[3] > (distinctly different from the meetup mailing list) > cohpy monthly meetings and after meetings > > Also, Stauf's Coffee Roasters in Grandview around 8:30 to 9:15[2] > esp. weekdays > > Also visit cohpy.org. > > Someone might need to let David know that there is a response > on cohpy's mailing list to his meetup comment. > > [1] > http://www.meetup.com/Central-Ohio-Python-Users-Group/events/226471478/ > > [2] Stauf's Coffee Roasters 1277 Grandview Ave > http://lists.colug.net/pipermail/colug-432/2015-February/003564.html > http://lists.colug.net/pipermail/colug-432/2015-May/003814.html > You never know who is going to show up. > Doughnuts from DK Diner and > anything from Thurn's are great lubrication for discussion. > > [3] cohpy's (technical) mailing list > https://mail.python.org/mailman/listinfo/centraloh > To get good answers, consider following the advice in the links below. > http://catb.org/~esr/faqs/smart-questions.html > > http://web.archive.org/web/20090627155454/www.greenend.org.uk/rjk/2000/06/14/quoting.html > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > https://mail.python.org/mailman/listinfo/centraloh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pybokeh at gmail.com Tue Nov 3 20:06:56 2015 From: pybokeh at gmail.com (pybokeh) Date: Tue, 3 Nov 2015 20:06:56 -0500 Subject: [CentralOH] Summarizing Data From Excel Spreadsheet In-Reply-To: <20151103193548.0b1c51fc.jep200404@columbus.rr.com> References: <20151103193548.0b1c51fc.jep200404@columbus.rr.com> Message-ID: Didn't realize David posted at the meetup site and he may never know about the mailing list, so I emailed him also. Below is my email to him just in case someone else may find useful info out of it or perhaps disagrees with me which is fine :-) David wrote: "Not sure if this would be the right forum but I'll give it a shot. I'm looking for a program that will take a csv or Excel file and profile the data in it: # of rows, list of column names, worksheet tab (if Excel), max and min in a column, whether a column has all unique values or a histogram of the values (value and count) when there are less than unique values (parameter input into program), whether a column is all numeric, all alpha or alpha numeric, if numeric then average and median values. Thanks! daddav at gmail.com If this isn't the right forum, I apologize in advance." Hi David, Saw your post on the meetup site. I replied there but wasn't sure if you would get notified of the reply so I thought I would go ahead and email you too. I would look into using the pandas library for data manipulation or data analysis. It's documentation sort of has a quick start guide at http://pandas.pydata.org/pandas-docs/stable/10min.html Also note the table of contents over on the left, there is a tutorial and cookbook also. You can also do some basic visualizations with it which uses MATPLOTLIB behind the scenes: http://pandas.pydata.org/pandas-docs/stable/visualization.html If you want do some serious plotting with MATPLOTLIB, then I would recommend this tutorial versus the one at their official web site: http://nbviewer.ipython.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-4-Matplotlib.ipynb Once you get past the basics of pandas, perhaps my pandas cheat sheet would be of some use: http://nbviewer.jupyter.org/github/pybokeh/jupyter_notebooks/blob/master/pandas/PandasCheatSheet.ipynb If you have a strong statistics background, you may prefer the seaborn visualization library: http://stanford.edu/~mwaskom/software/seaborn/ Hope this helps! Regards, Daniel On Tue, Nov 3, 2015 at 7:35 PM, wrote: > David commented[1]: > > > I'm looking for a program that will ... > > I don't know if a program that does everything you want > already exists. One can make a Python program to do it. > > > ... take a csv or Excel file ... > > Python's csv module groks csv files and > csv-ish Excel files with aplomb. > > > ... and profile the data in it: > > # of rows, ... > > easy > > > ... list of column names, ... > > easy _if_ always done the same way > > > ... worksheet tab (if Excel), ... > > I don't know what that is. > > > ... max and min in a column, ... > > easy > might also play with pandas library > > > ... whether a column has all unique values ... > > easy with sets and len() > > > ... or a histogram of the values (value and count) when there > > are less than unique values (parameter input into program), ... > > not hard if you want text histogram > something ala sort | uniq -c | sort -n can be done in Python > if you need graphics histogram, > matplotlib and maybe ipython notebook/jupyter > > > whether a column is all numeric, all alpha or alpha numeric, > > if numeric then average and median values. > > not hard > > > Thanks! If this isn't the right forum, I apologize in advance. > > The meetup web page and meetup mailing list are mediocre > for technical discussions. Good forums for technical discussions are: > The weekly Python lunches. > The weekly dojos. > COhPy's mailing list[3] > (distinctly different from the meetup mailing list) > cohpy monthly meetings and after meetings > > Also, Stauf's Coffee Roasters in Grandview around 8:30 to 9:15[2] > esp. weekdays > > Also visit cohpy.org. > > Someone might need to let David know that there is a response > on cohpy's mailing list to his meetup comment. > > [1] > http://www.meetup.com/Central-Ohio-Python-Users-Group/events/226471478/ > > [2] Stauf's Coffee Roasters 1277 Grandview Ave > http://lists.colug.net/pipermail/colug-432/2015-February/003564.html > http://lists.colug.net/pipermail/colug-432/2015-May/003814.html > You never know who is going to show up. > Doughnuts from DK Diner and > anything from Thurn's are great lubrication for discussion. > > [3] cohpy's (technical) mailing list > https://mail.python.org/mailman/listinfo/centraloh > To get good answers, consider following the advice in the links below. > http://catb.org/~esr/faqs/smart-questions.html > > http://web.archive.org/web/20090627155454/www.greenend.org.uk/rjk/2000/06/14/quoting.html > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > https://mail.python.org/mailman/listinfo/centraloh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From herrold at owlriver.com Wed Nov 4 11:38:07 2015 From: herrold at owlriver.com (R P Herrold) Date: Wed, 4 Nov 2015 11:38:07 -0500 (EST) Subject: [CentralOH] At CoPy lunch yesterday, the question of Message-ID: what to know in computing arose I stumbled across this ( grid / checklist ) earlier today: http://sijinjoseph.com/programmer-competency-matrix/ I am not sure at the webpage title of 'competency' ... perhaps 'maturity'? and in my head, I am still just a 'coder' not a high-falutin' 'programmer' -- Russ herrold From brywilharris at gmail.com Thu Nov 5 14:34:22 2015 From: brywilharris at gmail.com (Bryan Harris) Date: Thu, 5 Nov 2015 14:34:22 -0500 Subject: [CentralOH] Summarizing Data From Excel Spreadsheet In-Reply-To: References: <20151103193548.0b1c51fc.jep200404@columbus.rr.com> Message-ID: If you want to read an excel file xlrd is a nice small library to do that in python. I have done some of what you describe in a program I wrote called Reduce. (It can be thought of as a working example, not really a library.) It's smart enough to recognize what kind of delimited file you're looking at using the csv library and some counting of characters to identify the delimiter. Bryan Harris, PE Research Engineer Structures and Materials Evaluation Group University of Dayton Research Institute bryan.harris at udri.udayton.edu http://www.udri.udayton.edu/ (937) 229-5561 On Tue, Nov 3, 2015 at 7:46 PM, pybokeh wrote: > If you don't mind using something that is outside your standard Python > distribution, I would recommend the pandas library as Jim suggested. I > made a cheat sheet for it that you may like: > > http://nbviewer.jupyter.org/github/pybokeh/jupyter_notebooks/blob/master/pandas/PandasCheatSheet.ipynb > > Regards, > Daniel > On Nov 3, 2015 7:39 PM, wrote: > >> David commented[1]: >> >> > I'm looking for a program that will ... >> >> I don't know if a program that does everything you want >> already exists. One can make a Python program to do it. >> >> > ... take a csv or Excel file ... >> >> Python's csv module groks csv files and >> csv-ish Excel files with aplomb. >> >> > ... and profile the data in it: >> > # of rows, ... >> >> easy >> >> > ... list of column names, ... >> >> easy _if_ always done the same way >> >> > ... worksheet tab (if Excel), ... >> >> I don't know what that is. >> >> > ... max and min in a column, ... >> >> easy >> might also play with pandas library >> >> > ... whether a column has all unique values ... >> >> easy with sets and len() >> >> > ... or a histogram of the values (value and count) when there >> > are less than unique values (parameter input into program), ... >> >> not hard if you want text histogram >> something ala sort | uniq -c | sort -n can be done in Python >> if you need graphics histogram, >> matplotlib and maybe ipython notebook/jupyter >> >> > whether a column is all numeric, all alpha or alpha numeric, >> > if numeric then average and median values. >> >> not hard >> >> > Thanks! If this isn't the right forum, I apologize in advance. >> >> The meetup web page and meetup mailing list are mediocre >> for technical discussions. Good forums for technical discussions are: >> The weekly Python lunches. >> The weekly dojos. >> COhPy's mailing list[3] >> (distinctly different from the meetup mailing list) >> cohpy monthly meetings and after meetings >> >> Also, Stauf's Coffee Roasters in Grandview around 8:30 to 9:15[2] >> esp. weekdays >> >> Also visit cohpy.org. >> >> Someone might need to let David know that there is a response >> on cohpy's mailing list to his meetup comment. >> >> [1] >> http://www.meetup.com/Central-Ohio-Python-Users-Group/events/226471478/ >> >> [2] Stauf's Coffee Roasters 1277 Grandview Ave >> http://lists.colug.net/pipermail/colug-432/2015-February/003564.html >> http://lists.colug.net/pipermail/colug-432/2015-May/003814.html >> You never know who is going to show up. >> Doughnuts from DK Diner and >> anything from Thurn's are great lubrication for discussion. >> >> [3] cohpy's (technical) mailing list >> https://mail.python.org/mailman/listinfo/centraloh >> To get good answers, consider following the advice in the links below. >> http://catb.org/~esr/faqs/smart-questions.html >> >> http://web.archive.org/web/20090627155454/www.greenend.org.uk/rjk/2000/06/14/quoting.html >> _______________________________________________ >> CentralOH mailing list >> CentralOH at python.org >> https://mail.python.org/mailman/listinfo/centraloh >> > > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > https://mail.python.org/mailman/listinfo/centraloh > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pybokeh at gmail.com Thu Nov 5 17:27:31 2015 From: pybokeh at gmail.com (pybokeh) Date: Thu, 5 Nov 2015 17:27:31 -0500 Subject: [CentralOH] Summarizing Data From Excel Spreadsheet In-Reply-To: References: <20151103193548.0b1c51fc.jep200404@columbus.rr.com> Message-ID: Hmm, I wouldn't reply anymore on this topic. I got a reply from David which implies he is actually looking for someone to do this for him or his company. Very disappointed by this since I thought he was someone that was interesting in learning Python. On Nov 5, 2015 2:36 PM, "Bryan Harris" wrote: > If you want to read an excel file xlrd is a nice small library to do that > in python. I have done some of what you describe in a program I wrote > called Reduce. (It can be thought of as a working example, not really a > library.) It's smart enough to recognize what kind of delimited file > you're looking at using the csv library and some counting of characters to > identify the delimiter. > > Bryan Harris, PE > Research Engineer > Structures and Materials Evaluation Group > University of Dayton Research Institute > bryan.harris at udri.udayton.edu > http://www.udri.udayton.edu/ > (937) 229-5561 > > On Tue, Nov 3, 2015 at 7:46 PM, pybokeh wrote: > >> If you don't mind using something that is outside your standard Python >> distribution, I would recommend the pandas library as Jim suggested. I >> made a cheat sheet for it that you may like: >> >> http://nbviewer.jupyter.org/github/pybokeh/jupyter_notebooks/blob/master/pandas/PandasCheatSheet.ipynb >> >> Regards, >> Daniel >> On Nov 3, 2015 7:39 PM, wrote: >> >>> David commented[1]: >>> >>> > I'm looking for a program that will ... >>> >>> I don't know if a program that does everything you want >>> already exists. One can make a Python program to do it. >>> >>> > ... take a csv or Excel file ... >>> >>> Python's csv module groks csv files and >>> csv-ish Excel files with aplomb. >>> >>> > ... and profile the data in it: >>> > # of rows, ... >>> >>> easy >>> >>> > ... list of column names, ... >>> >>> easy _if_ always done the same way >>> >>> > ... worksheet tab (if Excel), ... >>> >>> I don't know what that is. >>> >>> > ... max and min in a column, ... >>> >>> easy >>> might also play with pandas library >>> >>> > ... whether a column has all unique values ... >>> >>> easy with sets and len() >>> >>> > ... or a histogram of the values (value and count) when there >>> > are less than unique values (parameter input into program), ... >>> >>> not hard if you want text histogram >>> something ala sort | uniq -c | sort -n can be done in Python >>> if you need graphics histogram, >>> matplotlib and maybe ipython notebook/jupyter >>> >>> > whether a column is all numeric, all alpha or alpha numeric, >>> > if numeric then average and median values. >>> >>> not hard >>> >>> > Thanks! If this isn't the right forum, I apologize in advance. >>> >>> The meetup web page and meetup mailing list are mediocre >>> for technical discussions. Good forums for technical discussions are: >>> The weekly Python lunches. >>> The weekly dojos. >>> COhPy's mailing list[3] >>> (distinctly different from the meetup mailing list) >>> cohpy monthly meetings and after meetings >>> >>> Also, Stauf's Coffee Roasters in Grandview around 8:30 to 9:15[2] >>> esp. weekdays >>> >>> Also visit cohpy.org. >>> >>> Someone might need to let David know that there is a response >>> on cohpy's mailing list to his meetup comment. >>> >>> [1] >>> http://www.meetup.com/Central-Ohio-Python-Users-Group/events/226471478/ >>> >>> [2] Stauf's Coffee Roasters 1277 Grandview Ave >>> http://lists.colug.net/pipermail/colug-432/2015-February/003564.html >>> http://lists.colug.net/pipermail/colug-432/2015-May/003814.html >>> You never know who is going to show up. >>> Doughnuts from DK Diner and >>> anything from Thurn's are great lubrication for discussion. >>> >>> [3] cohpy's (technical) mailing list >>> https://mail.python.org/mailman/listinfo/centraloh >>> To get good answers, consider following the advice in the links >>> below. >>> http://catb.org/~esr/faqs/smart-questions.html >>> >>> http://web.archive.org/web/20090627155454/www.greenend.org.uk/rjk/2000/06/14/quoting.html >>> _______________________________________________ >>> CentralOH mailing list >>> CentralOH at python.org >>> https://mail.python.org/mailman/listinfo/centraloh >>> >> >> _______________________________________________ >> CentralOH mailing list >> CentralOH at python.org >> https://mail.python.org/mailman/listinfo/centraloh >> >> > > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > https://mail.python.org/mailman/listinfo/centraloh > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jep200404 at columbus.rr.com Thu Nov 5 21:37:12 2015 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Thu, 5 Nov 2015 21:37:12 -0500 Subject: [CentralOH] How to Avoid Hard Coded Python Version? Message-ID: <20151105213712.557b1f0e.jep200404@columbus.rr.com> How would you avoid hard coding a Python version number? I've been porting a Django web server from Centos 6 to Centos 7. Apache was not happy on Centos 7. I figured out the problem was not an Apache configuration file. It was a hard coded python version number in a python file: vepath = '{home}/env/lib/python2.6/site-packages'.format(home=apphome) So I changed it to the following, and Apache is happy on Centos 7. vepath = '{home}/env/lib/python2.7/site-packages'.format(home=apphome) I would like to avoid that hard coded python version for the next time. I can imagine several ways of dynamically figuring out the python version. One would be to use a glob like '{home}/env/lib/python*/site-packages'.format(home=apphome) Another would be something like: '{home}/env/lib/python{version}/site-packages'.format( home=apphome, version=sys.version[:3]) The 3 in sys.version[:3] is ugly, so the glob feels slightly better. What would you use? What improvements do you have? From jep200404 at columbus.rr.com Thu Nov 5 21:45:50 2015 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Thu, 5 Nov 2015 21:45:50 -0500 Subject: [CentralOH] Opportunity: Summarizing Data From Excel Spreadsheet In-Reply-To: References: <20151103193548.0b1c51fc.jep200404@columbus.rr.com> Message-ID: <20151105214550.583a86b5.jep200404@columbus.rr.com> On Thu, 5 Nov 2015 17:27:31 -0500, pybokeh wrote: > I got a reply from David which implies he is actually looking > for someone to do this for him or his company. That's an opportunity. The best way for David to find someone is to say so, simply and directly. Posting to this mailing list, and meeting in person at the dojos, lunches, and monthly meetings are great ways to find out who is willing and able to do the work. Please let him know about the techincal list. From joe at joeshaw.org Thu Nov 5 22:09:12 2015 From: joe at joeshaw.org (Joe Shaw) Date: Thu, 5 Nov 2015 22:09:12 -0500 Subject: [CentralOH] How to Avoid Hard Coded Python Version? In-Reply-To: <20151105213712.557b1f0e.jep200404@columbus.rr.com> References: <20151105213712.557b1f0e.jep200404@columbus.rr.com> Message-ID: Hi, You can get the Python version in a structured way from the sys.version_info object. There may be other ways to do what you want with sys.path or $PYTHONPATH as well. Joe On Thu, Nov 5, 2015 at 9:37 PM, wrote: > How would you avoid hard coding a Python version number? > > I've been porting a Django web server from Centos 6 to Centos 7. > Apache was not happy on Centos 7. > I figured out the problem was not an Apache configuration file. > It was a hard coded python version number in a python file: > > vepath = '{home}/env/lib/python2.6/site-packages'.format(home=apphome) > > So I changed it to the following, and Apache is happy on Centos 7. > > vepath = '{home}/env/lib/python2.7/site-packages'.format(home=apphome) > > I would like to avoid that hard coded python version for the > next time. I can imagine several ways of dynamically figuring > out the python version. One would be to use a glob like > '{home}/env/lib/python*/site-packages'.format(home=apphome) > Another would be something like: > '{home}/env/lib/python{version}/site-packages'.format( > home=apphome, version=sys.version[:3]) > The 3 in sys.version[:3] is ugly, so the glob feels slightly better. > > What would you use? > What improvements do you have? > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > https://mail.python.org/mailman/listinfo/centraloh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jep200404 at columbus.rr.com Tue Nov 10 08:17:07 2015 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Tue, 10 Nov 2015 08:17:07 -0500 Subject: [CentralOH] 2015-11-09 Napkin Scribbles: oyo haskell laptop vb6 security tata mornings Message-ID: <20151110081707.1fb1923e.jep200404@columbus.rr.com> Explorer Club Kitchen at Zauber Brewing Co. (Fifth & Delashmut) Belgian and German style beers two Cubanos one veggie burger hops oyo haskell Learn You a Haskell for Great Good! A Beginner's Guide by Miran Lipovaca surprising how little syntax there is much less than python reminds me of reverse RPN (would that just be PN?) laptop was passed on for new haksaeng at dojang server 2000 VB6 More Information Emerges About the Microsoft-Red Hat Patent Agreement http://techrights.org/2015/11/05/microsoft-red-hat-patent-agreement/ Why your manager loves technical debt (and what to do about it) http://opensource.com/business/15/11/lisa15-interview-caskey-dickson-microsoft Satellite (software) Spacewalk (software) cloudforms manageIQ venmo paypal Dark Sky iThings only? forecast.io https://www.kickstarter.com/projects/jackadam/dark-sky-hyperlocal-weather-prediction-and-visuali nooly Security is a process, not a product. https://www.schneier.com/essays/archives/2000/04/the_process_of_secur.html Tata internet loop around africa Tata Communications expands connectivity to Africa http://www.tataafrica.com/Mediaroom/press_releases_20080610_tata_communications.htm http://www.tata.com/article/inside/WqJm7uDKmPE=/TLYVr3YPkMU= coming events starting in mornings COJUG - Liferay http://www.meetup.com/techlifecolumbus/events/226545187/ Lean Lunchbox http://www.meetup.com/techlifecolumbus/events/220457751/ WakeUp StartUp http://www.meetup.com/techlifecolumbus/events/226200465/ DEC Presents: Basic Programming with Ruby http://www.meetup.com/techlifecolumbus/events/220626022/ OHI/O ? Ohio State?s Annual 24-hour Hackathon http://www.meetup.com/techlifecolumbus/events/225987226/ Pair Programming & Mentoring @ CoverMyMeds http://www.meetup.com/techlifecolumbus/events/223993883/ from time to time check http://www.meetup.com/techlifecolumbus/events/ usb port zapper https://www.chris-shaw.com/b/A-usb-for-the-Paranoid COLUG used to alternate between weekday evenings and Saturday afternoons, so that those who could not go to one, could go to the other. For someone who can not go to COLUG meetings on weekday evenings, finding a venue available on Saturday afternoons would be a way for them to be able to go on a Saturday. From jep200404 at columbus.rr.com Tue Nov 10 12:12:16 2015 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Tue, 10 Nov 2015 12:12:16 -0500 Subject: [CentralOH] Next Python Lunch: 2015-11-18: Aab Message-ID: <20151110121216.0a24f036.jep200404@columbus.rr.com> (Not tomorrow) Next Python lunch is 2015-11-18 11:30 Aab India Restaurant 1470 Grandview Ave Columbus, OH 43212 https://www.openstreetmap.org/node/962881986#map=19/39.98795/-83.04423 From eric at intellovations.com Thu Nov 12 09:19:05 2015 From: eric at intellovations.com (Eric Floehr) Date: Thu, 12 Nov 2015 09:19:05 -0500 Subject: [CentralOH] Next Python Lunch: 2015-11-18: Aab In-Reply-To: <20151110121216.0a24f036.jep200404@columbus.rr.com> References: <20151110121216.0a24f036.jep200404@columbus.rr.com> Message-ID: RSVP here: http://www.meetup.com/Central-Ohio-Python-Users-Group/events/226725154/ On Tue, Nov 10, 2015 at 12:12 PM, wrote: > (Not tomorrow) > > Next Python lunch is > 2015-11-18 11:30 > Aab India Restaurant > 1470 Grandview Ave > Columbus, OH 43212 > https://www.openstreetmap.org/node/962881986#map=19/39.98795/-83.04423 > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > https://mail.python.org/mailman/listinfo/centraloh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From adam.johnson1733 at gmail.com Thu Nov 12 14:17:29 2015 From: adam.johnson1733 at gmail.com (adam johnson) Date: Thu, 12 Nov 2015 13:17:29 -0600 Subject: [CentralOH] Opening in West Chester (north Cincinnati) _Python Developer Message-ID: Engineers/Developers, I hope this email finds you well. A fast growing cloud hosting company is seeking a Python developer on a full time basis. They need a mid to sr level developer (1-5 years) to assist in new development of a cloud platform. This is a long term opportunity to work with a dynamic tech stack. If anyone in your circle of influence may benefit from hearing about this role feel free to pass along my info, *adam.johnson1733 at gmail.com * 513-266-5820 and also contact me directly. Please find a list of technology as candidates mainly just need to be comfortable with Python Syntax and don't necessarily need to know all or even most of the modules and concepts below. Common Modules: os/sys platform math time socket shlex string argparse configparser logging datetime Less-Common Modules: Flask flask-rpc json yaml sqlite3 subprocess multiprocessing threading ldap3 uuid zipfile paramiko invoke boto moto motor pyVmomi mimic Celery python-novaclient python-cinderclient Configuration Management: SaltStack Ansible Fabric Puppet Chef remand Development Concepts: REST JSONRPC XMLRPC SCRUM/Agile/etc Python Docstrings Technical Writing Skills Process/thread managers Other: React.js Adam Johnson 513-266-5820 | adam.johnson1733 at gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From jep200404 at columbus.rr.com Wed Nov 18 17:44:35 2015 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Wed, 18 Nov 2015 17:44:35 -0500 Subject: [CentralOH] 2015-11-18 Napkin Scribbles from Aab: "*acme*" sohonet cpu fpga cuda rabbit hole in flatland tubes wx goldberg Message-ID: <20151118174435.685249f9.jep200404@columbus.rr.com> next Python lunch 2015-11-25 11:30 Aladdin's Eatery 1423(B) Grandview Ave 5 folks one person was looking for Pythonistas familiar with video formats This command is so bad, it is funny. grep "*acme*" *.txt Peter Jackson Lord of the Rings films wp:Sohonet 50 gigabits/second (in Columbus) wp: prefix means Wikipedia To get good answers, consider following the advice in the links below. http://catb.org/~esr/faqs/smart-questions.html http://web.archive.org/web/20090627155454/www.greenend.org.uk/rjk/2000/06/14/quoting.html fast checksumming (md5, sha1, sha256) FPGAs GPUs cuda OpenCL http://openwall.info/wiki/john/GPU https://ritdml.rit.edu/bitstream/handle/1850/12952/MBobrovThesis8-2010.pdf?sequence=1 Given a set of requirements a local data center would not give a price. Symbolic Logic and the Game of Logic by Lewis Carroll (yup, the rabbit hole guy) https://www.bookdepository.com/Symbolic-Logic-Game-Logic-Lewis-Carroll/9780486204925 wp:Flatland https://github.com/Ivesvdf/flatland/raw/master/oneside_a4.pdf https://github.com/Ivesvdf/flatland/ wp:LaTeX Tubes: A Journey To The Center Of The Internet by Andrew Blum Does Oracle distribute PostgreSQL by distributing their clone of RHEL? some weather URLs http://forecast.weather.gov/MapClick.php?CityName=Columbus&state=OH&site=ILN&lat=39.9889&lon=-82.9874 http://forecast.weather.gov/MapClick.php?w0=t&w1=td&w3=sfcwind&w3u=&w4=sky&w5=pop&w8=rain&w9=snow&w10=fzg&w11=sleet&AheadHour=0&Submit=Submit&&FcstType=graphical&textField1=39.98890&textField2=-82.98740&site=all&dd=0&bw=0&menu=1 http://radblast-aws.wunderground.com/cgi-bin/radar/WUNIDS_map?station=CMH&brand=wui&num=6&delay=15&type=TR0&frame=0&scale=1.000&noclutter=0&t=1371131769&lat=0&lon=0&label=you&showstorms=0&map.x=400&map.y=240¢erx=400¢ery=240&transx=0&transy=0&showlabels=1&severe=0&rainsnow=0&lightning=0&smooth=0 http://radblast-aws.wunderground.com/cgi-bin/radar/WUNIDS_map?station=CMH&brand=wui&num=6&delay=15&type=TR0&frame=0&scale=1.000&noclutter=0&t=1371131769&lat=0&lon=0&label=you&showstorms=10&map.x=400&map.y=240¢erx=400¢ery=240&transx=0&transy=0&showlabels=1&severe=0&rainsnow=0&lightning=0&smooth=0 http://radblast-aws.wunderground.com/cgi-bin/radar/WUNIDS_map?station=ILN&brand=wui&num=6&delay=15&type=N0R&frame=0&scale=1.000&noclutter=0&t=1371131330&lat=40.10094070&lon=-83.01473999&label=Worthington%2C+OH&showstorms=0&map.x=400&map.y=240¢erx=400¢ery=240&transx=0&transy=0&showlabels=1&severe=0&rainsnow=0&lightning=0&smooth=0 http://radblast-aws.wunderground.com/cgi-bin/radar/WUNIDS_map?station=ILN&brand=wui&num=6&delay=15&type=N0R&frame=0&scale=1.000&noclutter=0&t=1371131508&lat=40.10094070&lon=-83.01473999&label=Worthington%2C+OH&showstorms=10&map.x=400&map.y=240¢erx=400¢ery=240&transx=0&transy=0&showlabels=1&severe=0&rainsnow=0&lightning=0&smooth=0 http://radar.weather.gov/Conus/Loop/centgrtlakes_loop.gif http://radar.weather.gov/Conus/Loop/NatLoop.gif Help port Python packages to Python 3 https://fedoramagazine.org/help-port-python-packages-python-3/ wp:Open Goldberg Variations The benefits of using FLAC for audio http://www.itworld.com/article/3003464/linux/the-benefits-of-using-flac-for-audio.html wget https://torcache.net/torrent/CB055B924B7614A5AE35CD16AE59425F42C394E9.torrent?title=%5Bkat.cr%5Dbach.goldberg.variations.bwv.988.the.open.goldberg.variations.flac gunzip torrent [eat at aab ~]$ which play /usr/bin/play [eat at aab ~]$ rpm -qf /usr/bin/play sox-14.4.1-6.el7.x86_64 [eat at aab ~]$ rpm -q flac flac-1.3.0-5.el7_1.x86_64 [eat at aab ~]$ edit/mix your own https://s3-eu-west-1.amazonaws.com/wtc-recording/2015-WTC-Multitrack-Masters.ziphttps://www.kickstarter.com/projects/opengoldberg/open-well-tempered-clavier-bah-to-bach/posts/1258245 http://welltemperedclavier.org/ linux workspaces https://youtu.be/HSgUPqygAww Zombies are popular these days. happy birthday https://www.techdirt.com/articles/20151109/23361932769/new-organization-pops-up-claiming-to-hold-copyright-happy-birthday.shtml The Goal http://opensource.com/open-organization/15/11/shoulders-literary-giants Novena: A Laptop With No Secrets http://spectrum.ieee.org/consumer-electronics/portable-devices/novena-a-laptop-with-no-secrets PostgreSQL getting query parallelisation http://www.theregister.co.uk/2015/11/13/postgresql_learns_to_walk_and_chew_gum/ http://opensource.com/business/15/11/open-development-method wp:Catharism http://www.pbs.org/inquisition/cathars.html http://www-tc.pbs.org/inquisition/pdf/TheCatharHeresy.pdf Charmaine Craig http://www.charmainecraig.com/ wp:Knights_Templar#Arrests.2C_charges_and_dissolution wp:Work hardening wp:Glassy carbon wp:Carbon nanofoam stuff to code Python by Standards wp:Pop pop apparently released on CDs and (vinyl) Albums used $89.99 new $399.99 wp:In a Sentimental Mood (album) wp:What's New (Linda Ronstadt album) wp:Lush Life (Linda Ronstadt album) wp:For Sentimental Reasons (Linda Ronstadt album) wp:Am I Not Your Girl? wp:Goin' Back to New Orleans (not so standards) Distant Covers wp:Prisoner in Disguise wp:Many Rivers to Cross wp:Pop pop wp:Up from the Skies wp:La Revancha del Tango materials to scratch media for stuff to code Python by wp:Iron carbide wp:Tungsten carbide wp:Silicon carbide wp:Boron carbide wp:Aluminium carbide wp:Beryllium carbide wp:Titanium carbide wp:Uranium carbide ? wp:Calcium carbide http://martinfowler.com/bliki/TechnicalDebt.html Anne Frank foundation moves to keep famous diary copyrighted for 35 more years http://arstechnica.com/tech-policy/2015/11/anne-frank-foundation-moves-to-keep-famous-diary-copyrighted-for-35-more-years/ quality German machines are involved in the following wp:Zen and the Art of Motorcycle Maintenance http://english.chosun.com/site/data/html_dir/2015/11/16/2015111601755.html https://www.youtube.com/watch?v=gM7COx_jxCU https://www.youtube.com/watch?v=1_QXAHnY1LY From eponymous at insight.rr.com Thu Nov 19 11:36:48 2015 From: eponymous at insight.rr.com (eponymous at insight.rr.com) Date: Thu, 19 Nov 2015 11:36:48 -0500 Subject: [CentralOH] Code Review / Advice Message-ID: <20151119163648.9MCO1.216253.root@dnvrco-web25> Forgive me if this is not an appropriate use of this list. I have written some code to enumerate the ?public? printable attributes of an Object and output them in JSON format. The code works, but seems both inefficient and like something for which there is already an undiscovered solution in the standard libraries. In particular, I dislike the conversion of types and attributes to strings before testing a condition. I have included the code below, but you may prefer to view it on pastebin http://pastebin.com/MiFAhwYK All constructive feedback is welcome whether on topic or not. ---- import ipaddress import json ipnet = ipaddress.IPv4Network('192.168.0.0/24') print(ipnet) def ipAttr(obj,att): # Returns true for all non method attributes which are public return not str(att).startswith('_') and 'method' not in str(type(getattr(obj,str(att)))) def ipDict(obj): return {att: str(getattr(obj,att)) for att in dir(obj) if ipAttr(obj,att)} print(json.dumps(ipDict(ipnet),sort_keys=True, indent=4, separators=(',', ': '))) Thanks Josh --- 192.168.0.0/24 { "broadcast_address": "192.168.0.255", "compressed": "192.168.0.0/24", "exploded": "192.168.0.0/24", "hostmask": "0.0.0.255", "is_global": "False", "is_link_local": "False", "is_loopback": "False", "is_multicast": "False", "is_private": "True", "is_reserved": "False", "is_unspecified": "False", "max_prefixlen": "32", "netmask": "255.255.255.0", "network_address": "192.168.0.0", "num_addresses": "256", "prefixlen": "24", "version": "4", "with_hostmask": "192.168.0.0/0.0.0.255", "with_netmask": "192.168.0.0/255.255.255.0", "with_prefixlen": "192.168.0.0/24" } From brian.costlow at gmail.com Thu Nov 19 20:55:52 2015 From: brian.costlow at gmail.com (Brian Costlow) Date: Thu, 19 Nov 2015 20:55:52 -0500 Subject: [CentralOH] Code Review / Advice In-Reply-To: <20151119163648.9MCO1.216253.root@dnvrco-web25> References: <20151119163648.9MCO1.216253.root@dnvrco-web25> Message-ID: Here is a first cut. In general, clarity wins over brevity for Python, so comprehensions and other one-liners should be easy to read. Add a couple of additional modules from the standard library to make things easier. import inspect import ipaddress import json from types import MethodType def filter_private_and_methods(object): for k, v in inspect.getmembers(object): if not k.startswith('_') and not isinstance(v, MethodType): yield (k, v) ipnet = ipaddress.IPv4Network('192.168.0.0/24') filtered = {k: str(v) for k, v in filter_private_and_methods(ipnet)} print(ipnet) print(json.dumps(filtered, sort_keys=True, indent=4, separators=(',', ': '))) Cheers, Brian On Thu, Nov 19, 2015 at 11:36 AM, wrote: > Forgive me if this is not an appropriate use of this list. > > I have written some code to enumerate the ?public? printable attributes of > an Object and output them in JSON format. > > The code works, but seems both inefficient and like something for which > there is already an undiscovered solution in the standard libraries. In > particular, I dislike the conversion of types and attributes to strings > before testing a condition. > > I have included the code below, but you may prefer to view it on pastebin > > http://pastebin.com/MiFAhwYK > > All constructive feedback is welcome whether on topic or not. > > ---- > > import ipaddress > import json > > ipnet = ipaddress.IPv4Network('192.168.0.0/24') > > print(ipnet) > > def ipAttr(obj,att): > # Returns true for all non method attributes which are public > return not str(att).startswith('_') and 'method' not in > str(type(getattr(obj,str(att)))) > > def ipDict(obj): > return {att: str(getattr(obj,att)) for att in dir(obj) if > ipAttr(obj,att)} > > print(json.dumps(ipDict(ipnet),sort_keys=True, indent=4, separators=(',', > ': '))) > > Thanks > > Josh > --- > > 192.168.0.0/24 > { > "broadcast_address": "192.168.0.255", > "compressed": "192.168.0.0/24", > "exploded": "192.168.0.0/24", > "hostmask": "0.0.0.255", > "is_global": "False", > "is_link_local": "False", > "is_loopback": "False", > "is_multicast": "False", > "is_private": "True", > "is_reserved": "False", > "is_unspecified": "False", > "max_prefixlen": "32", > "netmask": "255.255.255.0", > "network_address": "192.168.0.0", > "num_addresses": "256", > "prefixlen": "24", > "version": "4", > "with_hostmask": "192.168.0.0/0.0.0.255", > "with_netmask": "192.168.0.0/255.255.255.0", > "with_prefixlen": "192.168.0.0/24" > } > > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > https://mail.python.org/mailman/listinfo/centraloh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian.costlow at gmail.com Thu Nov 19 21:14:32 2015 From: brian.costlow at gmail.com (Brian Costlow) Date: Thu, 19 Nov 2015 21:14:32 -0500 Subject: [CentralOH] Code Review / Advice In-Reply-To: References: <20151119163648.9MCO1.216253.root@dnvrco-web25> Message-ID: The boolean logic was wrong, but due to order of ops quirk produced correct output. Fixed (but really could probably be refactored better using itertools.filterfalse) import inspect import ipaddress import json from types import MethodType def filter_private_and_methods(object): for k, v in inspect.getmembers(object): if not (k.startswith('_') or isinstance(v, MethodType)): yield (k, v) ipnet = ipaddress.IPv4Network('192.168.0.0/24') filtered = {k: str(v) for k, v in filter_private_and_methods(ipnet)} print(ipnet) print(json.dumps(filtered, sort_keys=True, indent=4, separators=(',', ': '))) On Thu, Nov 19, 2015 at 8:55 PM, Brian Costlow wrote: > Here is a first cut. > > In general, clarity wins over brevity for Python, so comprehensions and > other one-liners should be easy to read. > Add a couple of additional modules from the standard library to make > things easier. > > import inspect > import ipaddress > import json > from types import MethodType > > > def filter_private_and_methods(object): > for k, v in inspect.getmembers(object): > if not k.startswith('_') and not isinstance(v, MethodType): > yield (k, v) > > > ipnet = ipaddress.IPv4Network('192.168.0.0/24') > filtered = {k: str(v) for k, v in filter_private_and_methods(ipnet)} > > print(ipnet) > print(json.dumps(filtered, sort_keys=True, indent=4, separators=(',', ': > '))) > > Cheers, > > Brian > > On Thu, Nov 19, 2015 at 11:36 AM, wrote: > >> Forgive me if this is not an appropriate use of this list. >> >> I have written some code to enumerate the ?public? printable attributes >> of an Object and output them in JSON format. >> >> The code works, but seems both inefficient and like something for which >> there is already an undiscovered solution in the standard libraries. In >> particular, I dislike the conversion of types and attributes to strings >> before testing a condition. >> >> I have included the code below, but you may prefer to view it on pastebin >> >> http://pastebin.com/MiFAhwYK >> >> All constructive feedback is welcome whether on topic or not. >> >> ---- >> >> import ipaddress >> import json >> >> ipnet = ipaddress.IPv4Network('192.168.0.0/24') >> >> print(ipnet) >> >> def ipAttr(obj,att): >> # Returns true for all non method attributes which are public >> return not str(att).startswith('_') and 'method' not in >> str(type(getattr(obj,str(att)))) >> >> def ipDict(obj): >> return {att: str(getattr(obj,att)) for att in dir(obj) if >> ipAttr(obj,att)} >> >> print(json.dumps(ipDict(ipnet),sort_keys=True, indent=4, separators=(',', >> ': '))) >> >> Thanks >> >> Josh >> --- >> >> 192.168.0.0/24 >> { >> "broadcast_address": "192.168.0.255", >> "compressed": "192.168.0.0/24", >> "exploded": "192.168.0.0/24", >> "hostmask": "0.0.0.255", >> "is_global": "False", >> "is_link_local": "False", >> "is_loopback": "False", >> "is_multicast": "False", >> "is_private": "True", >> "is_reserved": "False", >> "is_unspecified": "False", >> "max_prefixlen": "32", >> "netmask": "255.255.255.0", >> "network_address": "192.168.0.0", >> "num_addresses": "256", >> "prefixlen": "24", >> "version": "4", >> "with_hostmask": "192.168.0.0/0.0.0.255", >> "with_netmask": "192.168.0.0/255.255.255.0", >> "with_prefixlen": "192.168.0.0/24" >> } >> >> _______________________________________________ >> CentralOH mailing list >> CentralOH at python.org >> https://mail.python.org/mailman/listinfo/centraloh >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian.costlow at gmail.com Thu Nov 19 22:37:37 2015 From: brian.costlow at gmail.com (Brian Costlow) Date: Thu, 19 Nov 2015 22:37:37 -0500 Subject: [CentralOH] Code Review / Advice In-Reply-To: References: <20151119163648.9MCO1.216253.root@dnvrco-web25> Message-ID: And, last one for today. Messing about with filter I didn't find a way to improve the clarity. I did notice I used a builtin (object) for a function arg. Oops. Fixed. import inspect import ipaddress import json from types import MethodType def filter_private_and_methods(inspected_object): for k, v in inspect.getmembers(inspected_object): if not (k.startswith('_') or isinstance(v, MethodType)): yield (k, v) ipnet = ipaddress.IPv4Network('192.168.0.0/24') filtered = {k: str(v) for k, v in filter_private_and_methods(ipnet)} print(ipnet) print(json.dumps(filtered, sort_keys=True, indent=4, separators=(',', ': '))) On Thu, Nov 19, 2015 at 9:14 PM, Brian Costlow wrote: > The boolean logic was wrong, but due to order of ops quirk produced > correct output. > > Fixed (but really could probably be refactored better > using itertools.filterfalse) > > import inspect > import ipaddress > import json > from types import MethodType > > > def filter_private_and_methods(object): > for k, v in inspect.getmembers(object): > if not (k.startswith('_') or isinstance(v, MethodType)): > yield (k, v) > > > ipnet = ipaddress.IPv4Network('192.168.0.0/24') > filtered = {k: str(v) for k, v in filter_private_and_methods(ipnet)} > > print(ipnet) > print(json.dumps(filtered, sort_keys=True, indent=4, separators=(',', ': > '))) > > > On Thu, Nov 19, 2015 at 8:55 PM, Brian Costlow > wrote: > >> Here is a first cut. >> >> In general, clarity wins over brevity for Python, so comprehensions and >> other one-liners should be easy to read. >> Add a couple of additional modules from the standard library to make >> things easier. >> >> import inspect >> import ipaddress >> import json >> from types import MethodType >> >> >> def filter_private_and_methods(object): >> for k, v in inspect.getmembers(object): >> if not k.startswith('_') and not isinstance(v, MethodType): >> yield (k, v) >> >> >> ipnet = ipaddress.IPv4Network('192.168.0.0/24') >> filtered = {k: str(v) for k, v in filter_private_and_methods(ipnet)} >> >> print(ipnet) >> print(json.dumps(filtered, sort_keys=True, indent=4, separators=(',', ': >> '))) >> >> Cheers, >> >> Brian >> >> On Thu, Nov 19, 2015 at 11:36 AM, wrote: >> >>> Forgive me if this is not an appropriate use of this list. >>> >>> I have written some code to enumerate the ?public? printable attributes >>> of an Object and output them in JSON format. >>> >>> The code works, but seems both inefficient and like something for which >>> there is already an undiscovered solution in the standard libraries. In >>> particular, I dislike the conversion of types and attributes to strings >>> before testing a condition. >>> >>> I have included the code below, but you may prefer to view it on pastebin >>> >>> http://pastebin.com/MiFAhwYK >>> >>> All constructive feedback is welcome whether on topic or not. >>> >>> ---- >>> >>> import ipaddress >>> import json >>> >>> ipnet = ipaddress.IPv4Network('192.168.0.0/24') >>> >>> print(ipnet) >>> >>> def ipAttr(obj,att): >>> # Returns true for all non method attributes which are public >>> return not str(att).startswith('_') and 'method' not in >>> str(type(getattr(obj,str(att)))) >>> >>> def ipDict(obj): >>> return {att: str(getattr(obj,att)) for att in dir(obj) if >>> ipAttr(obj,att)} >>> >>> print(json.dumps(ipDict(ipnet),sort_keys=True, indent=4, >>> separators=(',', ': '))) >>> >>> Thanks >>> >>> Josh >>> --- >>> >>> 192.168.0.0/24 >>> { >>> "broadcast_address": "192.168.0.255", >>> "compressed": "192.168.0.0/24", >>> "exploded": "192.168.0.0/24", >>> "hostmask": "0.0.0.255", >>> "is_global": "False", >>> "is_link_local": "False", >>> "is_loopback": "False", >>> "is_multicast": "False", >>> "is_private": "True", >>> "is_reserved": "False", >>> "is_unspecified": "False", >>> "max_prefixlen": "32", >>> "netmask": "255.255.255.0", >>> "network_address": "192.168.0.0", >>> "num_addresses": "256", >>> "prefixlen": "24", >>> "version": "4", >>> "with_hostmask": "192.168.0.0/0.0.0.255", >>> "with_netmask": "192.168.0.0/255.255.255.0", >>> "with_prefixlen": "192.168.0.0/24" >>> } >>> >>> _______________________________________________ >>> CentralOH mailing list >>> CentralOH at python.org >>> https://mail.python.org/mailman/listinfo/centraloh >>> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From betsy at python.org Mon Nov 23 17:31:48 2015 From: betsy at python.org (Betsy Waliszewski) Date: Mon, 23 Nov 2015 14:31:48 -0800 Subject: [CentralOH] PyCon 2016 CFP Deadlines and Overview Info - Central OH Python Users Message-ID: Fellow Pythonistas and enthusiasts: Roughly a week from today PyCon US 2016 *TUTORIALS* call for proposals will close. To be precise, we'll close the system at 2015-11-30 23:59 GMT -12:00. For more information, please check out https://us.pycon.org/2016/speaking/tutorials/ . A quick overview of PyCon 2016: - The conference (us.pycon.org) is for everyone interested in Python! Registration is open[1]. - May 28?29 - Two days of Tutorials - May 30-June 1 - Three days of Conference - June 2-5 - Four days of Sprints - Tutorial proposals[2] due in one week, on November 30. - Talk and poster proposals[3] due on January 3. - The 3 main conference days also include lunch, a vendor expo hall, free-form Open Spaces, lightning talks, and a job fair! - Childcare will be available. - Sponsorships are still available![4] Check us out on Twitter[5] and our blog[6]! Best wishes - PyCon 2016 Staff [1] https://us.pycon.org/2016/registration/ [2] https://us.pycon.org/2016/speaking/tutorials/ [3] https://us.pycon.org/2016/speaking/talks/ [4] https://us.pycon.org/2016/sponsors/prospectus/ [5] https://twitter.com/pycon [6] http://pycon.blogspot.com/ -- Betsy Waliszewski Python Software Foundation Event Coordinator / Administrator @betswaliszewski -------------- next part -------------- An HTML attachment was scrubbed... URL: From jep200404 at columbus.rr.com Thu Nov 26 11:26:33 2015 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Thu, 26 Nov 2015 11:26:33 -0500 Subject: [CentralOH] 2015-11-25 Napkin Scribbles from Aladdin's: bounties; exit values; GPL in EU; 3.5-3.1; js; bug; eat poop you cat; pong; ladder(ane); $5 Pi Message-ID: <20151126112633.6c774ef0.jep200404@columbus.rr.com> Python Bounties https://hackerone.com/python http://www.toledoblade.com/MattMarkey/2013/01/20/Pythons-attract-bounty-hunters-to-Florida.html wp:Burmese pythons in Florida Python exit status values eat at aladdins:~$ cat exit.py #!/usr/bin/env python from __future__ import print_function import os # print(repr(dir(os))) for name in dir(os): if name.startswith('EX_'): print(name, getattr(os, name)) eat at aladdins:~$ ./exit.py | sort -nk2 EX_OK 0 EX_USAGE 64 EX_DATAERR 65 EX_NOINPUT 66 EX_NOUSER 67 EX_NOHOST 68 EX_UNAVAILABLE 69 EX_SOFTWARE 70 EX_OSERR 71 EX_OSFILE 72 EX_CANTCREAT 73 EX_IOERR 74 EX_TEMPFAIL 75 EX_PROTOCOL 76 EX_NOPERM 77 EX_CONFIG 78 eat at aladdins:~$ It is curious that they avoid error values less than 64. Perhaps to avoid conflict with common error values? General Linux exit status values. eat at aladdins:~$ grep -r EXIT_ /usr/include/stdlib.h #define EXIT_FAILURE 1 /* Failing exit status. */ #define EXIT_SUCCESS 0 /* Successful exit status. */ eat at aladdins:~$ Don't know what to make of this licensing stuff from Europe. "... it seems that in European law the fact of linking two programs and the technology used for it does not by itself produce a derivative work ..." https://joinup.ec.europa.eu/community/eupl/news/why-viral-licensing-ghost Python 3.5 versus Pyton 3.1 Is the Web better without JavaScript? http://www.itworld.com/article/3007311/linux/is-the-web-better-without-javascript.html how to baffle web trackers by obfuscating your movements online http://www.wired.com/2015/11/clive-thompson-10/ Some Python bug is in all versions and is too hard to fix. wp:Elixir (programming language) game eat poop you cat https://duckduckgo.com/html/?q=eat+poop+you+cat pong on broadcast TV WCMH 4-3 wp:Snakes and Ladders wp:Ladderane $5 Raspberry Pi can run Python https://www.raspberrypi.org/blog/raspberry-pi-zero/ wp:Beowulf cluster From jep200404 at columbus.rr.com Fri Nov 27 12:00:10 2015 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Fri, 27 Nov 2015 12:00:10 -0500 Subject: [CentralOH] Next Python Lunch: 2015-12-02 12:00: Halwani Cuisine (or Mazah) Message-ID: <20151127120010.465fa9f1.jep200404@columbus.rr.com> 2015-12-02 12:00 Halwani Cuisine 1453 Ida and Grandview Ave 1st place best pizza 2015 Grandview Pizza Crawl http://halwanicuisine.com/ If Halwani is not open at noon, we will move to Mazah, two doors away. Mazah Eatery 1453 Grandview Ave mazah-eatery.com From eric at intellovations.com Sat Nov 28 09:36:28 2015 From: eric at intellovations.com (Eric Floehr) Date: Sat, 28 Nov 2015 09:36:28 -0500 Subject: [CentralOH] Next Python Lunch: 2015-12-02 12:00: Halwani Cuisine (or Mazah) In-Reply-To: <20151127120010.465fa9f1.jep200404@columbus.rr.com> References: <20151127120010.465fa9f1.jep200404@columbus.rr.com> Message-ID: Hope everyone had a wonderful Thanksgiving! You can RSVP here for next Wednesday's lunch. NOTE it's at NOON, not 11:30: http://www.meetup.com/Central-Ohio-Python-Users-Group/events/227072664/ On Fri, Nov 27, 2015 at 12:00 PM, wrote: > 2015-12-02 12:00 > Halwani Cuisine > 1453 Ida and Grandview Ave > 1st place best pizza 2015 Grandview Pizza Crawl > http://halwanicuisine.com/ > > If Halwani is not open at noon, > we will move to Mazah, two doors away. > > Mazah Eatery > 1453 Grandview Ave > mazah-eatery.com > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > https://mail.python.org/mailman/listinfo/centraloh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mark at microenh.com Sun Nov 29 21:06:20 2015 From: mark at microenh.com (Mark Erbaugh) Date: Sun, 29 Nov 2015 21:06:20 -0500 Subject: [CentralOH] Contract Python Programming Available. Message-ID: <595FFDF3B1C34424876670B0FB436AF1@quad> Greetings, Some of you may remember me. I used to be active in the Central Ohio Python UG. I was a free lance software developer, doing most of my development with Python. Then, in March of 2013, I made a 180 degree career change and took a full time job working for the local Board of Elections. I?ve become a computer user and while I have written a couple of short Python scripts to help analyze some data, I?m no longer programing full time. I have a client for whom I developed my first major Python program back in the Python 2.4 days. They have been using the program full time since then and it works well and hasn?t needed a lot of maintenance. They need some modifications to the program. I?m looking for someone who would be willing to take over this client and maintain this program going forward. The client is in Miamisburg (near Dayton) and they have been very good to work with. He understands my situation. Other than my inability to get to the modifications they want, they are pleased with what I?ve developed. I?m sure they will be okay with someone else taking over. The biggest issue is that my copy of the source code is not in the greatest shape. I think I have all the source files, but they are no longer organized in a way that allows me to change a file and rebuild the app. If anyone is interested, and once the client has approved it, I will be happy to go over what I have. I would have to do this on evenings and weekends. Drop me an email if you are interested. Thanks, Mark -------------- next part -------------- An HTML attachment was scrubbed... URL: From eric at intellovations.com Mon Nov 30 10:53:12 2015 From: eric at intellovations.com (Eric Floehr) Date: Mon, 30 Nov 2015 10:53:12 -0500 Subject: [CentralOH] Reminder: Columbus Tech Holiday Party This Friday Message-ID: This Friday, all of the Columbus Tech Meetup groups are getting together for one big holiday party, this Friday, December 4, from 6-9pm at CoverMyMeds. You can register here: http://www.eventbrite.com/e/columbus-meetups-holiday-celebration-tickets-19374804562 -------------- next part -------------- An HTML attachment was scrubbed... URL: