Bonus: 2013 in review

It’s the end of the year, and of course, that means it’s time for vacuous, empty-headed best-of lists of all flavors, collected because traditionally at this time of year, there’s very little in the way of news to report.

Perhaps you knew that, and perhaps you didn’t. Perhaps you figured it out on your own, but the awful truth of the matter is that very little happens in the last week of the year, and as a result journalists (and people who like to think of themselves as journalists) spend most of their time collecting junk news for public mastication, so they can spend their work hours staring at the Internet.

I used to work in media, and I know all their ugly little secrets. 👿

But it’s also been a year since I put fingers to keyboard and came up with this ridiculous little site, collected a frightening list of applications and trudged through them, one or two at a time.

So in that sense, I’ve learned quite a bit. And not wanting to miss out on the end-of-year free-for-all of best-of lists, here are my award winners of the past 500+ posts.

A list of 500 is a lot to pick from though, so I hope you’ll forgive me if some categories have more than one winner. And likewise forgive me if my categories are a little skewed to start with. I wouldn’t want to be ordinary. 🙄

2013-11-27-4dkln41-hunt-sudo

Will the real hunt please stand up?

Most embarrassing moment: hunt, and Newb 101. I might as well get this out of the way: Not but a few weeks ago, after having sat at the terminal for nigh-on eight years of Linux-only life, I still didn’t have the foresight to check if there were actually two applications named “hunt” on my system. A few minutes of prescience might have saved me the embarrassing moment of ascribing a decades-old roguelike network game as some sort of unprivileged mode for a network security tester.

There are not enough embarrassed smilies in the world. 😳

What can I say? I made a mistake. I take full responsibility for my actions. 😩 The only explanation I can offer is that I was preoccupied with some frightening network problems of my own, and acted impulsively as a result. I can only promise that such a dunderheaded mistake will never be made again.

Finally, I have a use for my Super_L key

Finally, I have a use for my Super_L key

Thing K.Mandla is proudest of: slmenu, and the hotwired one-key start menu for the terminal. Pardon me while I pat myself on the back. Rigging slmenu to behave like dmenu, and doing it all without any of the Xorg underpinnings, was a personal victory. There were enough hurdles to jump in that little escapade to qualify for a blog of its own, and given some of the tripe that’s out there in the digital landscape, it would not have been out of place. Not every machine can run X, and some of my favorites have never had a chance to play with dmenu. But with a little creativity and a lot of forethought, you can set up your machine to behave much the same way, without X’s baggage. Go forth, and electrify.

Better than washboard abs

Highest geek shock value: wavemon. wavemon was one of the earliest posts, and it still has a good deal of practical use for me. I trundle this out any time I get to a public wireless spot and wonder why the connection is poor, or when I think I’m getting interference from outside sources. Best of all, it has terrific visual appeal to geeks and non-geeks — nothing says “I’m higher on the nerd pecking order than you” like a side-scrolling waveform in tricolor, with signal strength and noise ratios flickering past every 100 milliseconds. It seems to conflict with a lot of other wireless tools — it would be nirvana to see this and wicd-curses get along without someone losing their bead — but I can survive with things as they are. Definitely a keeper.

Like war paint for geeks

Runner-up: kismet. Not as visually impressive, but probably just as powerful if not more, kismet has its own array of graphs and meters that will perplex and astound most technokiddies. Of course, kismet has an ulterior motive, in being able to hound your network into submission. But for technical geek appeal and visual use of color and data, it’s hard to go wrong with this one. Install it just to demand others respect your geek authoritah.

Second runner-up: This is a surprise. I’m going to save it until next year. Trust me, this is a winner, and you’ll be glad I waited to tell you. Although, if I stick to alphabetical order, it could be a lot longer than just a year … 😈

We didn't know you had it in you

Snatched from the drooling jaws of death: jn. jn was left to rot in the archives of my Gmail account for half a decade it seems, but when brought out and exposed to the light, appears none the worse for it. Ben Winston’s simple journal accessory script never took the world by storm, but it does have an (eternal?) home on github now, which I admit is the best place for it. I have no experience with github so if I’ve done something dumb and made it inaccessible, let me know. Regardless, it shouldn’t take a talented coder much more than an hour or two to convert jn from a skeletal journal tool to something with considerable oomph in it, and much of the important parts are done already. Hint, hint. … 😉

The little download manager that could

