Sharon Wilson

If you visit Bermuda you will likely end up at Horseshoe Bay at some point during your trip.

This is one of the biggest and busiest of the South Shore beaches. Whenever there is a long weekend things will be happening on Horseshoe Bay, such as the annual Good Friday flying of kites.

From Horseshoe Bay you can walk along the coast, past a number of smaller and quieter beaches and coves. Often you will be able to find a beach to yourself, with pink sands, turquoise water and tropical fish swimming around the reefs.

At the top of the driveway that leads down to Horseshoe Bay you will find Southampton Rangers football and cricket club. On the weekend you might be able to watch some cricket and get some refreshment.

There is also a restaurant, Gulf Stream where you can get a bite to eat.

Less than a couple of hundred yards to the west you will find a small side-road, Turtle Place. This is where local artist Sharon Wilson lives. Her home is also her studio and her gallery.

If she is open for visitors she usually puts out a sandwich board at the end of the road, sometimes with a couple of balloons attached. In that case, you are in luck. She will welcome you to her home and let you discover her art.

I have a copy of a book she produced, here is the cover:

../galleries/SharonWilson/book_cover.jpg

My cat seems to like the book too:

../galleries/Snowy/snowy_wilson.jpg

There is a story behind everything she paints. She will tell you some of those stories, but also let you find your own story.

Here is another picture, it has a good story too:

../galleries/SharonWilson/father_and_daughter.jpg

PyCon 2015

I am writing this as I fly back to Bermuda from another wonderful PyCon. This year it was again in Montreal, the same venue as last year. The next two years it will be in Portland, Oregon.

This is just one of the wonders of PyCon, the opportunity to visit vibrant cities with large tech communities.

The conference was bigger than ever, 3000 attendees. My first PyCon was a mere 400 or so attendees. Happily, as the conference has grown in size, it has retained the spirit that makes it a fantastic experience for old and new pythonistas. If anything, it is more welcoming and inclusive as the years pass. The community actively seeks to be inclusive and there were a number of talks and events along this theme.

The community spirit is absolutely fundamental to the success of python. It is one of the main reasons to consider the language. When you are working with python there is a huge community of enthusiastic and dedicated people who are only too happy to share their work and help others.

Below are some of the personal highlights from the conference, but there really is so much going on that what you will read here is just a snapshot of the magic that is PyCon and the python community.

It is also in no particular order.

Satellite data for everyone

Chris Waigl gave an excellent talk on satellite imagery, the freely available data, how to work with it and the python tools that enable that work.

Seeing what others are able to do with data like this inevitably inspires new ideas.

I am planning to take a look at what imagery is available for Bermuda over the period of the hurricanes Fay and Gonzalo that hit the island separated only by six days.

There will definitely be good before and after imagery, with luck there will also be some usable images from the six day period between the storms.

The usual suspects

The python community has some speakers that are very skilled at presenting complex ideas in an entertaining and informative way. They are always worth looking out for. If you are new at PyCon, ask others what talks they are going to, it will help you be in the right room for you.

Oh, and don't panic, pretty much all talks are recorded and available online (youtube seems to have replaced PyVideo here).

This year, for me, it was the three B's: Beazely, Bernhart and Batchelder.

David Beazely live coding

I always enjoy listening to David Beazely. This year he spoke on python concurrency with live coding. I am guessing there were at least 1000 people present. For added kicks and giggles he chose python 3.5.0a3 (I think). The key bit was the 'a', he was doing a live demo with an alpha version of python: what could possibly go wrong? He demonstrated the way the Global Interpreter Lock (GIL) impacts performance of threaded code.

One line that grabbed my attention was that the GIL does not behave like an operating system. The GIL is all about making sure threads don't trample on each other by mangling shared data. In short, within python only one thread can run at a time.

Ned Batchelder names and values

Ned Batchelder spoke on python names and values, a wonderfully clear exposition on how python stores values. I recommend this talk to anyone new to python, it will likely save you a few hours of chasing mysterious bugs.

Gary Bernhardt

