May the source be with you, but remember the KISS principle ;-)

Contents Bulletin Scripting in shell and Perl Network troubleshooting History Humor

OFM Bulletin, Vol 16 (2012)

2016 2015 2014 2013 2012 2011 2010 2009 2008 2007
2006 2005 2004 2003 2002 2001 2000 1999 1998 Archives

[Nov 24, 2012] New results for OFM1999 compatibility test

As a part of updating my ebook to version 3 and scheduled update of OFM standards I redid OFM compatibility test. After so many years FAR remains the most brilliantly written OFM. FC is the second in compatibility (and remains solid, but probably the most underappreciated OFM -- wrong defaults like 80 by 24 screen do not help.). Low score of Total Commander can be explained by absence of built-in editor, incorrect implementation of shell terminal window and some minor deviations from OFM1999 standard (infoline, quick view). Still it is probably the most user-friendly one... Mouse really helps and GUI provide more real estate then terminal, even 132 bytes wide terminal. MC improved its position (and version 4.8 is really better then 4.5 covered in previous test), but some additional work on compatibility is necessary.
OFM1999 v.3 score (average of all 21 tests) NC VC DN FAR Total
Scores 68 71 73 89 70 68 66 75

[Nov 22, 2012] Nooface TermKit Fuses UNIX Command Line Pipes With Visual Output

TermKit is a visual front-end for the UNIX command line. A key attribute of the UNIX command line environment is the ability to chain multiple programs with pipes, in which the output of one program is fed through a pipe to become the input for the next program, and the last program in the chain displays the output of the entire sequence - traditionally as ASCII characters on a terminal (or terminal window). The piping approach is key to UNIX modularity, as it encourages the development of simple, well-defined programs that work together to solve a more complex problem.

TermKit maintains this modularity, but adds the ability to display the output in a way that fully exploits the more powerful graphics of modern interfaces. It accomplishes this by separating the output of programs into two types: data output, which is intended for feeding into subsequent programs in the chain, and view output, for visually rich display in a browser window.

The result is that programs can display anything representable in a browser, including HTML5 media. The output is built out of generic widgets (lists, tables, images, files, progress bars, etc.) (see screen shot). The goal is to offer a rich enough set for the common data types of Unix, extensible with plug-ins. This YouTube video shows the interface in action with a mix of commands that produce both simple text-based output and richer visual displays. The TermKit code is based on Node.js, Socket.IO, jQuery and WebKit. It currently runs only on Mac and Windows, but 90% of the prototype functions work in any WebKit-based browser. 

[Nov 22, 2012] Ability to store searches and invoke temp panel with their results

 Ability to store search results in a form similar to user menu and directory favorites is important.

Actually elements of this understanding can be observed in Total Commander and nomad  by Eugeny Sichkar


[Nov 22, 2012] nomad  by Eugeny Sichkar

Microsoft .Net based freeware GUI OFM for Windows.
As for features of original Nomad, you can take a look at them on appropriate page. Here I describe the features that are significantly changed or just are new:

[Nov 18, 2012] Do you use Orthodox File Managers (Meaningless Drivel forum at JavaRanch)

May 12, 2008 | JavaRanch

Mapraputa Is Leverager of our synergies Sheriff

Pat Farrell mentioned Nikolai Bezroukov's "A Second Look at the Cathedral and Bazaar" text via which I found another very interesting text: The Orthodox File Manager (OFM) Paradigm. Dr. Bezroukov said,

"Although originated in the USA, the OFMs became mostly a European phenomenon with a very strong following in Eastern Europe (especially in former USSR countries), Scandinavian countries and Germany."

It's true that once learned them in a former USSR country I was never able to depart with them and until now have very vague idea of Windows's native interface, because I always have one of these wonderful pieces of software installed. I don't know how one can live without them.

In case you wonder what "Orthodox File Managers" are (I never heard this term before) examples include Norton Commander, Total Commander, Midnight Commander, Northern Captain etc.

Uncontrolled vocabularies "I try my best to make *all* my posts nice, even when I feel upset" -- Philippe Maquet

Ernest Friedman-Hill author and iconoclast Marshal

The majority of Americans use Reform file managers, but there are pockets of Conservative file managers as well.

Pat Farrell Rancher

Ernie's answer jumped into my brain when I saw the title, he just beat me to it, and was probably better phrased.

I had not heard the phrase before this thread, and haven't used any of such file managers.

I generally change computer too often to get very interested in customizing them. About all I do is install cygwin on all windows boxes so I can type ls and grep.

I've become a shell guy, as the gui stuff changes too often.

I think a lot of the customization is really closer to religion, be it orthodox, reform or conservative, or even Catholic versus Calvanist. I can't even figure out why Linux folks argue over KDE vs Gnome.

[Nov 15, 2012] Bash Commander by Sergey Vakulenko

This is a project of Sergey Vakulenko, the author of deco -- one of the first OFM for Unix. Looks like abandonware. Still the direct integration with shell is the best, the most optimal way of implementing OFM, which in essence is nothing more that an attempt to create a graphical shell. The problem here is the most shells are moving target and as they develop the codebase needs to be resynchronize with each new version. Which in most cases dooms the project. So the only way such a project can be successful is when it is integrated with the development of shell itself. Some shells, such as ksh93 are pretty stable and development is almost stopped. For them such a project is more viable. Also for shells that undeservingly are sidelined, such as zsh, this may be a chance to get into mainstream, as zsh integrated with OFM leaves "pure" bash in the dust.
'Bash Commander' is a version of the GNU Bourne Again shell extended with two-panel file manager. Visit for project news, FAQ, discussions etc.

[Nov 15, 2012] Integration of searching (FileFind), file selection and file filtering into a single mechanism

New, powerful idea of generalization of OFM capabilities from OFM2012

