5 ms·
How’s it uncool? Just not “ mobile”?
by ianai 6y ago
How’s it uncool? Just not “ mobile”?
- gorgoiler 6y agoExactly. “Linux, ew!” A big part of teaching computer science to children is breaking this obsession with approaching a computer from the top down — the old ICT ways, and the love of apps — and learning that it is a machine under your own control the understanding of which is entirely tractable from the bottom up. Unlike the natural sciences, computer science (like math) is entirely man made, to its advantage. No microscopes, test tubes, rock hammers, or magnets required to investigate its phenomena. Just a keyboard.
- carlmr 6y ago>No microscopes, test tubes, rock hammers, or magnets required to investigate its phenomena. They're full of magnets, and with electron microscope you can analyze what's going on in the hardware.
- yjftsjthsd-h 6y agoYeah, but it's not required for a lot of investigation.
- jtbayly 6y agoUntil stuff goes wrong with the hardware...
- shrimp_emoji 6y agoMy sense is that people do think Linux is "cool" (it's certainly distinguished in being free, logical, and powerful), but its age definitely shows. My biggest pain points are: - Bash is awful (should be replaced with Python, and there are so many Python-based shells now that reify that opinion) - C/C++ are awful - Various crusty bits of Linux that haven't aged well besides the above items (/usr/bin AND /usr/local/bin? multiple users on one computer?? user groups??? entering sudo password all the time????) - The design blunder of assuming that people will read insanely dense man pages (the amount of StackOverflow questions[0][1][2] that exist for anything that can be located in documentation are a testament to this) - And of course no bideo gambes and other things (although hopefully webapps will liberate us from OS dependence soon[3][4]) 0: https://stackoverflow.com/questions/3689838/whats-the-difference-between-head-working-tree-and-index-in-git https://stackoverflow.com/questions/3689838/whats-the-differ... 1: https://stackoverflow.com/questions/3528245/whats-the-difference-between-git-reset-mixed-soft-and-hard https://stackoverflow.com/questions/3528245/whats-the-differ... 2: https://stackoverflow.com/questions/3639342/whats-the-difference-between-git-reset-and-git-checkout https://stackoverflow.com/questions/3639342/whats-the-differ... 3: https://discord.com/ https://discord.com/ 4: http://wasm.continuation-labs.com/d3demo/ http://wasm.continuation-labs.com/d3demo/
- anthk 6y ago- Python as a shell would be the worst crapware ever. Whitespace syntax, no proper file autocompletion, no good pipes, no nothing. Even Tclsh with readline would be better than a Python shell. - By mixing C and C++ you look like a clueless youngster. - /usr/local is to handle non-base/non-packages stuff so you don't trash your system. Under OpenBSD, /usr/local is for packages, everything else should be under /opt or maybe ~/src. - OpenBSD's man pages slap hard any outdated StackOverflow crap. Have fun with a 3 yo unusable answer. Anything NON-docummented on -release- gets wrong fast. Have a look on Linux HOWTO's. That's the future of the StackOverflow usefulness over the years. Near none. Because half of the answers will not apply.
- blacksqr 6y ago> Even Tclsh with readline would be better than a Python shell In fact, I think Tcl would make an excellent sh replacement.
- yjftsjthsd-h 6y agoSo, wish(1)?
- anthk 6y agoThere were attempts in order to create an interactive shell from the TCL interpreter, but the syntax was a bit off (upvar and a REPL can drive you mad), but if you avoided that you could use it practically as a normal shell. Heck, you can run nethack just fine under tclsh.
- viraptor 6y agoYou took that python shell too literally. Ipython included a shell profile (you can still use it yourself) and https://xon.sh/ https://xon.sh/ works just fine.
- pjmlp 6y agoThe ISO C and C++ papers are full of C/C++ references, are the ISO masters clueless youngsters? Or for that matter the likes from Apple, Google and Microsoft?
- remexre 6y agoMy complaints with unix (as someone running linux on every device, starting to dip my toe into freebsd on a vps); apologies for lack of editing: > everything is text I'd often like to send something structured between processes without needing both sides to have to roll their own de/serialization of the domain types; in practice I end up using sockets + some thrown-together HTTP+JSON or TCP+JSON thing instead of pipes for any data that's not CSV-friendly > everything (ish) is a file > including pipes and fds To my mind, this is much less elegant when most of these things don't support seeking, and fnctls have to exist. It'd be nicer if there were something to declare interfaces like Varlink [0, 1], and a shell that allowed composing pipelines out of them nicely. > every piece of software is accessible as a file, invoked at the command line > ...with local arguments > ...and persistent global in the environment Sure, mostly fine; serialization still a wart for arguments + env vars, but one I run into much less > and common signalling facility As in Unix signals? tbh those seem ugly too; sigwinch, sighup, etc ought to be connected to stdin in some way; it'd be nice if there were a more general way to send arbitrary data to processes as an event > also nice if some files have magic properties like /dev/random or /proc or /dev/null userspace programs can't really extend these though, unless they expose FUSE filesystems, which sounds terrible and nobody does also, this results in things like [2]... > every program starts with 3 streams, stdin/stdout for work and stderr for out of band errors iow, things get trickier once I need more than one input one one output. :) I also prefer something like syslog over stderr, but again this is an argument for more structured things. [0]: https://varlink.org/ https://varlink.org/ [1]: ideally with sum type support though, and maybe full dependent types like https://dhall-lang.org/ https://dhall-lang.org/ [2]: https://www.phoronix.com/scan.php?page=news_item&px=UEFI-rm-root-directory https://www.phoronix.com/scan.php?page=news_item&px=UEFI-rm-...
- blibble 6y ago> iow, things get trickier once I need more than one input one one output. :) you can pass as many FDs to a child as you want, 0/1/2 is just a convention
- remexre 6y agoAt that point you're writing something for /usr/libexec, not /usr/bin though. (i.e., at that point it becomes sufficiently inconvenient to use from the shell that no user-facing program would do so.)
- ma2rten 6y agoI was also skeptical of that statement. I did a google trends search and indeed there seems to be a slow decline in command-line related searches: https://trends.google.com/trends/explore?date=all&q=bash,awk,grep,wget https://trends.google.com/trends/explore?date=all&q=bash,awk...