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:


  • Get Shit Done

    When I applied to Unity, I had two interviews with Joachim Ante (who is very good at getting things done, by the way) for a position on his team. I specifically recall him saying that he was looking for someone that could “get shit done.” This was never something that... [Read More]
  • Programming Stamina

    Whenever I look back at “proper” software I have created by myself (my solo-games, or some larger tools) I am in disbelief that I ever managed to build them at all. Of course, the trick to building something like that is to take one step at a time: Nobody builds... [Read More]
  • 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]