The three existing mechanisms of grouping files in OFM:

can be implemented as a single mechanism (panel) with just three different targets. Default target can be determined based on hotkey used for invocation of this dialog.


[Nov 11, 2012] The first stable build of Far Manager 3.0 is now available

Integrates LUA. That's a pioneering development !!!. Far Manager settings and native (3.x) plugins settings are stored in SQLiteDB. See also FarManager - conemu-maximus5 - Windows Console Emulator, Far Manager plugins - Google Project Hosting

Among notable changes:

[Nov 07, 2012] Compete revision of the OFM1999 - basic OFM requirements standard (version 3.0)

The new version of OFM1999 consists of 21 tests:

  1. Interface look & feel
  2. Navigational and basic hot keys compatibility
  3. Shell window compatibility
  4. Compatibility of F1..F8 operations
  5. Tree View Panel compatibility
  6. Directory Search Panel compatibility
  7. File/Directories selection/deselection compatibility
  8. Quick view compatibility
  9. Quick search compatibility
  10. FindFile compatibility
  11. Command line execution compatibility
  12. Sorting directories compatibility
  13. User menu script invocation compatibility
  14. Additional file commands compatibility
  15. Association (extension menu) management compatibility
  16. Compare directories
  17. Compare files operation
  18. Built-in Editor
  19. Archive virtual file system
  20. Infopanel and infoline compatibility
  21. History and favorites compatibility

[Nov 03, 2012] This page, ebook and OFM standards are now updated as the time has come in established five years upgrade cycle.

Actually this time it's seven years, as the last update was in late 2004 early 2005. OFM2012 was added as an early draft. All major implementations (FAR, Total Commander, File Commander, WinSCP, MC, Krusader ) so far survived which in itself is a good sign ;-). Northern Captain disappeared. Midnight Commander got a new development team led by Slava Zanko and version 4.8.1 produced by them is an important step forward (especially in built-in editor functionality).

[Nov 02, 2012] Less is More: A rich functionality behind Spartan interface of Orthodox File Managers (an introduction to Orthodox File Managers(OFM))

A new article written on the base of introductory material for this page.

[Nov 1, 2012] emelFM2

A very interesting Linux GUI OFM based on GTK+. Has plug-ins support and many interesting technical solutions.


Various command-line switches can be used, to determine aspects of the way an e2 session operates: Program options:

If the program has not been built with debugging-support enabled (compiled without make-option DEBUG=1): (note that this option must be used if you wish emelFM2 to nicely respond to shutdown, save-yourself etc requests by your desktop session-manager)

Help options:

If the program has been built with debugging-support enabled (compiled with make-option DEBUG=1):


The core elements of the UI are:

The directory lists and message area generally referred to here as "panes", and in particular, "file panes" or "output pane".

The file panes can be tiled side-by-side, or top-to-bottom. "Pane 1" is on the left, if the file panes are tiled side-by-side, or on the top, if the panes are tiled top-to-bottom. "Pane 2" is on the right, if the file panes are tiled side-by-side, or on the bottom, if the panes are tiled top-to-bottom.

At any time, one of the two file panes will be 'active' (have focus). The active pane is normally indicated by changed color of the column headers in the pane. However re-coloring does not work with some Gtk themes. If that applies to you, change the relevant setting on the 'panes' page of the configuration dialog (see the CONFIGURATION section, below), to enable bold column titles, as an alternative indicator.

The file panes can re-sized, or hidden, by dragging the separator or clicking a relevant toolbar button. The output pane can be resized, up to the full window size, or hidden, likewise by dragging or clicking.

You can change the order of columns displayed in either file pane. Press the mouse left-button while the mouse cursor is on the header of the column you want to move. Then drag it to where you want. Such change will be remembered between sessions.

You can change the width of any column by dragging the relevant column-separator. (There is a minimum size, related to the size of the column label.) You can hide any column by un-checking the corresponding column on the 'columns' page of the configuration dialog. Such changes will be remembered between sessions.

You can sort a file list according to the data in any column, by left-clicking on the column's header. Repeated clicks toggle the sort-order. The actual order that results depends on the user's locale settings. The result might be different from the 'traditional' way.

You can display only items which match specified name(s), date and/or permissions criteria, by setting filter(s) for the pane in question. Do that via dialogs initiated from a toolbar filters button. Directories can be included in the filtering. One or more filters can be used simultaneously. To filter items by name, you provide a string with one or more patterns, each with wildcard(s) "*" and/or "?", in general. (NOTE: there can be no '[...]' character ranges in a pattern, and "*" and "?" cannot be escaped to include them literally in a pattern). If more than one pattern is used, they must be separated by a ",". Any pattern(s) can have "!" prepended, which will cause a matched item to be excluded from the display. To include items whose name begins with "!", prepend "\" to that pattern. As a convenience, the effect of every pattern in the string can be toggled, by checking the "inverted" box.

Right-clicking on a file pane or output pane will pop up a menu of things you may wish to do, there. For the file panes, a sub-menu can be opened by pressing a <shift> or <ctrl> button before right-clicking.

The toolbars are referred to as "pane1 bar", "pane2 bar", "task bar" and "command bar". The pane1 bar is by default at the top of pane 1. The pane2 bar is by default shown at the top of pane 2. The task bar is by default shown between the file panes. The command bar is by default shown near the bottom of the window.

Pane1 bar and pane2 bar typically have the same items in them, in mirrored order (more or less). Commands initiated by the items in those bars apply to the respective pane. Task bar items mostly relate to the active pane. (By default it includes a 'refresh' button which updates both panes.) Command bar items relate to the output pane, or other miscellaneous commands.

