Simplify your computing environment

Here are some guidelines which might help you ease your workflow on computers.
 

Status bar

Some of the essential information you always want available in a status bar:

  • Day, date and time
  • Battery (on a laptop)
  • Volume (Be aware of levels before starting multimedia)
  • Wifi (Handy while switching networks)
  • Bluetooth
  • CPU and Hard disk usage (these provide you visual indicator of when the computer is busy and you should stop feeding it more commands)
  • Workspaces (what applications are running in which workspace)
  • Open applications (if you can't read the title on a minified window or it stops providing you useful information, don't open any more app in that workspace). These icons can also act as a progress indicator for the foreground task in the application.
  • Applications menu
  • Logout menu

Quick launch

Many people prefer to use desktop shortcuts for often used applications. However, this means you need to have access to desktop to launch those application. This is often not the case when you are running applications in full screen mode. Hence, it's advisable to have a quick launch bar. Also consider setting up keyboard shortcuts for such applications.

Power of three (workspaces, applications etc.)

Try to setup a system where anything is just a key combination away - either previous or next from your current position. Create a new workspace in case you need to work with more than three application windows.

Tiling windows

Be aware of tiling window managers which allow you to neatly arrange all your windows on the screen in tiled layout pattern. Some applications also provide such facility for application windows/panes.

Web browsing

Try to have no more than 10 tabs in a window. That way you can switch between them using Alt+<number> keys. Also consider hit-a-hint plugin.

Ease of comment (coding standard)

How easy is to comment a line? e.g. 

  • If you have a three line if-block, commenting out if line doesn't break the code. Also, there is no need for code re-alignment.
  • Each condition should start with an operator on a new line.
  • Else and if should be in separate lines.

On a side note, choose a programming/scripting language which doesn't use indentation for blocks. It's a nightmare to debug a program which breaks simply because you inserted an extra space for indent.

Hard disk

Plan for atleast five partitions - two 100GBs for dual boot, one swap partition and two data partitions (NTFS for media and OS specific for applications).

Minibuffer, dialog and completions

Minibuffer (Emacs, Vi etc.) should ideally be located in left side (for LTR languages) at top or bottom of the screen. This allows for full screen presentation of options when required.

Dialog popup is for one time interaction. Hence they work best in the center of the screen.

Completion popup works best inline since then your attention doesn't move much farther from the current point.

Git for text backup

Use git stash for saving a snapshot of your work. This will allow you to switch between multiple versions of a file easily. Also git diff can give a quick overview of the changes that you have made. You can easily discard the hunks/changes that you don't want.

Title bar

Title bar might look redundant to power users. For beginners, it provides a quick access to close button.

Menu bar

Menu bar should highlight all the important pieces of functionality available to the user.

Tool bar

Tool bar should display the most important available actions based on the context. e.g. cut-copy-paste while editing, previous-next while searching etc.

Scroll bar

Scroll bar provides a quick visual indicator of your position in the file. Also, in tandem with a bookmark indicator on the fringe/gutter, one can jump to interesting points in a file.

Text editor and note taking

Blame it on timing, but I have lived through multiple text editors starting from Notepad, Editplus, Notepad++, Microsoft quicknotes, vi and Emacs. Now I realize that text is the best format for taking notes. That way you are not tied to any particular application to view your notes.

Also, you might need to switch platforms, sometimes temporarily, between *nix and windows. So an editor which works on all these platforms is a plus.

If you are a developer, spend some time learning about vi. Even if you are an Emacs user, because of political reasons, you'll find Emacs missing from most environments. In such cases, vi provides a fallback.

If you are a beginner in computers, it might appear that you can only view a remote file after downloading it to local computer via separate application (FTP explorer) or command (scp). Be aware that there's Tramp mode in Emacs which allows you to directly access remote file locally.

Learn to stick with defaults. In rare cases, when you need to work in a new environment, you'll continue to be equally productive as your native environment.

Some features to look for in a text editor:

  • Line number and column number information
  • Indentation guide lines
  • Open/collapse sections
  • Bookmark positions
  • Narrow or widen focus area
  • Current section title
  • Highlight current line
  • Regex search and replace 
  • Macro recording and play
  • Diff files
  • Edit remote files
  • Easy access to recently opened files
  • Bi-directional, multiple languages and Emoji support


Comments

Popular posts from this blog

GNU Emacs as a Comic Book Reader

Data Visualization with GNU Emacs

Tinylisp and Multi-threaded Emacs