The wayland project exposes what marvelous piece of software X11 really is since Wayland is still not able to compete, otherwise the whole Linux community would use it already.
I respect the intention and efforts of the Wayland community to make things better. However, I wished the community would have focused on making X11 better (easier to maintain with modularity etc.) instead of following the mainstream which is focused on eye candy and other sensual features to attract customers.
The unfortunate developments of KDE3/4, Gnome2/3 and Win7/8 exposed that boring usable functionality is much more important than exciting sensual functionality.
It is, including the author of this post. Unlike other controversial things like systemd or pulseaudio, Wayland was started by major Xorg contributors. I've watched some of their talks and can see why they went down this route.
I've tired Wayland a few times and whenever I do, I give it an honest shot for a few weeks, but tend to run into issues (Sway being pretty buggy or oddities with old X apps or Steam, etc.) I've heard Sway has gotten a lot better and I should really try it out again; probably the next time I setup a laptop.
I do wonder what plans FreeBSD and OpenBSD have for the future. Currently they main their own Xorg trees, but I wonder if we'll ever see Wayland implemented on other platforms.
I used Sway during the 0.14 cycle and ran into some issues e.g. with pointer warping in X-based games, so I decided to wait until 1.x. I just switched to Sway again, with 1.1.2 AFAIR, and mostly everything is working smoothly for me this time around, including Minecraft. :)
Things that don't work for me:
- mirroring (i.e. two displays showing the same windows at once), but AFAIK this is being worked on
- KDE Connect (not Sway's fault, but not having this working really hurts sometimes and might just make me go back to Plasma)
Windows 8 was a major improvement saddled with an untested UI that someone was using to make their political mark. The internals of Windows 8 and Windows 10 are a major, major step forward from 7.
> Every time I see the X11 protocol, I realize that the UNIX philosophy (everything is a file) is dead.
As "dead" as Android (which is based on Linux, a Unix clone) and OSX (a BSD Unix) and iOS (child of OSX)? Why does Microsoft vibrantly support Linux in Windows 10 (an abomination to Ex-CEO Steve Ballmer) if Unix is "dead"?
I think the very opposite is true. Some developers realized that the KISS principle (including the Unix philosophy where everything is a stream of bytes) is not a bad idea after all.
Bash is a typical Unix tool, and Unix follows the KISS principle. Hence, also Bash scripts should be KISS.
If you need >100 lines of code your code is too complex in the script world, and you should split it into several scripts where each does one thing, and that one thing well. Usually, bash scripts are applied with pipes. A sequence like cat x | tr a b | sort >output is much more likely and easy to handle then a single script which does all these things.
KISS with Bash is a very different approach compared to other scripting languages like Python and Perl. There you can write long code easily and conveniently. However, things can get tough when larger scripts need to be maintained.
I consider the examples in the "Bash Bible" a collection of useful black boxes. It's fine if they just work. Regarding the "unreadable" trim_string for instance, if you have problems to understand that code, and you have to change something then you can simply write your own new trim_string script, even in Python or Perl if you like. Pipes work also well with them.
Update: Another advantage of bash and pipes over Python/Perl is that the Unix system can assign each script in a pipe to a separate thread. That means, simple bash scripts with pipes can work _much_ faster than single scripts in Python or Perl.
The irony is that the very attempt to be one tool for everything caused Perl's own destruction. Perl 5 is still used by some veterans for small scripts but who wants to use Perl 6?
Unix follows the KISS principle, and that is key for success. Albert Einstein said: "Keep things as simple as possible but not too simple". In that sense Unix and Posix are well done. However, that doesn't mean that good ideas like Nushell are not welcome.
> very few change their life in significant ways to help it.
I did it, and it is really worth the effort.
What I changed:
- buy liquids in glass only -> healthier and reduced container garbage to 2/5
- use soda stream for mineral water
- buy fresh food -> healthier and reduces plastics packing
- buy used devices (where it makes sense) -> cars, phones, pc's etc. -> much cheaper, reduces waste -> don't be beta tester for newest products
- use rechargable batteries with smart recharger (to benefit the life cycle)
- avoid unfixable devices in general
- use grandma's household remedy, e.g. baking powder and vinegar instead of chemicals (packed in big one-way plastic bottles) to clean your house drains
There are many more tips in the Internet. For instance:
Nice work! Lem looks "Spartan" at first glimpse, the high expansibility however is a promising key for success. Anyone who truly loves Common Lisp has the opportunity to make Lem the best Lisp editor ever.
I am a long-term Emacs user but I think we really need an optional editor which can be extended in Common Lisp rather than Emacs Lisp. What I really like about Lem is the KISS principle ("Keep it simple, stupid") since Lem is based on curses which is good for portability.
I have no experience with Roswell. Is it possible to use QuickLisp packages? Or do you consider to switch from Roswell to quicklisp? That would make installation of Lem much easier!
Roswell and Quicklisp are two different things. Quicklisp takes care of downloading systems (what other languages tend to call packages) and makes them available to ASDF. Roswell and takes care of installing Common Lisp Implementations (think chruby + ruby-install). It also allows you to run lisp programs as scripts iirc.
FTW you don't need to install Roswell to try Lem, you can use cl-launch instead
FWIW you already can run lisp code as a script, at least under Linux. I've been doing the following for quite some time without issue:
--- xx
#!/usr/bin/clisp
(format t "yup")
---
and then on the command line:
> chmod a+x xx ; ./xx
yup
Caveat: You have to comment out the hashbang if you want to (LOAD 'xx) in the repl, or it will puke unceremoniously. It would be nice if repl devs allowed the LOAD function to simply treat it as a ; symbol since it wouldn't break anything and is more consistent with the cli behaviour.
I've only done this with clisp, so maybe other Lisp variants like sbcl et al already do this. YMMV.
EDIT: Realized the script came out all on one line. Fixed.
I respect the intention and efforts of the Wayland community to make things better. However, I wished the community would have focused on making X11 better (easier to maintain with modularity etc.) instead of following the mainstream which is focused on eye candy and other sensual features to attract customers.
The unfortunate developments of KDE3/4, Gnome2/3 and Win7/8 exposed that boring usable functionality is much more important than exciting sensual functionality.