6 ms·
These alternative shells always get me really excited, until I try them out. Then the drawbacks become immediately and very painfully obvious: - Some are extre
by zorbo 12y ago
These alternative shells always get me really excited, until I try them out. Then the drawbacks become immediately and very painfully obvious:
- Some are extremely slow, especially those that rely on complete webservers / node.js / whatever as a backend
- Memory-hungry. I've got an average of about 30 terminals open at all times. 50 Mb per terminal really is a bit too much. 10 Mb is the upper limit on what a single terminal should ever use.
- Don't work remote. If it doesn't work remotely without installation (and none do), it's pointless to me.
- Don't integrate properly. For instance, copy-pasting is suddenly painfully impossible or unicode fails or it doesn't handle ncurses or escape sequences properly.
- Doesn't add anything that the history and copy-pasting don't already do nearly perfectly.
- Doesn't follow the "Simple things should be simple, complex things should be possible" philosophy. For example, catting large (10mb) log files or a binary file completely barfs it.
I wonder if Xiki is any different, as I haven't tried it yet. It seems unwieldy to use. Why would I want to physically move the cursor to a previous command 50 lines up when I can just do Ctrl-R <part of the command> and be done with it?
This all sounds a bit negative, which isn't my intention. It's just that I've become quite a skeptic when it comes to "(email|shell|editor|etc) reinvented" claims.
- KhalPanda 12y agoWow, an average of 30 terminals at all times? Just out of curiosity... what for exactly? Real-time monitoring?
- mkl 12y agoI always have at least that many too. Not for real-time monitoring, just a large number of projects and threads of thought, many of which last for weeks or months. I do this for everything: I just totalled up all my currently open terminals, browser tabs, documents, etc., and got to over 700, and it's only that low because I've restarted a couple of times recently....
- mattdeboard 12y agoIf I had that many I'd never actually finish anything.
- meowface 12y agoI suffer from the same problem of too many terminal windows and browser tabs, and honestly it doesn't seem to help me much. It just dilutes my attention. I always do a logoff or restart at the end of every day now, and that seems to help a fair bit. To keep track of what I need to do in the short term, I have a simple TODO text file.
- datashaman 12y agoUnrelated, but if you're using plain old text files for todo lists, you should look at this: http://todotxt.com/ http://todotxt.com/
- arvin 12y agoOr the Org Mode of Emacs
- jebblue 12y agoMe too! I've been using a plain TODO.txt for years, it's amazingly efficient.
- nkozyra 12y agoYeah I start to have a panic attack when I see 5 or more shells open.
- alekratz 12y agoI mean, why do you have 30 tabs open at all times? You move on to something else, forget your tab was open, and go through at the end of the week and clean them all out.
- forgottenpass 12y agoYou move on to something else, forget your tab was open, and go through at the end of the week and clean them all out. No, that's what you do, and have extrapolated it to be what everyone does. I use tree style tabs and mtputty, I leave open the things I use a lot and/or am focused on today. I find that I return to already open things enough that it's works for me. Re-opening programs and re-navigating to the same things I always use them for isn't a grand inconvenience or anything, but I do it for our software that uses floating licenses and it is annoying in my workflow.
- gitaarik 12y agoWhen you're using tmux or screen this isn't uncommon. I have a screen for each project, in a project I usually have around 5 to 10 tabs, and I have about 5 projects I'm currently working on.
- zorbo 12y agoI use a lot of terminal applications for mail, irc, music player, chat. Then there are always about 9 permanent terminals for generic local stuff such as setting up tunnels, man pages, socks proxy, a calculator, etc. Then I've got 9 terminals per remote location / project I'm working on. These are shells for file system navigation, grepping, reference, editor, a few database sessions, log file tailing. Then there are the random terminals opened for who knows what. I generally keep the terminals for projects I work on the most open all the time. 30 sounds like a lot, but really it's a very easy workflow process to follow if you've got virtual desktops. For instance, all persistent stuff (irc, music player, chat) lives on desktop 1. Mail, password manager, todo list on desktop 2. Browser on 3. Local terminals on 4. Remote terminals in tabs on 5, etc. I've been using the same workflow for years (going on decades). I can switch to nearly every window in two keystrokes, which never change.
- tizzdogg 12y agoI also usually have dozens of terminals open, though my workflow is probably different than most people on HN. I do 3d graphics on linux, so I have a separate desktop for each session of Nuke, Maya, houdini etc that I'm working on, each with a few associated terminals. I very much dislike using things like tmux or even tabs in terminals, since I find it much easier for processes to get buried and to forget where everything is. It's much easier for me to have separate windows open so I can see everything that's going on at once.
- yawaramin 12y agoYou have some good points. Please try Xiki and let us know what you think. -The Internet.
- throwawayaway 12y agowithout having tried it myself, the guy started work on it 13 years ago. that would give enough time to polish off rough edges like you mention, even redesign out some design errors.
- ape4 12y agoRight way I wondering about working remotely since its the shell in your editor (which I don't have).
- alekratz 12y agoI agree with this. I'm concerned with having to move my mouse cursor a lot. When it comes to doing terminal stuff, mouse cursors slow me down.
- baweaver 12y agoTMUX is a thing. People should really be using it for this type of workflow considering you can set up environments that don't necessarily have to be running all the time for other projects. This seems far more like a self-inflicted problem than anything.
- scott_s 12y agoIt is a thing, but I find that having separate desktops ("spaces" in OSX terminology) for different tasks helps me context switch back to the task quicker. I keep different desktops for different tasks, each with their own terminal running. Each terminal may have several tabs opens. When it's time to switch to that task, I switch to that desktop. When that task is completely done, I just close everything and remove the desktop. Keeping this all in my head - even remembering how many shells I had open to do what - takes more thinking and effort than I want it to. It is far easier for me to just say, "This is where all the stuff for X goes" and physically isolate it from everything for Y and Z. And when I go back to it, it's all where I left it. I find this a much easier workflow.
- Tyr42 12y agoThat sounds a lot like my workflow actually. You can still actually use tmux with it, with one session per workflow ('^b $' can name the session from inside it). I found it useful, especially with Clojure and vim. The splits are nice everywhere, and it's way better to be in the habit of opening a tmux/screen when sshing. That workflow is also why I hate OSX updates that force a reboot, which piles all the terminal and Chrome windows in one desktop. And then it's just an update for RAW camera files or something that I don't care about, but it nags me every day. /rant
- scott_s 12y agoI still use screen remotely. This workflow is for the Mac in front of me. A lot of the terminals I have locally are associated with a screen session remotely. But keeping the local sessions open, active and logically grouped helps me remember what I was doing, and need to do.
- thinkpad20 12y agoYou have a lot of good points, but this one jumped out at me: > - Don't work remote. If it doesn't work remotely without installation (and none do), it's pointless to me. That just sounds like a by-definition dismissal of all shells outside of the few provided by an OS. Having it work remotely is of course essential. But the most talented programmer alive is not going to write a shell that you can use without installing it. :/
- btbuildem 12y ago> as I haven't tried it yet Maybe it would be prudent to try it first, before commenting..