Vivian Voss

mc: The Workstation in 12 MB

unix tooling

Technical Beauty ■ Episode 22

1994. A computer science student in Mexico City writes a file manager. Thirty-one years later, it is still running. One pkg install on FreeBSD. One apt install on Debian. Available on anything with a C compiler and a pulse.

Miguel de Icaza built mc as a Norton Commander clone for Unix. Then he co-founded GNOME. Then Mono. Then Xamarin. Then Microsoft acquired it. The man kept rather busy. The file manager quietly kept working.

What 12 MB Buys You

220,000 lines of C. One binary. 12 MB of RAM. Here is what you get for that:

  • Dual-panel file management
  • Built-in editor (mcedit) with syntax highlighting
  • Built-in viewer (mcview) and diff (mcdiff)
  • FTP, SFTP, SMB: browse remote servers as local directories
  • FISH: file transfer over SSH without SCP on the remote
  • Archive browsing: .tar.gz, .zip, .rpm, .deb as directories

No GUI toolkit. No browser engine. No runtime. ncurses and a C compiler. That is the lot.

Complexity Without Bloat

This is precisely why mc belongs in this series. It is not a minimal tool that does one thing. It is a genuinely complex piece of software: editor, viewer, diff, network protocols, virtual filesystem layer, archive handling. Yet it fits in 12 MB of RAM and a 1.5 MB binary.

Technical beauty does not demand simplicity. It demands the rather unfashionable discipline of not wasting what one has been given.

RAM Usage: File Browsing mc 12 MB Nautilus (GNOME) 50-150 MB macOS Finder 80 MB - 1.5 GB Windows Explorer 200-700 MB VS Code Explorer 300 MB - 3 GB in a browser engine

The Lineage

John Socha wrote Norton Commander in 1984 as a PhD student at Cornell. Not Peter Norton himself. Socha. The blue dual-panel screen became so ubiquitous in the Soviet Union that "Norton" became the Russian word for file manager. One might call that a design endorsement.

The paradigm spawned hundreds of clones:

  • Total Commander (1993): Christian Ghisler. One man. Thirty-three years of shareware. Quietly making a living while the industry reinvents file browsing every eighteen months.
  • Midnight Commander (1994): the Unix branch of the family tree.
  • FAR Manager (1996): Eugene Roshal. Yes, that Roshal. The RAR creator. Frightfully productive chap.
The Norton Commander Family Norton Commander 1984, John Socha Total Commander 1993, Ghisler Windows shareware mc 1994, de Icaza Unix, GPL FAR Manager 1996, Roshal Windows, BSD

The Record

31 years. 478 contributors. Still actively maintained (4.8.33, January 2025). No venture capital. No rewrite in Rust. No "mc Cloud." No annual conference with branded socks.

One might call that technical beauty. One would be quite right.