Tag Archives: viewer

since: Since you last checked

I promised I would get since onto these pages before the end comes, mostly because I don’t remember any other log viewer that has this behavior by default … and I want to be able to remember it in the future.


It’s hard for me to be sure though, after so many years and so many log utilities. :\

since seems different because, as you might have inferred from the screenshot, it only displays log data since the last time it checked. So you can see the last portions of pacman.log at the top of that image, then the repository update. The next invocation of since only shows the two lines that had been added.

I’m sure other tail-esque tools can do this, and possibly add a few nifty tricks in passing. It’s just a matter of finding the right flags and getting them in order.

For its own part, since keeps its state file in ~/.since, and you have the option to ignore it. You can also tell since to use a special state file, to run periodically, to ignore compressed logs, ignore missing logs, and a lot of other options.

I am not a real bloodhound when it comes to keeping an eye on logs, so at its best, since is useful … but only rarely. On my pseudo-desktop system, there’s almost no call for it.

On a more complex system or in a situation where log files are critical, it might save you some time trying to get the information you need. I’m willing to give it a thumbs-up. πŸ™‚

vbindiff: Red and blue

Is it time for a hex editor? It’s time for a hex editor … of sorts.

I have to admit a small amount of surprise in seeing a program as venerable yet well-maintained as vbindiff that seems to have skipped a few small steps in its presentation.


Going by the home page, the first “release” of vbindiff was for the OS/2, way back in 1996. Through the years it appears to have shifted more towards the Windows environment, but added *nix support less than 10 years ago, and for what it’s worth, is packaged in both Arch and Debian.

And my fleeting interactions with vbindiff suggest it is a workable, usable program at the very least. It wisely uses a horizontal split-screen arrangement and a strong white-on-blue backdrop, and keeps almost all its key commands on the screen, when they are relevant.

You can edit a file as well, making it a practical hex editor as well as diff tool. It’s not as graceful or elegant as some, and not nearly as splashy as others, but it fills both needs without tripping up.

Except for two or three small things, and this is where my surprise comes in. First, as you can see in the screenshots, vbindiff is apparently comfortable stretching to a depth of at least 42 lines, and possibly a lot more. That I can guess from my terminal depth.

But I don’t see a flag or any option that will stretch it horizontally, which means that there’s a huge, huge gap of wasted space off to the right. Yes, I know 120×42 is unconventional, and I respect that 80×24 is the standard that reaches back to the 1980s. But it’s a bit of an omission — a giant glaring omission, really — given the tiling window manager trend, and the prevalence of terminal emulators.

Second, vbindiff is slanted toward picking out differences between files, but there’s no visual indicator — and by that, I mean color difference or even just a difference in bolding — to highlight changes. Perhaps that’s intentional, or perhaps there’s a way to set that in a configuration file, but I see no note of it in the man page or onboard help.

Add to that the use of red on blue, which would horrify my secondary school art teacher for the shimmering side effect it has for most viewers. I forget the name of that effect or I’d link to it, but it’s not that critical. White on blue is very good, but red on blue is going to offend Miss Crawley, wherever she is now. Maybe she is responsible for my preference for color at the console. … 😐

I should mention that by its own admission, vbindiff can’t handle files greater than 4Gb in size. Of course, if you really need a diff tool for files that are bigger than 4Gb, then I think you have bigger problems than just color choice.

vbindiff does a few things I like — the aforementioned on-screen help is always good, and it allows navigation with arrow keys. It also uses the Enter key as a quick jump to the next difference between files, which will make some of your diff quests easier.

But I don’t think this stands up to things like dhex or some others. It has potential, but really needs to be brought up to date.

imgcurses: Best of most worlds

My quick run-in with img2xterm yesterday reminded me that I have another curses-based image viewer in my list: imgcurses. If you’ve ever used something like fbida or fim, imgcurses might strike you as the best amalgamation of a framebuffer image viewer and a strict console environment.

With imgcurses you can get from this to any of these:

2014-09-02-6m47421-imgcurses-01 2014-09-02-6m47421-imgcurses-02 2014-09-02-6m47421-imgcurses-03 2014-09-02-6m47421-imgcurses-04

imgcurses has four “modes” that it supports, in the way it renders the image to text-only format. Depending on the image, one mode or another might be the best representation. (The last mode, “detail,” can be somewhat taxing to render, so be patient when you switch to it.)

The best parts of imgcurses are in the simple controls it offers. Left and right square brackets zoom the image in your viewing window, “m” changes the mode and “q” quits the program.

You can see a small on-screen display too, showing the original dimensions and zoom setting, and the mode you’re using. That’s about it.

