The C++ range adaptor pipe operator is associative
Tina Ulbrich (@_Yulivee_) recently gave her talk “How to Rangify Your Code” at my local meetup, in which she gave a rundown of several examples from her codebase where loop-heavy code was replaced by pipelines of range adaptors. I sunk my teeth into one of those from an API design perspective and show how it can be generalized to work with generic ranges, based on the associative property of the pipe operator used to compose ranges and range adaptors.
EuroRust 2022 Trip Report
This fall, I attended the first-ever EuroRust, the European offshoot of Rustfest, in Berlin. In this post, I’ve collected my impressions of some of the talks, grouped by their overarching topics.
C++ on Sea 2022 Trip Report
I had a chance to attend “C++ on Sea” in Folkestone this year. This write-up aims to give an overview of my personal highlights as well as some solid overview talks.
Starting today, I'll be working at MVTec as a C++ software architect.
Version 3 release of TK-SVM — Wrapping up
A new version of the TK-SVM framework has just been released and is now available on the university’s GitLab repository. In keeping with the number of SVM-related papers we have published in the past 1.5 years, this is version 3 and reflects the changes made to the framework to facilitate our latest paper, studying the XXZ model on the pyrochlore lattice.
Frustrated magnetism: Thesis motivation
Frustration is ubiquitous in nature. This post explores its effects on magnetic systems, giving rise to spin liquid behavior and hidden multipolar spin order. Recognizing these phenomena is nontrivial and motivated the inception of a machine-learning scheme to do so automatically.
Thesis handed in 🥳
Over the past few month, I have been busy finishing yet another SVM-related paper but also writing my PhD thesis which I am happy to have handed in last week.
Two papers published in PRB
It's my pleasure to annouce that as of last week, both of the papers we worked on last year have been published in Phys. Rev. B. We have also made the source code openly available.
Recursive visitors from fixed-point combinators
In this follow-up post, we demonstrate how concepts from lambda calculus can benefit real code by using the Y combinator to define recursive lambda functions. This is particularly useful in the visitor pattern introduced in the previous post.
Type safety, variants, and visitors
Don't use unions anymore. Variants offer type safety and better compiler diagnostics with less boilerplate. std::visit makes it easy to apply the visitor pattern without setting up intricate class hierarchies, while achieving data/algorithm separation.