-
-
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.
-
The C++ range adaptor pipe operator is associative
-
-
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.
-
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.
-
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.
-
Variadic expansion in aggregate initialization
Variadic templates (parameter packs) have been in the language ever since C++11. With the introduction of fold expressions in C++17, they have gotten even more useful. This post showcases their utility for initializing aggregate types such as std::array without prior default initialization of their fields.
-
Interactive demo of Support Vector Machines (SVM)
An interactive demo of support vector machines in two dimensions, written using WebAssembly.
-
The C++ range adaptor pipe operator is associative
-
-
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.
-
EuroRust 2022 Trip Report
-
-
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.
-
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.
-
The C++ range adaptor pipe operator is associative
-
-
(Re-)Launching my web site and blog
I’m happy to finally kick off this, my new-ish web presence. It is meant to serve both as a portfolio of my professional work (academically and otherwise), as well as a place to condense ideas and random ramblings into blog posts.
-
(Re-)Launching my web site and blog
-
-
Standalone figures from Gnuplot's LaTeX terminals
Gnuplot offers many output terminals; amongst the more useful ones for scientific publishing are the LaTeX terminals which embed EPS graphics in a TeX file which adds labels. However, sometimes you need a standalone figure and this becomes a hassle. Here, I introduce a tool to extract the figures from rendered TeX output without littering your working directory with temporary files.
-
Standalone figures from Gnuplot's LaTeX terminals
-
-
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.
-
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.
-
Interactive demo of Support Vector Machines (SVM)
An interactive demo of support vector machines in two dimensions, written using WebAssembly.
-
Version 3 release of TK-SVM — Wrapping up
-
-
Joining MVTec
Starting today, I'll be working at MVTec as a C++ software architect.
-
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.
-
(Re-)Launching my web site and blog
I’m happy to finally kick off this, my new-ish web presence. It is meant to serve both as a portfolio of my professional work (academically and otherwise), as well as a place to condense ideas and random ramblings into blog posts.
-
Joining MVTec
-
-
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.
-
Version 3 release of TK-SVM — Wrapping up
-
-
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.
-
Standalone figures from Gnuplot's LaTeX terminals
Gnuplot offers many output terminals; amongst the more useful ones for scientific publishing are the LaTeX terminals which embed EPS graphics in a TeX file which adds labels. However, sometimes you need a standalone figure and this becomes a hassle. Here, I introduce a tool to extract the figures from rendered TeX output without littering your working directory with temporary files.
-
Two papers published in PRB
-
-
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.
-
EuroRust 2022 Trip Report
-
-
Standalone figures from Gnuplot's LaTeX terminals
Gnuplot offers many output terminals; amongst the more useful ones for scientific publishing are the LaTeX terminals which embed EPS graphics in a TeX file which adds labels. However, sometimes you need a standalone figure and this becomes a hassle. Here, I introduce a tool to extract the figures from rendered TeX output without littering your working directory with temporary files.
-
Standalone figures from Gnuplot's LaTeX terminals
-
-
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.
-
Interactive demo of Support Vector Machines (SVM)
An interactive demo of support vector machines in two dimensions, written using WebAssembly.
-
Two papers published in PRB
-
-
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.
-
Version 3 release of TK-SVM — Wrapping up
-
-
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.
-
Interactive demo of Support Vector Machines (SVM)
An interactive demo of support vector machines in two dimensions, written using WebAssembly.
-
EuroRust 2022 Trip Report
-
-
(Re-)Launching my web site and blog
I’m happy to finally kick off this, my new-ish web presence. It is meant to serve both as a portfolio of my professional work (academically and otherwise), as well as a place to condense ideas and random ramblings into blog posts.
-
(Re-)Launching my web site and blog