Session Proposals

Reimar Bauer

Diskussion: mamba - conda-forge

Warum mamba?

https://github.com/mamba-org/mamba

Volker Jaenisch

ESP32 Nachlese

Ich denke, dass ich heute nach der - sicher sehr kontroversen - Poetry-Session nicht mehr zu viel zu gebrauchen bin.

Wenn Ihr mit Micropython arbeiten wollt: ruft mich an, schreibt mir. Ich helfe gerne weiter.

Sorry, aber meine Batterie ist nach zwei Jahren Corona und Beinnahe-Pleite ziemlich ausgelutscht.

Volker Jaenisch

Poetry das eine Paket-Werkzeug .. um alles zu machen

Poetry wird wohl das zukünftige Werkzeug für den Umgang mit Paketen und Venvs unter Python werden. Poetry erfüllt die PEP517, PEP518 und PEP621, welche den Weg für die Paket-Verwaltung unter Python festlegen. Es gibt auch schon eine Diskussion um die PEP682.

Ich reflektiere (ironisch, kein historischer Abriss!) das bisherige Arbeiten mit Python-Paketen und stelle dem Poetry gegenüber.

Im Live hacking zeige ich

- Die Installation von poetry auf einem frischen Debian bullseye.

- Die Anwendung von Poetry bei der Paket-Entwicklung

-- erzeugen,

-- Abhängigkeiten zu definieren,

-- builden

-- distributieren

- Poetry als venv-manager

Wir setzen seit zwei Jahren Poetry produktiv bei all unseren Kunden ein. Daher hoffen wir Eure Fragen zu Poetry kompetent beantworten zu können.

Volker und Sandra

Armin Stross-Radschinski

PKM (Personal Knowledge Management) automatisieren

Notizen, Links, Daten erfassen, mit Notizen versehen, Taggen und langfristig Archivieren. Querverweise erstellen und managen. Das alles mit Lebensdauern > 20 Jahre digital umsetzen. Session mit Austausch und Beitrag von Allen erwünscht.

Update:

Am Samstag Lightning Talk zu https://logseq.com

logseq: Org-mode oder Markdown on Steroids mit den Möglichkeiten von aktuellen Javascript UIs als Browser- oder Electron-App mit lokalem oder Cloudspeicher (serverless, OpenSource)

Integration mit Zotero und PDF-Markup Annotations.

Wer Org-Mode kennt, kennt die Möglichkeiten im Postprocessing mit Pandoc etc.

Mich interessiert die Orchestrierung von Notizen, Dokumentation und Publikation von Essenzen in Form von Präsentationen, Büchern (jaaa Bücher) und nichtlinearen Formaten wie Video, Lernsystemen Timelines etc. Insbesondere Integration mit Tools wie JupyterLab.

Wer mag seine langjährigen Erfahrungen mit seinen Workflows teilen und welche Rolle Python dabei spielt und wo andere Tools besser sind.

oh, cool, das hab' ich ja ungern verpasst ;). Ich nutze org-roam und bin so mittel zufrieden.
Albrecht Mühlenschulte, 01.06.2022
Aljoscha Marcel Everding

Diskussionsrunde: Wie lernt 'man' Programmieren?

- Wie haben wir™ damals Programmieren gelernt?

- Was war unsere Motivation?

- Warum?

- Was hat geklappt?

- Was waren Momente, in denen man am liebsten alles hinwerfen wollte?

- Warum hat man weiter gemacht?

Hintergrund: Ich lehre an einer Hochschule und versuche Studierende zum Programmieren zu 'motivieren'. Es ist erschreckend, wie viele Studierende (selbst der Informatik,) nahezu kein Interesse am Programmieren bzw. Grundverständnis für Dinge, die in der Informatik üblich sind haben. Es fehlt regelrecht der 'Spaß am Gerät'.

Disclaimer: Ich habe nicht viele Antworten, sondern mehr Fragen.

Diese Erfahrung (und die damit einhergehenden Fragen) kann ich bestätigen ...
Sebastian Ernst, 29.01.2022
Ich kann es auch bestätigen.
Maria Emde, 29.01.2022
An der HAW gibt es eine Forschungsgruppe zu diesem Thema. Ich könnte einen Kontakt herstellen.
Volker Jaenisch, 29.01.2022
Done: Samstag
Reimar Bauer, 30.01.2022
Sebastian Ernst

Suche: Minimale Flask-Anwendung *SICHER* für Amateure

Als erfahrener Python-Entwickler vorwiegend für wissenschaftliche und HPC-Anwendungen sind Webanwendungen eine nicht alltägliche Aufgabe für mich. Vor einiger Zeit habe ich eine kleine Webanwendung zur Verarbeitung von Formulardaten basierend auf Flask, Uwsgi und Nginx auf Ubuntu 20.04 zum Laufen gebracht, ins Netz gestellt und dieser HTTPS/TLS-Support via Letsencrypt verpasst. Eine intensive Recherche und mehrere Seiten Notizen zum Thema sagen mir, dass die Fallen bezüglich Sicherheit reichhaltig sind.

Wer hat Lust, einmal über diesen Prozess zu diskutieren und durch die relevantesten Sicherheitsaspekte zu gehen? Wie bekommt man so etwas als Anfänger halbwegs sicher ins Netz?

Reimar Bauer

Diskussion Erfahrungsaustausch socketio

Ich bin an einem Erfahrungsaustausch zu socketio, websocket-client interessiert.

Done: Samstag
Reimar Bauer, 30.01.2022
Marc-Andre Lemburg

Parsen der NRW Landtagsprotokolle: Technik und Fehleranalyse

Bei unserem letzten Python Meeting Düsseldorf Sprint im Herbst 2021, haben Oliver Stapel und ich an einem Projekt gearbeitet, um die Protokolle der Plenarsitzungen des NRW Landtags maschinell auswertbar zu machen.

Im Vortrag zeige ich die Vorgehensweise, typische Fehlerquellen bei solchen Ansätzen, Protokolle in strukturierte Daten zu verwandeln und werde, wenn noch Zeit ist, auch das OpenSearch (=ElasticSearch) System zeigen, in das wir die Daten füttert haben.

PS: Ich bin nur Samstag dabei.

Done: Samstag
Reimar Bauer, 30.01.2022
Mike Müller

Es kommt auch auf die richtige Repräsentation an

Mit der speziellen Methode `__repr__` lässt sich die Repräsentation einer Instanz einer eigenen Klasse anpassen. Diese Repräsentation zeigt Python z.B. im REPL (interaktiver Prompt mit >>>, IPython oder Jupyter). Wir wollen uns an schauen wie das geht. Ich würde kurz das Prinzip vorstellen. Danach würde ich gern über das Thema diskutieren. Wie sind eure Erfahrungen damit? Habt Ihre persönliche "Best Practises"?

Jupyter Notebooks nutzen auch die "halb-speziellen" (meine Wortschöpfung ;) ) Methoden `_repr_html` und `_rep_svg_` um visuell reichere Darstellungen via HTML oder SVG zu ermöglichen. Das Paradebeispiel dazu ist pandas. Ich würde die Diskussion dann auch gern um dieses Thema erweitern.

Sebastian Ernst

Tutorial: Erste Schritte mit Dask und On-Demand-Clustern in der Cloud

Das Python-Paket `dask` wird zunehmend populärer zum einfachen verteilten Rechnen auf Computer-Clustern. Dort, wo früher beispielsweise komplexe Technologien wie MPI noch unausweichlich waren, kann man derlei Dinge mittels `dask` heute oftmals in relativ einfach gehaltenem Python-Code verstecken. Parallelisierung und Verteilung der Rechenlast erfolgt, je nach Anwendung, nahezu automatisch und transparent.

