Lotus 1-2-3 On Linux Is A Thing Now

“Running X on Y” and using spreadsheets are two common geek tropes, so congratulations to Tavis Ormandy who has combined both: running Lotus 1-2-3 on Linux.

You may recognise Ormandy’s name: he’s part of Google’s Project Zero, which hunts for security vulnerabilities, often in software from other companies.

He’s a big fan of Lotus 1-2-3, which was one of the most successful programs of the early IBM-PC era. Ormandy explains that while he still uses it for fun thanks to a custom driver, he couldn’t take advantage of its support for add-ins (ie plug-ins) without the compiler and software development kit for the language to write add-ins.

That led to a lengthy search for the SDK, which eventually tracked it down thanks to a tape backup of an old bulletin board system where (whisper it) some users may have shared files without the relevant permissions.

While that satisfied Ormandy’s initial curiosity, he discovered the same backup included a copy of the relatively unsuccessful UNIX edition of Lotus 1-2-3. That led to another lengthy exploration, the full details of which will be exciting to anyone turned on by sentences like:

All I have to do is rename those symbols with objcopy, then mark them undefined with coffsyrup. Now I can write a little wrapper that translates a Linux struct stat to a UNIX struct stat and it should work!

The upshot is that Ormandy eventually got the software running on Linux, despite the fact Linux didn’t actually exist when the software was created.