Re: OT: complaining about your OS
- Posted by jimcbrown (admin) Feb 18, 2016
- 2358 views
I am a fan of Linux but it does have its draw backs: POSIX filesystems allow too many symbols in the files.
Speak for yourself. I like this feature.
Normally this is not a problem if you are only using Linux files and people behave when they name files but I do sometimes accidentally get uppercase and lower case versions of the same file when backing up multiple times.
The flip side of this is when a person creates a web site (using Windoze), and uses the filename case inconsistently. So links work when developing, but the web server software used (which also runs on Windoze) is case sensitive so when the site goes live, the links suddenly break.
I like case sensitive systems for those rare cases where a name really does differ only by case - e.g. Apple's iPad vs Proview's iPAD. http://www.fool.com/investing/general/2012/02/22/and-you-thought-you-knew-what-an-ipad-looks-like.aspx
Another is not able to distinguish distinct mice in its APIs. Multiplayer games. ;)
Hmm. It looks like this is in fact possible, but it looks complicated.
http://blog.ankurs.com/2010/10/multiple-mouse-keyboard-in-linux/
https://ao2.it/en/blog/2010/01/19/poor-mans-multi-touch-using-multiple-mice-xorg
Doesn't look like Windoze supports it out of the box either, though. http://superuser.com/questions/29432/using-windows-7-how-can-you-use-multiple-mice-to-get-multiple-cursors
Also no option to mount an ext2 filesystem and give another user full access. When restoring with an ext2 backup this makes me regret not having used vfat.
I can see how having uid/gid options for the ext family of file systems would be nice. On the plus side, a workaround with bindfs does exist. http://unix.stackexchange.com/questions/14671/mounting-an-ext3-fs-with-user-privledges bindfs.org
Oh and also not being able to run new-binaries of older Linuxes. This bothers me the most.
I take it to mean you want to run a binary built on a newer GNU/Linux system on an older GNU/Linux system.
I do this on a regular basis.
I make available a Euphoria binary but I cannot expect all the users to keep glibc to the newest incompatible version.
I understand your pain. It's possible to make this work, but this isn't something one expects a neophyte to be able to deal with.
http://stackoverflow.com/questions/271089/how-to-statically-link-an-existing-linux-executable
So sometimes they just wont work. I rented webspace and upload my a EUPHORIA interpreter for CGI. It wouldn't work because of this problem. I had to port my CGI to some Interpreted language they already had, go with a Windows based web host, or install an old Linux for development. What is more of a pain? It depends on the size of the CGI script.
Hmm. Maybe we should add a staticlly linked euist for the nix builds. Seeing as you have the source code to the Euphoria interpreter, I don't see why you didn't just alter the build file to link everything in statically.
Linux has no way to detect whether you are running your program in a terminal visible to the user or the program was opened in X-Windows to properly implement has_console().
This is so wrong that it's hard to know where to start.
1) It is possible, just troublesome. E.g. checking if $WINDOWID is set. http://unix.stackexchange.com/questions/3197/how-to-identify-which-xterm-a-shell-or-process-is-running-in (But this isn't perfect as someone might have reset it, e.g. via sudo http://stackoverflow.com/questions/8633461/how-to-keep-environment-variables-when-using-sudo) The most accurate way is to look at /proc/<your pid>/fd and see if 0,1,2 point to a pty, then trace back at your parent pid, and that 'parent's pid, and so on, until you find an xterm that owns that pty. (If your stdin/stdout has been redirected to a file or a pipe, you effectively don't have a "console", which is why we have to check that those are connected to a pty device first.)
2) It's not a Linux (the kernel) issue. It's arguably not even a GNU (the rest of the OS) issue. It's an X Window system issue.
3) has_console() is a hack due to Windoze brain damage. (We need to know if we have a console or not because applications that run under the GUI subsystem have their stdin/stdout/stderr pointing to nothing, and no way to connect them to an actual console.) We don't need to implement it on a nix system because a nix system doesn't have this kind of brain damage.