From eric at intellovations.com Thu Feb 4 12:57:10 2010 From: eric at intellovations.com (Eric Floehr) Date: Thu, 4 Feb 2010 06:57:10 -0500 Subject: [CentralOH] Python TODAY (Open Source Club) Message-ID: <34f468871002040357q1b19ff7w8c0275b556d49aa4@mail.gmail.com> Sorry for the short notice, but for all who are interested, the OSU Open Source Club is having a Python presentation today, Thursday, at 7pm in Dreee Labs 266. COhPy members Michael Yanovich and Morgan Goose will be presenting on intermediate and advance uses of Python. It should be a very informative presentation. I would attend, but unfortunately, have another commitment. Best Regards, Eric ---------- Forwarded message ---------- From: Alek Rollyson Date: Wed, Feb 3, 2010 at 10:16 PM Subject: [opensource-announce] Python Tomorrow! [2/4/2010] To: OpensourceAnnounce Just a reminder that tomorrow, *February 4th at 7PM in Dreese Labs 266*, Michael Yanovich and Morgan Goose will be presenting on intermediate and advanced uses of the Python programming language. They have some nifty tips and tricks to show you, even going as far as not revealing aspects of the presentation to us because they wanted it to be a surprise. Come out and join us and learn some new things about Python! Hope to see you there! ---- Alek Rollyson _______________________________________________ opensource-announce mailing list opensource-announce at cse.ohio-state.edu http://mail.cse.ohio-state.edu/mailman/listinfo/opensource-announce -------------- next part -------------- An HTML attachment was scrubbed... URL: From mark at microenh.com Sun Feb 14 03:54:18 2010 From: mark at microenh.com (Mark Erbaugh) Date: Sat, 13 Feb 2010 21:54:18 -0500 Subject: [CentralOH] Data Members / Properties - 2 questions Message-ID: <613C4761-AE23-481F-82D2-8CBEC5C5F601@microenh.com> Hello all, I'm reworking some older code, changing it from using a cobbled together database based on shelves to use SQLITE3. I have several data objects stored as data members of a container object. These data members were read from the shelve when the container was created and saved when a save() method of the container was called. When the program needed the data is just accessed the member: value = object.SHOW_QTY or object.SHOW_QTY = value Now the data lives in the SQLITE database. I would like to read and write the data from the database on demand. It seems like a perfect place for a property. For the above example, instead of SHOW_QTY being a data member it would be a property, thus the client code could still use value = object.SHOW_QTY and object.SHOW_QTY = value. The problem I have is that in some places, the existing code accesses these data members indirectly passing a string version of the data name (i.e. 'SHOW_QTY'). With a data member, it's a simple matter to look up the data in the container's __dict__. However, it doesn't look like properties work the same way. At one time I had a semi understanding of how descriptors worked under the hood, but I've been away from this level of Python for a while... If you have an easy answer - great! If not, can you point me to a good reference to refresh my understanding? The answer to this question may also help with the second. In creating these properties, I ended up with a lot of repetitive getters and setters. The only difference was a parameter indicating which data element to use: > def _getSHOW_QTY(self): > return self._getAUDIT('SHOW_QTY') > > def _setSHOW_QTY(self, data): > self._setAUDIT('SHOW_QTY', data) > > def _getBY_PILL(self): > return self._getAUDIT('BY_PILL') > > def _setBY_PILL(self, data): > self._setAUDIT('BY_PILL', data) > SHOW_QTY = property(_getSHOW_QTY, _setSHOW_QTY) > BY_PILL = property(_getBY_PILL, _setBY_PILL) There are several more properties like this. Is there a way to iterate through a sequence (i.e. (SHOW_QTY, BY_PILL, ...)) and have the getters, setters and properties created automatically? Thanks, Mark -------------- next part -------------- An HTML attachment was scrubbed... URL: From nick.albright at gmail.com Sun Feb 14 04:41:15 2010 From: nick.albright at gmail.com (Nick Albright) Date: Sat, 13 Feb 2010 22:41:15 -0500 Subject: [CentralOH] Data Members / Properties - 2 questions In-Reply-To: <613C4761-AE23-481F-82D2-8CBEC5C5F601@microenh.com> References: <613C4761-AE23-481F-82D2-8CBEC5C5F601@microenh.com> Message-ID: <7ec143011002131941g789a4ff8h14cc3e22793bb3ff@mail.gmail.com> Hey Mark! I think you can use getattr() and setattr() instead of __dict__ and it'll catch the property. I hope that helps! (And I hope my memory is right ;) -Nick On Sat, Feb 13, 2010 at 9:54 PM, Mark Erbaugh wrote: > Hello all, > > I'm reworking some older code, changing it from using a cobbled together > database based on shelves to use SQLITE3. > > I have several data objects stored as data members of a container object. > These data members were read from the shelve when the container was created > and saved when a save() method of the container was called. When the program > needed the data is just accessed the member: value = object.SHOW_QTY or > object.SHOW_QTY = value > > Now the data lives in the SQLITE database. I would like to read and write > the data from the database on demand. It seems like a perfect place for a > property. For the above example, instead of SHOW_QTY being a data member it > would be a property, thus the client code could still use value = > object.SHOW_QTY and object.SHOW_QTY = value. > > The problem I have is that in some places, the existing code accesses these > data members indirectly passing a string version of the data name (i.e. > 'SHOW_QTY'). With a data member, it's a simple matter to look up the data > in the container's __dict__. However, it doesn't look like properties work > the same way. At one time I had a semi understanding of how descriptors > worked under the hood, but I've been away from this level of Python for a > while... > > If you have an easy answer - great! If not, can you point me to a good > reference to refresh my understanding? > > The answer to this question may also help with the second. In creating > these properties, I ended up with a lot of repetitive getters and setters. > The only difference was a parameter indicating which data element to use: > > def _*getSHOW_QTY*(*self*): > return *self*._getAUDIT(*'SHOW_QTY'*) > > > def _*setSHOW_QTY*(*self*, data): > *self*._setAUDIT(*'SHOW_QTY'*, data) > > > def _*getBY_PILL*(*self*): > return *self*._getAUDIT(*'BY_PILL'*) > > > def _*setBY_PILL*(*self*, data): > *self*._setAUDIT(*'BY_PILL'*, data) > > > SHOW_QTY = property(_getSHOW_QTY, _setSHOW_QTY) > BY_PILL = property(_getBY_PILL, _setBY_PILL) > > > There are several more properties like this. Is there a way to iterate > through a sequence (i.e. (SHOW_QTY, BY_PILL, ...)) and have the getters, > setters and properties created automatically? > > Thanks, > Mark > > > > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > http://mail.python.org/mailman/listinfo/centraloh > > -- Please note that as of 1/20 I no longer have a land phone line, only my cell. -------------- next part -------------- An HTML attachment was scrubbed... URL: From nick.albright at gmail.com Sun Feb 14 04:44:33 2010 From: nick.albright at gmail.com (Nick Albright) Date: Sat, 13 Feb 2010 22:44:33 -0500 Subject: [CentralOH] Data Members / Properties - 2 questions In-Reply-To: <7ec143011002131941g789a4ff8h14cc3e22793bb3ff@mail.gmail.com> References: <613C4761-AE23-481F-82D2-8CBEC5C5F601@microenh.com> <7ec143011002131941g789a4ff8h14cc3e22793bb3ff@mail.gmail.com> Message-ID: <7ec143011002131944q79239fack8089f6d9dcdefbfa@mail.gmail.com> Oh sorry! I answered too fast/missed the 2nd half of your Q. Initially I'd think that a metaclass would be the answer to allowing you to change/effect the class dynamically. -Nick On Sat, Feb 13, 2010 at 10:41 PM, Nick Albright wrote: > Hey Mark! > > I think you can use getattr() and setattr() instead of __dict__ and it'll > catch the property. > > I hope that helps! (And I hope my memory is right ;) > -Nick > > On Sat, Feb 13, 2010 at 9:54 PM, Mark Erbaugh wrote: > >> Hello all, >> >> I'm reworking some older code, changing it from using a cobbled together >> database based on shelves to use SQLITE3. >> >> I have several data objects stored as data members of a container object. >> These data members were read from the shelve when the container was created >> and saved when a save() method of the container was called. When the program >> needed the data is just accessed the member: value = object.SHOW_QTY or >> object.SHOW_QTY = value >> >> Now the data lives in the SQLITE database. I would like to read and write >> the data from the database on demand. It seems like a perfect place for a >> property. For the above example, instead of SHOW_QTY being a data member it >> would be a property, thus the client code could still use value = >> object.SHOW_QTY and object.SHOW_QTY = value. >> >> The problem I have is that in some places, the existing code accesses >> these data members indirectly passing a string version of the data name >> (i.e. 'SHOW_QTY'). With a data member, it's a simple matter to look up the >> data in the container's __dict__. However, it doesn't look like properties >> work the same way. At one time I had a semi understanding of how descriptors >> worked under the hood, but I've been away from this level of Python for a >> while... >> >> If you have an easy answer - great! If not, can you point me to a good >> reference to refresh my understanding? >> >> The answer to this question may also help with the second. In creating >> these properties, I ended up with a lot of repetitive getters and setters. >> The only difference was a parameter indicating which data element to use: >> >> def _*getSHOW_QTY*(*self*): >> return *self*._getAUDIT(*'SHOW_QTY'*) >> >> >> def _*setSHOW_QTY*(*self*, data): >> *self*._setAUDIT(*'SHOW_QTY'*, data) >> >> >> def _*getBY_PILL*(*self*): >> return *self*._getAUDIT(*'BY_PILL'*) >> >> >> def _*setBY_PILL*(*self*, data): >> *self*._setAUDIT(*'BY_PILL'*, data) >> >> >> SHOW_QTY = property(_getSHOW_QTY, _setSHOW_QTY) >> BY_PILL = property(_getBY_PILL, _setBY_PILL) >> >> >> There are several more properties like this. Is there a way to iterate >> through a sequence (i.e. (SHOW_QTY, BY_PILL, ...)) and have the getters, >> setters and properties created automatically? >> >> Thanks, >> Mark >> >> >> >> _______________________________________________ >> CentralOH mailing list >> CentralOH at python.org >> http://mail.python.org/mailman/listinfo/centraloh >> >> > > > -- > Please note that as of 1/20 I no longer have a land phone line, only my > cell. > -- Please note that as of 1/20 I no longer have a land phone line, only my cell. -------------- next part -------------- An HTML attachment was scrubbed... URL: From kartic.krish at gmail.com Sun Feb 14 06:05:57 2010 From: kartic.krish at gmail.com (Kartic Krishnamurthy) Date: Sat, 13 Feb 2010 21:05:57 -0800 Subject: [CentralOH] Data Members / Properties - 2 questions In-Reply-To: <7ec143011002131944q79239fack8089f6d9dcdefbfa@mail.gmail.com> References: <613C4761-AE23-481F-82D2-8CBEC5C5F601@microenh.com> <7ec143011002131941g789a4ff8h14cc3e22793bb3ff@mail.gmail.com> <7ec143011002131944q79239fack8089f6d9dcdefbfa@mail.gmail.com> Message-ID: <52ffb22c1002132105o61b4a03dm1c4040bbd45ffae2@mail.gmail.com> Mark - I have spent the last hour trying to figure out the solution to your problem, like Nick says, using a metaclass. The easy part is creating the getters and setters...what's stumped me is making the descriptor call the correct argument-specific version of {get,set}AUDIT :) I will post my code once I have something working. +Kartic On Sat, Feb 13, 2010 at 7:44 PM, Nick Albright wrote: > Oh sorry! I answered too fast/missed the 2nd half of your Q. ?Initially I'd > think that a metaclass would be the answer to allowing you to change/effect > the class dynamically. > ?-Nick > > On Sat, Feb 13, 2010 at 10:41 PM, Nick Albright > wrote: >> >> Hey Mark! >> I think you can use getattr() and setattr() instead of __dict__ and it'll >> catch the property. >> I hope that helps! (And I hope my memory is right ;) >> ?-Nick >> >> On Sat, Feb 13, 2010 at 9:54 PM, Mark Erbaugh wrote: >>> >>> Hello all, >>> I'm reworking some older code, changing it from using a cobbled together >>> database based on shelves to use SQLITE3. >>> I have several data objects stored as data members of a container object. >>> These data members were read from the shelve when the container was created >>> and saved when a save() method of the container was called. When the program >>> needed the data is just accessed the member: ?value = object.SHOW_QTY or >>> object.SHOW_QTY = value >>> Now the data lives in the SQLITE database. I would like to read and write >>> the data from the database on demand. ?It seems like a perfect place for a >>> property. ?For the above example, instead of SHOW_QTY being a data member it >>> would be a property, thus the client code could still use value = >>> object.SHOW_QTY and object.SHOW_QTY = value. >>> The problem I have is that in some places, the existing code accesses >>> these data members indirectly passing a string version of the data name >>> (i.e. 'SHOW_QTY'). ?With a data member, it's a simple matter to look up the >>> data in the container's __dict__. ?However, it doesn't look like properties >>> work the same way. At one time I had a semi understanding of how descriptors >>> worked under the hood, but I've been away from this level of Python for a >>> while... >>> If you have an easy answer - great! If not, can you point me to a good >>> reference to refresh my understanding? >>> The answer to this question may also help with the second. ?In creating >>> these properties, I ended up with a lot of repetitive getters and setters. >>> ?The only difference was a parameter indicating which data element to use: >>> >>> ?? ?def?_getSHOW_QTY(self): >>> ? ? ? ? return self._getAUDIT('SHOW_QTY') >>> >>> >>> >>> ? ? def?_setSHOW_QTY(self, data): >>> ? ? ? ? self._setAUDIT('SHOW_QTY', data) >>> >>> >>> >>> ? ? def?_getBY_PILL(self): >>> ? ? ? ? return self._getAUDIT('BY_PILL') >>> >>> >>> >>> ? ? def?_setBY_PILL(self, data): >>> ? ? ? ? self._setAUDIT('BY_PILL', data) >>> >>> ?? ?SHOW_QTY = property(_getSHOW_QTY, _setSHOW_QTY) >>> ? ? BY_PILL = property(_getBY_PILL, _setBY_PILL) >>> >>> There are several more properties like this. Is there a way to iterate >>> through a sequence (i.e. (SHOW_QTY, BY_PILL, ...)) and have the getters, >>> setters and properties created automatically? >>> Thanks, >>> Mark >>> >>> >>> _______________________________________________ >>> CentralOH mailing list >>> CentralOH at python.org >>> http://mail.python.org/mailman/listinfo/centraloh >>> >> >> >> >> -- >> Please note that as of 1/20 I no longer have a land phone line, only my >> cell. > > > > -- > Please note that as of 1/20 I no longer have a land phone line, only my > cell. > > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > http://mail.python.org/mailman/listinfo/centraloh > > -- Samuel Goldwyn - "I'm willing to admit that I may not always be right, but I am never wrong." - http://www.brainyquote.com/quotes/authors/s/samuel_goldwyn.html From mark at microenh.com Sun Feb 14 07:13:12 2010 From: mark at microenh.com (Mark Erbaugh) Date: Sun, 14 Feb 2010 01:13:12 -0500 Subject: [CentralOH] Data Members / Properties - 2 questions In-Reply-To: <7ec143011002131941g789a4ff8h14cc3e22793bb3ff@mail.gmail.com> References: <613C4761-AE23-481F-82D2-8CBEC5C5F601@microenh.com> <7ec143011002131941g789a4ff8h14cc3e22793bb3ff@mail.gmail.com> Message-ID: On Feb 13, 2010, at 10:41 PM, Nick Albright wrote: > Hey Mark! > > I think you can use getattr() and setattr() instead of __dict__ and it'll catch the property. > > I hope that helps! (And I hope my memory is right ;) > -Nick Nick, getattr() / setattr() did the trick. However, they aren't methods of the class so I had to call them: getattr(object, 'field') setattr(object, 'field', data) Is that what you were thinking, or were you thinking they were bound methods of the class: object.getattr('field')? Getting this working saved me from having to do a major re-work of some of the code. Thanks, Mark From nick.albright at gmail.com Sun Feb 14 07:52:20 2010 From: nick.albright at gmail.com (Nick Albright) Date: Sun, 14 Feb 2010 01:52:20 -0500 Subject: [CentralOH] Data Members / Properties - 2 questions In-Reply-To: References: <613C4761-AE23-481F-82D2-8CBEC5C5F601@microenh.com> <7ec143011002131941g789a4ff8h14cc3e22793bb3ff@mail.gmail.com> Message-ID: <7ec143011002132252j546914al3d209e9fb339f3cd@mail.gmail.com> Oh No, I was definitely thinking of the first way. Kartic, definitely be curious how the code turns out! -Nick On Sun, Feb 14, 2010 at 1:13 AM, Mark Erbaugh wrote: > > On Feb 13, 2010, at 10:41 PM, Nick Albright wrote: > > > Hey Mark! > > > > I think you can use getattr() and setattr() instead of __dict__ and it'll > catch the property. > > > > I hope that helps! (And I hope my memory is right ;) > > -Nick > > > Nick, > > getattr() / setattr() did the trick. However, they aren't methods of the > class so I had to call them: > > getattr(object, 'field') > > setattr(object, 'field', data) > > Is that what you were thinking, or were you thinking they were bound > methods of the class: > > object.getattr('field')? > > Getting this working saved me from having to do a major re-work of some of > the code. > > Thanks, > Mark -- Please note that as of 1/20 I no longer have a land phone line, only my cell. -------------- next part -------------- An HTML attachment was scrubbed... URL: From nludban at osc.edu Sun Feb 14 15:53:27 2010 From: nludban at osc.edu (Neil Ludban) Date: Sun, 14 Feb 2010 09:53:27 -0500 Subject: [CentralOH] Data Members / Properties - 2 questions In-Reply-To: <613C4761-AE23-481F-82D2-8CBEC5C5F601@microenh.com> References: <613C4761-AE23-481F-82D2-8CBEC5C5F601@microenh.com> Message-ID: <9718A9F8-B195-4301-ADE0-74F6DB43F749@osc.edu> On Feb 13, 2010, at 9:54 PM, Mark Erbaugh wrote: > The problem I have is that in some places, the existing code accesses these data members indirectly passing a string version of the data name (i.e. 'SHOW_QTY'). With a data member, it's a simple matter to look up the data in the container's __dict__. That was a Bad Idea from the beginning, the original programmer should have written their own utility methods even if they didn't know about the builtin getattr and setattr functions. The only reason to access __dict__ is to bypass all the regular mechanisms. > There are several more properties like this. Is there a way to iterate through a sequence (i.e. (SHOW_QTY, BY_PILL, ...)) and have the getters, setters and properties created automatically? I wouldn't suggest this for new code, but as a quick and dirty hack to fix existing code it seems ok. The idea is to override __getattr__ and __setattr__ so you don't have to manually create all the properties, and do it in a dummy object so you don't have to change the original to set internal state using __dict__. Then rename the original class and replace it with a function so none of the client code has to know about the change. Depending on your application, it might be safer to replace the hasattr(...) test with a regular expression or verify the name is in a known set. class AttrWrapper(object): def __init__(self, obj): self.__obj = obj def __getattr__(self, name): if hasattr(self.__obj, name): return getattr(self.__obj, name) else: return self.__obj._getAUDIT(name) def __setattr__(self, name, value): if hasattr(self.__obj, name): setattr(self.__obj, name, value) else: self.__obj._setAUDIT(name, value) class _DataContainer(object): pass def DataContainer(*args, **kwargs): return AttrWrapper(_DataContainer(*args, **kwargs)) From mark at microenh.com Fri Feb 19 14:13:58 2010 From: mark at microenh.com (Mark Erbaugh) Date: Fri, 19 Feb 2010 08:13:58 -0500 Subject: [CentralOH] Python 3.x Message-ID: <03940B86-9228-4C2A-B4CB-4F0DA165B17D@microenh.com> What are people's favorite references for Python 3.x for experienced 2.x users? I'm contemplating converting a proprietary non-Python system that I've obtained the rights to to Python. The end result would be distributed as source code (not sure if it would open source or proprietary). The intended market is VARs who customize the system for their clients, although in many cases the current system is used as-is. The current project has been around 15 years, and i would hope for a similar run for the converted version. Since I would be starting from scratch, code-wise, does it make more sense to start with Python 3.x? Thanks, Mark *I would like to be able to distribute the system as open source, but it even though I was one of the developers of the current system, it will take hundreds of hours of my time to convert and I'm looking for something that will generate an income stream for me. Does anyone have any experience or suggestions on making a living (or a significant part of one) distributing an open source package? From mark at microenh.com Fri Feb 19 15:21:11 2010 From: mark at microenh.com (Mark Erbaugh) Date: Fri, 19 Feb 2010 09:21:11 -0500 Subject: [CentralOH] sqlite3 Message-ID: <3B8B8F8E-A79E-4C12-A9ED-0CF264F20CA4@microenh.com> I'm having a performance issue with sqlite3. I have a Python program that reads in an file output from another system over which I have no control, parses the records in that file and inserts the data as rows into a sqlite table. The table has an INTEGER PRIMARY KEY field. The input files have150k to 300k records. When the records in input file are already in order by the primary key, the inserts are at least an order of magnitude faster. For example 10 seconds versus 200. If I remove the PRIMARY KEY constraint, the insert speed improves. However, there can be duplicate keys in the input data which need to be dealt with (either ignored or replace the previous row). The brute force solution would be to read the data into a list and sort the list before inserting it into sqlite, but I wonder if there is a sqlite setting I'm missing. Thanks, Mark From nludban at osc.edu Fri Feb 19 15:42:27 2010 From: nludban at osc.edu (Neil Ludban) Date: Fri, 19 Feb 2010 09:42:27 -0500 Subject: [CentralOH] Python 3.x In-Reply-To: <03940B86-9228-4C2A-B4CB-4F0DA165B17D@microenh.com> References: <03940B86-9228-4C2A-B4CB-4F0DA165B17D@microenh.com> Message-ID: <57BB714F-B8C9-4293-899E-15E100B7274A@osc.edu> On Feb 19, 2010, at 8:13 AM, Mark Erbaugh wrote: > What are people's favorite references for Python 3.x for experienced 2.x users? http://docs.python.org/dev/3.0/whatsnew/3.0.html > I'm contemplating converting a proprietary non-Python system that I've obtained the rights to to Python. The end result would be distributed as source code (not sure if it would open source or proprietary). The intended market is VARs who customize the system for their clients, although in many cases the current system is used as-is. The current project has been around 15 years, and i would hope for a similar run for the converted version. Since I would be starting from scratch, code-wise, does it make more sense to start with Python 3.x? I've always been blocked by lack of support for Python 3 in third party libraries. YMMV. From eric at intellovations.com Fri Feb 19 15:55:41 2010 From: eric at intellovations.com (Eric Floehr) Date: Fri, 19 Feb 2010 09:55:41 -0500 Subject: [CentralOH] Python 3.x In-Reply-To: <03940B86-9228-4C2A-B4CB-4F0DA165B17D@microenh.com> References: <03940B86-9228-4C2A-B4CB-4F0DA165B17D@microenh.com> Message-ID: <34f468871002190655g61688d3q1c1c94d5051a84d8@mail.gmail.com> Mark, I would not yet build production software on Python 3.x, even if starting from scratch. There are a number of important libraries that are not yet compatible with 3.x, and it may be years before libraries you would like to use work in 3.x. 3.x is still experimental, for example, Unladen Swallow (PEP 3146) is likely to be the new VM. Also, very few systems come with 3.x out of the box yet, so there might be deployment issues. 2.x is going to be around for a while yet (years and years), and while there will be some conversion pain in the future if you migrate to 3.x, my guess is you'll have greater pain now working on any large scale projects in 3.x that have library dependencies. Putting aside any philosophical, cultural, or religious arguments for or against open source, practically there are only a few successful open source models that seem to work commercially. They usually are "platform level", like Linux, MySQL, Wordpress, etc., or have general use outside the technical domain, like Asterisk or SugarCRM. In both cases, the model is to offer services to make deployment and integration easy, and/or offer proprietary bits on top of the base open source product (i.e. MySQL Enterprise). Open source really isn't a great business model unless you have a large community of interested contributors, or have a large enough potential base that you can be successful even if only 1% of users actually pay for your product. In your case, there may be better models...an open API (think Facebook or Salesforce.com), a company-developed and maintained users group that then gets access to the source (i.e. pay-in open source)...MySQL does this with Enterprise, or spinoff parts of your product that are of more general or utility use in the hopes that it generates publicity, generates good will, and if a community develops, improve your product. Google has done this on a number of things, and Facebook just recently open sourced its web server. The fact is most open source projects/products languish for lack of interest...people do need to eat. From a philosophical/cultural standpoint, if you use open source software to make you more productive or to make money, I think the best way is to give back monetarily, by contributing to existing open source projects you use, and by helping others. Best Regards, Eric On Fri, Feb 19, 2010 at 8:13 AM, Mark Erbaugh wrote: > What are people's favorite references for Python 3.x for experienced 2.x > users? > > I'm contemplating converting a proprietary non-Python system that I've > obtained the rights to to Python. The end result would be distributed as > source code (not sure if it would open source or proprietary). The intended > market is VARs who customize the system for their clients, although in many > cases the current system is used as-is. The current project has been around > 15 years, and i would hope for a similar run for the converted version. > Since I would be starting from scratch, code-wise, does it make more sense > to start with Python 3.x? > > Thanks, > Mark > > *I would like to be able to distribute the system as open source, but it > even though I was one of the developers of the current system, it will take > hundreds of hours of my time to convert and I'm looking for something that > will generate an income stream for me. Does anyone have any experience or > suggestions on making a living (or a significant part of one) distributing > an open source package? > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > http://mail.python.org/mailman/listinfo/centraloh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From brian.costlow at gmail.com Fri Feb 19 15:59:41 2010 From: brian.costlow at gmail.com (Brian Costlow) Date: Fri, 19 Feb 2010 09:59:41 -0500 Subject: [CentralOH] Python 3.x In-Reply-To: <03940B86-9228-4C2A-B4CB-4F0DA165B17D@microenh.com> References: <03940B86-9228-4C2A-B4CB-4F0DA165B17D@microenh.com> Message-ID: <89d8b1b01002190659h7e37a50cr25792dc4cd0bc9e8@mail.gmail.com> Hi Mark, I highly recommend Dive Into Python 3, available online or as dead trees. http://diveintopython3.org/ If all else were equal, I'd say go to 3, because if python is to continue to thrive, that's the future. But the larger issue is going to be identifying your target market and whether you can get python 3 running there, not because of tech issues, but business ones. If it's a desktop app you're building with a GUI and it's own interpreter built in, you have some freedom on your choice. Plus, even if you open source, building say a GTK app is usually harder for the average unix sysadmin than say, getting a Django web app up and running. So it's more convenient to just pay for the app. Server apps, especially web apps, are a little trickier. I work for a small ISV/VAR. We both resell and create server software. Most of our customers who are running the Linux version of our stuff are on Red Hat Enterprise 4 or 5. RHEL 5's latest official python is a 2.4.x version. You can always roll your own Python and add it to such a system, but: Large corporate customers (we have some of those) usually won't let you do that. There's a reason they bought into RHEL 5. Known stable package set that they are paying support to Red Hat for. Even if you make an isolated build that doesn't mess with the built in python and it's dependancies at all, you still usually get a no. Trying to get 'exotic' stuff like Python and Ruby running on a corporate IT-owned Windows Server is even tougher. Once again, it's not the tech part that's hardest, but getting past IT best practice hurdles. Smaller customers are usually more open (especially if they are buying a dedicated box just to run your stuff). In either case, big or small, anything that you add the the Linux distro vendor doesn't support, you will have to own, support wise. However (segueing into the money part of your question), the best way to make a living off of an open source project *is* to support it. Tech support, installation, training etc. You can also make money developing features for specific customers where they need something right now. But it's hard to get paid just for the core product. Either the Red Hat model (open source the whole thing, sell support) or the old MySQL model, dual license. But if you dual license, companies paying for the commercial license will still expect prime support. But since you are targeting VARs, *they're* going to be the ones making the support dollars. So now you have to evaluate what you bring to the VARs. How hard is what you are doing? Most of the commercial apps we resell we wouldn't develop on, even if they were open. They're complex, require a larger team than would be cost effective for us, and the developers have a lot of domain knowledge about the business. Plus we need them for fall-back support on the really tricky stuff. If those kind of things apply to your app, you might be able to open it up, and still sell it wholesale to VARs. On Fri, Feb 19, 2010 at 8:13 AM, Mark Erbaugh wrote: > What are people's favorite references for Python 3.x for experienced 2.x > users? > > I'm contemplating converting a proprietary non-Python system that I've > obtained the rights to to Python. The end result would be distributed as > source code (not sure if it would open source or proprietary). The intended > market is VARs who customize the system for their clients, although in many > cases the current system is used as-is. The current project has been around > 15 years, and i would hope for a similar run for the converted version. > Since I would be starting from scratch, code-wise, does it make more sense > to start with Python 3.x? > > Thanks, > Mark > > *I would like to be able to distribute the system as open source, but it > even though I was one of the developers of the current system, it will take > hundreds of hours of my time to convert and I'm looking for something that > will generate an income stream for me. Does anyone have any experience or > suggestions on making a living (or a significant part of one) distributing > an open source package? > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > http://mail.python.org/mailman/listinfo/centraloh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From eric at intellovations.com Fri Feb 19 16:09:48 2010 From: eric at intellovations.com (Eric Floehr) Date: Fri, 19 Feb 2010 10:09:48 -0500 Subject: [CentralOH] Python 3.x In-Reply-To: <34f468871002190709u17886d1au45f467e3ec5fba30@mail.gmail.com> References: <03940B86-9228-4C2A-B4CB-4F0DA165B17D@microenh.com> <89d8b1b01002190659h7e37a50cr25792dc4cd0bc9e8@mail.gmail.com> <34f468871002190709u17886d1au45f467e3ec5fba30@mail.gmail.com> Message-ID: <34f468871002190709o350b4820l5d29add8a58bb0d0@mail.gmail.com> > > I work for a small ISV/VAR. We both resell and create server software. Most > of our customers who are running the Linux version of our stuff are on Red > Hat Enterprise 4 or 5. RHEL 5's latest official python is a 2.4.x version. > > Even the forthcoming Red Hat Enterprise Linux 6 will deploy with 2.6, as will Ubuntu Server 10.04 LTS. Both will be actively supported for at least the next 5 years. -Eric -------------- next part -------------- An HTML attachment was scrubbed... URL: From eric at intellovations.com Fri Feb 19 16:29:15 2010 From: eric at intellovations.com (Eric Floehr) Date: Fri, 19 Feb 2010 10:29:15 -0500 Subject: [CentralOH] Monday COhPy Meeting: In Conference Room A Message-ID: <34f468871002190729l483871e1n2f47e654b3e5b840@mail.gmail.com> All attending the COhPy meeting on Monday -- We have been bumped from the main auditorium at TechColumbus into Conference Room A. TechColumbus has a new event called "CareerTrack" which as you might expect in these economic times, has attracted a large number of folks. There were 50-100 people at the inaugural session. So our "little" group has moved into conference room A, which is to the left before you reach the main auditorium. I'll have arrows but you can find it by heading left either before or after the receptionists desk. The conference room is plenty big, but small enough that it should allow for easier interaction. See you there! The visualization talk by Pete should be a good one! Best Regards, Eric -------------- next part -------------- An HTML attachment was scrubbed... URL: From miles.groman at gmail.com Fri Feb 19 19:54:11 2010 From: miles.groman at gmail.com (m g) Date: Fri, 19 Feb 2010 13:54:11 -0500 Subject: [CentralOH] sqlite3 In-Reply-To: <3B8B8F8E-A79E-4C12-A9ED-0CF264F20CA4@microenh.com> References: <3B8B8F8E-A79E-4C12-A9ED-0CF264F20CA4@microenh.com> Message-ID: Sorry, I am not sure I follow exactly... Are you getting the primary key from the other system? And do you need to preserve that key? Why not autoincrement that ? http://www.sqlite.org/faq.html#q1 On Fri, Feb 19, 2010 at 9:21 AM, Mark Erbaugh wrote: > I'm having a performance issue with sqlite3. ?I have a Python program that reads in an file output from another system over which I have no control, parses the records in that file and inserts the data as rows into a sqlite table. ?The table has an INTEGER PRIMARY KEY field. ?The input files have150k to 300k records. ?When the records in input file are already in order by the primary key, the inserts are at least an order of magnitude faster. For example 10 seconds versus 200. > > If I remove the PRIMARY KEY constraint, the insert speed improves. However, there can be duplicate keys in the input data which need to be dealt with (either ignored or replace the previous row). > > The brute force solution would be to read the data into a list and sort the list before inserting it into sqlite, but I wonder if there is a sqlite setting I'm missing. > > Thanks, > Mark > > > > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > http://mail.python.org/mailman/listinfo/centraloh > From jshaffstall at gmail.com Tue Feb 23 14:48:27 2010 From: jshaffstall at gmail.com (Jay Shaffstall) Date: Tue, 23 Feb 2010 08:48:27 -0500 Subject: [CentralOH] Looking for App Engine developer Message-ID: <2fad9d0f1002230548x48802cc7iecbc68f2e41b6543@mail.gmail.com> Hi all, I run a game programming contest for teens, and have recently received a small amount of grant money for developing a website that could be used to run contests at multiple sites. The current content-only site is at http://gamesbyteens.org/ What I'd like is an App Engine based membership site that facilitates running the contests, and makes it easy for people to run their own. I can get more details to interested people, but I'm working on a tight time frame and wanted to see if there was anyone who had: a) already done membership based sites in App Engine, and b) had time to work on at least an initial version during March (my ambitious goal is to test the site in our April/May contest) If you think you could turn around something like this fairly quickly, let me know and we'll talk more. Note that I do not currently have access to the money, so you'd probably need to be flexible about payment (but it's coming from Google, so I think they're good for it). Jay From nick.albright at gmail.com Tue Feb 23 16:09:50 2010 From: nick.albright at gmail.com (Nick Albright) Date: Tue, 23 Feb 2010 10:09:50 -0500 Subject: [CentralOH] Thoughts on a slight Meeting format change? Message-ID: <7ec143011002230709vb0b29bdv672f22b6241b7055@mail.gmail.com> Hello Folks! So last night I thought Eric had a really good point about post meeting sessions not being good due to it being so late and already having been there for a couple of hours. Which got me thinking, what if we changed the format a bit, so that say like every other meeting, instead of a speaker, we just broke up into the groups and did the sessions during the normal meeting time? What do you think? -Nick -- Please note that as of 1/20 I no longer have a land phone line, only my cell. -------------- next part -------------- An HTML attachment was scrubbed... URL: From miles.groman at gmail.com Tue Feb 23 17:53:11 2010 From: miles.groman at gmail.com (m g) Date: Tue, 23 Feb 2010 11:53:11 -0500 Subject: [CentralOH] Thoughts on a slight Meeting format change? In-Reply-To: <7ec143011002230709vb0b29bdv672f22b6241b7055@mail.gmail.com> References: <7ec143011002230709vb0b29bdv672f22b6241b7055@mail.gmail.com> Message-ID: By groups, of course, I assume you mean the "Cohpy site" and "learning Python" groups? I noticed that the administration takes about ~30 minutes.. So the actual presentation doesn't start until around 7. I vote for a shorter, focused, presentation of 30 minutes, and then breaking out into the groups. Of course, there is no reason why people could not present on a topic relevant to a group, right? Offtopic ... Does a #cohpy exist? From miles.groman at gmail.com Tue Feb 23 18:51:58 2010 From: miles.groman at gmail.com (m g) Date: Tue, 23 Feb 2010 12:51:58 -0500 Subject: [CentralOH] Fwd: Thoughts on a slight Meeting format change? In-Reply-To: <50c31cc41002230925l4577bd32uf8bef21b1ab94c6e@mail.gmail.com> References: <7ec143011002230709vb0b29bdv672f22b6241b7055@mail.gmail.com> <50c31cc41002230925l4577bd32uf8bef21b1ab94c6e@mail.gmail.com> Message-ID: Heh... This is what I meant last night. I am pretty sure just about every reply I do to the mailing list, I accidentally e-mail the previous person first. ---------- Forwarded message ---------- From: Austin Godber Date: Tue, Feb 23, 2010 at 12:25 PM Subject: Re: [CentralOH] Thoughts on a slight Meeting format change? To: m g First off, thanks to last nights speaker for an interesting topic and it was nice to meet those of you who I actually met. As for the sessions I was unaware that there were post presentation sessions, no wonder we had so few takers for post presentation beer, which was good by the way. ?Brazenhead is a cool place. I had thought I might offer to do a "Python Thing (Module, Library, Function) of the Meeting" ?lightning presentation on a somewhat regular basis. ?Like a light version of PyMOTW, well, but admittedly not as good: http://www.doughellmann.com/PyMOTW/contents.html If this is the kind of thing people are interested in, I can just announce a week or so before a meeting what I might do and if I will can make it. Austin On Tue, Feb 23, 2010 at 11:53 AM, m g wrote: > By groups, of course, I assume you mean the "Cohpy site" and "learning > Python" groups? > > I noticed that the administration takes about ~30 minutes.. So the > actual presentation doesn't start until around 7. ?I vote for a > shorter, focused, presentation of 30 minutes, and then breaking out > into the groups. ?Of course, there is no reason why people could not > present on a topic relevant to a group, right? > > Offtopic ... Does a #cohpy exist? > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > http://mail.python.org/mailman/listinfo/centraloh > From miles.groman at gmail.com Tue Feb 23 18:54:10 2010 From: miles.groman at gmail.com (m g) Date: Tue, 23 Feb 2010 12:54:10 -0500 Subject: [CentralOH] Thoughts on a slight Meeting format change? In-Reply-To: References: <7ec143011002230709vb0b29bdv672f22b6241b7055@mail.gmail.com> <50c31cc41002230925l4577bd32uf8bef21b1ab94c6e@mail.gmail.com> Message-ID: > From: Austin Godber > Date: Tue, Feb 23, 2010 at 12:25 PM > Subject: Re: [CentralOH] Thoughts on a slight Meeting format change? > To: m g > > > First off, thanks to last nights speaker for an interesting topic and > it was nice to meet those of you who I actually met. > > As for the sessions I was unaware that there were post presentation > sessions, no wonder we had so few takers for post presentation beer, > which was good by the way. ?Brazenhead is a cool place. I would like to go there next meeting, unfortunately, I skipped dinner so I was pretty hungry. > > I had thought I might offer to do a "Python Thing (Module, Library, > Function) of the Meeting" ?lightning presentation on a somewhat > regular basis. ?Like a light version of PyMOTW, well, but admittedly > not as good: > http://www.doughellmann.com/PyMOTW/contents.html > If this is the kind of thing people are interested in, I can just > announce a week or so before a meeting what I might do and if I will > can make it. I think this has been brought up before, but no one has ever acted on it. From eric at intellovations.com Tue Feb 23 19:26:39 2010 From: eric at intellovations.com (Eric Floehr) Date: Tue, 23 Feb 2010 13:26:39 -0500 Subject: [CentralOH] Fwd: Thoughts on a slight Meeting format change? In-Reply-To: References: <7ec143011002230709vb0b29bdv672f22b6241b7055@mail.gmail.com> <50c31cc41002230925l4577bd32uf8bef21b1ab94c6e@mail.gmail.com> Message-ID: <34f468871002231026q364373d1s58380c03ca448f25@mail.gmail.com> I often do the same thing... So I was set to change the list to change the "Reply-To" to the list, but when I when I went to do it, here is the text on that option: "Where are replies to list messages directed? Poster is *strongly* recommended for most mailing lists." When clicked on "more detail", there were lots of warnings about why it's a bad idea to change reply-to to the list address, including a link to this: http://www.unicom.com/pw/reply-to-harmful.html The point being that "Reply" should always mean "Reply to the author/poster", and "Reply all" or "Reply group" should mean reply to all concerned. Interestingly, both you, I, and Austin use a gmail interface which makes the "Reply" button prominent, but not "Reply All". I wonder if the issue is really a gmail usability issue. Anyway, don't want to make a mountain out of a molehill, but the admonition on the admin interface to change the reply-to was strong enough that it gave me pause enough to post it here. -Eric On Tue, Feb 23, 2010 at 12:51 PM, m g wrote: > Heh... This is what I meant last night. I am pretty sure just about > every reply I do to the mailing list, I accidentally e-mail the > previous person first. > > > ---------- Forwarded message ---------- > From: Austin Godber > Date: Tue, Feb 23, 2010 at 12:25 PM > Subject: Re: [CentralOH] Thoughts on a slight Meeting format change? > To: m g > > > First off, thanks to last nights speaker for an interesting topic and > it was nice to meet those of you who I actually met. > > As for the sessions I was unaware that there were post presentation > sessions, no wonder we had so few takers for post presentation beer, > which was good by the way. Brazenhead is a cool place. > > I had thought I might offer to do a "Python Thing (Module, Library, > Function) of the Meeting" lightning presentation on a somewhat > regular basis. Like a light version of PyMOTW, well, but admittedly > not as good: > http://www.doughellmann.com/PyMOTW/contents.html > If this is the kind of thing people are interested in, I can just > announce a week or so before a meeting what I might do and if I will > can make it. > > Austin > > On Tue, Feb 23, 2010 at 11:53 AM, m g wrote: > > By groups, of course, I assume you mean the "Cohpy site" and "learning > > Python" groups? > > > > I noticed that the administration takes about ~30 minutes.. So the > > actual presentation doesn't start until around 7. I vote for a > > shorter, focused, presentation of 30 minutes, and then breaking out > > into the groups. Of course, there is no reason why people could not > > present on a topic relevant to a group, right? > > > > Offtopic ... Does a #cohpy exist? > > _______________________________________________ > > 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 nick.albright at gmail.com Tue Feb 23 19:41:05 2010 From: nick.albright at gmail.com (Nick Albright) Date: Tue, 23 Feb 2010 13:41:05 -0500 Subject: [CentralOH] Reply to List or Author? Message-ID: <7ec143011002231041j51d32008k8b811a516ac2a5dd@mail.gmail.com> I vote for reply to the list! I find that to be more intuitive/what I'd expect. = ) -Nick On Tue, Feb 23, 2010 at 1:26 PM, Eric Floehr wrote: > I often do the same thing... > > So I was set to change the list to change the "Reply-To" to the list, but > when I when I went to do it, here is the text on that option: "Where are > replies to list messages directed? Poster is *strongly* recommended for > most mailing lists." > > When clicked on "more detail", there were lots of warnings about why it's a > bad idea to change reply-to to the list address, including a link to this: > http://www.unicom.com/pw/reply-to-harmful.html > > The point being that "Reply" should always mean "Reply to the > author/poster", and "Reply all" or "Reply group" should mean reply to all > concerned. > > Interestingly, both you, I, and Austin use a gmail interface which makes > the "Reply" button prominent, but not "Reply All". I wonder if the issue is > really a gmail usability issue. > > Anyway, don't want to make a mountain out of a molehill, but the admonition > on the admin interface to change the reply-to was strong enough that it gave > me pause enough to post it here. > > -Eric > > > > > On Tue, Feb 23, 2010 at 12:51 PM, m g wrote: > >> Heh... This is what I meant last night. I am pretty sure just about >> every reply I do to the mailing list, I accidentally e-mail the >> previous person first. >> >> >> ---------- Forwarded message ---------- >> From: Austin Godber >> Date: Tue, Feb 23, 2010 at 12:25 PM >> Subject: Re: [CentralOH] Thoughts on a slight Meeting format change? >> To: m g >> >> >> First off, thanks to last nights speaker for an interesting topic and >> it was nice to meet those of you who I actually met. >> >> As for the sessions I was unaware that there were post presentation >> sessions, no wonder we had so few takers for post presentation beer, >> which was good by the way. Brazenhead is a cool place. >> >> I had thought I might offer to do a "Python Thing (Module, Library, >> Function) of the Meeting" lightning presentation on a somewhat >> regular basis. Like a light version of PyMOTW, well, but admittedly >> not as good: >> http://www.doughellmann.com/PyMOTW/contents.html >> If this is the kind of thing people are interested in, I can just >> announce a week or so before a meeting what I might do and if I will >> can make it. >> >> Austin >> >> On Tue, Feb 23, 2010 at 11:53 AM, m g wrote: >> > By groups, of course, I assume you mean the "Cohpy site" and "learning >> > Python" groups? >> > >> > I noticed that the administration takes about ~30 minutes.. So the >> > actual presentation doesn't start until around 7. I vote for a >> > shorter, focused, presentation of 30 minutes, and then breaking out >> > into the groups. Of course, there is no reason why people could not >> > present on a topic relevant to a group, right? >> > >> > Offtopic ... Does a #cohpy exist? >> > _______________________________________________ >> > 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 >> > > > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > http://mail.python.org/mailman/listinfo/centraloh > > -- Please note that as of 1/20 I no longer have a land phone line, only my cell. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jonebird at gmail.com Tue Feb 23 19:50:13 2010 From: jonebird at gmail.com (Jon Miller) Date: Tue, 23 Feb 2010 13:50:13 -0500 Subject: [CentralOH] Reply to List or Author? In-Reply-To: <7ec143011002231041j51d32008k8b811a516ac2a5dd@mail.gmail.com> References: <7ec143011002231041j51d32008k8b811a516ac2a5dd@mail.gmail.com> Message-ID: <589a24261002231050ga76e5farde3ef128a980858c@mail.gmail.com> I'm indifferent. I know to hit 'a' for reply-all within gmail. ;-) -- Jon On Tue, Feb 23, 2010 at 1:41 PM, Nick Albright wrote: > I vote for reply to the list! ?I find that to be more?intuitive/what I'd > expect. ?= ) > ?-Nick > > On Tue, Feb 23, 2010 at 1:26 PM, Eric Floehr > wrote: >> >> I often do the same thing... >> >> So I was set to change the list to change the "Reply-To" to the list, but >> when I when I went to do it, here is the text on that option: "Where are >> replies to list messages directed? Poster is strongly recommended for most >> mailing lists." >> >> When clicked on "more detail", there were lots of warnings about why it's >> a bad idea to change reply-to to the list address, including a link to this: >> http://www.unicom.com/pw/reply-to-harmful.html >> >> The point being that "Reply" should always mean "Reply to the >> author/poster", and "Reply all" or "Reply group" should mean reply to all >> concerned. >> >> Interestingly, both you, I, and Austin use a gmail interface which makes >> the "Reply" button prominent, but not "Reply All".? I wonder if the issue is >> really a gmail usability issue. >> >> Anyway, don't want to make a mountain out of a molehill, but the >> admonition on the admin interface to change the reply-to was strong enough >> that it gave me pause enough to post it here. >> >> -Eric >> >> >> >> On Tue, Feb 23, 2010 at 12:51 PM, m g wrote: >>> >>> Heh... This is what I meant last night. ?I am pretty sure just about >>> every reply I do to the mailing list, I accidentally e-mail the >>> previous person first. >>> >>> >>> ---------- Forwarded message ---------- >>> From: Austin Godber >>> Date: Tue, Feb 23, 2010 at 12:25 PM >>> Subject: Re: [CentralOH] Thoughts on a slight Meeting format change? >>> To: m g >>> >>> >>> First off, thanks to last nights speaker for an interesting topic and >>> it was nice to meet those of you who I actually met. >>> >>> As for the sessions I was unaware that there were post presentation >>> sessions, no wonder we had so few takers for post presentation beer, >>> which was good by the way. ?Brazenhead is a cool place. >>> >>> I had thought I might offer to do a "Python Thing (Module, Library, >>> Function) of the Meeting" ?lightning presentation on a somewhat >>> regular basis. ?Like a light version of PyMOTW, well, but admittedly >>> not as good: >>> http://www.doughellmann.com/PyMOTW/contents.html >>> If this is the kind of thing people are interested in, I can just >>> announce a week or so before a meeting what I might do and if I will >>> can make it. >>> >>> Austin >>> >>> On Tue, Feb 23, 2010 at 11:53 AM, m g wrote: >>> > By groups, of course, I assume you mean the "Cohpy site" and "learning >>> > Python" groups? >>> > >>> > I noticed that the administration takes about ~30 minutes.. So the >>> > actual presentation doesn't start until around 7. ?I vote for a >>> > shorter, focused, presentation of 30 minutes, and then breaking out >>> > into the groups. ?Of course, there is no reason why people could not >>> > present on a topic relevant to a group, right? >>> > >>> > Offtopic ... Does a #cohpy exist? >>> > _______________________________________________ >>> > 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 >> >> >> _______________________________________________ >> CentralOH mailing list >> CentralOH at python.org >> http://mail.python.org/mailman/listinfo/centraloh >> > > > > -- > Please note that as of 1/20 I no longer have a land phone line, only my > cell. > > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > http://mail.python.org/mailman/listinfo/centraloh > > From godber at gmail.com Tue Feb 23 21:19:27 2010 From: godber at gmail.com (Austin Godber) Date: Tue, 23 Feb 2010 15:19:27 -0500 Subject: [CentralOH] Fwd: Thoughts on a slight Meeting format change? In-Reply-To: <50c31cc41002230925l4577bd32uf8bef21b1ab94c6e@mail.gmail.com> References: <7ec143011002230709vb0b29bdv672f22b6241b7055@mail.gmail.com> <50c31cc41002230925l4577bd32uf8bef21b1ab94c6e@mail.gmail.com> Message-ID: <50c31cc41002231219h34fb7f2fw3c841bb00a9c0f85@mail.gmail.com> I meant to send this to the list ... I can train myself to reply all, but its not what I expect from a mailing list. Austin ---------- Forwarded message ---------- From: Austin Godber Date: Tue, Feb 23, 2010 at 12:25 PM Subject: Re: [CentralOH] Thoughts on a slight Meeting format change? To: m g First off, thanks to last nights speaker for an interesting topic and it was nice to meet those of you who I actually met. As for the sessions I was unaware that there were post presentation sessions, no wonder we had so few takers for post presentation beer, which was good by the way. ?Brazenhead is a cool place. I had thought I might offer to do a "Python Thing (Module, Library, Function) of the Meeting" ?lightning presentation on a somewhat regular basis. ?Like a light version of PyMOTW, well, but admittedly not as good: http://www.doughellmann.com/PyMOTW/contents.html If this is the kind of thing people are interested in, I can just announce a week or so before a meeting what I might do and if I will can make it. Austin On Tue, Feb 23, 2010 at 11:53 AM, m g wrote: > By groups, of course, I assume you mean the "Cohpy site" and "learning > Python" groups? > > I noticed that the administration takes about ~30 minutes.. So the > actual presentation doesn't start until around 7. ?I vote for a > shorter, focused, presentation of 30 minutes, and then breaking out > into the groups. ?Of course, there is no reason why people could not > present on a topic relevant to a group, right? > > Offtopic ... Does a #cohpy exist? > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > http://mail.python.org/mailman/listinfo/centraloh > From miles.groman at gmail.com Tue Feb 23 22:33:28 2010 From: miles.groman at gmail.com (m g) Date: Tue, 23 Feb 2010 16:33:28 -0500 Subject: [CentralOH] Reply to List or Author? In-Reply-To: <589a24261002231050ga76e5farde3ef128a980858c@mail.gmail.com> References: <7ec143011002231041j51d32008k8b811a516ac2a5dd@mail.gmail.com> <589a24261002231050ga76e5farde3ef128a980858c@mail.gmail.com> Message-ID: I have not ever administered a mailing list, and I was unsure if this was a Gmail-specific issue (this is my "mailing-list" email address). Either way, I am double checking from now on that I hit "Reply to all", however, users that frequent the ML less might not be used to it. From yanovich at cse.ohio-state.edu Wed Feb 24 00:04:37 2010 From: yanovich at cse.ohio-state.edu (Michael S. Yanovich) Date: Tue, 23 Feb 2010 18:04:37 -0500 Subject: [CentralOH] Reply to List or Author? In-Reply-To: References: <7ec143011002231041j51d32008k8b811a516ac2a5dd@mail.gmail.com> <589a24261002231050ga76e5farde3ef128a980858c@mail.gmail.com> Message-ID: <4B845F05.8080202@cse.ohio-state.edu> I always use "reply list." Even if the information I provide is minimal that way I may help someone else in the process of sharing information on mailing lists. Plus Thunderbird makes this easy. On 02/23/2010 04:33 PM, m g wrote: > I have not ever administered a mailing list, and I was unsure if this > was a Gmail-specific issue (this is my "mailing-list" email address). > Either way, I am double checking from now on that I hit "Reply to > all", however, users that frequent the ML less might not be used to > it. > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > http://mail.python.org/mailman/listinfo/centraloh > -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 5162 bytes Desc: S/MIME Cryptographic Signature URL: From eric at intellovations.com Wed Feb 24 12:45:46 2010 From: eric at intellovations.com (Eric Floehr) Date: Wed, 24 Feb 2010 06:45:46 -0500 Subject: [CentralOH] Tired of Old Man Python telling you what you can and can't say to your computer? Message-ID: <34f468871002240345h7280c13bxe1679d905d26f7fd@mail.gmail.com> Tired of Old Man Python telling you what you can and can't say to your computer? http://www.staringispolite.com/likepython/ It's about time programming languages understood what the kids are typing these days. So let's start with a baby step in that direction: Like, Python. EXAMPLE Like, Python uses Python's own tokenizer to essentially add keywords to Python's lexical understanding. Python is a subset of Like, Python, so any script you've already written in Python is valid Like, Python and will run in the interpreter. But you can also write like you'd speak. For example, the following is a fully-functional "hello world" script, included in the download as hello_world.lp: #!usr/bin/python # My first Like, Python script! yo just print like "hello world" bro ....more at the link, including like the download dude... -Eric From miles.groman at gmail.com Wed Feb 24 15:15:08 2010 From: miles.groman at gmail.com (m g) Date: Wed, 24 Feb 2010 09:15:08 -0500 Subject: [CentralOH] Tired of Old Man Python telling you what you can and can't say to your computer? In-Reply-To: <34f468871002240345h7280c13bxe1679d905d26f7fd@mail.gmail.com> References: <34f468871002240345h7280c13bxe1679d905d26f7fd@mail.gmail.com> Message-ID: Not sure if saying there is a .zip and then providing a .tgz is part of the joke. That is pretty hilarious though, I'm going to check it out when I get home. From josh at globalherald.net Wed Feb 24 19:04:18 2010 From: josh at globalherald.net (Joshua Kramer) Date: Wed, 24 Feb 2010 13:04:18 -0500 (EST) Subject: [CentralOH] Tired of Old Man Python telling you what you can and can't say to your computer? In-Reply-To: <34f468871002240345h7280c13bxe1679d905d26f7fd@mail.gmail.com> References: <34f468871002240345h7280c13bxe1679d905d26f7fd@mail.gmail.com> Message-ID: Ok, so if you're going to all the effort, why not just design a whole new language? http://lolcode.com/ HAI CAN HAS STDIO? VISIBLE "HAI WORLD!" KTHXBYE CAN HAS SQL? DBASE IZ GETDB('db/lcsn.db') FUNNAHS IZ DBUCKET(&DBASE&,"CAN I PLZ GET * ALL UP IN lollit") IM IN UR FUNNAHS ITZA TITLE VOTEZ IZ &TITLE#ups& - &TITLE#downs& From godber at gmail.com Fri Feb 26 13:09:24 2010 From: godber at gmail.com (Austin Godber) Date: Fri, 26 Feb 2010 07:09:24 -0500 Subject: [CentralOH] Django or Pylons in GAE Message-ID: <50c31cc41002260409x1a41868av283f3b4c13a79b3e@mail.gmail.com> Anyone have much experience with putting Django or Pylons in Google App Engine? I noticed the Cohpy site claims to be Django in GAE. I have seen tutorials and patches for both Django and Pylons but the fact that support lies outside the official projects causes me some concern. I am way outside both of these communities and I guess I am wondering whether either community is embracing GAE more and more likely to make decisions that improve compatibilty rather than break it. I would hate to start a project using one framework and then have the patch I am depending on disappear or fall hopelessly behind. Austin -------------- next part -------------- An HTML attachment was scrubbed... URL: From wam at cisco.com Fri Feb 26 16:13:03 2010 From: wam at cisco.com (William McVey) Date: Fri, 26 Feb 2010 10:13:03 -0500 Subject: [CentralOH] Django or Pylons in GAE In-Reply-To: <50c31cc41002260409x1a41868av283f3b4c13a79b3e@mail.gmail.com> References: <50c31cc41002260409x1a41868av283f3b4c13a79b3e@mail.gmail.com> Message-ID: <1267197183.3539.319.camel@talyn.cisco.com> On Fri, 2010-02-26 at 07:09 -0500, Austin Godber wrote: > I would hate to start a project using one framework and then have the > patch I am depending on disappear or fall hopelessly behind. > I'm not going to touch the django vs. pylons troll-bait, but I can tell you that I was the app-engine open space at PyCon and the future of Django on GAE seems to be django-nonrel. The google guy leading the open space (head of developer relations for app-engine product) had good things to say about it. More details are at: http://www.allbuttonspressed.com/projects/django-nonrel http://www.allbuttonspressed.com/projects/djangoappengine http://www.allbuttonspressed.com/blog/django The old patch directly against Django seems like it still would work (obviously), but isn't where the future lies. -- William P.S. I don't know anything about gae and pylon integration. From nick.albright at gmail.com Fri Feb 26 17:02:57 2010 From: nick.albright at gmail.com (Nick Albright) Date: Fri, 26 Feb 2010 11:02:57 -0500 Subject: [CentralOH] Django or Pylons in GAE In-Reply-To: <50c31cc41002260409x1a41868av283f3b4c13a79b3e@mail.gmail.com> References: <50c31cc41002260409x1a41868av283f3b4c13a79b3e@mail.gmail.com> Message-ID: <7ec143011002260802p5746f337ncb8e88f019126e7a@mail.gmail.com> Hello Austin! Yeah, I got the COhPy site running on GAE, so have just enough experience to be dangerous. ;) Pretty much I believe that Django is natively supported in GAE, but it is currently .96. It is actualy relatively easy to use a more recent version of django, which we have done for the COhPy site. (On Django 1.1 I think?) I just included the django source I want used and uploaded that as part of the GAE project! You can see the source for the COhPy site at: http://bitbucket.org/cohpy/cohpy/src/ Documented how you can play around with it locally at: http://bitbucket.org/cohpy/cohpy/wiki/Home There are some differences when running Django on GAE in that you don't use the Django models, but rather GAE's model backend. Kinda touched on that here: http://bitbucket.org/cohpy/cohpy/wiki/Framework_References We've stayed away from any patches, and are just running a pure Django/GAE setup. To answer your Q, Django seems to be decently supported! :) -Nick On Fri, Feb 26, 2010 at 7:09 AM, Austin Godber wrote: > Anyone have much experience with putting Django or Pylons in Google App > Engine? I noticed the Cohpy site claims to be Django in GAE. I have seen > tutorials and patches for both Django and Pylons but the fact that support > lies outside the official projects causes me some concern. I am way outside > both of these communities and I guess I am wondering whether either > community is embracing GAE more and more likely to make decisions that > improve compatibilty rather than break it. > > I would hate to start a project using one framework and then have the patch > I am depending on disappear or fall hopelessly behind. > > Austin > > _______________________________________________ > CentralOH mailing list > CentralOH at python.org > http://mail.python.org/mailman/listinfo/centraloh > > -- Please note that as of 1/20 I no longer have a land phone line, only my cell. -------------- next part -------------- An HTML attachment was scrubbed... URL: From nick.albright at gmail.com Fri Feb 26 22:48:42 2010 From: nick.albright at gmail.com (Nick Albright) Date: Fri, 26 Feb 2010 16:48:42 -0500 Subject: [CentralOH] Website Offsite Hack-a-thon! = ) Message-ID: <7ec143011002261348s31576d1cw8b4801bf20440575@mail.gmail.com> Heya Folks! So we've decided on a date and time and place for the Website Offsite Hack-a-thon! (aka, session :) You can join us this Sunday, Feb 28th, at 1 PM at Panera Bread on 4519 N High St., Columbus, Ohio. It's about half way between Worthington and downtown Columbus. Bring yourself, a laptop, and a desire to have fun/learn to modify website! If you have any Qs, please let me know! -Nick -- -------------- next part -------------- An HTML attachment was scrubbed... URL: