7 ms·
Went into this thinking it was about the X Window System[1]. Pleasantly surprised! Lots of cool stuff here. [1] https://en.wikipedia.org/wiki/X_Window_System h
by usmannk 8y ago
Went into this thinking it was about the X Window System[1]. Pleasantly surprised! Lots of cool stuff here.
[1] https://en.wikipedia.org/wiki/X_Window_System https://en.wikipedia.org/wiki/X_Window_System
- koala_man 8y agoSame, except I was disappointed :P
- bemeurer 8y agoGlad I wasn't the only one!
- anigbrowl 8y agoLikewise. This is super useful and there should be more of it.
- DonHopkins 8y agoI agree, it would have been such an unpleasant surprise to see another implementation of X-Windows! ;) https://medium.com/@donhopkins/the-x-windows-disaster-128d398ebd47 https://medium.com/@donhopkins/the-x-windows-disaster-128d39...
- ronsor 8y agoActually a less unwieldy implementation of X11 would be nice. Preferably in Go or Rust.
- jacobush 8y agoWould it be X11 then?
- DonHopkins 8y agoHasn't somebody reimplemented X11 in JavaScript/canvas/websockets yet? There was an X11 server for Lisp Machines! Not sure who wrote it, but it was probably written inside or at least nearby the X Consortium, and I remember Robert Scheifler used it regularly. https://news.ycombinator.com/item?id=6864364 https://news.ycombinator.com/item?id=6864364 "For example the TI Explorer Lisp Machine came with an X11 server written in Lisp. On my Symbolics Lisp Machine I used the usual MIT X11 server written in C - this was possible because the Symbolics Lisp machine had a C compiler." -lispm John Steinhart wrote XTool, a nice snappy reimplementation of X11 on top of SunView! ;) https://minnie.tuhs.org//pipermail/tuhs/2017-September/010471.html https://minnie.tuhs.org//pipermail/tuhs/2017-September/01047... https://news.ycombinator.com/item?id=15325226 https://news.ycombinator.com/item?id=15325226 >XTool was very small and fast compared to the X sample server because I wrote the server from scratch. I think that I'm the only person to write an X server outside of the X Consortium. One of the things that I learned by doing it was that the X Consortium folks were wrong when they said that the documentation was the standard, not the sample server. There were significant differences between the two. >The only really worthwhile thing about X was the distributed extension registration mechanism. All of the input, graphics and other crap should be moved to extension #1. That way, it won't be mandatory in conforming implementations once that stuff was obsolete. As you probably know, that's where we are today; nobody uses that stuff but it's like the corner of an Intel chip that implements the original instruction set. As an aside, I upset many when working on OpenDoc for Apple and saying the same thing there. >The atom/property mechanism allows clients to allocate memory in the server that can never be freed. Some way to free memory needs to be added. >The bit encodings should be part of a separate language binding, not part of the functional description. >Had he done some real design work and looked at what others were doing he might have realized that at its core, X was a distributed database system in which operations on some of the databases have visual side-effects. I forget the exact number, but X includes around 20 different databases: atoms, properties, contexts, selections, keymaps, etc. each with their own set of API calls. As a result, the X API is wide and shallow like the Mac, and full of interesting race conditions to boot. The whole thing could have been done with less than a dozen API calls.
- earenndil 8y agoWhy go _OR_ rust? Those are completely different languages with completely different goals and almost nothing in common.
- carapace 8y agoOn a tangent, the NSA put out a paper long long ago on X Windows security. (I don't think it was this on but it might have been: "Securing The X Window System With SELinux" [1]) Do you happen to know the one? I'd also like to thank you for turning me on to NeWS et. al. ages ago in another forum. Blew my mind because at the time I only really knew about MS Windows and X. Cheers! [1] https://www.nsa.gov/resources/everyone/digital-media-center/publications/research-papers/assets/files/securing-the-x-window-system-with-selinux-report.pdf https://www.nsa.gov/resources/everyone/digital-media-center/... https://en.wikipedia.org/wiki/NeWS https://en.wikipedia.org/wiki/NeWS
- geofft 8y agoTake a look at Jasper St. Pierre's "Xplain" implementation: https://magcius.github.io/xplain/article/ https://magcius.github.io/xplain/article/
- deleted 8y ago[deleted]
- AdmiralAsshat 8y agoI recall reading something from one of the Xorg maintainers saying, "There's maybe three people in the entire world who really understand how X works." So that might go some ways to explaining why building your own isn't a walk in the park.