- Joe on Notes from MPUG, September 2013
- Graeme Cross: Notes from MPUG, September 2013 | The Black Velvet Room on Notes from MPUG, September 2013
- Rosco on The mystery of the forest cage
- Lars Yencken on Notes from MPUG, August 2013
- Nice Python 1 liners | Pradeep Sethi's Blog on Notes from MPUG, June 2013: “Python one-liners” talk
Finally, here are my notes from the Melbourne Python User Group meeting in October.
We had over twenty people and three speakers.
Claire Sloggett, a bioinformatician at the VLSCI, gave a great introduction to Python for Genomics, starting with the “quick!” explanation of how life works, moving on to Python for genomics and then Python for managing pipelines.
Tools that Claire uses in her work include:
- scipy, numpy & matplotlib
- biopython, pysam, pyBed
- pandas & pytables
- rpy2 (for accessing R code)
- lots of wrappers around various C libraries
The pipeline discussion focused on Ruffus, which Claire uses to manage pipelines for SAM to BAM conversion work.
Lex Hider (@lexualchocolate) talked about “how to be truly lazy” by using Salt Stack. This was a revisit of Lex’s talk at PyCon AU this year, and the video is online and well worth watching to get a good overview of Salt.
Bianca Gibson gave a update on Linux Australia, including linux.conf.au 2014, which is in Perth in early January, StixCamp Gembrook, and some of the aspects of Linux Australia that people may not be aware of, including the grants program, the various subcommittees and the new community newsletter.
I have been slack recently with writing up this year’s runs, so it is time to catch up!
The fourth, and last, of the Salomon trail runs was at Anglesea in September. The long run was the Surf Coast Century 100 ultra-marathon on the Saturday, so I entered the medium (14.6km) run that was held on the Sunday.
The course was varied, starting and ending on the beach with two river crossings, some short but steep hills (as you can see in the profile below), beautiful single track and a stunningly scenic return along the ocean cliff tops.
It was impressive to see a number of runners from the previous day’s 100km run return to do one of the runs on the Sunday!
If you are in Melbourne next Monday, Ed Schofield is organising a Python 3 porting sprint. The details:
Python Charmers is hosting a Python 3 porting sprint on Monday 28 October from 6pm to 9pm. Come and learn how to port code to Python 3 and get help with porting an open source project you care about!
Python 2.7, released 39 months ago, is the final version of Python 2. All further language features and standard library enhancements will happen only in Python 3.x.
Python 3 contains powerful new features like function annotations, better memory efficiency, saner Unicode handling, and (with 3.4 due in April) packaging improvements and a powerful “asyncio“ module providing features from Tornado / gevent / Twisted in the standard library.
The Python community needs our help in order to make choosing Python 3 a no-brainer. All this needs is more packages with Python 3 support.
With Python’s “__future__“ imports and the “future“ package, it is now easier than ever to provide compatibility with both Python 2 and 3 from a single clean codebase. Come and learn how to write future-proof Python code and make a difference.
The event is free. Bring an open source package you care about and a desire to learn and contribute to the future of Python. We will keep track of how many packages we can port to both versions and publicise our results.
We’ll order in pizzas for dinner and have good music. It’ll be fun!
Space is limited to about 25-30, so if you’re keen, please add your RSVP to this page:
The Melbourne Python Users Group had about 25 people turn up to the September meeting to hear three great talks.
Richard Jones gave a reprise of his PyCon AU 2013 talk: “Don’t do this”. If you haven’t seen the talk, check out the PyCon AU video, “in which Richard will tell you about some things you should never (probably ever) do to or in Python. Warranties may be voided.”
Lars Yencken spoke on The Great Language Game, in which you play a web-based game to see if you can distinguish between 78 different languages, based on an audio snippet. Each audio snippet is accompanied with a choice between two languages. Not surprisingly, French is the most easily guessed language.
So far, it works with CPython rebuilt using Emscripten, but is about an order of magnitude slower. The JIT version is almost working, with 5 – 10% of opcodes still to be implemented. The end game is to be able to write Python apps for Firefox OS (Ryan works for Mozilla).
Salomon trail run #3 started and ended at Silvan Reservoir, winding its way through beautiful forests on trails ranging from technical single track to wide fire trails and dirt roads. The course headed north to Mt Evelyn and south to the RJ Hamer Arboretum.
This year, there were three course options: 7.3km, 14.3km & 21km. The 21km course was challenging, scenic and full of hills, as you can see from the elevation profile below. The “killer” hill rose 80m in the space of 400m, which slowed everyone down! There were 1500 competitors across the three runs, but it only felt crowded once, in the first section of single track. By the time we had cleared the two largest climbs, the field was very widely spread and there were a number of times where I could only see a couple of other runners around me.
There is only one run left in the series: Anglesea, with a choice of 7.4, 14.8 or 100km.
We had another great turn out for this month’s Melbourne Python Users Group meeting at Inspire 9.
Richard Jones, Javier Candeira and I spoke about our highlights of PyCon AU 2013.
Ed Schofield spoke on “The future”, with Python 2 to 3 migration. My hastily scribbled notes included:
- Most people in the audience are still using Python 2, with a few people using Python 3 (as well as Python 2)
- PEP 404: There will not be a Python 2.8
- Alex Gaynor: “Python 2 is the next Cobol”
- Python 3 wall of superpowers
- This used to be the wall of shame
- boto is not yet ported?
- Lots to like in Python 3
- New syntax, eg function annotations
- Changed semantics for some functions, eg. input(), int(), zip(), super(), str(), round(), …
- Byte string semantics with Unicode; Py3: explicit conversions
- from __future__ import *
- for backporting
- print, proper division, Unicode literals, absolute imports
- Ed’s “future” module
- from future import *
- write Py3 code that can be imported into Py2?
- “Migrating strategy” notes by Alexandre Vassalotti, 6 points for one-way migration: Py2 -> Py3
- Improve your test strategy, port to Py 2.6, enable Py3 warnings, …
- “python-futurize” script, uses 2to3 script
- runs with Py2 and Py3
- converts to Py3 code with Py3 idioms
- need to manually fix Unicode
- demo with the “iso8601″ package from PyPI
- PEP 414 – “Developer energy should be reserved…” quote
- Good porting guide: http://docs.python.org/2/howto/pyporting.html
- There are lots of key scientific libraries now support Py3
- PyPy now supports Py3
Javier spoke about his work investigating different Python libraries for interfacing with Github. He is currently using githubpy, which has a (relatively) small number of lines of code, no non-stdlib imports, and it’s apparently well worth reading to see how it’s done.
- We had an interesting mix of Python users and from a show of hands, not many people are doing web development
- We should be using pillow for image processing instead of PIL
- Pyweek is coming up! If you want to get involved, look at Richard’s pygame tutorials
- Python 3.4a1 is out
- PEP 8 has been updated
The next meeting is September 2, 6pm, at Inspire 9.
On one of the runs to work this week, I came across this small fenced off area in the middle of bushland.
It’s odd: there is nothing obviously special inside the cage: no unusual vegetation, no animal habitat, no gold mine shaft. It is well padlocked and (I think) recently constructed, but there is no signage to explain its purpose or owner. I love a mystery!
There are five things you need to know if you are going to do the long course here next year.
1. There are hills. Short, sharp hills. Nasty little buggers. And lots of them.
2. There are four river crossings. Calf to knee deep. You need shoes that drain well.
3. On a cold, windy winter’s day as you wade through the fourth river crossing, you will question your sanity and ask why you didn’t stay in a nice warm bed.
4. You’ll find yourself running along the top of a beautiful gorge in suburban Melbourne, watching kangaroos bounce by and realise that you are actually quite sane and that life is good… even if you are running in wet shoes!
5. Trail running shoes are your friend on this course. I learnt that the hard way last year when the shortened course was a mud bath.
Bring on the Silvan 21km run later this month. 2 runs in the series down, 2 to go.