This is the = command that adds a new column based on a Python expression you provide. You can reference the cells in the current row based on the column name.
It is also possible to create a column based on the output of a shell command.
VisiData is row based, not cell based, so you cannot create expressions that reference data across rows.
I am seeing this issue on a Mac with ghostty but not with wezterm, from the same binary. Ghostty shows some correct characters and some diamond-question marks, and a line usually contains one or the other. The ghostty inspector shows the diamonds are not the blocks.
Thank you for doing this, this is fun. Also, I love all the nostalgic comments.
I'm surprised no one has mentioned Robert Tinney the artist who illustrated many of the covers. His work is pretty amazing, and seemed to capture all sorts of interesting ideas.
I met him once at a computer show. I was in too much in awe that I didn't really talk with him, but was able to give him some praise for his artwork. Also, I bought one of the t-shirts with his artwork.
One my favorite tools is Visidata (https://www.visidata.org/). It is great for viewing and working with data in the terminal. It is useful if you need to quickly explore data and change some data.
VisiData makes it possible to view a lot of data such as CSV, JSON, databases, etc. All the supported formats are listed in https://www.visidata.org/docs/formats/
One of my favorite tools. However, I don’t think that Visidata is a spreadsheet, even though it looks like one and is named after one. It is more spreadsheet adjacent. It is focused on row-based and column-based operations. It doesn’t support arbitrary inter-cell operation(s), like you get in Excel-like spreadsheets. It is great for “Tidy Data’, where each row represents a coherent set of information about an object or observation. This is very much like Awk, or other pipeline tools which are also line/row oriented.
This works great with terminals that can handle ligatures. I've used it with Kitty and recently tried it with Ghostty. The author shows several different examples using the fonts to make groups of 3 digits within larger numbers easier to read by adding underlines, grouping numbers closer, bolding numbers, and adding virtual commas. I say the commas are virtual since they are only visible by the font rendering, if you were to copy and paste the numbers the commas would not be included.
The author provides a font patching tool, however mentions that it does not preserve existing ligatures.
This font can be useful when looking at large numbers. I've used it with successfully with Visidata in sheets with large numbers.
If you are interested in this subject, Carl Zimmer wrote a great book that has all sorts of examples of parasites that control their host: "Parasite Rex: Inside the Bizarre World of Nature's Most Dangerous Creatures"
Atul Gawande is a surgeon by training and an exceptional writer. He has authored several other wonderful books, known for his ability to explain complex topics in an accessible way. His website (http://atulgawande.com) features his books, articles, and papers along with information about his other endeavors.
There was a lot of effort to add many more help guides that provide context-sensitive help where you need it. The main complaint I’ve read from people is that VisiData is too complex. The last few releases have attempted to address these concerns with the guides, the command palette, and the menu system. I think these all provide help when it is needed.
Though I think it is possible to get a lot done with VisiData only knowing a handful of commands/operations.
You can find reviews of hundreds of CLI And TUI programs, some great, others barely known and clearly forgotten. The last review is from 2015. Some reviews are very short, others are more involved.
The site is a blog with a tagline "Adventures with lightweight and minimalist software for Linux". The author K.Mandla is opinionated and has certain preferences for such programs like [1].
I have not looked at the site in years, but if you are willing to explore, this could be a fun option to find a variety of these tools.
I don't think this would work as a lesspipe.sh viewer, since it is interactive.
I have wanted this for VisiData for data files. You would need a wrapper around less that could start other programs instead of less.
You might be interested in Tidy Viewer with lesspipe.sh
This fx rewrite is very exciting. I'll have to try it. I thought of fx as a wrapper around jq, that allowed quick iteration over building jq scripts. Sort of an Ultimate Plumber [1] but only for jq. It looks like it is now more like a JavaScript processor plus an interactive viewer.
Someone mention Visidata[2]? VisiData is also a TUI that is great on tabular data, and it can work with json. If your JSON is mostly tabular in nature, Visidata does a great job at showing that data and allowing you to explore it. A lot of json I deal with is tabular-like data. There is a great tutorial [3], that can help you get your bearings with Visidata. Once you understand those basics you might want to look at this thread [4] for what commands you can use with json.
I also find VisiData is useful for adhoc exploring of JSON data. You can also use it to explore multiple other formats. I find it really helpful, plus it gives that little burst of adrenaline from its responsive TUI, similar to fx and jless mentioned.
For my toolbox I include jq, gron, miller, VisiData, in addition to classics like sed, awk, and perl.
I would be interested to see what an LLM could make out of this archive. How it might categorize the threads or how it might help make sense of it. Vikram's manual curation is the useful part. In the podcast, he mentions he would like to see what could be done with an AI and the archive.
Actually the Vikram said he had initially added a search feature and it didn't appear to be very useful. He says:
search is an awful way to curate text when your readers don't know what is interesting about it. This is obvious in retrospect, but it didn't occur to me until I showed what I built to folks.
The e-mail archive of one Atari Engineer, Jed Margolin, who worked in the CoinOp division of Atari. Jed was a hardware engineer at Atari from 1979 to 1992, and these messages comprise his inbox while he was at Atari.
With permission, the owner of this site, Vikram Oberoi, curates the archive, including pointing at interesting threads. There was no threading in the VAX email system they used, Vikam links together the threads.
Neither Jobs or Wozniak are mentioned, they left before these threads. But there are interesting topics like layoffs, piracy, residuals, pop culture, babies, etc.
(Those babies should be into their 30s now. Wonder if any are reading here.)
The VisiData developers created a fun multi-part data wrangling puzzle last year called the Hanukkah of Data [1].
It is not specific to any tool, so you can use command line tools,
the TUI data explorer VisiData[2] or whatever data tools you want to solve the puzzle in your terminal.
It is also possible to create a column based on the output of a shell command.
VisiData is row based, not cell based, so you cannot create expressions that reference data across rows.