How to record progress
- When recording daily events, I don't need to write a thesis every day to describe what happened. The file LOG in today's folder holds brief notes on what I did, files that I downloaded or changed, and the like. I can also join those files together at the end of the month to make a summary.
- When doing a project for a person, I use the person's full name or email address for the filename, such as jane-doe-login to describe a persistent login problem that Jane is having.
When doing a project for a place, I use the place name plus a tag for the filename, like charleston-webpage. The
locatecommand lets me find any other files with similar tags as part of the filename (Figure 9).
Figure 9. Finding a project by place
- When doing something on a given day, if I need to finish something by next Wednesday, I put the file there. The first thing I do each morning is type today and see what's waiting.
Accessing notebook files from a browser is easy. The Apache web server let you roam around your notebook files:
Alias /home /home/your-userid <Directory /home/your-userid> Options Indexes Order deny,allow deny from all allow from 127.0.0.1 allow from 192.168.1.2 </Directory>
Here's a calendar web page and a calendar style sheet with which to display a year's worth of folders in your notebook. Notice the second week in September; the style sheet lets you highlight any days you like.
Search, Don't Categorize
It's a lot easier to break up my workstation text files by frequency of updates, and then set up searching appropriately:
- home--files under my home directory
- logs--files with a base name of LOG, all over the place
- unread mail--mail that has arrived that I haven't read yet
- notebook--files under $HOME/notebook
- root--files on the / (root) filesystem
- saved mail--messages I've actually read
- usr--files on the /usr filesystem
- web--anything provided by my workstation web server
I installed SWISH-E to index anything in text format. That plus one or two shell scripts handles my search needs.
Other Things That Help
That's not all; I've developed several other tricks.
A good shell
zshis very good at completing command lines. You're not limited to filenames; you can complete hostnames, user IDs, additional options for the command you're typing, and more.
Shortcuts--It's nice to be able to use single characters to do the work of programs such as which (Figure 10).
Figure 10. Using zsh shortcuts
Figure 11. Directory navigation in zsh
A good window manager
I started using the FVWM window manager in 1999, and really liked it when configured using Eric Raymond's Big Blue-Steel Desktop. However, I wanted to make better use of the open desktop space I had, so I moved to the IceWM window manager a few months ago.
I have four virtual desktops for my basic work environment:
- Desktop 1 holds two xterms side by side, one of which is usually for remote SSH connections to servers.
- Desktop 2 holds the Mozilla web browser, which I have configured to use the entire screen.
- Desktop 3 runs Xpdf, which I use for viewing PDF files.
- Desktop 4 is usually empty, but it's a good place to start Leo if I have the urge to do some outlining.
The function keys F1-F4 take me to desktops 1-4, respectively. F5 locks my keyboard. F6 lets me either restart IceWM or log out.
IceWM takes up very little screen real estate. I have one toolbar at the bottom of my screen that is barely 3/8 inch high, so I have plenty of room for applications (Figure 12).
Figure 12. My IceWM toolbar
The leftmost button (the IceWM logo) brings up a programs menu. Button 2 (which looks like an underscore) dismisses all the applications on your current desktop. It's a toggle; click it again and they all come back. Button 3 (which looks like overlapping windows) gives a one-click menu to get to any open application on any workspace. Button 4 (which looks like a monitor) opens a tiny Xterm window. Button 5 (Web) starts Mozilla in workspace 2; button 6 (Xpdf) starts Xpdf in workspace 3; button 7 (Lock) runs xlock; button 8 (Leo) runs the Leo outliner in the current workspace; and button 9 (PrtScrn) uses the ImageMagick program import to save a screenshot to the file $HOME/prn/screendump.png. Finally, the buttons containing numbers take me directly to a respective workspace.