We Really Are Engineers 🎉

Hillel Wayne interviewed people who have worked professionally both as a software and a traditional engineer (from a diverse set of engineering disciplines) to determine if “software engineers” are really engineers … and, yes we are.

He also analyzes myths from and about software engineering and tries to find out if there’s actually something that makes software engineering unique among the other engineering disciplines.

Aktivieren Sie JavaScript um das Video zu sehen.

Scaffolding for fetching and parsing emails from IMAP with Python

A friend asked me if I could help him write a Python script for fetching and processing data from emails in his mailbox … Well, the thing with emails is that they’re a pain to work with (in any form). So, I tried to help him out with a little scaffolding (also available as a Gist).

Multi-step Refactoring Pains in C++

Titus Winters talks about maintaining and refactoring large C++ code bases (i.e. code bodies that require multi-step refactoring). He describes how “higher-level” language features effectively make refactoring harder (e.g. functions, classes, templates, concepts).

Aktivieren Sie JavaScript um das Video zu sehen.

Zu Gast in Jena

Unser Eintrag ins Gästebuch für eine paar schöne Tage in Jena. 😀

Den durchreisenden Gästen
Die da kommen vom Westen
Zuerst die Stadt von oben gezeigt
Dann die Pracht des Allmächt’gen bezeugt

Zusammen aßen wir in kleiner Runde
und heiter saßen noch zu später Stunde
Bei Tee und viel zu vielen Kalorien
schwadronierten über Dys- und Utopien

Vom in die Esoterik entgleisen
Von Schwarzkümmel, es nachzuweisen
Von Kulturen und vom Reisen
und den Herrn auf deutsch zu preisen

Ein Abend mit Herz, Vertand und Sinn
Hurra auf unsre Gastgeberin
“fi aman-il-Lah” und auch “Ade!”
Vom Gartenkönig und seiner Wasserfee

Usefulness of Swap Explained

Chris Down explains how swap’s main role is being the missing backing store for anonymous (i.e. allocated by malloc) pages. While all other kinds of data (e.g. paged-in files) can be reclaimed easily and later reloaded, because their “source of truth” is elsewhere. There’s no such source for anonymous pages hence these pages can “never” be reclaimed unless there’s swap space available (even if those pages aren’t “hot”).

Linux has historically had poor swap (and by extension OOM) handling with few and imprecise means for configuration. Chris describes the behavior of a machine with and without swap in different scenarios of memory contention. He thinks that poor swap performance is caused by having a poor measure of “memory pressure.” He explains how work on cgroups v2 might give the kernel (and thus admins) better measures for memory pressure and knobs for dealing with it.