From g.urkhart at gmail.com Wed Dec 22 18:52:36 2010 From: g.urkhart at gmail.com (Graeme Urquhart) Date: Wed, 22 Dec 2010 17:52:36 +0000 Subject: [Python Edinburgh] Functional Programming in Python Message-ID: Hi, At the last pub meet there was some discussion of Functional Programming, since then I've found a few articles on IBM's developerWorks site relating to the subject and Python, so I thought I'd share them with the list! <../> Functional Programming in Python Cheers, *Graeme* -------------- next part -------------- An HTML attachment was scrubbed... URL: From judy at judy.co.uk Wed Dec 22 21:43:14 2010 From: judy at judy.co.uk (Mark Smith) Date: Wed, 22 Dec 2010 20:43:14 +0000 Subject: [Python Edinburgh] Functional Programming in Python In-Reply-To: References: Message-ID: Yeah, sorry if I raved or ranted about FP. Thanks for the link :) This message was sent from my phone, so please excuse its brevity, spelling, and punctuation. On 22 Dec 2010 17:56, "Graeme Urquhart" wrote: > Hi, > > At the last pub meet there was some discussion of Functional Programming, > since then I've found a few articles on IBM's developerWorks site relating > to the subject and Python, so I thought I'd share them with the list! > <../> > Functional Programming in > Python< http://www.ibm.com/developerworks/views/linux/libraryview.jsp?site_id=1&contentarea_by=Linux&sort_by=Title&sort_order=1&start=1&end=3&topic_by=-1&product_by=&type_by=All%20Types&show_abstract=true&search_by=Functional%20programming%20in%20Python,&industry_by=-1&series_title_by= > > > Cheers, > *Graeme* -------------- next part -------------- An HTML attachment was scrubbed... URL: From mark.smith at practicalpoetry.co.uk Thu Dec 23 12:36:54 2010 From: mark.smith at practicalpoetry.co.uk (Mark Smith) Date: Thu, 23 Dec 2010 11:36:54 +0000 Subject: [Python Edinburgh] Python Edinburgh Pub Meetup - Next Tuesday Message-ID: Hi All, The Pub Meetup's still on next week! I plan to be in Bert's Bar next Tuesday from 6:30pm. As it's in the middle of the holiday period I'm sure it'll be a token turnout, but hopefully I'll see some of you there... --Mark -------------- next part -------------- An HTML attachment was scrubbed... URL: From dougal85 at gmail.com Fri Dec 24 00:09:03 2010 From: dougal85 at gmail.com (Dougal Matthews) Date: Thu, 23 Dec 2010 23:09:03 +0000 Subject: [Python Edinburgh] Functional Programming in Python In-Reply-To: References: Message-ID: On Wednesday, 22 December 2010 at 20:43, Mark Smith wrote: > Yeah, sorry if I raved or ranted about FP. Thanks for the link :) > > > > Sounds like I am missing out of some good discussions. Did you rave and rant in favour of or against? I don't think I'm fully sold on the whole concept yet - at least, not in Python. The mangling of the coding style into a project seems wrong too and I can't really imagine starting a Python project and deciding to do it app functional. Dougal -------------- next part -------------- An HTML attachment was scrubbed... URL: From dougal85 at gmail.com Fri Dec 24 00:20:40 2010 From: dougal85 at gmail.com (Dougal Matthews) Date: Thu, 23 Dec 2010 23:20:40 +0000 Subject: [Python Edinburgh] Tell us what you did with Python this year... Message-ID: I read a post on the Python UK mailing list along these lines and found it really interesting. You can view the posts here http://mail.python.org/pipermail/python-uk/2010-December/thread.html with the subject matching this emails. (It's annoyingly hard to link to a thread in mailman - who on earth would use that?) So the question is simple, what have you done with Python this year? or what do you want to do with it next year? Worked on anything cool? Learned something new? I'll let somebody else start this off but I'll add my round up tomorrow. Cheers, Dougal -------------- next part -------------- An HTML attachment was scrubbed... URL: From mark.smith at practicalpoetry.co.uk Fri Dec 24 11:09:48 2010 From: mark.smith at practicalpoetry.co.uk (Mark Smith) Date: Fri, 24 Dec 2010 10:09:48 +0000 Subject: [Python Edinburgh] Tell us what you did with Python this year... In-Reply-To: References: Message-ID: Probably the biggest personal project this year has been a library I've been developing for a while, on and off, that generates ebook files in epub format. Also a bunch of utilities for taking the HTML produced by OCR software and turning it into 'semantic' markup using proper headings and lists and things. The lxml library has been my constant friend in these two projects, and has made the whole thing bearable, given that I don't like XML very much. The most recent 'project' was a script I wrote at the weekend that generates crochet patterns for tori (donuts). I've uploaded a photo of the resultant donut to Flickr[1]. The idea of writing code that results in a real world object appeals to me. Now that I've got the basic logic down, I plan to build a bunch of these scripts for generating geometric shapes in crochet, and then web-enable it on appengine. Crochet CAD, here we come! (Yes, this is a kinda weird project) On the work side, I changed from a job that was primarily C++ to a job that's primarily Python (or at least half-Python, half-Javascript). Next year: I do whatever random thing appeals to me at the time, so apart from plans to extend and open-source the epub library, I'll end up doing whatever inspires me in the new year, and I'll probably be coding it in Python... oh, and given that I have an Android phone and a Lego Mindstorm set, I may well be playing with Cellbots[2]. [1]: http://www.flickr.com/photos/bedmondmark/5287166165/ [2]: http://www.cellbots.com/ On 23 December 2010 23:20, Dougal Matthews wrote: > I read a post on the Python UK mailing list along these lines and found > it really interesting. You can view the posts here > http://mail.python.org/pipermail/python-uk/2010-December/thread.html with > the subject matching this emails. (It's annoyingly hard to link to a thread > in mailman - who on earth would use that?) > > So the question is simple, what have you done with Python this year? or > what do you want to do with it next year? Worked on anything cool? Learned > something new? > > I'll let somebody else start this off but I'll add my round up tomorrow. > > Cheers, > Dougal > > _______________________________________________ > Edinburgh mailing list > Edinburgh at python.org > http://mail.python.org/mailman/listinfo/edinburgh > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From danjac354 at gmail.com Fri Dec 24 11:19:06 2010 From: danjac354 at gmail.com (danjac354 at gmail.com) Date: Fri, 24 Dec 2010 10:19:06 +0000 Subject: [Python Edinburgh] Tell us what you did with Python this year... In-Reply-To: References: Message-ID: I've been working on a number of extensions for the new Flask web framework [1]. By day I've worked on a number of commercial Django projects. [1] http://flask.pocoo.org/extensions/ On 23 December 2010 23:20, Dougal Matthews wrote: > I read a post on the Python UK mailing list along these lines and found it > really interesting. You can view the posts > here?http://mail.python.org/pipermail/python-uk/2010-December/thread.html?with > the subject matching this emails. (It's annoyingly hard to link to a thread > in mailman - who on earth would use that?) > So the question is simple, what have you done with Python this year? or what > do you want to do with it next year? Worked on anything cool? Learned > something new? > I'll let somebody else start this off but I'll add my round up tomorrow. > Cheers, > Dougal > _______________________________________________ > Edinburgh mailing list > Edinburgh at python.org > http://mail.python.org/mailman/listinfo/edinburgh > > From mark.smith at practicalpoetry.co.uk Fri Dec 24 11:32:40 2010 From: mark.smith at practicalpoetry.co.uk (Mark Smith) Date: Fri, 24 Dec 2010 10:32:40 +0000 Subject: [Python Edinburgh] Functional Programming in Python In-Reply-To: References: Message-ID: We spent some time talking about haircuts too. You're not missing that much ;) I was raving in favour of functional programming, not really functional programming in Python. There are certain types of problem that just 'suit' a functional style of programming, and it's nice that Python provides tools for that, but there's not that much productivity advantage from pushing code into a functional style if it isn't one of these problems. I was referring mainly to Russel Winder's theme from the last two years at EuroPython, that processor cores will actually be getting slower, we'll just have many more of them. To fully utilise these processors, then, we need a new approach to coding that can distribute the processing load (the other approach, I suppose, is /much/ cleverer compilers that can analyse code and do some if this for you). I think the pure functional languages are ahead of Python and similar languages in this game. My proposal was that it would be nice if we could program mainly in an imperative style (I think it suits the way people think better - I could be wrong, I'm not greatly experienced in FP), but when operating on every item in a list (for example), we could annotate the operation to say 'this can happen out of sequence | this operation does not rely on any outside state', and have it automatically distributed for you. There are many libraries for distributed/multi processing in Python; I've played with Kamaelia[1], which is let down horribly by its documentation (and a very green website); and Parallel Python[2] which requires you to plan how you handle your process distribution, which is fine if it's a major feature of your app, but sometimes you just want python to 'just do' something for you... and this is overkill. Actually, this email is getting too long - I'm going to stop now :) I'll be available in the pub next Tuesday if anyone actually finds this interesting, or drop me an email... --Mark [1]: http://www.kamaelia.org/Home.html [2]: http://www.parallelpython.com/ Other Refs: http://www.doughellmann.com/articles/pythonmagazine/completely-different/2007-10-multiprocessing/index.html http://jessenoller.com/2008/10/29/actors-concurrency-and-kamaelia/ http://code.google.com/p/python-csp/ <- I think this one is pretty interesting. On 23 December 2010 23:09, Dougal Matthews wrote: > On Wednesday, 22 December 2010 at 20:43, Mark Smith wrote: > > Yeah, sorry if I raved or ranted about FP. Thanks for the link :) > > Sounds like I am missing out of some good discussions. > > Did you rave and rant in favour of or against? I don't think I'm fully sold > on the whole concept yet - at least, not in Python. The mangling of the > coding style into a project seems wrong too and I can't really imagine > starting a Python project and deciding to do it app functional. > > Dougal > > > _______________________________________________ > Edinburgh mailing list > Edinburgh at python.org > http://mail.python.org/mailman/listinfo/edinburgh > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mark.smith at practicalpoetry.co.uk Fri Dec 24 11:34:32 2010 From: mark.smith at practicalpoetry.co.uk (Mark Smith) Date: Fri, 24 Dec 2010 10:34:32 +0000 Subject: [Python Edinburgh] Tell us what you did with Python this year... In-Reply-To: References: Message-ID: Is that 4 extensions? You've been busy :) On 24 December 2010 10:19, danjac354 at gmail.com wrote: > I've been working on a number of extensions for the new Flask web > framework [1]. By day I've worked on a number of commercial Django > projects. > > [1] http://flask.pocoo.org/extensions/ > > On 23 December 2010 23:20, Dougal Matthews wrote: > > I read a post on the Python UK mailing list along these lines and found > it > > really interesting. You can view the posts > > here > http://mail.python.org/pipermail/python-uk/2010-December/thread.html with > > the subject matching this emails. (It's annoyingly hard to link to a > thread > > in mailman - who on earth would use that?) > > So the question is simple, what have you done with Python this year? or > what > > do you want to do with it next year? Worked on anything cool? Learned > > something new? > > I'll let somebody else start this off but I'll add my round up tomorrow. > > Cheers, > > Dougal > > _______________________________________________ > > Edinburgh mailing list > > Edinburgh at python.org > > http://mail.python.org/mailman/listinfo/edinburgh > > > > > _______________________________________________ > Edinburgh mailing list > Edinburgh at python.org > http://mail.python.org/mailman/listinfo/edinburgh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From danjac354 at gmail.com Fri Dec 24 11:40:36 2010 From: danjac354 at gmail.com (danjac354 at gmail.com) Date: Fri, 24 Dec 2010 10:40:36 +0000 Subject: [Python Edinburgh] Tell us what you did with Python this year... In-Reply-To: References: Message-ID: Not really - the extensions themselves are pretty small, just wrappers around other libraries for the most part. For example, Flask-Mail just uses Lamson under the hood, with some API sugar to make it play nicely with your Flask app. On 24 December 2010 10:34, Mark Smith wrote: > Is that 4 extensions? You've been busy :) > > On 24 December 2010 10:19, danjac354 at gmail.com wrote: >> >> I've been working on a number of extensions for the new Flask web >> framework [1]. By day I've worked on a number of commercial Django >> projects. >> >> [1] http://flask.pocoo.org/extensions/ >> >> On 23 December 2010 23:20, Dougal Matthews wrote: >> > I read a post on the Python UK mailing list along these lines and found >> > it >> > really interesting. You can view the posts >> > >> > here?http://mail.python.org/pipermail/python-uk/2010-December/thread.html?with >> > the subject matching this emails. (It's annoyingly hard to link to a >> > thread >> > in mailman - who on earth would use that?) >> > So the question is simple, what have you done with Python this year? or >> > what >> > do you want to do with it next year? Worked on anything cool? Learned >> > something new? >> > I'll let somebody else start this off but I'll add my round up tomorrow. >> > Cheers, >> > Dougal >> > _______________________________________________ >> > Edinburgh mailing list >> > Edinburgh at python.org >> > http://mail.python.org/mailman/listinfo/edinburgh >> > >> > >> _______________________________________________ >> Edinburgh mailing list >> Edinburgh at python.org >> http://mail.python.org/mailman/listinfo/edinburgh > > > _______________________________________________ > Edinburgh mailing list > Edinburgh at python.org > http://mail.python.org/mailman/listinfo/edinburgh > > From liw at liw.fi Fri Dec 24 11:31:16 2010 From: liw at liw.fi (Lars Wirzenius) Date: Fri, 24 Dec 2010 10:31:16 +0000 Subject: [Python Edinburgh] Tell us what you did with Python this year... In-Reply-To: References: Message-ID: <1293186676.23963.168.camel@havelock.lan> I wrote a B-tree implementation for my backup program. The B-tree uses copy-on-write techniques to allow very efficient cloning of trees (so I can have one tree per backup generation, for example), and is nicely pluggable so that the way tree nodes are stored on disk are easily controlled by the user, if they so wish. Actually, the user gets to control where the nodes are stored -- on disk, in memory, in the cloud, whatever. Both pieces of software are still work in progress, though. http://liw.fi/btree/ http://braawi.org/obnam/ On pe, 2010-12-24 at 10:19 +0000, danjac354 at gmail.com wrote: > I've been working on a number of extensions for the new Flask web > framework [1]. By day I've worked on a number of commercial Django > projects. > > [1] http://flask.pocoo.org/extensions/ > > On 23 December 2010 23:20, Dougal Matthews wrote: > > I read a post on the Python UK mailing list along these lines and found it > > really interesting. You can view the posts > > here http://mail.python.org/pipermail/python-uk/2010-December/thread.html with > > the subject matching this emails. (It's annoyingly hard to link to a thread > > in mailman - who on earth would use that?) > > So the question is simple, what have you done with Python this year? or what > > do you want to do with it next year? Worked on anything cool? Learned > > something new? > > I'll let somebody else start this off but I'll add my round up tomorrow. > > Cheers, > > Dougal > > _______________________________________________ > > Edinburgh mailing list > > Edinburgh at python.org > > http://mail.python.org/mailman/listinfo/edinburgh > > > > > _______________________________________________ > Edinburgh mailing list > Edinburgh at python.org > http://mail.python.org/mailman/listinfo/edinburgh > -- Blog/wiki/website hosting with ikiwiki (free for free software): http://www.branchable.com/ From derek.hoy at gmail.com Fri Dec 24 12:02:19 2010 From: derek.hoy at gmail.com (Derek Hoy) Date: Fri, 24 Dec 2010 11:02:19 +0000 Subject: [Python Edinburgh] Tell us what you did with Python this year... In-Reply-To: References: Message-ID: Hadn't seen Lamson before. Thanks! Derek On Fri, Dec 24, 2010 at 10:40 AM, danjac354 at gmail.com wrote: > Not really - the extensions themselves are pretty small, just wrappers > around other libraries for the most part. For example, Flask-Mail just > uses Lamson under the hood, with some API sugar to make it play nicely > with your Flask app. > > On 24 December 2010 10:34, Mark Smith wrote: >> Is that 4 extensions? You've been busy :) >> >> On 24 December 2010 10:19, danjac354 at gmail.com wrote: >>> >>> I've been working on a number of extensions for the new Flask web >>> framework [1]. By day I've worked on a number of commercial Django >>> projects. >>> >>> [1] http://flask.pocoo.org/extensions/ >>> >>> On 23 December 2010 23:20, Dougal Matthews wrote: >>> > I read a post on the Python UK mailing list along these lines and found >>> > it >>> > really interesting. You can view the posts >>> > >>> > here?http://mail.python.org/pipermail/python-uk/2010-December/thread.html?with >>> > the subject matching this emails. (It's annoyingly hard to link to a >>> > thread >>> > in mailman - who on earth would use that?) >>> > So the question is simple, what have you done with Python this year? or >>> > what >>> > do you want to do with it next year? Worked on anything cool? Learned >>> > something new? >>> > I'll let somebody else start this off but I'll add my round up tomorrow. >>> > Cheers, >>> > Dougal >>> > _______________________________________________ >>> > Edinburgh mailing list >>> > Edinburgh at python.org >>> > http://mail.python.org/mailman/listinfo/edinburgh >>> > >>> > >>> _______________________________________________ >>> Edinburgh mailing list >>> Edinburgh at python.org >>> http://mail.python.org/mailman/listinfo/edinburgh >> >> >> _______________________________________________ >> Edinburgh mailing list >> Edinburgh at python.org >> http://mail.python.org/mailman/listinfo/edinburgh >> >> > _______________________________________________ > Edinburgh mailing list > Edinburgh at python.org > http://mail.python.org/mailman/listinfo/edinburgh > From mark.smith at practicalpoetry.co.uk Fri Dec 24 12:41:30 2010 From: mark.smith at practicalpoetry.co.uk (Mark Smith) Date: Fri, 24 Dec 2010 11:41:30 +0000 Subject: [Python Edinburgh] Tell us what you did with Python this year... In-Reply-To: <1293186676.23963.168.camel@havelock.lan> References: <1293186676.23963.168.camel@havelock.lan> Message-ID: That is pretty cool. I needed a B-tree implementation a while ago and I couldn't find a nice generic one... I wish I could remember what I needed it for - or what I did instead - I didn't use a B-tree in the end! :) --Mark On 24 December 2010 10:31, Lars Wirzenius wrote: > I wrote a B-tree implementation for my backup program. The B-tree uses > copy-on-write techniques to allow very efficient cloning of trees (so I > can have one tree per backup generation, for example), and is nicely > pluggable so that the way tree nodes are stored on disk are easily > controlled by the user, if they so wish. Actually, the user gets to > control where the nodes are stored -- on disk, in memory, in the cloud, > whatever. > > Both pieces of software are still work in progress, though. > > http://liw.fi/btree/ > http://braawi.org/obnam/ > > On pe, 2010-12-24 at 10:19 +0000, danjac354 at gmail.com wrote: > > I've been working on a number of extensions for the new Flask web > > framework [1]. By day I've worked on a number of commercial Django > > projects. > > > > [1] http://flask.pocoo.org/extensions/ > > > > On 23 December 2010 23:20, Dougal Matthews wrote: > > > I read a post on the Python UK mailing list along these lines and found > it > > > really interesting. You can view the posts > > > here > http://mail.python.org/pipermail/python-uk/2010-December/thread.html with > > > the subject matching this emails. (It's annoyingly hard to link to a > thread > > > in mailman - who on earth would use that?) > > > So the question is simple, what have you done with Python this year? or > what > > > do you want to do with it next year? Worked on anything cool? Learned > > > something new? > > > I'll let somebody else start this off but I'll add my round up > tomorrow. > > > Cheers, > > > Dougal > > > _______________________________________________ > > > Edinburgh mailing list > > > Edinburgh at python.org > > > http://mail.python.org/mailman/listinfo/edinburgh > > > > > > > > _______________________________________________ > > Edinburgh mailing list > > Edinburgh at python.org > > http://mail.python.org/mailman/listinfo/edinburgh > > > > -- > Blog/wiki/website hosting with ikiwiki (free for free software): > http://www.branchable.com/ > > _______________________________________________ > Edinburgh mailing list > Edinburgh at python.org > http://mail.python.org/mailman/listinfo/edinburgh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From thomas.figg at gmail.com Fri Dec 24 12:06:36 2010 From: thomas.figg at gmail.com (Thomas Figg) Date: Fri, 24 Dec 2010 11:06:36 +0000 Subject: [Python Edinburgh] Functional Programming in Python In-Reply-To: References: Message-ID: On 24 Dec 2010, at 10:32, Mark Smith wrote: > To fully utilise these processors, then, we need a new approach to coding that can distribute the processing load You might want to look at chapel - a language from cray - to see a modern attempt at a language for distributed and parallel number crunching. Alternatively the recent language 'Plaid' has some novel ways of using data-flow for parallelism. Anyway, there are two main approaches to multiple processors: parallel processing and concurrency. What works for one might not work for the other. For example, google use map-reduce (a batch framework for out of core processing) and pregel (using a bulk synchronous parallel model for graph calculations) - both with elements of parallelism but massively different architectures. Parallelising an algorithm is hard, and the sufficiently smart compilers haven't arrived yet - at least not for imperative languages. Functional programs are easier to re-order and rewrite because of the lack of side effects/referential transparency. Languages with restrictions on aliasing (fortran) and assignment (single assigment c) are simpler to optimise. Using annotations is bug prone, and debugging parallel programs is no mean feat. Even when you do parallelise something, often the returns aren't that great - the overhead of synchronisation eats away at performance gains (c.f ahmdals law) We also face the larger problem of locality. We still program as if access to memory is universally cheap, when in reality some memory is cheaper to read than other bits (see cache hits). This gets much harder to deal with when you bring in extra cores and machines. I guess what I'm trying to say is that effective use of multiple processors requires good design from the outset, rather than annotations on for loops. Aside: You might enjoy this talk about the architecture behind a low latency trade system, and why the avoided the traditional models http://bit.ly/i22X6C -tef From mark.smith at practicalpoetry.co.uk Fri Dec 24 13:00:24 2010 From: mark.smith at practicalpoetry.co.uk (Mark Smith) Date: Fri, 24 Dec 2010 12:00:24 +0000 Subject: [Python Edinburgh] Functional Programming in Python In-Reply-To: References: Message-ID: Hey Tef, I'll definitely check out those references. I agree with everything you say here... my point wasn't so much 'how do you write a complete application so that it is /optimally/ distributed' - that's definitely something that needs to be designed-in. My point was more 'how can we extend Python so that the runtime knows enough to be /able/ to optimise (to some degree) for this environment.' I don't want my favourite programming language to be obsoleted by this development in hardware architecture. I feel that the most-used programming languages are blindly walking towards this problem though, so we're not alone. You coming along on Tuesday? --Mark On 24 December 2010 11:06, Thomas Figg wrote: > > On 24 Dec 2010, at 10:32, Mark Smith wrote: > > > To fully utilise these processors, then, we need a new approach to coding > that can distribute the processing load > > You might want to look at chapel - a language from cray - to see a modern > attempt at a language for distributed > and parallel number crunching. Alternatively the recent language 'Plaid' > has some novel ways of using data-flow for parallelism. > > Anyway, there are two main approaches to multiple processors: parallel > processing and concurrency. What works for one might not work for the other. > > For example, google use map-reduce (a batch framework for out of core > processing) and pregel (using a bulk synchronous parallel model for graph > calculations) - both with elements of parallelism but massively different > architectures. > > Parallelising an algorithm is hard, and the sufficiently smart compilers > haven't arrived yet - at least not for imperative languages. Functional > programs are easier to re-order and rewrite because of the lack of side > effects/referential transparency. Languages with restrictions on aliasing > (fortran) and assignment (single assigment c) are simpler to optimise. Using > annotations is bug prone, and debugging parallel programs is no mean feat. > > Even when you do parallelise something, often the returns aren't that great > - the overhead of synchronisation > eats away at performance gains (c.f ahmdals law) > > We also face the larger problem of locality. We still program as if access > to memory is universally cheap, when in reality some memory is cheaper to > read than other bits (see cache hits). This gets much harder to deal with > when you bring in extra cores and machines. > > I guess what I'm trying to say is that effective use of multiple processors > requires good design from the outset, rather than annotations on for loops. > > Aside: You might enjoy this talk about the architecture behind a low > latency trade system, and why the avoided > the traditional models http://bit.ly/i22X6C > > > -tef > > _______________________________________________ > Edinburgh mailing list > Edinburgh at python.org > http://mail.python.org/mailman/listinfo/edinburgh > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jonathan at jonathanstreet.com Fri Dec 24 13:30:34 2010 From: jonathan at jonathanstreet.com (Jonathan Street) Date: Fri, 24 Dec 2010 12:30:34 +0000 Subject: [Python Edinburgh] Tell us what you did with Python this year... In-Reply-To: References: <1293186676.23963.168.camel@havelock.lan> Message-ID: Well this was my first year with python coming from a bit of experience with PHP and javascript and even less experience with Limbo. I've mainly been using python for data manipulation and analysis [1] so scipy, matplotlib and mdp have been my most frequently imported packages. Nothing novel in terms of the python code but it's helped me produce some decent plots for my thesis. I've also been looking at OCR of english heritage plaques [2]. The heavy lifting has been done by tesseract with python being used to glue everything together and for image and text cleanup. I've also used python together with beautifulsoup to extract posts from a downloaded mirror of a private forum to make it available for full-text search. That was actually the first project I did with python and was basically a re-write of a PHP script. Next steps for me are probably to - - continue with the OCR as there are still significant improvements which can be made - work on a large project, perhaps a website, rather than just command line scripts. Start to think about frameworks, testing and other aspects of good code. [1] http://jonathanstreet.com/blog/tips-python-data-analysis [2] http://jonathanstreet.com/blog/third-aicookbook-challenge On 24 December 2010 11:41, Mark Smith wrote: > That is pretty cool. I needed a B-tree implementation a while ago and I > couldn't find a nice generic one... I wish I could remember what I needed it > for - or what I did instead - I didn't use a B-tree in the end! :) > > --Mark > > > On 24 December 2010 10:31, Lars Wirzenius wrote: > >> I wrote a B-tree implementation for my backup program. The B-tree uses >> copy-on-write techniques to allow very efficient cloning of trees (so I >> can have one tree per backup generation, for example), and is nicely >> pluggable so that the way tree nodes are stored on disk are easily >> controlled by the user, if they so wish. Actually, the user gets to >> control where the nodes are stored -- on disk, in memory, in the cloud, >> whatever. >> >> Both pieces of software are still work in progress, though. >> >> http://liw.fi/btree/ >> http://braawi.org/obnam/ >> >> On pe, 2010-12-24 at 10:19 +0000, danjac354 at gmail.com wrote: >> > I've been working on a number of extensions for the new Flask web >> > framework [1]. By day I've worked on a number of commercial Django >> > projects. >> > >> > [1] http://flask.pocoo.org/extensions/ >> > >> > On 23 December 2010 23:20, Dougal Matthews wrote: >> > > I read a post on the Python UK mailing list along these lines and >> found it >> > > really interesting. You can view the posts >> > > here >> http://mail.python.org/pipermail/python-uk/2010-December/thread.html with >> > > the subject matching this emails. (It's annoyingly hard to link to a >> thread >> > > in mailman - who on earth would use that?) >> > > So the question is simple, what have you done with Python this year? >> or what >> > > do you want to do with it next year? Worked on anything cool? Learned >> > > something new? >> > > I'll let somebody else start this off but I'll add my round up >> tomorrow. >> > > Cheers, >> > > Dougal >> > > _______________________________________________ >> > > Edinburgh mailing list >> > > Edinburgh at python.org >> > > http://mail.python.org/mailman/listinfo/edinburgh >> > > >> > > >> > _______________________________________________ >> > Edinburgh mailing list >> > Edinburgh at python.org >> > http://mail.python.org/mailman/listinfo/edinburgh >> > >> >> -- >> Blog/wiki/website hosting with ikiwiki (free for free software): >> http://www.branchable.com/ >> >> _______________________________________________ >> Edinburgh mailing list >> Edinburgh at python.org >> http://mail.python.org/mailman/listinfo/edinburgh >> > > > _______________________________________________ > Edinburgh mailing list > Edinburgh at python.org > http://mail.python.org/mailman/listinfo/edinburgh > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dougal85 at gmail.com Fri Dec 24 14:35:31 2010 From: dougal85 at gmail.com (Dougal Matthews) Date: Fri, 24 Dec 2010 13:35:31 +0000 Subject: [Python Edinburgh] Tell us what you did with Python this year... In-Reply-To: References: Message-ID: On 24 December 2010 10:40, danjac354 at gmail.com wrote: > Not really - the extensions themselves are pretty small, just wrappers > around other libraries for the most part. For example, Flask-Mail just > uses Lamson under the hood, with some API sugar to make it play nicely > with your Flask app. I've been itching to play with Lamson, how did you find it? -------------- next part -------------- An HTML attachment was scrubbed... URL: From dougal85 at gmail.com Fri Dec 24 14:38:57 2010 From: dougal85 at gmail.com (Dougal Matthews) Date: Fri, 24 Dec 2010 13:38:57 +0000 Subject: [Python Edinburgh] Tell us what you did with Python this year... In-Reply-To: References: <1293186676.23963.168.camel@havelock.lan> Message-ID: On 24 December 2010 12:30, Jonathan Street wrote: > Well this was my first year with python coming from a bit of experience > with PHP and javascript and even less experience with Limbo. I've mainly > been using python for data manipulation and analysis [1] so scipy, > matplotlib and mdp have been my most frequently imported packages. Nothing > novel in terms of the python code but it's helped me produce some decent > plots for my thesis. > Sounds like I done a similar thing for my MSc. I had various machine learning algorithms and it automatically generated tons of graphs and then I could choose the one that best represented what I wanted to show. Worked a treat. I tried using matplotlib last week, when you need to match a company style or branding with the graph it becomes a bit of a pain. I fell back to using PIL's draw module. -------------- next part -------------- An HTML attachment was scrubbed... URL: From danjac354 at gmail.com Fri Dec 24 15:03:11 2010 From: danjac354 at gmail.com (danjac354 at gmail.com) Date: Fri, 24 Dec 2010 14:03:11 +0000 Subject: [Python Edinburgh] Tell us what you did with Python this year... In-Reply-To: References: Message-ID: I needed to do some work-related mailing list stuff, and I'd heard about it on Zed Shaw's blog (maybe via Hacker News/Reddit). On 24 December 2010 13:35, Dougal Matthews wrote: > > On 24 December 2010 10:40, danjac354 at gmail.com wrote: >> >> Not really - the extensions themselves are pretty small, just wrappers >> around other libraries for the most part. For example, Flask-Mail just >> uses Lamson under the hood, with some API sugar to make it play nicely >> with your Flask app. > > I've been itching to play with Lamson, how did you find it? > _______________________________________________ > Edinburgh mailing list > Edinburgh at python.org > http://mail.python.org/mailman/listinfo/edinburgh > > From dougal85 at gmail.com Fri Dec 24 15:31:55 2010 From: dougal85 at gmail.com (Dougal Matthews) Date: Fri, 24 Dec 2010 14:31:55 +0000 Subject: [Python Edinburgh] Tell us what you did with Python this year... In-Reply-To: References: Message-ID: On 23 December 2010 23:20, Dougal Matthews wrote: > > So the question is simple, what have you done with Python this year? or > what do you want to do with it next year? Worked on anything cool? Learned > something new? > I've had an interesting and very Python oriented year. Initially I worked remotely for a company in London creating bespoke Django websites to solve problems for medical colleges and researchers in England and Wales. Now I'm currently working for a very enterprise customer and enjoying introducing projects with names like celery[1] and ghettoq[2] into their repositories. Going from doing some front end work at the start of the year, I am now doing 100% Python, I don't even touch the front end code. It's a bit odd and I miss the mixture a bit but at the same time its nice to never need to load internet explorer. I've become way more familiar with Django's internals, diving in and helping out with some bugs and even braving the ORM code at times. I've had a few patches accepted and committed to trunk too (mostly tiny things though [3]). However, I have not contributed nearly as much as I like, partly this is due to working like a dog and riding out the demand for Django developers. Next year, I plan on changing this a gap between contracts sounds like a plan. I've taken part in the Google AI contest and given the length of time I managed to put into it, I'm fairly happy with how I done[4]. I've worked on a few side-project websites, some with Mat and some solo, but they pretty much all fell over at some point and I didn't finish them. I had fun though and got to try our a few different external apps in the process - so it wasn't all bad. Another resolution for next year, do less projects but finish them FFS! :) If nothing else I should probably just release the code and see if somebody else would find it useful. I've also got loads of other pieces of code around that I need to tidy up, put online or delete. My ~/Django and ~/Python dirs are a bit of a graveyard. I'd like to have more Python related events next year. More sprints and add talks into the Python Edinburgh mix but its tricky when I'm not really in the area most of the time - that's something I want to change too. Think that about sums it up, although, I really feel like I'm missing something. Dougal [1] http://celeryproject.org/ [2] https://github.com/ask/ghettoq [3] http://code.djangoproject.com/changeset/14244 [4] http://ai-contest.com/profile.php?user_id=12219 -------------- next part -------------- An HTML attachment was scrubbed... URL: From jonathan at jonathanstreet.com Fri Dec 24 15:32:20 2010 From: jonathan at jonathanstreet.com (Jonathan Street) Date: Fri, 24 Dec 2010 14:32:20 +0000 Subject: [Python Edinburgh] Tell us what you did with Python this year... In-Reply-To: References: <1293186676.23963.168.camel@havelock.lan> Message-ID: It sounds like your use was significantly more advanced. My degree was in Biochemistry and despite a brief foray into bioinformatics my interest is still very much in biology and health. The closest I've gotten to machine learning is PCA. My needs for matplotlib are fairly simple, consistent style and better than Excel is all I really need. Also one objective for 2011 that I missed - - actually make it to a meetup. On 24 December 2010 13:38, Dougal Matthews wrote: > > On 24 December 2010 12:30, Jonathan Street wrote: > >> Well this was my first year with python coming from a bit of experience >> with PHP and javascript and even less experience with Limbo. I've mainly >> been using python for data manipulation and analysis [1] so scipy, >> matplotlib and mdp have been my most frequently imported packages. Nothing >> novel in terms of the python code but it's helped me produce some decent >> plots for my thesis. >> > > Sounds like I done a similar thing for my MSc. I had various machine > learning algorithms and it automatically generated tons of graphs and then I > could choose the one that best represented what I wanted to show. Worked a > treat. I tried using matplotlib last week, when you need to match a company > style or branding with the graph it becomes a bit of a pain. I fell back > to using PIL's draw module. > > _______________________________________________ > Edinburgh mailing list > Edinburgh at python.org > http://mail.python.org/mailman/listinfo/edinburgh > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mark.smith at practicalpoetry.co.uk Tue Dec 28 14:02:13 2010 From: mark.smith at practicalpoetry.co.uk (Mark Smith) Date: Tue, 28 Dec 2010 13:02:13 +0000 Subject: [Python Edinburgh] Pub Meetup Tonight Message-ID: Hi All, Season's Greetings! I hope you all managed to get through the family occasions without too much Pictionary & Monopoly. I don't know about you, but I'm desperate to get out of the house for a night in the pub :-) The pub meetup is tonight at 6:30pm at Berts Bar[1]. If there's live music in Berts, we'll probably head to Teuchters (literally across the street)[2] at around 7:30pm. I'll stick a printout of the Python logo on the end of the table when I get there so that we're easy to find in the pub. --Mark [1]: http://maps.google.com/maps/place?cid=5826663072903353370&q=berts+bar+edinburgh [2]: http://www.aroomin.co.uk/west-end/directions.html -------------- next part -------------- An HTML attachment was scrubbed... URL: