(   )
                          (    )
                           (    )
                          (    )
                            )  )
                           (  (                  /\
                            (_)                 /  \  /\
                    ________[_]________      /\/    \/  \
           /\      /\        ______    \    /   /\/\  /\/\
          /  \    //_\       \    /\    \  /\/\/    \/    \
   /\    / /\/\  //___\       \__/  \    \/
  /  \  /\/    \//_____\       \ |[]|     \
 /\/\/\/       //_______\       \|__|      \
/      \      /XXXXXXXXXX\                  \
        \    /_I_II  I__I_\__________________\
               I_I|  I__I_____[]_|_[]_____I
               I_II  I__I_____[]_|_[]_____I
               I II__I  I     XXXXXXX     I
            ~~~~~"   "~~~~~~~~~~~~~~~~~~~~~~~~

Sat, 26 Sep 2009

Observations on Teaching Newbies to Use a Shell

I've been teaching Linux/Unix Fundamentals courses recently, and thought I'd share some observations about students - some that surprised me. The course I teach is very command line intensive; while the individual student workstations are setup with graphical environments (KDE), the course can be taught and the concepts learned from a console.

Some of the students I teach are absolute beginners to Linux or Unix, so they have never typed a command into a shell environment before. A lot of the other students' last experience with a command line was some exposure to MS-DOS that is now a faint memory.

read more after the break...

posted at: 01:34 | path: / | permalink | Learning, Linux, Shell, Unix

Sun, 13 Sep 2009

Using Rlwrap to Keep Your Commandline Sanity

After many years of commandline use, I've gotten spoiled by the pervasiveness of GNU readline in shells and other shell-like apps, like the MySQL shell. When I do sit down and try to use an app without such support, the result is a fairly painful mix of cursing and visible control characters (Oracle's sqlplus interface is probably the poster child for miserable CLI experiences, with no convenience facilities whatsoever).

An easy way around this is to use rlwrap, a nifty little program that gives any badly-designed CLI interface full readline capabilities, including command history, searching and editing. Most Linux distros have packages for it, but if not, just download and install the source yourself. It's not very large, and can be installed in a local bin directory if needed. Then you do something like rlwrap sqlplus FOO/password@db1 @sql/settings.sql or rlwrap mailx. Enjoy!

posted at: 14:36 | path: / | permalink | Linux, Rlwrap, Sysadmin, Tips, Unix

Tue, 08 Sep 2009

Perl CGI Programming, the Right Way

One of the best resources for learning Perl CGI programming online used to be Ovid's CGI Course. I was disappointed to find it no longer online, but glad to see it in updated form, now maintained by the Perlmonks community. It always distinguished itself from other CGI tutorials with its early attention to security and taint mode. Well worth the read.

posted at: 16:32 | path: / | permalink | CGI, Howto, Perl, Programming

Fri, 04 Sep 2009

No Kidding...Really?

This [0] falls under the Master of the Obvious department. Glad my taxes didn't pay for this study.

posted at: 09:41 | path: / | permalink | Research, WTF