Wednesday, November 11, 2009

GParted Live - A Bootable GParted CD

  When it comes to Linux based disk partitioning tools, GParted (Gnome Partition Editor) is hard to beat. It has a simple and straightforward user interface that reduces managing hard disk partitions to little more than a series of intuitive mouse clicks.



  As a self-confessed distro-whore, I download and install at least a couple of different Linux distributions a month, and being able to easily manage the task of deleting, creating, and modifying disk partitions is important. I keep one or two partitions available on my system just to try out different Linux distros, and use GParted to manage those partitions.

  I often use GParted while already booted into Linux to resize an existing partition, or add a new one. However, there are a number of circumstances where it is far easier to manage disk partitions without being booted into an OS. Some examples: When preparing a previously Windows-only system for dual boot, installing a second (or third or fourth) distro on an existing system, or when preparing a LiveCD based distro for a hard disk based install.

  Almost all modern distros contain some sort of partitioning tool as part of the installation process, but I often find these built in tools to be confusing to use. I am always afraid I am going to accidentally delete or overwrite an important existing partition while trying to set up a new partition during the install process.

  GParted Live gives me the ability to boot the computer completely outside of any OS already installed on the system and prepare any partitions I might need before doing any installation. That way I maintain complete control over the partitioning process and (hopefully!) avoid the possibility doing something stupid like deleting partitions I wanted to preserve.

  GParted Live is available as an ISO from the GParted Sourceforge site. After downloading the CD image and checking the MD5Sum, burning the image to a CD is a quick process, since the ISO is under 125MB. It easily fits on a 170MB mini CD as well.

  The GParted Live CD boots in less than two minutes directly into GParted, and you can immediately begin managing hard disk partitions. The Live CD uses the popular Debian distribution for booting, and Fluxbox as the windows manager. Also included are a simple terminal, an application to capture screen shots, and a tool for changing the screen resolution.

  I highly recommend GParted Live to anyone who has frequent need for a partition manager, or just wants to exercise a little more control over the partitioning process during an OS install.

One final note: It is recommended to do a whole disk or partition image backup before you use GParted (or any disk partitioning tool) to resize or move disk partitions.

Read More...

Tuesday, November 10, 2009

Wordle - A Java Based "Word Cloud" Generator


  "What is a word cloud?", you may ask. Simply put, a word cloud is a visualization of word frequency in a given text as a weighted list. The more often the word appears in the given text, the larger the word appears in the cloud.

  Wordle is a nifty tool that allows anyone to easily create word clouds. Available at http://www.wordle.net, Wordle can be used to create custom word clouds that are limited only by your imagination!

  The Wordle website provides a variety of methods for providing the text to be "wordled". The text can be pasted from the clipboard, referenced as an Atom or RSS feed, or linked from a del.icio.us user tag list.

  The resulting Wordle is created completely client-side (on your browser) using an imbedded Java applet. A series of drop-down menus allow an amazing amount of customization to be applied to the word cloud. The font, color, layout, and even number of words displayed are all editable.

  One down side of Wordle is that there isn't an easy way to save a Wordle creation as an image. Java doesn't have any provision for saving images. Images can either be saved as screenshots, or saved as a PDF through the use of a PDF printer driver like CutePDF Writer (Windows) or cups-pdf (Linux).

  Head on over to the Wordle website and give it a try. I'm positive you will soon be addicted!

Read More...

Monday, October 26, 2009

Calling a Perl Script from a web page using JavaScript

Ever wanted to include some dynamic data on your web page, but didn't want to (or restrictions didn't allow you to) code the entire page server-side? There is actually a pretty straightforward way to accomplish this, by making the Perl script return valid JavaScript and then calling the Perl script as if it were JavaScript. Confused? I was too until I developed a working example of how it works.

For this example, I will combine the random quotation Perl script I outlined in a previous post with cowsay, also outlined in a previous post on this blog. The Perl script will call the random quotation script, pipe it through cowsay, then return the output in JavaScript to be executed by the browser.

First, the Perl code; I'll call it "cow_quote.pl":

#!/usr/bin/perl 

use strict;
my $line;

# Get a random quotation from www.quotationspage.com
# using random_quote.pl, then pipe the output through
# the cowsay program, limiting the output to 30 columns
my $cowsay = `perl random_quote.pl | cowsay -W 30`;

# Substitute all occurrences of the backslash ("\")
# with the HTML escape code ("\")
$cowsay =~ s/\\/\/g;

# Substitute all occurrences of the space (" ")
# with the HTML escape code (" ")
$cowsay =~ s/ / /g;