`dask` erlaubt unter anderem zu `numpy.ndarray` kompatible `dask.array`-Objekte sowie zu `pandas.Dataframe` kompatible `dask.dataframe`-Objekte. Während die API im Vergleich zu `numpy` und `pandas` nahezu identisch ist, wird der Speicherinhalt entsprechender Objekte auf ein Cluster verteilt. Berechnungen erfolgen entsprechend ebenfalls verteilt. Dies erlaubt es, riesige Datenmengen durch den Zusammenschluss von ausreichend Computern gleichzeitig im RAM zu halten und auf beliebig vielen CPU-Kernen zu verarbeiten.

Ein durch `dask` selbst allenfalls unzureichend gelöstes Problem ist das eigentliche Deployment. `dask` lokal zu installieren und zu starten ist einfach. Es auf ein Cluster zu bekommen erfordert jedoch nach wie vor einiges an Hintergrundwissen und Zeit. Kommerzielle Dienste wie "Coiled" setzen an dieser Stelle an und bieten über Web-Oberflächen Cluster on-demand an, welche in konventionellen Cloud-Angeboten gehostet werden. Entsprechende Dienste sind jedoch oft deutlich teurer als die tatsächlich verwendeten Cloud-Ressourcen.

In diesem kleinen Tutorial gebe ich am Beispiel meines Python-Paketes `scherbelberg` eine Einführung, wie man in Eigenregie direkt ein Dask-Cluster in der Cloud des Anbieters Hetzner erstellen kann und vom eigenen Computer aus anspricht. Darauf aufbauend unternehme ich mit euch eine Reihe an kleineren Experimenten, um die Fähigkeiten von `dask` zu veranschaulichen.

- https://dask.org

- https://github.com/pleiszenburg/scherbelberg

---

Falls ihr dieses Tutorial live mitmachen wollt, benötigt ihr idealerweise eine Python-Installation auf Basis von Conda-Forge und CPython 3.8 auf Linux. Prinzipiell sollten das meiste jedoch auch auf Windows 10 (ohne WSL) und OS X funktionieren. Falls ihr `dask` nicht nur lokal, sondern auch auf einem echten Cluster testen wollt, benötigt ihr darüber hinaus einen Hetzner-API-Token.

- https://github.com/conda-forge/miniforge#miniforge3

- https://docs.hetzner.cloud/#getting-started

Done: Samstag
Reimar Bauer, 30.01.2022
Martin Borus

Diskussion: FastAPI's Async und Hintergrundarbeit in Sync über Queues und Threads verbinden.

Wer hat Erfahrung mit der Async/Sync Programmierung und möchte sich darüber austauschen?

Das Thema:

Neue Web Frameworks, wie z.B. das populäre FastAPI funktionieren besonders gut, wenn man diese asynchron nutzt.

Was macht man aber, wenn die zu erledigende Arbeit nur strikt synchron läuft?

Ein Lösungsansatz ist es, eine "Queue" aus der Standard-Library zu nutzen, wie z.B eine Priority Queue. Der asynchrone Code schreibt einen Task in diese Queue. Ein synchroner Hintergrundsthread, arbeitet diese in einer Reihenfolge ab.

Ich möchte darüber diskutieren, wie man asynchron am Besten auf die Abarbeitung warten kann - unter Berücksichtung, dass es Timeouts geben kann, einige Tasks überhaupt nicht beantwortet werden und dass die Reihenfolge der Abarbeitung sich anhand einer Priorität ändert kann.

Spannend ist es, was die beste Lösung ist, es nur mit der Standard-Library (und FastAPI) zu machen, genauso interessant sind Erfahrungen mit anderen Libraries.

Done: Samstag
Reimar Bauer, 30.01.2022
Armin Stross-Radschinski

BigBlueButton Produktionsumgebungen

