Giocare con le capabilities del kernel Linux

🔐 Introduzione Come sysadmin esperti, avrete probabilmente familiarità con il tradizionale approccio “tutto o niente”: se una shell o un processo è in esecuzione con UID==0, può fare quasi tutto sul sistema; al contrario, un processo utente comune è limitato in vari modi: tipicamente non può aprire socket RAW, non può fare il bind di porte “privilegiate” inferiori alla 1024, non può cambiare la proprietà di un file (chown) e così via. ...

2 agosto 2024 Âˇ Andrea Manzini

Misurare il consumo energetico dei propri programmi

🌡️ Introduzione Per chi gestisce un datacenter, o anche un semplice server homelab, l’arrivo del caldo estivo si traduce in un aumento dell’uso dell’aria condizionata. In questo post mi sono chiesto come un ingegnere Linux possa misurare quanta energia sta consumando il sistema, in modo da poter iniziare a ragionare sull’ottimizzazione dei carichi di lavoro (workload) per ottenere pattern di consumo energetico migliori. 🔋 Consumo energetico in idle Come punto di partenza, misuriamo quanta energia consuma il mio PC quando è in idle, cioè non fa assolutamente nulla; o meglio: nulla di utile ai fini del calcolo o di un servizio, ma esegue solo le solite attività predefinite del sistema operativo. ...

30 giugno 2024 Âˇ Andrea Manzini

Testing Headless di Applicazioni GUI PySide/PyQt con pytest-qt

🤓 Introduzione Il testing manuale delle applicazioni GUI può diventare noioso e soggetto a errori con l’aumento delle funzionalità e della complessità. Il testing headless offre una soluzione automatizzando le interazioni dell’interfaccia utente (UI) senza la necessità di un display fisico. Questo approccio consente un’esecuzione più rapida dei test, una migliore ripetibilità e una perfetta integrazione con le pipeline di continuous integration e continuous delivery (CI/CD). In questo post esploreremo come sfruttare pytest-qt, un potente framework per il testing headless di applicazioni PySide/PyQt. ...

22 maggio 2024 Âˇ Andrea Manzini

Un approccio diverso alle interfacce utente da terminale

Introduzione Bubbletea è un framework con una filosofia basata su The Elm Architecture: Per farla semplice, si divide in tre parti: Model: lo stato della tua applicazione View: un modo per trasformare il tuo stato in qualcosa da mostrare a schermo Update: un modo per aggiornare lo stato in base ai messaggi Il runtime del framework gestisce tutto il resto: dall’orchestrazione dei messaggi ai dettagli di rendering a basso livello. Esempio Ipotizziamo di voler creare la classica lista di cose da fare (to-do list): ...

3 maggio 2024 Âˇ Andrea Manzini

This site does not use cookies or collect any personal data. © 2026 Andrea Manzini.