Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Lotus 1-2-3 arbitrary resolution (cmpxchg8b.com)
520 points by diffuse_l on March 2, 2021 | hide | past | favorite | 123 comments


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.


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.


Huh. First time I've ever seen "@" referred to as the "monkeytail sign" (pg 15)


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)


Globally it has a variety of often charming interpretations:

https://en.wikipedia.org/wiki/At_sign#Names_in_other_languag...


> 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.


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.


> 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.


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


http://morphcat.de/micromages/ here's a fun example of a great game recently released for the NES


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


I knew about Planet X3 but somehow Super Boss Gaiden completely missed my radar. I will be playing this shortly!


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.


> can run on pretty much any modern platform under the sun

Which is why web apps shine. Near-universal reach.


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).


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.


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).


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.


Lotus 1-2-3 was the killer application. It was the reason for many people for buying a computer.


A PC was not fully IBM compatible unless it could run Lotus 1-2-3.


Basically, if it could run the IBM PC versions of Lotus and Flight Simulator, it was deemed "100% IBM compatible".


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.


Seeing that makes me want to go dust off my OpenPandora!


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.


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


"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.


Indeed, it is. I didn’t want to sound like a fanboy, but damn, his work is amazing. I don’t know how he has the patience and dedication for half the work he does. And that’s not even to mention the quality of his write-ups.


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.


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


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.


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...


WordPerfect ran natively on x86 xNix.

I installed the SCO Xenix 386 version for several customers. This was a port of the text-mode codebase, roughly equivalent to WordPerfect 5 for DOS. (Generally regarded by WP cognoscenti as the best version: either 4.2 or 5.1 depending who you ask.) WordPerfect's legendarily rich printer support really came into its own for Xenix, which was poor on printer support.

WordPerfect for Linux made it to version 8, and was bundled with Corel LinuxOS, the first desktop distro to boast a graphical display-settings dialog, for instance. It was based on Debian with a heavily-modified version of KDE to make it more Windows-like.

There were free versions of Corel LinuxOS which have a free and slightly cut-down version of WordPerfect, and a paid version with a full unlimited WordPerfect. I own a boxed copy.

I have WordPerfect 8.1 running on Ubuntu 20.04 64-bit. There is no antialiasing, so it looks rather ugly, but it's blazingly fast.

It used to be a major pain to install, but there are new scripts as of last year to simplify it: http://www.xwp8users.com/

I am not aware of a native text-mode version of WordPerfect for Linux, but WordPerfect 6 for DOS (the final DOS version) runs very well under DOSemu.


WordGrinder is probably the only thing I can think of that’s open source and in the same spirit.


And Wordtsar, but it needs X.


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.)


And Mac wasn't a Unix back then.


- 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


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.


PC-MOS/386 is FOSS now, but nobody seems to be interested.

https://github.com/roelandjansen/pcmos386v501

TBH it was a 2nd string product in its prime, IME. DR's Concurrent DOS/386 was the premium offering. I supported it in the late 1980s.

This was around the time that a LAN of cheap PC-XT clones was becoming price-competitive with a big high-power 80386DX machine with lots of RAM and a bunch of dumb terminals on a multiport serial card.

The terminal vendors and multiuser OS vendors fought back with colour terminals and then graphical terminals. CDOS386 supported these. The basic PC design supported 4 RS-232 ports, so you could have an 8MB 386DX with one user on the system console and four users on dumb terminals, all of them able to run even quite demanding DOS apps including fancy stuff like graphical print-preview or a spreadsheet that could draw graphs.

The snag was that CDOS386 was not a DOS; it was a descendant of Concurrent CP/M. It ran DOS apps but could not use DOS drivers – it needed its own. So adding hardware was not a trivial exercise. Kit had to be chosen from short hardware compatibility list (and was therefore expensive) and drivers supplied as object files relinked with the kernel. It was not as simple as modifying CONFIG.SYS and rebooting – PC/MS-DOS sysadmin skills did not transfer over.

And it couldn't usefully run Windows. So as soon as Windows 3 came out in 1990 and the market started to move to Windows and Windows apps, that was largely it for Concurrent DOS, PC-MOS etc.

When DR was bought out by Novell, several forks of the codebase were continued for a while by OEM licencees, and it gained support for FAT32, USB and so on.