Runner-up: fttps, which is like jn in that it was also stagnating in the backwaters of this blog before it gained a hesitant foothold on github as well. Again, I am very very new to github so if there’s a button somewhere that needs pushed to make it somehow more accessible to proper programmers — and not just somebody who wants to go to programmer parties, wear their fancy clothes and hang out in their programmer cliques, like me — tell me and I’ll take care of it. blice never really put the finishing touches on the script, but it has all the right components and has some basic visual appeal. Don’t dismiss this out of hand; it’s more convenient than you might think.

Second runner-up: stats.pl. How many times have you scalped leftover system status scripts from the corpses of dead distros? 😐

If you cross your eyes, it's in 3D

If you cross your eyes, it’s in 3D

Best boring, old, dull, plain-Jane network monitor: ifstatus. I don’t know why there are a bijillion network monitors for the console. It’s not only counterintuitive to show network performance in a text-only environment, but it’s been done sooo many times already. Please, if you’re a budding programmer and you want to make your mark in the world, write anything but a network monitor. After all, ifstatus already has the bells-and-whistles-at-the-console department pinned down, with multicolor scrolling graphs and cool-beans blinky lights showing not only transmissions but receptions too. True, it’s not nearly half the man wavemon or kismet is, but if you just want something to show your download speeds, this is the best I saw this year.

No, officer, I don't know how fast I was going

No, officer, I don’t know how fast I was going

Runner-up: speedometer, for achieving much the same thing, albeit in a slightly different fashion. Not as much information on the fly with speedometer, but it won’t disappoint either. And if you play your cards right, you might get it to show you the same information with file transfers, but I leave it to you to figure out how that works. Added fillip, speedometer is the winner of the clever-little-feature category: Transfer rates are printed over particular points in the bar graph display. K.Mandla likes.

Obsessive compulsive partier

Obsessive-compulsive partyer

Greatest sense of terminal lifestyle satisfaction: Open Cubic Player. ocp knocked me off my chair when I ran it on a dual core machine with decent Intel graphics, and knocked me off my chair again when it could do much the same thing at 500Mhz with an ancient ATI Rage Mobility card … against the framebuffer. That kind of coolness just doesn’t exist at the Pentium III level unless you spearhead an entire cultural freedom movement, or program whole floppy-based distros in assembly language. Watching ocp’s level meters and sound controls in action was like watching Liquid Awesome pump through the digital veins of my old Gateway Solo. If it wasn’t for a slightly counterintuitive interface and a few oddball behavior issues, ocp would simply be the Holy Grail of console applications. And even those small points can be overlooked. This year, there simply is none higher.

Drop-down menus for that just-washed look

Best tool I still don’t use because I am an airhead: jed. Every day — every day, I tell you — I smack myself squarely between the eyes over some sort of counterintuitive or completely obtuse behavioral issue in vim. Or I scramble in red-hot fury over the desk to dig out my A3-sized cheatsheet of editor commands, and every time I do it — every time, I tell you — I wonder why in the heck I don’t finally just switch to jed. If I wanted, or even needed, an editor that behaved less like a Rubik’s cube and more like a traditional text-based word processor, jed would probably be the first and final stop. I know this, and I tell myself this, and I swear at myself each time, and I still don’t take the hint. 👿 jed is much the program we all think we need when we embark upon life at the terminal, and very much the program we all ought to use when the idiosyncrasies of the vim-emacs brigades finally bubble over. Selah.

Mega mecha mocha

Mega mecha mocha

Best games: I looked at a lot of games this year, and even a few that weren’t really games, just were lumped into the category because they had no other practical home. Gearhead 2, of course, stands head and shoulders above the rest (there’s a pun in there), just in terms of depth of play, and for a healthy balance of role-playing and action sequences. Dungeon Crawl: Stone Soup has every hallmark of a professional-grade RPG … except of course that it eschews glittering 3D graphics with bloom effects and trilinear filtering or 8x antialiasing, so you can focus on the game mechanics and not the eye candy.
O Captain, my Captain

O Captain, my Captain

Taipan! is another game with impressive world-scale economic effects as well as tense (albeit simplified) action sequences. But even more complex, and more involving, and more intricate was Liberal Crime Squad, with plot lines and tongue-in-cheek tone that would have satisfied the wryest of wry senses of humor. For sheer impressiveness and scope of mimicry, you can’t pass on myman. And empire, for all its faults, is still the defining turn-based strategic world conquest game at the console, in my humble opinion. If nothing else,
Never bet against the house

