The third Swiss Python Summit took place in Rapperswil, Switzerland, today. Conveniently located about an hour drive from the Service Prototyping Lab at Zurich University of Applied Sciences, the event reserved a spot on our conferences shortlist this year. In this post, we will briefly summarise major impressions from the well-organised summit.
The 2018 edition of the Swiss Python Summit was attended by around 180 participants. Over the course of a packed day, 9 talks were given ranging from inspiration to deep technical explanations. The talk acceptance rate hit 23% which was reflected in a fine selection of quality talks. Disclaimer: One of those was from SPLab – more on that later. The summit happens annually and is therefore a welcome opportunity to meet software developers mainly concerned with one of the major programming languages whose popularity has grown in fields such as web frameworks and cloud stacks, microcontroller development, data analytics and distributed processing, as well as system-level glue code. In the discussions during the breaks, it became obvious that many companies are devising strategies on how to migrate to clouds and other service-oriented environments, rather than still questioning if moving at all. Indeed, several hosted and self-hosted services were presented during the conference which are already widely accepted by developers using the language.
The conference was opened by a talk given by Carina Haupt on Rocket Science from a DLR perspective. The talk impressed already with its rich space imagery and videos, but also due to many conveyed details of how reliable software engineering works really at scale when the scale is measured in lightyears. For instance, when objects are sent into space with a travel time of multiple years, then this time can be used productively to write the controller software. Before launch, only an over-the-air (rather, over-the-hard-vacuum) updater needs to be present which is activated after landing or after passing by an interesting object. This process allows for including new development techniques. The discussion of this talk raised an interesting perspective of the influence of (even indirectly) media-controlling individuals over the directions for public research funding due to crowd behaviour.
The second talk, by Tim Head, presented MyBinder which is a hosted service to chain executable open (Jupyter) notebooks into workflows which are made portable and directly executable through wrapping into Docker container images. For researchers, this tool provides a tremendous benefits which will ease the transition to recomputable research.
The subsequent three talks combined technical depth with business use cases. Raphael Das Gupta compared built-in functional programming primitives (map, filter) with list and set comprehensions. He argues that both are similarly performing in recent Python versions and should be used based on readability arguments which differ depending on the combinations of the calls. Iacopo Spalletti introduced the audience to ASGI, the asynchronous WSGI specification, via the Channels framework which brings reasonable speed and scalability advantages. Protocol bindings for websockets will help in adopting this approach for responsive websites among other use cases. Gabriel Krummenacher and a colleague showed in detail how the Swiss railway network operators handle necessarily human-written disruption messages through neural networks to predict, eventually, repair times and overall delays.
An impressive talk was given by Sarah Mühlemann who presented her high school project SpyPi which combines several tools to raise awareness in security and privacy among students. SpyPi is implemented as an interestingly-looking box which contains a Raspberry Pi and several Python applications. The socio-technical implications of this work and of its background are interesting and could be projected on other areas beyond security. In the break, the talk theme led to discussions about some concerns about the inadequate state of computer science education in schools and universities of applied sciences in Switzerland and the long-ranging implications of the Bologna process. Amit Kumar then followed with a deeply technical talk which combined Python and C programming, through the extension API, to demonstrate the effects of the Global Interpreter Lock in Python on the performance in single-threading and multi-threading mode.
The penultimate talk was given by Josef Spillner from the Service Prototyping Lab and elaborated on the state of writing cloud functions in Python. It then presented some of the Function-as-a-Service (FaaS) tools which have emerged from Service Tooling research, followed by a general outlook on further research on serverless ecosystems. Questions on module dependencies in code transformers (FaaSifiers) and on performance penalties when wrapping functions into containers were answered. Finally, Peter Hoffmann presented an analysis of matching 12 Factor App guidelines to data analysis tasks. Using the example of a store replenishment system, he valued each guideline differently.
The event was concluded with an Apéro during which additional viewpoints were exchanged. For instance, how important is the Zen of Python and related zens, and how would this be reflected in programming education? The feedback also included further noteworthy aspects on the talks. From our research point of view, we have sensed a certain interest in rapidly bringing code structures into execution environments. It is evident that software engineers need tools to outline which data would need to be kept private, can be outsourced into a private cloud, into a public cloud within jurisdiction boundaries (e.g. national), and into arbitrary public clouds beyond. Recent progress on private computation and on stealth computing might help. Currently, no such annotations exist which leads to complicated auditing and testing processes.
We also discussed needs for more highly-qualified (MSc/PhD-level) computer science and engineering specialists to accomodate the high growth rates of many Swiss companies who posted job advertisements during the event. This in turn requires improved facilities and processes at universities to ensure that the necessary qualification instruments can be applied efficiently.
We would like to thank the organisers for making this event possible and look forward to the next edition. Slides and speaker videos are going to appear on the summit website in the coming days.