Typografisches Fein-Tuning für LaTeX
Das neue LaTeX-Paket TypoG – Typographic Fine-Tuning ermöglicht zahlreiche Einstellungen und Besonderheiten für ein typografisch besseres Erscheinungsbild des Texts (siehe Anwendungsbeispiele).
Das neue LaTeX-Paket TypoG – Typographic Fine-Tuning ermöglicht zahlreiche Einstellungen und Besonderheiten für ein typografisch besseres Erscheinungsbild des Texts (siehe Anwendungsbeispiele).
Ein Artikel mit einer guten Übersicht und Anleitung zu asynchronem Django (im Vergleich zur synchronen Ausführung); der Guide to async support in Django beschreibt u.a. daphne und uvicorn mit/ohne gunicorn, HTTPX (als Client für async Webaufrufe aus Views heraus).
Poor man's autoreload web server ist ein einfacher Python-Webserver, der über inotify Dateiänderungen mitbekommt und per Websocket dafür sorgt, dass der Browser ein Reload ausführt.
pipxu ist ein neu geschriebenes pipx, das intern uv benutzt und deshalb viel schneller ist. Auch sonst soll es einige Vorteile haben.
Falls diese Kürzel den geneigten Leser irritieren: pipx ist ein Tool, das Python-Pakete in automatisch angelegte virtuelle Umgebungen installiert und ihre Executables (auf Nutzerebene, nicht systemweit) als Kommandos verfügbar macht. Da uv ein zum Quasistandard pip kompatibles, aber sehr (!) viel schnelleres Installationstool für Python-Pakete ist, kann es das pipxu auch erheblich beschleunigen.
tikzducks stellt rubber ducks für LaTeX-Dokumente bereit – in wirklich sehr vielen, schönen Varianten.
Codon kompiliert Python-Programme in nativen Maschinencode ohne Runtime-Overhead. Die Webseite gibt typische Geschwindigkeitszuwächse vom 10- bis 100-fachen gegenüber normalem Python in einem einzelnen Thread, unterstützt aber auch natives Multithreading, das zu weiterer Beschleunigung führen kann.
Insgesamt soll die Performance das Level von C bzw. C++ (mindestens) erreichen.
Django 5.0 bringt für Models den neuen Feldtyp GeneratedField, dessen Wert aus anderen Feldern desselben (!) Datensatzes von der Datenbank berechnet wird.
Ein Artikel zeigt eine Reihe von Anwendungsfällen, beispielsweise zur Berechnung von Wochentagen, Gesamtpreisen, zusammengesetzten Namen oder Initialen.
Wer für das eigene Schlafwandeln oder das seiner Mitbewohner, für wirksames Kräuterpflücken oder seine Nebenbeschäftigung als Werwolf seine Zeitplanung an den Mondphasen orientieren (oder vielleicht einen eigenen Kalender layouten) will, braucht eine gute Berechnungsgrundlage.
Hier ist ein Codeschnipsel (nach einer Doku):
from datetime import datetime as dt
from decimal import Decimal
from math import floor
# Calculate lunar phase by Sean B. Palmer, inamidst.com
# http://en.wikipedia.org/wiki/Lunar_phase#Lunar_phase_calculation
phases = ["🌑", "🌒", "🌓", "🌔", "🌕", "🌖", "🌗", "🌘"]
def position(then: dt) -> Decimal:
diff = then - dt(2001, 1, 1)
days = Decimal(diff.days) + Decimal(diff.seconds) / Decimal(86400)
lunations = Decimal('0.20439731') + days * Decimal('0.03386319269')
return lunations % Decimal(1)
def phase(pos: Decimal) -> str:
index = pos * Decimal(8) + Decimal('0.5')
index = int(floor(index)) & 7
return phases[index]
Aufrufbeispiel:
>>> import mond >>> tag = mond.dt(2024, 1, 1) >>> print(mond.phase(mond.position(tag)) '🌖'
… aber sich nicht zu fragen trauten: Alles Wissenswerte (und mehr) zu Herkunft und Besonderheiten der Shebang-Zeile
Eine kleine Sammlung von Cheatsheets, die gegebenenfalls ergänzt wird, wenn weitere Fundstücke entdeckt werden:
Bootstrap cheatsheet (für Bootstrap 5.3)
The (arguably) Best Python cheat sheet
Siehe auch hier.