Tag Archives: spreadsheet

x_x: The Dead Guy CLI

With barely a week left for this site, I’m beginning to trim away programs that I just probably won’t get to, by virtue of time or technical dilemmas. I’m also making a conscious effort to pick out titles that amuse me in one form or another, so I finish with happy memories. πŸ˜›

x_x, which I mentally refer to as “the Dead Guy CLI,” because the home page uses that as a subtitle, is a rather nifty tool that I’m surprised I haven’t seen covered elsewhere. Using a bland, dull, boring Excel spreadsheet borrowed from a corner of the Interweb, Dead Guy CLI transmogrifies it into this:


Well isn’t that clever.

Dead Guy CLI gives you a small measure of control over your output, by allowing you to specify a header row or allow for special encoding. It also works with CSV files, so you’re not strapped trying to convert back and forth to Excel, just to fiddle with x_x.

Aside from that though, Dead Guy CLI seems very simple. Of course, your spreadsheet may need some management if you expect it to fit into a certain dimension, but I am confident that as a skilled and capable member of the information age, you won’t throw a wobbly over a pear-shaped spreadsheet.

Keep x_x in mind when you’re thinking about things like csv2xls or xlhtml, since it may save you a step or prevent you from relying on graphical tools just to extract data from a spreadsheet. And of course, if you’re working with csv files, x_x could supplement what tabview or other tools can do.

For my own recordkeeping, Dead Guy CLI gets points for doing something obvious that I don’t recall seeing elsewhere. And also for the snarky name. I’m a fan of snarky names. 😈

scim: Bringing spreadsheets back to the present

After last week’s rash of gold-star software, I was afraid I’d get through this week without seeing anything worth gilding.


Uh-oh. That’s got potential. πŸ™‚

AndrΓ©s M. left a note a few days ago about scim, and shuf brought it up this morning. scim builds on the ancient sc spreadsheet calculator, and adds a lot — I mean a lot — of things that the old spreadsheet either didn’t approach or just weren’t conventions at the time it was built.

For example, scim can undo. 😯 And now … a pause for effect.

If I said “Hallelujah” to that, I wouldn’t be overreacting. I’ve been working with sc for years and never found a proper undo command. In fact, I’ve learned to work with sc in such a fashion that I can backtrack through mistakes or errors without an undo feature. (It takes a lot of cutting and pasting, basically.)

So that feature is reason enough to embrace scim — without even looking at things like hiding rows and columns, sorting data, a redo feature (or undo your undo), date formatting, key remapping, command multiplying, autorecalculation (or, to be more specific, the option to turn off autorecalculation), regex search-and-replace and a whole lot more.

And it’s got color! :mrgreen:

scim takes its cue from The Vim Way of Doing Things, meaning a command mode and an edit mode, with commands usually taking a colon as a prefix. Get to the help pages, for example, with :help. One-key commands are simple mnemonics.

Perhaps best of all — or perhaps more important of all — is scim’s ability to import and export to other formats, and still preserve its compatibility with the spreadsheet of the 80s. In the past if I wanted to move from sc’s exported format to something more conventional, like a Google spreadsheet, there was a hefty amount of text editing and search-and-replacing needed. Hopefully not now.

scim seems to take up all the slack and build up all the features that were missing from its progenitor, and fill in the gaps between 1988 and 2015. I don’t see this in AUR or Debian, but it’s hard to tell with all the references to the old scim input platform in both distros.

In fact, I daresay that might be the only weak point for scim: It’s going to get lost with that name.

No matter; I’d prefer to think that the people who really want a text-only spreadsheet — a very good text-only spreadsheet, in fact — will find it in the mix.

So here we are, with a well-deserved gold star, not just for fulfilling all the points I generally look for in a top-notch text-only application, but for bringing console-based spreadsheets back to the present: ⭐ Enjoy! πŸ˜€

slsc: Resurrected at long last

If you didn’t see John’s note from a day or two ago, you might have missed an important bit of news:


slsc has been updated to run with the newest slang libraries, which makes it very much a usable program again. O frabjous day! πŸ™‚

I’m quite excited by that, because it means (by my informal estimations) that the total number of functional text-only spreadsheet programs has increased by one. This represents an uptick on the graph. An upswing in the market. This pleases me.

And if sc was never to your liking, slsc might be a much more appealing title. Customizable color. Customizable navigation. Menu-driven. Onboard help. Compatibility (for the most part, in my preliminary checks) with sc-format files. And best of all, light as a feather and quick as a rabbit.

To the best of my knowledge, slsc fell out of Debian-based distros as far back as 2007 or 2008, since the man pages for Dapper held slsc, but those after didn’t. AUR probably had slsc in it around the same time, but I’m sure someone weeded it out in the years that followed. Maybe it can make its way back into those distros now.

Five years ago I said “old programs don’t die, they just patiently await reincarnation.” See, you knew I wouldn’t lie to you. πŸ˜‰

mange: The program with a delicate name

