Hi there!


You have found my personal website.

I am Sebastian Schöner, and you are most likely here because you enjoy programming as well.

Choose your adventure:


  • So there's also GetFileInformationByHandleEx

    I somehow stumbled into the niche of “how to enumerate files on Windows.” Let’s take a moment to regret my life choices together, before we return to our scheduled program of “yet another API I didn’t know about.” Jokes aside, I mentioned last time that writing is a great way... [Read More]
  • How to use NtQueryDirectoryFileEx instead of FindFirstFile

    I recently covered FIND_FIRST_EX_LARGE_FETCH for FindFirstFileExW, which instructs the function to use a larger buffer for listing (or searching) files in a directory, thus saving on expensive trips down to the I/O device. Before I could even fully articulate the thought that it ought to be possible to control the... [Read More]
  • How to redirect stdout using Win32, async

    I am writing a small program that needs (wants?) to start a thousand little other processes and capture their output. I am taking this as an opportunity to finally learn more about async I/O on Windows. I have never used async I/O on Windows without a wrapper (C# makes this... [Read More]
  • How much does FIND_FIRST_EX_LARGE_FETCH help?

    Today, while looking at something rather unrelated, I stumbled over FIND_FIRST_EX_LARGE_FETCH. It’s a flag you can pass to FindFirstFileEx (FindFirstFileEx MSDN) to use bigger buffers internally, reduce the number of trips to the device, and ultimately trade memory for performance (sometimes). I somehow never noticed this flag. Raymond Chen has... [Read More]
  • You don't have an IC career path

    If you want to know whether the company you work at has functioning career paths for individual contributors (ICs, as compared to managers), look at whether anyone has walked that path. If no-one ever gets promoted to the highest IC levels and it is instead just where VPs go when... [Read More]