Markus Löning

Software Engineering & Machine Learning

Recent posts

Nov 16, 2025

Job interviewing — Here are some notes from my experience searching for new jobs and interviewing with various companies. It’s largely a summary of books, blog posts and conversations I’ve had, some of it copied directly from there (see the extra resources I link in each section). Cultural-fit interview The cultural fit interview assesses whether you align with the company’s values and how you work …

Oct 11, 2025

EuroRust 2025 — I attended my first Rust conference, EuroRust 2025 in Paris. clippy settings recommendations, including pedantic or undocumented_unsafe_blocks (structured safety documentation) for unsafe code best practices for Rust development by jhpratt (slides, also see his related talk on compiler-driven development) inner workings of the Rust compiler, compiler settings and their trade-offs including …

Oct 2, 2025

Pydata Paris 2025 — quarto for publication-ready reports and presentations (see e.g. https://github.com/paddyroddy/talks) optimal transport theory and Python library (https://github.com/PythonOT/POT) free-threaded Python rollout (see https://labs.quansight.org/blog/free-threaded-python-rollout, https://lwn.net/Articles/1025893/) conflict-free replicated data type (CRDT) for lock-free concurrent read/write access, …

Jul 24, 2025

Network engineering — Intro I recently had to think more about network engineering. Here are my notes from reading Beej’s Guide to Network Programming and Computer Networking: A Top-Down Approach. Overview Five-layer version of Open System Interconnection (OSI) model: Layer Name Protocol Data Unit Function Diagnostic Tools 5 Application Data Protocols for data exchange, resource sharing and remote file access …

May 18, 2025

Exploring Paris — Festivals Fête de la musique Ganesha festival (Temple of Sri Manicka Vinayakar Alayam) Fête National (Bastille Day) Bal des Pompiers Fête de la Lune Restaurants Le Petit Budlo (bistro guide) Les Pieds dans le Plat (gastronomic blog) Cinemas Louxor cinema (excellent selection of original-language films, well curated, nice roof-top bar) Grand Rex (apparently biggest theatre in Europe, venue for …

May 14, 2025

Learning C++ — Learning resources For discussions, see: https://news.ycombinator.com/item?id=16535886, https://www.reddit.com/r/cpp_questions/comments/rxx0z5/best_resources_to_learn_c/ book “Effective Modern C++” by Scott Meyers comprehensive tutorials: https://www.learncpp.com/cpp-tutorial/ https://www.studyplan.dev/cpp basic tutorials: Back to basics videos from CppCon: …

Jan 16, 2025

How to name things — In software engineering (and machine learning), we often need to name things to refer to them more easily in our discussions – be it projects, products or servers. Naturally, we want to give descriptive names, so that the name expresses the nature of the thing. What makes this difficult is that the name also needs to distinguish it from other closely related things, for example, variations …

Jan 14, 2025

Signing git commits — https://withblue.ink/2020/05/17/how-and-why-to-sign-git-commits.html If a key expires, you can update the expiration date as follows: gpg --list-secret-keys to list the secret keys and look up the key ID, alternatively gpg --list-keys gpg --edit-key <key-id> to open the gpg console run expire in the gpg console and follow the prompts to update the expiration date finally save and quit You …

Jan 12, 2025

Writing well — Here are some resources for writing well. General writing “Style: The Basics of Clarity and Grace” (3rd Edition) 3rd Edition, by Joseph M. Williams “The Chicago Manual of Style”, 16th Edition Sixteenth Edition, by University of Chicago Press Staff https://matt.might.net/articles/shell-scripts-for-passive-voice-weasel-words-duplicates/ Technical docs A Manual for Writers of …

Dec 24, 2024

Search and replace in multiple files using vim — I’m using Neovim with AstroNvim, and the key maps below will be different depending on your setup. You can find my configuration here. To find and replace a string in multiple files, you can use this workflow: Use telescope to find occurrences of the string (<leader>fw) Send the results to the quickfix list (C-q) Use the cfdo command to replace the string for all occurrences in the …