Gary Bernhardt followed up his Rise and fall of javascript from last year with a closing keynote motivated by Donald Rumsfeld's known-unknowns speech. He talked about beliefs programmers have, that really have an underlying belief driving them. Discovering that underlying belief is the key to being able to discuss these ideas with others that have differing views. He gave an example along these lines.

Python needs tests because it does not have static typing
I don't need tests because I have types

Gary pointed out that these two statements cannot both be true, unless tests are somehow the same as types and eloquently exposed the underlying beliefs behind these statements.

Not all Python

PyCon is by no means all python.

There were talks on Advanced Git, ethics, inclusivity, freedom, the brokenness of TLS (https).

Not all talks

The Expo Hall where conference sponsors had their booths also served as the breakfast and lunch place. As per last year, I found the Expo Hall a valuable place to spend time.

The vast majority of sponsors booths are run by techies, not marketting droids and they are great place to find others with similar interests.

Meal times give an opportunity to sit at a random table and meet others and share ideas.

MAGIC

I have been interested in the MAGIC center at Rochester Institute of Technology since hearing Remy DeCausemaker speak about it last year.

MAGIC allows students to take a minor in Open Source.

Lightning talks

Lightning talks are always fun, often at the end of the day. Speakers have precisely 5 minutes to talk. If you want to give a talk, just sign up on the board. These are usually over-subscribed.

Poster Sessions

Sunday morning the expo hall switched into a combined jobs fair and poster sessions. The poster sessions were small booths where people created posters relating to projects and ideas they are working on.

You can then wander around and talk to people working on ideas you are also interested in. These complement the talks in that it gives a chance for more detailed discussion with the people running the projects.

Live captioning

Most of the talks had live captioning. This captioning was remarkably good with essentially real time display. It even coped well with speakers that added a bit of French.

Keynotes

Jacob Kaplan-Moss's keynote reflected the focus on inclusivity in the python community. He talked about how programmers are all perceived either to rock or suck. In short we are led to believe that the distribution of programming abilities is essentially an upside down bell-curve.

Jacob pointed out the absurdity of this perception and also its very damaging consequences. The reality is that programming ability, like most attributes, should follow a normal distribution, hence the vast majority of programmers are just average or as Jacob described himself, I am a mediocre programmer.

The python community is full of people who use python in order to get other stuff done in a very wide range of activities. It is widely used in science, finance, education and a plethora of other areas.

As such, you will often hear pythonistas say, "I am not a real programmer". I would include myself in this bracket, despite having spent my entire working career building software of one sort or another. But that software has always been a means to an end.

I believe my reality is closer to being good enough at quite a lot of things and having the capacity to become good enough at anything I am passionate enough about to pursue.

But to get there you have to deal with the little hater. The voice that eats away at you saying, "You suck at this". Many software communities will confirm this belief for you. The python community is trying to be different.

By insisting that all programmers rock we are excluding the vast majority of programmers from that activity. This causes angst for those already pursuing at the activity and dramatically increases the barrier to entry. The result is a smaller, less diverse, less interesting and less effective community.

Thanks Jacob for a truly inspiring talk. Thanks also to the python community for recognising and trying to address this issue.

Sprinting

My flight home was not until Monday evening, so I was able to attend the first day of code sprints.

Once the conference closed on Sunday afternoon, sprint leaders were given a couple of minutes to talk about what they would be working on.

There was then an introductory session organised, primarily aimed at people new to sprinting, but also of great benefit to more experienced sprinters.

There were people giving introductions to git, virtualenv, virtualbox, testing in python, http and more. Each introduction was repeated 3 times in 15 minute sessions. Hence, everyone could listed to three subjects of there choice.

I found this a useful session to fill in some gaps in my knowledge and also to get to know some of the other sprinters.

PyCon videos

If this blog post has sparked your interest in PyCon I would encourage you to watch some videos from the talks. Just go to youtube and search for PyCon 2015. See the schedule if you want to see the full list of talks.

The state of the python

One of the reasons I like to attend PyCon is that you get a very good feel for where the language and community is currently placed, what projects are being widely used, what projects are up and coming and generally where the community is heading.

