Spambots aussperren, ohne Menschen mit Bilderrätseln zu plagen

mosparo ist ein Open-Source-Spamchecker für Webformulare, der nicht das Lösen von Bilderrätseln verlangt und keine Daten an Google schickt – das scheint ein guter Captcha-Ersatz zu sein. Es gibt Plugins zur leichteren Integration in z.B. Django oder Typo3. Die mosparo Association ist eine gemeinnützige Organisation in der Schweiz.

eBPF-Programme mit Pythoncode erzeugen

Mit PythonBPF kann man eBPF-Programme direkt von Python-Code aus erzeugen, ohne selbst den C-Code schreiben zu müssen. PythonBPF generiert und compiliert das Programm im Hintergrund, und die entstehende Objektdatei kann man direkt ins System laden. Auch Hashmaps können mit Python-Mitteln definiert werden.

Dieser Blog-Post beschreibt das Vorgehen anhand eines Beispiels, und es gibt eine Präsentation dazu.

Was ist eBPF überhaupt? „Extended Berkeley Packet Filter“ steht für eine Methode, Code in den Linux-Kernel einzubringen, ohne Kernelmodule zu schreiben und in den Kernel hineinzubinden. Außerdem wird dieser Code formal verifiziert, damit er möglichst nicht den Kernel lahmlegen oder kompromittieren kann.

Einen Python-Editor oder ein Jupyter-Notebook in eine Webseite einbetten

Mit pynote kann man Python-Notebooks in Webseiten einbetten – es genügt dafür ein Script-Tag und ein Element <pynote></pynote>. Wenn das Element leer ist, bekommt man einen Python-Editor mit leerem Arbeitsbereich, in den man Programmzeilen eintippen und ausführen lassen kann; alternativ kann auch Code für den Editorbereich vorgegeben oder aus einer Datei geladen werden. Wird eine .ipynb-Datei geladen, stellt pynote das Jupyter-Notebook dar, das wie gewohnt eine bearbeit- und ausführbare Mischung aus Text- und Programmabschnitten sein kann.

Auf der verlinkten Webseite gibt es eine Reihe von Beispielen zum Ausprobieren.

CPython in Rust programmieren?

Es gibt einen „Pre-PEP“ zur Verwendung von Rust in CPython.

Guido und andere Core-Entwickler stehen diesen Ideen recht positiv gegenüber, aber natürlich gibt es auch Bedenken und Vorbehalte (unterschiedlicher, technischer wie nichttechnischer Art). Der Fokus des Pre-PEP wurde erst einmal verändert – einstweilen soll das Augenmerk auf eigenständigen Erweiterungsmodulen liegen. Die Umstellung der gesamten Python-Codebasis auf Rust soll zu einem späteren Zeitpunkt neu betrachtet und diskutiert werden.