In Himanshu Arora's “Worms and Linux” article in the June 2013
issue, he mentions “Meanwhile, apart from the Morris
worm, very few worms have been directed toward Linux.” The Morris worm was
released in November 1988, three years prior to the initial Linux release in 1991.
Himanshu Arora replies: Thanks for your response. I acknowledge that you are correct, but what I actually meant here was *nix systems, although it would have been better if I had mentioned *nix explicitly.
Regarding Shawn Powers' piece “One Tail Just Isn't Enough” in
the June 2013 issue's Upfront section,
“mutant felines” sounds neat, but the first thought in my head
first thought in my head that you can discuss in polite company would be
mutant canines. Specifically, I remember playing Sonic The
Hedgehog 2 on Sega
Genesis when I was younger and we had the new sidekick
“Tails”. Tails is a two-tailed fox. Foxy!
And, since you brought it up, I'll confess, the title occurred to me because I was reading Book 2 of the October Daye series by Seanan McQuire. In the book, the strength of a kitsune's magic is represented by the number of tails it has. (Yes, it sounds cheesy out of context, but it's a great series, I promise!)—Shawn Powers
Readers may well appreciate Joey Bernard's introduction to the GRASS GIS system in his “GIS with GRASS” article in the June 2013 Upfront section. GRASS is indeed the premier open-source GIS system. However, I think the article is remiss for Linux users in not noting that GRASS is inherently a CLI application. All of the individual commands are executable programs that capture and parse arguments to stdin. Accordingly, GRASS is fully scriptable in bash, tcsh, Python, Perl—almost anything. Personally, I never let GRASS open a GUI; I work in an xterm (well, GnomeTerminal in my case).
The initial call to GRASS just sets a few environment variables (including putting the GRASS executables in your path of course) and doesn't even capture the terminal. You still can issue commands to your shell, piping stdin or stdout through GRASS, run vi or anything else. If your network connection speed is decent, you can run GRASS remotely through ssh -X.
In addition, a GIS is not just about the maps, it's a spatially enabled database. In GRASS, the back end can be SQLite, MySQL, PostgreSQL or others; you're not tied to a proprietary or minimally functional RDBM. Any changes to the database are immediately inherently implemented in the GIS, because it reads the same tables. GRASS spatial data input/output or exchange is largely managed by the incredible gdal/ogr libraries (www.gdal.org, once again CLI).
In my personal system, I run GRASS attached to Postgres, with the R statistical
environment attached to the same tables in Postgres. If it's spatial or
issue the command to GRASS; if it's query-based, I use psql to query Postgres,
and if it's computational, I use R to crunch the numbers. Often I dedicate one
workspace to each of the three to maximize working space. It's a scriptable,
seamless, open-source, highly functional system if you just use the CLI.
Joey Bernard replies: I appreciate you bringing up all of the extra potential available in GRASS. I too use a terminal window as my main interface, but I try to cover enough of a scientific package to get people interested in playing with it. Once they have their feet wet, hopefully they go on to see how much more they can do with it. And thanks to letters like yours, people can find out how others use such powerful tools.
The Mark Twain entry in the June 2013 “They Said It” column is actually a “They Didn't Say It”. Although widely attributed to Twain on the Internet (usually in a political context), the quote is not his, and the you-are-on-your-own idea doesn't fit the philosophy expressed in his many books and speeches. Like many of his age, Samuel Clemens was greatly concerned with inequality, corporate greed and power, corruption, and the plight of the downtrodden.
That small error aside, I enjoy your magazine...keep up the great work!
Thank you, Richard. Of all the articles and columns I write for Linux Journal, verifying quotes is actually the most difficult! I try to use them only if I can find a couple fairly reputable sources, but I do get some wrong—my apologies (and thank you for the correction).—Shawn Powers
I really enjoyed the May 2013 issue on the Raspberry Pi. Prior to reading
that issue, I just considered it a toy, soon to be another paperweight after
playing with it. The articles opened my eyes. Now I have one myself,
and it is configured as a print, Subversion and MySQL server for my
local network. This allowed me to retire my old server, reducing power
consumption by 75 watts—a nice benefit for such an inexpensive
device. Keep up the good work.
Awesome! I really had no desire to buy one either, but once Kyle Rankin told me about all he planned to do with his, I started to get jealous. Now, I'm really happy I bought some, because like you mentioned, they're surprisingly powerful and useful for their size and electrical footprint.—Shawn Powers
Since you went all-digital for Linux Journal issues, I've been quite happy with it. No more do I have to worry about lost, wrinkled, wet (or worse!) hard copy, and it doesn't clutter up my living space. I have noticed that I mostly read LJ in my Web browser from my workstation or my laptop, at work, and at home. I have used the .epub and .mobi versions on my Android phone, but that's relatively rare.
My first suggestion is that the browser version (and possibly the .mobi and .epub versions as well) use a cookie that stores my place in the magazine, so if I close my browser (Chromium being what it is), I don't lose the page I was on. As it stands, if I close Chromium, I have to page through the first part of the magazine to find my spot. This is annoying.
The other suggestion I have is about keyboard navigation. I discovered the one-page/two-page layout, and at least on this laptop, the one-page layout is better for me. If I use the arrow keys or the Page Up/Page Down keys to navigate to the next (or previous) page, the scroll slider should jump to the top of the resulting page. The way it works now, if I use the down arrow or Page Down to scroll to the next page, it brings me to the bottom of the next page, rather than the top. It seems the vertical scrollbar for the page keeps its state from the previous page. This forces me to scroll back to the top while trying to avoid going to the previous page. I use a combination of Page Up and up arrow keystrokes to bring my view to the top, and hope I don't go too far.
I would think loading each new page at the top rather than the previous state of the vertical scrollbar would satisfy this request. Maybe more ideal still, if down/Page Down is used to navigate to the next page, reset the page scroll slider to the top of the next page. If up/Page Up is used to navigate to the previous page, reset the page scroll slider to the bottom.
Other than those annoyances, I'm very happy with the the digital editions of
Thanks Trey. There is another company we hire to do the Web hosting, so we'll be sure to pass your suggestions on to it. I think it's great to have so many versions of the magazine available, because depending on where I am, I can view the content in multiple ways. Thanks again for your recommendations. Without feedback, things will never improve!—Shawn Powers
Recently, somewhere in a Linux Journal issue, I saw a one-line bash command
that would cut out a section of a PDF and save that section as a new PDF. I
apologize, but I have misplaced the author of that valuable one-liner.
Anyway, finding this useful, I created a bash script that accomplishes
and it accepts command-line arguments or GUI via the zenity package. The
source is available at
Here is a photo of Tux with my daughter. Tux was 3-D printed for me by
shapeways, and it is in place of the standard VW logo that usually resides
in this location on the hood of my VW Golf.