From nick.p.doyle at gmail.com Thu Mar 1 03:31:44 2012 From: nick.p.doyle at gmail.com (Nicholas Doyle) Date: Thu, 1 Mar 2012 13:31:44 +1100 Subject: [melbourne-pug] [JOB] Mid/Senior Python Dev for Video Platform Message-ID: Hi guys We're building a Video Platform in Australia (and later worldwide) and looking to hire mid/senior python devs. Cool project, in an interesting industry, with casual but professional environment. If anyone's interested - or if you know anyone who would be, please let me know. Eastern location Work could involve - Customer portals - Handheld & Smart TV dev - Video streaming & transcoding - CDN and infrastructure (we're mostly on CentOS with a sprinkling of Solaris) Cheers Nick -------------- next part -------------- An HTML attachment was scrubbed... URL: From abhishekt at cottonon.com.au Thu Mar 1 22:55:17 2012 From: abhishekt at cottonon.com.au (Abhishek Tiwari) Date: Fri, 2 Mar 2012 08:55:17 +1100 Subject: [melbourne-pug] Python/Django Engineers Message-ID: Sincere Apologies for my very first spam. Cotton On is hiring Python/Django engineers in Geelong (Melbourne Area). We are looking for one mid-level and one junior developer. Based in Geelong, a beautiful city which is 45 mins drive from Melbourne. Cotton On provides bus service for daily commuters based in Melbourne. Freelance gigs are possible. Send your cv with cover at: cottonon.django.error at gmail.com Or apply to job portal, http://tbe.taleo.net/NA8/ats/careers/requisition.jsp?org=COTTON&cws=1&rid=7093 Cheers Abi ________________________________ This email message, including attachments, is confidential and may be subject to copyright laws, unauthorized use is prohibited. If you are not the intended recipient, any use, interference with, disclosure or copying of the material, is prohibited. If you receive this email in error, please advise the sender and delete this email and any attachments immediately. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ed at pythoncharmers.com Fri Mar 2 02:39:06 2012 From: ed at pythoncharmers.com (Ed Schofield) Date: Fri, 2 Mar 2012 12:39:06 +1100 Subject: [melbourne-pug] Announcement: Next Meeting is Monday, 5th March In-Reply-To: References: Message-ID: Hi all, Just to follow up on Tennessee's email: the venue is booked for Monday, and Kealey from Inspire9 will be setting up the space for us. Benno and Tennesee will be coordinating the meeting (including pizza orders). I will be coming but not until later. See you then! Ed On Tue, Feb 28, 2012 at 12:47 PM, Tennessee Leeuwenburg < tleeuwenburg at gmail.com> wrote: > Hi all, > > I have just returned from holidays in the Grampians, where it was sunny, > hot and a total escape. So I'm afraid I may be a bit late in sending out > this notice. Don't let that curb your enthusiasm! > > The next meeting is next week on Monday, starting at 6pm. Full details on > the location and how to get there can be found at http://j.mp/mpug. > > For our presentations, I will be giving "Using Python an AI to win at > rock, paper, scissors" a trial run in the 15-minute slot. It will include a > discussion of the game, show a few simple AI algorithms for calculating > probabilities and predicting moves, and, wi-fi permitting, an online demo > in which I will get my butt kicked by my own code. > > There are still vacancies in the 5 minute and 15 minute categories. It > would be great to get at least one more talk up there. However, if not, we > can just chillax and enjoy the rockin vibe of the Inspire9 co-working > space, maybe play a game of pool, and generally talk Python. It's a great > venue and I encourage you to come and enjoy the evening. > > Cheers, > -T > > _______________________________________________ > melbourne-pug mailing list > melbourne-pug at python.org > http://mail.python.org/mailman/listinfo/melbourne-pug > > -- Dr. Edward Schofield Python Charmers +61 (0)405 676 229 http://pythoncharmers.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From tleeuwenburg at gmail.com Fri Mar 9 06:18:33 2012 From: tleeuwenburg at gmail.com (Tennessee Leeuwenburg) Date: Fri, 9 Mar 2012 16:18:33 +1100 Subject: [melbourne-pug] Announcement: Next Meeting is Monday, 5th March In-Reply-To: References: Message-ID: Thanks for organising that, Ed. Can you please confirm the booking for April as well? Might as well get it all confirmed, then I'll update the wiki and email around a call for speakers. Cheers, -T On Fri, Mar 2, 2012 at 12:39 PM, Ed Schofield wrote: > Hi all, > > Just to follow up on Tennessee's email: the venue is booked for Monday, > and Kealey from Inspire9 will be setting up the space for us. > > Benno and Tennesee will be coordinating the meeting (including pizza > orders). I will be coming but not until later. > > See you then! > Ed > > > On Tue, Feb 28, 2012 at 12:47 PM, Tennessee Leeuwenburg < > tleeuwenburg at gmail.com> wrote: > >> Hi all, >> >> I have just returned from holidays in the Grampians, where it was sunny, >> hot and a total escape. So I'm afraid I may be a bit late in sending out >> this notice. Don't let that curb your enthusiasm! >> >> The next meeting is next week on Monday, starting at 6pm. Full details on >> the location and how to get there can be found at http://j.mp/mpug. >> >> For our presentations, I will be giving "Using Python an AI to win at >> rock, paper, scissors" a trial run in the 15-minute slot. It will include a >> discussion of the game, show a few simple AI algorithms for calculating >> probabilities and predicting moves, and, wi-fi permitting, an online demo >> in which I will get my butt kicked by my own code. >> >> There are still vacancies in the 5 minute and 15 minute categories. It >> would be great to get at least one more talk up there. However, if not, we >> can just chillax and enjoy the rockin vibe of the Inspire9 co-working >> space, maybe play a game of pool, and generally talk Python. It's a great >> venue and I encourage you to come and enjoy the evening. >> >> Cheers, >> -T >> >> _______________________________________________ >> melbourne-pug mailing list >> melbourne-pug at python.org >> http://mail.python.org/mailman/listinfo/melbourne-pug >> >> > > > -- > Dr. Edward Schofield > Python Charmers > +61 (0)405 676 229 > http://pythoncharmers.com > > > _______________________________________________ > 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 tleeuwenburg at gmail.com Fri Mar 9 06:23:38 2012 From: tleeuwenburg at gmail.com (Tennessee Leeuwenburg) Date: Fri, 9 Mar 2012 16:23:38 +1100 Subject: [melbourne-pug] Slides for presentation on Rock, Paper, Scissors Message-ID: Hi all, I had a blast presenting at the last MPUG. I got a couple of questions and some interest in getting the slides, so I've put a copy up on dropbox ( http://dl.dropbox.com/u/9428776/Using_AI_and_Python_RockPaperScissors.pdf). The source code can be found by following the links within for anyone who's really that interested ;) We'll definitely needs some more speakers for next time, so dust off your powerpoints and give it a go. We welcome new developers and hearing what you have to say, and I'm sure everyone has something they could bring to the group. Or better yet -- prepare an outline for a PyCon AU talk, and give it a dry run. Cheers, -Tennessee -------------- next part -------------- An HTML attachment was scrubbed... URL: From schweitzer.ubiquitous at gmail.com Fri Mar 9 20:41:19 2012 From: schweitzer.ubiquitous at gmail.com (martin schweitzer) Date: Sat, 10 Mar 2012 06:41:19 +1100 Subject: [melbourne-pug] Slides for presentation on Rock, Paper, Scissors In-Reply-To: References: Message-ID: Tennessee, depending when in April, I am sure I can come up with something. Regards, Martin On Fri, Mar 9, 2012 at 4:23 PM, Tennessee Leeuwenburg < tleeuwenburg at gmail.com> wrote: > Hi all, > > I had a blast presenting at the last MPUG. I got a couple of questions and > some interest in getting the slides, so I've put a copy up on dropbox ( > http://dl.dropbox.com/u/9428776/Using_AI_and_Python_RockPaperScissors.pdf). > The source code can be found by following the links within for anyone who's > really that interested ;) > > We'll definitely needs some more speakers for next time, so dust off your > powerpoints and give it a go. We welcome new developers and hearing what > you have to say, and I'm sure everyone has something they could bring to > the group. Or better yet -- prepare an outline for a PyCon AU talk, and > give it a dry run. > > Cheers, > -Tennessee > > _______________________________________________ > melbourne-pug mailing list > melbourne-pug at python.org > http://mail.python.org/mailman/listinfo/melbourne-pug > > -- Martin Schweitzer Mobile: 0412 345 938 -------------- next part -------------- An HTML attachment was scrubbed... URL: From liew_beng_keat at rp.edu.sg Mon Mar 12 05:48:21 2012 From: liew_beng_keat at rp.edu.sg (Liew Beng Keat) Date: Mon, 12 Mar 2012 12:48:21 +0800 Subject: [melbourne-pug] Calling for Proposals - PyCon APAC 2012 Message-ID: <70C1A5315505C942A8274FCA16F363AF726656B0D8@STAFFMAIL1.rp.edu.sg> [cid:image003.jpg at 01CD004D.C8925F10] On behalf of PyCon Asia Pacific 2012, this is our second Call for Proposals for Presentations and Tutorials. PyCon APAC will be held in Singapore from the 7th - 9th June 2012. Our keynotes for this year are : * Alex Martelli (author of "Python in a Nutshell", co-author of "Python Cookbook") * Anna Ravenscroft (first woman member of the Python Software Foundation and co-author of "Python Cookbook") * Richard Jones (Organizer of the Biannual Python Game Programming Challenge, PyWeek and helped create the Pyglet Game and Multimedia Framework) Suitable topics include, but are not limited to : * Web Programming (e.g Django, Pylons, Web2Py, TurboGears) * Python in Education, Science and Maths * Business and Scientific Applications * Python Libraries and Extensions * Embedding and Extending Python * Game Programming * GUI Programming * Network Programming * Packaging Issues * Programming Tools * Project Best Practices * System Administration * Python Implementations: IronPython, Jython, PyPy and Stackless. If you work with/in any of the above areas, we would love to hear from you. More details can be found at http://apac.pycon.org. Specifically for presentations, I've attached the proposal template here for your ease. The submission deadline is the 1st April 2012. We need and look forward to your submissions. Regards Liew Beng Keat On behalf of PyCon APAC 2012 ________________________________ CONFIDENTIALITY CAUTION: This message is intended only for the use of the individual or entity to whom it is addressed and contains information that is privileged and confidential. If you, the reader of this message, are not the intended recipient, you should not disseminate, distribute or copy this communication. If you have received this communication in error, please notify us immediately by return email and delete the original message. Thank you. -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image003.jpg Type: image/jpeg Size: 7168 bytes Desc: image003.jpg URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Proposal Template.docx Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document Size: 41980 bytes Desc: Proposal Template.docx URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Call for Proposal - PyCon APAC 2012.pdf Type: application/pdf Size: 480447 bytes Desc: Call for Proposal - PyCon APAC 2012.pdf URL: From brian at microcomaustralia.com.au Tue Mar 13 02:01:41 2012 From: brian at microcomaustralia.com.au (Brian May) Date: Tue, 13 Mar 2012 12:01:41 +1100 Subject: [melbourne-pug] Announcement: Next Meeting is Monday, 5th March In-Reply-To: References: Message-ID: On 9 March 2012 16:18, Tennessee Leeuwenburg wrote: > Thanks for organising that, Ed. Can you please confirm the booking for April > as well? Might as well get it all confirmed, then I'll update the wiki and > email around a call for speakers. Oops. Looks like the 15 minute time slot is already taken. I am prepared to do my talk however when there is a timeslot spare (if I wasn't clear on this before...) Thanks -- Brian May From adam at lau.net.au Wed Mar 14 03:18:44 2012 From: adam at lau.net.au (Adam Lau) Date: Wed, 14 Mar 2012 13:18:44 +1100 Subject: [melbourne-pug] [JOB] python developer with experience in zope3 required Message-ID: <73EDE0FE-7CFC-464F-803E-939942B57E2C@lau.net.au> Looking for a python developer with zope3 experience to extend functionality in the School Tool (http://schooltool.org) open source project. We would like to extend the current school tool api (xml-rpc and REST) to expose some of its functionality to other processes. Candidates will first need to demonstrate (via skype or come to our office) that they are proficient in python by: - building and running the school tool project from source (instructions on the school tool website) - demonstrate debugging and development environment Candidates who pass the first stage will then need to demonstrate that they are proficient in zope3 by: - providing a short design doc on how you would query data and expose it via xml-rpc or REST. e.g. a sample query could be to return a list of absent students for a day. The design doc doesn't have to be a work of art, use correct uml notation or be in any formal format. I'm looking for developers who can analyse the requirement, think through some solutions and effectively communicate. We are based in Melbourne, however, I'm happy for people being able to work remotely. Also happy to answer any questions you have regarding the role/requirements. --------------------------------------------------------- Adam Lau m: +61 (0) 419 003 292 e: adam at lau.net.au skype: adam.j.lau From brian at microcomaustralia.com.au Thu Mar 15 01:24:43 2012 From: brian at microcomaustralia.com.au (Brian May) Date: Thu, 15 Mar 2012 11:24:43 +1100 Subject: [melbourne-pug] Announcement: Next Meeting is Monday, 5th March In-Reply-To: References: Message-ID: On 13 March 2012 12:01, Brian May wrote: > Oops. Looks like the 15 minute time slot is already taken. I am > prepared to do my talk however when there is a timeslot spare (if I > wasn't clear on this before...) Hello All, Andrew Walker has indicated, via private mail, that he is willing to be flexible on this and either wait a month or reduce his talk to 5 minutes. As an alternative, would two 15 minute talks be considered acceptable? Thanks -- Brian May From tleeuwenburg at gmail.com Thu Mar 15 01:35:58 2012 From: tleeuwenburg at gmail.com (Tennessee Leeuwenburg) Date: Thu, 15 Mar 2012 11:35:58 +1100 Subject: [melbourne-pug] Announcement: Next Meeting is Monday, 5th March In-Reply-To: References: Message-ID: Two 15-minute talks is not just possible, but preferred! Please tell him that there is no issue with a 15-minute presentation, and he is welcome to come along and present in March. Thanks, -Tennessee On Thu, Mar 15, 2012 at 11:24 AM, Brian May wrote: > On 13 March 2012 12:01, Brian May wrote: > > Oops. Looks like the 15 minute time slot is already taken. I am > > prepared to do my talk however when there is a timeslot spare (if I > > wasn't clear on this before...) > > Hello All, > > Andrew Walker has indicated, via private mail, that he is willing to > be flexible on this and either wait a month or reduce his talk to 5 > minutes. > > As an alternative, would two 15 minute talks be considered acceptable? > > Thanks > -- > Brian May > _______________________________________________ > 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 anthony.briggs at gmail.com Thu Mar 15 01:36:15 2012 From: anthony.briggs at gmail.com (Anthony Briggs) Date: Thu, 15 Mar 2012 11:36:15 +1100 Subject: [melbourne-pug] Announcement: Next Meeting is Monday, 5th March In-Reply-To: References: Message-ID: I think two 15 minutes talks is perfectly ok. We don't have a rigid format or anything - it's just a bunch of devs talking in a room :) Anthony On 15 March 2012 11:24, Brian May wrote: > On 13 March 2012 12:01, Brian May wrote: > > Oops. Looks like the 15 minute time slot is already taken. I am > > prepared to do my talk however when there is a timeslot spare (if I > > wasn't clear on this before...) > > Hello All, > > Andrew Walker has indicated, via private mail, that he is willing to > be flexible on this and either wait a month or reduce his talk to 5 > minutes. > > As an alternative, would two 15 minute talks be considered acceptable? > > Thanks > -- > Brian May > _______________________________________________ > 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 brian at microcomaustralia.com.au Thu Mar 15 02:02:41 2012 From: brian at microcomaustralia.com.au (Brian May) Date: Thu, 15 Mar 2012 12:02:41 +1100 Subject: [melbourne-pug] Announcement: Next Meeting is Monday, 5th March In-Reply-To: References: Message-ID: On 15 March 2012 11:36, Anthony Briggs wrote: > I think two 15 minutes talks is perfectly ok. We don't have a rigid format > or anything - it's just a bunch of devs talking in a room :) Ok, good. Updated the wiki. -- Brian May From javier at candeira.com Fri Mar 16 01:58:26 2012 From: javier at candeira.com (Javier Candeira) Date: Fri, 16 Mar 2012 11:58:26 +1100 Subject: [melbourne-pug] python based haml/sass-alike workflows Message-ID: I am following the Coursera saas-class, which uses ruby on rails, and I have been impressed with the haml integration in the workflow. Searching for haml-alikes for Django, it seems that there are several, but far from the pythonic ideal that there should be one, and preferrably only one, obvious way to do it. So, here's the question: what's the current best practice for python-based web development using indentation-based syntax preprocessors for html and css? It could be a thread on the mailing list, or it could be a topic for a mpug session. Thanks all, Javier From pomke at pangur.com.au Fri Mar 16 02:55:43 2012 From: pomke at pangur.com.au (Pomke Nohkan) Date: Fri, 16 Mar 2012 12:55:43 +1100 Subject: [melbourne-pug] python based haml/sass-alike workflows In-Reply-To: References: Message-ID: Hiya Javier, I'm a big advocate of rolling your own WSGI micro-framework, and by rolling your own I mean extending something like werkzeug and using whichever data model/template library/kitchen-sink you feel is appropriate for your task. I did just this last year when I built pangurpad.com, we went with jinja2 templates which I think are really nice and had the site in production (including building our 'framework') in under 6 months. Most template libraries are designed for this approach and embedding whichever library you find to process your 'haml' should not really be an issue. On a side note, while haml might tickle your inner geek by providing a 'new and novel way of writing markup', it is worth considering how on a real project you might run into issues by moving away from a well understood and universal markup such as HTML. Designers are likely to be less than impressed when you show them haml not html. Imagine what it would be like if someone hired you as a python developer, then once you'd started they revealed they infact wrote perl syntax that was magically compiled to python. Happy Hacking :) Pomke On Fri, Mar 16, 2012 at 11:58 AM, Javier Candeira wrote: > I am following the Coursera saas-class, which uses ruby on rails, and > I have been impressed with the haml integration in the workflow. > Searching for haml-alikes for Django, it seems that there are several, > but far from the pythonic ideal that there should be one, and > preferrably only one, obvious way to do it. > > So, here's the question: what's the current best practice for > python-based web development using indentation-based syntax > preprocessors for html and css? > > It could be a thread on the mailing list, or it could be a topic for a > mpug session. > > Thanks all, > > Javier > _______________________________________________ > melbourne-pug mailing list > melbourne-pug at python.org > http://mail.python.org/mailman/listinfo/melbourne-pug -- Pomke Coordinator of Dreams and Realities email: pomke -at- pangur.com.au ? web:?http://www.pangur.com.au From adam.macleod at gmail.com Sat Mar 17 08:39:21 2012 From: adam.macleod at gmail.com (Adam MacLeod) Date: Sat, 17 Mar 2012 18:39:21 +1100 Subject: [melbourne-pug] Web App Architecture Message-ID: Hello Happy People of MPUG, I have recently been hearing suggestions that rendering HTML on the server side is becoming less?relevant?as JavaScript MVC (and other) frameworks are developing. Personally I feel that having all of the client rendering logic live inside the browser as a client to an API based server application seems like a decent way to go. I'm sure no one needs to hear this but I believe it should allow the front end developers to write client interaction code?independently?and the back end developers to focus on data, security, speed and scalability. As I see it there will be a MC (model-controller) type back-end that supplies JSON to a model in a JavaScript MVC framework like backbone.js, ember.js or what have you. I feel that the existing Django/RoR type mega-framework is simply too heavy for this new MC backend. Perhaps one of the micro-frameworks like Flask, Pyramid or similar?might be suitable. I am extremely interested in hearing people's opinions on the following: - Whether this is/will ever be a good idea. - The size/scope of applications that this is suitable for (personal website? small-time start up? buzzword-driven-development? Twitter?) - The current best practices regarding this type of architecture. I guess the real meat of my message comes down to the following: - Which back-end would you use in Python for an application written in this style? Hoping to hear everyone chip in a few cents to this discussion :) Cheers! Adam MacLeod From javier at candeira.com Sat Mar 17 09:45:48 2012 From: javier at candeira.com (Javier Candeira) Date: Sat, 17 Mar 2012 19:45:48 +1100 Subject: [melbourne-pug] Web App Architecture In-Reply-To: References: Message-ID: Hi Adam, On Sat, Mar 17, 2012 at 6:39 PM, Adam MacLeod wrote: > I have recently been hearing suggestions that rendering HTML on the > server side is becoming less?relevant?as JavaScript MVC (and other) > frameworks are developing. > As I see it there will be a MC (model-controller) type back-end that > supplies JSON to a model in a JavaScript MVC framework like > backbone.js, ember.js or what have you. I feel that the existing > Django/RoR type mega-framework is simply too heavy for this new MC > backend. Perhaps one of the micro-frameworks like Flask, Pyramid or > similar?might be suitable. > > I am extremely interested in hearing people's opinions on the following: > > ?- Whether this is/will ever be a good idea. Using a client-side javascript MVC type of application seems to me a good idea in at least two cases, and an useful option to consider in a third case: - Webapps such as gmail, where the "webpage" ceases to be any meaningful unit of content. You don't expect your email client to provide you with a url you can share for every click you do on the browser window, and the "page" is just an application. To this example I would add the many drawing, wireframing and other design webapps that are out there, but also shopping carts and, really, any transaction-type task where the user has absolutely no expectation that a given URI will retrieve each of their actions. - The editing end of many classical "publishing" type web applications. My favourite example is your typical online newspaper. >From a reader's perspective, each page has its own url, and they are expected to be persistant, and shareable across sessions, so it makes sense to render them on the server. So far so good. Now, see it from the reporters' and editors' side. Since the early 2000, we techy people have been building them more and more complicated layout editors that allow for loading up modules, rearranging them on the webpage, etcetera. Think the Django admin on steroids, client-side, live, creating the complex page views that readers see. Historically, this was accomplished via DOM manipulation, with the javascript code creating new divs, hidden fields or css rules in order to store the data in the page's html. This is how a couple of big newspapers' CMSs I know of in Spain worked in 2005. As you see, this state of things conflates the view and the model, and makes for hairier development. The Javascript MVC frameworks serve to help separate those two concerns: you store data in the javascript classes, manipulate it there, talk to the DOM just for displaying it. For these users, the MVC js frameworks are a solution to an existing problem, and a way to refactor existing working code. The people I know who were doing this type of work are now working on their own, making good money selling CMSs to newspapers all over the Spanish speaking world. I have just written to them to ask them the crucial question: "at which point did you stop storing working data in the DOM and basically built yourself a javascript MVC framework for the browser window?" - There is a third requirement profile that may lead you to write your whole site or application in this style: performance. Recently 37 Signals wrote about their rewrite of Basecamp using a fragment, cache, and client/side assemble page- build strategy: http://37signals.com/svn/posts/3112-how-basecamp-next-got-to-be-so-damn-fast-without-using-much-client-side-ui I don't know how the client-side reassembly of fragments is implemented, but I remember reading that they used one of the MVC js frameworks. > ?- The size/scope of applications that this is suitable for (personal > website? small-time start up? buzzword-driven-development? Twitter?) I see it more for what types of interaction than for size of project or of team. I can only speak for myself, but: - If you asked me to write you a webmail or an image editing app, I would no doubt write it in a client-side MVC JS framework. - If tomorrow I were to write a shopping cart or a newspaper layout widget, there would have to be extremely good reasons for me not to write it client side. - I think what Basecamp is doing probably works for them, but I would only go that way if, after having built my site in the traditional "server renders html" way, measurements and experiments told me that all-JS was the only way to go. > ?- The current best practices regarding this type of architecture. No idea. I too would like to know. > ?- Which back-end would you use in Python for an application written > in this style? My first experiment would be to use the same web framework that I would use for anything else, only doing server-side rendering of data fragments in json templates. But I am ignorant, and it would be just an experiment. However, reprising your question... > As I see it there will be a MC (model-controller) type back-end that > supplies JSON to a model in a JavaScript MVC framework like > backbone.js, ember.js or what have you. I feel that the existing > Django/RoR type mega-framework is simply too heavy for this new MC > backend. Perhaps one of the micro-frameworks like Flask, Pyramid or > similar might be suitable. Well, Django provides you with a lot of plumbing: an admin interface, sessions, pluggable apps (great for a newspaper or any other site with many different "areas"). I think the choice of framework is orthogonal to the choice of client-side mvc js thingies, or not. For example, you could write a pluggable shopping cart for Satchmo, make it work client-side, and it would still make sense within Django. Or whithin any other type of framework you use. > Hoping to hear everyone chip in a few cents to this discussion :) Hoping my answer is useful and promoting of more useful discussion! J From ben.dyer at taguchimail.com Sat Mar 17 10:12:20 2012 From: ben.dyer at taguchimail.com (Ben Dyer) Date: Sat, 17 Mar 2012 20:12:20 +1100 Subject: [melbourne-pug] Web App Architecture In-Reply-To: References: Message-ID: Hi Adam, We've given this quite a bit of thought, and seem to have come to the same conclusions as you and Javier. So yeah, we think it's generally a good idea for fairly complex apps, but not so relevant for content sites. Our original web app ? a hosted email marketing platform similar to Campaign Monitor, MailChimp etc but aimed at organisations with more complex requirements ? was based on CherryPy with Mako for templates and SQLAlchemy for ORM. We didn't want to go down the monolithic framework path, primarily because I'd worked on a reasonably complex project in Rails a few years earlier and had found I spent all my time trying to work around the restrictions it imposed on me (I'm sure it's much better now; this was pre-1.0 Rails in 2005 or thereabouts). About two years ago we re-wrote everything from the ground up, switching from EC2 to a dedicated VMware cluster, from MySQL to Postgres, and from server-side templating in the CherryPy web app to an app architected essentially as you describe, with a few separate Tornado processes providing JSON APIs called from client-side JavaScript, and another Tornado process handling things like initial login and real-time notifications (long polling). This had a few practical advantages for us: ? We were able to unify all data access into a single set of HTTP APIs, used by our web app as well as by customers' applications; ? Navigation/interaction latency is almost eliminated because we're able to intelligently retrieve most data before the customer requests it; ? We're able to support things like live editing and instant display of changes (records created, deleted, modified) among all connected clients without much extra work; ? Since we were already using proper bookmarkable links within the application (originally jquery.address.js but recently HTML5 navigation), it was easy to add more "view state" to the URL, so in fact bookmarkability and browser history navigation *improved* when we switched to an all-AJAX app; ? Separating things into one process per logical unit of functionality made performance tuning, scaling and code deployments much easier. However, we've also encountered the following general challenges: ? Browser support ? we gave up on supporting any IE version prior to 8, not because of non-compliance with standards but because their JavaScript engines are too slow to provide decent performance with the amount of data we're displaying; ? Security ? loading everything through AJAX means you need to pass tokens in every single request to avoid XSRF issues (http://stackoverflow.com/a/6075862); ? Staff skill-sets ? going down this path means you're doing serious application development in JS, not just adding nifty-but-minor features with a few jQuery calls, so it means either your front-end developers are going to have to take on the whole client-side application, or your back-end developers will need to learn JavaScript (not such a big deal now with Node etc); ? Blocking database queries ? not really an issue with CherryPy since each request runs in a separate thread, but in Tornado you really need to keep all requests well under a second since they'll block everything, or set up a thread pool to insulate the Tornado main thread from blocking queries. To give you some context in terms of the second two questions you asked, our application has six developers: one designer who does HTML, CSS, and presentational JS; a back-end developer who does Python and SQL; two who do everything from SQL to CSS; a customer support guy who also does Python and SQL in support of specific customer requirements; and an infrastructure guy who we share 50% with another company. We support a few hundred users total, with probably 30-40 people logged in at any given time. Many of our users spend the majority of their working days inside our application so ease of use, responsiveness and reliability are really important to us. The other side of our application is public-facing, and runs things like "view online" versions of emails, some basic web forms/landing pages, unsubscribe pages, signup pages, and tracks clicks and opens. That side also uses Tornado and Postgres (as well as a bit of CherryPy), and handles a couple of million requests per day. If I were to re-write our system from scratch using the tools and techniques available now, as opposed to two years ago, I'd still be using a few Tornado processes on the server side, but I'd structure communications between client and server very differently: rather than our current approach which uses a "REST" (in the sense of "what many people call REST but actually isn't at all") API for everything, I'd create a true REST API for the application's core resources, and then do all of the RPC stuff (which doesn't map neatly to REST) via web sockets. On the client side, I'd still be using underscore.js/jqote2-style templates, but I'd build the application using backbone.js rather than rolling our own. I'd also make much more use of HTML5 storage for longer-term caching. I'm not going to put myself out there as a source of best practice, but I do have an extensive and painful library of suboptimal practice which I'd be happy to share? Cheers, Ben On 17/03/2012, at 18:39 , Adam MacLeod wrote: > Hello Happy People of MPUG, > > I have recently been hearing suggestions that rendering HTML on the > server side is becoming less relevant as JavaScript MVC (and other) > frameworks are developing. > > Personally I feel that having all of the client rendering logic live > inside the browser as a client to an API based server application > seems like a decent way to go. I'm sure no one needs to hear this but > I believe it should allow the front end developers to write client > interaction code independently and the back end developers to focus on > data, security, speed and scalability. > > As I see it there will be a MC (model-controller) type back-end that > supplies JSON to a model in a JavaScript MVC framework like > backbone.js, ember.js or what have you. I feel that the existing > Django/RoR type mega-framework is simply too heavy for this new MC > backend. Perhaps one of the micro-frameworks like Flask, Pyramid or > similar might be suitable. > > I am extremely interested in hearing people's opinions on the following: > > - Whether this is/will ever be a good idea. > - The size/scope of applications that this is suitable for (personal > website? small-time start up? buzzword-driven-development? Twitter?) > - The current best practices regarding this type of architecture. > > I guess the real meat of my message comes down to the following: > > - Which back-end would you use in Python for an application written > in this style? > > Hoping to hear everyone chip in a few cents to this discussion :) > > Cheers! > Adam MacLeod From gcross at fastmail.fm Sun Mar 18 08:27:27 2012 From: gcross at fastmail.fm (Graeme Cross) Date: Sun, 18 Mar 2012 18:27:27 +1100 Subject: [melbourne-pug] A Guide to Python's Magic Methods Message-ID: <1332055647.19144.140661050657401@webmail.messagingengine.com> Hi all. I came across this resource today (via Hacker News) and thought it was well worth spreading further. It is a guide to the various magic methods in Python, such as __add__, __init__ and __enter__. I have not seen a single comprehensive list and explanation of them all before; it is a great read and also inspires various bits of hackery :) http://www.rafekettler.com/magicmethods.html Enjoy, Graeme From adam.macleod at gmail.com Sun Mar 18 11:40:03 2012 From: adam.macleod at gmail.com (Adam MacLeod) Date: Sun, 18 Mar 2012 21:40:03 +1100 Subject: [melbourne-pug] Web App Architecture In-Reply-To: References: Message-ID: Hey Javier and Ben, Thanks for your replies, I found them both very informative and reaffirming. Javier; I believe you are correct about apps that have a URL expectation. I wonder if there is a nice (maintainable) way to implement complex URL's using the #! method (EG: https://twitter.com/#!/Raspberry_Pi). I figure that the time to pull down all the resources and execute another AJAX call could be quite extreme. Thanks for the Backpack input and link, I had a read and am going to explore further through the HTML5 History API. Please post an update when you hear from your friends in the CMS business :) I would love to hear their thoughts on the matter. Do they ever come to Melbourne? Perhaps they could give a talk at MPUG? :) Ben; I think there is a lot to be said about integrating your own components into a framework of sorts and maybe this would be a good way to experiment/prototype a back end. I guess it depends if you could use any of the awesome resources available to Django or if you wanted to have a slim/clean core code base. As a side note, I'd be interested to hear your thoughts about MySQL and Postgres? I previously favored MySQL but have been increasingly supportive of Postgres and would certainly use it these days. The browser support issue is something I hadn't considered as yet, depending on your market/reach/demographic all of these techniques might just be out of reach for the time being =\ Thanks for the contextual insight and explaining how you would evolve if starting today. Your reply covered the area well and I found it useful. Does anyone else have any similar stories to share? Cheers, Adam On Sat, Mar 17, 2012 at 8:12 PM, Ben Dyer wrote: > Hi Adam, > > We've given this quite a bit of thought, and seem to have come to the same conclusions as you and Javier. So yeah, we think it's generally a good idea for fairly complex apps, but not so relevant for content sites. > > Our original web app ? a hosted email marketing platform similar to Campaign Monitor, MailChimp etc but aimed at organisations with more complex requirements ? was based on CherryPy with Mako for templates and SQLAlchemy for ORM. We didn't want to go down the monolithic framework path, primarily because I'd worked on a reasonably complex project in Rails a few years earlier and had found I spent all my time trying to work around the restrictions it imposed on me (I'm sure it's much better now; this was pre-1.0 Rails in 2005 or thereabouts). > > About two years ago we re-wrote everything from the ground up, switching from EC2 to a dedicated VMware cluster, from MySQL to Postgres, and from server-side templating in the CherryPy web app to an app architected essentially as you describe, with a few separate Tornado processes providing JSON APIs called from client-side JavaScript, and another Tornado process handling things like initial login and real-time notifications (long polling). > > This had a few practical advantages for us: > ? We were able to unify all data access into a single set of HTTP APIs, used by our web app as well as by customers' applications; > ? Navigation/interaction latency is almost eliminated because we're able to intelligently retrieve most data before the customer requests it; > ? We're able to support things like live editing and instant display of changes (records created, deleted, modified) among all connected clients without much extra work; > ? Since we were already using proper bookmarkable links within the application (originally jquery.address.js but recently HTML5 navigation), it was easy to add more "view state" to the URL, so in fact bookmarkability and browser history navigation *improved* when we switched to an all-AJAX app; > ? Separating things into one process per logical unit of functionality made performance tuning, scaling and code deployments much easier. > > However, we've also encountered the following general challenges: > ? Browser support ? we gave up on supporting any IE version prior to 8, not because of non-compliance with standards but because their JavaScript engines are too slow to provide decent performance with the amount of data we're displaying; > ? Security ? loading everything through AJAX means you need to pass tokens in every single request to avoid XSRF issues (http://stackoverflow.com/a/6075862); > ? Staff skill-sets ? going down this path means you're doing serious application development in JS, not just adding nifty-but-minor features with a few jQuery calls, so it means either your front-end developers are going to have to take on the whole client-side application, or your back-end developers will need to learn JavaScript (not such a big deal now with Node etc); > ? Blocking database queries ? not really an issue with CherryPy since each request runs in a separate thread, but in Tornado you really need to keep all requests well under a second since they'll block everything, or set up a thread pool to insulate the Tornado main thread from blocking queries. > > To give you some context in terms of the second two questions you asked, our application has six developers: one designer who does HTML, CSS, and presentational JS; a back-end developer who does Python and SQL; two who do everything from SQL to CSS; a customer support guy who also does Python and SQL in support of specific customer requirements; and an infrastructure guy who we share 50% with another company. We support a few hundred users total, with probably 30-40 people logged in at any given time. Many of our users spend the majority of their working days inside our application so ease of use, responsiveness and reliability are really important to us. The other side of our application is public-facing, and runs things like "view online" versions of emails, some basic web forms/landing pages, unsubscribe pages, signup pages, and tracks clicks and opens. That side also uses Tornado and Postgres (as well as a bit of CherryPy), and handles a couple of million requests per day. > > If I were to re-write our system from scratch using the tools and techniques available now, as opposed to two years ago, I'd still be using a few Tornado processes on the server side, but I'd structure communications between client and server very differently: rather than our current approach which uses a "REST" (in the sense of "what many people call REST but actually isn't at all") API for everything, I'd create a true REST API for the application's core resources, and then do all of the RPC stuff (which doesn't map neatly to REST) via web sockets. On the client side, I'd still be using underscore.js/jqote2-style templates, but I'd build the application using backbone.js rather than rolling our own. I'd also make much more use of HTML5 storage for longer-term caching. > > I'm not going to put myself out there as a source of best practice, but I do have an extensive and painful library of suboptimal practice which I'd be happy to share? > > Cheers, > Ben > > > On 17/03/2012, at 18:39 , Adam MacLeod wrote: > >> Hello Happy People of MPUG, >> >> I have recently been hearing suggestions that rendering HTML on the >> server side is becoming less relevant as JavaScript MVC (and other) >> frameworks are developing. >> >> Personally I feel that having all of the client rendering logic live >> inside the browser as a client to an API based server application >> seems like a decent way to go. I'm sure no one needs to hear this but >> I believe it should allow the front end developers to write client >> interaction code independently and the back end developers to focus on >> data, security, speed and scalability. >> >> As I see it there will be a MC (model-controller) type back-end that >> supplies JSON to a model in a JavaScript MVC framework like >> backbone.js, ember.js or what have you. I feel that the existing >> Django/RoR type mega-framework is simply too heavy for this new MC >> backend. Perhaps one of the micro-frameworks like Flask, Pyramid or >> similar might be suitable. >> >> I am extremely interested in hearing people's opinions on the following: >> >> - Whether this is/will ever be a good idea. >> - The size/scope of applications that this is suitable for (personal >> website? small-time start up? buzzword-driven-development? Twitter?) >> - The current best practices regarding this type of architecture. >> >> I guess the real meat of my message comes down to the following: >> >> - Which back-end would you use in Python for an application written >> in this style? >> >> Hoping to hear everyone chip in a few cents to this discussion :) >> >> Cheers! >> Adam MacLeod > _______________________________________________ > melbourne-pug mailing list > melbourne-pug at python.org > http://mail.python.org/mailman/listinfo/melbourne-pug From javier at candeira.com Sun Mar 18 12:01:32 2012 From: javier at candeira.com (Javier Candeira) Date: Sun, 18 Mar 2012 22:01:32 +1100 Subject: [melbourne-pug] Web App Architecture In-Reply-To: References: Message-ID: On Sun, Mar 18, 2012 at 9:40 PM, Adam MacLeod wrote: > Javier; I believe you are correct about apps that have a URL > expectation. I wonder if there is a nice (maintainable) way to I was surprised when Ben said his apps were more bookmarkable, not less, after going to a js framework. Ben: could you explain how that worked? > implement complex URL's using the #! method (EG: > https://twitter.com/#!/Raspberry_Pi). I figure that the time to pull > down all the resources and execute another AJAX call could be quite > extreme. As I understand the Basecamp posts, they do cacheing at each div level. So if they have to request the whole page, they just do one async request for the cached (or generated) outer div. But this is just speculation based on reading their writeups. > Please post an update when you hear from your friends in the CMS > business :) I would love to hear their thoughts on the matter. Do they > ever come to Melbourne? Perhaps they could give a talk at MPUG? :) They are PHP people, and they work only in Spanish markets so far, so yes, I wish they could visit, but not likely :(* Cheers, J From ben.dyer at taguchimail.com Sun Mar 18 14:04:29 2012 From: ben.dyer at taguchimail.com (Ben Dyer) Date: Mon, 19 Mar 2012 00:04:29 +1100 Subject: [melbourne-pug] Web App Architecture In-Reply-To: References: Message-ID: Adam, On 18/03/2012, at 21:40 , Adam MacLeod wrote: > As a side note, I'd be interested to hear your thoughts about MySQL > and Postgres? I previously favored MySQL but have been increasingly > supportive of Postgres and would certainly use it these days. For us the key benefits of Postgres were the vastly more intelligent query planner and higher level of standards compliance. We use a number of fairly complex queries and MySQL's inability to optimise subqueries, limitations in terms of using multiple indexes, and lack of support for partial indexes were causing major performance problems. It'd be possible to denormalise, of course, but then what's the point of using an SQL database at all? I don't really see any reason to use MySQL for any new projects these days: if you want an SQL database then Postgres is superior in basically every way (even replication, since 9.0); if you just want "a datastore" then the various NoSQL solutions are generally no less reliable, and often more performant. Cheers, Ben From ben.dyer at taguchimail.com Sun Mar 18 14:38:49 2012 From: ben.dyer at taguchimail.com (Ben Dyer) Date: Mon, 19 Mar 2012 00:38:49 +1100 Subject: [melbourne-pug] Web App Architecture In-Reply-To: References: Message-ID: <0E027F11-252C-4178-A8A4-AA8E55364892@taguchimail.com> Javier, On 18/03/2012, at 22:01 , Javier Candeira wrote: > I was surprised when Ben said his apps were more bookmarkable, not > less, after going to a js framework. Ben: could you explain how that > worked? We started off using jquery.address.js [1], which provides cross-browser support for page state management using the document fragment identifier (#!/whatever). Right now we're using the much simpler and nicer jquery.pathchange.js [2], which uses HTML5 history where possible, only falling back to the fragment identifier method on IE 6 and 7. In any case, the idea is that you register a callback which is run whenever the page URL changes, like on page load, when the user clicks forward/back, or when an "internal" link is clicked. This callback function renders whatever section of the app corresponds to that URL, so you can tie whatever view state information you like into page navigation. For us, this meant that in-app search/filtering, which we had always done purely client-side, was able to have unique URLs attached so that history navigation made sense in terms of being able to "cancel" or modify your filter settings by going back to a previous page, as well as being able to bookmark a particular combination of searches/filters for easy access. Cheers, Ben [1]: http://www.asual.com/jquery/address/docs/ [2]: http://www.bcherry.net/playground/sanerhtml5history From javier at candeira.com Mon Mar 19 00:55:48 2012 From: javier at candeira.com (Javier Candeira) Date: Mon, 19 Mar 2012 10:55:48 +1100 Subject: [melbourne-pug] Web App Architecture In-Reply-To: <0E027F11-252C-4178-A8A4-AA8E55364892@taguchimail.com> References: <0E027F11-252C-4178-A8A4-AA8E55364892@taguchimail.com> Message-ID: On Mon, Mar 19, 2012 at 12:38 AM, Ben Dyer wrote: >> I was surprised when Ben said his apps were more bookmarkable, not >> less, after going to a js framework. Ben: could you explain how that >> worked? > [snip] > whatever section of the app corresponds to that URL, so you can tie whatever view state information you like into page navigation. For us, this meant that in-app search/filtering, which we had always done purely client-side, was able to have unique URLs attached so that history navigation made sense in terms of being able to "cancel" or modify your filter settings by going back to a previous page, as well as being able to bookmark a particular combination of searches/filters for easy access. Cool, thanks! A friend of mine was fighting with a search-based interface a couple of years ago. This would have helped him in terms of UI responsiveness. Good trick to have in mind, and I would add it as a fourth reason for going this route. From nick.p.doyle at gmail.com Mon Mar 19 01:36:56 2012 From: nick.p.doyle at gmail.com (Nicholas Doyle) Date: Mon, 19 Mar 2012 11:36:56 +1100 Subject: [melbourne-pug] Web App Architecture Message-ID: Just wanted to say thanks for asking Adam, and appreciated your responses Javier and Ben. (yes - I would be very interested to hear more from you on such topics Ben) Reminded me of Couch's "Couch App" - basically serving the app straight from the data store, interfacing with json. Started me on a Saturday learning spree about interesting new architectures (particularly off your 37signals link Ben). Thanks guys Nick -------------- next part -------------- An HTML attachment was scrubbed... URL: From dan.peade at gmail.com Mon Mar 19 01:44:53 2012 From: dan.peade at gmail.com (dan) Date: Mon, 19 Mar 2012 11:44:53 +1100 Subject: [melbourne-pug] Web App Architecture In-Reply-To: References: Message-ID: Although strictly speaking off topic as there's no python in there, thought this link may be of interest given the "new architectures" direction this thread has taken: http://blog.fogcreek.com/the-trello-tech-stack/ cheers, dan On 19 March 2012 11:36, Nicholas Doyle wrote: > Just wanted to say thanks for asking Adam, and appreciated your responses > Javier and Ben. > (yes - I would be very interested to hear more from you on such topics Ben) > Reminded me of Couch's "Couch App" - basically serving the app straight from > the data store, interfacing with json. > Started me on a Saturday learning spree about interesting new architectures > (particularly off your 37signals link Ben). > Thanks guys > Nick > > _______________________________________________ > melbourne-pug mailing list > melbourne-pug at python.org > http://mail.python.org/mailman/listinfo/melbourne-pug > -- Peace! Dan Homer's Brain: Use reverse psychology. Homer: Oh, that sounds too complicated. Homer's Brain: Okay, don't use reverse psychology. Homer: Okay, I will! From young.2004 at yahoo.com Sun Mar 25 12:30:17 2012 From: young.2004 at yahoo.com (superjack) Date: Sun, 25 Mar 2012 03:30:17 -0700 (PDT) Subject: [melbourne-pug] python on webservice Message-ID: <1332671417557-4653432.post@n6.nabble.com> Hi guys, I am pretty new to python. Now I have some questions about the python on web services. This project is about the classical client/server model. The client sends some pictures and text messages to the server. The server saves the data or sends back the data. What I am looking forward is some framework based on python. First of all, I wonot like to try the browser/server model. Secondly, I hear something about django. Unfortunately, django is used for browser/server model. Any other frame or package I might use? Any idea? Thanks in advance. -- View this message in context: http://python.6.n6.nabble.com/python-on-webservice-tp4653432p4653432.html Sent from the Melbourne / Australia mailing list archive at Nabble.com. From hartror at gmail.com Tue Mar 27 08:37:38 2012 From: hartror at gmail.com (Rory Hart) Date: Tue, 27 Mar 2012 17:37:38 +1100 Subject: [melbourne-pug] python on webservice In-Reply-To: <1332671417557-4653432.post@n6.nabble.com> References: <1332671417557-4653432.post@n6.nabble.com> Message-ID: Hi superjack A web framework like Django would work fine for you as django is the server in a client/server model that talks HTTP. You can use urllib & urllib2 as the client and talk to your server that way. Beyond that there are lot of python web frameworks and depending on your project (size, scope, likelihood of growth beyond original features and requirements to integrate with existing code) you may want to choose another one (or not). Google around and take a look. Other options to explore are: http://www.pylonsproject.org/ another web framework, lighter weight than Django and could be your best option if you are doing a small one off project. It can also grow with your project if required. http://twistedmatrix.com/trac/ this is a bit more closer to the metal than a web framework and you can write many different types of clients/servers with this library (including HTTP ones). Good luck hope this helps. -- Rory Hart http://www.roryhart.net On Sun, Mar 25, 2012 at 9:30 PM, superjack wrote: > Hi guys, > > I am pretty new to python. Now I have some questions about the python on > web > services. > This project is about the classical client/server model. > The client sends some pictures and text messages to the server. > The server saves the data or sends back the data. > What I am looking forward is some framework based on python. > > First of all, I wonot like to try the browser/server model. > Secondly, I hear something about django. Unfortunately, django is used for > browser/server model. > Any other frame or package I might use? > Any idea? > > Thanks in advance. > > -- > View this message in context: > http://python.6.n6.nabble.com/python-on-webservice-tp4653432p4653432.html > Sent from the Melbourne / Australia mailing list archive at Nabble.com. > _______________________________________________ > 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 miked at dewhirst.com.au Tue Mar 27 08:37:40 2012 From: miked at dewhirst.com.au (Mike Dewhirst) Date: Tue, 27 Mar 2012 17:37:40 +1100 Subject: [melbourne-pug] python on webservice In-Reply-To: <1332671417557-4653432.post@n6.nabble.com> References: <1332671417557-4653432.post@n6.nabble.com> Message-ID: <4F716034.90007@dewhirst.com.au> On 25/03/2012 9:30pm, superjack wrote: > Hi guys, > > I am pretty new to python. Now I have some questions about the python on web > services. > This project is about the classical client/server model. > The client sends some pictures and text messages to the server. > The server saves the data or sends back the data. > What I am looking forward is some framework based on python. > > First of all, I wonot like to try the browser/server model. > Secondly, I hear something about django. Unfortunately, django is used for > browser/server model. > Any other frame or package I might use? > Any idea? Check this ... http://diveintopython3.ep.io/http-web-services.html > > Thanks in advance. > > -- > View this message in context: http://python.6.n6.nabble.com/python-on-webservice-tp4653432p4653432.html > Sent from the Melbourne / Australia mailing list archive at Nabble.com. > _______________________________________________ > melbourne-pug mailing list > melbourne-pug at python.org > http://mail.python.org/mailman/listinfo/melbourne-pug > From ursustas at gmail.com Tue Mar 27 10:50:10 2012 From: ursustas at gmail.com (Tas) Date: Tue, 27 Mar 2012 19:50:10 +1100 Subject: [melbourne-pug] python on webservice In-Reply-To: <4F716034.90007@dewhirst.com.au> References: <1332671417557-4653432.post@n6.nabble.com> <4F716034.90007@dewhirst.com.au> Message-ID: I find http://web2py.com/ to be fantastic. ____________________ Tas ursustas at gmail.com +61 (0) 438 244 640 On Tue, Mar 27, 2012 at 5:37 PM, Mike Dewhirst wrote: > On 25/03/2012 9:30pm, superjack wrote: > >> Hi guys, >> >> I am pretty new to python. Now I have some questions about the python on >> web >> services. >> This project is about the classical client/server model. >> The client sends some pictures and text messages to the server. >> The server saves the data or sends back the data. >> What I am looking forward is some framework based on python. >> >> First of all, I wonot like to try the browser/server model. >> Secondly, I hear something about django. Unfortunately, django is used >> for >> browser/server model. >> Any other frame or package I might use? >> Any idea? >> > > Check this ... > > http://diveintopython3.ep.io/**http-web-services.html > > > > >> Thanks in advance. >> >> -- >> View this message in context: http://python.6.n6.nabble.com/** >> python-on-webservice-**tp4653432p4653432.html >> Sent from the Melbourne / Australia mailing list archive at Nabble.com. >> ______________________________**_________________ >> 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 > -------------- next part -------------- An HTML attachment was scrubbed... URL: From javier at candeira.com Tue Mar 27 11:13:18 2012 From: javier at candeira.com (Javier Candeira) Date: Tue, 27 Mar 2012 20:13:18 +1100 Subject: [melbourne-pug] python on webservice In-Reply-To: References: <1332671417557-4653432.post@n6.nabble.com> <4F716034.90007@dewhirst.com.au> Message-ID: On the client side, I like requests: http://pypi.python.org/pypi/requests J From javier at candeira.com Thu Mar 29 03:51:53 2012 From: javier at candeira.com (Javier Candeira) Date: Thu, 29 Mar 2012 12:51:53 +1100 Subject: [melbourne-pug] Teaching algorithm and data structures with Python. Textbooks? Message-ID: At Monash there is a plan to move first year programming and CS courses away from Java. The second semester unit on introduction to CS (algorithms and data structures) will be taught with Python, and I have been asked about textbooks. If anyone here has direct experience with any of the following books, I'll appreciate their comments. Otherwise, I am guiding myself by amazon comments and, at some point, we'll have to read the books (natch!), but it will be nice to cull them beforehand and work with a shortlist. Rance N. Decaise: Data Structures and Algorithms using Python http://www.amazon.com/dp/0470618299/ Bradley N Miller: Problem Solving with Algorithms and Data Structures Using Python http://www.amazon.com/dp/1590280539/ Magnus Lie Hetland: Python Algorithms: Mastering Basic Algorithms in the Python Language http://www.amazon.com/dp/1430232374/ David M. Reed, John Zelle: Data Structures and Algorithms: Using Python and C++ http://www.amazon.com/dp/1590282337/ Bruno R. Preiss: Data Structures and Algorithms with Object-Oriented Design Patterns in Python http://www.brpreiss.com/books/opus7/ I have already seen these resources: http://programmers.stackexchange.com/questions/123768/is-there-a-canonical-book-on-python-algorithms-and-data-structures From javier at candeira.com Thu Mar 29 03:58:04 2012 From: javier at candeira.com (Javier Candeira) Date: Thu, 29 Mar 2012 12:58:04 +1100 Subject: [melbourne-pug] Textbook on algorithms and data structures in Python? Message-ID: (Oops, sent too early and the message was incomplete): At Monash there is a plan to move first year programming and CS courses away from Java. The second semester unit on introduction to CS (algorithms and data structures) will (very probably) be taught with Python! I have been asked about textbooks. If anyone here has direct experience with any of the following books, I'll appreciate their comments. Otherwise, I am guiding myself by amazon comments and. At some point we'll have to read the books (natch!), but it will be nice to cull them beforehand and work with a shortlist. Rance N. Decaise: Data Structures and Algorithms using Python http://www.amazon.com/dp/0470618299/ Bradley N Miller: Problem Solving with Algorithms and Data Structures Using Python http://www.amazon.com/dp/1590280539/ Magnus Lie Hetland: Python Algorithms: Mastering Basic Algorithms in the Python Language http://www.amazon.com/dp/1430232374/ David M. Reed, John Zelle: Data Structures and Algorithms: Using Python and C++ http://www.amazon.com/dp/1590282337/ Bruno R. Preiss: Data Structures and Algorithms with Object-Oriented Design Patterns in Python http://www.brpreiss.com/books/opus7/ We would rather have feedback from someone with direct experience, but we have already seen these resources: http://programmers.stackexchange.com/questions/123768/is-there-a-canonical-book-on-python-algorithms-and-data-structures http://www.quora.com/Whats-a-good-algorithms-book-with-examples-in-Python Copied in this message is the lecturer for this unit, please keep her in your answers as she is not a subscriber to this list. Thanks! Javier From j.lee.nielsen at gmail.com Thu Mar 29 04:13:26 2012 From: j.lee.nielsen at gmail.com (Jason) Date: Thu, 29 Mar 2012 13:13:26 +1100 Subject: [melbourne-pug] Textbook on algorithms and data structures in Python? In-Reply-To: References: Message-ID: Probably not what you are after but after having visited my home town and meet with one of my old lecturers (7 years since I graduated) I got the impression that they were moving away from text books where possible for a variety of reasons, including they are too expensive, they are hard to keep up to date with the course, some students wont end up buying them (or accidentally buy the wrong edition such as the US edition) and once they graduate they are unlikely to use it as a reference. Taking all that into account have you considered doing the unit without a text book? Jason Nielsen On Thu, 29 Mar 2012 12:58:04 +1100, Javier Candeira wrote: > (Oops, sent too early and the message was incomplete): > > At Monash there is a plan to move first year programming and CS > courses away from Java. The second semester unit on introduction to CS > (algorithms and data structures) will (very probably) be taught with > Python! > > I have been asked about textbooks. If anyone here has direct > experience with any of the following books, I'll appreciate their > comments. Otherwise, I am guiding myself by amazon comments and. At > some point we'll have to read the books (natch!), but it will be nice > to cull them beforehand and work with a shortlist. > > Rance N. Decaise: Data Structures and Algorithms using Python > http://www.amazon.com/dp/0470618299/ > > Bradley N Miller: Problem Solving with Algorithms and Data Structures > Using Python > http://www.amazon.com/dp/1590280539/ > > Magnus Lie Hetland: Python Algorithms: Mastering Basic Algorithms in > the Python Language > http://www.amazon.com/dp/1430232374/ > > David M. Reed, John Zelle: Data Structures and Algorithms: Using Python and C++ > http://www.amazon.com/dp/1590282337/ > > Bruno R. Preiss: Data Structures and Algorithms with Object-Oriented > Design Patterns in Python > http://www.brpreiss.com/books/opus7/ > > We would rather have feedback from someone with direct experience, but > we have already seen these resources: > http://programmers.stackexchange.com/questions/123768/is-there-a-canonical-book-on-python-algorithms-and-data-structures > http://www.quora.com/Whats-a-good-algorithms-book-with-examples-in-Python > > Copied in this message is the lecturer for this unit, please keep her > in your answers as she is not a subscriber to this list. > > Thanks! > > Javier > _______________________________________________ > melbourne-pug mailing list > melbourne-pug at python.org > http://mail.python.org/mailman/listinfo/melbourne-pug From tleeuwenburg at gmail.com Thu Mar 29 04:46:23 2012 From: tleeuwenburg at gmail.com (Tennessee Leeuwenburg) Date: Thu, 29 Mar 2012 13:46:23 +1100 Subject: [melbourne-pug] Textbook on algorithms and data structures in Python? In-Reply-To: References: Message-ID: Hi, I haven't read any of them, but I'd be super-interested to hear any reviews! My algorithms & data structures course was in C I think... I actually mostly remember the theoretical aspects rather than the implementations we build. It was mostly an exam-based subjects, I mostly remember something something bisection methods = log n. :) ... I've certainly made use of knowledge about binary search, hashing, linked-lists and basic trees, but I've never had to rebalance a tree or needed to estimate the complexity of an algorithm at work. I wonder if there is anything in those books about data structures suited to parallel processing. Cheers, -T On Thu, Mar 29, 2012 at 12:58 PM, Javier Candeira wrote: > (Oops, sent too early and the message was incomplete): > > At Monash there is a plan to move first year programming and CS > courses away from Java. The second semester unit on introduction to CS > (algorithms and data structures) will (very probably) be taught with > Python! > > I have been asked about textbooks. If anyone here has direct > experience with any of the following books, I'll appreciate their > comments. Otherwise, I am guiding myself by amazon comments and. At > some point we'll have to read the books (natch!), but it will be nice > to cull them beforehand and work with a shortlist. > > Rance N. Decaise: Data Structures and Algorithms using Python > http://www.amazon.com/dp/0470618299/ > > Bradley N Miller: Problem Solving with Algorithms and Data Structures > Using Python > http://www.amazon.com/dp/1590280539/ > > Magnus Lie Hetland: Python Algorithms: Mastering Basic Algorithms in > the Python Language > http://www.amazon.com/dp/1430232374/ > > David M. Reed, John Zelle: Data Structures and Algorithms: Using Python > and C++ > http://www.amazon.com/dp/1590282337/ > > Bruno R. Preiss: Data Structures and Algorithms with Object-Oriented > Design Patterns in Python > http://www.brpreiss.com/books/opus7/ > > We would rather have feedback from someone with direct experience, but > we have already seen these resources: > > http://programmers.stackexchange.com/questions/123768/is-there-a-canonical-book-on-python-algorithms-and-data-structures > http://www.quora.com/Whats-a-good-algorithms-book-with-examples-in-Python > > Copied in this message is the lecturer for this unit, please keep her > in your answers as she is not a subscriber to this list. > > Thanks! > > Javier > _______________________________________________ > 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 javier at candeira.com Thu Mar 29 05:32:12 2012 From: javier at candeira.com (Javier Candeira) Date: Thu, 29 Mar 2012 14:32:12 +1100 Subject: [melbourne-pug] Textbook on algorithms and data structures in Python? In-Reply-To: References: Message-ID: On Thu, Mar 29, 2012 at 1:13 PM, Jason wrote: > Probably not what you are after but after having visited my home town and > meet with one of my old lecturers (7 years since I graduated) I got the > impression that they were moving away from text books where possible for a > variety of reasons, including they are too expensive, they are hard to keep > up to date with the course, some students wont end up buying them (or > accidentally buy the wrong edition such as the US edition) and once they > graduate they are unlikely to use it as a reference. > > Taking all that into account have you considered doing the unit without a > text book? I think it's good if the library has a textbook where students can delve deeper into the topics. Some subjects may change a lot, but an introductory CS course using Python 2.X shouldn't need much updating either... In any case, it's not my decision whether to use a textbook or not, I am just helping to pick the best one. J From javier at candeira.com Thu Mar 29 05:34:06 2012 From: javier at candeira.com (Javier Candeira) Date: Thu, 29 Mar 2012 14:34:06 +1100 Subject: [melbourne-pug] Textbook on algorithms and data structures in Python? In-Reply-To: References: Message-ID: On Thu, Mar 29, 2012 at 1:46 PM, Tennessee Leeuwenburg wrote: > I haven't read any of them, but I'd be super-interested to hear any reviews! Yes, I will report back with our conclusions. > I wonder if there is anything in those books about data structures suited to > parallel processing. Interesting topic. I will keep an eye out as I survey them. Cheers, J From tleeuwenburg at gmail.com Sat Mar 31 12:56:09 2012 From: tleeuwenburg at gmail.com (Tennessee Leeuwenburg) Date: Sat, 31 Mar 2012 21:56:09 +1100 Subject: [melbourne-pug] Reminder: MPUG this Monday, with a great lineup of speakers Message-ID: Hi all, This is your somewhat late reminder about this Monday's MPUG meetup (2 April). We have a strong lineup, with pizza and beer (and soft drinks) to follow. For those who might be coming for the first time, the venue is right next to Richmond Station, at Inspire 9. (1/41 Stewart Street in Richmond). Check the MPUG homepage for a map, and a link to the venue website. We start at 6pm, and I expect we will need to kick the talks off early in order to give our speakers the time they deserve. People new to Python are completely welcome. I often get questions about whether new developers should be coming or not, and the answer is YES! We are a very welcoming group, and consist of people from all walks of life and all levels of experience. We'd love to meet you... The talks we have lined up are as follows: 15 minute talks How not to repeat yourself in Django! - Brian May PyCon?US 2012 Roundup - Andrew Walker 10 minute talks An intro to lists, sets and list comprehensions - Graeme Cross The NASA International Space Apps Challenge - Pat Sunter Pizza for this meeting will be provided, sponsored by?ekit. I hope to see you all there! -Tennessee Leeuwenburg