imgcurses fills in a lot of the gaps that some others — like img2xterm — omit … like fitting an image to your available terminal space. So you won’t have to resize your image before you view it.

I don’t see controls for some higher-level image functions, like rotating or flipping, so you might have to rely on imagemagick for that. And according to the home page, imgcurses only handles JPEG, PNG and TGA formats.

I like this though, and plan to include it on my next text-only systems. It handles the task gracefully, gives a few options for display, and doesn’t overburden my system. Good show all around. Have a star: ⭐ πŸ˜‰

cv: The coreutils viewer

The other C-program I have today is a coreutils viewer, appearing as cv on Github. No, just for the record, I don’t dredge Github looking for new material. As it would happen, most titles these days are submitted from readers, and thrown into the hat.

This one was relayed to me by e-mail, and I realized later that I actually had it on my list as coreutils-viewer, so it’s possible I copied that name from elsewhere on the Internet. Regardless. …


Some other tools to amplify the output of core utilities — like pv or Advanced Copy — attempt to integrate themselves into the command, or pipe through it. cv, as you can see above, takes the sidelong approach by checking for running instances of dd, cp, mv, grep and a bunch of others, and showing their progress as a summary.

It’s an interesting solution to the long-standing issue of less-than-communicative programs, like cp. And goodness knows those have bothered me for quite some time.

cv has a few options to keep you busy; it has a monitor mode with -m, that will loop until processes finish, and another monitor mode with -M which will loop indefinitely, allowing you to keep it on screen as a kind of coreutils process monitor. I like that.

And there is a filter option with -c that lets you trim the display to only one particular process. Not much more than that, but simple is best. πŸ˜‰

I think I shall keep cv on board for a little while longer. I like the idea of having a continuous monitor of coreutils processes, even if I am quickly approaching a system made up completely of monitors, and nothing actually doing any work. πŸ™„

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: ⭐ πŸ˜‰

pv: Why won’t you talk to me?

One of the things that I remember being excited about when I started tinkering with Ubuntu all those years ago, was the sheer volume of new, free toys to play with.

There are, after all, some amazing, amazing tools available in Linux, and not just at the command line. Some of them just make your heart leap with joy as soon as you try them out.

Others … well, they’re useful, but they’re far from electrifying. For example:

kmandla@lv-r1fz6: ~/temp$ ls -lha
total 4.1G
drwxr-xr-x  2 kmandla users 4.0K Mar 19 14:25 .
drwxr-xr-x 27 kmandla users 4.0K Mar 19 15:07 ..
-rw-r--r--  1 kmandla users 4.0G Mar 19 13:15 sample-01.txt

kmandla@lv-r1fz6: ~/temp$ cp sample-01.txt /dev/null

And it sits there. And sits there. And sits there. With no clue as to what’s going on or what is happening, as if suddenly stricken dumb.

Now this on the other hand, is much better:


See that? Why is it so hard for cp or one of the other core Unix-ish tools to just tell me what the heck is going on? I’m looking at you, dd. And mv.

This is not a new complaint. I have mentioned this before, with things like AdvancedCopy. Just a little clue as to what is going on in your head, computer. That’s all I want.

The beauty of pv, which is what’s working in the screenshot, is that it is very flexible. You can use it for progress bars on compression or decompression, network transfers, erasing floppy disks, spilling files into /dev/null … you name it.

You can even dump it into dialog, and give yourself a proper screenful of blue-and-red progress indicators … a la MS-DOS6.22 or something. πŸ˜‰

You’ll have to take a look at the help pages to see how the finer points are worked, but I’m sure you can handle it in its basic form. My best advice is to think of pv like cat, but smarter.

Now if only I could get a petition signed to have pv incorporated into the standard tools. … Ha! πŸ˜†

pinfo: A new viewpoint is always welcome

This is subtle, so it might take a few passes before you can see what’s going on here:


That’s pinfo, and it’s perusing its own man page. But pinfo is hard-wired to follow “links,” which I quoted because those aren’t really links like you’re used to in a browser.

So if you watch closely you can see where it jumps from pinfo to curs_getch, then wresize, then resizeterm, and so forth. Almost like a browser, but through man pages.

I really like this. More than once I’ve wanted to jump through man pages like web pages, and this can do it from the console, and with color, and offline if necessary.

pinfo doesn’t just peruse man pages though, it can handle info files and has a few other options to investigate. Both Arch and Debian have pinfo in their repos.

I’m going to try to use this as my $PAGER and see if it creates any havoc. I expect to have it jump into view whenever a program calls for a help page, but that’s just my expectations.

More news later. πŸ˜‰