Never bet against the house

vitetris has not only every console peculiarity nailed down, but can play over a network to keep you and your friend from going stale with boredom. And in all honesty, I can’t keep freecell installed because it will genuinely suck hours from the day. cpat as well is a terrific collection of card games converted into a text-based format, with no loss of playability aside from a few nudges to get you started.

Zombie perfection

Zombie perfection

Best game: And if all that doesn’t waste your time for months on end, if the sheer volume of gaming potential listed in those nine games doesn’t absorb you for fortnights upon fortnights, I’ve got a tenth that will grab you and devour you, quite possibly head first. Cataclysm: Dark Days Ahead has every detail covered, from the weight of bottles of water to the exact floorplan of hospital wings. It’s got epidemics, skill sets, crafting and construction, morale, vehicles, martial arts, pornography, artifacts, bionics and mutations, vulgarity, and best of all, a clear and precise goal for you: Stay alive. This game makes me fidget with excitement, not because I’m a terrific zombie fan, but because it takes the time to do everything so very right, and all of it is intended (mostly) for a text-only lifestyle. My first avatars were destroyed by land mines. The second poisoned herself drinking foul water. The third, in a raging fit of self-destructive behavior, burned down a house with herself trapped inside. It was a long time before I was ever killed by a zombie, but that’s only because there are so many other ways to end yourself. This is the game you pick up when you finally put down the latest clichĂ© first-person America-at-war pseudo-simulator with graphics that make Crysis 3 look like a high school programming contest. And that’s when Cataclysm DDA will suck out your brains, stretch eternity before you like an open book, and return you to sanity months later with no trophy to show for all your effort. Abandon hope, all ye who enter here.

Out of fairness to the range of posts I have here, I also picked a couple of one-line gimmicks, instead of full-blown console applications. Here were the neatest console kung-fu I came across, in 2013.

Stupid K.Mandla trick of the year: Filtering /dev/urandom with tr to sign in to IRC with a randomized nickname. I mentioned once before that I don’t use IRC very much; that was both true and false. Truth be told, I do join some channels some times. But I don’t like to use the name K.Mandla, because I occasionally draw attention with that name (oddly, it’s usually a kind greeting, followed by “are you a boy or a girl?”).

I’d just as soon remain anonymous, and for a while I was making up nicknames, but most of the un-obtuse names are taken. Enter the randomized string of characters gimmick from back in April. That quick command has come up more often than I would ever have guessed, and it has become a terrific way to pipe a randomized nickname into an IRC session.

First, I like the names to be of random length, of at least four characters but not too much longer.

echo $((RANDOM%10+4))

Second, I insert that into the aforementioned randomizing stream, setting the head flag with it.

< /dev/urandom tr -dc A-Za-z0-9 | head -c $(echo $((RANDOM%10+4)))

Now the whole business is tacked on to the end of the irssi startup command.

irssi -c irc.freenode.net -n $(< /dev/urandom tr -dc A-Za-z0-9 | head -c $(echo $((RANDOM%10+4))))

And that’s what I feed into Musca’s configuration file.

bind on Mod4+Shift+0 exec urxvtc -e irssi -c irc.freenode.net -n $(< /dev/urandom tr -dc A-Za-z0-9 | head -c $(echo $((RANDOM%10+4))))

Bingo. Two-key automatic startup and sign-in to chat, as a random string of characters, of varying length.

Most useful, which is to say, most often used: Burping random words out of cracklib with shuf. Again, I’ve used this a heckuva lot more than I thought I would. Any time I need a text file of random words, for sorting or filtering or dumping into pastebin-ish sites, this comes back around again.

for i in {001..100} ; do shuf -n 1 /usr/share/dict/cracklib-small >> textfile.txt ; done

Invariably I loop through that command a number of times and pipe it all into a file to get whatever I need, for scientific purposes. But at its core, the ability to pluck a random but intelligible word out of a list is an important life skill. I recommend it for all young computers out there. 🙄

Let’s stop with that. Twenty-thirteen was a good year to dig up some treasures, and whittling down 500 or so to these 18 or 20 is hardly an easy task. I’ll put down what I’ve got here, and hope 2014 is half as productive. Cheers, and see you around in two-oh-fourteen. 😉