As much as I prefer focusing on the low level stuff, having a button to push can be very satisfying. In the spirit of keeping this blog short and to the point I would like to get right away to the minimum project setup required to accomplish just that: a Button!| www.reachablecode.com
I realise the title is a bit of a mouthful. It was either that or “No-copy IPC lock-free queue for variable length messages”. Naming is hard. DISCLAIMER: It’s not uncommon that one needs to send messages to another process as fast as possible, but 99% of the cases the best answer for that is boost::interprocess[1]. […]| ReachableCode
There are plenty of times where my brain doesn’t realise that my foot is on a collision course with a piece of forniture, but most time even I can tell if I am going to hit someone walking in the opposite direction. How does that work I wonder? Certainly our brains do not start computing […]| ReachableCode
One of the things that always bothered me about video calling apps, is that what is showed to you on the bottom right corner never reflects the quality of the video your interlocutor is actually receiving. In fact compression is the name of the game in video calling apps, as understandably they try to minimize […]| ReachableCode
During this time of uncertainty the only thing we can count on is that what should be straightforward usually isn’t. I had some experience already with OpenCV and thought that it would have been trivial to bang together a small program to help catalogue some old books on the shelf. My naivety was quickly exposed […]| ReachableCode
This post will just be a quick example of how to use OpenCL to generate some simulated stock prices’ “trajectories”. Using CUDA could have been possible as well, and indeed the code could be ported with minimal changes, but then it would have been able to run only on NVidia GPUs while OpenCL runs even […]| ReachableCode
TLDR: godbolt links: Clang Gcc Intro If there is one thing that it’s easy to do with C style loops and not as easy with modern C++, it’s keeping the loop variable around while we are accessing the elements of a container. The C way, and arguably the best way, is the usual On the […]| ReachableCode
Some times it happens that we just want to define an interface, and some of those times we think that we should not use inheritance for some performance-related reasons. Most of these times we are very wrong, and we should just inherit from a base class with (possibly pure) virtual functions. However in this post […]| ReachableCode
(A quick and dirty approach) For our second post I thought I’d show a quick hack that I have recently used to find unwanted allocations. We know that a call to malloc can take an indefinite amount of time, and therefore it should be shunned from the “hot path”. With just a few lines of […]| ReachableCode
As much as I prefer focusing on the low level stuff, having a button to push can be very satisfying. In the spirit of keeping this blog short and to the point I would like to get right away to the minimum project setup required to accomplish just that: a Button!| ReachableCode
The first thing I do every time I need to learn a new codebase is to start drawing the UML diagram of its classes, and usually give up soon after I started. The process of doing it manually is certainly useful, but now with reflections I figure it would be fun to try generate it instead.| www.reachablecode.com
The first thing I do every time I need to learn a new codebase is to start drawing the UML diagram of its classes, and usually give up soon after I started. The process of doing it manually is certainly useful, but now with reflections I figure it would be fun to try generate it instead.| www.reachablecode.com
The first thing I do every time I need to learn a new codebase is to start drawing the UML diagram of its classes, and usually give up soon after I started. The process of doing it manually is certainly useful, but now with reflections I figure it would be fun to try generate it instead.| ReachableCode