February 27, 2004

By Karen Kenworthy

IN THIS ISSUE

Wow! You've never looked better!

Like most people, I stood by while the print in books and magazines shrank every year. I did nothing as television stations and movie theaters grew evermore careless with the focus of their cameras and projectors. I politely overlooked the spreading habit of my friends and family to appear "fuzzy", gradually disguising their appearance.

But finally, I couldn't take it any more. My patience had worn through. I had to do something.

So, on a hunch, I had my eyes examined. And, guess what? I needed new glasses! I'm now wearing my new "continuous bifocals". I haven't seen this clearly in years. And you, my dear, look fabulous! :)

Print Logger In Focus

Now that I can see clearly, I realize a lot of folks have written lately, asking about the new Print Logger. Do you remember this little program? It quietly monitors our computer's printers, noting what they print, when they print, and who asked them to print it. These statistics are then stored in a special disk file I call the "Printer Log".

It's easy to see the information squirreled away in this file. Just click the conspicuous "View" button on the Print Logger's main window. A new on- screen window appears, revealing the Print Log's contents.

What will you see? The Print Logger uses a traditional "table" to display the information it collects. Each horizontal row of the table describes a single "print job" (That's programmer-speak for a document while it's being printed, or waiting in line for its chance to be immortalized on paper).

Each of the table's eleven columns (you may have to stretch the window, or scroll the table, to see them all) contains a different document tidbit.

One column, "Document", contains the document's name or title. This is usually the name of the program used to edit or print the document, plus the name of the disk file where the document is stored. For example, you might see something like "Microsoft Word - Monthly Report.doc" here.

Another column, "Printer", discloses the name of the printer that put ink or toner to paper. And in the "Computer" column you'll see the name of the computer where that printer is attached.

Want to know who ordered the document be printed? Look under the "User" column. When was the printing requested? The "Date Submitted" column reveals all.

These four columns answer the big questions: "What?", "Where?", "Who?" and "When?". But the Print Log knows even more.

Two columns report the size of a document. One, "Pages", lists the size in pages. Tracking this number lets us know how many trees must be felled to feed a particular printer. It also permits you to charge a particular department, project or person for their actual printing expenses.

Now you and I measure a document's size in pages. But computers count bytes -- the amount of data used to describe a document's appearance. The Print Log's "Bytes" column reveals this detail.

Study this column and you'll see that documents containing several colors require more complex explanations than similar documents in black and white. The dramatic increase in data, required to communicate a photo or graphic, will be apparent too. And what about pages with both color and images? They may be worth a thousand words. But they can also require many millions of bytes. :)

Priorities

The world of computers is a friendly and gentle land of selfless 1s and 0s. Peace and tranquility rule this binary Shangri-La. The needs of the many outweigh the needs of the few, or the one, or the zero. All boldly go where no man has gone before.

Beam me up, Scotty! The truth is, inside our computers rages a constant, cutthroat battle for CPU time, memory, disk space, and bandwidth. If allowed, some programs would grab every byte of available memory, crowding out all other software. Other programs would steal every CPU cycle, depriving other software of their chance to think. And a few greedy programs would record their rambling musings on every single byte of free disk space.

Yes, competition for these shared, finite resources is fierce. So fierce that one of Windows' important jobs is "allocation" -- making sure every program receives a fair share of your computer's power.

Proper allocation of CPU cycles and computer memory is surprisingly difficult. And these allocations are not fixed. While a program is running, it often finds its initial share of these resources changed, reflecting its own activity, and the needs of other software running at the same time.

Many doctoral theses have been written, proposing evermore complex allocation schemes. And many pizzas have vanished while programmers debate the merits of each technique. And still, there's no agreement on the best methods.

Fortunately, the optimum scheduling of print jobs is much easier. So easy, in fact, Windows leaves the job to mere human beings. That's right. You and I do that job, with the help of an occasional computer programmer.

It starts when we select "Print" from a program's "File" menu. We're then presented with a few choices, including the number of copies we'd like, and the printer we want to use. Once our selections are made, a click of an "OK" button puts our decisions in motion.

As we saw during our last get-together, documents first travel to a temporary storage location called the "spooler". There they wait until the selected printer is free. Windows then copies the documents, one at a time, from the spooler to the printer, where the hard work of painting dots and lines is performed.

