From fandi.814 at gmail.com Fri Mar 1 06:39:37 2013 From: fandi.814 at gmail.com (Fandi Peng) Date: Fri, 1 Mar 2013 00:39:37 -0500 Subject: [CentralOH] Dojo Next Week on Wednesday, March 6 Message-ID: Hi guys, Next dojo will be on Wednesday, March 6, at 300 West Lane Avenue, Columbus, OH 43201 on 6:00 PM. To whom have the access to dojo site on meetup.com, please update the meeting info. Thanks, Fandi From jep200404 at columbus.rr.com Fri Mar 1 06:51:02 2013 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Fri, 1 Mar 2013 00:51:02 -0500 Subject: [CentralOH] Dojo Next Week on Wednesday, March 6 In-Reply-To: References: Message-ID: <20130301005102.60686b83.jep200404@columbus.rr.com> On Fri, 1 Mar 2013 00:39:37 -0500, Fandi Peng wrote: > Next dojo will be on Wednesday, March 6, at > 300 West Lane Avenue, Columbus, OH 43201 on 6:00 PM. Folks who went there complained of waiting an hour to get Wifi connection, so that location does not work well. Whetstone library is a good location. The Panera on Bethel Rd. near Microcenter is good and the Panera on N. High St north of Henderson Rd. is untested, but worth a try. The date and time are OK. From fandi.814 at gmail.com Fri Mar 1 07:15:26 2013 From: fandi.814 at gmail.com (Fandi Peng) Date: Fri, 1 Mar 2013 01:15:26 -0500 Subject: [CentralOH] Dojo Next Week on Wednesday, March 6 In-Reply-To: <20130301005102.60686b83.jep200404@columbus.rr.com> References: <20130301005102.60686b83.jep200404@columbus.rr.com> Message-ID: Yes..Wifi is a problem there. Let's try the new one: Panera, 4519 North High Street, Columbus, OH 43214. on 6:00 PM, Wednesday, March 6 best, Fandi On Fri, Mar 1, 2013 at 12:51 AM, wrote: > On Fri, 1 Mar 2013 00:39:37 -0500, Fandi Peng wrote: > >> Next dojo will be on Wednesday, March 6, at >> 300 West Lane Avenue, Columbus, OH 43201 on 6:00 PM. > > Folks who went there complained of waiting an hour to get Wifi > connection, so that location does not work well. Whetstone > library is a good location. The Panera on Bethel Rd. near > Microcenter is good and the Panera on N. High St north of > Henderson Rd. is untested, but worth a try. > > The date and time are OK. > > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > http://mail.python.org/mailman/listinfo/centraloh From jep200404 at columbus.rr.com Sat Mar 2 04:12:46 2013 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Fri, 1 Mar 2013 22:12:46 -0500 Subject: [CentralOH] Raspberry Pi Jam Message-ID: <20130301221246.46281abe.jep200404@columbus.rr.com> There's another Raspberry Pi Jam at Columbus Idea Foundry 10am to 2pm Saturday, March 2nd. (2013-03-02) From fandi.814 at gmail.com Sat Mar 2 07:10:43 2013 From: fandi.814 at gmail.com (Fandi Peng) Date: Sat, 2 Mar 2013 01:10:43 -0500 Subject: [CentralOH] Raspberry Pi Jam In-Reply-To: <20130301221246.46281abe.jep200404@columbus.rr.com> References: <20130301221246.46281abe.jep200404@columbus.rr.com> Message-ID: Do you think Raspberry Pi is related to what I am trying to achieve with Arduino and Xbee? On Fri, Mar 1, 2013 at 10:12 PM, wrote: > There's another Raspberry Pi Jam at Columbus Idea Foundry > 10am to 2pm Saturday, March 2nd. (2013-03-02) > > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > http://mail.python.org/mailman/listinfo/centraloh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jep200404 at columbus.rr.com Sat Mar 2 15:22:49 2013 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Sat, 2 Mar 2013 09:22:49 -0500 Subject: [CentralOH] Raspberry Pi Jam In-Reply-To: References: <20130301221246.46281abe.jep200404@columbus.rr.com> Message-ID: <20130302092249.10f0b6cd.jep200404@columbus.rr.com> On Sat, 2 Mar 2013 01:10:43 -0500, Fandi Peng wrote: > Do you think Raspberry Pi is related to what I am trying to achieve with > Arduino and Xbee? Vaguely. You can accomplish what you need to do with Raspberry Pi, but you're probably better off sticking with Arduino. You'll find the similar folks messing around with Raspberry Pis and Arduinos. Ethan Dicks who messes with both will likely be there. It could be an opportunity to find and talk with people who are familiar with Arduino. From brian.costlow at gmail.com Tue Mar 5 17:12:31 2013 From: brian.costlow at gmail.com (Brian Costlow) Date: Tue, 5 Mar 2013 11:12:31 -0500 Subject: [CentralOH] Python developer needed. Message-ID: I'm looking for a contract Python developer, full time on a 4-6 month contract to refactor, bug-fix and extend software for a Columbus-area company. There is a possibility that this could go permanent. Meet 1-2 days a week in New Albany, the rest of the time telecommute. Must Haves. Proficient with Python 2.6/2.7 and Django, preferably 1.4. using Postgres. Nice to Have. Experience with python-ldap in an Active Directory environment. Experience with Django REST Knowledge of Flex. (Current project uses a Flex-based front end. If you don't know it, you must be willing to learn, at least long enough to maintain the current version until we move off of it.) The usual front-end suspects. HTML5, CSS, SASS or LESS. JavaScript, jquery, and some experience with an MVC or MVVM js framework like backbone or angular. Email me directly if interested. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jep200404 at columbus.rr.com Thu Mar 7 05:09:30 2013 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Wed, 6 Mar 2013 23:09:30 -0500 Subject: [CentralOH] =?utf-8?b?MjAxMy0wMy0wNiDpgZPloLQ=?= Message-ID: <20130306230930.5885d68f.jep200404@columbus.rr.com> This marathon meeting is not finished. It will end Thursday evening. :-) The 4519 N. High St Panera is a nice location. It's open until 9pm, the Wifi was good (and worked well with internal Wifi), there are enough power outlets, and it's accessible enough for folks without cars. Ask Katia which day next week is good for her. The first person there should grab the booth with the duplex outlet and plug something into one of the two outlets. Set alarm to start packing to 8:50pm next time. What are countersunk Philips head screws that hold drum to hub for? They provide precise alignment for assembly. Isn't being sandwiched between hub and wheel enough? Probably, but the countersunk screws are better. Discuss terminator terminal emulator It is available on Microsoft Windows, Mac OS X, Linux and other Unix X11 systems. Terminator will run on any modern POSIX system with Java 5 or later. tmux v terminator tmux preserves session when link is broken; terminator does not. tmux is directly and easily scriptable terminator can be scripted with difficulty through xdotool. xdotool is a good tool, but terminator's need to use it is not good. http://en.wikipedia.org/wiki/Byobu_(software) sane defaults for tmux? http://en.wikipedia.org/wiki/Gordian_Knot http://www.semicomplete.com/projects/xdotool/xdotool.xhtml https://github.com/jordansissel/xdotool tesserect ocr from screen shot http://en.wikipedia.org/wiki/Tesseract_(software) xbee http://en.wikipedia.org/wiki/Hayes_command_set AT +++ https://en.wikipedia.org/wiki/Heisenbug adapter http://en.wikipedia.org/wiki/Breadboard http://en.wikipedia.org/wiki/Tin_whiskers http://en.wikipedia.org/wiki/Tin_pest http://en.wikipedia.org/wiki/Lead http://en.wikipedia.org/wiki/Solder#Lead_solder http://en.wikipedia.org/wiki/Solder#Lead-free_solder builtin wifi actually works (for first time!) toggles _all_ wifi, not just builtin Wifi. dd-wrt https://en.wikipedia.org/wiki/PfSense better than dd-wrt Chromebook XE303C12 $249 http://www.ifixit.com/Teardown/Samsung+Chromebook+11.6+Teardown/12225/1 synaptic v Ubuntu software center Fandi needs some junk wire. From eric at intellovations.com Thu Mar 7 13:14:38 2013 From: eric at intellovations.com (Eric Floehr) Date: Thu, 7 Mar 2013 07:14:38 -0500 Subject: [CentralOH] =?utf-8?b?MjAxMy0wMy0wNiDpgZPloLQ=?= In-Reply-To: <20130306230930.5885d68f.jep200404@columbus.rr.com> References: <20130306230930.5885d68f.jep200404@columbus.rr.com> Message-ID: > The 4519 N. High St Panera is a nice location. Do you think it's good enough to set as the default location in the Meetups? Discuss terminator terminal emulator > Terminator will run on any modern POSIX system with Java 5 or later. > Note that there are two terminator terminal emulators... the one the comes up first in Google searches (the Java one -- http://software.jessies.org/terminator/) and the one that gets installed when you type "sudo yum install terminator" or "sudo apt-get terminator", and that is the second terminal emulator link in a google search ( http://www.tenshu.net/p/terminator.html). The Java one is of little interest (to me at least) save that it runs on Windows for those who choose that OS (or have it chosen for them). The Terminator I know (and the one you get when you install terminator on your Linux box) is of interest to me primarily for three reasons: 1. It has all the niceties of GNOME Terminal that you don't get by default in a basic xterm. 2. It offers a few things beyond the GNOME Terminal that make it compelling, like splitting (like tmux). 3. It's written in Python. 4. There is a plugin system that allows you to write terminal extensions in Python, see http://www.tenshu.net/2010/04/writing-terminator-plugins.html 5. There are some neat things you can script in Python and use in terminator. See some of the examples installed in a place similar to /usr/lib/python2.7/site-packages/terminatorlib/plugins Cheers, Eric -------------- next part -------------- An HTML attachment was scrubbed... URL: From jep200404 at columbus.rr.com Thu Mar 7 14:46:36 2013 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Thu, 7 Mar 2013 08:46:36 -0500 Subject: [CentralOH] =?utf-8?q?4519_N=2E_High_St_Panera_for_=E9=81=93?= =?utf-8?b?5aC0?= In-Reply-To: References: <20130306230930.5885d68f.jep200404@columbus.rr.com> Message-ID: <20130307084636.70e15a11.jep200404@columbus.rr.com> On Thu, 7 Mar 2013 07:14:38 -0500, Eric Floehr wrote: > > The 4519 N. High St Panera is a nice location. > > Do you think it's good enough to set as the default location in the Meetups? Maybe. We've only been there once. We'll see how it goes. From eric at intellovations.com Tue Mar 12 11:40:17 2013 From: eric at intellovations.com (Eric Floehr) Date: Tue, 12 Mar 2013 06:40:17 -0400 Subject: [CentralOH] March help needed Message-ID: Hi all! We still don't have a formal speaker for the March meeting, which will be at TechColumbus again. If anyone is planning on attending PyCon, could you make some time for COhPy on Monday, March 25 to give us a recap and tell us some cool things you learned? Has anyone discovered a cool module or programming technique they'd like to share? Anyone want to do some live coding? Does anyone have a problem they'd like the group's help with? Just reply to this and let me know! Cheers, Eric -------------- next part -------------- An HTML attachment was scrubbed... URL: From jep200404 at columbus.rr.com Tue Mar 12 13:34:53 2013 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Tue, 12 Mar 2013 08:34:53 -0400 Subject: [CentralOH] Dojo Message-ID: <20130312083453.276ec5de.jep200404@columbus.rr.com> Is there a dojo this week? From iynaix at gmail.com Tue Mar 12 14:21:36 2013 From: iynaix at gmail.com (iynaix) Date: Tue, 12 Mar 2013 09:21:36 -0400 Subject: [CentralOH] Dojo In-Reply-To: <20130312083453.276ec5de.jep200404@columbus.rr.com> References: <20130312083453.276ec5de.jep200404@columbus.rr.com> Message-ID: According to the meetup page ( http://www.meetup.com/Central-Ohio-Python-Users-Group/events/108355902/), It is on Thurs March 14 at the Whetstone library. Cheers, XY On Tue, Mar 12, 2013 at 8:34 AM, wrote: > Is there a dojo this week? > > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > http://mail.python.org/mailman/listinfo/centraloh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jep200404 at columbus.rr.com Tue Mar 12 16:11:30 2013 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Tue, 12 Mar 2013 11:11:30 -0400 Subject: [CentralOH] Dojo In-Reply-To: References: <20130312083453.276ec5de.jep200404@columbus.rr.com> Message-ID: <20130312111130.4482d89b.jep200404@columbus.rr.com> On Tue, 12 Mar 2013 09:21:36 -0400, iynaix wrote: > According to the meetup page ( > http://www.meetup.com/Central-Ohio-Python-Users-Group/events/108355902/), > > It is on Thurs March 14 at the Whetstone library. The main meetup page[1] shows four dojos on consecutive Thursdays at the Whetstone Library from 7pm to 10pm. Who reserved the library? Are those listings are just placeholders until someone actually sets something up? [1] http://www.meetup.com/Central-Ohio-Python-Users-Group/ From iynaix at gmail.com Tue Mar 12 16:15:58 2013 From: iynaix at gmail.com (iynaix) Date: Tue, 12 Mar 2013 11:15:58 -0400 Subject: [CentralOH] Dojo In-Reply-To: <20130312111130.4482d89b.jep200404@columbus.rr.com> References: <20130312083453.276ec5de.jep200404@columbus.rr.com> <20130312111130.4482d89b.jep200404@columbus.rr.com> Message-ID: To the best of my knowledge, those time slots at the library have not been reserved. It's probably a safer bet to just have the Dojo at the Panera on North High. On Mar 12, 2013 11:11 AM, wrote: > On Tue, 12 Mar 2013 09:21:36 -0400, iynaix wrote: > > > According to the meetup page ( > > http://www.meetup.com/Central-Ohio-Python-Users-Group/events/108355902/ > ), > > > > It is on Thurs March 14 at the Whetstone library. > > The main meetup page[1] shows four dojos on consecutive > Thursdays at the Whetstone Library from 7pm to 10pm. > Who reserved the library? Are those listings are just > placeholders until someone actually sets something up? > > [1] http://www.meetup.com/Central-Ohio-Python-Users-Group/ > > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > http://mail.python.org/mailman/listinfo/centraloh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jep200404 at columbus.rr.com Tue Mar 12 16:19:30 2013 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Tue, 12 Mar 2013 11:19:30 -0400 Subject: [CentralOH] Dojo In-Reply-To: References: <20130312083453.276ec5de.jep200404@columbus.rr.com> <20130312111130.4482d89b.jep200404@columbus.rr.com> Message-ID: <20130312111930.00df9ff4.jep200404@columbus.rr.com> On Tue, 12 Mar 2013 11:15:58 -0400, iynaix wrote: > It's probably a safer bet to just have the Dojo at the Panera on > North High. Which day? 6pm to 9pm? (very nominal) From iynaix at gmail.com Tue Mar 12 16:26:06 2013 From: iynaix at gmail.com (iynaix) Date: Tue, 12 Mar 2013 11:26:06 -0400 Subject: [CentralOH] Dojo In-Reply-To: <20130312111930.00df9ff4.jep200404@columbus.rr.com> References: <20130312083453.276ec5de.jep200404@columbus.rr.com> <20130312111130.4482d89b.jep200404@columbus.rr.com> <20130312111930.00df9ff4.jep200404@columbus.rr.com> Message-ID: Thursday, I see that someone new has RSVP-ed, so I wouldn't want to change the timing. To summarize: The next Dojo will be at Panera, 4519 North High Street, on Thursday 14 March from 6 pm to 9 pm. -------------- next part -------------- An HTML attachment was scrubbed... URL: From eric at intellovations.com Tue Mar 12 16:35:03 2013 From: eric at intellovations.com (Eric Floehr) Date: Tue, 12 Mar 2013 11:35:03 -0400 Subject: [CentralOH] Dojo In-Reply-To: References: <20130312083453.276ec5de.jep200404@columbus.rr.com> <20130312111130.4482d89b.jep200404@columbus.rr.com> <20130312111930.00df9ff4.jep200404@columbus.rr.com> Message-ID: Changed and notified those who RSVPed. I also changed the default location to Panera on 4519 North High since it seems to be a favorite location and doesn't require a reservation. I also changed the default time to be 6pm to 9pm. If anyone who more regularly attends the Dojo would like admin privileges to modify and schedule the Dojos, I'm more than happy to add you! Cheers, Eric On Tue, Mar 12, 2013 at 11:26 AM, iynaix wrote: > Thursday, I see that someone new has RSVP-ed, so I wouldn't want to change > the timing. > > To summarize: > > The next Dojo will be at Panera, 4519 North High Street, on Thursday 14 > March from 6 pm to 9 pm. > > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > http://mail.python.org/mailman/listinfo/centraloh > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jdsantiagojr at gmail.com Wed Mar 13 00:43:17 2013 From: jdsantiagojr at gmail.com (John Santiago) Date: Tue, 12 Mar 2013 19:43:17 -0400 Subject: [CentralOH] Critique Message-ID: I was hoping you guys could take a look at my code below. I am preparing to deploy an application I was working on last month, mounting multiple applications, routing to different domains. I had set it up in Apache but wanted to try getting it to work using Cherrypy VirtualHost. Below is my code. It's working but wanted to see what you guys thought. import cherrypy from cherrypy import wsgiserver from webapp import app, api vhost = cherrypy._cpwsgi.VirtualHost(app.wsgi_app, domains={' api.sniplogic.com': api.wsgi_app}) cherrypy.tree.graft(vhost) application = cherrypy.tree server = wsgiserver.CherryPyWSGIServer(('0.0.0.0', 8080), application) if __name__ == '__main__': try: server.start() except KeyboardInterrupt: server.stop() -- This electronic message is intended to be for the use only of the named recipient, and may contain information that is confidential or privileged. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of the contents of this message is strictly prohibited. If you have received this message in error or are not the named recipient, please notify us immediately by contacting the sender at the electronic mail address noted above, and delete and destroy all copies of this message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From iynaix at gmail.com Wed Mar 13 17:16:34 2013 From: iynaix at gmail.com (iynaix) Date: Wed, 13 Mar 2013 12:16:34 -0400 Subject: [CentralOH] Dojo In-Reply-To: References: <20130312083453.276ec5de.jep200404@columbus.rr.com> <20130312111130.4482d89b.jep200404@columbus.rr.com> <20130312111930.00df9ff4.jep200404@columbus.rr.com> Message-ID: Hi Eric, I'm cool with updating the times of the Dojo. :) Cheers, Xianyi (XY) On Tue, Mar 12, 2013 at 11:35 AM, Eric Floehr wrote: > Changed and notified those who RSVPed. > > I also changed the default location to Panera on 4519 North High since it > seems to be a favorite location and doesn't require a reservation. > > I also changed the default time to be 6pm to 9pm. > > If anyone who more regularly attends the Dojo would like > admin privileges to modify and schedule the Dojos, I'm more than happy to > add you! > > Cheers, > Eric > > > > On Tue, Mar 12, 2013 at 11:26 AM, iynaix wrote: > >> Thursday, I see that someone new has RSVP-ed, so I wouldn't want to >> change the timing. >> >> To summarize: >> >> The next Dojo will be at Panera, 4519 North High Street, on Thursday 14 >> March from 6 pm to 9 pm. >> >> _______________________________________________ >> CentralOH mailing list >> CentralOH at python.org >> http://mail.python.org/mailman/listinfo/centraloh >> >> > > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > http://mail.python.org/mailman/listinfo/centraloh > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From pat at linuxcolumbus.com Thu Mar 14 17:00:48 2013 From: pat at linuxcolumbus.com (Pat Collins) Date: Thu, 14 Mar 2013 12:00:48 -0400 Subject: [CentralOH] Dojo In-Reply-To: References: Message-ID: <3d5483053dbcb8e55045962d6cdd3004@secure.userfriendlyis.com> > On Tue, Mar 12, 2013 at 11:35 AM, Eric Floehr wrote: > > > Changed and notified those who RSVPed. > > > > I also changed the default location to Panera on 4519 North High since it > > seems to be a favorite location and doesn't require a reservation. > > It is best to get a reservation if you want to use the meeting room. That way, if there is a conflict you can say you had it reserved. Another great place for meetings is the Travonna coffee house http://www.travonnacoffee.com/ at 5th and High. They have an on-line reservation system and nice wifi. Pat From jdsantiagojr at gmail.com Fri Mar 15 02:37:10 2013 From: jdsantiagojr at gmail.com (John Santiago) Date: Thu, 14 Mar 2013 21:37:10 -0400 Subject: [CentralOH] Dynamic Importing Message-ID: Hi all, I have been working on some Flask projects, and was trying to do some Dyanic importing for the Blueprint Modules. I didn't like all the import statements. . . blueprints = ['frontend', 'admin'] for path in blueprints: mod = __import__('controllers.%s' % path, fromlist=[path]) app.register_blueprint(mod) I also initial tried os.walk and using exec 'import statement'. but didn;t feel right. Has anyone else done something similar to this? -- This electronic message is intended to be for the use only of the named recipient, and may contain information that is confidential or privileged. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of the contents of this message is strictly prohibited. If you have received this message in error or are not the named recipient, please notify us immediately by contacting the sender at the electronic mail address noted above, and delete and destroy all copies of this message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jep200404 at columbus.rr.com Fri Mar 15 03:26:51 2013 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Thu, 14 Mar 2013 22:26:51 -0400 Subject: [CentralOH] Dynamic Importing In-Reply-To: References: Message-ID: <20130314222651.1327ae47.jep200404@columbus.rr.com> On Thu, 14 Mar 2013 21:37:10 -0400, John Santiago wrote: > ... __import__('controllers.%s' % path, fromlist=[path]) That __ stuff gives me the creeps. Does importlib.import_module() work for you? test at test:~$ python Python 2.7.3 (default, Sep 26 2012, 21:53:58) [GCC 4.7.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> help(__import__) Help on built-in function __import__ in module __builtin__: __import__(...) __import__(name, globals={}, locals={}, fromlist=[], level=-1) -> module Import a module. Because this function is meant for use by the Python interpreter and not for general use it is better to use importlib.import_module() to programmatically import a module. ... >>> help(importlib.import_module) Help on function import_module in module importlib: import_module(name, package=None) Import a module. The 'package' argument is required when performing a relative import. It specifies the package to use as the anchor point from which to resolve the relative import to an absolute import. From jep200404 at columbus.rr.com Fri Mar 15 03:28:51 2013 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Thu, 14 Mar 2013 22:28:51 -0400 Subject: [CentralOH] CohPy Website In-Reply-To: References: <20130218105727.73f23417.jep200404@columbus.rr.com> Message-ID: <20130314222851.0b60f81e.jep200404@columbus.rr.com> On Mon, 18 Feb 2013 13:09:50 -0500, John Santiago wrote: > What's the url? cohpy.org It just redirects to the meetup page. From jdsantiagojr at gmail.com Fri Mar 15 05:24:03 2013 From: jdsantiagojr at gmail.com (John Santiago) Date: Fri, 15 Mar 2013 00:24:03 -0400 Subject: [CentralOH] Dynamic Importing In-Reply-To: <20130314222651.1327ae47.jep200404@columbus.rr.com> References: <20130314222651.1327ae47.jep200404@columbus.rr.com> Message-ID: Man that worked great! Thank you! here is revised :: blueprints = ['frontend', 'admin'] for module in blueprints: mod = import_module('controllers.%s' % module) app.register_blueprint(mod.mod) On Thu, Mar 14, 2013 at 10:26 PM, wrote: > On Thu, 14 Mar 2013 21:37:10 -0400, John Santiago > wrote: > > > ... __import__('controllers.%s' % path, fromlist=[path]) > > That __ stuff gives me the creeps. > Does importlib.import_module() work for you? > > test at test:~$ python > Python 2.7.3 (default, Sep 26 2012, 21:53:58) > [GCC 4.7.2] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> help(__import__) > > Help on built-in function __import__ in module __builtin__: > > __import__(...) > __import__(name, globals={}, locals={}, fromlist=[], level=-1) -> > module > > Import a module. Because this function is meant for use by the Python > interpreter and not for general use it is better to use > importlib.import_module() to programmatically import a module. > > ... > > >>> help(importlib.import_module) > > Help on function import_module in module importlib: > > import_module(name, package=None) > Import a module. > > The 'package' argument is required when performing a relative import. > It > specifies the package to use as the anchor point from which to resolve > the > relative import to an absolute import. > > > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > http://mail.python.org/mailman/listinfo/centraloh > -- This electronic message is intended to be for the use only of the named recipient, and may contain information that is confidential or privileged. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of the contents of this message is strictly prohibited. If you have received this message in error or are not the named recipient, please notify us immediately by contacting the sender at the electronic mail address noted above, and delete and destroy all copies of this message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jdsantiagojr at gmail.com Fri Mar 15 05:41:48 2013 From: jdsantiagojr at gmail.com (John Santiago) Date: Fri, 15 Mar 2013 00:41:48 -0400 Subject: [CentralOH] Dynamic Importing In-Reply-To: References: <20130314222651.1327ae47.jep200404@columbus.rr.com> Message-ID: I didn't know about import_module. Thank You! On Fri, Mar 15, 2013 at 12:24 AM, John Santiago wrote: > Man that worked great! Thank you! > > here is revised :: > blueprints = ['frontend', 'admin'] > for module in blueprints: > mod = import_module('controllers.%s' % module) > app.register_blueprint(mod.mod) > > > On Thu, Mar 14, 2013 at 10:26 PM, wrote: > >> On Thu, 14 Mar 2013 21:37:10 -0400, John Santiago >> wrote: >> >> > ... __import__('controllers.%s' % path, fromlist=[path]) >> >> That __ stuff gives me the creeps. >> Does importlib.import_module() work for you? >> >> test at test:~$ python >> Python 2.7.3 (default, Sep 26 2012, 21:53:58) >> [GCC 4.7.2] on linux2 >> Type "help", "copyright", "credits" or "license" for more information. >> >>> help(__import__) >> >> Help on built-in function __import__ in module __builtin__: >> >> __import__(...) >> __import__(name, globals={}, locals={}, fromlist=[], level=-1) -> >> module >> >> Import a module. Because this function is meant for use by the Python >> interpreter and not for general use it is better to use >> importlib.import_module() to programmatically import a module. >> >> ... >> >> >>> help(importlib.import_module) >> >> Help on function import_module in module importlib: >> >> import_module(name, package=None) >> Import a module. >> >> The 'package' argument is required when performing a relative import. >> It >> specifies the package to use as the anchor point from which to >> resolve the >> relative import to an absolute import. >> >> >> _______________________________________________ >> CentralOH mailing list >> CentralOH at python.org >> http://mail.python.org/mailman/listinfo/centraloh >> > > > > -- > This electronic message is intended to be for the use only of the named > recipient, and may contain information that is confidential or privileged. > If you are not the intended recipient, you are hereby notified that any > disclosure, copying, distribution or use of the contents of this message is > strictly prohibited. If you have received this message in error or are not > the named recipient, please notify us immediately by contacting the sender > at the electronic mail address noted above, and delete and destroy all > copies of this message. Thank you. > -- This electronic message is intended to be for the use only of the named recipient, and may contain information that is confidential or privileged. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of the contents of this message is strictly prohibited. If you have received this message in error or are not the named recipient, please notify us immediately by contacting the sender at the electronic mail address noted above, and delete and destroy all copies of this message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jdsantiagojr at gmail.com Mon Mar 18 04:59:46 2013 From: jdsantiagojr at gmail.com (John Santiago) Date: Sun, 17 Mar 2013 23:59:46 -0400 Subject: [CentralOH] Python Singleton Message-ID: Hi all, I am trying to write a singleton like I would an Actionsctipt. I have been doing some research on the interwebs and came up with this. class Singleton(object): __instance = None __lockInstance = threading.RLock() def __new__(cls, *args, **kwargs): raise TypeError("Error: Singletons may only be instantiated through getInstance()") def __init__(self): print 'hi' @classmethod def getInstance(cls, *args, **kwargs): if cls.__instance is None: try: cls.__lockInstance.acquire() cls.__instance = object.__new__(cls, *args, **kwargs) cls.__instance.__init__() finally: cls.__lockInstance.release() return cls.__instance It works but is it the right way? -- This electronic message is intended to be for the use only of the named recipient, and may contain information that is confidential or privileged. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of the contents of this message is strictly prohibited. If you have received this message in error or are not the named recipient, please notify us immediately by contacting the sender at the electronic mail address noted above, and delete and destroy all copies of this message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jdsantiagojr at gmail.com Mon Mar 18 05:05:17 2013 From: jdsantiagojr at gmail.com (John Santiago) Date: Mon, 18 Mar 2013 00:05:17 -0400 Subject: [CentralOH] Singleton Revised Message-ID: Sorry sent old one, here is new singleton. I am seeing a lot of examples. Just would liek some critique on this one import threading from cherrypy._cpwsgi_server import CPWSGIServer class Singleton(object): __instance = None __lockInstance = threading.RLock() def __new__(cls): raise TypeError("Error: Singletons may only be instantiated through getInstance()") def __init__(self): print 'hi' @classmethod def getInstance(cls, *args, **kwargs): if cls.__instance is None: try: cls.__lockInstance.acquire() cls.__instance = object.__new__(cls) cls.__instance.__init__(*args, **kwargs) finally: cls.__lockInstance.release() return cls.__instance if __name__ == '__main__': s1 = Singleton.getInstance() s2 = Singleton.getInstance() s3 = Singleton.getInstance() s4 = Singleton.getInstance() s5 = Singleton() -- This electronic message is intended to be for the use only of the named recipient, and may contain information that is confidential or privileged. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of the contents of this message is strictly prohibited. If you have received this message in error or are not the named recipient, please notify us immediately by contacting the sender at the electronic mail address noted above, and delete and destroy all copies of this message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jdsantiagojr at gmail.com Mon Mar 18 05:32:37 2013 From: jdsantiagojr at gmail.com (John Santiago) Date: Mon, 18 Mar 2013 00:32:37 -0400 Subject: [CentralOH] Another Revision of Singleton Message-ID: Found som really great post. Really hoping this is the right way to go about it. revised the getInstance import threading class Singleton(object): __instance = None __lockInstance = threading.RLock() def __new__(cls): raise TypeError("Error: Singletons may only be instantiated through getInstance().") def __init__(self, *args, **kwargs): pass @classmethod def getInstance(cls, *args, **kwargs): cls.__lockInstance.acquire() try: if cls.__instance is None: cls.__instance = object.__new__(cls) cls.__instance.__init__(*args, **kwargs) finally: cls.__lockInstance.release() return cls.__instance -- This electronic message is intended to be for the use only of the named recipient, and may contain information that is confidential or privileged. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of the contents of this message is strictly prohibited. If you have received this message in error or are not the named recipient, please notify us immediately by contacting the sender at the electronic mail address noted above, and delete and destroy all copies of this message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From eric at intellovations.com Mon Mar 18 12:13:27 2013 From: eric at intellovations.com (Eric Floehr) Date: Mon, 18 Mar 2013 07:13:27 -0400 Subject: [CentralOH] Another Revision of Singleton In-Reply-To: References: Message-ID: John, In most cases where you think you need a Singleton design pattern, what you are really looking for is shared state. It doesn't matter how many class instances you have, so long as each of those instances share state. The problem many people have coming to Python from say C++, Java, C# and other class-oriented languages is that in those languages you can't easily separate the class instance from its state. In Python, being *object* oriented and not *class* oriented, it's easy. Another thing that tripped me up, coming from Java, is thinking of a module as just a namespace and not as an object as well. With that said, there are two alternatives to the Singleton object that may work better for you in Python than the implementation you'd found/developed. At the very least, understanding them will help you understand Python a little more. The first is the multi-instance/shared-state pattern, which Alex Martelli calls the "Borg Pattern". It's called the Borg pattern for obvious reasons... like the Borg, there are many instances but all share the same state :-). Alex's "Five Easy Pieces" post is a must read: http://www.aleax.it/5ep.html The second is that like everything in Python, a module is an object, not just a namespace. In fact, a module can be thought of as a singleton... it can have global state, has only once instance, and is an object. Here is a stackoverflow explanation... there is probably a better description somewhere but I can't find it in my bookmarks right now: http://stackoverflow.com/questions/10936709/why-does-a-python-module-act-like-a-singleton BUT... I would take a step back even further and ask yourself if you really even need a singleton. In most cases, you really don't, and you can make your program better by eliminating them. Google even wrote a singleton detector for its Java code: http://code.google.com/p/google-singleton-detector/wiki/WhySingletonsAreControversial I can't tell you if your design would be better without a singleton without knowing more about the use case. But at least read up on the Borg pattern and on modules as singletons and you will at least have a better understanding of Python. Cheers, Eric -------------- next part -------------- An HTML attachment was scrubbed... URL: From jdsantiagojr at gmail.com Tue Mar 19 00:08:10 2013 From: jdsantiagojr at gmail.com (John Santiago) Date: Mon, 18 Mar 2013 19:08:10 -0400 Subject: [CentralOH] Another Revision of Singleton In-Reply-To: References: Message-ID: I will read the links. Thank You! I wanted to create a web application management tool for myself. Something similar to Tomcat using CherryPy. The main application 'Brigh' is the hub, so I wanted to make it a singleton. It would have basic methods like app creation and server methods. it would also be the main web-application. Every-time I create a new application it will grab .zip /rar file, store basic data to db and then create a physical location on the server. I will also be using the host api to create domains then store domains in db -> cherrypy virtualhost. I only wanted to make the main application a singleton to make sure there could not be more than one. Going to dive into the alex.it link now, but what do you think? On Mon, Mar 18, 2013 at 7:13 AM, Eric Floehr wrote: > John, > > In most cases where you think you need a Singleton design pattern, what > you are really looking for is shared state. It doesn't matter how many > class instances you have, so long as each of those instances share state. > > The problem many people have coming to Python from say C++, Java, C# and > other class-oriented languages is that in those languages you can't easily > separate the class instance from its state. In Python, being *object* > oriented and not *class* oriented, it's easy. Another thing that tripped me > up, coming from Java, is thinking of a module as just a namespace and not > as an object as well. > > With that said, there are two alternatives to the Singleton object that > may work better for you in Python than the implementation you'd > found/developed. At the very least, understanding them will help you > understand Python a little more. > > The first is the multi-instance/shared-state pattern, which Alex Martelli > calls the "Borg Pattern". It's called the Borg pattern for obvious > reasons... like the Borg, there are many instances but all share the same > state :-). Alex's "Five Easy Pieces" post is a must read: > http://www.aleax.it/5ep.html > > The second is that like everything in Python, a module is an object, not > just a namespace. In fact, a module can be thought of as a singleton... it > can have global state, has only once instance, and is an object. Here is a > stackoverflow explanation... there is probably a better description > somewhere but I can't find it in my bookmarks right now: > http://stackoverflow.com/questions/10936709/why-does-a-python-module-act-like-a-singleton > > BUT... > > I would take a step back even further and ask yourself if you really even > need a singleton. In most cases, you really don't, and you can make your > program better by eliminating them. Google even wrote a singleton detector > for its Java code: > http://code.google.com/p/google-singleton-detector/wiki/WhySingletonsAreControversial > > I can't tell you if your design would be better without a singleton > without knowing more about the use case. But at least read up on the Borg > pattern and on modules as singletons and you will at least have a better > understanding of Python. > > Cheers, > Eric > > > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > http://mail.python.org/mailman/listinfo/centraloh > > -- This electronic message is intended to be for the use only of the named recipient, and may contain information that is confidential or privileged. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of the contents of this message is strictly prohibited. If you have received this message in error or are not the named recipient, please notify us immediately by contacting the sender at the electronic mail address noted above, and delete and destroy all copies of this message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: From eric at intellovations.com Tue Mar 19 16:15:04 2013 From: eric at intellovations.com (Eric Floehr) Date: Tue, 19 Mar 2013 11:15:04 -0400 Subject: [CentralOH] Another Revision of Singleton In-Reply-To: References: Message-ID: John, I only wanted to make the main application a singleton to make sure there > could not be more than one. Going to dive into the alex.it link now, but > what do you think? > I'm not sure I have enough to make a definitive recommendation, but if this is a web app, I would think your best bet would be to make your admin app a module. Django uses modules to represent apps as well. Now, with that said, if you *REALLY* want to keep only one instance running, neither your original approach nor any that I've described will keep you from firing up multiple *processes* each with a running admin app. If you need that level of protection you're going to want to use an OS-level solution like a pid lock file, etc. -Eric -------------- next part -------------- An HTML attachment was scrubbed... URL: From jep200404 at columbus.rr.com Mon Mar 25 16:23:47 2013 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Mon, 25 Mar 2013 11:23:47 -0400 Subject: [CentralOH] Meeting Today Message-ID: <20130325112347.54a7580d.jep200404@columbus.rr.com> There's a monthly meeting today. http://www.meetup.com/Central-Ohio-Python-Users-Group/events/110016922/ From jep200404 at columbus.rr.com Tue Mar 26 14:55:42 2013 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Tue, 26 Mar 2013 09:55:42 -0400 Subject: [CentralOH] Book Review: The Definitive Guide to Django Web Development Done Right In-Reply-To: <20120407200316.15628e3c.jep200404@columbus.rr.com> References: <20120407200316.15628e3c.jep200404@columbus.rr.com> Message-ID: <20130326095542.2aeca337.jep200404@columbus.rr.com> On Sat, 7 Apr 2012 20:03:16 -0400, jep200404 at columbus.rr.com wrote: > The Definitive Guide to Django > Web Development Done Right > by Adrian Holovaty and Jacob Kaplan-Moss > Copyright 2008 > Unfortunately, the free online version does not have the figures. > For Chapter 6, one needs to use the old 2008 paper version and > the free online version together, using the text of the online > version and the figures of the 2008 paper version. The online version[1] has been fixed and now has the figures. [1] http://www.djangobook.com/en/2.0/ From jep200404 at columbus.rr.com Tue Mar 26 19:50:50 2013 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Tue, 26 Mar 2013 14:50:50 -0400 Subject: [CentralOH] 2013-03-25 Scribbles Message-ID: <20130326145050.015dd65e.jep200404@columbus.rr.com> Meetings are likely to be at various places, so check cohpy.org before each meeting for location. Start with cohpy.org redirects to meetup page. meetup page has link to mailing list Subscribe or browse archives there. -------------------------------------------------------------------------------- Most CohPy presentations are about big stuff. This presentation is a small lightweight one for beginners about one thing that Python does nicely. Python is pretty clean. Python is pretty elegant. That clean elegance is not just in the basic language itself, but extends into the libraries and how they work together. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Objects with read or write methods can be used like files in various places that want a file. This makes some problems easy to solve. Such objects are called "file-like objects". They are surprisingly easy to use. I will show a real-world example of how a file-like object was used to simplify code. The code in this presentation is available at the following URLs. https://launchpad.net/reduce http://bazaar.launchpad.net/~brywilharris/reduce/trunk/files http://bazaar.launchpad.net/~brywilharris/reduce/trunk/view/head:/tee.py need to add commas, refactor http://bazaar.launchpad.net/~brywilharris/reduce/trunk/view/head:/rlo.py s/prcessing/processing/ See "Why You Will Care: print and stdout" on page 309 of 2011-05-20 printing of 4th edition of Learning Python by Mark Lutz ISBN 978-0-596-15806-4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - http://mail.python.org/pipermail/centraloh/2011-July/000922.html Subject: Need Code to Beat On Date: Tue, 19 Jul 2011 15:31:00 -0400 Please let me know of Python projects that are: o small o buggy I am learning Python. I have been reading much, and following the little exercises, but need a whole program to beat. I do not have an itch to scratch right now, except to learn Python. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - http://mail.python.org/pipermail/centraloh/2011-July/000923.html From: Bryan Harris Subject: Re: [CentralOH] Need Code to Beat On Date: Tue, 19 Jul 2011 17:14:24 -0400 You could look at my little python project: https://launchpad.net/reduce ... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - from reduce-2.2.0-jep01/rlo.py: print time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.localtime()) print "user:",os.times()[0],"s" print "system:",os.times()[1],"s" print >>log_file, time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.localtime()) print >>log_file, "user:",os.times()[0],"s" print >>log_file, "system:",os.times()[1],"s" print "Measurement Files:" print >>log_file, "Measurement Files:" for meas_file_name in measurement_file_names : print meas_file_name print >>log_file,meas_file_name - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - simplified to: reduce-2.2.0-jep02/rlo.py log_file=open(log_file_path, 'w'); t=Tee([sys.stdout, log_file]) ... print >>t, time.strftime('%a, %d %b %Y %H:%M:%S +0000', time.localtime()) print >>t, 'user:', os.times()[0], 's' print >>t, 'system:', os.times()[1], ' s' print >>t, 'Measurement Files:' for meas_file_name in measurement_file_names : print >>t, meas_file_name - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - just concentrating on three prints from reduce-2.2.0-jep01/rlo.py: print time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.localtime()) print "user:",os.times()[0],"s" print "system:",os.times()[1],"s" print >>log_file, time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.localtime()) print >>log_file, "user:",os.times()[0],"s" print >>log_file, "system:",os.times()[1],"s" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - reduce-2.2.0-jep02/rlo.py log_file=open(log_file_path, 'w'); t=Tee([sys.stdout, log_file]) ... print >>t, time.strftime('%a, %d %b %Y %H:%M:%S +0000', time.localtime()) print >>t, 'user:', os.times()[0], 's' print >>t, 'system:', os.times()[1], ' s' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - reduce-2.2.0-jep02/tee.py (early version needing commas and PEP 8) #! /usr/bin/python # Copyright 2011 James E. Prior # # This is the tee module. # # Tee is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # Tee is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Tee If not, see . # class Tee: ''' Simplifies writing to multiple files. Instead of repeating a print for each file one needs to output to, one uses a single print that redirects to an instance of this class. For example, instead of doing: print 'big long ugly messy stuff' print >>file1 'big long ugly messy stuff' print >>file2 'big long ugly messy stuff' !!! need to file bug fix for missing commas above one does the following: tee=Tee([sys.stdout, file1, file2]) ... print >>tee 'big long ugly messy stuff' ''' def __init__(self, list_of_open_files): ''' Accepts one argument, a list of files that are already open. ''' self.files=list_of_open_files def write(self, s): ''' Accepts one argument, and writes it to each of the files that were specified when the instance was created. ''' for f in self.files: f.write(s) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This final example use of the Tee class eliminates the need for explicit redirection at each print. Compare this code with the earliest code. The output of all prints is sent to both standard output and the log file. # Redirect writes to stdout to go to both standard output and a log file. real_stdout = sys.stdout sys.stdout = tee = Tee([real_stdout, open('script.log', 'w')]) ... print time.strftime('%a, %d %b %Y %H:%M:%S +0000', time.localtime()) print 'user:', os.times()[0], 's' print 'system:', os.times()[1], 's' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - newest version of Tee class: http://bazaar.launchpad.net/~brywilharris/reduce/trunk/view/head:/tee.py need to add commas, refactor Of course the Tee class was inspired by the Unix tee command. However, Tee is a bit of a misnomer, because the Tee class does not output to the arguments _in_addtion_ to standard output like the tee command does. I.e., The Tee class is like a tee command that always has >/dev/null. The Unix tee command can accept multiple file arguments to write to. Shell magic can specify commands as files. For example. dd if=/dev/sr0 bs=2k | tee >(md5sum) >(sha1sum) >(sha256sum) >/dev/null More shell fun: test at cohpy:~$ cat ~/bin/vidf vim -O "$1" "$2" <(diff "$1" "$2") test at cohpy:~$ My Tee class is a simple example of how flexible I/O can be using file-like objects. You will likely find other code that be simplified by using file-like objects. -------------------------------------------------------------------------------- dependencies How does one figure out what the dependencies are? I try to do everything in a virtualenv, but sometimes I can not, and have to install system packages to satisfy dependencies. --no-site-packages is helpful https://pypi.python.org/pypi?%3Aaction=search&term=vtk&submit=search http://mail.python.org/pipermail/centraloh/2013-February/001551.html -------------------------------------------------------------------------------- XY: Scrapy is awesome! XY showed how he is using Scrapy for screen scraping. http://en.wikipedia.org/wiki/Scrapy Scrapy does not grok Javascript. -------------------------------------------------------------------------------- icanhazip.com - terse output, great for scripting wget -O - -q http://icanhazip.com | xxd -g 1 -u myip=`wget -O - -q http://icanhazip.com` echo $myip ifconfig.me htmlfive.appspot.com/static/whereami.html All roads lead to Palo Alto The Django Book web site now has pictures. http://www.djangobook.com/en/2.0/index.html Update old mailing list comment. http://mail.python.org/pipermail/centraloh/2012-April/001251.html PyOhio Should be asking for speakers soon. Want to encourage more first time speakers. Join the mailing list and say what you want to help with. http://mail.python.org/mailman/listinfo/pyohio-organizers Web site will be based on Symposion conference software instead of rolling our own web site. http://pyohio.org/ https://github.com/eldarion/pyohio forecastadvisor.com why do I get Forbidden (403) CSRF response from Konqueror, but not Iceweasel? Both had javascript disabled. Python 3 Wall of Shame / Superpowers https://python3wos.appspot.com/ Soylent_Green Blade_Runner Jibbigo From fandi.814 at gmail.com Thu Mar 28 04:10:23 2013 From: fandi.814 at gmail.com (Fandi Peng) Date: Wed, 27 Mar 2013 23:10:23 -0400 Subject: [CentralOH] Book Review: The Definitive Guide to Django Web Development Done Right In-Reply-To: <20130326095542.2aeca337.jep200404@columbus.rr.com> References: <20120407200316.15628e3c.jep200404@columbus.rr.com> <20130326095542.2aeca337.jep200404@columbus.rr.com> Message-ID: Hi Jim, Wow, it's almost one year ago...you remember the email you sent out one year ago? Cool, I will jump into it after this semester. best, Fandi On Tue, Mar 26, 2013 at 9:55 AM, wrote: > On Sat, 7 Apr 2012 20:03:16 -0400, jep200404 at columbus.rr.com wrote: > > > The Definitive Guide to Django > > Web Development Done Right > > by Adrian Holovaty and Jacob Kaplan-Moss > > Copyright 2008 > > > Unfortunately, the free online version does not have the figures. > > For Chapter 6, one needs to use the old 2008 paper version and > > the free online version together, using the text of the online > > version and the figures of the 2008 paper version. > > The online version[1] has been fixed and now has the figures. > > [1] http://www.djangobook.com/en/2.0/ > > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > http://mail.python.org/mailman/listinfo/centraloh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jep200404 at columbus.rr.com Sat Mar 30 02:13:49 2013 From: jep200404 at columbus.rr.com (jep200404 at columbus.rr.com) Date: Fri, 29 Mar 2013 21:13:49 -0400 Subject: [CentralOH] Cheerleading Message-ID: <20130329211349.3846272c.jep200404@columbus.rr.com> Python speeds up GaN models http://www.edn.com/electronics-blogs/catching-waves/4404897/Python-speeds-up-GaN-models