Just turn off the distracting notifications. That means growl notifications, dock icon badge counts, audio notifications (ding!), and anything else that might pull you away from what you're doing.
So we use IM for work a lot (even within the same office), and I have found that the optimal level of notification is a static or barely animated icon in the bottom right of your screen (no pop-ups or audio or anything like that). It's subtle enough that you don't see it if you are in the zone, but easy enough to spot if you're task-switching anyway.
As for aliasing, I have gone backwards through the years - I used to alias everything, but then I discovered when I sat in front of a virgin system I couldn't remember how to do anything so now I avoid it whenever reasonable. I do, however, make heavy use of keyboard acceleration to minimise mouse use, which in turn minimises wrist pain.
Instead of aliasing common commands, I make heavy use of Ctrl-r at the command prompt to search the history.
So if I have a complex command I want to run several times, I'll type it out in full the first time. After that, I'll hit Ctrl-r and start typing part of the command until it shows the one I mean, then hit enter to run it.
It tells zsh to search backward and forward in the history for any line starting with the same string as what is currently entered when you press the up and down arrow... Helps saves a lot of time compared to always just using Ctrl-r.
I think there's an equivalent for bash, but I don't know it...
Tab complete does not make using long arguments any easier. Here is the example the post reminded me to alias (well, script since I need to pass it arguments):
Actually, bash completion DOES help with long arguments or any arguments. It's true that you have to invest the time to write a completion script tailored for the commands you're interested in, but it can definitely be worth it (e.g. git completion).
> Tab complete does not make using long arguments any easier.
False. See other replies.
And as I said in first post history. I use aliases, they have their place. But, if you're not learning and using the entire Unix toolbox you are severely handicapping yourself.
Yeah, that works for some of them, but many of the aliases I use are only for the command itself, but I still have to supply args/parameters. For example, instead of "git push origin master" I use "gpo master" or even just "gpom".
I don't really agree with the mobile browsing. I guess it helps avoid getting sucked in but it also dramatically lowers your rate of intake if you want to read all articles from a given blog or subject.
So we use IM for work a lot (even within the same office), and I have found that the optimal level of notification is a static or barely animated icon in the bottom right of your screen (no pop-ups or audio or anything like that). It's subtle enough that you don't see it if you are in the zone, but easy enough to spot if you're task-switching anyway.
As for aliasing, I have gone backwards through the years - I used to alias everything, but then I discovered when I sat in front of a virgin system I couldn't remember how to do anything so now I avoid it whenever reasonable. I do, however, make heavy use of keyboard acceleration to minimise mouse use, which in turn minimises wrist pain.