Tag Archives: file

ndn: And memories of the past

About a month ago, StreaK left a note about ndn, a/k/a Necromancer’s DOS Navigator. I might catch some flak for this, but I saved it for last, before the shop closes down.

2015-04-26-6m47421-ndn-01 2015-04-26-6m47421-ndn-02 2015-04-26-6m47421-ndn-03

Introductions first. ndn has a precompiled Linux version that you see there, and as you might expect from the screenshots, I find it quite enjoyable. You can see the two-panel menu-based approach that hearkens back to Midnight Commander and its predecessor, Norton Commander.

ndn takes that style and adds multiple window support, a healthy smattering of disk functions (like renaming a volume, like you see above), separate histories for command line and panel activity, and a lot of other tricks. Most everything is driven by a popup dialogue, which I always appreciate.

Even more amazing, ndn adds in a calculator, a calendar, a phone book (remember, this has history back to the modem era), and a lot more. If you try ndn, take your time with the “Utilities” menu, but don’t be shy about the others either.

Much of what ndn can do is arranged by submenu, and that makes it mostly easy to follow. There are also provisions for user-defined menus, and a special function menu just for Linux tasks.

With all that going for it, I still have a few small problems to report. First, as you can probably see if you look close at the screenshots, I’m getting some screen artifacts when I run the precompiled version in Arch. I don’t blame anyone for that; it’s a distraction, but it’s just the nature of the beast.

Second, there are some obvious leftover “tools” and “menus” from the DOS era. The letter strip you see along the bottom of each panel clearly corresponds to drive labels under Windows, and double-clicking on one in Linux just drops you into /dev/, which doesn’t really help.

It would be nice if that area instead showed mountpoints or even polled devices like sda1, sdb1, sr0 and so forth. As it is, that strip is wasted space. Add to wasted space: Displaying file names in the same color as the background for certain file types. That’s an unfortunate oversight. :\

ndn is also a very powerful suite of tools, and will take a lot of time to learn all the commands. But to complicate things, it appears there are different controls when running under X and when in a virtual console. Keyboard navigation seems disabled under X, meaning you have to do all your selections and menu action with the mouse. On the other hand, gpm was no help in a console.

Those are the main reasons I was hesitant to include ndn in this list: It seems a lot of its functions will hinge on graphical support. Which makes it not much better than undistract-me, which we talked about a few days ago.

And why save it for last, you ask? Nostalgia, mostly. If you remember the text-only era and the parade of file managers and disk checkers that all ran within consoles and had no graphical support, ndn is like a trip down memory lane. Popup menus drawn and shaded in hashed boxes, menu bars triggered with ALT+letters, and F-row hotkeys will take you back to the software of 30 years ago … all the way down to the color scheme. It’s a good feeling.

So if you take issue with a leftover DOS file manager, overstocked with utilities and rather haphazardly converted to Linux, appearing here at all, that’s my excuse: It reminds me of other times. πŸ™‚

rmlint: The potential to purge

I am behind the power curve today, because of some real-life obligations. I am going to grab something quick and easy so as not to fall behind; things are going to be even busier into the weekend.

This is a snapshot of rmlint in action:

2015-04-23-l3-b7175-rmlint

rmlint cruises through your directory tree, and offers to remove files it thinks are duplicates, zero-byte or hollow folders. And as you can see, given enough space, it will take its time to come up with a menu of potential excisions.

I did say “offers,” which is an important distinction. rmlint’s output is a little unexpected: By default it generates a script that will remove suspicious targets, but doesn’t outright eliminate them.

Which is a good thing; it means you have the option to adjust its list, and it also means you take the next step — running the script — with conscious aforethought. You can’t blame rmlint for whacking apart your /usr/lib folder if you told it specifically to do it.

I like rmlint for a number of reasons — it’s rare that I see a system cleaner, it takes the safe route by creating the script, and it has a smidgen of color.

But that’s about all the time I have today; I’ll get deeper into something tomorrow … I promise. πŸ˜‰

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:

2015-04-21-6m47421-x_x

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. 😈

peat: Pete and Repeat are sitting on a fence. …

Here’s a simple python tool that jumps into action when a file changes: peat.

2015-02-25-6m47421-peat

peat is built to execute a command of your choosing, and requires only a list of files to watch as input. As you can see above, probably its most basic use is just to send a message to the screen to announce a change.

But it seems capable of executing almost anything as its target, so you could set it to clean up files, compile a code snippet and run it, or … something completely different.

The syntax to get peat running can be a small challenge; by default peat wants a list separated by whitespace. Check the flags if you want to feed it a list separated by newlines or blank spaces.

I should also mention that in Arch, peat wouldn’t run without calling specifically for python2. On the other hand, it seemed to run without any oddball dependencies or bizarre python libraries, so it may be that it will run well on a vanilla system with no added weight.

