Unfamiliar situations
I find it amusing spotting familiar software in equally unfamiliar situations.
One of those situations is when it makes a cameo in fiction, with examples such as nmap and the inclusion of Emacs & eshell in Tron Legacy.
Another unfamiliar situation is when the software runs on an unexpected hardware or OS.
Can it run Doom?
Doom is the king of this category.
It’s common sense that almost every device with a bare minimum of computing power can run Doom1.
Emacs on odd hardware & software
Emacs has in essence less potential than Doom due to its comparatively hefty requirements (especially its modern versions).
But that just forces us to take other approaches:
- Use an early Emacs version compatible with the device
- Use a fork/clone with low system requirements: uEmacs or JOVE
- Use our odd hardware as a dumb terminal connecting to a remote modern version of Emacs
The first approach is basically called retrocomputing and can be painfully cumbersome. It’s only reserved to the most stubborn internet archive dvelvers.
The third approach works surprisingly well as Emacs kept good support for terminal rendering2.
Actually this goes further as the GUI rendering is built on top of the TUI codebase.
Whoever made Emacs into a native X11 program […] pretended the GUI was a text terminal. – Daniel Colascione
Emacs on the Go
Another appeal of exploring alternative hardware is the perspective of having an Emacs instance on the go.
Nowadays the best approach is to have an Android device with Emacs installed through Termux and a bluetooth keyboard.
Most people use a smartphone. If the screen feels too small, one can use a tablet3.
As far as Org-mode is concerned, we nowadays have decent applications such as Orgzly (Android), beorg (iOS), organice and org-web (web, mobile-friendly).
Back in 2007, smartphones (as we know them) where in their infancy and I was in dire need for a solution.
At the time, the only possibility was to find an UMPC. Without much money in the bank, I settled for an old (even for the time) HP Jornada 680, bought secondhand for not much.
It ran a custom version of Windows CE (in German) but a distribution of Linux (Jlime) could be run on it.
Emacs wasn’t available in its repositories but I was able to compile it after fetching all of its dependencies.
And here I was, with my little data island in my backpack.
My config from these old days was pretty barebone as compared to the current incarnation.
Emacs on a actual dumb terminal
Even the most recent versions of Emacs still have stellar support for hardware terminals.
I don’t know who (apart from a few enthusiasts like me) still access Emacs through those devices.
There are some configuration specificities (addressed in a later post) but things mostly just work.
Other examples spotted in the wild
Esotheric OS
Emacs under Haiku (screenshot).
Hardware (dumb) terminals
Emacs through a Minitel 1B.
Niche Linux-based smartphones
Emacs on the Purism Librem 5.
Emacs on the PinePhone
Emacs under Jolla SailfishOS.
Emacs (GUI version) under Ubuntu Touch.
Older phones
Emacs 23 running natively on the Nokia N900 (screenshot)4.
Emacs accessed from SSH on an old Nokia phone.
PDAs and UMPCs
Emacs on the GeminiPDA (Android-based).
Emacs on the Psion 5mx.
Emacs 21 running natively on the Sharp Zaurus SL-C10005.
uEmacs fork Ng on the SoftBank X01HT.
Emacs accessed from SSH under Palm OS 5.
Single board computers
Emacs on the Pocket C.H.I.P..
Emacs on the Noodle Pi.
Smartwatches
Emacs on a Pebble watch (this one is actually just a “face”, not the real deal).
Hacker News
I was quite surprised to see that this post got submitted to Hacker News and won the front page lottery.
Notes
No, not this Doom, the actual game. ↩
I assume a good percentage of the user base don’t use the graphical version, prefering to live in the terminal. ↩
I personally use an iPad connecting to my Android phone with Blink shell. ↩
For more N900 goodness: Nokia N900 flickr group. ↩
The wiki has a page dedicated to the Zaurus line. See also this more generic page about PDAs. ↩
Tagged #emacs, #retrocomputing, #vt320.