Why glibc is faster on GitHub Actions
Originally published on the CodSpeed blog .
Originally published on the CodSpeed blog .
I was working on a new feature at $JOB and wanted to commit my changes from the last hour. I staged a few files, entered the commit message, committed them and waited for the pre-commit hooks to pass. Unfortunately, the pre-commit hooks didn't pass because I had some style issues. And since I was using VSCode, I closed the dialog thinking that I just have to run cargo fmt once more. Then I…
A few years ago when I was into reverse engineering and binary analysis (and game modding), I did a lot of research into anticheats work. I was curious about tracking their updates, since that would allow me to: Know when a new version is released Understand what changes were made Use older versions for research purposes So I ended up researching different ways on how to track updates of various…
What am I up to right now? Working at Codspeed as a systems engineer. Learning Chinese on Duolingo What is this? This is a Now page to share what I'm currently doing.
My blog was overdue for a change. It's been more than 3 years since I created the theme for this blog and I've grown to dislike some things about it. So I decided to use my extended weekend to redesign it. This post will act as a showcase of the changes I made and some thoughts on the design choices. New Fonts! I want to ask the the version of me from 3 years ago: Why the hell did you…
/* Use full width for images */ img { width: 100%; } /* Inverts the svg charts for dark mode */ :root.dark img { filter: invert(1); } Preface I'm currently working on an Intel hypervisor (very fun project btw) and had the following problem: The hypervisor needs to be very performant (otherwise the system slows down) so I have to cache as many things as possible. But how do…
Introduction A while ago while I was partying at a silent disco bar, I noticed something interesting: They have a digital jukebox - basically a website that lets people choose which music should be played. People can add songs or vote for existing ones. The song with the most votes will be played next. I tried to add my own song , but I didn't get any votes so I did the only logical thing: I…
It's been a year since I wrote the blog post about my first year of university. It was truly life-changing, and I didn't think it could get any crazier... but it did. Meta : I was thinking for a long time about whether or not I should even release this publically, or if I should just keep it in my private Obsidian vault. I value privacy and am often overthinking whether or not to share…
I read a blog post with this exact same title by the Heep . And since I also finished my first year of university a few months ago, I wanted to reflect on it as well. The beginning It all started one week before classes started. I decided to attend a guided tour of the campus, so that I'd be better prepared. I can't imagine where I would be right now if I didn't get out of bed that…
A lot has changed since I wrote my first blog post on how to write kernel drivers with Rust . I learned more about the language and worked on more projects. The goal of this blog post is to keep you updated on the changes from the last 2 years. Kernel Logging When I originally wrote Kernel Printing with Rust , I had never heard or used the log crate. It's very powerful and you should…
Preface A friend of mine recently brought up his custom mechanical keyboard while we were hanging out in voice chat, and at first, nobody understood why anyone would buy one. At that time, I had no clue that there are entire communities about building custom keyboards. With every sentence that was said, we got deeper into this community. We explored different YouTube channels, watched comparisons,…
If you haven't noticed yet, Discord added a 'Party Mode' because they are celebrating their 7th birthday. When a friend convinced me to enable it, I did the first few challenges, but quickly noticed that they are really repetitive. So I did the only reasonable thing: Automate it . My friend used puppeteer to automate the tasks, but I decided to go through their source code and find…
Preface I'm currently writing an AMD hypervisor in Rust and there I need to allocate memory for lots of different structures. And not all of them use the same memory, so I decided to create a helper structure to allocate and deallocate it for me. My Implementation My implementation has 2 different types: Normal : non-paged pool memory allocated with ExAllocatePoolWithTag Contiguous : physical…
It was a nice monday evening, and I decided to take a look at the feedback of my university homeworks. More specifically, the feedback of my compiler construction homework. I got around 95-100% on the exercises, so I can't complain. But one thing caught my eye. I got this feedback on my last exercise: you create a complete new boolean in each loop -> inefficient -1 . I wasn't sure what…
Update : I recommend using the log and kernel-log crates for kernel logging. For more information, visit Kernel Driver with Rust in 2022 . Preface Printing is important. If something doesn't work, you want to know why (e.g. by looking at the console output). When I first wrote the log macro for my kernel driver I didn't think much about the security. I just thought: "Surely nobody will…
Update : A few things have changed since I wrote this blog post. For more information, visit Kernel Driver with Rust in 2022 . Preface I read the official Rust book already in the end of 2019 but never had a project idea. That's why I decided to rewrite one of my already existing C++ projects. A few months after I started I already gained lots of experience and began to wonder whether…