I feel like I should mention the long list of file event watchers that are available, so it may be that using python as the basis for a file watcher is still too cumbersome.

And given that their list of features is as wide and long as the list itself, the choice becomes a little more academic. peat is worth investigating if you are comfortable with python and if its advanced handling doesn’t intimidate you. But remember there are many others in the running.

genstats: Quick statistical reports

I can see the usefulness of genstats almost immediately. Given a text file, you can pull out a frequency report with very little effort.

2015-02-20-6m47421-genstats

And since genstats handles its input and output in much the same way as cut, you should be able to get the information you want within just a few minutes of compiling it.

It may not be appealing to you to track word frequency in a flat text file, but consider what you could do with genstats and your average log file. That is the author’s suggestion, and the screenshot on the home page gives a good example of some advanced genstats usage.

My only complaint about genstats is so trivial that I’m embarrassed to mention it. In a file with 12 lines, and with four of the words in the second field being the same, the display should read “33%,” not “0.33%.” The latter is a third of a percent, while the former is a third of the whole. Or perhaps there is another calculation at work there, that I’m not sure about.

I get the picture though. And having said that, I suppose it’s worth mentioning that gentstats doesn’t give you a lot of control over the output. As best I can tell, that is the only style of report you’ll see from genstats.

genstats appears to be a free-roaming program; it’s not in Arch/AUR or Debian. So if you want something quick and easy to package, this might be one. πŸ˜‰

xcv: Taking the long way around

Sometimes it’s difficult for me to see the practicality of someone’s invention. I understand that their perspective brought them to a particular point and they solved a problem with a program, but it appears they’ve taken the very long way around.

This is xcv, which in my eye seems to be taking the aforementioned circuitous route.

2015-02-14-6m47421-xcv

If you can follow the steps there, xcv seems to work by either copying or moving files (at your request) to a third location, then waiting for the command to paste them into a target. A breakdown, step-by-step, is on the home page.

In that sense it seems to break down the cp or mv command into steps, and give you more control over the results. I suppose the practicality of that would be in cases where you have files from many different locations, all moving to one new directory. xcv technically reduces the number of commands it would take to do that … I think.

That’s about the only time I can think where xcv would be preferable to the standard tools available, and only if other things like find and some advanced commands are ruled out. It may be that you can see xcv at work in another situation.

As for myself, I probably won’t keep this around. I can see one, perhaps two cases where this would benefit me, and they’re so rare as to be annual events, at best. And in one of those, an extended find command does the trick quite well.

All the same it may be a useful tool for you, if you can see where it would be to your benefit to break down your task, and take the long way around.

nap and nap: Take a nap or two

Two-for-one today, and not just because it’s 02-02, but because I have two programs with the same name, and I don’t think either of them really warrants an entire post to itself.

If you search both Debian and Arch/AUR for “nap,” you’ll find two different programs. The first, from Arch, is a variation on the sleep command, that shows a progress bar as it ticks away.

2015-02-02-6m47421-nap-01

What you see there is really the grandest example of what I could do with nap, but that isn’t meant to suggest that it has no potential. If you search through this site, you’ll see that in the past two years, I never bothered to make any notes about the sleep command itself, because it was hard to think up something about a program that just waits.

nap does the same thing, but this time tells you how close you are to the end. If you want to know how much longer you’ll have to do nothing, nap will tell you.

The other nap is out of Debian, and is a console client for the now-ancient Napster file sharing protocol.

2015-02-02-lr-0xtbe-nap-02

Unfortunately, that’s as far as I ever got with nap. Its self-configuration routine works fine, and I imagine if you could somehow force-feed it a list of servers, it might get further into its process, but I didn’t have any luck. It sat for the better part of an hour trying to download the server list from GotNap.com, and after that I felt pity and turned it off.

In any case, I don’t know what would be left on the Napster channels. I understand there is still some legitimate content operating under the same name, but whether this program can access it, or if this application is just lost in the dark ages of peer-to-peer networking … I can’t say for sure.

But that’s all for today. I see that my list is getting a bit short. I shall have to go out and beat the bushes this week, and see what falls out. … 😈

urlscan and urlview: With the assist

Not having a lot of experience with the convenience and immediacy of local mail service, I find that things like urlscan and urlview are sometimes lost on me.

I’ve done my best though, to try and see the fearful symmetry of urlview, which skims through text files and plucks out viable URLs, then displays them as links. How would that be useful? When sent an e-mail filled with links, of course.

2015-01-19-6m47421-urlview

From there, it’s a simple hop-skip-and-jump to your fav-o-rite browser, and you can wallow at your leisure in the murky swill of the Internet. :\

