[HN Gopher] Lotus 1-2-3 arbitrary resolution
       ___________________________________________________________________
        
       Lotus 1-2-3 arbitrary resolution
        
       Author : diffuse_l
       Score  : 489 points
       Date   : 2021-03-02 15:58 UTC (1 days ago)
        
 (HTM) web link (lock.cmpxchg8b.com)
 (TXT) w3m dump (lock.cmpxchg8b.com)
        
       | schnable wrote:
       | Amazing story.
       | 
       | Can't believe the Lotus FTP site is still live. Wonder where that
       | thing is running and if anyone actually knows it still is.
       | 
       | > I was able to find the drivers on an old ftp site.
       | 
       | Wonder what FTP site this is and how he found it?
        
         | tyingq wrote:
         | _" Can't believe the Lotus FTP site is still live. Wonder where
         | that thing is running"_
         | 
         | Had me curious as well.                 $ host
         | ftp.support.lotus.com       ftp.support.lotus.com is an alias
         | for service.boulder.ibm.com.       service.boulder.ibm.com has
         | address 170.225.15.26
         | 
         | It's running WUFTPD 2.6.3, which is abandonware as far as I can
         | tell. Though no open vulnerabilities listed.
        
           | stjohnswarts wrote:
           | They probably have this running in a well walled off VM so it
           | doesn't really matter to them for the most part I would guess
           | . A customer will report it if files get corrupted or
           | something looks fishy I suppose.
        
           | bombcar wrote:
           | Nobody at IBM will ever want to be the person to suggest
           | decommissioning a server that might make a paying customer
           | yell at their manager. Expect it to continue forever.
        
             | ArchOversight wrote:
             | That system has probably been migrated a hundred times, and
             | will continue to be!
        
             | skissane wrote:
             | Back in mid-2019, IBM took down their old IBM Library
             | Server mainframe documentation website -
             | http://publibz.boulder.ibm.com/cgi-
             | bin/bookmgr_OS390/library - it was absolutely fascinating,
             | it had documentation on mainframe products going back to
             | the 1990s, and even other random stuff like a bunch of
             | obscure IBM software packages for OS/2. Their new mainframe
             | documentation site only has recent releases on it, it is
             | missing all the old stuff.
             | 
             | So given that example, I doubt this is going to continue
             | forever either. Sooner or later someone is going to say
             | "FTP is a security risk, we need to replace it with SFTP".
             | And then the old FTP site will disappear and be replaced
             | with a new SFTP site with far less content. Or the hardware
             | it is running on will fail and be too old to be replaced.
             | Or someone will complain the OS or FTP server software are
             | out of support and that makes them a security risk. The
             | whole thing is only an audit away from oblivion.
        
               | coolgeek wrote:
               | > it had documentation on mainframe products going back
               | to the 1990s
               | 
               | Holy crap! That's so old that it's when _I_ was
               | programming (in assembler) on a 3090! (First programming
               | job. Early to mid-90s. Moved to *nix. Never looked back)
               | 
               | :)
        
               | pjmlp wrote:
               | Which is why I keep all the PDFs of the RedBooks I care
               | about.
        
               | stjohnswarts wrote:
               | Why would they bother lowering how much content is there?
               | I don't understand people. It's completely orthogonal
               | whether it's on sftp or ftp or https
        
               | [deleted]
        
               | LocalH wrote:
               | So basically we need to archive the Lotus FTP site _now_
               | , before they pull an Intel
        
               | justusthane wrote:
               | It's already archived here!
               | https://archive.org/details/2012_11_24_ftp_lotus_com
        
             | brassattax wrote:
             | If only Google were like IBM we'd still have Reader.
        
               | adwww wrote:
               | And your contacts would be split between 19 different
               | chat applications...
        
             | spockz wrote:
             | This is what metrics are for right? See that nobody is
             | using it, shut it down. Which probably won't happen anymore
             | with all the HN traffic it receives now.
        
               | bombcar wrote:
               | Metrics are hard to justify and use on a "once every five
               | years" type of access. Much simpler to throw the machine
               | you don't know what it does into a VM and leave it alone.
        
             | raverbashing wrote:
             | Unless it would make the paying customer pay more,
             | naturally
        
         | EvanAnderson wrote:
         | It's linked in the post: ftp://ftp.support.lotus.com/pub/
         | 
         | The Internet Archive has a copy too:
         | https://archive.org/details/2008-12-23_ftp.support.lotus.com
        
           | schnable wrote:
           | He mentioned another one as well.
        
             | EvanAnderson wrote:
             | Heh heh. Poor reading skills on my part.
             | 
             | The Cirrus Logic VGA drivers might have come from here: htt
             | p://ftp.mpoli.fi/pub/pub/unpacked/hardware/display/cirrus..
             | .
             | 
             | The HighPrint driver I'm less sure about.
        
               | bostik wrote:
               | Oh wow, Metropoli is still alive? I haven't seen that
               | domain in ages.
               | 
               | I was actually active on the BBS back in the day, years
               | before WWW came on the scene and blew up the internet.
               | Hell, I think my first widely known email address would
               | have been @mpoli.fi one - and, this being in early 1990s,
               | I actually walked over to the owner's house to pay the
               | account creation fee in person.
               | 
               | As far as the tech scene goes, you can probably trace
               | most of the Finnish old guard to that system.
        
               | Darkphibre wrote:
               | Heck, that reminded me of The Well! Looks like they're
               | still going strong. :D
               | 
               | https://people.well.com/conf/inkwell.vue/topics/510/State
               | -of...
        
       | anthk wrote:
       | On the DOS post on Lotus from Taviso, maybe he would like Groff +
       | Mom + a Makefile entr watching for the file changes (and running
       | make) with MuPDF refreshing the content automatically.
       | 
       | Far lighter than LaTeX, and almost as user-friendly as the old
       | word processors.
        
       | ChuckMcM wrote:
       | It takes a certain kind of puzzle curiosity to do this sort of
       | thing. I find I would have re-written Lotus 1-2-3 from scratch
       | rather than do all this but that is just another way of spending
       | one's "cleverness beans" as they used to say.
       | 
       | People with this level of curiosity and puzzle affinity make
       | great security researchers/staff. In their own way older binaries
       | are all puzzle boxes that are holding some number of exploitable
       | vulnerabilities to make them do things that their original
       | developer either didn't intend or didn't foresee. Finding them
       | gives a dopamine hit.
        
         | dj_mc_merlin wrote:
         | Hehe, this is Tavis (from Project Zero), so he might know a bit
         | about security.
         | 
         | Dopamine hits are probably a large determining factor of what
         | kind of programmer you are. Making something from scratch has a
         | longer glow, and a fulfilling crescendo, but nothing compares
         | with the joy of finding the right thing to whisper to a machine
         | to get it to do something it was never meant to. Whether it be
         | displaying DOS interfaces in wide screen or dumping its memory.
         | The pain of looking for the right combination only makes
         | finding it sweeter.
        
       | bombcar wrote:
       | Reminds me of the HP 200LX that came with full version of Lotus
       | 1-2-3 v2.4. Quite a powerful computer to run off of two AA
       | batteries.
       | 
       | https://en.wikipedia.org/wiki/HP_200LX
       | 
       | I still feel there's things it could do that I can't do with my
       | iPhone; and spreadsheets is one of them. (Yes you can get Excel
       | on an iPhone, the interface sucks).
        
         | bowmessage wrote:
         | Seeing that makes me want to go dust off my OpenPandora!
        
         | Klwohu wrote:
         | I still use one of these to store my passwords and run certain
         | ancient astronomy software. Today, we don't have any decent
         | small computers which run of AA's.
        
         | raldi wrote:
         | I had one of these in college! I hooked it up to a serial port
         | and set up Linux to use it as a login terminal, so I could do
         | email in Pine while my girlfriend worked on homework with the
         | actual keyboard/mouse/monitor.
         | 
         | It didn't just have Lotus; it had a dedicated Lotus _key._
        
           | selcuka wrote:
           | Lotus 1-2-3 was _the_ killer application. It was the reason
           | for many people for buying a computer.
        
             | tibbydudeza wrote:
             | A PC was not fully IBM compatible unless it could run Lotus
             | 1-2-3.
        
       | lykr0n wrote:
       | Stuff like this is so cool, and also highlights the importance of
       | archiving the internet.
       | 
       | I've never used Lotus 1-2-3, but this makes me want to try and
       | get it running to try out older software that is brutally
       | efficient.
        
         | technofiend wrote:
         | Lotus 123's slash commands were extremely handy. To the point
         | where Microsoft was forced to copy them when Excel first came
         | out to ease transition of users. There's a ton of older
         | references on the web on how to use them. See
         | https://www.isric.org/sites/default/files/isric_report_1990_...
         | for a reproduction of 123's main menus. The sequences become
         | muscle memory really fast.
        
           | brassattax wrote:
           | Huh. First time I've ever seen "@" referred to as the
           | "monkeytail sign" (pg 15)
        
             | roelschroeven wrote:
             | In English seeing it referred to as "monkeytail" looks
             | weird, but in my native language Dutch it's often referred
             | to as "apenstaart" or "apenstaartje" which means
             | "monkeytail" resp. "little monkeytail". Though more and
             | more often it's referred to as the English "at".
             | 
             | (Which, as I come to notice now, is almost exactly what the
             | Wikipedia article in the sibling comment says)
        
               | [deleted]
        
             | aendruk wrote:
             | Globally it has a variety of often charming
             | interpretations:
             | 
             | https://en.wikipedia.org/wiki/At_sign#Names_in_other_langua
             | g...
        
               | codetrotter wrote:
               | > snabel-a, the Swedish/Danish name (which means 'trunk
               | A', as in 'elephant's trunk')
               | 
               | This one is my favorite but I am biased because I grew up
               | to this name. Always found it a funny name though.
        
               | [deleted]
        
       | homarp wrote:
       | very interesting software archeology!
        
         | guerrilla wrote:
         | Really it does feel like archeology. When does this person get
         | admitted to the department? :)
        
           | homarp wrote:
           | his day job is Project Zero at google so it's a bit like
           | reverse Indiana Jones: hunting for "treasure" at work,
           | archeology as a hobby...
        
       | forgotmypw17 wrote:
       | This is freaking awesome!
       | 
       | I mostly stick to GUI era software, and find Word 97 to be
       | amazing for writing.
       | 
       | I run it inside a VM rather than using Wine.
        
         | unixhero wrote:
         | Word97 has actually run perfectly in Wine since 1998-1999. I
         | tested it back then and it worked perfectly.
        
           | forgotmypw17 wrote:
           | That's good to know. It just feels more "at home" inside a VM
           | I already use for accessibility and compatibility testing
           | anyway (IE3+ for my sites), and it starts up faster than with
           | Wine for me.
        
             | jasonjayr wrote:
             | This is waaaay off topic, but you've piqued my interest --
             | what on earth are you still testing with IE3 for?
        
               | londons_explore wrote:
               | Don't use any site he made... Anything compatible with
               | IE3 is incompatible with modern privacy expectations
               | (doesn't support any vaguely secure variant of HTTPS, and
               | any server which supports old variants can't be protected
               | against downgrade attacks, and therefore cannot protect
               | users privacy)
        
               | moonbug wrote:
               | bro, it's ok not to have Https on all the things.
        
               | forgotmypw17 wrote:
               | i use plain http... just like the homepage in your
               | profile.
        
               | stjohnswarts wrote:
               | Uh it all depends on context like most things.
        
               | bawolff wrote:
               | You can't downgrade a modern browser to ssl 3 (the most
               | recent version supported by IE3) because modern browsers
               | dont support sslv3 (prior to dropping support there were
               | also some fixes for downgrade attacks).
               | 
               | Dont get me wrong, supporting sslv3 is still a terrible
               | idea.
               | 
               | It would be interesting to know though what the most
               | secure possible setup is for servers supporting ie3, both
               | when a modern browser connects and when connecting to
               | ie3, and what the security properties are. I would guess
               | that its at least secure against passive monitoring (e.g.
               | a mass survelience situation), which is a pretty low bar,
               | but also the bar a lot of people care about.
        
               | londons_explore wrote:
               | Is what you say still true if you also want to support
               | IE4, 5, 6, 7, etc? You'd want functionality for all the
               | browsers, and strong privacy for the latest versions of
               | browsers.
               | 
               | I assume if you're supporting ie3 you also want to
               | support every newer version.
        
               | forgotmypw17 wrote:
               | You are correct, I support every known browser, and I
               | test with every browser I can get my hands on.
               | 
               | It doesn't mean every single browser will work, but with
               | each tested browser, the chances of that increase.
               | 
               | I consider all our communications to be monitored, and
               | put accessibility above so-called privacy.
               | 
               | Anyway, I don't believe SSL provides privacy in any
               | reasonable way except against the most basic of
               | attackers.
               | 
               | For text-based websites which only provide information
               | for reading and do not deal in commerce, I think making
               | SSL optional is perfectly reasonable, and our SSL
               | obsession has hurt us tremendously in accessibility,
               | while adding a huge attack layer and obfuscating our own
               | communications from ourselves.
        
               | duskwuff wrote:
               | > I would guess that its at least secure against passive
               | monitoring
               | 
               | It isn't. IE3 used 40-bit encryption by default, which is
               | trivially brute-forceable with modern hardware. Some
               | versions supported 128-bit ciphers, but only through an
               | unusual upgrade process [1] which depended upon "Global
               | Server ID" SSL certificates with special extensions which
               | are no longer issued.
               | 
               | [1]: https://stuff.mit.edu/afs/sipb/machine/anxiety-
               | closet/apache...
               | 
               | Even if it weren't for that, it's no longer possible to
               | issue a certificate that would be recognized by IE3. All
               | newly issued SSL certificates are required to be signed
               | with SHA256, which wasn't even published until 2001. (The
               | final release of IE3 was in 1997.)
        
               | forgotmypw17 wrote:
               | I believe in any browser, and it,s a capable, usable,
               | beautiful browser.
        
               | pbhjpbhj wrote:
               | Do you test on IE for Mac too, not every browser['s
               | rendering] is beautiful to me!
               | 
               | Tbh though, back in the day, I used to love jumping
               | through all the hoops to get the idiot cousins in the
               | browsing world rendering a webpage well.
        
               | forgotmypw17 wrote:
               | IE3 gave me a bit of a challenge because it likes cookies
               | to only be set a certain way, JUST SO.
               | 
               | However, the most adjustment was probably for Mosaic, who
               | treats ">", not "-->" as HTML comment closing, so my
               | JavaScript can't have > characters. For if statements, I
               | flip them, and anytime I need a > character, I get it
               | from the char value. (Almost all my JS is baked into the
               | HTML by the templating engine, because some browsers
               | don't like/support external includes.)
        
               | forgotmypw17 wrote:
               | I don't have an extensive Mac IE testing stable yet, but
               | I have tested in IE5 Mac, which has its own rendering
               | engine called Tasman.
               | 
               | However, with every browser I add support for it becomes
               | more and more likely that another one I try will also
               | work, especially if it came later. Netscape 2.0 works, so
               | that covers a good range.
               | 
               | Pre-Mosaic, I have not done much testing yet, in part
               | because it's difficult to find them.
        
         | kevin_thibedeau wrote:
         | Word 2003 is mostly the same (last version without ribbon) and
         | has an update available to let it read/write OOXML docs.
        
       | jhallenworld wrote:
       | You should try to find SCO Professional.. It was a 1-2-3 clone
       | for UNIX/Xenix that I think used curses or at least termcap. It
       | worked quite well in an SCO Xenix-based office I maintained in
       | the early 90s.
       | 
       | So this was a single 386 machine with a large card that supported
       | multiple hercules graphics card eqivalents as daughter boards.
       | Terminals included a keyboard and monitor connected to this card
       | over RS-485. A single 386 supported four users this way.
       | 
       | Here is an ad for it:
       | 
       | https://books.google.com/books?id=LVCsAZClkfUC&pg=PT453&lpg=...
       | 
       | It ran SCO Professional, Real World Accounting and a custom
       | database. There was no TCP/IP.
       | 
       | This system replaced the previous Radio Shack model 16-based
       | system. That one ran RM/COS and had several serial port
       | terminals.
        
       | aasasd wrote:
       | Patience exhibited by the author is incredible. These days I get
       | angry after maybe an hour or two of running into one issue after
       | another--because I know that their supply is pretty much endless,
       | while victories over unreasonable software begin to feel smaller
       | and rather meh.
        
         | zenexer wrote:
         | He's a fairly accomplished security researcher who seems to
         | have quite a knack for this sort of reverse engineering.[0].
         | I'm always amazed by his patience every time he publishes his
         | research.
         | 
         | [0]: https://en.wikipedia.org/wiki/Tavis_Ormandy
        
           | syoc wrote:
           | "Fairly accomplished" is quite the understatement. I don't
           | know anyone doing better work than Travis and I've not seen
           | anyone saying otherwise either.
        
           | aasasd wrote:
           | Yeah, I'm vaguely familiar with taviso's credentials--but
           | there's security research and then there's digging out
           | symbols to write a display driver for DOS Lotus 1-2-3. I'm
           | saying that as someone who spends inordinate amounts of time
           | trying to get emulators to run old games on my Mac; whacking
           | my config into just the right shape; and using Lua instead of
           | Python because scripts finish faster than Python starts up.
        
       | cseleborg wrote:
       | You had me at 'a boxed copy of the last DOS version released,
       | version 4!'
        
       | tombert wrote:
       | I think there is something kind of fun about purposefully using
       | "outdated" software, and even valuable sometimes, in the same way
       | that it's useful to use a dead language like Latin nowadays; it's
       | not changing so there's sort of a bit of "equality" to it, for
       | want of a better word.
       | 
       | For example, I've actually thought it might make sense for people
       | to release new software on DOS or the Sega Genesis, simply
       | because they're not being updated anymore, and as a result,
       | there's a ton of great emulators for both that can run on pretty
       | much any modern platform under the sun. A Linux program I write
       | might not run under FreeBSD or AmigaOS, but I would bet that I
       | could get basically nearly any SNES game running nearly
       | flawlessly on them with an emulator.
        
         | joubert wrote:
         | > can run on pretty much any modern platform under the sun
         | 
         | Which is why web apps shine. Near-universal reach.
        
           | tombert wrote:
           | Sure but even for web apps, you have to code around the fact
           | the people might have outdated browsers, and even with
           | current browsers you end up having to deal with rendering
           | quirks of each.
           | 
           | When you use a truly "deprecated" platform, you have don't
           | have to worry about that; the Sega Genesis/MegaDrive hasn't
           | been supported in any official capacity for more than 20
           | years, meaning that basically any emulator made in the last
           | decade or so will be "feature complete".
           | 
           | (I know there are a few bits of weirdness with emulating
           | expansion chips for Virtua Racing, but my point overall still
           | stands).
        
           | stjohnswarts wrote:
           | this is about their only redeeming quality to me, ease of
           | maintenance and compatibility. From a design standpoint with
           | all the mix of too many technologies on shabby scaffolding it
           | is annoying. But you know what they say "it works". I have
           | some high hopes for web assembly to reduce some of this. or
           | at least hide it.
        
         | thaumasiotes wrote:
         | > in the same way that it's useful to use a dead language like
         | Latin nowadays; it's not changing so there's sort of a bit of
         | "equality" to it, for want of a better word.
         | 
         | You might think so, but reading scholastic Latin from the 1700s
         | is radically different from reading classical Latin from the
         | -100s. Cicero was writing in his own native language, and he
         | used the wordings that came to him.
         | 
         | Isaac Newton was also, kind of, writing in his own native
         | language. Latin was used only for the purpose of communicating
         | with an audience; it was a channel by which you could encode
         | English and someone else could then decode French.
         | 
         | But what you get by applying a set of rigid encoding rules to
         | early modern English isn't all that similar to what you get by
         | training an infant to speak classical Latin and then letting
         | them express themselves in the way that feels natural to them.
         | Scholastic Latin is _much_ easier for the modern person to read
         | than classical Latin is; it is essentially modern language
         | under a thin disguise.
        
           | not_knuth wrote:
           | That sounds rather plausible and interesting. Does this
           | Wikipedia article [0] cover the topic well or are there some
           | hidden treasures buried by SEO?
           | 
           | [0] https://en.wikipedia.org/wiki/History_of_Latin
        
         | jgtrosh wrote:
         | http://morphcat.de/micromages/ here's a fun example of a great
         | game recently released for the NES
        
         | sjwright wrote:
         | Coding for obsolete platforms is analogous to black-and-white
         | film photography with lenses of fixed focal length. Restriction
         | breeds creativity by denying you access to the full gamut of
         | easy, low effort solutions.
        
         | Tijdreiziger wrote:
         | There are a good number of old devices that still have a devout
         | following. For MS-DOS you might check out e.g. Planet X3 [1].
         | Or how about Super Boss Gaiden [2], a game for a prototype
         | console of which (AFAIK) only one unit is in existence (but you
         | can play the game on an emulator, which apparently exists for
         | this obscure console).
         | 
         | [1] http://www.the8bitguy.com/product/planet-x3-for-ms-dos-
         | compu...
         | 
         | [2] https://playstation.fandom.com/wiki/Super_Boss_Gaiden
        
           | tombert wrote:
           | I knew about Planet X3 but somehow Super Boss Gaiden
           | completely missed my radar. I will be playing this shortly!
        
       | antonzabirko wrote:
       | Wow what an amazing read!
        
       | rmrfrmrf wrote:
       | I'm obsessed with that Siemens HighPrint 7400 manual cover.
        
         | spoonjim wrote:
         | I want her to tie me up and do bad things to me while berating
         | me in a German accent
        
           | unixhero wrote:
           | To be fair... HELL YEAH
        
         | azinman2 wrote:
         | When I was a kid, looking at all the photos in the Macintosh
         | manual of the very 80s office setups made for some serious
         | techno-lust material. It's funny to look back at it all now,
         | but it was often a combination of hardware that'd cost
         | something pike $20k or more in 2021 dollars!
        
       | mixmastamyk wrote:
       | Fascinating, I was a kid but just old enough to remember trying
       | out this kind of DOS software and reading Norton's book as well.
       | 
       | However, I wonder if all this work could contribute to a "modern"
       | terminal floss office suite. There are a number of projects, but
       | they are scattered:
       | 
       | https://unix.stackexchange.com/q/115548
        
         | anthk wrote:
         | - Wordgrinder/groff+mom+jstar as word processors. Well, the
         | second is not a "word processor" as today, but the syntax is
         | dumbed down from groff with the Mom macros to write up
         | something complex without getting mad with the troff/nfroff
         | syntax. And, yes, you can use eqn(1)/pic(1)/tbl(1)/grap(1) and
         | chem(1) on it in the exact same way.
         | 
         | - scm-im + gnuplot with the dumb display for term
        
         | dec0dedab0de wrote:
         | _However, I wonder if all this work could contribute to a
         | "modern" terminal floss office suite._
         | 
         | Lotus is not is not open source. You would need to get IBM to
         | release it as open source, which of course means they would
         | have to have the code stored somewhere. While we're at it we
         | can get microsoft to release the dos versions of works and
         | visual basic, and whoever owns wordperfect to release that.
        
           | throwawayboise wrote:
           | Wordperfect at least existed for Unix platforms so might be
           | somewhat portable to linux. I don't remember Lotus or
           | Microsoft ever being on Unix back in the day. Though Lotus
           | did have Improv on the NeXT so maybe they did...
        
             | eek04_ wrote:
             | From the article:
             | 
             | > Lotus 1-2-3 was ported to a bunch of systems, including
             | OpenVMS, Xenix, and even System/390. In 1991, Lotus
             | released a version for SunOS4 on SPARC.
             | 
             | Word (according to Wikipedia):
             | 
             | > ... were later written for several other platforms
             | including IBM PCs running DOS (1983), Apple Macintosh
             | running the Classic Mac OS (1985), AT&T UNIX PC (1985),
             | Atari ST (1988), OS/2 (1989), Microsoft Windows (1989), SCO
             | Unix (1994), and macOS (2001).
             | 
             | Excel was originally a Mac program, but hasn't been
             | available on any Unix platform since (as far as I can
             | tell.)
        
             | girvo wrote:
             | WordGrinder is probably the only thing I can think of
             | that's open source and in the same spirit.
        
               | anthk wrote:
               | And Wordtsar, but it needs X.
        
       | sneak wrote:
       | This is awesome.
       | 
       | Could a js transpilation of a dos emulator be used to get this to
       | run well in a browser? It would be cool to have a text mode
       | spreadsheet that works in a browser and could be self hosted.
        
         | mmastrac wrote:
         | Probably. archive.org has a wasm build of DOSBox that works
         | reasonably well.
        
       | jasonpeacock wrote:
       | This is beautiful, I love it. So much passion, grit, and skill!
        
       | userbinator wrote:
       | This reminds me I should try to make a bit more progress with
       | trying to write an RDP display driver for Win9x... one of those
       | things I thought of one day but never really got around to doing.
       | (I'm sure there are existing solutions, but writing my own is
       | half the fun --- and I've already written a generic VESA
       | framebuffer.)
       | 
       | I like stuff like this in the same ways as car modding ---
       | teaching an old dog new tricks.
        
         | rasz wrote:
         | >I've already written a generic VESA framebuffer
         | 
         | you mean like this https://bearwindows.zcm.com.au/vbe9x.htm ?
        
           | userbinator wrote:
           | I was actually inspired by that one, but it has some glaring
           | deficiencies (like windowed DOS boxes corrupting the graphics
           | state) that I wanted to fix; but only managed to do so,
           | partially, before other things took priority.
           | 
           | The amount of code needed to get basic unaccelerated graphics
           | working is surprisingly small; most of it has to do with
           | detection and modeswitching. Once you set the mode, all you
           | need to do is give Windows' GDI the appropriate framebuffer
           | and related information (the structures are, not
           | surprisingly, very similar to a BMP file header), and it will
           | do all the rendering. Of course you can also hook into some
           | of the drawing functions for some acceleration, but my
           | testing with a relatively recent GPU and CPU showed that even
           | unaccelerated 2D graphics is plenty fast for essentially
           | everything but gaming. That's partly why I wanted to turn it
           | into RDP --- which AFAIK is similar to GDI, but RPC'd over
           | the network.
        
             | skissane wrote:
             | Any chance you might open source the generic VESA
             | framebuffer you wrote? It would be interesting to read the
             | code.
        
         | mmastrac wrote:
         | Something like this could be useful for DOSBox acceleration to
         | avoid having to go through the emulated SVGA layer. WinBox
         | project?
        
       | retiredalien wrote:
       | This reminds of the
        
       | dwiel wrote:
       | A bit off topic, but what I've wanted forever and never found is
       | a spreadsheet that deals in units natively. So if one cell is in
       | Newtons and I divide it by a cell that is in m/s^2 I want the
       | resulting cell to be in grams. Units should propagate through the
       | sheet automatically. Unit prefixes can either be automatic (km,
       | m, mm, um, etc) or fixed as you would with a format setting.
       | 
       | Google calculator is the closest thing I've seen to this, but it
       | isnt in spreadsheet form.
       | 
       | Anyone know of a system that provides this functionality?
        
         | moonbug wrote:
         | you can do that in mathematica, I think.
        
         | mceoin wrote:
         | Is this for business or personal use? (We're building a
         | spreadsheet product @ Sourcetable.)
        
         | akx wrote:
         | There's always Frink. https://frinklang.org/
        
           | jsmith99 wrote:
           | R also has a units package. It's mostly used by geospatial
           | libraries.
        
             | sidpatil wrote:
             | So does Julia [1].
             | 
             | [1] https://github.com/PainterQubits/Unitful.jl
        
           | bpicolo wrote:
           | Or f# https://docs.microsoft.com/en-
           | us/dotnet/fsharp/language-refe...
        
         | actuallyalys wrote:
         | Not a spreadsheet, but Soulver and NoteCalc allow you to label
         | and reference previous calculations in the same way a
         | spreadsheet does.
        
         | mikepurvis wrote:
         | Interestingly, it seems there's a Sheets add-on which provides
         | at least some of what you want-- unfortunately not with cell
         | metadata, but rather using pairs of adjacent cells for the
         | quantity and units:
         | 
         | https://workspace.google.com/marketplace/app/legendsheet/210...
         | 
         | The dev does a demo here:
         | https://www.youtube.com/watch?v=K6Nvw2q889Q
        
         | LanceH wrote:
         | 1-2-3 would allow you to plot a function on your graphs.
         | Something that I haven't seen since. The solution now is to
         | build a range and values, but that just adds one extra column
         | of data to massage versus having a reference line covering the
         | domain and range of that particular graph.
        
         | pjettter wrote:
         | Interesting! I do this on paper a lot because that's how I
         | learned in college. Thinking of it. It's composing converters.
         | That should be fairly easy to automate!
        
         | leblancfg wrote:
         | Never tried it, but Wolfram has a Mathematica plug-in for
         | Excel.
         | 
         | https://www.wolfram.com/products/applications/excel_link/
        
           | scrumper wrote:
           | I remember Mathematica being a bit weak with units actually.
           | Natively there's no support, you have to rely on add-on
           | packages and I didn't have much success with the popular one.
           | But my experience is from version 8 (a while ago) so it may
           | have improved since.
        
             | friend-monoid wrote:
             | Mathematica 9 and above has had significant improvements in
             | its unit support. I've found it to be really good.
        
         | mhh__ wrote:
         | This is one of the first uses C++ templates had way back in the
         | early 90s IIRC.
        
         | kroltan wrote:
         | Not a spreadsheet, no, (it is more of a freeform worksheet) but
         | SMath Studio is a breeze to work on with units.
         | 
         | It has complete support for units of measurement and comes with
         | most built-in. It can also decompose derived units into simpler
         | forms if it finds a match.
         | 
         | It is free but not open-source.
        
         | schoen wrote:
         | GNU units does this, but is definitely not a spreadsheet or
         | anything like a spreadsheet. It might be possible for a
         | spreadsheet to arrange to call it as a back-end, though.
         | You have: 100 N / (50 m/s^2)       You want:
         | Definition: 2 kg
        
         | codesnik wrote:
         | spreadsheets barely have distinction between strings and
         | numbers. Units would be another level! I hope that at some
         | point something like a strongly typed jupyter notebook tailored
         | specifically for table inputs would arise and replace some
         | current usages of spreadsheets in office/consumer space.
        
           | andylynch wrote:
           | Haven't tried it yet since not on Office 365 but there's a
           | very interesting custom data types feature emerged in Excel
           | just a few months ago https://sfmagazine.com/post-
           | entry/december-2020-excel-add-yo...
        
         | sir_nop wrote:
         | Or a programming language? Or a Python module?
        
           | JNRowe wrote:
           | Beyond simply joining in on the F# love... If you're using
           | Python anyway, then Pint1 makes unit handling really easy.
           | 
           | 1 https://pint.readthedocs.io/en/stable/tutorial.html
        
           | pletnes wrote:
           | In python there's the pint module, which works with pandas
           | dataframes, which can read/write excel sheets. So yeah,
           | maybe. Why do anything in excel, except for data entry?
        
           | paulclinger wrote:
           | Somebody already referenced F# elsewhere in the thread:
           | https://docs.microsoft.com/en-us/dotnet/fsharp/language-
           | refe.... It will apply unit of measure checks as part of
           | their static type checking.
        
         | vq wrote:
         | The only one I know of is org-mode[0]. It defers calculations
         | to calc-mode which handles units.
         | 
         | [0]: https://orgmode.org
        
         | tyingq wrote:
         | There's this: http://www.dimensionengine.com/excel/DEAddIn/
         | 
         | Their description sounds a lot like yours.
        
         | captainmuon wrote:
         | Yes this would have been so useful in my lab courses at
         | university. Bonus points if cells could have errors and it
         | could do error propagation.
         | 
         | I started working on this back then but got frustrated trying
         | to make a grid control and gave up :-)
        
       ___________________________________________________________________
       (page generated 2021-03-03 23:02 UTC)