A branch of the CDOS codebase is still just about alive though. DR did a 286 version, but were screwed over by Intel. CDOS286 used a feature of prototype 80286 chips to multitask DOS apps, but this was removed in the final shipping CPU hardware. (Intel did not know and put it back but it was too late.)

DR just took the OS in a different direction and sold it as a multitasking real-time OS instead, downplaying DOS compatibility. It bundled a multitasking version of its GEM desktop, too, so it was a multitasking GUI RTOS, called DR-FlexOS.

This found a niche in electronic point-of-sale systems: EPOS, i.e. smart cash registers built around x86 PCs. It was later acquired by IBM who rebranded it as IBM 4680 OS, later IBM 4690 OS. (What a knack for snappy names Big Blue has!)

IBM discontinued it just a few years ago, but it is still sold by Toshiba.


Hercules. Now there's a name I've not heard in a long, long time.


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.


>I've already written a generic VESA framebuffer

you mean like this https://bearwindows.zcm.com.au/vbe9x.htm ?


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.


Any chance you might open source the generic VESA framebuffer you wrote? It would be interesting to read the code.


Something like this could be useful for DOSBox acceleration to avoid having to go through the emulated SVGA layer. WinBox project?


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.


Word97 has actually run perfectly in Wine since 1998-1999. I tested it back then and it worked perfectly.


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.


This is waaaay off topic, but you've piqued my interest -- what on earth are you still testing with IE3 for?


I believe in any browser, and it,s a capable, usable, beautiful browser.


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.


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.)


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.


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)


bro, it's ok not to have Https on all the things.


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.


> 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.)


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.


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.


Uh it all depends on context like most things.


i use plain http... just like the homepage in your profile.


Word 2003 is mostly the same (last version without ribbon) and has an update available to let it read/write OOXML docs.


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?


"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.


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.


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.


So basically we need to archive the Lotus FTP site now, before they pull an Intel



> 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)

:)


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


Which is why I keep all the PDFs of the RedBooks I care about.


That system has probably been migrated a hundred times, and will continue to be!


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.


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.


Unless it would make the paying customer pay more, naturally


If only Google were like IBM we'd still have Reader.


And your contacts would be split between 19 different chat applications...


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.


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


He mentioned another one as well.


Heh heh. Poor reading skills on my part.

The Cirrus Logic VGA drivers might have come from here: http://ftp.mpoli.fi/pub/pub/unpacked/hardware/display/cirrus...

The HighPrint driver I'm less sure about.


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.


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...


This is beautiful, I love it. So much passion, grit, and skill!


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.


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.


very interesting software archeology!


Really it does feel like archeology. When does this person get admitted to the department? :)


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...


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.


You had me at 'a boxed copy of the last DOS version released, version 4!'


People might also be interested in sc (spreadsheet calculator): https://en.wikipedia.org/wiki/Sc_(spreadsheet_calculator)


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.


Probably. archive.org has a wasm build of DOSBox that works reasonably well.


Wow what an amazing read!


I'm obsessed with that Siemens HighPrint 7400 manual cover.


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!


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?


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


The only one I know of is org-mode[0]. It defers calculations to calc-mode which handles units.

[0]: https://orgmode.org


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 :-)


There's always Frink. https://frinklang.org/



R also has a units package. It's mostly used by geospatial libraries.



Never tried it, but Wolfram has a Mathematica plug-in for Excel.

https://www.wolfram.com/products/applications/excel_link/


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.


Mathematica 9 and above has had significant improvements in its unit support. I’ve found it to be really good.


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.


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...


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


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.


There's this: http://www.dimensionengine.com/excel/DEAddIn/

Their description sounds a lot like yours.


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!


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.


Not a spreadsheet, but Soulver and NoteCalc allow you to label and reference previous calculations in the same way a spreadsheet does.


Is this for business or personal use? (We're building a spreadsheet product @ Sourcetable.)


This is one of the first uses C++ templates had way back in the early 90s IIRC.


Or a programming language? Or a Python module?


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.


Beyond simply joining in on the F# love... If you're using Python anyway, then Pint¹ makes unit handling really easy.

¹ https://pint.readthedocs.io/en/stable/tutorial.html


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?


you can do that in mathematica, I think.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: