Hacker News new | past | comments | ask | show | jobs | submit login

Author here. I stopped working on this a few years ago, so now's as good a time as any for an overly-long, rambly, unedited retrospective.

When I started this, I was working on GNOME's window manager full-time, and wanted to learn intricately how X11's drawing model worked, so over the course of a few weeks in a hotel room, I recreated large parts of X11's drawing model in a web browser, fixing artifacts as I went along, until I feel I had a really good grasp of it. My initial test scene was a traditional desktop-like approach with a taskbar and xeyes, both of which are still in the codebase today, but untested [0].

I didn't know what I wanted to do with it, until I settled upon using snippets of it to build a long-form article. I learned a lot about the difficulty of writing, of pedagogy, of that blurred line between being technically correct 100% of the time vs. telling a few small lies here and there to keep the flow consistent and help people see the broader picture.

At my day job, I had mostly moved onto Wayland, where some of the bits I picked up here really helped me design better protocols and systems. My goal with the series was to try to be as neutral as possible, and my original design was to have a giant caution sign around "Author Opinion Zones" where I would talk about how certain design features haven't held up well in practice. But quickly, people on Hacker News or Phoronix or Reddit seemed to skim the article, pick up a piece here or there, and go on straight to bashing Wayland, gleefully unaware that I was one of the people making it.

So, the end result was that I basically stopped working on Xplain basically after the second article. The COMPOSITE article was one I made after a colleague was having trouble understanding COMPOSITE, and I figured it was easier to write with my framework than explain in a chatroom, and maybe some others would appreciate it.

I have a deep passion for sharing my knowledge, and Xplain was the format I first really used to do it widely, so I tried to keep it exciting for me by changing it from "Xplain" to "Explanations", and opening up the topics from X11 to just about anything, but at some point I was just unhappy working on it.

The last thing I was working on was a continuation of my Basic 2D rasterization article, where I had a fun code editor you could use to make your own graphics [1] [2], but as fun as the technology was, I couldn't find a satisfying flow to the article, so I stopped it. Parts of it were later recycled for an article on the histories of 2D and 3D graphics. [3]

Around mid-2016, I had stopped working on Linux and open-source graphics entirely, and by 2017 I had exited the open-source industry completely and jumped ship to professional game development. I still have a deep love for graphics and a passion to explain things. I just released a new side project a few days ago for it, even.

Here's some stuff I'm working on these days. It's much cooler than X11/Wayland flamewars, in my opinion.





[0] https://github.com/magcius/xplain/blob/gh-pages/src/clients/...

[1] https://u.teknik.io/XdSbC.webm

[2] Sort of up here at https://magcius.github.io/xplain/article/rast2.html

[3] https://blog.mecheye.net/2019/05/why-is-2d-graphics-is-harde...

I want to thank you for this page! It really helped me understand how X11 worked when my job at the time required some rather esoteric (to me) X11 knowledge. I had to write a very specific purpose window manager (in JavaScript, which really made it interesting) that had to work around some odd client behavior, and I also had to submit a patch to X.org to fix a bug in Xephyr. Without your guide I would have spent far longer digging in the docs to figure things out.

I just watched the YouTube link, and it's amazing! I've been toying with making some of my own video content, and this is inspiring. There's only so many hours in the day though.

Thank you! Making good YouTube content has been on my bucket list for a while, so I'm really happy I did it. I will admit it took a lot out of me -- basically all my weekends and spare time for about a month. But the reception has been more than worth it.

If you ever do make some good YouTube content, do let me know! You've definitely been an inspiration for me in my graphics journey, and I imagine you have some incredible insights and perspective into the graphics world.

The examples in this link don't work for me in the latest Firefox or Chromium (or Brave) on Linux. https://blog.mecheye.net/2018/03/deconstructing-the-water-ef...

Edit: neither does anything here: https://noclip.website/

Blame your graphics drivers. The lack of working modern graphics on Linux is one of the reasons I moved away from it. It works fine for me locally, so it's an issue with your machine. Stare at chrome://gpu and https://webglreport.com/?v=2 for a bit, or maybe file a bug with your graphics driver.

It doesn't work in Firefox for Mac either.

It does in Chrome.

Using Firefox nightly on 2015 Macbook Pro and it works just fine

Firefox 69.0.1 on 13" 2015 MBP.

Hey, that YouTube video got recommended to me a couple days ago on their front page and I really enjoyed watching it. One of the few instances where YouTube didn't recommend random crap or just videos of channels I'm already following.

Again, great job! That's exactly the kind of content I'm enjoying most on YouTube.

Thank you for taking the time to explain it to us!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact