nt-list: Windows Linked Lists in idiomatic Rust

On my quest to develop a ReactOS/Windows bootloader in Rust, I inevitably had to stumble upon the infamous LIST_ENTRY structure used in the LOADER_PARAMETER_BLOCK. This is what Windows, Windows drivers, and components influenced by Windows (e.g. UEFI) have been using for a long time to uniformly handle linked lists. I …

Read more

My FOSDEM talk on implementing NTFS in Rust

FOSDEM 2022 just ended. Despite being an all-virtual event again, it was another awesome conference with a packed schedule full of interesting talks. I had the honor of speaking about my recent NTFS Rust filesystem crate and the video is now online: Thanks a lot to all volunteers for organizing FOSDEM and choosing my …

Read more

An implementation of the NTFS filesystem in a Rust crate

Happy new year everybody! It’s finally time to reveal a project I have been working on over several weekends of the past year. It’s also the next building block on my mission to write a ReactOS/Windows bootloader in Rust. ntfs is a Rust library that implements the low-level structures of the NTFS …

Read more

That time I had to patch the Universal CRT

I just finished a blog post where I replaced almost the entire Microsoft build toolchain for our Windows software with open-source alternatives better suiting our needs. Except for the Visual Studio C runtime library, nowadays called Universal CRT (shortened to UCRT or just CRT). The CRT had been performing without any …

Read more

Relaunched my website!

I finally got the mood to do what was long overdue and recreate my website from the ground up. People who visited ColinFinck.de within the past decade must have had the impression that I vanished without a trace. Whereas in reality, I had just been extremely busy with ReactOS, Rust, and my daily job at ENLYZE. There …

Read more

Modern Visual Studio meets ancient Windows

In my previous blog series, I have shown how to write Win32 applications in 2020 using the amenities that modern C++ brings. Writing an application in 2020 doesn’t mean that we have to forget about 2000 though: The unrivaled compatibility of the Win32 API makes it possible to run your modern application even on …

Read more

nt-hive: A Rust crate for parsing Windows registry hive files

I have embraced the Rust programming language since my unikernel thesis 3 years ago, and at my daily job at ENLYZE I get to use it everyday for implementing parsers for machine protocols. What had been missing so far was a Rust project that combines my passions for Rust and ReactOS. Aiming to fix this, I’m …

Read more

Writing Win32 apps like it's 2020: A DPI-aware resizable wizard

User interfaces in 2020 need to consider many more details than those of previous generations. One of the biggest changes of the last decade is certainly the introduction of HiDPI displays, displays with much higher resolutions together with software using more pixels per GUI element. Win32 with its pixel-based …

Read more