I have watched PyCon grow and be delighted that it has not lost the excitement and sheer inspiration it always generates.

The community is stronger than ever and making great efforts to be more inclusive and accessible.

Python 3.x

Guido in his keynote spoke again about the challenges of moving to Python 3. Whilst there are still large numbers of projects that have not been ported (Guido quoted only 5,000 out of 55,000 on PyPi), things are actually way better than that.

All of the top 1000 most used projects have been ported. The reality is that if you are starting a new project, python 3.x is a great choice. You will be using projects that are in active development.

If you are maintaining a large body of python 2.x code then that is where things become more challenging. It only takes one critical package that is not ported and you are stuck. Indeed, this is why the process of moving to python 3.x has taken so long, a project cannot be ported until all its dependencies are also ported.

My takeaway from this PyCon was that more than ever people are using and enjoying python 3.x. I think we are moving to a time when new packages will be available under python 3.x and not under python 2.x and this will provide incentive to switch.

Micro Bit

The UK, in a project driven by the BBC is planning to give 1 million school children a Micro Bit computer. These are small raspberry pi like devices. Python will be used as one of the languages to use on the device.

More generally, python is widely used in education. The Python Software Foundation deserves a lot of credit for this, there has been a huge amount of work over many years promoting the language in education and it is reaping rewards.

Summary

Another wonderful conference that has, as always, generated a lot of exciting ideas for me to pursue.

Blades and Sens results correlated?

I have felt for a while that when the Blades win, the Sens also seem to do better. When the Blades lose, the Sens don't do so well.

My guess is this is mostly just perspective, but I follow both teams. Blades, or Sheffield United, are hoping to get a place in the League 1 play-offs. The Sens, or Ottawa Senators, are trying to get into the Stanley Playoffs.

If you'd asked me at the start of the year, I would have thought being about where we are was a distinct possibility. I still felt we might push into the top two. That would get us up to the Championship automatically.

The Sens on the other hand appeared to be going nowhere. Until the inevitable sacking of the coach to be replaced by Dave Cameron, who was the assistant up to that point. And for a while nothing changed, but then a new goalie was brought in, due to injuries. Since then they have been on a run.

The last few games have been just like watching the Blades. The Blades never (well almost never) do it the easy way. So it is always a season of maybe, just waiting for the point where it all unravels.

But this Sens run has been different. They are already way beyond what anyone could have hoped for a few months back. But now they are tantalisingly close to a playoffs, with a team that is playing well and having fun. But like the Blades, they've been doing it the hard way. 3-0 leads disappearing, coming from behind to go on and win in over-time.

Getting some data

So, there has been a lot going on and my guess is that anything that might be in the data will be better explained by major changes such as of coaching staff or players.

So first problem, getting the data. I am planning to just get this season's results for both teams and extract the days when they both played, then take a look at how the results lined up.

Yesterday's games

The mighty Blades had a key game against local rivals Doncaster. As per usual, they did things the hard way, coming from behind twice to end up winners 3-2.

That is two big wins over local rivals in a matter of days. The Blades are now firmly in the playoff positions, one more win from the last three games might be all that is needed.

Another local side, Chesterfield, are looming large. It feels like they will play a part in the rest of our season. I grew up on the Chesterfield side of Sheffield, almost equidistant from the two grounds.

Meanwhile, the Senators were at home to the Pittsburgh Penguins last night, in what really was a must win game.

It was also fan appreciation night. Within 10 seconds of the start they were 1-0 down. By 5 minutes in they were 2-0 down and by the end of the first period it was 3-0. Oh dear. Sid Crosby on form and the young Sens not firing.

Second period was a different story. Sens put the Penguins under pressure, but nothing finding the net, until 5 minutes from the end of the period. Pageau managed to sneak one in off one of the Penguin's skates.

30 seconds into the third period they got a second. Two minutes from time they equalised and then Mark Stone fired in the winner in overtime.

Now that is what I call a fan appreciation night.

Oh, and Blades and Sens both win on the same night, so that hypothesis is proven ;)