# Split the resulting cowsay text into individual lines
my @cowsay = split(/\n/, $cowsay);

# Declare the Internet Media (MIME) type  - The browser
# REQUIRES this to be declared; without it this example
# WILL NOT WORK!
print "Content-type: text/html\n\n";

# Using CSS, declare a style for our DIV tag, setting the
# font to bold courier, with the size of the font being
# 83% of the normal size.  This will permit us to utilize
# all 30 columns of the cowsay text in the narrow sidebar. 
print "document.write(\"<style>\\n\");\n";
print "document.write(\"  \#cowsay\\n\");\n";
print "document.write(\"  {\\n\");\n";
print "document.write(\"    font-family:courier;\\n\");\n";
print "document.write(\"    font-weight:bold;\\n\");\n";
print "document.write(\"    font-size:83%;\\n\");\n";
print "document.write(\"  }\\n\");\n";
print "document.write(\"</style>\\n\");\n";

# Create the cowsay DIV tag, and output the multiple lines
# of the cowsay text, separating each line with an HTML
# break, then close the DIV tag.
print "document.write(\"<div id=\'cowsay\'>\\n\");\n";
foreach $line (@cowsay)
{
  print "document.write(\"  $line\\n\");\n";
  print "document.write(\"  <br />\\n\");\n";
}
print "document.write(\"</div>\\n\");\n";
As you can see, all the output from the Perl script is in JavaScript, allowing the code to be executed client-side by the browser.

Now all that we need to do is to call the script from the web page, using the following code:
<script type="text/javascript" src="http://yourdomain.com/cgi-bin/cow_quote.pl"> 
</script>
Of course, you would substitute your domain for the one listed above.

This is by no means the limit of what could be done utilizing this method. As long as the output is in JavaScript, the sky is the limit!