What if the spooler gets crowded? What if several documents arrive, while one long document is printed ahead of them? Normally, Windows prints waiting documents in the order they were spooled. The document that was spooled first -- has been waiting the longest -- will be printed next. The newest arrival will be printed last. Programmers call this simple scheduling technique FIFO (First In, First Out).

But a print job can jump out of line, moving ahead of jobs that arrived before it. That's because each print job is assigned a "priority", actually a number between 1 and 99. Jobs with higher priorities are given preference when their printer becomes available. Jobs with lower priorities must wait until all high-priority jobs are done.

The word processors and other programs that print our documents can set a print job's priority. Some might even let us choose the priority, perhaps while collecting our other printing choices.

But very few programs offer this convenience. Instead, if you want to adjust a print job's priority, you must first open Windows' "Printers and Faxes" folder (found on the Start menu, under "Settings").

Next, double-click your printer's icon found in that folder. Windows responds by displaying a table containing all print jobs in that printer's queue.

The next step is slightly tricky. Use your mouse to right-click a print job's "Document Name" - the text found in the first of the table's columns. Then select "Properties" from the context menu that appears. Be sure to right-click only the print job's "Document Name", not another column. If you click anywhere else, you'll see the properties of the job's printer, not the properties of the document itself!

Finally, when the document's Properties appear, look for a "slider" or scroll buttons that adjust the document's priority. The current setting is probably "1", or "Lowest", since that's the default. Move the slider towards "99" or "Highest" to promote the print job, giving it precedence over more lowly jobs. Or, if the priority is already greater than 1, move the slider the other direction to bring the job down a notch.

For more control, your document's Properties may include "Schedule" information. Here you can postpone a document's printing until a specific time of day. Perhaps you'll schedule a long document to print late at night, when it won't delay shorter, or more important, documents. Or you might schedule a document to print at noon, while you're away for lunch.

Whatever settings you use, a print job's final priority is recorded by the Print Logger. View the Print Log and you'll see that value in the "Priority" column. Beside it you'll also discover a column called "Max Position". Its value indicates a job's worst position in the spooler's queue -- the largest number of jobs whose priority, or arrival time, meant they'd print before it.

Help! :)

Over the years, I've noticed that people can be divided into three categories. One contains folks like me, who love writing computer programs. Another consists of those who enjoy producing help files and other forms of computer documentation. And then there's the sanest group of all -- those who do neither.

But for some reason, no one ever falls into a fourth possible category: folks who enjoy computer programming, and also look forward to producing the help files that describe them.

Why? I don't know. Perhaps it's an immutable law of nature. Whatever the reason, it makes a good excuse for not including help files with my programs. :)

But it's not my only excuse. Creating Windows Help files, with the tools Microsoft provides developers, is hard. Separate programs must be used to edit text, form the table of contents and index, and mark image "hotspots" (places a user can click for more information). Links between help file pages, and other details, are indicated by formatting text in odd ways. Have you ever used your word processor's "Strike Through" text style? You will if you create a help file.

Need more? From the beginning, a magazine article or newsletters have always accompanied each of my Power Tools. Or more accurately, the programs accompany articles and newsletters that describe them. That's because the ideas and text come first, and the Power Tools that illustrate and exploit them come second.

Still, I'm often asked to provide help files for my programs. So (drum roll please!) ... the newest version of the Print Logger now includes one. Yes, you'll find "Help" buttons on the program's windows. And a standard Windows Help file is ready to appear when the button is clicked!

Over time, I'll do my best to add help files to the other Power Tools, usually when they are updated. And all new Power Tools will include help files too. At least, until I come to my senses. :)

In the meantime, would you like to put the new Print Logger, and its help file, through their paces? If as, visit the program's home page at:

https://www.karenware.com/powertools/ptprnlog

As always, the program is free for personal/home use. If you're a programmer, or would like to be one, check out the program's Visual Basic source code too!

Better yet, get the latest version of every Power Tool -- including the new Print Logger -- on a brand-new shiny CD. You'll also get three bonus Power Tools not available anywhere else. The source code of every Power Tool, the text of every back issue of my newsletter, and some of my original Windows Magazine articles are included too. Owning the CD also grants you a special license to use all Power Tools at work.

Best of all, buying a CD is the easiest way to support the KarenWare.com web site, Karen's Power Tools, and this newsletter! To find out more, visit:

    https://www.karenware.com/licenseme

Until we meet again, if you see me on the 'net, be sure to wave and say "Hi!" And if I'm tilting my head and new glasses just right, I'll see you too, and wave right back!