And it’s got most of the requisite points — some color, a full-screen interface, abort keys on screen. Granted, it’s simple, but not so simple as to be unnoticed.

urlscan is a re-imagining of the task, and is written in python. You can probably see the resemblance.

2015-01-19-6m47421-urlscan

And you can see where there’s a slight variation on the original theme, with a top-and-bottom arrangement over urlview’s list-and-status bar style. You pick your preference.

(I did notice, just as a side note, that urlscan seemed to glance over URLs that were prefixed with http:// but that may have been a quirk in my test list.)

Other notes: urlview has a complete configuration file in /etc/urlview/. urlscan can dump its ouput to STDOUT. Both expect you to configure $BROWSER beforehand, although I believe urlview can rely on its own configuration files too. Both are in Debian and Arch/AUR.

I feel obligated to mention that both urlview and urlscan are quite happy working their magic on plain text files, and don’t rely on any mail system whatsoever to work (which should be obvious from my screenshots). So if you have a project that needs to skim for web addresses, either will probably suffice.

On the other hand, I can’t really think of many ways to use either program beyond what they’re designed for — filtering through e-mails and displaying links. Perhaps in time I will find something to use them with. … πŸ˜‰

nodau: Take note

nodau, which is the last title for today, is a very simple note taker — in fact, both the Debian version and the AUR description say so.

2015-01-17-l3-b7175-nodau

It’s so simple in fact, that if you clicked on that home page link above, you’ll know that the site itself is effectively blank. That’s pretty simple. 😯

Okay, bad joke. The implications of that empty space in the Whirled Why’d Web are few, but noteworthy πŸ˜‰ : Arch users who want to give this a try will probably need to wrangle with the source code (which is newer) mirrored in the Debian version.

I know, it’s an added hassle, but it’s worth it. nodau, you see, does a few things that I think are worth note. Get it? Worth note! Ha! πŸ˜› 😦

First, a quick overview. nodau works in a command-interpret style, with the nodau executable taking a command and doing as it’s told. nodau help lists all its vocabulary. nodau list shows you all the notes it has on file. And so forth. It’s not an innovative style, but it’s quick for adoption.

nodau is smart enough to grab your $EDITOR if you declare one, and let you use that in your notable adventures, so if you’re severely addicted to vim or emacs, don’t feel like you’ll have to learn an entirely new editor.

On the other hand, if you are among the sane members of Homo sapiens who reside on this planet (or off it, I guess πŸ™„ ), nodau provides its own, very basic, very simple text editor to supplement its filing and listing abilities. It’s not flashy and wouldn’t make much of an impression were it to grace this list of its own merit, but it will do.

So you have that ability — to swap out the editor that nodau uses. I like that.

The second option worth listing though, is probably even more useful: nodau can encrypt notes, meaning you can protect prying eyes from reading the next chapter of your Harry Potter/Star Wars fan fiction crossover epic. πŸ™„ I am full of such wit today. …

Once encrypted, a note becomes obscured and won’t be readable or editable without a password. Tell nodau to unencrypt it, and the note returns to its plain text heritage. I will let you research and judge if nodau’s encryption will pass muster, but I think short of security geeks, criminal cartels and corrupt governments, it will probably offer a reasonable degree of protection.

From what I can tell, nodau keeps its data in ~/.local/share/nodau/, so if you go looking for a local copy, I’d encourage you to start there. And yes, I checked, and the encryption appears effective at a cursory glance.

I won’t hold out nodau as some sort of security application that will prevent hackers from stealing your credit card number, but it does strike me as an unusual feature for an otherwise simple note-taking program. A solid thumbs-up for nodau. πŸ˜‰

id3ren: Unfortunately, this will be brief

My posts will likely be rather sporadic in coming days; the real-life issues that cropped up last week have spilled over into this one, and until I can get to a solid period of free time, I’m afraid I’ll have to keep things quick.

I do have id3ren for today, which is a command-line music file tagger in the vein of mp3rename or mp3rename or … well, let’s just say there are many in this style.

2015-01-13-l3-b7175-id3ren

Invoke id3ren, add a flag and target the files. Simple and clean. πŸ˜‰

I was a little surprised that id3ren didn’t seem to have an -h option to show its flags, but the man page for id3ren will list the full array available. Most of them appear to be what you might expect, but I’d suggest looking for some of the “shortcuts” that I saw, which should streamline some of the most popular functions.

The home page above didn’t work for me, but id3ren is in Debian, so the source code is still available if you want to build this in a different distro. I’m afraid I didn’t have enough time to tinker with it in Arch, and I didn’t see a PKGBUILD for this in AUR.

Sorry to be so brief; I’ll try to carve some time out of the days to come, and properly approach the next titles. 😐