Every time I find a csv tool of some sort, I end up wishing I had more chances to work with csv files. The first program for today is a great example, even if I have to be careful how I phrase these next few sentences. This is mange:

2014-09-21-6m47421-mange-01 2014-09-21-6m47421-mange-02 2014-09-21-6m47421-mange-03

Before I am hounded by rabid animal rights activists, just let me say I didn’t pick the name. I can’t find any sort of explanation as to why “mange” is the title, unless there are non-English and non-other-languages-I-speak references. If you know, let me in on the secret.

And I’d like to know, because mange is a pretty good program. I don’t come across many csv editors — viewers, yes, and utilities, yes. Even spreadsheets for the console. But now that I think of it, not many editors. Finding mange is a lucky event.

mange works in a straightforward fashion — arrow keys to navigate cells, enter to edit them. mange will stick to an editor mode and fall cell by cell as you edit, which makes data entry much easier.

mange also has the sense enough to display and keep a header row, as you can see in the images above. And it seems to handle terminal width and four-way scrolling without too much effort.

I did see a couple of screen corruption problems, usually when editing a long field on a wide spreadsheet that was pressed up against the rightmost edge. I have a feeling there might be a small tweak to get the screen to refresh properly after editing a cell that stretches over the screen width.

mange has a couple of features I didn’t get to, just because they’re tied to the statistical package r, and the time it would take me to learn to work them together would delay this post until about Thursday. So take it on faith that mange can feed data into r, and generate plots and graphs.

Your best bet for getting started with mange is the man page, where most of the controls and the editing-command-navigation modes are explained. It won’t take long.

I’m sad to see that the last update to mange was around three years ago, which makes me wonder if the list of coming attractions in the README file is ever going to materialize. I guess that remains to be seen. :\

csv2xls: Back to the harmless and mundane

After yesterday’s foray into the dark and sinister worlds of password cracking and torrent searching πŸ™„ , today we’ll play the innocent and take a glance at csv2xls.

2014-08-09-6m47421-csv2xls-01 2014-08-09-l3-b7175-csv2xls-02

What could be more upright and resepectable than converting a plain old csv-formatted address list into an Excel spreadsheet? And I mean that with all seriousness. 😐

As you can see above, csv2xls did a precise job of converting my database into a spreadsheet, accessible by LibreOffice and likely Excel too … but I don’t own a copy of that, so I can’t be 100 percent sure. πŸ˜‰

I’m tempted to stop there and say, “Yup, it works. Let’s move on.” But I see a couple of options in the man page that might be worth pursuing.

For one thing, my spreadsheet was only 100 names long. That’s no monster, and I doubt that csv2xls worked very hard to convert it. By default csv2xls will dump one csv file into one xls file, but the -l option will break it off after a certain number of lines. Successive entries are put into numbered files, ad infinitum, ad astra.

I can see the usefulness in that, but I can’t actually see a case where I personally would need it. Unless I churn out a 1000-line csv file and break it apart by hundreds, just to amuse you. O_o

One other curious and related note: If your csv file has a header line, csv2xls will keep that header across line-split files if you use the -H flag. So you needn’t worry that your grade sheet or customer invoice will lose its header row across files.

And I suppose I should mention that the default delimiter for csv2xls is … a semicolon. πŸ˜• Remember to use the -d flag if your comma-separated values are actually (gasp!) separated with commas. πŸ™„

I’ll leave it at that. csv2xls does a good job, I encountered no errors, and it has enough options to make it useful beyond the obvious. If only it didn’t talk so much. … πŸ˜‰

P.S.: If you’re looking to go the opposite direction, check here or here. Hey, now you can convert your csv files to HTML. … 😯 😎

teapot: Said the hatter with a sigh, ‘It’s always tea-time. …’

This will also be a shortened post, since 99 percent of what I could tell about teapot was committed to the great cesspool of knowledge known as The Internet years ago.


teapot is a spreadsheet. teapot manages data in three dimensions. teapot is great for math, but might not be ideal for your basic home budget. teapot is a little unusual at first, but makes a lot of sense once you get used to it.

If you want to get your hands dirty with teapot, I’d recommend first looking at that link above, then starting into the documentation. By the time you work through that, you should have the majority of teapot’s mainstream functions completely mastered.

So you might wonder … if teapot is so great, why do I still use sc on a daily basis? Easy answer: Most of my spreadsheets are extremely simple things, like budgets or calorie counts for recipes. Put simply, teapot would be overkill. 😐

It’s all about using the right tool for the right job. … πŸ˜‰

tabview: csv files have never been cooler

Sometimes I find a utility so cool and obvious that I spend a few hours intentionally complicating life, just to watch it untangle things.

For example, I wrestled for about 10 minutes to come up with this …


just so I could watch tabview turn it into this:

2014-05-15-6m47421-tabview-02 2014-05-15-6m47421-tabview-03

(Thanks to rig for supplying the phony address book data.) tabview reads csv files (although as you can see, they don’t need a .csv extension) and drops them into a spreadsheet-ish arrangement for viewing purposes.

