4 ms·
i was think about this like one hour ago, start why i need to config docker to make php website, then migrate to when i start to think i don't funking know an
by imachine1980_ 5y ago
i was think about this like one hour ago, start why i need to config docker to make php website, then migrate to when i start to think i don't funking know anything in linux(after years of using it), how x11 works(like really),not talking about multi threading in the kernel, the idea of know how anything works is relic of the past,i work in some next.js project have more file than some of the old legacy UNIX, this is become insane but i don't think this will slow down any time soon.
- rackjack 5y agoDon't feel too bad about X11... iirc it's extremely difficult to be compliant with the standard, since they apparently codified the quirks of the different existing implementations into the standard itself. Wayland is purportedly more sane. Relevant discussion: https://news.ycombinator.com/item?id=26418992 https://news.ycombinator.com/item?id=26418992
- woodruffw 5y agoThe X11 protocol itself[1] isn't actually that complicated: it's large and old, but the fundamentals are mostly consistent and the modern client bindings (libxcb) are even generated automatically from a machine-readable protocol spec[2]. Various extensions and standards composed on top of X11 further complicate things, but most of them are graceful client-side enhancements rather than required components of a functional X11 client and server setup. [1]: https://www.x.org/releases/X11R7.5/doc/x11proto/proto.pdf https://www.x.org/releases/X11R7.5/doc/x11proto/proto.pdf [2]: https://cgit.freedesktop.org/xcb/proto/plain/src/xcb.xsd https://cgit.freedesktop.org/xcb/proto/plain/src/xcb.xsd
- kaba0 5y agoOh and you haven’t even started looking at the hardware below all that! But on a serious note, this complexity is not all useless. A significant part of it is essential complexity that can’t be reduced. And frankly, these layered abstractions allow us to do any real work. Just understand your stack very well and one or possibly two layers below — that is what makes you a great developer.
- still_grokking 5y agoI would disagree. Nobody looked at the whole stack for quite some time. But it would be time to do so, imho. The stack is crufted and the necessary complexity is smeared all over it—hold together with a lot of not essential complexity. Rethinking the whole stack form the ground up (hw layer) through the OS up to distributed networking systems is long overdue in my opinion. But actually nobody designs systems anymore! It's only pilling up yet another layer on top of all the existing cruft. This hinders also progress in general as it's not possible any more to try out radically new ideas. All "new" ideas are necessary constrained by the existing stuff. You can't "move sidewards" any more to create truly innovative systems. It would be a good idea to start to look at the whole stack again. And to move things around to decruft it once again. That's a lot of work of course at the current state of affairs but it would improve a lot of things I guess. To point out precedence for the suggestion. They're doing the same currently with the std. network stack: The layers we've got are crufted and there been a lot of hacky solutions to cross-cutting issues around. The way forward now is to reimagine the whole stack in hindsight of present-day knowledge about possible design space and current requirements.
- kaba0 5y agoI agree with you in part, but the seemingly insurmountable part of that is, again, backwards compatibility. Like, sure there may be a better way to do block devices, but is it better enough to make both the old way and the new way supported in both hardware and software? It has an insane maintainability price to introduce change that is not backwards compatible.