Notes from MPUG, Oct 2014

I didn’t get to the October Melbourne Python Users Group meeting, but for the record, here is what reportedly happened…

  1. Ed Schofield gave an update on what’s new in Python this month
  2. Oliver Nagy talked about his Azrael project, where you “create interactive virtual worlds governed by real world physics”
  3. John Barham spoke on the Mezzanine CMS – his slides are here

Note that next month’s talk is on November 10th instead of the 3rd, to avoid the Cup Day long weekend.

Posted in Python | Comments Off

My QS tools & workflow

I have had a few people ask me recently how I track my exercise, so here is the low-down on my quantified self tools and workflow:

  • Food and drink is logged with MyFitnessPal. This gives me total kilojoules intake per day. MFP has a clunky web app, a sub-par Android app and an API that is not yet open to the public, but the food database is far better than any of the competitors that I have checked.
  • Steps, water consumption and sleep are all logged with a FitBit One. I love the One.
  • Weight is logged with a Withings wireless scale, which is connected to Withings Healthmate.
  • Every run, ride and hike is tracked with a Garmin Fenix. The Fenix (version 1) is a flawed device in many ways, but still a fantastic watch for outdoor activities. Over two years on, and I still prefer it over the three generations of the Suunto Ambit and see no compelling reason to upgrade to the new Fenix 2 or any of the Garmin sports watches, such as as the Forerunner series.
  • All my runs, rides and hikes are uploaded into Endomondo. Endomondo is my preferred exercise tracking tool in terms of feature set, ease of use, and ease of accessing my data compared to Strava, MapMyRun and RunKeeper. It has finally replaced the Excel-based exercise logging spreadsheet that I have used for the last decade.
  • Since I have joined the Vigor and PlanetInnovation cycling “clubs”on Strava, any ride longer than 20km is also uploaded into Strava.
  • Temperature is logged with a Garmin Tempe, connected to the Fenix via ANT+.
  • Heart rate is logged with a Mio Link, connected to the Fenix.

Some of the services are linked to eliminate data duplication: Healthmate is connected to MyFitnessPal, while MyFitnessPal and Endomondo are both connected to FitBit, so I can easily review total kilojoules in and out per day and per week.

There are services I want to look at for better reporting and analysis, such as TicTrac and exist.io; until then I find the combination of Endomondo and Fitbit works well enough for my data analysis needs.

I will follow this post up with another one answering the question of “why do all this?” another time.

 

Posted in Cycling, Running | Comments Off

October and November cycling & running events

I’ve been asked a few times, so here is the list of upcoming cycling and running events that I have entered. 

Oct 19: Around the Bay in a Day: a 250km bike ride, counter-clockwise around Port Phillip Bay. This is a social ride with friends, so a nice warm-up for the following weekend’s ride…

Oct 26: Fitz’s Challenge: the Fitz’s Epic is 205km with 4,030m of climbing around Canberra and the Brindabellas.

Nov 16: Point to Pinnacle: supposedly the hardest half-marathon in Australia. Start at sea level at Wrest Point Casino and then run straight up the side of Mt Wellington for 21.4km distance and 1,270m elevation. Fortunately there is a bus to carry you back down the mountain to Hobart!

Posted in Cycling, Running | Comments Off

Notes from MPUG, Sep 2014

It may have been the first day of spring but it was a cold, wet night for the September Melbourne Python Users Group meeting. We had at least twenty five people attend for three talks.
Thanks to Inspire 9 for hosting and Planet Innovation for sponsoring the meeting.

1. Javier Candeira – What’s new in Python

Javier updated us on what’s new and interesting in Python over the last month. His slides are online.

2. Andy Kitchen – Pattern Recognition: machine learning on GPUs in the cloud

Andy is a developer at Silverpond and walked us through using Theano for deep learning applications.

  • Deep learning is (very) computationally intensive
  • Hyperdimensional optimisation, mostly dense-matrix multiplication – use GPUs because they are often 40x faster than CPU
  • GPU programming tricky but getting easier (eg. CUDA and Theano)
  • Amazon EC2 for about $5/hr: NVIDIA AMI with CUDA, surprisingly smooth!
  • Theano: write once for CPU or GPU (via CUDA backend) by building expression trees
  • Demo: 14.23 secs with CPU, 1.14 secs with GPU
  • (Sidenote: it is also worth looking at NumbaPro from Continuum)

3. Jason King – BDD using Behave with Selenium

Jason took us through some recent work he has been doing at Common Code for testing an online medical appointment booking system. He has been using Selenium and Behave, a BDD framework that uses decorators to determine what test to execute.

Posted in Python | Comments Off

7 sets Venn diagram

This is the most interesting Venn diagram I have come across recently: an interactive isomorphic diagram exploring colour combinations from mixing seven colours. Enjoy.

 

Posted in Venn diagrams | Comments Off

Notes from MPUG, August 2014

A strong line-up of speakers and the post-PyCon AU buzz meant that we had about 35 people at the August Melbourne Python Users Group meeting. There were five presentations for the night and here are my random notes.

1. Highlights from PyCon AU 2014

Various people contributed their highlights of PyCon AU 2014, which was in Brisbane in early August (and the reason why the MPUG meeting was moved back a week). The conference videos are now up on the Youtube channel.

2. Javier Candeira: “Don’t monkeypatch None!”

Javier was inspired by discussion at PyCon AU about PEP 336 (Make None Callable) and decided to implement it, with some inspiration from previous PyCon AU talks by Ryan Kelly, Richard Jones (“Don’t do this!”), Nick Coghlan (“Elegant and ugly hacks in CPython”) and Larry Hastings.

He has implemented quiet_None, an analog to quiet_NaN. He walked us through the prototype code, with a deviation into Haskell’s Maybe monad along the way.