Setup, Konfiguration, Anpassung und Integration in komplexere Setups. Austausch von Erfahrungen und neue Ansätze zur Weiterentwicklung im Hinblick auf Postproduction und Multichannel Publikation von Aufzeichnungen und Ergebnissen. Rechtliche Aspekte usw. . Weitere Aspekte gerne in den Kommentaren ergänzen.

Nach dem gestrigen Ausklang, sehe ich fast ein eigenes Symposium zu diesem Thema gerechtfertigt. Dann auch mit größerem Kreis. Ich würde diese Session tatsächlich gerne auf einen eigenen Termin verlagern und ggf. dazu nur einen Lightning Talk als Impuls machen wollen und dann eine kleine Community dazu gründen, die aus Leuen besteht, die das tatsächlich als täglichen Use-Case haben, statt nur einmal im Jahr. Wer Interess hat bitte gerne einen Kommentar hier rein. oder über mein Profil Kontakt aufnehmen. Ziel: Ein 2Connected Evening Barcamp" Format mit viel Abstand aus vielen Autokinos und Corona sicheren Quartiersgärten mit Projektoren (wo man natürlich am besten mit dem Fahrrad hinfährt) aber trotzdem aufbrausenden Applaus erleben kann und ordentliches Catering teilt.
Armin Stross-Radschinski, 30.01.2022
Volker Jaenisch

MicroPython für kleine Computer

Ich geben einen sanften Einstieg in die Programmierung mit Micropython auf ESP32 Microcontrollern. Mit live Hacking und Einsteiger-tauglichen Beispielen.

Ihr seid ausdrücklich eingeladen Euch selber ein oder zwei ESP32 Controller und Zubehör sowie Sensoren kaufen. So mit rund 30 EUR könnt Ihr schon tolle Sachen machen, die mit z.B. einem RaspberryPi viel umständlicher und vor allen viel teuerer wären. Sprecht mich volker.jaenisch@inqbus.de bitte im Vorfeld rechtzeitig an, welche Hardware Ihr (für Euer Projekt) benötigt.

Hier Vorschläge für ein paar Komponenten. Z.B. von https://www.az-delivery.de auch der große Fluß hat viele Teile, aber aufpassen viele davon sind Plagiate.

ESP32:

Für Batterie-Anwendungen ESP32 lolin32. 9EUR. Wegen Akku bei mir nachfragen! Achtung Polung!!!

Für Kabel-gebundene Anwendungen nodeMCU-32s. 3er Pack 21EUR

Wenn Ihr die Controller ohne Beinchen kauft, benötigt Ihr einen etwas feineren Lötkolben. Das Teil von Opa aus dem Baumarkt ist dafür eher ungeeignet.

Als stabile Basis ist ein Breadboard unerlässlcih. Ab 4 EUR.

Ein Pack Jumper-Wire Kabel MM/FF/FM (5EUR) ist nötig, wenn Ihr nicht selber Eure Kabel crimpen könnt. Zum crimpen bitte Nachfragen.

Beliebte Sensoren:

DHT22 (T/RH),

BH1750 (Licht),

VL53L0X (Lidar ToF),

BME680 (T,RH, Gas),

SoMoSe (Bodenfeuchte)

Beliebte Ausgabe Geräte:

SSD1306 (OLED-Display)

Neopixel-LEDs (Adafruit)

Nützliches: TXS0108E (Pegelwandler 3.3-5.5V )

Für die Session wäre ein sinnvolles Minimum:

Breadboard, Jumper-Kabel,

ESP32 nodeMCU-32s, ein OLED-Display und einer der o.g. Sensoren.

Wenn weniger die Hardware als die Software im Vordergrund stehen soll gebe ich gerne meine Erfahrungen aus zwei Jahren Entwicklung mit Micropython weiter. Hierbei kann ich von der reinen Anwendung esphome/homeassistant/influxDB/grafana bis zur C-Programmierung von Micropython-(Erweiterungen) viel erzählen.

Done: Samstag
Reimar Bauer, 30.01.2022
In order to be able to create or vote for proposals, you need to be logged in. you can log in and register here