Thoughts and Opinions on Coding and Tech
The incredible speed of memchr
On my current project SeqAn3 we deal with a lot of parsing of file formats. These file formats are heavily text-based formats, e.g: fasta, .fastq, .sam, .vcf. A very typical operation we apply is finding a new line in a huge buffer. Think of something like:
char* str = "ACGTACGTACGTACGTACGTACGT\nACGTACGTACGTACGTACGT\n" // find the position of the next new line
The P, the D and the Ugly
2020 shall be the year when the 01. RFC Berlin wll be found. If it weren’t for COVID-19 this had already been done. Anyways, as the team’s name suggests it will be based in Berlin and if you don’t know “arm aber sexy” (poor but sexy) is the semi-official theme of the city. The lack of finance of the city is something we’ll experience too at the RFC so the plan is to reduce the costs of the robots as much as possible. In this post I want to tell about my adventures in making super cheap smart actuators.
Incarnations of Modularity
On more occasions than I’d be comfortable with I’ve heard that software should be modular. To be fair: I am one of the advocates of the claim that modularity is worth striving for. But what is actually meant by that? There is no universally agreed upon definition for modularity.
The magic that is least squares
If you’ve had training in math, statistics, computer science or any other number crunching field you already know linear regression. Linear regression is just one tool that employs a wonderful technique: least squares
Epoll is not as bad as the internet says
In all honesty the internet does not really say that much about
epoll. It’s mostly a post from 2017 called epoll is fundamentally broken that annoys me. The blog post states that “if you can you should avoid using
epollfor load balancing across threads”. I strongly disagree with that statement and with the overall methodology of the post.