Making the Most of Andrew
In previous articles I focused a great deal on the ez editor and on the multi-media user mail agent, messages, but these are only two of a rich set of applications. Here are a few other applications that you'll find useful:
bush (see Figure 1) provides a graphical interface to the file system. It shows the directory hierarchy, filenames and their attributes. It also provides a window where the ez editor will run as well as a means to invoke an arbitrary command on a file. With bush you can sort the list, rename, and delete files, too.
chart allows you to create simple graphs from numeric data. The data can be presented as a histogram, pie chart, or line graph.
ezdiff is not actually an application, but rather a procedure you can call from all ez windows. This is used to run the diff command on the data in two windows and then interactively see the difference between the files.
To try ezdiff, edit two files (e.g., ez/etc/hosts .deny/etc/hosts.equiv). In each window, select the Start item on the Ezdiff menu card. As you select the Next item on the Ezdiff menu card, the differences in each file are shown as highlighted data. This makes it very easy to copy lines selected in one window and paste them in the other. And yes, ez correctly remembers the locations of all the other differences when you make changes to either document. This is a life saver when looking at various versions of a file.
figure (see Figure 2) is a fairly conventional drawing editor. The files usually have an extension of .fi. Figure can create a document with lines, circles, boxes, and other insets (e.g., rasters or text), and then move them around, reshape, etc. Since figure creates an ATK data-stream, you can easily insert figures in other AUIS documents.
pipescript (see Figure 3) reads data from stdin and displays it in a window. This is very convenient with pipes, because the output data does not disturb your xterm window and yet is not in a file you need to remove. The data can be conveniently scrolled, searched or saved. I use it all the time for commands like tar tzvf auis63L1-wp.tgz | pipescript.
raster provides a simple means to edit digitized pictures (called rasters). The data must be in AUIS data-stream format. The pbmplus package (available on sunsite) provides a wide set of filters to convert between various forms of digitized data. For example, to convert from a TIFF to an AUIS-raster, I'd use this command:
tifftopnm test.tif | ppmquant 256 | ppmtopgm\ | pgmtopbm | pbmtocmuwm > test.ras
typescript (see Figure 4) provides an alternative to xterm. You enter commands to your shell in the input window and the results are shown in the same window where they can be scrolled, searched or saved. Typescript does not support curses like xterm does, so you cannot run vi or bash in a typescript, for example. However, you can use the tcsh or pdksh (ksh) shells.
Typescript has several other features that I find very useful. The README for the word processing package describes how you can cause the current working directory to be kept in the title of the typescript window. Typescript is “smart” about these paths, too. Notice in Figure 4 that the path shown in the title of the window is “~”, my home directory, and not a fully qualified path.
Typescript supports the use of several PC keys to make it easier to enter commands. The Cursor-Left and Cursor-Right keys can be used to edit the current command (regardless of whether my shell supports this). The Home and End keys will move the cursor to the beginning or end of the line (or selected area). The cursor keys are also mapped to allow me to move up and down through the command history. Cursor-Up gets the previous command entered, Cursor-Down the next.
In my opinion an even more useful feature is command completion. If I type ls and then press Cursor-Up, I get the previous command that began with “ls”. File completion is supported with the tab key. If I enter ls src/tp and then press the tab key, typescript will complete the path “src/tp” to “src/tpg-config” (in my case). It makes entering paths to files ten times easier. I love it!
If I enter a command like ls /etc, the window will likely fill and scroll automatically. If I want to see the beginning of the scrolled data, I must use the mouse (or Page-Up/Down keys) to scroll. However, if I enter ls /etc control-J (where I enter the command with a control-J keystroke, rather than the normal Enter), the command is executed, but the output is pushed to the top of the current window so I do not need to scroll.
Typescript also allows me to create my own menus in the file ~/.shmenu. In Figure 4, you can see I have a menu card Internet on the menubar. This is from my own .shmenu file which looks like this:
# User's .shmenu file # Do help .shmenu for more information. # Establish the pop up menus for the # typescript window. Internet~20,FTP<->Sunsite export~15:ftp sunsite.unc.edu Internet~20,FTP<->CMU~16:ftp.andrew.cmu.edu Internet~20,FTP_Anonymous~20:anonymous Internet~20,FTP_Ident~21:firstname.lastname@example.org Internet~20,FTP_bin~22:bin Internet~20,FTP_submissions~23:cd pub/next/submissions Internet~20,Telnet->CMU~31:telnet ftp.andrew.cmu.edu Internet~20,Bring Slip Up~40:/usr/local/bin/slipup Internet~20,Take Slip Down~41:/usr/local/bin/slipdown
|Designing Electronics with Linux||May 22, 2013|
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
- RSS Feeds
- Dynamic DNS—an Object Lesson in Problem Solving
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Designing Electronics with Linux
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- A Topic for Discussion - Open Source Feature-Richness?
- Drupal Is a Framework: Why Everyone Needs to Understand This
- Validate an E-Mail Address with PHP, the Right Way
- What's the tweeting protocol?
- Kernel Problem
9 hours 54 min ago
- BASH script to log IPs on public web server
14 hours 21 min ago
17 hours 57 min ago
- Reply to comment | Linux Journal
18 hours 29 min ago
- All the articles you talked
20 hours 53 min ago
- All the articles you talked
20 hours 56 min ago
- All the articles you talked
20 hours 58 min ago
1 day 1 hour ago
- Keeping track of IP address
1 day 3 hours ago
- Roll your own dynamic dns
1 day 8 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?