From r1chardj0n3s at gmail.com Mon Aug 10 05:55:54 2009 From: r1chardj0n3s at gmail.com (Richard Jones) Date: Mon, 10 Aug 2009 13:55:54 +1000 Subject: [melbourne-pug] Reminder: Next meeting: Tuesday 11th August Message-ID: That's TOMORROW NIGHT! The next meeting of the Melbourne Python Users Group will be on Tuesday the 11th of August starting at 6:30pm. We'll have use of their projector and time for several short presentations or lightning talks. Meeting details, location and talks list are at: http://wiki.python.org/moin/MelbournePUG 15 minute talks * Martin Schweitzer "Primetime Wordfinding"... It's a rather novel algorithm that I (re)discovered(?)* for finding word matches when given a group of letters (eg. think of the puzzle in the age where you have a grid with 9 letters and have to find words). I then noticed that it had applications to other fields such as bioinformatics (which I won't go into in the talk [unless, of course, there is a particular interest]). It also has a very nice representation in Python - which I will mention. * Richard Jones ... a new cool thing I'm working on 5 minute lightning talks * Chris Miles "Intro to PSI (Python System Information)" If you've seen something cool or are doing something cool then we'd like you to tell everyone about it! Presentations could be 5 minutes or up to 15 minutes if you'd like to ramble for a bit longer. I'll be getting up to talk a bit about my experiences playing with IronPython - what's cool and what's downright odd :) If you've got an idea for a talk just add it to the wiki page. Richard From r1chardj0n3s at gmail.com Tue Aug 11 14:00:41 2009 From: r1chardj0n3s at gmail.com (Richard Jones) Date: Tue, 11 Aug 2009 22:00:41 +1000 Subject: [melbourne-pug] Martin's "cocoa" in "chocolate" slides Message-ID: Here's the slides from Martin's presentation. Thanks to everyone who came along, and especially Martin and Chris for their presentations. Also everyone who asked questions and poked holes in my withgui presentation - very much appreciated! See you again next month! Richard -------------- next part -------------- A non-text attachment was scrubbed... Name: elegant_string.pdf Type: application/pdf Size: 858211 bytes Desc: not available URL: From r1chardj0n3s at gmail.com Wed Aug 12 02:12:06 2009 From: r1chardj0n3s at gmail.com (Richard Jones) Date: Wed, 12 Aug 2009 10:12:06 +1000 Subject: [melbourne-pug] Melbourne Bar Camp in September Message-ID: <4C3F1D99-ED18-40DD-A4B1-6103CCA078E0@gmail.com> The next Melbourne Bar Camp is coming up in September (12th-13th - for those who care it's the weekend *before* school holidays start ;) ) http://barcampmelbourne.org/ "BarCampMelbourne is an open, participatory, not for profit event run for technically minded people." This could be a good opportunity for people who can't make it to the Tuesday night MPUG meetings or the NZ PyCon. I'm going :) Richard From miked at dewhirst.com.au Wed Aug 12 02:02:31 2009 From: miked at dewhirst.com.au (Mike Dewhirst) Date: Wed, 12 Aug 2009 10:02:31 +1000 Subject: [melbourne-pug] Martin's "cocoa" in "chocolate" slides In-Reply-To: References: Message-ID: <4A820697.2060103@dewhirst.com.au> Great night - I think Martin has discovered a new truth - chocolate mod cocoa is zero! Cheers Mike Richard Jones wrote: > Here's the slides from Martin's presentation. > > Thanks to everyone who came along, and especially Martin and Chris for > their presentations. Also everyone who asked questions and poked holes > in my withgui presentation - very much appreciated! > > See you again next month! > > > > Richard > > > ------------------------------------------------------------------------ > > _______________________________________________ > melbourne-pug mailing list > melbourne-pug at python.org > http://mail.python.org/mailman/listinfo/melbourne-pug From miles.chris at gmail.com Wed Aug 12 04:43:58 2009 From: miles.chris at gmail.com (Chris Miles) Date: Wed, 12 Aug 2009 12:43:58 +1000 Subject: [melbourne-pug] PSI Lightning Talk Message-ID: <5A5EDCC0-694F-4E3B-9960-3B42308F98BA@gmail.com> Great meetup last night, it was good to meet you guys and put faces to names. The slides for my lightning talk about PSI are available for anyone interested. http://bitbucket.org/chrismiles/psi/wiki/Presentations#melbournepug-2009-lightning-talk or http://bit.ly/66s1X You can get PSI from http://bitbucket.org/chrismiles/psi/or http://pypi.python.org/pypi/PSI Cheers, Chris http://chrismiles.info/ From miles.chris at gmail.com Wed Aug 12 04:52:54 2009 From: miles.chris at gmail.com (Chris Miles) Date: Wed, 12 Aug 2009 12:52:54 +1000 Subject: [melbourne-pug] PSI Lightning Talk In-Reply-To: <5A5EDCC0-694F-4E3B-9960-3B42308F98BA@gmail.com> References: <5A5EDCC0-694F-4E3B-9960-3B42308F98BA@gmail.com> Message-ID: On 12/08/2009, at 12:43 PM, Chris Miles wrote: > You can get PSI from http://bitbucket.org/chrismiles/psi/or http://pypi.python.org/pypi/PSI Obviously that should be: You can get PSI from http://bitbucket.org/chrismiles/psi/ or http://pypi.python.org/pypi/PSI Cheers Chris From r1chardj0n3s at gmail.com Wed Aug 12 05:18:38 2009 From: r1chardj0n3s at gmail.com (Richard Jones) Date: Wed, 12 Aug 2009 13:18:38 +1000 Subject: [melbourne-pug] withgui slides Message-ID: Just teasing. I'm not going to put up my "slides" because: 1. there's videos embedded, and 2. I'm blogging the same information (tho the presentation last night had more than I've currently blogged). If you read Planet Python (and if not why not? :) ) then you've seen my posts. Otherwise head over to http://www.mechanicalcat.net/richard/log/ Richard From chrisjrn at gmail.com Thu Aug 13 09:35:09 2009 From: chrisjrn at gmail.com (Chris Neugebauer) Date: Thu, 13 Aug 2009 17:35:09 +1000 Subject: [melbourne-pug] [CFP] LCA2010 Open Programming Languages Miniconf Message-ID: <70d969600908130035t416abfe4v29a904f4595e6d15@mail.gmail.com> Hi! Apologies if you've already seen this on other lists; I (along with Jacinta Richardson of Perl fame, and others) am running the Open Programming Languages Miniconf as part of Linux.conf.au 2010 in Wellington next year. Our CFP is now open, so if you're planning on going to LCA next year and have something Pythonic to talk about, we'd love to hear from you! --Chris *** The LCA2010 Open Programming Languages Miniconf, to be held at Linux.conf.au 2010 in Wellington, New Zealand in January 2010 (either on Monday 18th or Tuesday 19th January), invites presentations about all programming languages with an Open Source implementation, such as Perl, Python, C, PHP and Ruby, amongst others. Topics may include recent developments in open programming languages, interface design, portability and packaging, coding applications with cool new libraries and frameworks, and showing off the use of novel programming techniques; presentations may be proposed in a standard (25-minute) or long (45-minute) talk format. Whilst most talks will be specific to a single language, the focus of this miniconf will be on sharing techniques, best practices and values amongst programmers of all open programming languages. (The canonical version of this document can always be found at http://blogs.tucs.org.au/oplm/cfp/ ) == IMPORTANT DATES == * Wednesday, August 12, 2009: CFP Opens at http://blogs.tucs.org.au/oplm/cfp/submit * Friday, September 25: CFP Closes * Saturday, September 26-Thursday, October 1: Notification of successful presenters * Friday, October 2: Final programme submitted to LCA2010 organisers * January 18, 2010: Linux.conf.au 2010 Begins The timeline for the CFP is extremely tight by requirement of the LCA2010 organisers, so no time extensions will be granted. == SHOULD I PRESENT? == The LCA2010 Open Programming Languages Miniconf invites presentations on topics of interest to application developers. All presentations must focus on developing (and developing with) software that is available under an OSI-approved source licence. If you have an idea for a presentation and you aren?t sure if it?s suitable, send an e-mail to the miniconf organisers and we?ll be glad to help you out. === For OSDC Presenters === Although this mini-conference may appear similar in scope to the much bigger Open Source Developers? Conference (OSDC), it is intended to be complementary rather than competitive. If you have made a presentation at OSDC recently, please consider proposing different material to this miniconf; this will help to ensure a unique set of talks, encouraging OSDC regulars, as well as the broader developer community to attend linux.conf.au. == PRESENTATION TYPES == The Open Programming Languages Miniconf invites presentations of one of two formats: * Standard-length (20-25 minutes including questions) * Long (40-45 minutes including questions). We intend for standard-length presentation to make up the vast majority of our presentations. If you plan on submitting a proposal for a long presentation, a willingness to present a standard-length presentation will impact positively on your proposal. == SUBMITTING YOUR PROPOSAL == To submit your proposal, we?ll need the following information: * Details about yourself including your name, contact details and a short biography. * Your proposal title (suitable for printing in the Linux.conf.au Programme) * An abstract (suitable for publication on the Miniconf website) * Your preferred presentation format, either standard or long and whether you are open to the other presentation format. To submit a proposal, fill in the form at http://blogs.tucs.org.au/oplm/cfp/submit == IMPORTANT == If you?re considering submitting a proposal for a presentation to the miniconf, you should keep the following in mind: * You may only present at the miniconf on the basis that you grant permission to licence a video recording of your talk (and optionally your slides) under a Creative Commons Attribution Share-Alike (CC-BY-SA) licence. * Presenters at LCA Miniconfs (including ours) will not be offered free registration to the main conference; to present, you must be registered as a delegate to the Linux.conf.au 2010. It is possible for the miniconf organisers to arrange a free ?miniconf-only? ticket for presenters who are unavailable for the remainder of the conference. * The LCA2010 organisers will not extend any benefits provided to conference speakers to miniconf speakers. * The organisers of the miniconf cannot assist with travel or accommodation funding for speakers. == ABOUT THE MINICONF == The Linux.conf.au Open Programming Languages Miniconf is a single-day mini-conference about application development with Open Source programming languages. Featuring talks on a wide range of topics and programming languages, this miniconf aims to bring together open source developers with presentations that share techniques, best practices and values amongst programmers of all open programming languages. OPLM2010 will be held at Linux.conf.au 2010, in Wellington, New Zealand on January 18 or 19. OPLM2010 is being organised by Christopher Neugebauer and Jacinta Richardson with help from the broader community. You can contact the OPLM2010 organising team at oplm2010 at googlegroups.com or visit the website at http://blogs.tucs.org.au/oplm From schweitzer.ubiquitous at gmail.com Mon Aug 17 04:14:36 2009 From: schweitzer.ubiquitous at gmail.com (martin schweitzer) Date: Mon, 17 Aug 2009 12:14:36 +1000 Subject: [melbourne-pug] Fun with phononyms Message-ID: I hope this is not an abuse of this mailing list - and hopefully it will encourage the discussion and use of Python :-) A workmate asked me the other day what name I would give to two words that come up from the same numbers using predictive text on a mobile phone. Eg. if you type 4,6,6,3 it comes up as either HOME or GOOD. He came up with the word 'Nokianym' and someone else came up with Phononym. A quick google search revealed that phononym is already well known (eg. http://ask.metafilter.com/29392/What-are-words-spelt-the-same-on-phone-keypads-called ). Anyway, I wrote a quick program to find all phononyms in a dictionary. It was a first attempt and I am sure it can be done more elegantly - but I thought I would post my program here and people may be interested in posting improvements... Regards, Martin #!/opt/local/bin/python # My python v3.0 hack... def print3(text): print text # A list of words (that are legal in scrabble)... dictionary = 'sowpods.txt' nokia = {'a':2, 'b':2, 'c':2, 'd':3, 'e':3, 'f':3, 'g':4, 'h':4, 'i':4, 'j':5, 'k':5, 'l':5, 'm':6, 'n':6, 'o':6, 'p':7, 'q':7, 'r':7, 's':7, 't':8, 'u':8, 'v':8, 'w':9, 'x':9, 'y':9, 'z':9 } # Yes, the following function could be shortened, but I have # gone for reading comprehension over list comprehension... def get_val(word): result = 0 word = word.lower() for c in word: if nokia.has_key(c): result = result * 10 + nokia[c] return result phononyms = {} for word in open(dictionary): word = word.rstrip('\n\r') val = get_val(word) if (not phononyms.has_key(val)): phononyms[val] = [] phononyms[val].append(word) [print3(phononyms[val]) for val in phononyms.keys() if len(phononyms[val]) > 1] -------------- next part -------------- An HTML attachment was scrubbed... URL: From john.larooy at gmail.com Mon Aug 17 05:09:44 2009 From: john.larooy at gmail.com (John La Rooy) Date: Mon, 17 Aug 2009 13:09:44 +1000 Subject: [melbourne-pug] Fun with phononyms In-Reply-To: References: Message-ID: This is how I would do it. #!/usr/bin/env python from string import maketrans dictionary = "sowpods.txt" nokia = maketrans("abcdefghijklmnopqrstuvwxyz","22233344455566677778889999") phononyms = {} for word in open(dictionary): word = word.strip().lower() phononyms.setdefault(word.translate(nokia), []).append(word) for k,v in phononyms.iteritems(): if len(v) > 1: print v From tleeuwenburg at gmail.com Mon Aug 17 05:15:21 2009 From: tleeuwenburg at gmail.com (Tennessee Leeuwenburg) Date: Mon, 17 Aug 2009 13:15:21 +1000 Subject: [melbourne-pug] Fun with phononyms In-Reply-To: References: Message-ID: <43c8685c0908162015y6cc01a08gf6f724e3761f105@mail.gmail.com> Cool, I didn't know about maketrans. Thanks. I always wish setdefault looked a little nicer, but it's such a great defensive programming technique that I just use it anyway. Thanks for kicking the discussion off, M. Nice to see some chatter on the list at last! :) Cheers, -T On Mon, Aug 17, 2009 at 1:09 PM, John La Rooy wrote: > This is how I would do it. > > #!/usr/bin/env python > from string import maketrans > > dictionary = "sowpods.txt" > nokia = > maketrans("abcdefghijklmnopqrstuvwxyz","22233344455566677778889999") > phononyms = {} > > for word in open(dictionary): > word = word.strip().lower() > phononyms.setdefault(word.translate(nokia), []).append(word) > > for k,v in phononyms.iteritems(): > if len(v) > 1: > print v > _______________________________________________ > melbourne-pug mailing list > melbourne-pug at python.org > http://mail.python.org/mailman/listinfo/melbourne-pug > -- -------------------------------------------------- Tennessee Leeuwenburg http://myownhat.blogspot.com/ "Don't believe everything you think" -------------- next part -------------- An HTML attachment was scrubbed... URL: From richardbp at gmail.com Mon Aug 17 06:30:09 2009 From: richardbp at gmail.com (Richard Baron Penman) Date: Mon, 17 Aug 2009 14:30:09 +1000 Subject: [melbourne-pug] Fun with phononyms In-Reply-To: <43c8685c0908162015y6cc01a08gf6f724e3761f105@mail.gmail.com> References: <43c8685c0908162015y6cc01a08gf6f724e3761f105@mail.gmail.com> Message-ID: > I always wish setdefault looked a little nicer, but it's such a great defensive programming technique that I just use it anyway. instead of setdefault you can often use defaultdict: >>> from collections import defaultdict >>> d = defaultdict(list) >>> d['fruit'].append('apple') >>> d['fruit'].append('banana') >>> print d['fruit'] ['apple', 'banana'] Richard On Mon, Aug 17, 2009 at 1:15 PM, Tennessee Leeuwenburg < tleeuwenburg at gmail.com> wrote: > Cool, I didn't know about maketrans. Thanks. > > I always wish setdefault looked a little nicer, but it's such a great > defensive programming technique that I just use it anyway. > > Thanks for kicking the discussion off, M. Nice to see some chatter on the > list at last! :) > > Cheers, > -T > > > > On Mon, Aug 17, 2009 at 1:09 PM, John La Rooy wrote: > >> This is how I would do it. >> >> #!/usr/bin/env python >> from string import maketrans >> >> dictionary = "sowpods.txt" >> nokia = >> maketrans("abcdefghijklmnopqrstuvwxyz","22233344455566677778889999") >> phononyms = {} >> >> for word in open(dictionary): >> word = word.strip().lower() >> phononyms.setdefault(word.translate(nokia), []).append(word) >> >> for k,v in phononyms.iteritems(): >> if len(v) > 1: >> print v >> _______________________________________________ >> melbourne-pug mailing list >> melbourne-pug at python.org >> http://mail.python.org/mailman/listinfo/melbourne-pug >> > > > > -- > -------------------------------------------------- > Tennessee Leeuwenburg > http://myownhat.blogspot.com/ > "Don't believe everything you think" > > _______________________________________________ > melbourne-pug mailing list > melbourne-pug at python.org > http://mail.python.org/mailman/listinfo/melbourne-pug > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tleeuwenburg at gmail.com Mon Aug 17 06:50:36 2009 From: tleeuwenburg at gmail.com (Tennessee Leeuwenburg) Date: Mon, 17 Aug 2009 14:50:36 +1000 Subject: [melbourne-pug] Fun with phononyms In-Reply-To: References: <43c8685c0908162015y6cc01a08gf6f724e3761f105@mail.gmail.com> Message-ID: <43c8685c0908162150u1bd84972r15b87f9b8dac583e@mail.gmail.com> Hi Richard, I've always used such things with some caution. I work with a lot of people who are probably not aware of many of the libraries in Python. For that reason, I try to stick to the standard dict. Calling setdefault is a good hint to a Python newbie that something particular is 'going on' and that they should look it up. However, if you pass in an object, it might not be clear that something is a defaultdict rather than a regular dict, and it could be easy to lose track of when you are allowed to use defaultdict functionality. It seems a bit kinder to me on new programmers and team members not to use defaultdict. I think ideally I'd like the standard dict to accept another argument, i.e. myDict["fruit", []].append(banana) Cheers, -T On Mon, Aug 17, 2009 at 2:30 PM, Richard Baron Penman wrote: > > I always wish setdefault looked a little nicer, but it's such a great > defensive programming technique that I just use it anyway. > > instead of setdefault you can often use defaultdict: > > >>> from collections import defaultdict > >>> d = defaultdict(list) > >>> d['fruit'].append('apple') > >>> d['fruit'].append('banana') > >>> print d['fruit'] > ['apple', 'banana'] > > Richard > > > > > On Mon, Aug 17, 2009 at 1:15 PM, Tennessee Leeuwenburg < > tleeuwenburg at gmail.com> wrote: > >> Cool, I didn't know about maketrans. Thanks. >> >> I always wish setdefault looked a little nicer, but it's such a great >> defensive programming technique that I just use it anyway. >> >> Thanks for kicking the discussion off, M. Nice to see some chatter on the >> list at last! :) >> >> Cheers, >> -T >> >> >> >> On Mon, Aug 17, 2009 at 1:09 PM, John La Rooy wrote: >> >>> This is how I would do it. >>> >>> #!/usr/bin/env python >>> from string import maketrans >>> >>> dictionary = "sowpods.txt" >>> nokia = >>> maketrans("abcdefghijklmnopqrstuvwxyz","22233344455566677778889999") >>> phononyms = {} >>> >>> for word in open(dictionary): >>> word = word.strip().lower() >>> phononyms.setdefault(word.translate(nokia), []).append(word) >>> >>> for k,v in phononyms.iteritems(): >>> if len(v) > 1: >>> print v >>> _______________________________________________ >>> melbourne-pug mailing list >>> melbourne-pug at python.org >>> http://mail.python.org/mailman/listinfo/melbourne-pug >>> >> >> >> >> -- >> -------------------------------------------------- >> Tennessee Leeuwenburg >> http://myownhat.blogspot.com/ >> "Don't believe everything you think" >> >> _______________________________________________ >> melbourne-pug mailing list >> melbourne-pug at python.org >> http://mail.python.org/mailman/listinfo/melbourne-pug >> >> > > _______________________________________________ > melbourne-pug mailing list > melbourne-pug at python.org > http://mail.python.org/mailman/listinfo/melbourne-pug > > -- -------------------------------------------------- Tennessee Leeuwenburg http://myownhat.blogspot.com/ "Don't believe everything you think" -------------- next part -------------- An HTML attachment was scrubbed... URL: From mauriceling at gmail.com Wed Aug 19 03:06:28 2009 From: mauriceling at gmail.com (Maurice Ling) Date: Wed, 19 Aug 2009 09:06:28 +0800 Subject: [melbourne-pug] Call for Papers - PyCon Asia Pacific 2010 Message-ID: <7acc4aa10908181806q43c652fey5267786933ea8250@mail.gmail.com> Dear fellow friends and colleagues, I apologize if you had received multiple copies of this Call for Papers. Maurice Maurice LING mobile: +6596669233, +6568707927 www: http://maurice.vodien.com CV: http://maurice.vodien.com/maurice_resume.pdf Linkedin: http://www.linkedin.com/in/mauriceling ================================================================== ------------------------------------------------------------ Call for Papers - PyCon Asia Pacific 2010 ------------------------------------------------------------ PyCon Asia Pacific 2010 represents a major development for the Python community in the Asia Pacific region. In Asia Pacific, we are encouraged by the country-level initiatives of Python conferences in India and New Zealand. We fully expect that PyCon Asia Pacific will be hosted by different APAC countries as the momentum of Python develops in the region. Quote : ??Python development in the Asia Pacific region is proceeding rapidly? I would very much like to highlight the special nature of this conference?. I hope that my presence will help to further international cooperation on Python development? Steven Holden, Chairman, Python Software Foundation (PSF) Keynote, PyCon Asia Pacific 2010 PyCon Asia Pacific 2010?s is looking for proposals from the Python community to fill its formal presentation tracks. The Conference Days will be June 10-11, 2010 in Singapore, preceded by a Tutorial Day (June 9). ( http://apac.pycon.org) Important Dates ----------------------- ? Call for Papers: August 15, 2009 ? Deadline for Paper Submissions: February 1, 2010 ? Notification of Paper Acceptance: March 15, 2010 ? Conference Registration Open: March 15, 2010 ? Submission of Camera-Ready Paper: April 15, 2010 ? Conference Days: June 10 - 11, 2010 (preceded by tutorials on the June 9, 2010) PyCon Topics -------------------- PyCon conferences worldwide have had a broad range of presentations, ranging from reports on academic and commercial projects to tutorials and case studies. We hope to continue that tradition here at PyCon Asia Pacific in Singapore. As long as the presentation is interesting and potentially useful to the Python community, it will be considered for inclusion in the program. We are especially interested in short presentations that will teach conference-goers something new and useful. Suitable topics for PyCon Asia Pacific 2010 presentations include, but are not limited to: ? Core Python and other implementations: IronPython, Jython, PyPy and Stackless. ? Python libraries and extensions ? Business Applications ? Databases ? Embedding and Extending Python ? Game Programming ? GUI Programming ? Network Programming ? Python in IT Security ? Open Source Python projects ? Packaging Issues ? Programming Tools ? Project Best Practices ? Python in Education, Science and Math ? System Administration ? Web Programming (Django, Zope, TurboGears, WSGI) Talk Format ----------------- The preferred length for talks is 30 minutes. Session lengths include time for audience questions. You should budget at least five minutes for questions; for example, a 30-minute talk will be 25 minutes of presentation and 5 minutes of questions. Open Space rooms will also be available for follow-up sessions. Proposal Submission ------------------------------- The primary author should submit a proposal, after which additional authors can be added. This is to help us make arrangements for reviewers and draft the conference programme. The proposal must include the following: ? Talk title. ? Choice of one or more category tag. ? Level. Indicate the intended audience difficulty level i.e. beginner, intermediate or advanced. ? Summary (max 100 words) for the website. ? Description : Detailed outline for review; notes for reviewers and permission for your talk to be recorded. Your proposal will be reviewed by the programme committee. If your proposal is accepted, you should thereafter include: ? a companion paper (up to 30 pages) OR ? an extended abstract (up to 3 pages) along with your presentation. Go to http://us.pycon.org/2008/conference/proposals/example1/ for an example of a conference talk proposal. Please send your proposal (and any questions) to conference at pugs.org.sg. Companion Paper or Extended Abstract Submission ---------------------------------------------------------------------------- All presenters should submit a paper by the deadline above, with or without prior proposal submission. This submission is to be your full paper (companion paper or extended abstract), not a draft. It should contain all of the usual aspects of a paper such as an abstract, introduction, body and conclusion. Please ensure that this submission has had its grammar and spelling corrected and that code snippets work. Your paper will be peer-reviewed by the programme committee and a notice of paper acceptance with review comments will be sent to the author(s) on March 15, 2010. Accepted papers can be amended by the author(s), taking into account of reviewers' comments and submit for publication by April 15, 2010. ? All papers will be published in The Python Papers Monograph series ( www.pythonpapers.org). We suggest, but do not require, all authors to place their papers under the Creative Commons license. ? Please see http://www.pythonpapers.org/instAuthor.html for the preferred formats of submission. ? Please submit your papers at http://ojs.pythonpapers.org/index.php/tppm/author. Your paper allows attendees who attended your talk a chance to refresh their memories about your presentation, and gives attendees who missed your talk a chance to learn from you anyway. Make sure your paper includes - at the very least - a brief introduction to your subject material and a list of further resources. Assistance ---------------- PyCon Asia Pacific 2010 in Singapore cannot offer payment or free registration to all conference speakers. However, financial aid will be available were possible, and giving a talk is a great rationale. If you require financial aid in order to attend PyCon Asia Pacific 2010 in Singapore, please note it in your proposal. If you have any questions, contact conference at pugs.org.sg. -------------- next part -------------- An HTML attachment was scrubbed... URL: From r1chardj0n3s at gmail.com Fri Aug 21 04:26:53 2009 From: r1chardj0n3s at gmail.com (Richard Jones) Date: Fri, 21 Aug 2009 12:26:53 +1000 Subject: [melbourne-pug] Audio recording equipment? Message-ID: <8A9A19E5-713B-4CC5-AFDE-B3C877AEE9F6@gmail.com> Does anyone have access to an audio recording device and lapel mic? I've been thinking about recording the MPUG meetings on video but given the background noise in the bar we'd need a good mic and my camera doesn't have an external mic socket. Richard From miles.chris at gmail.com Fri Aug 21 04:55:06 2009 From: miles.chris at gmail.com (Chris Miles) Date: Fri, 21 Aug 2009 12:55:06 +1000 Subject: [melbourne-pug] Audio recording equipment? In-Reply-To: <8A9A19E5-713B-4CC5-AFDE-B3C877AEE9F6@gmail.com> References: <8A9A19E5-713B-4CC5-AFDE-B3C877AEE9F6@gmail.com> Message-ID: <02A3FA3F-DC0E-4EE1-BDA8-F5A8FB468AEA@gmail.com> On 21/08/2009, at 12:26 PM, Richard Jones wrote: > Does anyone have access to an audio recording device and lapel mic? > I've been thinking about recording the MPUG meetings on video but > given the background noise in the bar we'd need a good mic and my > camera doesn't have an external mic socket. I wonder if an iPhone with standard handsfree/headset mic would do the trick. Could be worth a try. I've got a miniDV video camera with external mic input that I could bring too, if needed. Even have a tripod for it. Cheers Chris From schweitzer.ubiquitous at gmail.com Fri Aug 21 07:26:59 2009 From: schweitzer.ubiquitous at gmail.com (martin schweitzer) Date: Fri, 21 Aug 2009 15:26:59 +1000 Subject: [melbourne-pug] Friday Afternoon Python Message-ID: Shlomi Fish posted a 'problem' to a Perl list of which I am a member. I thought "Why should Perl people have all the fun - and since it is Friday afternoon decided to attack it using Python. My answer is probably not the most elegant - and I am sure some members can come up with better solutions. So, if there are any Pythonistas looking for an interesting problem after Friday lunch, I will post the problem below (and my solution below that). (if there is any interest in this problem, I will try to think up an original problem for next Friday) Regards, Martin Problem from Shlomi Fish: We are given two positive integers $L and $R we need to find Plusified expressions of both for which Eval($E_L) == Eval($E_R). So what is a plusified expression? It is an expression where we can choose whether to add a single "+" between any consecutive digit. So for example the number 123 has the following plusified expression: * 123 * 12+3 * 1+23 * 1+2+3 So if we are given 123 and 96 we can form the following plusified equation: * 12+3 == 9+6 Your mission is to write a Perl program (or an equivalent program in any programming language) that will find all solutions to the plusified equation of two numbers given as input. To normalise the output we'll rule that: 1. The equations should be given one at each line. 2. They will be sorted so consecutive digits will take precedence over "+"'s. 3. A "+" has no surrounding spaces. 4. The = sign does have a preceding and following space. As an example: {{{{{{{{{{{{{ $ ./plusified-equation 12341234 1010 1+23+41+2+34 = 101+0 1+2+3+4+1+2+3+4 = 10+10 }}}}}}}}}}}}} --- End of Problem --- Below this section there be spoilers.... Spoiler coming up... Spoiler real close now... #!/usr/bin/python def get_bin(n, width = 0): ''' Given a number n, return the binary representatio of that number left padded with 0s to the length width. ''' result = '' while (n): result = ('0','1')[n % 2] + result n = n / 2 while len(result) < width: result = '0' + result return result def get_partitions(string): ''' Given a string s, treat each digit as the element of a set (a list, really), and return all the ways that set can be 'partitioned'. ''' l = len(string) - 1 partitions = [get_bin(n, l) for n in range(2 ** l)] return partitions def insert_pluses(string): ''' Return all combinations of string and pluses eg. with string = 123 will return ['123', '1+23', '12+3', '1+2+3'] ''' partitions = get_partitions(string) results = [] for partition in partitions: result = '' i = 0 l = len(string) for i in range(l - 1): result = result + string[i] + ('', '+')[int(partition[i])] #if partition[i] == '1': # result = result + '+' result = result + string[l - 1] results.append(result) return results # create a dictionary from lhs.. lhs = {} for x in insert_pluses('12341234'): lhs.setdefault(eval(x), []).append(x) rhs = {} for x in insert_pluses('1010'): rhs.setdefault(eval(x), []).append(x) for key in lhs.keys(): if key in rhs: for v in lhs[key]: for u in rhs[key]: print v + ' = ' + u -------------- next part -------------- An HTML attachment was scrubbed... URL: From john.larooy at gmail.com Sat Aug 22 04:35:42 2009 From: john.larooy at gmail.com (John La Rooy) Date: Sat, 22 Aug 2009 12:35:42 +1000 Subject: [melbourne-pug] Friday Afternoon Python In-Reply-To: References: Message-ID: Saturday lunchtime...also using eval because we can #!/usr/bin/env python import sys from collections import defaultdict def plusses(s, filter=None): n=len(s) res = defaultdict(list) for i in xrange(2**(n-1)): e = "".join([ s[j]+"+"*(i&2**j>0) for j in xrange(n) ]) t = eval(e) if filter is None or t in filter: res[t].append(e) return res lhs = plusses(sys.argv[1]) rhs = plusses(sys.argv[2],lhs) for k in rhs.keys(): for l in lhs[k]: for r in rhs[k]: print "%s = %s"%(l,r) -------------- next part -------------- An HTML attachment was scrubbed... URL: From schweitzer at acm.org Sat Aug 22 05:01:24 2009 From: schweitzer at acm.org (martin schweitzer) Date: Sat, 22 Aug 2009 13:01:24 +1000 Subject: [melbourne-pug] Friday Afternoon Python In-Reply-To: References: Message-ID: > e = "".join([ s[j]+"+"*(i&2**j>0) for j in xrange(n) ]) Brilliant! I was trying to do something similar, but did not have the brain bandwidth yesterday afternoon. One simplification that I did add once I had sets available (wrote the earlier version using Python 2.3), was to replace the last few lines with: for key in set(lhs.keys()) & set(rhs.keys()): for v in lhs[key]: for u in rhs[key]: print v + ' = ' + u It may be argued that it neither makes it more readable nor more efficient - however my personal feeling is that it does express my intent better (ie. I am trying to find the set of keys that are in the intersection of the lhs and rhs). Okay, now to go and get the ingredients to make Tom Yum... Regards, Martin On Sat, Aug 22, 2009 at 12:35 PM, John La Rooy wrote: > Saturday lunchtime...also using eval because we can > > #!/usr/bin/env python > import sys > from collections import defaultdict > > def plusses(s, filter=None): > n=len(s) > res = defaultdict(list) > for i in xrange(2**(n-1)): > e = "".join([ s[j]+"+"*(i&2**j>0) for j in xrange(n) ]) > t = eval(e) > if filter is None or t in filter: > res[t].append(e) > return res > > lhs = plusses(sys.argv[1]) > rhs = plusses(sys.argv[2],lhs) > > for k in rhs.keys(): > for l in lhs[k]: > for r in rhs[k]: > print "%s = %s"%(l,r) > > > _______________________________________________ > melbourne-pug mailing list > melbourne-pug at python.org > http://mail.python.org/mailman/listinfo/melbourne-pug > > -- Martin Schweitzer Mobile: 0412 345 938 E-mail: schweitzer at acm.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From tleeuwenburg at gmail.com Mon Aug 24 09:26:27 2009 From: tleeuwenburg at gmail.com (Tennessee Leeuwenburg) Date: Mon, 24 Aug 2009 17:26:27 +1000 Subject: [melbourne-pug] Audio recording equipment? In-Reply-To: <02A3FA3F-DC0E-4EE1-BDA8-F5A8FB468AEA@gmail.com> References: <8A9A19E5-713B-4CC5-AFDE-B3C877AEE9F6@gmail.com> <02A3FA3F-DC0E-4EE1-BDA8-F5A8FB468AEA@gmail.com> Message-ID: <43c8685c0908240026x4db8f8b1t7bc17b87af6322b8@mail.gmail.com> Sounds like we really need a clip-on mic or similar. There really was a lot of noise at the bar last time. We could try getting into the talks a bit sooner, or perhaps consider another venue. I do like the laid-back nature of the environment, but I think it was quite challenging for the presenters. Cheers, -T On Fri, Aug 21, 2009 at 12:55 PM, Chris Miles wrote: > > On 21/08/2009, at 12:26 PM, Richard Jones wrote: > > Does anyone have access to an audio recording device and lapel mic? I've >> been thinking about recording the MPUG meetings on video but given the >> background noise in the bar we'd need a good mic and my camera doesn't have >> an external mic socket. >> > > I wonder if an iPhone with standard handsfree/headset mic would do the > trick. Could be worth a try. > > I've got a miniDV video camera with external mic input that I could bring > too, if needed. Even have a tripod for it. > > Cheers > Chris > > > _______________________________________________ > melbourne-pug mailing list > melbourne-pug at python.org > http://mail.python.org/mailman/listinfo/melbourne-pug > -- -------------------------------------------------- Tennessee Leeuwenburg http://myownhat.blogspot.com/ "Don't believe everything you think" -------------- next part -------------- An HTML attachment was scrubbed... URL: From r1chardj0n3s at gmail.com Tue Aug 25 04:04:18 2009 From: r1chardj0n3s at gmail.com (Richard Jones) Date: Tue, 25 Aug 2009 12:04:18 +1000 Subject: [melbourne-pug] Next meeting: Tuesday 8th September Message-ID: <64C4EEAF-9A37-4C25-A904-5144A49D7B05@gmail.com> The next meeting of the Melbourne Python Users Group will be on Tuesday the 8th of September starting at 6:30pm at Horse Bazaar. We'll have use of the projector and time for several short presentations or lightning talks. Meeting details, location and talks list are at: http://wiki.python.org/moin/MelbournePUG I've added a couple of things I'd like to talk about already. 15 minute talks * Richard Jones by request doing a short intro to context managers 5 minute lightning talks * Richard Jones isn't a lumberjack, but someone cool is... If you've seen something cool or are doing something cool then we'd like you to tell everyone about it! Presentations could be 5 minutes or up to 15 minutes if you'd like to ramble for a bit longer. If you've got an idea for a talk just add it to the wiki page. Richard From dariusp686 at gmail.com Tue Aug 25 07:30:53 2009 From: dariusp686 at gmail.com (Darius Powell) Date: Tue, 25 Aug 2009 15:30:53 +1000 Subject: [melbourne-pug] python development role Message-ID: <6da0cdc70908242230q11c514d5ja992d3bcb39bc042@mail.gmail.com> Hi, At mocomedia we're looking for another python developer. The primary technologies are python, postgresql, apache, git and linux. If you're interested in a fun job with python drop me an email :) Cheers, Darius -------------- next part -------------- An HTML attachment was scrubbed... URL: From minnov at gmail.com Tue Aug 25 08:50:14 2009 From: minnov at gmail.com (ED Mohamed Barwani) Date: Tue, 25 Aug 2009 16:50:14 +1000 Subject: [melbourne-pug] python development role In-Reply-To: <6da0cdc70908242230q11c514d5ja992d3bcb39bc042@mail.gmail.com> References: <6da0cdc70908242230q11c514d5ja992d3bcb39bc042@mail.gmail.com> Message-ID: <205b41740908242350n1d77ad15jdb106b26d040ec53@mail.gmail.com> On Tue, Aug 25, 2009 at 3:30 PM, Darius Powell wrote: > Hi, > > At mocomedia we're looking for another python developer.? The primary > technologies are python, postgresql, apache, git and linux. > > If you're interested in a fun job with python drop me an email :) > Hello, I am interested.. I just need to recap on postgresql. I'll drop you a Resume tonight, if you are still looking :) cheers -- Wir m?ssen wissen Wir werden wissen - David Hilbert From r1chardj0n3s at gmail.com Thu Aug 27 02:29:00 2009 From: r1chardj0n3s at gmail.com (Richard Jones) Date: Thu, 27 Aug 2009 10:29:00 +1000 Subject: [melbourne-pug] Registrations for BarCampMelbourne 2009 now open References: <4A95A1B0.8010501@kathyreid.id.au> Message-ID: <3027F4F8-0A81-43AC-8D2E-83D77BC61FCF@gmail.com> [posted on behalf of the BarcampMelbourne organising team - though I will be going. "BarCamps" are open, informal, particpatory, not for profit gatherings of techy people to share ideas an information in a friendly, laid-back environment. More info at http://barcampmelbourne.org/what-is-barcampmelbourne/ ] Registrations for BarCampMelbourne are now open. To register, head to http://barcampmelbourne.org/register-for-barcampmelbourne2009/ and follow the instructions. Registrations are capped at 110, so make sure you get in quick! We've also set up a system for you to let us know what you'd like to see or present on during BarCampMelbourne ? this helps ensure we can design activities and encourage presenters to talk about topics of interest. Add your suggestions at http://barcampmelbourne2009.ideascale.com/ From miked at dewhirst.com.au Fri Aug 28 04:53:43 2009 From: miked at dewhirst.com.au (Mike Dewhirst) Date: Fri, 28 Aug 2009 12:53:43 +1000 Subject: [melbourne-pug] Django spec Message-ID: <4A9746B7.8050208@dewhirst.com.au> I'm drafting a spec for a client who requires an intranet. If this is accepted, there will be a Django gig in Melbourne CBD. My role will be to manage the project not "do" it. If the list is interested in helping with the draft spec I'm happy to post a de-identified version for comment. Would you prefer this sort of thing is kept off-list? For those who can guess who the client is I would appreciate your discretion. Thanks Mike