A few random notes:

  • Uses the ContextDecorator class
  • Module: “forbiddenfruit” and “curse” function
  • Won’t work on stackless or IronPython (as they have no working implementation of sys._getframe()
  • Problems with exceptions, so the code needs to monkeypatch Exception!

3. Juan Nunez-Iglesias: SciPy 2014, a summary

Juan works at VLSCI and is a scikit-image contributor

  • Great quote: Greg Wilson (keynote) on Software Carpentry: “we save researchers a day a week for the rest of their careers”
  • Lots of core devs from biggest names in Python scientific stack
  • Excellent tutorials; massive geoscience track, massive education track
  • EuroSciPy seems to be more academic
  • PyCon AU – very web development focus

SciPy 2014 highlights:

  • Michael Droettboom – Airspeed Velocity: code benchmarking tool with web interface and plots
  • Paul Ivanov – IPython vimception: vim bindings for IPython notebook
  • Damian Avila – RISE: live presentations from IPython notebooks
  • MinRK (from core IPython team) – IPython Parallel tutorial
  • Brian Granger & ????
  • Aaron Meurer: Conda – good package manager for C extensions as well as Python packages
  • Matt Rocklin, Mark Wiebe: Blaze – abstracting away tabular data

Recommended lightning talks:

  • Project Jupyter
  • Waffles

On Juan’s “to watch” list:

  • Chris Fonnesbeck PyMC tutorial (see Jake Vanderplas’s Bayesian vs frequentist posts)
  • David Sanders: Julia tutorial
  • Reproducible science tutorial (lots of buzz on this tutorial)
  • Geoscience and education tracks
  • Diversity: 1.5% women in 2013, 15% in 2014 – indicative of a big problem in the industry

4. Rory Hart: Microservices in Python

This was a repeat of Rory’s PyCon AU 2014 talk (here’s the video).

5. Nick Farrell: sux

Nick gave a repeat of his PyCon AU 2014 lightning talk on the sux library, which allows you to transparently use Python 2 packages in Python 3.

Posted in Python | 1 Comment

Resources for creating the “What’s New” talks

The monthly Melbourne Python User Group meeting has a regular section covering “What’s new in Python”.

Javier asked me what resources I use to compile “What’s new” when I present, so here is the list of resources I use.

Posted in Python, Talks | 1 Comment

Notes from MPUG, July 2014

We had over forty people brave the Melbourne winter to come to the July meeting, to hear Bernie Pope‘s brilliant talk on “Implementing Python in Haskell, twice!”. Most people sleep on trans-Pacific flights; Bernie is not one of those people: “By the end of the trip I had a workable Python-to-Haskell translator”.

This talk was an adapted version of an earlier talk that Bernie had given to the Melbourne Haskell Users Group earlier this year.

The slides (PDF) are online, and the different projects are available on GitHub.

And finally a reminder that MPUG is not on tonight: to avoid a clash with PyCon AU, this month’s meeting has been moved to August 11. See you there!

Posted in Python | Comments Off

PyCon AU 2014 runs

For the last two PyCon AU conferences in Hobart, we informally organised morning runs before the conference day commences and had a lot of fun in the process.

This year, in slightly warmer Brisbane, the runs will be happening again, on all five mornings of the conference. We hope you can join us for an early morning run, so pack your running gear and read the info below.

If you are a runner and not sure you are fit enough:

  • These runs are designed to be inclusive, not a race
  • The runs are designed to be 5 – 6 km long and we will aim to run them at a 5:00 – 6:00 min/km pace, depending on who turns up. If we have enough people who want to run faster or slower, we can always split into two groups
  • The runs are out and back, so even if you fall back, we will pick you up on the way back and you can’t get lost (unless you try really hard!)

If you are not a runner:

  • I would encourage you to still get some exercise in the midst of days of talks and hacking on a laptop; perhaps organise a bike ride or walk around town
  • Consider joining us next year. There are good “introduction to running” programs that you can use, including “Couch to 5K

Here are the details for the runs:

MEETING PLACE: We will meet at the conference venue, the Brisbane Convention and Exhibition Centre, at the main entrance on the corner of Merivale and Glenelg Streets. Don’t know where that is? Check out this PDF map of the venue: we will meet at the “Main Entrance” in the bottom right hand corner of the map.

DAYS: We will run all five mornings; Friday (miniconfs) through Tuesday (last day of the sprints).

START TIME: 7am sharp, aiming to be back around 7:30 – 7:40, giving you time to shower and eat before the conference starts at 9am.

ROUTE: We will vary the route each day, but it will be approximately 5 km long.

IF IT’S WET? I will still run if it’s drizzling. If it’s a torrential downpour, I’m sleeping in. On the sliding scale between drizzle and downpour, it is safe to assume that I will be more likely to run than not, so see you there.

And remember that it can get cold in Brisbane in winter, with a sub 3 degree morning last week, so a long sleeve top and a running cap or beanie are probably worth packing.

Posted in Python, Running | 3 Comments

Notes from MPUG, June 2014

We had over 30 people at the June MPUG meeting. Here (finally) are my notes…

1. “What’s new in Python”

Lars Jencken gave a great update on what’s new in the Python ecosystem, and sent his notes to the list afterwards. Here they are verbatim:

PYCON AU 2014

PYTHON 3 RUMBLINGS

TRENDING REPOS

JOBS

  • Software Developer, Biarri
  • Short term network engineering role, Python Charmers (ed@pythoncharmers.com)
  • 6-month role at Medibank (more details?)

2. Machine learning with Pandas and scikit-learn

Chris Hausler has put up the slides and ipython notebook from his talk.

3. pyenv

Tim Asquith introduced us to pyenv, for managing different versions of Python; for example, for testing an application against different Pythons.

For example:


pyenv install 3.4.1

pyenv showversions

pyenv shell 3.4.1

Some random notes:

  • You can autoswitch between Python versions
  • There is support for virtualenv
  • It works with Jenkins

4. Coming up

The next MPUG meeting is Jul 7, 6pm at Inspire 9. Bernie Pope will be speaking on “Implementing Python in Haskell, twice!”

There is an open science workshop on July 19.

Posted in Python | Comments Off