man7.org > conference slides
Below are pointers to slides from various conference presentations that I've given.
A few years ago, kernel hacker Dave Jones gave a highly entertaining talk entitled Why Userspace Sucks, about the ways in which various userspace systems and applications kill performance by wasting system resources on pointless tasks. I'm not contradicting anything that Dave says, but it seems at least fair to point out that there are places where kernel space sucks too. This presentation is about one of those places with special interest to me—the programming interface between the kernel and user space—a place where kernel developers have inflicted a steady stream of small train wrecks (to borrow Dave's term) on userspace.
An overview of Linux IPC techniques.
(An older version of a presentation described above.)
A talk for a non-engineer audience on what Linux and Free Software are, how they're created, where they're used, and the importance and advantages of Free Software. Presented in English to a Spanish-speaking audience, so there's a few Spanish terms sprinkled among the slides.
(An older version of a presentation described above.)
Best practices, and mistakes to avoid, in order to write secure (C) programs.
A discussion of bugs and design errors in the kernel-userland API, some theories about their causes, and some suggestions about how to improve matters.
A presentation that considered which groups determine the features that are and are not included in the Linux (kernel and glibc) programming interface, coupled with a discussion of the problems that result from the fact that ownership of the Linux interface is distributed across several groups.
A discussion of problems in newly released APIs on Linux. LWN.net had a nice summary write-up.
An exploration of how improving kernel-userland interface documentation reduces bugs in, and improves the design of, kernel-userland interfaces.
A 3-hour tutorial describing new features in the Linux 2.6 kernel-userspace interface.
A tutorial presentation on building and using shared libraries on Linux.
(C) 2013 Michael Kerrisk, mtk AT man7.org