[HN Gopher] Lotus 1-2-3 For Linux
___________________________________________________________________
Lotus 1-2-3 For Linux
Author : taviso
Score : 600 points
Date : 2022-05-21 07:22 UTC (15 hours ago)
(HTM) web link (lock.cmpxchg8b.com)
(TXT) w3m dump (lock.cmpxchg8b.com)
| skissane wrote:
| > It turns out that the BBS also had a warez copy of Lotus 1-2-3
| for UNIX. This was widely thought to be lost - I'm told it
| couldn't compete with a more popular UNIX office suite called SCO
| Professional, so there were not many copies sold.
|
| I wonder if anyone still has a copy of Lotus 1-2-3/M? It was the
| port to the IBM mainframe operating systems MVS (nowadays known
| as z/OS) and VM/CMS (nowadays z/VM). [0] Not that I ever used it
| or saw it, but just I have become fascinated with it from reading
| descriptions of it. From what I understand, it is more different
| from 1-2-3 for DOS than the Unix or VMS ports were; the Unix and
| VMS ports work with character mode terminals (such as VT100
| compatibles), which while rather different from the terminal
| model used on MS-DOS or text mode OS/2 (direct memory access to
| the screen buffer), nonetheless are close enough that the bridge
| can be gapped-which (on Unix) is classically the job of the
| curses library (and its various descendants). By contrast,
| 1-2-3/M was written to work with the block mode 3270 terminals
| commonly used on IBM mainframes, which send to/from the terminal
| whole screenfuls of data at a time, rather than individual
| characters (somewhat similar, in principle, to classic HTML
| forms). This forced greater changes in the UI compared to the
| other ports, because a lot of things which are easy to implement
| with character mode terminals are essentially impossible in 3270.
|
| [0]
| https://www.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ss...
| GekkePrutser wrote:
| > This forced greater changes in the UI compared to the other
| ports, because a lot of things which are easy to implement with
| character mode terminals are essentially impossible in 3270.
|
| Couldn't they just render everything to a local virtual
| terminal and then send the screen after updates?
| mlyle wrote:
| The speeds to terminals were not great, and this is
| completely in contrast to how the terminals were meant to be
| used.
|
| The big idea behind the 3270 architecture was to support
| things like CICS, where you could have tens of thousands of
| terminals attached to a single processor computer with 16
| megabytes of memory, and then take individual requests from
| terminals, recover state, and render screens.
| GartzenDeHaes wrote:
| > which send to/from the terminal whole screenfuls of data at a
| time, rather than individual characters
|
| 3270, and it's derivatives such as 6530, had (have?) a protect
| mode protocol that sends fields in much the same way as an HTTP
| post [1]. It doesn't seem to have been used that much on IBM's,
| probably due to the synchronous write-a-screen-and-wait-for-
| the-result readline style of programming. However, it was used
| extensively on the Tandem, which had an asynchronous 3-tier
| style architecture.
|
| 1. https://x3270.miraheze.org/wiki/3270_data_stream_protocol
| kevin_thibedeau wrote:
| > had (have?)
|
| I was at my insurance agent a few weeks ago and they still
| had a 3270 emulator in use.
| mlyle wrote:
| A childhood memory from when I was little:
|
| We were at Sears, and my parents were waiting for customer
| service-- they were buying an appliance or something. There
| were terminals around, open to public use. I recognized them
| as 3290's from my dad's work.
|
| They had an application where you could do form work--
| building up an order or searching for stock on items-- that
| used this protect mode. You'd fill in fields and then hit a
| pfkey, and wait several seconds for a result.
|
| I can't find anything about this system having ever existed
| online-- one of those blackholes of missing information about
| pre-web days. There's an interesting web site of how point-
| of-sale evolved at Sears and other places--
| https://vintagepointofsale.com/author/jpnearl/ but that's not
| really what I'm talking about.
|
| I remember other instances of this from when I was little,
| too. Lots of IBMs internal applications used this whole forms
| interface and the lower right status HOLDING while you filled
| out fields. And I recall travel agents using it with SABRE,
| too.
|
| My memory is that it wasn't uncommon-- that a whole lot of
| mainframe usage looked like this: https://basis.uark.edu/freq
| uently_asked_questions/email_noti...
| genewitch wrote:
| around 2001 or 2002 JCPenney got rid of their 80s era
| mainframes, and i got an IBM mainframe, and i can't
| remember if it was as/400 or rs6000, but it was two racks,
| with a hard drive the size of a small clothes dryer (and
| louder), and a 9" floppy. The IBM stuff didn't sell on ebay
| that well, but the cisco stuff (the second rack?) sold
| alright. Mostly went to repairing my junker car back then.
| skissane wrote:
| AS/400 and RS/6000 are not (per official IBM terminology)
| "mainframes". AS/400s were classified as "midrange"
| systems.
|
| From the floppy, I'm guessing it was more likely to be an
| AS/400. (RS/6000s had them too, and they were originally
| invented on mainframes, where they were used for
| microcode updates-but I believe AS/400s dropped them
| later than RS/6000s and mainframes did.)
|
| Now the RS/6000 and AS/400 lines have been merged at the
| hardware level - but an old machine being thrown out in
| 2001/2002 would have been from when they were still
| distinct hardware.
| londons_explore wrote:
| And in the future, this HN post will be ingested by an AI
| info-hunter, and it will be matched up with the birth and
| death records of the guy who installed that 3290 in your
| hometown Sears, and the person who wrote in his leaked
| personal diary that 'I am proud of the FORMS interface I
| made back in the 1980's for Sears - the staff loved it,
| even if the code was a mess!".
|
| By collecting all that data, the AI info-hunter will in
| milliseconds be able to tell a young girl 150 years from
| now that "Your great great grandfather was a computer man.
| I found 168,235 deceased people who directly used his work,
| and while his work never made it to the internet, there is
| a high probability that it is recoverable from a trash dump
| site in California in a red safe buried 13 yards below the
| surface also containing some car keys and a vintage $50
| note. Shall I navigate there now?".
| bitwize wrote:
| Damn it, that logic Joe went on the fritz again! I don't
| know whether to fix him or take a hatchet to him, but
| until I figure that out I'm gonna unhook him and keep him
| locked in my basement, just to make sure he don't cause
| no more trouble...
| xenago wrote:
| Tavis, what a legend! This is awesome.
| anfilt wrote:
| Kinda cool they were able to find that object file.
| SoftTalker wrote:
| There was WordPerfect for unix back in the day as well, I used it
| at work in an HP-UX environment. I don't know if it was ever
| available for Linux.
| chasil wrote:
| There is a free version of WordPerfect for Linux.
|
| https://liam-on-linux.livejournal.com/80768.html
| Crontab wrote:
| I love reading stuff like this.
| irdc wrote:
| So, incidentally, having symbols makes it doable to use a
| decompiler to retrieve something resembling source code.
|
| Just putting that thought out there.
| meebee wrote:
| That would be a worthwhile project.
| bombcar wrote:
| If you have symbols and know the language (even better the
| exact version of the compiler) you can get almost the original
| source files "minus comments".
| slater wrote:
| Anyone else misread the title as "Lotus Notes for Linux" and
| break out in cold sweats of fear and PTSD? XD
| multjoy wrote:
| I used to fill photocopiers for a living at IBM North Harbour
| in Portsmouth back in the very early 00's, and I could never
| get my head around Notes. The first and only place I ever saw
| it in the wild.
| pstuart wrote:
| My first "real" job was working at Arthur Anderson, where due to
| my geeky love of computers I was able to quickly move from the
| mail room to Data Processing.
|
| 1-2-3 was like crack for accountants (it was first released right
| around that time). One of my tasks was making "backup copies" for
| users. Probably had 1 legit copy for every 20 staffers so this
| was quite a sum of money they "saved".
|
| After getting sued for millions for copyright infringement they
| realized it was cheaper to buy a real copy for every user.
| bombcar wrote:
| Leave it to Arthur Anderson to try to do creative accounting of
| software licenses!
| RcouF1uZ4gsC wrote:
| Great write up.
|
| Travis is moving on from 0 (Google Project Zero) to 1-2-3.
|
| I wonder when the article about Quattro Pro will come.
| dchest wrote:
| He wrote a review of it:
| https://lock.cmpxchg8b.com/spreadsheet.html#borland-quattro-...
| marcodiego wrote:
| There is one thing I feel like missing now: dosbox should have a
| mode to run DOS programs on the terminal and only start a GUI if
| a graphics mode is started. That would give seamless use of DOS
| apps.
| termios wrote:
| donio wrote:
| dosemu can do this with the -t option, I have used this to run
| the Turbo Pascal UI on a terminal, works great. Have to make
| sure that the terminal width is exactly 80 columns.
| jkingsman wrote:
| Tavis Ormandy has had everything ranging from ice cold takes to
| white hot takes, but man, when he does something cool, it's
| usually the coolest thing I've heard of in months and months.
|
| Love seeing his step-by-step on hacking something like this
| together. What a great engineer.
| userbinator wrote:
| Overall very interesting article, but this bit caught my eye:
|
| _Linux did have lcall7 and lcall27 compatability support_
|
| There is very little information available online about that ---
| section 2.11 here might be a better description:
|
| https://tldp.org/LDP/lki/lki-2.html
|
| Further digging reveals that it's related to
| https://en.wikipedia.org/wiki/Intel_Binary_Compatibility_Sta...
| (which I couldn't find the actual document of) and might explain
| where the original set of system call numbers in Linux came from.
| This also reminds me of the "CALL 5" interface in DOS which was
| used for CP/M compatibility.
| edward wrote:
| I fixed some spelling mistakes:
| https://github.com/taviso/123elf/pull/1
| etothepii wrote:
| I am aware of a very large company that still uses Lotus 123 for
| hundreds of millions of dollars of business.
| xattt wrote:
| Is it a TUI version of 1-2-3?
| etothepii wrote:
| No it's the GUI version. Last updated in 2002.
| azinman2 wrote:
| Is it IBM? :)
| etothepii wrote:
| Ha! No, but it was sold by IBM.
| d0mine wrote:
| You might be surprised how efficient in practice it can be.
| Often, new software can be a net negative on productivity.
|
| Emacs is the most productive environment (for me) and it is
| half a century old.
| adrian_b wrote:
| I have used Lotus 1-2-3 for about 5 years, until switching to
| Windows 95, where the GUI version of 1-2-3 no longer had
| significant advantages over MS Excel.
|
| There is no doubt that for any tasks simple enough to have
| their speed limited by the interaction with the user, and not
| by waiting for a very large number of cells to be recomputed
| or by the execution time of a long macro, the MS-DOS Lotus
| 1-2-3 on an 80386 CPU was faster than MS Excel or any other
| modern spreadsheet program on a modern computer with a CPU
| having a one hundred times higher clock frequency.
|
| Lotus 1-2-3 had a well-designed menu-driven user interface
| and the keyboard shortcuts needed to execute quickly all menu
| commands became automatic in a short time for anyone who used
| the program daily, and they were easy to discover for novice
| users.
|
| In the recent versions of MS Office, the menu structure has
| become very opaque for me, even if I have used it for
| decades, since its first version. I may need some minutes to
| discover in which submenu a seldom-used command can be found,
| because the distribution of the commands over the menu
| hierarchy no longer makes sense for me, even if I know that
| the command must exist, because I had used it in some older
| version of MS Office, where it was located in a completely
| different submenu.
| jedberg wrote:
| > where the GUI version of 1-2-3 no longer had significant
| advantages over MS Excel.
|
| There was a preference that for some reason was off by
| default that enabled / commands, so that you could use the
| GUI version just like the old DOS version. My dad did that
| for years when his company forced him to switch to GUI
| 1-2-3, until they finally forced him to switch to Excel.
| loloquwowndueo wrote:
| But unlike 1-2-3, Emacs is still being developed.
| tibbydudeza wrote:
| He named the website after the compare and exchange instruction
| ???. My intel assembler is rather rusty.
| lapsis_beeftech wrote:
| It is explained in the FAQ:
|
| _There was a bug in early Pentiums called the f00f bug, it
| would cause a deadlock if you provided an invalid operand to
| cmpxchg8b while using the lock prefix. It was an important
| vulnerability at the time, and I thought it would be fun to own
| lock.cmpxchg8b.com._
| sph wrote:
| That was awesome, but they skipped over the crucial part I'm most
| interested in: how the heck did they rewrite and reroute the
| incompatible system calls and libc functions? That's probably the
| hardest task of it all.
|
| How would you go about it in the first place?
|
| EDIT: ah, their coffsyrup tool
| (https://github.com/taviso/123elf/blob/main/coffsyrup.c) with
| help from objdump (it's more powerful that I gave it credit for)
| does the relocation and patching. I would have loved to read more
| into that part of the process.
| DannyBee wrote:
| Outside of patching, it's not that hard, it's just structure
| conversion at that point.
|
| The coff tool is harder than the rewritten functions.
| azinman2 wrote:
| But where does that structure conversion code go? Into a
| support dynamically linked library?
| toast0 wrote:
| Most likely, you compile the support functions into another
| .o, and statically link it with the modified 123.o.
| jshaqaw wrote:
| Little known fun-fact re Lotus 1-2-3 was that it came on a ROM
| cartridge for the PCJr. The PCJr was a total sad sack of a
| machine. Technically superior to the PC and cheaper too so IBM
| intentionally crippled it with incompatibility bugs so that
| businesses could not really rely on it.
|
| BUT they did release Lotus 1-2-3 for it in on a ROM cartridge
| which in the days when most programs ran on 5.25 inch floppies
| meant that performance just cranked!
| flomo wrote:
| Old boss had a handheld computer which ran 1-2-3 from ROM.
| Spreadsheets on the fly!
|
| I think this was it: https://en.wikipedia.org/wiki/HP_95LX
| ghaff wrote:
| >Technically superior to the PC
|
| Really? I remember it having a "chiclet" keyboard that was
| widely criticized among other things. As for the compatibility,
| I'm not sure how many computer makers at that time--including
| IBM--completely grokked that PC compatibility really did mean
| 100% compatibility as opposed to mostly compatible.
| goosedragons wrote:
| The keyboard was awful but it was more graphically and
| audibly better than the IBM PC. The "Tandy" graphics mode in
| old PC games is really PC Jr. graphics mode as Tandy cloned
| it. Processing powerwise a 286 AT from the same time frame
| would have been better.
|
| For the home market where the Jr. was aimed it really needed
| the better graphics and sound to compete with the C64 and the
| like.
| ghaff wrote:
| Well, it was newer and aimed at the home market--and IBM
| didn't worry too much about compatibility for whatever
| reasons (good or bad). PC compatibles didn't have decent
| standard graphics until EGA came along (though many systems
| would support Hercules for monochrome graphics).
|
| But to your basic point. Yeah. IBM wanted to create a
| competitor to the other home computers. Not cannibalizing
| its business computers was probably a rather secondary
| concern.
| GekkePrutser wrote:
| It's what you get when you have a bunch of business suits
| go and create a computer to be used for entertainment.
|
| I'm sure the PCjr could have really taken off if it had
| been more like the Amiga.
| ghaff wrote:
| Boca was sort of a skunkworks operation so I'm not sure
| it's fair to describe it as a bunch of business suits.
| But certainly in general, IBM had no real experience with
| the consumer market so it's not really clear to me what
| they were looking to accomplish with the PCjr. (Though I
| admit I'm not really familiar with its history.)
| hakfoo wrote:
| I'm not sure.
|
| The PCjr had the promise of "runs some PC software", so
| if Dad needs to finish his spreadsheet from the office in
| an emergency, he can barge the kids off the PCjr for the
| night.
|
| If it had been something different to the point of total
| incompatibility, why not buy the kids a cheaper Atari
| 800XL or C64 for games and "educational software"
| instead?
|
| You can also argue that the PCjr's unique features did
| survive a bit longer, in the form of the Tandy 1000
| series.
| kwertyoowiyop wrote:
| Inspirational! And "coffsyrup" made me giggle. Thank you Tavis!
| easytiger wrote:
| wasn't there a java lotus suite later developed that died off
| very quickly? I recall running it on Solaris
| lmz wrote:
| This one? https://en.wikipedia.org/wiki/IBM_Lotus_Symphony
| easytiger wrote:
| That is indeed the one. From recollection it used an
| incredibly amount of system resources
| shimmeringleaf wrote:
| Fascinating write up!
|
| Curious how piracy seems half the time to be the best form of
| archival for older software that was abandoned (most older
| software is no longer available to download even if one has a
| license, let alone still runs on a more modern environment, but
| if you have A you can try and sort out B, as this post so nicely
| demonstrates)
| jeffbee wrote:
| It seems like sheer luck that a 30-year-old tape archive was
| readable. What format is a BBS operator from the early 90s
| likely to have used? QIC? DAT?
| marcodiego wrote:
| My first PC came with LotusSmartsuite on CD-ROM. At the time I
| dreamed that the office suite area was full of competition and
| vendors would implement features all the time continuously
| improving their offers. It probably was actually like that at the
| time (1997). Soon monopoly turned on.
|
| We are seeing a new resurgence now. There is some competition.
| Even on the FLOSS space, LibreOffice must show it is better than
| OnlyOffice. But it is very far from how things looked like in mid
| 90's when office suite vendor really had to include useful and
| differentiated software.
| adwww wrote:
| Yeah I had Lotus SmartSuite - I remember it had quite nice
| skeuomorphic design in a lot of areas.
|
| You're probably right about the competition, Wordperfect was
| the market leader at one point, and Adobe also had FrameMaker -
| perhaps more of a Publisher competitor.
___________________________________________________________________
(page generated 2022-05-21 23:01 UTC)