PyCologne Treffen März 2016
Datum: 09.03.2016, 19:00 Uhr Ort: Chaos Computer Club Cologne (C4), Köln Anwesend: 24 Personen
Drei Vorträge: Stephan Porz berichtete von seinem Wechsel von Python zu R und was er dabei vermisst, Prof. Woyand stellte den Einsatz von Python im Maschinenbau an der Bergischen Universität Wuppertal vor, und Arndt Droullier sprach über Microservices mit Python. Dazu zwei Buchvorstellungen und eine Diskussion über ein SSL-Problem seit Python 2.7.11.
Agenda
- "Meine Erfahrungen mit R und ihre Übertragbarkeit auf Python (mit Diskussion)" - Stephan Porz
- "Python im Maschinenbau an der Bergischen Universität Wuppertal" - Hans-Bernhard Woyand
- "Microservices mit Python" - Arndt Droullier
Verschoben:
- "(De-)Serialisierung komplexer Objekte mit Bordmitteln" - René Calles (wird auf den Mai verschoben)
Christian weist darauf hin, dass für das Python Barcamp Cologne (https://barcamptools.eu/pycamp201604) noch Auf- und Abbauhelfer gesucht werden.
Vermischtes / News
- PythonCamp Cologne, 2. bis 3.4.2016, www.pythoncamp.de, https://barcamptools.eu/pycamp201604, https://twitter.com/pythoncamp
- Data Science Meetup Cologne: http://www.meetup.com/de-DE/datasciencecgn/. Schwerpunkte unter anderem Python, iPython, R, Algorithmen, predictive analytics, machine learning, deep learning. Format: monatlich, Ende des Monats, nächster Termin im April: tba
Präsentationen
R vs Python - Stephan Porz
The R Project for Statistical Computing, Talk-Quelle
Durch Arbeitgeberwechsel Umstieg von Python zu R.
- Was wird vermisst, was ist in R praktischer?
- R Studio: Sourcecode links, Konsole rechts, Code kann leicht aus dem Editor in die Konsole "geschoben" werden (wird dort ausgeführt). Python-Äquivalent: Spyder
- larch: visuelle Code-Execution-Environment für Python (das war Stephans Frage, wo es sowas noch gibt), Video zu Larch: https://ep2013.europython.eu/conference/talks/visual-interactive-programming-environment
- Pipes
- Queries: Anfragen können mit derselben Syntax beziehungsweise Funktion sowohl an Datenbanken als auch an DataFrames gestellt werden
- Plots: ggplot ist der matplotlib überlegen, bringt viele Convenience-Funktionen mit sich, Plots werden schneller "schön" als mit der matplotlib
- WebApps: sehr einfach zu implementieren, Python-Alternative: Pyxley
Python im Maschinenbau an der Bergischen Universität Wuppertal - Hans-Bernhard Woyand
Prof. Dr.-Ing. Hans-Bernhard Woyand, http://www.mbau.uni-wuppertal.de/
Die Uni Wuppertal hat ca. 23.000 Studierende, 250 Professuren, 33 verschiedene Fächer. Python wird in Informatik- und CAD-Vorlesungen verwendet (Fachgebiet Maschinenbau-Informatik, http://mbi-wiki.uni-wuppertal.de/author/woyand/), in Bachelor- und Mastervorlesungen, Abschlussarbeiten sowie Dissertationen. Funktionen nehmen im Pythonkurs einen großen Stellenwert ein. Verwendete Pakete: NumPy, Matplotlib, SymPy (Computeralgebra) und VPython (3D-Grafiken). Die Lehre der Python-Programmierung bleibt recht oberflächlich, es gibt aber eine ganze Reihe an Forschungsprojekten, in denen Python zum Einsatz kommt.
Beispiele:
- Anschluss von erweiterter Logik, externen Algorithmen, Prüfverfahren etc. an das CAD-Programm Catia V5 mit Python
- Bauteiloptimierung
- Bauteilklassifikation
- 3D-Grafiken erstellen in Blender (hat eine Python-Integration), mit 3D-Konzepten aus dem Maschinenbau
- Punktkoordinatenmethode: Erstellung von Modellen mit Python ausgehend von einfachen Eingabedaten
Python in der Lehre ist viel einfacher als C/C++: Studierende machen weniger (Syntax-)Fehler und sind schneller produktiv, mit weniger Zeilen Code.
Am 2. Juni findet der Innovationstag "Maschinenbau mit Python-Schwerpunkt" statt, geplantes Format:
- Keynotes und Vorträge mit 15 bis 30 Minuten Länge
- Basisthemen, die verschiedene Disziplinen zusammenbringen
- Idee (beispielhaft): "Predictive Maintenance im Maschinenbau, data-driven Services"
Prof. Woyand wird dazu einen Blog aufsetzen und lädt alle Anwesenden zur Mitarbeit ein. Eine Unterstützung des Innovationstags durch den PySV ist geplant, ebenso durch verschiedene Sponsoren.
Microservices mit Python - Arndt Droullier
Aus der Softwarearchitektur: Aufsplittung eines großen monolithischen Programms in viele kleine unabhängige Services, aktueller "heißer Scheiß™". Aktuelle Beispiele: Virtualisierung, Docker.
Vorteile
- Testing: spezialisierter, weniger Gesamtcode
- unterschiedliche Programmiersprachen für unterschiedliche Services
- kleinere Teams
- einfacheres Release-Management
- Skalierbarkeit
Nachteile
- Monitoring (Versionskompatibilität)
- Komplexität nur verschoben, auf eine andere Ebene
- Monkeypatching, kein Async
Läuft gut mit anderen "heißer Scheiß™"-Technologien. Siehe auch die Unix-Philosophie. Tool: outpost (Application-Level-Proxy-Server, konfigurierbar).
Lightning Talks
Buchvorstellungen:
- "Softwaretests mit Python", lernen, Tests mit Python zu formulieren und zu nutzen. Autor: Johannes Hubertz. Buch, Amazon
- "Building Microservices - Designing Fine-Grained Systems". Autor: Sam Newman, ursprünglich veröffentlicht am 1. Januar 2015. http://shop.oreilly.com/product/0636920033158.do, Free Sampler, https://www.nginx.com/wp-content/uploads/2015/01/Building_Microservices_Nginx.pdf
Diskussion
Reimar berichtet: Seit Python 2.7.11 führt ein SSL-Update dazu, dass nicht weltweit bekannte Zertifikate zu Fehlermeldungen führen, Probleme trotz einer sehr großen Forschungs-Zertifikatsstelle. Das Betriebssystem wird mit einer Reihe von Root-Zertifikaten ausgeliefert, ein Chaining der Zertifikate beim Forschungszentrum ist nötig. Testen etc.. Die derzeitige "Lösung": Monkeypatching.
Kneipe
Der Abend wurde mit gemeinsamem Essen, Trinken und regem Gespräch im Herbrands beendet.
Nächster Termin: 13.04.2016
Protokoll des Treffens, gemeinsam im Etherpad mitgeschrieben und aus dem Archiv der Jahre 2013 bis 2020 übernommen.