Here some of my thougts on this subject: I think that this question adresses only a tiny aspect of a much more general problem the entire human race has in any area. Reinventing the wheel begins when the grandpa starts to teach his grandchild remembering well that he has done it already many times before to own children.
As any of us takes the chance to be somehow different and writing program code does need much understanding how and why something works, it is very probably, that what is there is hard to understand (Python as a programming language is not really an exception here). There is not much around of so universal value, that it can be taken any time by anyone. When I am coming myself back to what I have created in the past I often see what trash I have produced. The unique discoveries of the kind "wow! today I would do it the same way or even less smart not given enough time" don't change the general picture. So the question is here, where are the tools making it possible to find a piece of code solving a problem when the problem is formulated only using natural language? I am finding myself reinventing the wheel all the time only because I am not able to find appropriate pieces of code in the collection I have put together (am I alone here? bad memory? lack of proper filing system?). It seems, that posting to a newsgroup is usually the best choice, but even this needs much work in advance before it is possible to communicate what the problem is, that one has. In case of the OpenCV interface to Python even that seem not to help ... (I am pretty sure there is someone out there who would be able to put me in the right direction). Are there any tools in Python based on associations looking for specific types of code? Something similar to http://www.qknow.com , but addressed towards specific needs of a programmer looking for code snippets? (not a kind of search engine or system of folders with cross links, but a system able to find a chain of snippets required to solve a problem). To name a simplest example: What should I do to find a piece of code taking an integer and giving a string with binary form of a number? How to put some available pieces of code together if the binary form is needed and the integer is provided as a string holding its hexadecimal form? What if the string is the binary representation of the integer value as internally stored in memory? What if I would like the binary form to be splitted in nibbles separated with one space and bytes with two spaces? How can I avoid to reinvent the wheel, when I don't have the tools to find what I am looking for? Saying it in words of the Beatles song: "Help me if you can, I'm feeling down. And I do appreciate you being round. Help me, get my feet back on the ground, Won't you please, please help me, help me, help me, oh. " Claudio "Stefano Masini" <[EMAIL PROTECTED]> schrieb im Newsbeitrag news:[EMAIL PROTECTED] On 8 Sep 2005 08:24:50 -0700, Fuzzyman <[EMAIL PROTECTED]> wrote: > What is pythonutils ? > ===================== > ConfigObj - simple config file handling > validate - validation and type conversion system > listquote - string to list conversion > StandOut - simple logging and output control object > pathutils - for working with paths and files > cgiutils - cgi helpers > urlpath - functions for handling URLs > odict - Ordered Dictionary Class Fuzzyman, your post reminded me of something I can't stop thinking about. Please don't take this as a critique on your work. I place myself on the same side of yours. I just wanted to share this thought with everybody had an opinion about it. I wonder how many people (including myself) have implemented their own versions of such modules, at least once in their pythonic life. I indeed have my own odict (even same name! :). My own pathutils (different name, but same stuff). My own validate... and so forth. This is just too bad. There are a few ares where everybody seems to be implementing their own stuff over and over: logging, file handling, ordered dictionaries, data serialization, and maybe a few more. I don't know what's the ultimate problem, but I think there are 3 main reasons: 1) poor communication inside the community (mhm... arguable) 2) lack of a rich standard library (I heard this more than once) 3) python is such an easy language that the "I'll do it myself" evil side lying hidden inside each one of us comes up a little too often, and prevents from spending more time on research of what's available. It seems to me that this tendency is hurting python, and I wonder if there is something that could be done about it. I once followed a discussion about placing one of the available third party modules for file handling inside the standard library. I can't remember its name right now, but the discussion quickly became hot with considerations about the module not being "right" enough to fit the standard library. The points were right, but in some sense it's a pity because by being in the stdlib it could have had a lot more visibility and maybe people would have stopped writing their own, and would have begun using it. Then maybe, if it was not perfect, people would have begun improving it, and by now we would have a solid feature available to everybody. mhm... could it be a good idea to have two versions of the stdlib? One stable, and one testing, where stuff could be thrown in without being too picky, in order to let the community decide and improve? Again, Fuzzyman, your post was just the excuse to get me started. I understand and respect your work, also because you put the remarkable effort to make it publicly available. That's my two cents, stefano -- http://mail.python.org/mailman/listinfo/python-list