MtCellEdit – Lightweight Spreadsheet Program

(marktyler.org)

146 points | by Mr_Minderbinder 2 days ago ago

58 comments

  • mcejp a day ago ago

    > Over the years I have been frustrated by binary and XML formats that make data only accessible via a single program (or by me wasting time manually converting each file, or by me writing a file format conversion program).

    For me, the frustration is version control. Native spreadsheet formats (xlsx/ods) are binary, so un-diffable. Plaintext formats like CSV/TSV play nice with Git, but come at a high cost in ergonomics: there is no way to preserve formatting such as column widths and formulas are usually discarded on save. Moreover, Excel/Calc don't really like it when you overwrite an open file from another program.

    MtCellEdit seems to be a step in the right direction, but still leaves a good part of the itch unscratched.

    • a day ago ago
      [deleted]
  • ravetcofx a day ago ago

    For something even more lightweight with GUI, Nebu, written in uxntal https://wiki.xxiivv.com/site/nebu.html

    • flarzzarp a day ago ago

      That entire website is a deep, deep rabbit hole and I absolutely love it. Thanks for sharing!

      • sach1 11 hours ago ago

        Pun intended?

  • cartesius13 a day ago ago

    Great tool, good job to the author. I am looking for something almost exactly like this. Lightweight GUI app for viewing tabular data. There's only one critical thing missing for this to be perfect for my desired workflow and that is automatically reloading on external file changes. Currently I use Visidata for the purposes of viewing the output of sqlite.

    I write an SQL (or mainly PRQL these days) query on a text editor on a file which is being watched by entr which runs the query on a sqlite database which outputs a csv file which is then read by visidata and there I look at the data, do some basic manipulations. That my very simple, completely unix-style data exploration pipeline. What I miss a bit from Visidata is a bit more mouse control. I mainly want to select a range of cells to copy and paste somewhere else, which this does. But unfortunately this doesn't reload the file on change automatically.

    Anyone has any recommendations for a data tool that would fit the workflow I described?

  • bkyan a day ago ago

    Is there an opportunity to bring something like this online using wasm?

  • soheilpro a day ago ago

    Is there anything similar for macOS?

    • cyberge99 a day ago ago

      This would be a killer app and one I would gladly pay for.

  • bloopernova 2 days ago ago
  • igtztorrero 2 days ago ago

    "I created from scratch" love these words...

    18 years of creativity, awesome.

  • steanne a day ago ago

    of mtpaint fame? i use that all the time.

    • Mr_Minderbinder a day ago ago

      Yes, it is by the same developer. I use mtPaint as my main graphics editor as well, I have not needed anything bigger yet.

  • Narishma a day ago ago

    The misaligned menu bar text in the screenshots is triggering me.

  • jsdwarf 2 days ago ago

    What does MtCellEdit set apart from the standard spreadsheet program apart from its lightweightness? Any special features?

    • krudnicki 2 days ago ago

      Probably using CSV data format which is great. Can be used for example in Obsidian.

      • layer8 a day ago ago

        TSV, actually.

        • pmarreck a day ago ago

          TSV always struck me as making a lot more sense than CSV. No need to worry about escaping quotes and commas and etc... Just disallow tabs in the data (which shouldn't be necessary anyway) and done.

          • jordigh a day ago ago

            Good news, ASCII has always had record and group separator characters that for some reason we have all forgotten they exist and nobody would ever use in non-binary data:

            https://en.wikipedia.org/wiki/C0_and_C1_control_codes#Field_...

            • pmarreck 10 hours ago ago

              hah, I was actually aware of this, ironically because I side-projected an encoding/decoding that "visibled" normally unprintable ASCII characters into printable UTF-8

              https://github.com/pmarreck/elixir-snippets/blob/master/prin...

              Maybe we should bring field and record separators back and call it "ascii-separated values" (ASV) lol (because, you know... "as originally envisioned by the makers of ASCII")

              The only caveat is the lack of visible printability of those (hence that project up there). It would be neat if (by default) the field separator ASCII character looked similar to a tab (maybe with some distinguishing detail such as a dotted underline) and the record separator ASCII character looked similar to a newline (again, with some extra visible difference, but also including the visible linefeed)

              There's probably a font feature that lets you do this

              The final issue with it is how in the world would we type those characters?

          • lencastre 21 hours ago ago

            CSV stopped making sense really fast when commas are needed for thousands’ grouping of numbers or decimals, and what the heck, I even name all my scripts with a starting comma (read that somewhere as a short productivity burst). Anyhow, all my text file shenanigans are tabbed, the infamous \t then needs to be correctly parsed in all scripts which is a hell lot easier.

    • kemayo 2 days ago ago

      By the look of it, I think the answer has to be "no, and that's that point".

    • 2 days ago ago
      [deleted]
  • pmarreck a day ago ago

    For any csv commandline commandos out there, I recently discovered frawk https://github.com/ezrosent/frawk which is like awk but natively understands csv and is rewritten in Rust for quite the speed improvement

    • anthk 19 hours ago ago

      >the speed

      Check mawk and awka.

      • pmarreck 10 hours ago ago

        frawk is apparently faster than those, but yeah I did see those too

        awk is a quite amazing DSL for what it does

  • pdyc a day ago ago

    shameless plug, if you want to view csv with charts you can also give my free viewer a try https://newbeelearn.com/tools/csvonline

    • leeoniya a day ago ago

      is it OSS?

      what do you use for parsing?

      • pdyc a day ago ago

        no. I am using papaparse, i am a fan of your tiny libs.

    • a day ago ago
      [deleted]
  • mharig 2 days ago ago

    For the non-GUI guys there is visidata.

    https://www.visidata.org/

    • wodenokoto 2 days ago ago

      That is not even close to being a spreadsheet.

      • mtndew4brkfst 2 days ago ago

        The docs at https://www.visidata.org/docs/ seem to contain any trivially remembered functionality for what I think of from a spreadsheet tool. I'm not a power user and couldn't describe how to use pivot tables, for example. Are there low-hanging features you miss from that page?

        I agree that this is not going to satisfy something like 80-90% of people who just wanted Excel because a TUI is a nonstarter. I do think calling it "not even close" is unfair if we were strictly talking about functionality.

        • Someone 2 days ago ago

          > Are there low-hanging features you miss from that page?

          It doesn’t mention ‘formula’, and that is something that the original had in 1979 (http://www.bricklin.com/history/vcexecutable.htm)

        • kristopolous 2 days ago ago

          This looks more like a database interface and less like a tabular calculator.

          Supposedly part of excels good design is it was always agnostic as to whether you're using it as a spreadsheet, poor man's database, or pretty table maker.

    • anthk a day ago ago

      sc-im it's a true spreadsheet and with gnuplot you can do plots and charts.

  • Gys 2 days ago ago

    A little off topic but I am looking for a lightweight word processor program. For MacOS. One that can edit docx documents with some minimal features. Most word processors like LibreOffice are very bloated.

    • diegof79 2 days ago ago

      You should try Pages. The Apple office apps -Pages, Numbers, and Keynote- are often overlooked, but they can edit simple docx, xlsx, and pptx files.

      For example, Pages can also serve as a basic desktop publishing software as it supports page layouts with text box flow, and Numbers has the best spreadsheet UI that I’ve used (why any other spreadsheet software doesn’t allow to handle “floating” spreadsheets as Numbers? Once you use it is so evident and natural).

      • nextos a day ago ago

        I second the Pages recommendation. Keynote is fantastic and Pages has much better typographic functionality than Word.

        I can immediately tell whether a document was produced using Word, or LibreOffice, because of poor ligatures and spacing.

        I think Numbers falls short of Excel, which is probably one of the best products Microsoft ever created.

        If you don't mind dealing with slightly antique UIs, both LyX and TeXmacs are WYSIWYG and can produce outstanding documents with little effort.

      • Gys 2 days ago ago

        > but they can edit simple docx, xlsx, and pptx files.

        No, open yes (taking some time to do conversions) but not save, only export.

    • tgv 2 days ago ago

      I'm partial to Mellel. It's pretty snappy. It has a different approach to styles, though, which gives it a bit of a learning curve, but it feels very direct.

      https://www.mellel.com/

    • Brajeshwar 2 days ago ago

      Have you tried Pages that come free with macOS? I find it to be pretty capable.

    • pcl 2 days ago ago

      How do you measure weight? Apple’s Pages app works on macOS, can edit docx files, and has some minimal features.

      • Gys 2 days ago ago

        I now use an application called WordTime and it opens instantly. Unfortunately is seems no longer supported and it has some quirks.

        Pages is really very slow in comparison to open files. Also Pages can also export to docx, not save. Another hurdle in working with docx files.

    • phonon 2 days ago ago

      You can try WPS Office....

    • 2 days ago ago
      [deleted]
  • krudnicki 2 days ago ago

    [flagged]

    • 2 days ago ago
      [deleted]
  • nnurmanov 2 days ago ago

    How does it store data? Is it some nosql database that stores cells?

    • andrea76 2 days ago ago

      It's written in the website. Read the 3rd paragraph for all information you need.

    • zie 2 days ago ago

      Seriously go read the link and answer your own question. It's literally there on the linked page.

      I mean if the linked page didn't include the information, sure asking is fine.

      • pheatherlite 2 days ago ago

        See the comment below yours answered in fewer words and provided more information. Berating people to read something is just noise. Improve the SNR

        • layer8 a day ago ago

          You’re not improving the SNR. ;)

        • tuwtuwtuwtuw a day ago ago

          No. People asking about things which are answered by the linked page is noise and a waste of time - both for the person asking it and for the people reading the thread.