Both pane1 bar and pane2 bar typically have a combo box where the user can enter or select a directory to be shown in the corresponding pane (referred to a a "directory line"). In addition to normal choice, clicking the middle mouse button in a directory line, or pressing <Ctrl>Tab while a directory line is 'focused', will open a directory-selection dialog.

A "navigation" window for the active pane can be displayed, and used to select the directory to show in the corresponding file pane. By default, <Shift>F9 will open this window. Activating (by mouse double-click or <Enter> keypress) any of the listed directories will cause that directory to be opened. Directories which cannot be accessed are shown in the 'negative' text color (typically, red). Note that the content of such windows is not refreshed dynamically. A context-menu includes capability to manually refresh, among other things.

By default, toolbar buttons will show tooltips, for those of us less familiar with the icons. You can change the button style to include labels, if you wish. Right-click on a toolbar to see its context menu, which includes settings which can be changed. Or open the configuration dialog, and on the relevant bar's 'options' page, change the 'button-style' option.

The output pane is more than a simple terminal window, it is also intended to be a tool.

You may have as many different output text buffers (aka tabs) as desired. They can be added or removed using the output pane context menu. If more than one tab is in use, numerical tab-titles are shown, for selecting the tab of interest at any time.

Selected text in a tab can be saved, using the relevant context-menu item. The text can be edited, again using the relevant menu item. Not that editing per se is so important, but in particular the editor has the ability to find text, and save the whole buffer. See comments below on EDITING.

Text selected in a tab can be "activated" by a double-click or a <Ctrl>-click, if that text names an item that belongs to a recognised filetype. The named item will be opened just as if it had been in a filelist. Any filepath in the selection is handled, or if there is no filepath, the directory displayed in the active file pane will be assumed.

If selected text describes a recognised filetype, and the output pane context-menu is opened by a right-click on the selection, then menu will include a sub-menu of operations for that filetype, the same menu as for a selected item of that type in a file-list context-menu.

A <Ctrl>-click, or right-click to open a context-menu, will also operate on non-selected text in the output pane, as described above. As there is no selection, space characters define the text that is used.


Typing, while a filepane is focussed, will select the first item whose name begins with the typed characters (not case sensitive). That item might be before or after the current position. A small window pops open near the bottom of the pane, showing the characters typed sofar.

By default the keys <Ctrl>f & F3, and a button on the command bar, will allow you to find an item in the active pane by entering into a dialog any part of the item's name. Wildcards may be entered. When scanning, this action loops round from either end of the filelist to the other end.

A find plugin allows heavy-duty searching, with that you can find item(s) anywhere, and by many attributes.


By default, the Tab key is bound to an action (see KEY BINDINGS section, below) which "completes" entries in directory lines or the command line, as follows.

When entering a path into a directory line, pressing the Tab key will complete that entry, if there is only one valid completion. If there is more than one such completion, they will be listed in the output pane. (Note also that pressing <Ctrl>Tab will open a directory-selection dialog.)

In general, when entering text into the command line, pressing the Tab key will complete the "word" that is being entered. If the entered string starts with "./", the word will be completed using the matching item-name from the active pane. If the entered string does not start with "./", the word will be completed using the matching item-name from all directories specified in the $PATH environment variable. If there is more than 1 item which could validly complete the word, those items will be listed in the output pane.

The exception to the previous paragraph is when the entered command is "mount" or "umount". A "mount" command will be completed with a valid mount point, a "umount" command will be completed with a valid unmountable partition. Again, if there is more than one possible completion, they will be listed in the output pane. Note that this form of completion is permission-depenant, so in many instances, there will be nothing valis to show.


Various keys are assigned specific tasks within e2.

To get a listing of the current e2 key bindings, enter the command 'keys' on the command line. You can also type 'keys panes', 'keys command line' or 'keys directory lines' to see the subset of bindings relevant to those places. (Note 'keys' in this context is a default alias, and should be translated, and may be changed by the user.)

Any key can be assigned to more than one thing, by including the key in a binding more than once.

Pressing any 'unbound' key while the focus is on a file pane opens a small window in which you can continue typing a name, and an item whose name matches what you type will be selected. Note that that window will intercept any "Enter" keypress (and the window will then close) so that if you wish to 'activate' the matched item by pressing Enter, you must wait (about 2 seconds) until the window closes, or otherwise, press Enter twice.

The "comboboxes" (entry fields with drop-down history list) used throughout the application have hard-coded key bindings <Shift><Delete> which clears the contents of the entry from the cursor position to the end, <Alt><Delete> which clears the current entry and any matching history entry(ies), and <Shift><Alt><Delete> which clears the entire history.


In general, things may be selected in accordance with gtk's normal method for doing so. For example, selecting items in a file-pane is done by combinations of left-burron-clicks, ctrl-key+left-clicks (which toggle selection-state of the clicked item) and shift-key+left-click (which select the range from previously-selected item to the clicked item).

As a special case, e2 (except 0.1.0 to 0.1.2) also supports selection of file-pane items by dragging. The protocol for this is: press left mouse button when the cursor is on an item, then press a control key, then drag the mouse cursor over item(s) to be selected. (A bit complex, so as to not interfere with gtk's normal selection and DnD processes.)


Drag and drop can be performed in the standard gtk fashion, i.e. by selecting the item(s) you want to process (see SELECTION above), then dragging to a location in either of the file lists, or to any other compatible application. When dragging by left-button, the default operation is to copy the selected item(s) to the drop-target but the action will be different if 'modifer' key(s) are pressed at the time of the drop. As usual, if the Shift key is presssed while dropping, the selection will be moved; or if both Shift and Control are pressed, the selection will be linked; or if the Alt key is pressed, a menu will prompt you for the operation you want to perform (the menu allows copy/move/link/cancel). To prevent gtk from treating the process as something other than a drag, the modifier key(s) need to be pressed after the drag has started.

You may instead perform a drag with the middle-button, which behaves the same as left-plus-Alt i.e. always pops up that action menu. Note that there is an option to make middle-button clicks open the parent directory of the one where the click occurred, and it that option is in force, it may interfere with dragging by middle-button.

If you drop ONto a directory (other than one that's part of the selection being dropped), the selected item(s) will be copied/moved/linked INto that directory. This means you can copy/move/link any item into a subdirectory without opening that directory in the other pane.

If you don't drop onto a directory, the item(s) will be copied/moved/linked to the directory whose contents are displayed in that pane (if it's not the same as the source directory, of course)

It is also possible to drag and drop between different instances of emelFM2 and between emelFM2 and some other gtk-based applications like nautilus, Gnome Midnight Commander and GQView. In some cases it might work in only one direction.


When e2 puts something into trash, it will first try to use a folder named '.Trash' in the directory the item(s) come from i.e. the one shown in the active pane. If such a folder doesn't exist, fallback choices are: '.Trash' in the user's home directory, then finally, '.emelfm2/Trash' in the user's home directory. The last of these will be created if it didn't exist already.

There is no over-write checking for trashed items. Any item with the same name, already in the trash, will simply be erased.


Operations (copy, move etc) on item(s) in the active file pane are performed on the selected items, as would be expected. If a selected item is a directory, the operation applies to the directory as a whole (with its contents), NOT just to the contents of the directory. This means that if, say, a directory is moved, and in so doing over-writes another directory of the same name (usually after the user's confirmation), then the destination directory and all its contents will be replaced by the source directory and all its contents. The effect of this is that all of the contents of the destination directory are lost. Just like all the contents of a file are lost if it is over-written.

If you want to operate only on the contents of a directory, you must open the directory and select the contents explicitly.

Most such operations are added to a queue, and performed when they reach the head of that queue. This allows such operations to be initiated and performed without blocking the user-interface, when the operation takes some time to complete. Some operations - info, view, view again, edit, edit again, open, open with - are performed independently of the queue.

You can directly rename any allowed item by clicking on its name in a filelist, when the item's row is not selected. In this case, the rename action is not queued.

Actions and keybindings are provided to respectively list the finished, active, and waiting members of that queue.


As you would expect, these are a mechanism for opening a particular directory with minimal effort.

By default, the pane1 bar and pane2 bar, and the file pane context menu, include a bookmarks sub-menu. Actually, they are a bit more complex than a standard sub-menu - each includes its own context menu (yes, we know, peculiar UI design ..) with items for adding the currently-displayed to, or removing it from, the recorded bookmarks. This is a quick alternative to opening the configuration dialog to re-arrange bookmarks.

Though accessible by these several menus, there is only one bookmarks list, which applies to both panes.


A simple text-file viewer is included in emelFM2. By default, the F3 key is bound to open that. Alernatively, a specified external viewer may be used, if the relevant config option is set.

The internal text file viewer handles several different protocols for line-ends (UNIX, DOS etc), and tries to interpret and convert various character-encodings.

When the 'find' function is initiated, a bar of search-related options will be shown near the bottom of the window (and it can be dragged away from there). Of course the bar includes the a place to enter the text sought. That works incrementally, trying to match whatever is entered sofar. There are also options for searching backwards instead of forwards, for ignoring the case of the text sought, and for looping around from either end to the other end, if the search proceeds that far.

Finding can be initiated from the keyboard or a mouse button. The 'Enter' key has been given special privileges: by itself causes the next search, with <Control> it finds the first or (if searching backwards) the last match, and with <Shift> changes the search direction temporarily. Other than that, keys the same as the default button mnemonics may be used, with <Control> or <Alt>. As a special case, <Control>g or <Alt>g will perform a 'find'.

The viewer supports the key bindings of a gtk textview widget, other than the ones relating to editing:

There is a minimal context menu for changing default configuration.

When done with searching, the bar can be hidden again.

Entered search parameters are remembered for the duration of the current session, but not between sessions.

An action is bound to the key <Shift>F3 to view a file again (re-view), starting at the last-viewed spot in that file. This appies only to the internal viewer.


A "tiny" text-editor is available. By default, the F4 key is bound to open that. Alernatively, a specified external editor may be used, if the relevant config option is set.

The internal editor is quite basic, intended for those little jobs that are hardly worth loading another application. Functions are: find, replace, cut/copy/paste, undo, save, save as, save selection. Selected text can be dragged to another spot. No printing.

Most of these functions can be initiated from the keyboard, and the rest of them from the context menu and/or by button-click. Keyboard bindings set by emelFM2 are the same as the respective mnemonics for buttons and/or context-menu items. As a special case, <Control>z will perform an 'undo'. The editor also supports the key bindings of a gtk textview widget:

See comments above about searching. Replacement choices are made via a similar interface. When active, the bar is stacked below the search options bar.

See comments above about character encoding. The same applies to the editor.

An action is bound to the key <Shift>F4 to re-edit a file, starting at the last-viewed spot in that file. This appies only to the internal editor.


These are effectively chunks of code that provide optional, additional capability for e2. Any of them may be cofigured to load (i.e. be ready to run) or not, depending on the user's expected need for it. (With a big, fast computer, just load them all and get on with life ...) Descriptions of the current plugins are provided in the respecitive tooltips, which can be displayed in the plugins context-sub-menu, or the plugins page of the configuration dialog. The view plugin always runs the internal viewer for text files, and so it is useful only if your default file viewer is set to be some external viewer.

Any plugin might only be needed for a key binding, or a toolbar button action, for example. So a loaded plugin may be configured to appear in the plugins context menu, or not. Plugin configuration settings are preserved until changed by the user.

If all goes according to plan, more plugins are coming !

Now, some specific notes:

... ... ...

disk usage plugin

Calculates the 'apparent' disk usage of selected item(s). 'Apparent' in the sense that any 'holes' in the file data which are artefacts of the filesystem are not counted in the size, even though they're not avaiable for other purposes.

directory compare plugin

Selects items which match items in the other pane. Where relevant, md5 sums are used for the comparison. After selection, items can of course be moved, copied etc, or their names copied, using that plugin. As always, selections can be inverted by pressing Ctrl-i, before processing.

find plugin

The choices made for the various buttons and text-entry strings shown in this dialog are remembered for at least the duration of the current emelFM2 session. If the plugin is still loaded at the end of a session, then the choices will be saved, and available to be re-loaded next time.

History lists for text-entry strings can be cleared by pressing <Alt>Delete when the entry in question is focused.

find by name

Here you can enter the name of the file you want to match. The e2 macros %f or %F can be used instead of explicit name(s).

If the "is" option is selected, the find will match any file of that name, which may include wildcard characters:

.* will match any or no characters. For example, the pattern "*.txt" will match files named foo.txt and .txt, but not foo.text. .? will match any one character. For example, "wibble.?" will match files named wibble.c and wibble.s, but not wibble. or foo.c.

The "is like" option will match any file whose name contains the string you enter. For example, the string ".txt" will match the files foo.txt and bar.txt, but not the file baz.text. Again, wildcard characters can be used. If the "regular expression" button is selected, all of the regex capabilities of the shell "find" command may be used. In this case, don't search for %f or %F if more than one item is selected.

find by content

You may enter a string of characters to search for in files to be matched. For example, to match all files containing "linux" you could either select the "this" option and enter "linux", or select the "like this" option and enter the pattern "*linux*". Regular expression searching is conducted by the shell \"grep\" command, for which there is extensive documentation elsewhere.

find by mime

You may enter a string of characters which are all or part of the string representing the mimetype of files to be matched. For example, "pdf" or "application/pdf" would match files in Adobe's PDF format. The string is case-sensitive.

find by mtime

These options allow you to find files according to their modification time. That is the last time that the file was saved to disk storage. You can choose whether you want to match files with times earlier than, equal to, <b>and/or</b> later than the time you have entered.

find by atime

These options allow you to find files according to their access time. That is the last time that the file was read or executed. You can choose whether you want to match files with times earlier than, equal to, <b>and/or</b> later than the time you have entered."

find by ctime

These options allow you to find files according to their inode time. That time is updated whenever a linux file is created, when its atime or mtime is changed, when its mode is changed, and other times too. You can choose whether you want to match files with times earlier than, equal to, and/or later than the time you have entered.

find by size

You may enter the size (in bytes, kilobytes or megabytes) of files to be matched. For kb or MB, the size may be like "1.23". You can choose whether you want to match files sized smaller than, equal to, and/or bigger than the size you have entered.

find by permission

These options allow you to find files according to their permissions (a.k.a "mode"). You can match against multiple permissions. The ones selected need not be the only ones that apply to matched files.

find by owner

These options allow matching files according to their owner and/or group. You can choose to match against the name/group of the logged-in user and/or another specified user or group, or to ignore the user/group. You can also match files without a known user or group by selecting the "Match unknown users" or "Match unknown groups" toggle buttons.

find by type

These options allow you to find files according to their type. You can match against multiple types.

foreach plugin

Executes an entered command on each selected item separately.

NOTE the action-name for this plugin is (in english) file.foreach. If this action is run from the command line, it needs to have a "!" prepended e.g. !file.foreach echo %f. (This is to prevent any %f or %p macro in the command from being expanded by the command-interpreter. Such expansion needs to be performed by the plugin, instead.)

glob plugin

Selects items whose name matches specified pattern(s). The selection criteria are the same as filelist filtering criteria.

move plugin

This offers the possibiitiy of pausing the move process. Any such pause begins at the completion of the item currently being moved. If that's a directory, all its decendants will be competed before the pause.

names copy plugin

This normally copies the name(s) of selected item(s) to the clipboard. If a <Shift> key is pressed when the plugin is activated, the full path of each item will be copied, instead of just its name. If a <Control> key is pressed when the plugin is activated, copied item paths or names will be separated by a "newline" character, instead of a space.

pack plugin

Archives of these sorts are supported:

..tar.gz ..tar.bz2 ..tar ..7z ..rar ..arj ..zoo

rename plugin

Items to be processed can be located in any specified filesystem directory, and optionally, in any descendant directory of the starting point.

Items to be processed can be those selected (in either displayed filelist), or all items which match a specific name, or match a name-pattern with wildcard character(s) "?" and/or "*", or a match a name-pattern with regular-expression syntax. Note that internally, regular-expression matching is always used. Regular expressions are "greedy" and this can produce unexpected results. For example, using a wildcard pattern "*-*", when renaming an item "12-34-56", the first "*" will match "12-34", not "12".

Replacement names can be made all lower-case or all upper-case, and/or a pattern which contains wildcard characters, or "back-reference(s)" to regular-expression-group(s) in the search pattern.

Documentation on regular expressions can be found by running the shell command "man 7 regex" or "man grep" or from, or many other places.

In brief: these are the special characters:

This means, for example, that ".*" is needed where a wildcard "*" might have been used, and "\." for a literal "." Your installed software may only support 'basic' regular expressions, in which case any ? + { | ( ) needs to be preceded by a "\".

Groups like (EXP) may be referred to in a replacement name-pattern by \1, \2 ... in order of their occurrence.

The whole of any matching item name may be referred to in a replacement name-pattern by \0 (This is an emelFM2 extension, not standard regular expresssion syntax.)

The replacement name-pattern may include up to 4 counter macros (see macros section below, for details). In this context, initial value defaults to 1 if not explicitly provided. If more than one counter is included, the respective i and w parameters are independent of those in the other counters. A normal "%c" in the name-pattern must be escaped as "\%c".

It is generally wise to apply the confirmation option, so that each replacement name can be checked before it is applied.

thumbnails plugin

This opens a dialog window showing thumbnails of all recognised images in the active-pane directory. More than one such dialog may be opened, for either or both filepanes.

Images whose maximum dimension is less than 32 pixels are scaled up. Images whose maximum dimension is more than 128 pixels are scaled down.

No file operations (copy, delete etc) may be performed directly on items in this dialog. However, selections are normally echoed back to the associated filelist, and operations may be performed from there. Sorting of the images using the normal fields is possible via a menu opened when the Sort button is clicked.

The dialog has a context-menu which enables manual refreshes of the view contents, un-selecting all items in the view, rotating or flipping the selected items, and changing whether to replicate all [de]selections in the dialog back to the associated filelist. Any rotation or flip is for display only, the original file is not altered.

This plugin uses functions in libgimpthumb to manage thumbnail-cacheing in accordance with specification.

timeset plugin

Replacement date(s) and/or time(s) may be separately set. If a new date or time is not provided, then the current value will be used. Formats of entered strings should be appropriate for the user's locale.

By way of confirmation, the corresponding 'set' box must be checked, to implement the change.

Ony the privileged user ('root') is able to vary the 'ctime' (inode change time) of any item(s). Changing ctime requires temporary changes to the system clock. That is normally unwise, as typically, other things rely on system time.

Any replacement date/time can be applied recursively if the item is a directory. If multiple selected items are being processed, the replacement date/time can be applied to all remaining unprocessed items. All selected items can be conformed by simply checking a 'set' box and applying the change to all.

... ... ...

unpack plugin

Archives of these sorts are supported:

..tar.gz ..tar.bz2 ..tar ..7z ..rar ..arj ..zoo

Compressed single-items (i.e. no tar, and usually named like "somename.ext.bz2" or "othername.ext.gz") are not supported. They can be readily unpacked by a simple command like 'bzip2 -d %f' or 'unzip %f'

view plugin

This opens the first selected item with the internal text-file viewer. It is intended to be used when the default view action is configured to use an external viewer.

[Oct 26, 2012] firecommander - Orthodox File Manager implemented as Firefox extension - Google Project Hosting

An Orthodox File Manager implemented as Firefox extension.

[Oct 25, 2012] Pages related to MC were updated to reflect differences between version 4.6 and 4.8

In version 4.8.1 progress with built-in editor became visible...

[Oct 24, 2012] The Orthodox File Manager(OFM) Paradigm

Ebook was updated to version 4.2. An early draft of The Orthodox File Managers Standard 2012(OFM2012) -- Cutting Edge Features of Orthodox File Managers was added.

[Oct 19, 2012] MC 8.1 -- a landmark version of Midnight Commander

Internal editor and internal viewer are significantly improved in mc 8.1. mc 4.8.1 (and possibly some earlier versions after 4.6.2, I did not check) implement command window by swapping to shell making the implementation more correctly and this make mc more acceptable for Unix sysadmins in comparison with old implementation. They did not correctly implemented the context switch -- if you change directory in full command windows and press Ctrl-O to restore panel you will still see the old active panel. This is a bug that needs to be fixed (active windows should always display $PWD directory form the shell window).
portability of mc was and still is poor due to glib dependencies so if your distribution uses mc-4.6.2.pre1-121.31.x86_64.rpm as RHEL 6 and Suse 11 do, you are stuck. Ubuntu and Debian users are the only which are probably OK. Among RPM-based distributions OpenSuse 12.2 has Fedora now uses Systemd and is problematic in so many ways that it does not really matter what version of mc it is using. Cygwin has

Congratulations to the development team !

Name Nickname Country Additional info
Andrew Borodin andrew_b Russia aborodin at vmail dot ru
Stan. S. Krupoderov iNode Russia pashelper at gmail dot com
Ilia Maslakov angel_il Russia (il.smind at gmail dot com)
Sergei Trofimovich slyfox,sjøtroll,skogtroll Belarus
Slava Zanko slavaz, slavazanko Belarus (jabber+gmail: slavazanko at gmail dot com)
Yury V. Zaytsev ZYV Germany

[Oct 17, 2012] Last File Manager

Written in Python. The last version is LFM 2.3 dated May 2011. Codebase is below 10K lines...
May 21, 2011

Lfm is a curses-based file manager for the Unix console written in Python

Python 2.5 or later is required now. PowerCLI was added, an advanced command line interface with completion, persistent history, variable substitution, and many other useful features.

Persistent history in all forms was added. Lots of improvements were made and bugs were fixed

[Oct 18, 2012 ] The GNOME Commander homepage

Currently development looks stagnated, but version 1.2.8 is usable.

GNOME Commander is a free two pane file manager in the tradition of Norton and Midnight Commander, it is built on the GTK-toolkit and GnomeVFS. GNOME Commander aims to fulfill the demands of more advanced users who like to focus on file management, their work through special applications and running smart commands. This program is not aimed at users wanting the weather forecast in a sidebar in their file manager...


[Oct 17, 2012] orthodox file managers Any fans?

Norton Commander was one of the few things Norton got right, back in the good ol'days. After Norton I migrated to Windows Commander which changed its name to Total Commander which I stayed with until I converted to Linux. I still use TC when I'm forced to work with a Windows machine. I'm just in love with the dual pane format and the function keys (F5 to copy, F6 to move, F7 to make a directory, etc.). Am I weird?

Anyway, after experimenting with various OFMers for Linux, I've pretty much settled on GNOME commander. About the only time I use Nautilus is when I'm managing image files where it's handy to see the image in thumbnail. Thoughts? If you're a fan, what do you use for Linux?

Ubuntu Any file managers for "power users" ?

After switching from Windows to Ubuntu, I'm finding the file managers very limiting. I was a DirectoryOpus user on windows and it's one windows app I've been missing a lot. I've tried Nautilus and Thunar, and I find them way too simple for me. They do the job, but I'm not liking them. Are there any file managers out there that have more features or customizability? DOpus had so many features, I doubt anything could come close, but I wish there was at least a file manager that had some advanced features.. like filtering (Thunar had that, but it's kind of clunky when you have to go through menus and popups to do it..) or double pane windows. One thing I don't like about both of them, is that the lines are so far apart. I'm used to the lines being close together with a small font, which meant more information on the screen at a time. It might seem like an insignificant detail, but I can't help but notice it.

Ubuntu Shouldn't file managers look like today's web browsers?

I was just thinking of this, web browsers aren't any different from file managers. We use the web browser to navigate the web and file managers for files and folders and if you think about it they shouldn't be used any differently. The same visual arguments about web browsers should be applied to file managers. There's always talk about screen estate and the likes for web browsers but no one seems to be thinking the same for nautilus/dolphin, elementary is going in the same direction it seems but i'm not sure it has the full support from the nautilus team. I'd really enjoy a file manager with an interface like firefox4/opera, a single menu button and search box, exactly like a browser. If konquerer follows its browser competirors i'd gladly switch. what do you think the future file managers should be like?

[Oct 16, 2012] captain-nemo by Victor Zverovich

Captain Nemo is an extension which converts Nautilus into a two-panel (orthodox) file manager.

User-defined keyboard shortcuts in Nautilus

In this post I describe how to add arbitrary keyboard shortcuts to the Nautilus file manager using its extension API. I really like Nautilus, it has a clean interface and lots of features under the hood. One of the things I was missing coming from the world of orthodox file managers was an embedded terminal which can be shown/hidden with a simple keyboard shorcut. Recently there appeared an extension called Nautilus Terminal that provides exactly this. It is quite good and I highly recommend to give it a try. However I was not entirely satisfied with it because of inability to use some usual shortcuts such as Ctrl+L, although you can use Ctrl+Shift+L instead. Also if you change a directory in Nautilus the embedded terminal is closed and a new one is opened in a new location. So you can’t really have anything running in a terminal and at the same time browse the directories.

After some googling I’ve found another nice extension called nautilus-open-terminal which allows to open a terminal through a context menu. It is not bad but I would prefer a keyboard shortcut instead of the context menu. After some experiments I’ve found a hackish way to implement this by (ab)using LocationWidgetProvider. If you know a better way please tell me about it in the comments section below.

So here is a Python script that does the trick:


To enable this extension first install the python-nautilus package (sudo apt-get install python-nautilus in Ubuntu), then copy the script to the extensions install path, e.g. ~/.nautilus/python-extensions/ and restart nautilus with the nautilus -q command. This script redefines the Ctrl+O shortcut to open a terminal. It can be easily adjusted to use a different key combination or to define several shortcuts with different actions. For example this script defines Ctrl+O to open a terminal and Ctrl-G to open gitg in the current directory of Nautilus. It also adds Compare… to the context menu when two files are selected.

Update: I’ve ported the script to Nautilus 3. The new version can be downloaded from here. Note that the script requires at least version 1.0-0ubuntu2 of the python-nautilus package.

[Oct 15, 2012] Emperor 0.1 - Orthodox file manager for the GNOME desktop

I am pleased to announce the first released version of Emperor: version
0.1 "Aurelian"

Web site:



Emperor is a new Commander-style file manager for the GNOME desktop. It
is writte in Vala and, unlike similar programs such as GNOME Commander
or mc, it uses GIO in order to integrate with the GNOME desktop and to
take advantage of GVfs-FUSE.

While it is not yet full-featured, it is complete enough to be useful
and has good support for network file systems and automatic mounting of
archive files.

Emperor strives to provide a user interface familiar to users of Total
Commander, Krusader, or GNOME Commander.


- GTK+ 3
- Libxml2
- Libgee 0.7

Additional dependencies when building the source from Git:

- Vala 0.12
- GNU Autoconf, Automake, Libtool, and Gettext
- Python 3.x

[Oct 12, 2012] FreeCommander - freeware file manager

An interesting free alternative to Total Commander. GUI OFM developed by Marek Jasinski. Last version is from from Dec 09, 2010. Currently looks like abandoned project but forum is still active FreeCommander Forum • View forum - Feature Requests
FreeCommander is an easy-to-use alternative to the standard windows file manager. The program helps you with daily work in Windows. Here you can find all the necessary functions to manage your data stock. You can take FreeCommander anywhere - just copy the installation directory on a CD or USB-Stick - and you can even work with this program on a foreign computer.

Main features in FreeCommander:

[Sep 29, 2012] 6 best orthodox file managers for Linux The verdict best Linux orthodox file manager by Mayank Sharma

June 8, 2009 | TechRadar

The verdict - EmelFM2 - 8/10

Orthodox file managers have been around forever, and have evolved from simple CLI-only utilities for moving and renaming files to comprehensive file commandeering tools that'll give many modern GUI file managers a run for their money.

The top two contenders reflect this transition, but ironically neither carries the trademark 'Commander' moniker. At the expense of being krucified by the Krusader users, we'll offer the top spot to EmelFM2.

Feature-for-feature you can do more with Krusader, but a fully-loaded app isn't always the best. Krusader is deeply integrated into KDE, which is good for KDE users, but what about the rest?

On the other hand, EmelFM2 just needs GTK, and works well both in Gnome and KDE. The biggest issue with EmelFM2 is that it doesn't have a virtual filesystem to connect to Samba and NFS shares, but on the bright side this helps keep the dependency list to a minimum.

Midnight Commander is like Slackware – you don't recommend it to new users, and those that are using it, would never use anything else.

Gnome Commander is a good option for Gnome users, but it relies on a deprecated piece of technology. The Gnome Commander developers also have a few plumbing issues to fix in their documentation and offer more control to keyboardies. If you are using Gnome (or not) and need to rename lots of files borrowing data from their metadata, there's no better way to go about it than with Gnome Commander.

Then there's Beesoft Commander, which is light in both size and features. If it does everything you need to do, you aren't doing enough!

Finally we have MuCommander, which relies on Java for cross-platform support and runs on Linux, Mac, and Windows, and even your web browser. It's a good tool for new Linux arrivals, but it lacks documentation, and forces users to modify XML files to edit keyboard bindings and change menus. What's going on here?

So there you have it. KDE-only users should use Krusader. If you hop distros, or don't really care which desktop you use, go for EmelFM2.

[Sep 28, 2012] Midnight Commander Guide

Everything is nice but implementation of third (command line) window remains completely screwed in Midnight Commander. This is the key OFM feature that Miguel de Icara never understood and we are still paying for that.

I've written a guide to Midnight Commander in presentation format:

For those who really don't want to look at the PDF and are just curious about the content, I put the HTML version here:

It'll have a bunch of LaTeX formatting interspersed with the text, but much of it should be readable.

-- Be careful about reading health books. You may die of a misprint. - Mark Twain

Guus Bonnema:

Man, this rocks! Excellent job. Many problems and solutions discussed plus a lot of tips. And I like the presentation. I am proud to see LaTeX still leads to beautiful products.


...Maybe you could add that the copy and move dialogs (F5 and F6) have a very useful history. With Alt-H you get a list of dirs that you have used earlier to copy or move to. Clicking with the mouse on the [^] at the end of the input line has the same effect.


Carsten Richter wrote:

> Nice work, there are some key bindings which don't work here, maybe due to my
> terminal emulator (such as Alt-‘). But for sure Ctrl-I doesn't redraw
> the display wenn it's messed up. I need to do the Ctrl-o twice.

It's Alt-` (backtick) and Ctrl-l (lowercase L). That should work.


Carsten Richter <> writes:

there are some key bindings which don't work here, maybe due to my terminal emulator (such as Alt-‘). But for sure Ctrl-I doesn't redraw

As someone pointed out, it's a backtick and Ctrl-L. I'll see if I can conveniently change the font where those key bindings are listed...

the display wenn it's messed up. I need to do the Ctrl-O twice.

Ctrl-L is somewhat common and good to remember. I think a bunch of other Linux programs use it.

I also would like to know how to change the default keybindings. I was able to change the autocompletion keybinding in an old mc using the "learn keys" option. But with never ones it's not working apparently.

I'm pretty sure there's a way - you'll find it in the release notes for some release in the last 2-3 years. I think I once found some places that describe how to change them, but it seemed quite painful. I only really wanted it to be able to sort files rather than having to go to the menu - but then they allowed sorting by clicking the headers, and that sufficed.

-- Heard the one about the dyslexic devil worshiper? He sold his soul to Santa.

Hallo, mailinglists:

there are some key bindings which don't work here, maybe due to my terminal emulator (such as Alt-?). But for sure Ctrl-I doesn't redraw

As someone pointed out, it's a backtick and Ctrl-l. I'll see if I can conveniently change the font where those key bindings are listed...


Just additional: sometimes (especially with some remote terminals) the function keys don't work. But (p.e.) esc 3 instead of f3 seems still to work.

[Apr 07, 2012] gET iT i sAY 4.6.1

A file recovery tool for Ext2/Ext3 filesystems.

giis (gET iT i sAY) is a file recovery tool for Ext2/Ext3 filesystems. Once installed, current files and newly created files can be recovered. It allows users to recover all deleted files, recover files... owned by a specific user, dump data from old file locations, and recover files of a specific type, such as text or PNG. A forensic analyzer is also provided to assist users during recovery.

[Apr 07, 2012] X File Explorer


X File Explorer (Xfe) is a filemanager for X. It is based on the popular, but discontinued, X Win Commander. Xfe is desktop independent and is written with the C++ Fox Toolkit. It looks similar to Windows Commander or MS-Explorer, and is very fast and simple. It features file associations, the ability to mount/umount devices, a directory tree for quickly changing directories, the ability to change file attributes, automatic registry saving, the ability to view/create/extract compressed archives, and much more.


FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available in our efforts to advance understanding of environmental, political, human rights, economic, democracy, scientific, and social justice issues, etc. We believe this constitutes a 'fair use' of any such copyrighted material as provided for in section 107 of the US Copyright Law. In accordance with Title 17 U.S.C. Section 107, the material on this site is distributed without profit exclusivly for research and educational purposes.   If you wish to use copyrighted material from this site for purposes of your own that go beyond 'fair use', you must obtain permission from the copyright owner. 

ABUSE: IPs or network segments from which we detect a stream of probes might be blocked for no less then 90 days. Multiple types of probes increase this period.  


Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy


War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotesSomerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose BierceBernard Shaw : Mark Twain Quotes


Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law


Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOSProgramming Languages History : PL/1 : Simula 67 : C : History of GCC developmentScripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

Classic books:

The Peter Principle : Parkinson Law : 1984 : The Mythical Man-MonthHow to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Hater’s Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

Most popular humor pages:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

The Last but not Least

Copyright © 1996-2016 by Dr. Nikolai Bezroukov. was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License.

The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to make a contribution, supporting development of this site and speed up access. In case is down you can use the at


The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.

Last modified: June 14, 2015