Report EuroPython 2015 Bilbao Spain

The 14th EuroPython conference, the second largest Python Conference world wide in 2015, hosted more than 1000 attendees from all over the world.

The first five days filled with about 200 talks and trainings were followed by two days of code sprints / hackatons of several open source projects related to Python. According to the final presentation of the organizers around 50 people from Switzerland participated which is outstanding given the relative size of the country.

As this was not the first EuroPython conference I attended it was nice to observe that the talks were not focused on a set of «hot» topics (as web frameworks, dev ops, ..) but demonstrated the huge range of applications where Python and its libraries and frameworks are used successfully. The conference is not a pure programmers conference for some years now but embraces people involved in many other fields such as education and science. Furthermore, the proportion of women increased noticeably over the past years and, according to some coffee talk, Python conferences stand out in this regard when compared to conferences from other programming languages.

Keynote talks

The five keynote talks given at the beginning of each conference day reflected this diversification clearly:

  1. Keynote day 1: https://djangogirls.org/ is a non-profit organization founded during EuroPython 2014 that supports women «to fall in love with programming» as they name it. They provide learning material and support organization of one-day workshops for getting started with developing a Python web application based on the Django framework. The founders, two girls from Poland presented how Django Girls started one year ago and how successfully this idea spread around the world within one year.
  2. Keynote day 2: The inventor of the Python programming language, Guido van Rossum, gave an overview of new features of Python 3.5. The presentation was followed by an extensive Q & A session with the audience. Knowing that the Python core development team handled extensions of Python syntax cautiously in the past, the extensions introduced in 3.5 emphasize the importance of some fields of application:
    • new keywords for asynchronous computing with co-routines were presented which are justified in the abstract of PEP-492 as «The growth of Internet and general connectivity has triggered the proportionate need for responsive and scalable code. This proposal aims to answer that need by making writing explicitly asynchronous, concurrent Python code easier and more Pythonic.». An introduction can be found at http://www.infoq.com/news/2015/05/python-async-await.
    • the new operator «@» is introduced in Python 3.5 motivated by overloading this operator to simplify the notation of matrix multiplication in numerical codes.
    • A new syntactical concept is called «type hints«. This means that a programmer can annotate types to Python variables and functions, though these declarations are neither mandatory nor used by the Python interpreter itself. This decision is based on the growing number of external tools for type checking and other kinds of code analysis, which for example rely on specific formatted comments or accompanying files. The intention of type-hints is to support and harmonize such efforts and will help to compensate some drawbacks of Python compared to typed languages without sacrificing the dynamic nature or the language. More about new features can be found in https://lwn.net/Articles/650904/
  3. Keynote day 3: Holger Krekel discussed security and privacy issues in the «post-NSA» era and introduced the «interplanetary file system» http://ipfs.io/. IPFS is one of current efforts to move from centralized data storage concepts to scalable distributed systems evolving from previous approaches such as BitTorrent. Beside technical details he pointed out which features of this concept support privacy and how the system might eventually replace the web as we know it in the future.
  4. Keynote day 4: Carrie Anne Philbin, an award-winning secondary school computing teacher presented ongoing efforts in the UK to introduce programming and computer science to children. According to the new national curriculum pupils at the age of five come into first contact with the concept of algorithms and will learn two or more programming languages until the age of 14. This includes graphical programming with systems such as https://scratch.mit.edu/. The dominant textual programming language used is Python and Carrie Anne Philbin not only confirmed Python’s advantages for teaching but also mentioned some weak points where Python and the existing tools are not straight forward to understand by children. The talk ended by an appeal to the Python community to cooperate which teachers to support this effort. More information about the new curriculum in UK can be found at http://www.theguardian.com/technology/2014/sep/04/coding-school-computing-children-programming.
  5. Keynote day 5: To cite the official web page of Europython http://ep2015.europython.eu «Mandy (Waite) is a Developer Relations Engineer at Google specializing in Container and Cloud technologies and working to make the world a better place for developers building applications for the Cloud.». She introduced the concepts and some technical details behind the new cluster management and container orchestration tool http://kubernetes.io which again proved the impact of Docker for building and running large scale distributed applications. The demonstration how Docker with Kuberenetes is used in continuous deployment impressed me.

More

Other interesting things I learned and discovered during the conferece are listed in note form below. The selection is clearly biased by my personal and professional interests, but the full list of talks is still available at https://ep2015.europython.eu/p3/schedule/ep2015/list/. Many presenters uploaded slides or videos or promised to do this soon.

  • For scientific computing some new plotting frameworks as «bokeh» http://bokeh.pydata.org/ and «gr plotting framework» http://gr-framework.org/ were presented. They target different use cases as existing libraries. Machine learning with «scikit learn» http://scikit-learn.org was the base for some talks, and runtime optimizations with Numba http://numba.pydata.org/ and Cython http://cython.org/ where introduced as well. Blaze project http://blaze.pydata.org/en/latest/ which provides tools for out of core numerical computations seems to be quite mature now, especially http://dask.pydata.org/en/latest/ is something I want to investigate further, it might be an alternative for http://spark.apache.org/ in some use cases. Further http://odo.pydata.org/en/latest/ seems to be very handy to convert data between many formats as CSV, JSON, HDF5, Spark/SparkSQL, SQL and some more.
  • Scientific computing was an important factor for driving publicity of Python during the last years. Other fields of application as web development are more consolidated compared to this.
  • Live monitoring and real time analysis of web applications were presented. The concept of structured logging was new to me https://robindotnet.wordpress.com/2014/07/18/diagnostics-logging-and-structured-logging/, The log monitoring solution https://www.getsentry.com/welcome/ was praised from some users, the hosted version is for commercial users, but the code itself is open source and hosted in github.
  • Test driven development (TDD) was present in some talks and approaches such as «property based testing» (see https://hypothesis.readthedocs.org) and «fuzzy testing» where discussed. Property based testing seems to be effective and useful, and fuzzy testing is supposed to be successful for testing security and stability, although needing plenty of computing power if applied seriously.
  • Scalable distributed system, privat cloud systems and full stack Python based software systems where demonstrated with applications for example in real time analytics.
  • Docker is not only an established technology now but triggered many successors to its solutions.
  • PyPy (the python interpreter implemented in a subset of Python) has now STM (software transactional memory) which allows multithreaded code execution without locks or other complicated techniques.
  • I was not aware of U2F (see https://www.yubico.com/applications/fido/) as a new technology for two-factor authentication but it looks very promising and easier to use and integrate in existing solutions than other technologies I knew before.
  • PySpark was presented in two talks. The first presenter used it two download 20 GB of zipped data from a trading platform of https://en.wikipedia.org/wiki/World_of_Warcraft and used PySpark to analyze whether this closed eco system follows established laws of economics. The outcome was that this is not always the case, so for example the demand, supply and cost of most goods are not correlated. The minimal coding effort to start some machines in Amazon cloud and trigger the computations was impressive.
  • Async I/O was a topic in some talks including comparisons to multi process or multi threaded computing where async io scaled better in some cases.
  • A «not so serious» talk demonstrated how a developer implemented a FUSE (file system in user space) in Python which facilitated Python bindings to git to provide a versioned file system. This performed well in some cases, for example for tracking folders with configuration text files.
  • The talk «solving the web’s most popular code shortening competition in python» scored some laughs, the abstract and a link to the slides can be found at https://goo.gl/1Hof1t.

Contact & Text

Dr. Uwe Schmitt, Scientific Software and Data Management, ID Scientific IT Services (ID SIS)

erstellt am
in News Schlagwörter: ,,