Regarding the “Bash Notational Shortcut” letter in the December 2012 issue: whitespace is allowed in Fortran variable names, as is in Fortran keywords. It is simply ignored. Here's a small example:
hoel@pchoel:~> cat lj224.f p r o g r a m l j 2 2 4 w r i t e (*,*) "Hello LinuxJournal" e n d hoel@pchoel:~> ifort lj224.f hoel@pchoel:~> ./a.out Hello LinuxJournal hoel@pchoel:~> gfortran lj224.f hoel@pchoel:~> ./a.out Hello LinuxJournal
Dave Taylor replies: I find it awesome that we're still talking about Fortran. Now, what about Algol-68?
I would really like to see LibreOffice as a contender for next year. It
should have had its own slot for the 2012 awards. It has been around and
doing great on its own for some time now. Thanks for your consideration.
As you noted in the article, many even wrote in LibreOffice.
—
Fran Parker
I agree. It's funny, the difficult part every year is coming up with the correct options!—Ed.
I love the digital version of the magazine! But, I would like to suggest you make the digital versions available via Dropbox sync, much like O'Reilly and Pragmatic Bookshelf do with their digital books. I find myself logging in to the LJ site and downloading the PDF versions for safe-keeping into a Dropbox folder (I already get LJ on my iPad mini via Newsstand). It would be awesome if this was automatic with Dropbox sync!
Keep up the great work!
—
Terry Dunlap
That's an interesting idea, Terry. I do the same thing, actually. I'm not sure if it is easy with our current distribution model, but I like the idea. We'll look into it!—Ed.
I've been a Linux user and reader of Linux Journal since the beginning, and I always find something valuable in every issue of your magazine. One of my favourite columns is Work the Shell, because I'm always looking for neat ways to process files and data in different ways. Often—no offense, Dave—it is the letters from readers that provide that aha moment!
This time (regarding Dave Taylor's column the January 2013 issue), I have a comment of my own. When attempting to shuffle a deck of cards, why not just use one of the well-known shuffle algorithms? Then, there is no need to worry about picking a card for the second (or third) time on reaching the end of the deck. Here is a piece of code for the Fisher-Yates algorithm, courtesy of Wikipedia:
#!/bin/bash for ((i=0;i<52;i++)) do deck[$i]=$i done for ((i=51; i>0; i-- )) do rand=$(( $RANDOM % (i+1) )) tmp=${deck[i]} deck[i]=${deck[rand]} deck[rand]=$tmp done echo ${deck[@]}
I'm sure this can be improved, but you get the idea.
—
dik harris
Dave Taylor replies: Thanks for your note and sample code. It's ironic that when I was in college studying for my degree in computer science I complained about having to re-invent the wheel when Knuth's The Art of Computer Programming was on my shelf and had tons of great algorithms. Zoom forward, and now I'm re-inventing the wheel in every column rather than looking for optimal results.
But here's the thing: while the code you sent me might be a good “shuffle”, it's completely obfuscated, and since my primary goal with the Work the Shell column is to explain and explore the concepts underlying good script writing, using a 12-line block of complex code seems counter-productive.
I'll simply suggest we publish your letter and my response and see how the rest of the reader community feels about the subject.
I've been thinking of getting a Raspberry Pi to make a digital video-capture device for our wood-turning chapter (BAW). We currently use an
old tape video camera. Then we have to transfer from tape to a PC,
edit the video and produce it. We have two small cameras attached to
tripods and can switch back and forth between them to show the demo on a
46" flatscreen so everyone watching the demo, up to 40 people, can see it
better. But, when making a video, we have only the one camera! We sure would
like to improve the process. What do you think?
—
Rex
Shawn Powers replies: I like the idea of using a little Pi device, but I worry it might not have the processing horsepower to process and store video. You might consider a couple decent USB Webcams with long cables connected to a single beefy computer. Either solution sounds more fun than video tape, however, so I think you're headed in the right direction!
I have a picture of Tux alongside the Android robot on the outside
of my cubicle. The going joke in the office is that I can analyze the
Wi-Fi with my phone, but my co-engineers cannot because they all have iOS.
Another good app is WiFi Map Maker by Dave McKellar. It really helped
me figure out which neighbor is flooding my house with his Wi-Fi signal.
Thanks for the article and good work.
—
Roman
Shawn Powers replies: I love that app too! I've never had a good enough GPS signal indoors to use it very well. Your scenario sounds perfect. I'm glad it worked for you.
After reading this XKCD comic about developing easy-to-remember, hard-to-crack passwords: xkcd.com/936, I stumbled upon this page for manually generating a strong password with six-sided die: world.std.com/~reinhold/diceware.html.
Now, rolling a bunch of die to select a password is rather cumbersome (I'm not a table-top RPG geek), so I developed a script that will select any number of words (by default, five) and select a pseudo-random list of words from the Diceware word list (see the article linked above for the list):
ppgen.sh: #!/bin/bash # Copyright © 2012, Trey Blancher # Licensed under a Creative Commons Attribution-ShareAlike # 3.0 Unported license. # # Inspired by XKCD # http://xkcd.com/936/ # # adapted from Diceware's Passphrase table-top generator # http://world.std.com/~reinhold/diceware.html while getopts "f:n:" opt; do case $opt in f) # Process file argument #echo "File argument passed: $OPTARG" >&2 WORDLIST=$OPTARG ;; n) # Process number argument #echo "Number argument passed: $OPTARG" >&2 NUM=$OPTARG ;; \?) echo "Invalid option: -$OPTARG" >&2 echo "usage: $0 [-f <word list>] [-n <number ↪of words in passphrase>]" >&2 exit 1 ;; esac done if [ -z $WORDLIST ]; then # Default word list comes from Diceware (see above link) WORDLIST="/usr/share/diceware/diceware.wordlist.asc" fi if [ -z $NUM ]; then NUM=5 fi #echo "$0 -f $WORDLIST -n $NUM" >&2 # Algorithm uses six-sided die D=6 # Initialize RANDOM variable RANDOM=$RANDOM for ((i=1;i<=$NUM;i++)); do for d in {1..5} # five digits per word in master list do WORD+=$(($(($RANDOM % $D))+1)) done grep $WORD $WORDLIST | awk '{print $2}' | awk '{ printf "%s ", $0 }' WORD= done echo
This script lets you choose how many words you want in your generated
password and uses some tips on shell programming from Dave Taylor. There
probably are better ways to do what I've done here, but this works for me. I
use
it any time I need a password I can remember (without writing it down or
storing it in a password manager).
—
Trey
Shawn Powers replies: I love Randall Monroe. When I saw his comic (days after writing my column, of course), it made me think how silly passwords are in general. Your script sounds like a good idea to me. Thanks for sharing.
I just read the January 2013 issue of LJ and noticed the letter about a backup
system for Linux. Crashplan looks interesting. I haven't tried it yet, but
I plan to play around with its free offerings at a minimum. The trial
looks
like a good way to test the full experience too. I run both Mac and
Linux
computers, and I like that all major OSes are supported.
—
Nathan
Shawn Powers replies: I happen to agree with you. In fact, I wrote a piece about it in this issue's Upfront section. I use it everywhere, and I really appreciate the generous free-feature offering.
It works on Solaris, Linux, Mac and Windows. I use it on Solaris and Windows machines, and it has been completely set-and-forget for me for a number of years now. I do the occasional restore to make sure that it is working as expected.
Oh, Crashplan also has an Android application that is restore-only. It's useful
for
getting files onto phones and tablets.
—
Gary Schmidt
Shawn Powers replies: As with my response to Nathan, I completely agree. Crashplan is awesome.
Has Linux Mint sold its soul to Google? See
forum.linuxmint.com/viewtopic.php?f=157&t=108859.
—
B.r. Mintman
I can't speak to Linux Mint's procedures and goals. I can only give my take on using Mint in the past: I thought it was very user-friendly and configured well out of the box, but I didn't care for it much myself. I don't think I'm the intended target, however, so that's okay.
I know Linux Mint always has had a custom Google search in the Firefox browser as a way to raise some capital. It's possible there is more Google interaction, but I honestly don't know. The great thing about Linux is that if you don't like the philosophy and/or actions of one company, there are many other distros from which to choose!—Ed.
Regarding the “Elliptic Curve Cryptography” article in the
January 2013 issue: Putty unfortunately doesn't support ecc/ecdsa keys, but it's on the
wish list.
—
Wes
Could you please take the time to review Slax Linux? I have never seen this
version of Linux reviewed by your magazine in the past or present and would
love to see what you think of it. Here is the URL: www.slax.org.
—
Christina Cross
I've covered Slax in a video review before. If there are cool new features or significant changes, we might take a look at it. I do recall liking the look of Slax, and I appreciated its underlying Slackware roots.—Ed.
My wife bought me a Rasberry Pi for my birthday, and I thought you
might get a kick out of this picture of my son holding it on its first
boot. It's connected to the flatscreen, with top running in the login
shell.
—
Michael Soulier