In this article I describe how to automatically generate implementations for std::ostream &operator<< for enums and structs from C++ source code using LibClang.| rigtorp.se
My notes on common gotchas and usage tips for usign the POSIX sockets API (also known as Berkeley sockets or BSD sockets).| rigtorp.se
The immediately invoked function expression (IIFE) is a concept that has been independently discovered multiple times and applicable to multiple programming languages.| rigtorp.se
On the latest CPU microarchitectures (Skylake and Zen 2) AVX/AVX2 128b/256b aligned loads and stores are atomic even though Intel and AMD officially doesn’t guarantee this.| rigtorp.se
I’ve seen a lot of poorly implemented spinlocks floating around the internet.| rigtorp.se
Opinionated C++ one page best practices guide. Adapt according to your project’s requirements.| rigtorp.se
When developing algorithmic trading strategies for FIFO markets it is beneficial to know our orders queue position in the order book.| rigtorp.se
The feed handler is one of the most important component of any algorithmic trading system.| rigtorp.se
When working with time series data with NumPy I often find myself needing to compute rolling or moving statistics such as mean and standard deviation.| rigtorp.se
I recently added dark mode support to my website. While doing so I found a neat trick to make SVG images that changes colors depending on if dark mode is active or not.| rigtorp.se
In this note I show how you can parallelize scikit-optimize (skopt) using Dask.| rigtorp.se
This is a short guide how to setup WeeChat WebSocket relay protocol with TLS encryption.| rigtorp.se
Profile-guided optimization (PGO), also known as profile-directed feedback (PDF), and feedback-directed optimization (FDO) is a compiler optimization technique in computer programming that uses profiling to improve program runtime performance.| rigtorp.se
In this note I provide useful tips on how to use ClangFormat (somtimes called clang-format).| rigtorp.se
For user supplied data use SipHash to prevent hash flood attacks.| rigtorp.se
AVX loads and stores are atomic See AVX loads and stores are atomic and https://stackoverflow.| rigtorp.se
Introduction Latency is a tricky subject, sometimes it's not even clear what or how to measure it.| rigtorp.se
A list of useful tools for creating figures and diagrams for technical documentation.| rigtorp.se
In this note I provide some useful examples on how to use perf.| rigtorp.se
This is guide on how to install ROCm 3.9 on Fedora 33 using the official packages for RHEL8.| rigtorp.se
In this article I will explain when and how to use huge pages.| rigtorp.se
In this article I demonstrate how to fuzz test floating point code using libFuzzer.| rigtorp.se
This is a short guide describing the latency implications of the virtual memory abstraction.| rigtorp.se
This guide describes how to tune your AMD64/x86_64 hardware and Linux system for running real-time or low latency workloads.| rigtorp.se
The x86-64 architecture allows unaligned memory access. It even allows for atomic operations on data split across two cache lines.| rigtorp.se
In this article I will take a look at the classic concurrent ring buffer and how it can be optimized to increase throughput.| rigtorp.se