The Perl source for cow_quote.pl is available here. In order for function properly, it does require that cowsay and random_quote.pl (and it's dependent Perl modules) be installed on your server.

Read More...

Wednesday, October 21, 2009

Using Perl's LWP::UserAgent and HTML::Form Modules to Extract Data From a Web Page

I wanted a script that would display a random quotation each time I logged into my server from the command line. I suppose I could have used Linux's fortune program, but thats been done before, and besides, I wanted something different.

Here's how I used two modules from libwww-perl (LWP::UserAgent and HTML::Form) to extract random quotations from www.quotationspage.com. The libwww-perl collection is a set of Perl modules which provides a simple and consistent application programming interface to the World-Wide Web. The main focus of the library is to provide classes and functions that allow you to write WWW clients.

With amazingly little code, a perl script can be be written that retrieves the HTML returned when a web page is requested, just like a browser. This is accomplished thru the use of perl's LMP::UserAgent, a perl module that can be used to dispatch web requests.

In my case, I also needed to fill out an HTML form on a web page, click a Submit button, and extract specific data from the returned page. Again, very easy using another Perl module, HTML::Form.

In the following example, I hope to show how easy it can be to extract specific data from a web page using just these two Perl modules.

Read More...

Sunday, October 11, 2009

cowsay - A Configurable Speaking/Thinking Cow

cowsay is a silly little command line text filter that displays a cow saying (or thinking) whatever text you feed it.  For example, each time I log into my server via ssh I am greeted by a friendly cow who gives me a random quote.

cowsay has a number of options that change how the text is displayed and the appearance of the cow (dead, greedy, paranoid, etc.).  There is also a library of "cowfiles" - alternate pictures that can be displayed in place of the cow.

Some of the options available:

The -n option turns off word wrap. If it is specified, the given message will not be word wrapped.

The  -W specifies roughly (where the message should be wrapped.  The default is equivalent to -W 40 i.e. wrap words at or before the 40th column.

There  are  several  provided modes which change the appearance of the cow depending on its particular emotional/physical state.
The -b option initiates Borg mode;
       -d causes the cow to appear dead;
       -g invokes greedy mode;
       -p causes a state of paranoia to come over the cow;
       -s makes the cow appear thoroughly stoned;
       -t yields a tired cow;
       -w is somewhat the opposite of -t, and initiates wired mode;
       -y brings on the cow's youthful appearance.
The -f option  specifies  a particular cow picture file (``cowfile'') to use.
The -l option lists all the cowfiles available

Making the cow say what you want is easy: cowsay moo displays a cow saying "moo".  You can also "pipe" the text to be displayed, like this: echo moo | cowsay .  To display a dragon saying the content of a text file called cowtext, enter cat ~/cowtext | cowsay -f dragon


Installing cowsay

If cowsay isn't already installed in your distribution, installing cowsay is a snap.  Almost all distros include cowsay in their repositories, so its a simple matter of installing via your distro's package manager. (apt/Synaptic, yum, pacman, YasT, etc.)

In the event you can't find a cowsay package for your flavor of Linux, you can download the source tarball from http://www.nog.net/~tony/warez/cowsay-3.03.tar.gz and build cowsay from source.

Cowsay Homepage: http://www.nog.net/~tony/warez/cowsay.shtml

Read More...

Saturday, October 10, 2009

Where Wizards Stay Up Late - The Origins of the Internet


While perusing the computer books at my local library I came across a book entitled Where Wizards Stay Up Late - The Origins of the Internet, by Katie Hafner & Matthew Lyon

It looked interesting, so I checked it out.

What a fascinating read. I couldn't put the book down. I ended up reading the entire book in one sitting.

From early meetings discussing the need to link distant computers together, all the way through the development of HTML and Mosaic (the first browser) this book details not only the technologies that were developed, but also the people and organizations that made it all happen.

It is written so even a person with no background in the underlying hardware, software, and protocols involved with the internet can read it and understand, but yet someone with a basic understanding of those concepts isn't put off.

This book is a really good read, and anyone with even the slightest interest in how the internet as we know it came to be should read it.

Read More...

Friday, October 9, 2009

Beginner's Linux Command Cheat Sheet


  As a new (or experienced) Linux user, ever wish you had a handy cheat sheet filled with the most commonly used terminal commands for things like file operations, process management, permissions, ssh, searching, system information, compression and networking?

  Now you can, thanks to Jacob Peddicord and FOSSwire.  Designed as a reference to assist both new and seasoned Linux users remember the syntax for common cli commands, the Unix/Linux Command Cheat Sheet is downloadable in PDF format in english as well as a variety of other languages.

Read More...

GNU nano - A small, free and friendly text editor


  GNU nano is a cli (command line interface) editor for the Linux platform.  It was originally developed as a free replacement for the non-free Pico editor included as a part of the email client Pine.

  Unlike vim or emacs, nano allows even the most inexperienced user to easily create or edit text files.  Typing nano filename at the command line opens nano and either loads the file filename if it exists, or will create the file upon saving/exiting nano.

  Nano has a very short learning curve.  Immediately upon opening nano you can begin editing text, and simple,easy to remember commands control things like cut/paste and find/replace.

  Nano also includes a multitude of other options for setting things like word wrap, mouse control, etc.  These options can be specified when nano is run, or be configured to default settings by editing the .nanorc file in the user's home folder.

Read More...

Wednesday, October 7, 2009

Slax, the modular "Build it Yourself" Linux Distribution

  As an attendee of Ohio LinuxFest 2009, I received a complimentary copy of the September 2009 issue of LinuxPro magazine.  One of the articles in the issue was about Slax,  a unique Linux distribution with a modular design that allows you to build a custom distro directly from the Slax website.  The article intrigued me, and being the "distro whore" that I am, I had to play around with Slax.

  Building a custom Slax distro was ridiculously easy.  I visited the Build Slax page on the Slax website,  chose the modules I wanted to be included in my custom ISO, and clicked Download ISO.  It was that easy!



  If you decide later that you have additional modules you want to add, you can return to the website, add the additional modules, and download a new ISO.

  It's a nifty concept with lots of interesting possibilites.  You can easily create a sub-200MB distro that fits on a mini CD, or create a bootable USB installation as well.

Read More...

Tuesday, October 6, 2009

My weekend at Ohio LinuxFest 2009

I recently attended Ohio LinuxFest 2009, held September 25-27, 2009 at the Greater Columbus Convention Center in Columbus, Ohio.  The annual event draws Linux users from Ohio and the surrounding states. This was my third year as an attendee.

In past years, I went primarily to wander through the exhibitor area and bond with my fellow Linux geeks, but this year I expanded my LinuxFest schedule, attending both Friday and Saturday sessions.

On Friday I attended Zenoss' Community Day, a no-cost training day offered by Zenoss, an Open Source (with an enterprise edition available) network monitoring tool.  Zenoss goes well beyond what a simple home network administrator like me would ever need to manage my six computer network, but I still learned a lot at the session.

Before attending I never really gave much thought to the issues that come with managing a large scale network, and I realized that monitoring a large network is extremely complex.  The object driven network model that Zenoss builds really makes managing a complex network pretty easy.  

On Saturday I returned and brought my 14 year old daughter and 12 year old son along as well.  I suspect the main reason the two of them really want to go each year is so they can collect the freebies from the exhibitor area, but they do enjoy attending.

We spent about an hour people watching and wandering past exhibitor booths, stopping occasionally to talk to an exhibitor.  I sat down for 10 minutes or so and chatted with the fine folks at TheLinuxLinkTechShow (TLLTS).  They broadcast a live streaming Linux Tech show on the internet each Wednesday.

From there we attended a talk given by 19 year old Elizabeth Garbee entitled "How to Use Open Source to Pay For a College Education".  I thought Ms. Garbee gave an excellent presentation and I hope that my kids paid at least a little attention to what she said.

To round out our day at OLF 2009, we attended a talk by Mike Badger, "Programming for the Young and the Young At Heart.  Mr. Badger is the author of a book on Scratch, "Scratch 1.4 Beginner's Guide".

The talk was an hour long introduction to Scratch, the modular programming language.  I discovered Scratch on my own several months ago, (see my previous post on Scratch for more information) and the kids and I were really looking forward to the presentation.

To be honest I was somewhat disappointed by the presentation.  I felt that too much time was spent discussing the purpose and origins of Scratch, time that could have been better spent demonstrating Scratch's ease of use and abilities.  I thought Mr. Badgers presentation was really sort of dull, and his talk didn't hold my kids attention at all.

I really enjoyed the two days I spent at OLF 2009, and look forward to next year!  Here are some pictures taken by my daughter at the event:


Pictures from Ohio LinuxFest 2009

Ohio LinuxFest 2009

Read More...

Thursday, September 24, 2009

Zenwalk - Gnome Edition


  I am a fan of lightweight Linux distributions, mostly because my motley crew of computers mostly consists of older, usually outdated machines that just aren't up to the task of running full blown (and bloated distros) like Ubuntu or Fedora.  It seems like lots of folks rave about Zenwalk, and having never played with it, I thought I might give it a try and see what the fuss was all about. 

  Zenwalk is a lightweight, primarily Xfce based distro with a focus on keeping it simple by providing just one mainstream application for each task.  I was sure that the standard Xfce based edition was fast and powerful, so I decided to look at something a little different, the GNOME based edition of Zenwalk.  In my experience, GNOME based distros tend to tax the resources of my older, slower hardware, and I wanted to see how well Zenwalk would run under GNOME on my machine.

  Here is my review of Zenwalk GNU/Linux - Gnome Edition.

Read More...

Wednesday, September 23, 2009

Clonezilla Live - A Live CD Based Open Source Disk/Partition Cloning Tool

   Clonezilla Live is an Open Source tool that  provides an easy and direct method for copying (cloning) the entire contents of one hard drive or partition to another.  Whether you need to backup a partition containing important data (for example, your /home partition, or perhaps a valuable SQL database), or copy an entire hard drive to another, Clonezilla Live makes it a snap.  Clonezilla will copy GNU/Linux,  MS Windows and Intel-based Mac OS partitions.

Read More...

Saturday, September 19, 2009

SAM Linux 2009

  My first experience with SAM Linux was in 2007, with SAM Linux 2007.  I downloaded and burned a LiveCD (SAM Linux is primarily a LiveCD distro), and spent about 15 hours or so playing around with it.  I was fairly impressed at the time, both with the pre-installed applications and the general usability of the distro.  I even wrote a review of SAM Linux 2007, which I posted to the Ubuntu Forums. 

  While perusing DistroWatch the other day, I discovered that SAM Linux 2009 was recently released.  I remembered having been fairly impressed with SAM Linux 2007, so I thought I might download the latest release and see what was new. 


Read More...

Sunday, September 13, 2009

TrueType fonts on a network share

My daughter complained yesterday about not having access to all the fonts she has installed on her computer available to her when she is using GIMP on a different computer on the network.


That got me to thinking, and after a little investigation, I discovered that GIMP can be set up to load the fonts from a specific location.
I copied all of the fonts from her computer to a network share on my server, and voilà!   All of her fonts are now available to her (or anyone else in the network who uses GIMP) on any computer on the network!

Here's how to change the path to the fonts when loading GIMP:

Read More...

Thursday, August 27, 2009

gtk-gnutella - A great gnutella P2P server/client

Available for free for a variety of Linux platfoms as well as being easily compiled from source, gtk-gnutella is a great application if you are in need of a powerful, easy to use Gnutella server/client.

gtk-gnutella has features that make finding what you are looking for fast and easy, with an automatic filter that filters out a high number of the usual malware and spyware matches that always seen to come along with a file search on the Gnutella network.

I have been using gtk-gnutella off and and on for about two years now, having originally discovered it in the Ubuntu respostories when I first started using Linux.

I highly recommend you take a look at gtk-gnutella if you have been looking for a stable, easy to use Gnutella client for the Linux platform.

Read More...

Wednesday, August 19, 2009

Scratch, the programming language for kids

If you have a young child you would like to introduce to programming, consider looking into Scratch. Scratch was developed by MIT at the MIT Media Lab as a way to teach kids (or anyone, for that matter) the basic skills they need to become successful programmers.

Scratch is a fun and easy way for
kids to learn the basics of programming using snap-together code blocks to build working programs. A simple program can be constructed with just a few simple drag and drop operations. More complex programs can also easily be constructed using a variety of available programming constructs like variables, mathematical operators, conditional statements, image manipulation functions, and setting and using flags.

My 11 year old son (who has no pro
gramming experience at all) took to Scratch immediately. Within 24 hours of installing Scratch, he has already written a "Frog Simulator", building all the code to feed his frog flies when it gets hungry, exercise his frog to increase its fitness, and earn money to buy his frog flies at the store by walking his frog in the park.

Scratch 1.4 is available for both the Windows and Mac platforms, with an alpha release available as a .deb package for Ubuntu.

Read More...

Sunday, August 16, 2009

Free Geek Columbus to distribute 25 Ubuntu PC's

At the Ohio LinuxFest 2009 Conference, Free Geek Columbus will be offering a $250 eight hour Linux Basics class. At the end of the class, the students get to take the computer home!

The class will teach everything from installing Linux itself (Ubuntu 9.04) to basic system administration, installing printers, and connecting to the internet.

The computers being provided will have at least a 1.5GHz processor, 512MB RAM, and 15GB HDD, and a 17" monitor is included as well.

What a great opportunity for beginners to be able to not only get a firm introduction to Linux but also get the computer that they installed the Operating System on themselves.

Click here for all the details!






Read More...

Wednesday, August 12, 2009

Ohio LinuxFest 2009

The seventh annual Ohio LinuxFest will be held on September 25-27, 2009 at the Greater Columbus Convention Center in downtown Columbus, Ohio. Hosting authoritative speakers and a large expo, the Ohio LinuxFest welcomes Free and Open Source Software professionals, enthusiasts, and anyone who wants to take part in the event.

I have attended for the last two years, and have thoroughly enjoyed myself! Whether you are an experienced Linux user, new to Linux, or are just interested in finding out more about Linux, I highly recommend making the trip. Click the image above, or visit www.ohiolinux.org to register or for more information.

Read More...

Take a virtual tour of Saturn with NASA's Cassie

While wandering through the internet here recently, I came across a NASA/JPL website devoted to the extended Cassini mission to Saturn. The site is really well put together, and is a great example of what the web should be all about.

In addition to providing all the information you would ever want to know about Saturn, the website includes a virtual tour of Saturn, courtesy of the data being returned by Cassini. After downloading the software (which is only available for Windows and Mac.. Arg!) you can show Cassini's position now or at any time in the past or future, as well as interact with the spacecraft itself by draging it around with the mouse.

I highly recommend taking the time to visit the website and play with the software. It is truly awesome! Check it out! Cassini Equinox Mission: Cassini Virtual Tour

Read More...

Wednesday, August 5, 2009

Using Wolvix GNU/Linux to solve my problem

I recently had a physical hard drive failure on one of my primary computers, an AMD Athlon XP 2400 based system, and found myself without a spare HDD to put in the system.

Can't use a computer with no hard drive, right? At first I thought so too, but here's how I used Wolvix, a live CD based GNU/Linux distribution to solve the problem!

Read More...

Tuesday, August 4, 2009

Setting up Wolvix GNU/Linux with no hard drive

In this post I will outline the basic steps necessary to create a HDD-less computer that can be used to do all the basic things you need a computer to do on a daily basis.

By storing your changes to a "persistent save" file on a USB thumb drive, you can create a system that can be booted entirely from the CD, yet allow you to install packages, customize your desktop, and remember everything that has been added or updated, even if the computer is shut down and restarted.

You can even take the CD and the thumb drive with you, and boot your Wolvix "installation" on any computer that will allow booting from the CD ROM.

By following these instructions, you should be able to set up a similar system for your own use. I have tried to go into enough detail to allow someone without a whole lot of experience with Linux to be able to successfully set up a system following my instructions, but if I were to include every little detail, this blog post would be way too long, and its already much longer than I would have liked it to have been.

Read More...

>