I highly recommend that anyone interested in improvements to spreadsheets check out Teapot—it has a really cool 3D cell indexing system, a type system, and lots of other features that make it fundamentally much more advanced than Excel in many ways.
I believe that VisiCalc was the first to ship a functional spreadsheet. I remember watching RichHarris’s “Rich Harris - Rethinking reactivity” video introducing Svelte 3, and he discussed an earlier academic spreadsheet concept.
An interesting product! It was shipped by a company (if I remember right) called "Personal Software" or some such. They marketed software they collected from individual developers.
VisiCalc was their one runaway success. So much so, they changed their name to VisiCorp.
I'd also like to point out the spreadsheet functionality of org-mode as a terminal based spreadsheet.
I actually started using org-mode for this feature. I had been using sc-im, but found it limiting, especially the because you cannot pass a range of cells to a custom function. In org-mode this is no problem at all, plus there are many more built in functions.
I used sc back in the day for many light tasks. I had no idea that James Gosling was an author. (Or didn't know who James Gosling was, at the time.) It's great to see that it's being maintained in some form!
Speed. Simplicity. All you want to do is update a single value or insert a row into a spreadsheet? You can probably be done using the terminal application before Excel even finishes opening.
On my computers, I use Excel so rarely--around once a month or so-- and do full reboots so rarely that it always interrupts me as soon as I open it to finish applying an update to office. And of course, since I'm on Windows, Excel has locked the file (usually just a csv, but one with a dozen or more columns, so hard to do with a text editor) so nothing else can open it in the meantime, and I have to wait several minutes for the modal popup to go away before I can finish appending a timestamp to the end of the file.
I'm not a fan of LibreCalc, and I don't know of many other GUI spreadsheet programs for Linux. A terminal-based program is also attractive because it can easily be scripted.
I once had to use sc-im because when I tried to open a ~very~ large file it crashed all the GUI programs I tried.
Terminal programs tend to be faster (particularly on boot time) and have better support for keyboard shortcuts. I haven't tried this project out though...
You’re pretty much guaranteed to own your data forever. You also don’t have to deal with major UI changes where features are rearranged all the time. It’s also pretty VCS-friendly.
Among other things, terminal based programs support flexible remote workflows via ssh and tmux.
Edit: It's slightly off topic, but it might be easier to understand the draw of terminal based interactions in the context of a larger toolchain and workflow. So for example: ssh for remote access, tmux or Emacs for session management and program tiling, ranger or similar for file management, and Emacs or a Vim equivalent for text editing. Mainstream DVCS and build automation tools all provide full functionality via command line. A terminal based spreadsheet program is an obvious fit for such a toolchain.
You can use VNC/RDP to remote into a graphical session. Graphical vs. terminal are both arbitrary binary streams over SSH, the computer doesn't care. There's no advantage to the terminal based one other than maybe less network utilization. I'd resort to that if I were traveling and only had my mobile phone's data as internet.
> You can use VNC/RDP to remote into a graphical session.
I didn't mean to imply that you couldn't. Rather I aimed to provide a broader sense for why someone might find a terminal based spreadsheet program useful.
> There's no advantage to the terminal based one other than maybe less network utilization.
I have to strongly disagree here. My experience with remote graphical environments, even on a wired LAN, has been less than satisfying. I suspect that a large factor for me is the latency; it doesn't take much to make a GUI feel "wrong" to me while a text based interface will just feel slow but not really bother me.
On top of such personal preferences, consider the overhead of running a graphical environment in every container or VM you might happen to make use of.
I first discovered sc by accident: sc was the "fast" abbreviation for "score" on the MUDs I was working on at the time. made for an interesting shock and great find once I realized what it was.
I still use sc sometimes, especially when I want super-easy computations in a very small window without a ton of extra "chrome" getting in my way. it makes layout math very easy and fast.
it made me smile seeing it, and seeing the grey link show up here on HN.
I've been using sc for many years. As others have noted, it's lightweight and fast. Some of it's unusual features are:
1. Each cell can contain both a label and a value, so you don't need an extra column to label numeric values.
2. Cell editing is done using vi keybindings.
3. Files are stored in a very readable, pure text format.
The biggest drawback of sc is there is no undo. If you delete something by mistake, you can't bring it back. This is the biggest reason to choose SC-IM, IMHO.
Unfortunately, the menu commands in SC-IM are not the same as the ones in sc, which is a real problem on a keyboard-based spreadsheet and you have developed sc muscle memory :(. SC-IM's help menu is also hard to read in narrow terminal window, because it uses fixed-width line endings that cause every line to improperly wrap. The fact that sc is included by default in most, if not all, Linux distributions makes it so convenient to install and use I likely won't ever change.
39 comments
[ 3.3 ms ] story [ 109 ms ] threadVisidata https://www.visidata.org/
Oleo https://www.gnu.org/software/oleo/
Teapot https://www.syntax-k.de/projekte/teapot/
https://m.youtube.com/watch?v=AdNJ3fydeao
I used the following “terminal” spreadsheets
VisiCalc on a Radio Shack Model III
Microsoft MultiPlan on MS-DOS
Lotus 1-2-3 on MS-DOS
VisiCalc was their one runaway success. So much so, they changed their name to VisiCorp.
I actually started using org-mode for this feature. I had been using sc-im, but found it limiting, especially the because you cannot pass a range of cells to a custom function. In org-mode this is no problem at all, plus there are many more built in functions.
I’m also curious to know if there’s a reason to use this if you do have access to a gui...
On my computers, I use Excel so rarely--around once a month or so-- and do full reboots so rarely that it always interrupts me as soon as I open it to finish applying an update to office. And of course, since I'm on Windows, Excel has locked the file (usually just a csv, but one with a dozen or more columns, so hard to do with a text editor) so nothing else can open it in the meantime, and I have to wait several minutes for the modal popup to go away before I can finish appending a timestamp to the end of the file.
I once had to use sc-im because when I tried to open a ~very~ large file it crashed all the GUI programs I tried.
I can't speak to the usefulness of either especially since I have no idea what your use case is.
Don't I have that with Excel too, in practice?
I have dozens of Word documents created on Windows in the mid-90s that current Word versions refuse to open.
Excel for Mac keeps subtly adding four years to every date field if the file was originally created in Excel for Windows.
Edit: It's slightly off topic, but it might be easier to understand the draw of terminal based interactions in the context of a larger toolchain and workflow. So for example: ssh for remote access, tmux or Emacs for session management and program tiling, ranger or similar for file management, and Emacs or a Vim equivalent for text editing. Mainstream DVCS and build automation tools all provide full functionality via command line. A terminal based spreadsheet program is an obvious fit for such a toolchain.
I didn't mean to imply that you couldn't. Rather I aimed to provide a broader sense for why someone might find a terminal based spreadsheet program useful.
> There's no advantage to the terminal based one other than maybe less network utilization.
I have to strongly disagree here. My experience with remote graphical environments, even on a wired LAN, has been less than satisfying. I suspect that a large factor for me is the latency; it doesn't take much to make a GUI feel "wrong" to me while a text based interface will just feel slow but not really bother me.
On top of such personal preferences, consider the overhead of running a graphical environment in every container or VM you might happen to make use of.
I still use sc sometimes, especially when I want super-easy computations in a very small window without a ton of extra "chrome" getting in my way. it makes layout math very easy and fast.
it made me smile seeing it, and seeing the grey link show up here on HN.
As it is, I have to slipstream DOS box, and run as-easy-as... royal pain. Best reason to run linux ever. ( besides the nifty tee shirts )
http://cowlark.com/wordgrinder/
There was a time where terminal spreadsheets was the regular way to work with spreadsheets.
Did some awesome things with Visicalc and Wordperfect back in the 80s.
I'm seeing more and more of what I feel are bloated and unnecessary build systems, ninja, cmake, etc.
https://www.visidata.org/
1. Each cell can contain both a label and a value, so you don't need an extra column to label numeric values.
2. Cell editing is done using vi keybindings.
3. Files are stored in a very readable, pure text format.
The biggest drawback of sc is there is no undo. If you delete something by mistake, you can't bring it back. This is the biggest reason to choose SC-IM, IMHO.
Unfortunately, the menu commands in SC-IM are not the same as the ones in sc, which is a real problem on a keyboard-based spreadsheet and you have developed sc muscle memory :(. SC-IM's help menu is also hard to read in narrow terminal window, because it uses fixed-width line endings that cause every line to improperly wrap. The fact that sc is included by default in most, if not all, Linux distributions makes it so convenient to install and use I likely won't ever change.