So...how did you set up your shell/terminal?


#22

Coming in to the “let’s talk about terminal stuff” with a “terminals suck” attitude is kind of a buzzkill imo.
Anyway, I use Fish Shell, Tmux, Neovim (mostly for config files, not for programming), tons of tiny homebrew utils and a huge collection self-build functions and aliases.


#23

No need to use the shell at all. Sure, many dangers with the terminal, but that’s because you have access to everything, paired with unlimited flexibility. A chain saw is also more dangerous than a jigsaw.


#24

It’s pretty obvious that the members that you are are referring to are regular users of terminals and, as such, cannot possibly feel that “terminals suck.”


#25

You can’t possibly be confused as to what I meant.


#26


#27

Did you do that in an Apple Note?


#28

I agree with you. I’m about to launch into a personal story, so feel free to skip anything after this. Readers Ye Be Warned!

For many of us who self-identify as nerds (or more particularly, computer nerds), there is a real joy in doing things with a computer and getting a computer to do things (sometimes just for the sake of it). That’s part of why I like interacting with the terminal–a lot. Using the shell does present risks, of course, but the sheer level of control at your disposal is really quite remarkable. Plus, I find that many of the command line interfaces to programs and utilities are more thoughtfully designed than many graphical interfaces and it enables some greater efficiencies. (There are many places, though, where the GUI is more efficient. Both have their place.)

And “so what” about the terminal being risky. The computer is not going to explode if you enter a bad command. Yes, you can make mistakes and do dumb things. That problem is largely an annoyance and not a crisis if you have good data back-ups. But what I discovered quite accidentally is that the best way to learn how to use and truly understand a computer is, well, to break things.

My first real computer that I owned (not “Dad and Mom”) was a Packard Bell 386sx. (It’s so funny even writing that.) I reinstalled DOS and Windows 3.1 practically daily because I was always playing around with and (inevitably) screwing things up. I wreaked all manner of havoc (on myself) with Borland C++. (Whoa, you just deleted your half your hard drive with that recursive function you just wrote and don’t understand.) In those days I did not have much important data to lose, so it was just a matter of feeding seemingly thousands of floppy disks into my computer to fix the errors.

When I got introduced to UNIX during a summer programming internship, it was like I had died and gone to heaven. Thank God for the UNIX security model or I probably would have brought down the whole company network. vim was hard to learn at first (it was nothing like WordPerfect 5.1, which was also a bear to learn), but watching the magic that the engineers could do with it made me want to learn it and be that good.

For whatever reason that kind of exploration taught me a lot about how computers work–and how they don’t. (Oh! That’s what happens when you touch your sound card without discharging static first.) Terminals are great for tinkerers. And tinkerers often don’t mind the inconvenience of fixing something they broke. I never did.

I have young kids, but one of the things I want to do when they get a little older is to have them to build a machine from scratch and install Linux from scratch so they can learn the insides and outs of how a computer works and why the machine does the things it does, that way they can learn what they can do with it, what they can do with a command line and when it’s a better tool to use, and ultimately, so they aren’t afraid that the computer is going to break if they experiment with something something. I’d have them install macOS that way if it could be done.

Computers are a work tool. Computers enable us to perform tasks that pay the bills. That doesn’t mean we can’t have fun using them. (I think most people here really get that, which is why I enjoy reading and posting on this forum.) That’s why I use the terminal–it’s kind of fun when it does something seemingly magical. We need to encourage people to tinker more.

*** END PERSONAL STORY, GO BACK TO YOUR TERMINAL ***


#29

While it’s generally true that “you can’t hurt the hardware” there are exceptions. I recall hearing a story many years ago of a user who commanded the head of a hard drive (washing-machine sized in those days) to move to an out of bounds position and smashed the mechanism into the housing.

Probably less of a problem with more modern systems though. :wink:


#30

Ha! Good point. I guess we also have to mind the lesson of Stuxnet.


#31

Yes. I keep it simple. :slight_smile:


#32

Con the Commodore PET you could kill the computer with the “Killer-Poke”. On some batches of it, the command “POKE 59458,62” fried the video chip or was it the CRT’s electronics?

On the C64, while learning to program the 1541 disk drive, which had it’s own CPU, I managed to get it’s RW head “stuck”. I passed a wrong variable to it, the head moved beyond normal range and I had to open the drive and manually move the head back into the proper range.


#33

I would like to see if anyone else has shell setups they’d like to share. Perhaps the terminal is not for everyone or even most people but we are not regular people we are Mac Power Users! I have started to teach myself about the shell and I am loving every minute of it! The MPU road has been great in terms of learning about powerful software tools that others have built but I am ready to start tinkering and creating my own customizations.

So please keep sharing because I am taking notes!


#34

I just use Terminal, white on black. I find multicolored output distracting. I used to use csh (showing my age here) and I have used eshell but nowadays I just use bash.