Live data from Hacker News

Badassify your terminal and shell

jilles.me

21–30 of 54 posts

Re: Badassify your terminal and shell

#22
post #2

And what happens when you have to use the terminal on a machine that hasn't been "badassified"?

Exactly ... Back to basics. Just learn how to use the terminal in its default form. We've been doing it for years efficiently.

I disagree. You should be able to use a basic terminal, but you're not living your developer life in a series of hotels - most of the work you're doing is probably on your own machine.

Re: Badassify your terminal and shell

#23

Warning for newer developers: I confused myself much more than was necessary when I was first starting out, because I started using all of these tools like zshell/oh-my-zsh before I understood what was really going on, specifically with my $PATH. I seriously spent about a month floundering and becoming increasingly frustrated and confused before I finally sat down, read the docs, and learned why I should have been pu…

Would you say it's worth switching to/learning zsh itself? My default has been /bin/bash for years and years and I find I'm too slow while I'm trying to learn zsh.

Plus, if you spin up an image on EC2 or DigitalOcean, the default will be bash.

Re: Badassify your terminal and shell

#24
Three suggestions:

(1) Don't use words like "badassify" — they make you sound immature and reduce your credibility. (c.f. "rockstar engineer", "coding ninja", et cetera)

(2) Invest an afternoon in switching to a static site generator — your site's current server appears to be on fire due to excess traffic. As a member of the getpelican.com dev team, I'm clearly biased, but any static site generator will be better than an uncached Ghost instance.

(3) Try Fish :^) http://hackercodex.com/guide/install-fish-shell-mac-ubuntu/

Re: Badassify your terminal and shell

#25

One thing I like about zsh that doesn't seem to get that much attention (and seems to be overlooked here) is path expansion. If you're typing a path (let's say to ~/Dropbox/Public/...) you can say "cd ~/d/p" and hit tab to fill in even the intermediate parts. Given that the only path that matches "~/d. /p. " is ~/Dropbox/Public/, zsh will fill that in. If it hits an ambiguity down the proverbial road, it'll expand un…

bash has had this feature too since its first public release. bfox copied from twenex, which may have gotten it someplace else. Twenex had a great JSYS (system call) that did full command argument completion that was the inspiration for the readline library

Re: Badassify your terminal and shell

#26

Warning for newer developers: I confused myself much more than was necessary when I was first starting out, because I started using all of these tools like zshell/oh-my-zsh before I understood what was really going on, specifically with my $PATH. I seriously spent about a month floundering and becoming increasingly frustrated and confused before I finally sat down, read the docs, and learned why I should have been pu…

Would you say it's worth switching to/learning zsh itself? My default has been /bin/bash for years and years and I find I'm too slow while I'm trying to learn zsh. Plus, if you spin up an image on EC2 or DigitalOcean, the default will be bash.

I recently installed fish shell after about 15 years of bash usage. I don’t think I’ll ever go back to bash on my PC.

I never really customized bash, and fish has so good defaults that I don’t think I'll customize it much.

Web site: http://fishshell.com/

Re: Badassify your terminal and shell

#28
post #2

And what happens when you have to use the terminal on a machine that hasn't been "badassified"?

Always bring your bag of tricks with you. I have an easy to reach shellscript that I source when on a new/loaned shell. That way I can get my aliases, prompts, functions and everything else I've built to make my life easier.

Re: Badassify your terminal and shell

#29
If you really want to "badassify" your shell, check out twosheds, a library that I wrote for making shells in Python. [1] My motivation was that learning bash scripting sucks, and it's hard to do many things that should be easy (like automatically running a command when certain conditions change). With twosheds, it's just Python, so the limit is your imagination.

twosheds still needs some work to get POSIX compliance, but it's already usable enough that I've replaced bash with my custom shell, Shell, which I've hacked to, among other things, print a ton on information on Git's status and the file system-- I never type git status or ls anymore. [2] If this sounds interesting, I encourage you to fork it and give it a try.

[1]: https://github.com/Ceasar/twosheds

[2]: https://github.com/Ceasar/Shell

Re: Badassify your terminal and shell

#30
post #26

Earlier quoted context omitted.

Would you say it's worth switching to/learning zsh itself? My default has been /bin/bash for years and years and I find I'm too slow while I'm trying to learn zsh. Plus, if you spin up an image on EC2 or DigitalOcean, the default will be bash.

I recently installed fish shell after about 15 years of bash usage. I don’t think I’ll ever go back to bash on my PC. I never really customized bash, and fish has so good defaults that I don’t think I'll customize it much. Web site: http://fishshell.com/

Here is the thing. Bash is the default on most of the servers you are going to have to work on,. Centos, RedHat, Fedora, Debian, Arch,. etc. So knowing and using Bash is kind of like knowing English in the business world.

Of course, don't let that detract from the usefulness of other shells out there. They can be fun and educational.

Post reply on HN