And that’s where it stops. No printing, no editing, no format conversion. Just view, simple sort by column, searching, primitive bookmarking, and maybe a highlighted header row.

That’s what I love about it most: tabview takes the tedious chore of skimming through csv files, then simplifies it, adds fundamental controls and options, and then knows enough not to pollute that genius with frills and foppery.

I won’t call it “perfect,” mostly because that word gets thrown around too much on this blog. It is possible to make it crash; I did it more than once trying to navigate and view cells on a super-large file.

And it also has a small flub in the aforementioned header row feature: The header data isn’t “pulled” from the data array, which means it appears twice in a row when you first open a file, and then gets mixed in with the other data if you sort the rows in any way.

And I don’t see where it’s possible to revert to the original data order, after you sort.

But to be honest, tabview is pretty much feature-complete for me. If it went any further in any direction, I’d lose interest. Do one thing. Do it well. Don’t drag my system down. Points are awarded for style.

Here’s a coveted K.Mandla gold star for tabview: ⭐ πŸ˜‰

ssconvert: An awful lot of baggage

This is another of those “obligatory” posts, that don’t make much sense in the wider discussion of console software.

ssconvert is a tool that is bundled with gnumeric, the graphical spreadsheet tool that is occasionally touted as a lightweight alternative to the OpenOffice (LibreOffice? I forget what it’s called these days … I don’t use it, as you can tell) suite.

And it’s true, ssconvert will — given the chance and a proper set of flags — convert into and out of gnumeric format without the need to load up X, start the desktop arena, open Gnumeric, open the file, hit “Save as,” pick a format and click on OK.


“At what cost?” is the question you should probably be asking. As far as I know, ssconvert doesn’t get bundled by itself (I’m speaking for Arch and Debian, neither of which seems to have an “ssconvert” package on its own, or even a collection on nongraphical tools from the gnumeric suite).

On top of that, the Arch version by default pulls in some Gnome-esque dependencies — like gtk3, polkit and dconf. Those are usually warning signs for me. My skin crawls at the sight of them. (And I should add, they take up about 184Mb on my machine. That’s rather large.)

So yes, it’s true, there is a command-line tool that will convert spreadsheet formats, primarily intended for gnumeric, and with a good measure of flexibility. 😐

The downside is, it comes with an aaawful lot of baggage. πŸ˜•

slsc: Out of a sense of duty

Time for a sad story. I’m going to list slsc here today, even though in my entire career as a Linux enthusiast, I don’t recall ever having seen it work, on any distro, not even once. 😦

My meager understanding of slsc lumps it into the category of “slang rewrite of sc,” which would make it a basic text-only spreadsheet. It’s on my list of console applications because it’s always possible that some obscure distro somewhere carries it in a working form. I can hope, anyway.

Its obsolesence is discouraging, mostly because slsc, as I understand it, stands among some cornerstone software for the console. Programs like slrn, mutt, jed and others all depend on the slang library, and slsc was at the vanguard of that movement.

Unfortunately, as best I can tell, it needs the 1.2.2 version of slang (I’m guessing that because there’s a dead link to it in the slsc folder, above), which went out of fashion eons ago.

It must have worked fairly recently though. Back in 2006, slsc was part of Ubuntu, if the Dapper man page is any indicator. Now it’s not in Arch, or AUR, or any active version of Debian that I can see. 😦

Out of a sense of duty I tried to build slsc against the newest slang, and it wasn’t happy with that. I didn’t have much more luck building slang 1.2.2. How times have changed.

Console text-only spreadsheets are a dying breed. oleo and slsc have succumbed to the weight of the ages, and as far as I know, only sc and the emacs-integrated ses (and teapot!) still exist. Unless there are some surprises for me in the T-Z sections. 😦

Of course the irony of that is, the first “killer app” and the program that put home computers on the map was a phosphorescent green text-only spreadsheet. Those were the days. … πŸ˜‰

ses: emacs strikes again

I’ve mentioned a couple of console-driven spreadsheet applications in the past — I’m thinking of sc and oleo there — but somehow ses, the integrated spreadsheet function in emacs, managed to elude me.


There’s no trick to getting it started, you just open a file with the .ses extension and emacs leaps into action.

Navigation is via arrow keys; hit enter to change the contents. As your spreadsheet grows, you’ll need to open rows with CTRL+O but columns can be added just by moving right and entering data.

ses is functional, but would probably take me a while to learn. I glanced through the documentation and it seems most of the fundamentals are in place, with the necessary changes in syntax or structure.

I’m not so averse to emacs that I wouldn’t consider using it for some simple spreadsheets or to fiddle with numbers for fun.

And I admit it is interesting to see how emacs handles the idea of a spreadsheet. What’s next, an onboard mp3 player? (I joke, but it’s probably been done.)

Of course, if you’re already an emacs fan then ses is probably no surprise. I eagerly await the distro that comes armed only with emacs as an entire software suite. πŸ˜›

I think I will stick with sc for a while longer though. I have some long, rather complex spreadsheets that are tangled up with calculations, and I’m not quite ready to shift. πŸ˜‰