It was during the shutdowns of 2020 that I became increasingly frustrated with my Intel MacBook pro. It was slow, loud and hot; all the things that many people, myself included, dislike about laptops.

I decided to build a PC. After a month or so spent scouring the internet for parts, I had assembled a PC. I ran Pop!_OS for a while, but this being my first desktop machine in over a decade, I spent a fair about of time dual booting into Windows to play all the video games that I missed out on as a macOS user.

I was exposed to WSL2, which I came to find was quite a pleasant development environment. My only issue was that I could not find a tiling window manager for Windows that would bring me close to the productivity that I had with yabai on macOS.

I decided to build my own.

My first attempt was called yatta. If you look at the code, I think it’s pretty obvious that this was my first time working with the Win32 API and that this project was largely an exercise of learning in public.

After I had well and truly coded myself into a corner, surrounded by insurmountable walls comprised of short-sighted design decisions, I started work on the next iteration of this tiling window manager.

That next iteration was called komorebi (named by my wife). Today, komorebi is the most starred actively developed tiling window manager for Windows on GitHub, and boasts a pleasant, welcoming community of a couple hundred people on GitHub and Discord.

I don’t quite remember the birth of komorebi’s Discord server; I think someone asked if there was a server on a GitHub issue and I just made one on the spot, thinking that not many people would join. Before I knew it, there were over 100 people in the server.

I interact with a lot of people on the GitHub project and the Discord server now. I am amazed at what this accidental community has been able to achieve.

A while ago I realised that it was time to specify some rules for the community on the Discord server (not because of any specific concerning behaviour, just due to the growth that the server was seeing).

Dear reader, if you ever find yourself in this situation, I encourage you to take a look at the Rust code of conduct as an excellent starting point. The komorebi Discord server uses a slightly modified version of this code of conduct and I believe it is a good fit for chat servers centered around open-source software projects.

Until now, there has only been one instance where I have had to “enforce” the code of conduct on the server. A new user had joined whose username was not exactly PG. I privately messaged this new user:

Hello friend, welcome to the Komorebi server!

As with everyone else you are most welcome in the server, but I must ask you to pick a different server-specific display name for our server, because your current display name conflicts with the server’s code of conduct:

You can do this by right-clicking on the Komorebi server, clicking “Edit Server Profile” and changing the “nickname” field on the popup

That was pretty much it. The user adopted a different server-specific nickname, and life went on.

For many years, I had lamented the death of the online communities that I grew up with as a teenager. The IRC chat rooms based around Quake 2 and Quake 3: Rocket Arena servers, CounterStrike beta and Team Fortress servers (do you remember the days before Steam, dear reader?), the phpBB forums centered around my favourite bands, with subforums that discussed anything and everything, and the Soulseek chat rooms where I first discovered Japanese indie rock.

This new accidental community that has built up around komorebi gives me such pleasant, warm, nostalgic feelings. It is such a beautiful part of my life today as an adult, and one that I am incredibly grateful for.

If you have lived a life in active addiction as I have, and if you don’t know what to do with all the time, energy and creativity returned to you by the gift of sobriety as I didn’t, try building something that you never would have thought yourself possible of building before. Put it out there for other people to enjoy.

I don’t think I would have been able to take this step myself without having first been exposed to Andreas Kling’s work on SerenityOS and the beautiful community that emerged around it.

Perhaps, dear reader, you too are an addict who is feeling a little overwhelmed by the gift of sobriety. I hope this encourages you, too, to reassess the things your addict told you you were incapable of, and to take a step towards building and sharing something beautiful with the world.