Installing MyEclipse


MyEclipse, from Genuitec, is a popular set of plugins for the Eclipse platform. For several years I used it on my own as my primary Java development tool, and now I have an opportunity to use it in my work for the University. What follows is how I installed it for use on Mac OS X 10.6 (Snow Leopard).

Upon downloading the “All in One” installer, which includes Eclipse 3.4.2 and a Java Runtime Environment (JRE) and running it, I was unhappy to discover that not only could I not specify where the install would occur, but that it installed the majority of itself in the root Library directory (/Library).

I ran the full install with the default settings and ended up with a “Genuitec” directory in /Library that contained both some common files and the MyEclipse 7.5 installation. The root Applications directory, /Applications, contained a MyEclipse folder with an alias to the /Library/Genuitec/MyEclipse 7.5 folder, and an uninstall application.

Out of curiosity I ran the uninstall and it completely removed MyEclipse, the Genuitec directory was gone from /Library, and the MyEclipse directory was gone from /Applications.

Re-running the installer a second time I changed the default locations to my Applications directory, inside my Home folder, or /Applications. And I successfully copied the MyEclipse folder from the root applications folder (/Applications) to my personal one (/Applications).

Here’s how I did it.

Step 1: Start the MyEclipse installer from the download

{{ $image := .ResourceGetMatch “myEclipseWelcome.png” }}

Click on “Next” to start the installer.

Step 2: Accept the License Agreements

{{ $image := .ResourceGetMatch “myEclipseWelcome.png” }}

After reviewing and accepting the license agreements, click “Next” to continue.

Step 3: Change the Default Locations

{{ $image := .ResourceGetMatch “myEclipseWelcome.png” }}

I chose not to accept the default “Install” and “Common software” locations. Click the “Configure” button and enter in the locations you want. In my case I entered /Users/mark/Applications/Genuitec.

{{ $image := .ResourceGetMatch “myEclipseWelcome.png” }}

After setting the locations, click “Next to continue.

Step 4: Install

{{ $image := .ResourceGetMatch “myEclipseWelcome.png” }}

With the locations set to your preferences, click “Install” to complete the process.

Step 5: Dismiss the Application’s First Run

Once the install is complete, MyEclipse will automatically start. Dismiss the “Workspace Launcher” dialog so that you can finish moving installed files where you want them.

{{ $image := .ResourceGetMatch “myEclipseWelcome.png” }}

Click “Cancel” to dismiss the launcher.

Step 6: Move the “MyEclipse” directory

When I can, I’ve been installing software into my personal Applications directory. There’s no technical reason for this choice, it’s a personal thing: I want to segregate (as much as I can) applications I’ve installed from those that came with the machine.

In my case I located the “MyEclipse” folder in the /Applications directory and dragged it to the Applications directory in my home folder, or ~/Applications. This isn’t necessary as MyEclipse will work perfectly from /Applications.

Now you are ready to start MyEclipse by double-click its icon in the MyEclipse folder.

One final note

Running the provided MyEclipse uninstaller won’t completely remove the software if you move it as I have done. The “Genuitec” folder and the “MyEclipse” folder will remain in their new locations. I suspect the install process doesn’t leave a breadcrumb trail for the uninstaller to follow. If you uninstall MyEclipse after installing it in a custom location, you’ll have to remove those folders by hand.


Learning Cello


When I was in the 5th grade my class was taken by bus to one of the middle or high schools where we heard the student orchestra play. After the arranged pieces were complete, each instrument was demonstrated in a short solo piece and then explained by the conductor. It was hoped that this demonstration would interest some of us in to wanting to study music.

Starting in the 6th grade I played Cornet, not because that was the instrument of my dreams but rather since my mother’s friend Mrs. Lamb had a cornet we could borrow. I played all through sixth grade. Also during that year I started what would be four years of braces. Having my lips pinched between the rather small mouth piece of the cornet and my braces was no fun, so in the 7th grade I switched to baritone horn, or more commonly baritone.

At the time I was rather small, the baritone in its case was nearly as big as I was; it certainly dwarfed me I held it in my lap on the school bus to and from school every day. The music teacher was less than pleased with our 7th grade practice ethic and so she sent home a practice log to be initialed by our parents, a log that required 30-minutes practice per day. My school bus was full, so I was forced to lug the baritone and its sizable case on and off the bus every day, and to ride the bus with the thing in my lap all the way.

All of which made for good excuses to stop music altogether. This also being the year my sister died I think my parents weren’t interested in requiring that I stick band out for the whole year. Regardless of the excuses or reasons, that was the last formal, organized music instruction I had.

As a summer camp counselor I acquired a guitar and learned through rote memorization one strumming pattern and three songs. Through out college I tortured my pianist roommate with the opening chords of Stairway to Heaven. Endlessly. He now says, 30 years later, that he still has nightmares about my “playing.”

Fast forward to three years ago when Sibylle and I met. While she is a pianist and piano teacher, she had several other instruments scattered around her studio including a beautiful cello. I have always found cello music to be the most beautiful and evocative. Seeing one up close and in person made me wistful for the squandered opportunity in junior high and high school. I confided with Sibylle that I had always wanted to learn to play cello but I had never followed through with that dream.

Starting this week I have finally taken the step necessary to learn cello. The cello actually belongs to Sibylle’s oldest son, a musician himself, and he was willing to rent it to me. Searching for lessons I contacted the University’s cello professor and also the cello instructor at the local music store. I had my first lesson this past Monday with the music store instructor. Her teaching style and my learning style did not line up at all. I suspect without knowing that she has few if any mature adult students. Much of her presentation was aimed a someone much younger than I. Also, I found her materials to be disorganized, chaotic, and not very inspirational. The lesson consisted mostly of how to carry the instrument, and how to remove it from its case. We didn’t play at all. Learning even a simple open string song or piece would have been marvelous. It was like getting a whiz-bang toy for Christmas but no batteries to make it go.

Fortunately the contact with University’s cello professor paid off as I now have a lesson set up with a student of his for this weekend. My hope is that this young man will have a teaching style more to my liking. In the meantime, with Sibylle’s musical help, and my minimal understanding of piano, I’ve started to figure out a couple pieces to play pizzicato.


Using SSHFS, MacFUSE, and Macfusion to Access Remote Filesystems


SSHFS

sshfs is a secure file system client that allows you to access and manipulate files on remote systems where that would normally be available via SFTP. sshfs is dependent upon FUSE or Filesystem in Userspace. FUSE is available for Linux, FreeBSD, NetBSD (as PUFFS), OpenSolaris, and Mac OS X (as MacFUSE). It was officially merged into the mainstream Linux kernel tree in kernel version 2.6.14. h1.

The Pieces of the Puzzle

You will need to install three applications / frameworks:

At present the preference pane that MacFuse installs is 32-bit, so your System Preferences will restart in 32-bit mode when you select the MacFuse pane. The only option it exposes is a check for updates.

Installing Macfusion

Macfusion is an open source SSHFS mounting application for Mac OS X.

Download and install from: http://www.macfusionapp.org

Setting up an SSHFS file system

Once Macfusion is installed, start the application and click on the plus icon in the bottom left of the main window and choose SSHFS.

{{ $image := .ResourceGetMatch “Macfusion_sshfs.png” }}

Set SSHFS mount parameters

Under the SSH tab:

Under the SSH Advanced tab:

Under the Macfusion tab:

Then you need to rename or remove that library. Navigate to the /Applications/Macfusion.app/Contents/Plugins/sshfs.mfplugin/Contents/Resources directory and rename (e.g., sshnodelay.orig) or remove the sshnodelay.so file.

Update SSHFS

Now that you have a working connection it is time to verify the version of sshfs included with Macfusion, and update it if necessary. Using the Terminal, navigate to:

$ cd /Applications/Macfusion/Contents/Plugins/sshfs.mfplugin/Contents/Resources
The copy of sshfs that Macfusion uses is located in this directory. Run the command:
 $ ./sshfs-static -V
to verify the installed version. As of this writing the current available version of sshfs was 2.2, if the displayed version is anything less than that, you will see a performance increase by updating.

Download SSHFS from: http://code.google.com/p/macfuse/wiki/MACFUSE_FS_SSHFS

For Mac OS X 10.6 you want to get the sshfs-static-leopard.gz file. Uncompress the gzip archive. Inside the resulting sshfs-binaries folder will be an application called sshfs-static-leopard. In Terminal rename the original sshfs-static application (assuming you are still in the /Applications/Macfusion/Contents/Plugins/sshfs.mfplugin/Contents/Resources directory):

$ mv sshfs-static sshfs-static-orig
And then copy the new version into place:
$ mv ~/Downloads/sshfs-binaries/sshfs-static-leopard sshfs-static
This should result in a significant performance increase.

Preventing .DS_Store files over Network Connections

You can prevent .DS_Store files from being created on the mounted filesystem by executing the following command in Terminal:

$ defaults write com.apple.desktopservices DSDontWriteNetworkStores true
This will affect interactions with SMB/CIFS, AFP, NFS, and WebDav servers. You will need to restart the computer or log out and back in to your user account for this change to take effect.


USB 2.0 is Way Faster


One of the last things to transfer to the new MacBook Pro was my iPod. I’ve got a 30 GB 5th Generation iPod that is nearly full; at last synchronization it only had 912 MB free.

Any given synchronization between the iPod and the PowerBook was reasonably quick, since the contents of my music library are fairly static. But the initial load of the iPod, and the one time I had to restore it, took hours and hours. I’d start the process at 6 or 7 pm in the evening and it would still be churning through the middle range of the list at midnight when I’d go to be. The PowerBook only had USB 1.1 ports.

Over the weekend I decided to transfer the iPod to the new laptop, and, based on my experience with a full-synchronization with the PowerBook, I was expecting it to take hours and hours again. However, the MacBook Pro sports USB 2.0 ports. They are on the order of 40 times faster, 480 Mbits/second versus 12 Mbits/second.

480 sounds fast but until you plug the iPod in and restore it (the only way to synchronize it with a new machine) you really don’t get a fell for what faster means. The entire process took less than an hour, more like 40 minutes.

Forty minutes instead of eight hours. Wow.


Terminal Tweaks


While the Apple Mac OS X graphical user interface is beautiful and very easy to use, having a powerful Unix command line at my disposal gives OS X something extra. Out of the box Terminal (Applications -> Utilities -> Terminal) is ready to go, but I like to customize all parts of my computer, so here is what I’ve done to Terminal.

Terminal Style

I use a colored theme to provide high contrast in my Terminal window. This improves readability tremendously. The theme I like currently is called GiovanniStyle. It uses light yellow on a dark blue background. While the author suggests Consolas for the font I am using Anonymous Pro. Consolas comes with Microsoft Office which I don’t have installed. There is a free font called Inconsolas that mimics the Microsoft offering, but I still like the Anonymous appearance better.

Manpages Color

The only drawback to GiovanniStyle is view manpages. By default some of the colors used in man’s output is not contrasty enough to be legible. Consequently I added a section to my .bash_profile to compensate. Here are the color designations I’m using for manpages:

# Color man pages:
export LESS_TERMCAP_mb=$'\E[01;31m'      # begin blinking
export LESS_TERMCAP_md=$'\E[01;31m'      # begin bold
export LESS_TERMCAP_me=$'\E[0m'          # end mode
export LESS_TERMCAP_se=$'\E[0m'          # end standout-mode
export LESS_TERMCAP_so=$'\E[01;44;33m'   # begin standout-mode - info box
export LESS_TERMCAP_ue=$'\E[0m'          # end underline
export LESS_TERMCAP_us=$'\E[01;32m'      # begin underline
And here’s the output:

{{ $image := .ResourceGetMatch “terminal.png” }}

My Prompt

Speaking of bash, I’ve modified my prompt, to make it standout more and to provide the information about who I’m logged in as and what my current working directory is, in a manner pleasing to me. Here’s the prompt:

PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\H \[\e[33m\]\w\[\e[0m\]\n$\[\033]0;\u@\h:\w\007\] '
And here’s what it looks like:

.bash_profile and .bashrc

I do not pretend to understand (yet) all the ins and outs of what goes in a .bash_profile and what goes in a .bashrc file. With that disclaimer in mind, I know the .bash_profile is the personal initialization file, which is executed for login shells, and the .bashrc file is the individual per-interactive-shell startup file. In my case I tend to have PATH additions and exports in .bash_profile, while keeping aliases and functions in my .bashrc.

This is my current .bash_profile:

# .profile

# get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
    PATH="~/bin:${PATH}"
fi

# set PATH so it includes /usr/local/sbin if it exists
if [ -d /usr/local/sbin ] ; then
	PATH="/usr/local/sbin:${PATH}"
fi

# set PATH so it includes /usr/local/bin if it exists
if [ -d /usr/local/bin ] ; then
    PATH="/usr/local/bin:${PATH}"
fi

export PATH

# user specific environment and startup programs

# setup for java
JAVA_HOME=/Library/Java/Home

# configure how history works
HISTCONTROL=ignoredups   # ignore the line if it matches previous line
HISTFILESIZE=20000              # size of the history file cf. also shopt -s histappend
HISTSIZE=1000                       # size of the run-time history list
HISTIGNORE=ls:ll:la:l:cd:pwd:exit:mc:su:df:clear # do not put these in history file

# add colors to terminal (see man ls for details)
CLICOLOR=1
# Order:
# 1. directory, 2. symbolic link, 3. socket, 4. pipe, 5. executable,
# 6. block special, 7. character special 8. executabel with setuid
# bit set, 9. executable with setgid bit set, 10. directory writable
# to others, with sticky bit 11. directory writable to others,
# without sticky bit
#
# Colors
# a - black, b - red, c - green, d - brown (yellow), e - blue, f - magenta,
# g - cyan, h - light grey
# A - Bold black, B - Bold red, C - Bold green, D - Bold brown (yellow),
# E - Bold blue, F - Bold Magenta, G - Bold cyan,
# H - Bold light grey (appears bright white), x - default color
LSCOLORS=gxFxCxDxBxegedabagacad

# export settings
export JAVA_HOME HISTCONTROL HISTFILESIZE HISTSIZE HISTIGNORE CLICOLOR LSCOLORS

# Color man pages:
export LESS_TERMCAP_mb=$'\E[01;31m'      # begin blinking
export LESS_TERMCAP_md=$'\E[01;31m'      # begin bold
export LESS_TERMCAP_me=$'\E[0m'          # end mode
export LESS_TERMCAP_se=$'\E[0m'          # end standout-mode
export LESS_TERMCAP_so=$'\E[01;44;33m'   # begin standout-mode - info box
export LESS_TERMCAP_ue=$'\E[0m'          # end underline
export LESS_TERMCAP_us=$'\E[01;32m'      # begin underline
And this is my current .bashrc file:
# user specific functions and aliases

# source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi

# prompts

# set prompt: user@host working directory new line $ using colors
# also set title to user@host and display current directory
PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\H \[\e[33m\]\w\[\e[0m\]\n$\[\033]0;\u@\h:\w\007\] '

# some alias settings, just for fun
#alias 'today=calendar -A 0 -f ~/calendar/calendar.mark | sort'
alias 'today=calendar -A 0 -f /usr/share/calendar/calendar.mark | sort'
alias 'dus=du -sckx * | sort -nr'
alias 'adventure=emacs -batch -l dunnet'
alias 'mailsize=du -hs ~/Library/mail'
alias 'bk=cd $OLDPWD'

# function to force prompt before overwriting
function r() {
	rm -i $1
}

alias 'rm=rm -i'
The calendar alias runs the calendar command against a calendar file of my own making. I just copied the calender.all file in
/usr/share/calendar
and eliminated the calendars I wasn’t interested in seeing and called the new file calendar.mark.

The dus alias produces a list of directories and files sorted into order from largest to smallest. It recurses through all sub-directories from where it is run, i.e., running it from your home directory could take a while depending on your processor and the number of files on your system. You can add an -h flag to the du command to get a human-readable output, but that breaks the sorting.

Adventure is fun, you should give it a try. Don’t blame me however, if you get eaten by a grue.

Mailsize spits out the current size of your mail directory. I’m up to 5 GB myself.

bk takes you back to the previous directory. It’s the same as cd - only shorter.

The r function and the rm alias are measures designed to protect me from careless use of the remove (rm) command. Be warned that issuing a rm -rf neatly sidesteps these “protections.” Command-line-interfaces are powerful and therefore can be dangerous.


Safari Enhancements


From the first time I used my PowerBook nearly seven years ago until today, Safari has been my browser of choice. I dabble with all the major players, and a few of the minor ones, but I always come back to Safari.

It isn’t perfect however. There are two “enhancements” I make to my copy to better suit my browsing style.

By default, any time a web site uses the target="_blank" attribute on a link, Safari will open that link in a new window. I prefer it to open in a new tab in the current window. Open a Terminal window (Applicaitons -> Utilities -> Terminal) and enter the following command:

defaults write com.apple.Safari TargetedClicksCreateTabs -bool true
{{ $image := .ResourceGetMatch “createTabs.png” }}

You’ll need to re-start Safari for the change to take effect.

ClickToFlash

Ads and auto-loading Flash are annoying. The wonderful ClicktoFlash plug-in gives you control over what Flash plays and what doesn’t. I’m running the latest beta version without any difficulties at all. Download the plug-in, quit Safari, and install. Re-start Safari and after you visit a page with embedded Flash you’ll see a new Safari menu item: ClickToFlash…. The Preferences option there will let you configure the plug-in to your tastes. Here is how I have my plug-in configured:

{{ $image := .ResourceGetMatch “createTabs.png” }}

I allow sIFR text replacement to work automatically, and I opted to have YouTube play videos encoded for H.264 with QuickTime instead of Flash.


Dublin Coddle


Shortly after moving to Kansas City I discovered a dish called “Dublin Coddle.” It’s a meat-and-potato-lovers dream soup. I’ve not made it in a very long time and wanted to try it again. Over the weekend we gathered the ingredients but ended up not making it. It needs to cook long and slow which lends itself to weekend cooking but not so much during the week. Then Sibylle suggested I make it at lunch and let it cook all afternoon. So that’s what I did and it turned out beautifully.

I suppose you could do this in a crock pot, but ours is the large economy size, and works best when it’s two-thirds full or more. So today I made coddle in an oven-proof 3-quart pan with a light fitting lid.

Ingredients

Slice the bacon into 1-inch pieces and put into pan with beef broth. Cut the sausage into bite-sized pieces and add to broth mixture. Bring to a boil and then simmer for 5 minutes.

Wash the potatoes. We like the skins so I leave them on. Slice the potatoes into thick slices. Peel and slice the onion into disks.

Remove the sausage and bacon from the broth and reserve the broth in a bowl for now. Cover the bottom of the pan in a layer of potatoes. Add a layer of onion and bacon, using half of each. Cover that with half the sausage. Repeat with another layer of potatoes, onions, bacon and the rest of the sausage. Cover the top with the last of the potatoes. If you add carrots sprinkle them into each layer of sausage.

Re-add the reserved broth and place in the oven at 250º for several hours. I cooked mine for 5 hours and it was perfect.

Serve hot, perhaps with thick bread.

Notes

I didn’t add any seasoning either in preparation or presentation. The salt from the bacon, the sweetness from the onion, and the seasonings from the sausage combine to create a wonderful flavor. I used sweet Turkey Italian sausage for this batch, you could substitute any other coarse or crumbly sausage I think.

Next time I want to try some leeks for a little added color and flavor.


Migrating iPhoto to A New Computer


One of the largest sets of data I had to transfer from my PowerBook to my MacBook Pro was my picture library. It took two tries and some fiddling around to get everything setup properly, so hopefully my posting here will save someone else the time and frustration I had.

You could use Apple’s Migration Assistant if you were willing to create a new account on the new machine. As near as I can tell Migration Assistant refuses to work unless it targets a new account. I decided before getting my new computer that I want to start fresh and not just blindly copy data from old machine to new, therefore using the Apple too was out.

For my initial attempt I booted the PowerBook into “target disk mode” by restarting it and holding the “T” key down until the FireWire symbol appeared on the screen. I then plugged it into the MacBook using a FireWire cable and it appeared as a new, mounted drive. I opened up iPhoto and chose the “File | Import to Library…” option. In the resulting dialog box I selected the iPhoto library on the FireWire connected drive and sat back to watch. Within a few minutes my entire photo library had been imported.

Unfortunately none of the albums were imported and therefore the collection was highly disorganized. I didn’t realize this at the time and started adding new pictures to the new iPhoto library from my camera right away. When I did realize that the pictures had lost their organization I wanted to re-import the library but not lose the newly added photos. Were I to do this again I would follow these steps and then start adding new pictures:


Virtual Boxes in the Garage


Moving data from an old computer to a new computer is a bit like moving in the real world. The anticipation of having all your stuff neatly put away, orderly and tidy in the new place isn’t enough to carry you through the actual doing.

Rather than just copy all my old documents and files from the PowerBook to the MacBook Pro I decided I’d sift through the data and copy what I wanted and needed. And that I would impose better (or at least different) organization as I went. After two days I’ve barely scratched the surface.

I could wave a white flag and just copy the lot of it from one machine to the other. I’d have all my stuff, and for the most part I’d know what the was and vaguely where it was at. Somehow that feels like moving to a brand new never-been-lived-in-house and bringing all your old two-by-four furniture and cinder block bookcases.

Or I could create a “PowerBook” directory on the new machine and park all the data there. Then I could leisurely sift through when the mood struck me and organize and catalog and properly locate everything. Yeah, right. This method has worked so well in the real world that there are boxes in the garage which have been moved two or three times, perhaps across state lines.

Leaving the data where it is (on the PowerBook) and only going to it when I need something is an option. I think of this as the “storage locker” approach. For several years some portion of my belongings were in storage about 5-minutes drive away from where I lived. Periodically I would want something that was “in storage.” Sometimes I’d go get it and sometimes not. Having to go there and find it made it surprisingly easy to live without some things. And sometimes when it was something I really needed, like my passport, hours were spent in fruitless searching. Not having a storage locker is truly a blessing.

The pain or cost of having to go to the storage location was good in a way, and leaving my data on the PowerBook until I need or want it would mimic that “cost.” Perhaps this would be good in that I would be less likely to copy stuff willy-nilly but rather only copy that which I truly needed.

If for some reason the PowerBook was going to go away I’d copy all the data in a heartbeat and sift through it on the new machine over time. But the PowerBook isn’t going away, and it is backed up in case it’s hard drive decides to stop working, so for now I think I’ll try the virtual boxes in the garage approach to transferring my data.


Organizing Data


Now that I have most of the software I use on a recurring basis installed on the MacBook Pro, it is time to start addressing my data. Pictures and music were the low-hanging fruit, and have already been transferred. (Although I am considering deleting all the pictures and re-transferring them via the Migration Assistant. Doing it manually certainly worked, but the folder hierarchy I had before was lost. I really don’t want to recreate it and re-sort thousands of images.)

The rest of my data breaks down into about eight types: E-books, Manuals, Word documents, Excel spreadsheets, Powerpoint presentations, diagrams, PDF, and RFT files. Figuring out where to put all of this on the new machine isn’t as easy as simply copying it across. The current organization scheme grew organically and without much thought at times. It is less an organization and more a hodge-podge.

A Word on the Home Directory Hierarchy

When a new user account is created on a Macintosh computer there are some directories included in the user’s home directory by default. They are:

The Dropbox folder itself, not the software that enables the client, is located in my home directory. This is the default location and I’m used to it and think it works very well.

bin is the folder where my program scripts, either bash, Ruby, or Python, live. bin is short for “binary.”

Projects is where I keep any source code that I am developing, or the files associated with a software project, e.g., WordPress site themes or web site files.

With a precedent set of adding home directories for specific uses, I need to decide whether my remaining files go into one of the established directories or into a specially created directory just for them.

E-books

I have been an avid e-book reader for several years. I got hooked on the format with a Palm and consequently most of my e-books are in the eReader format. I also have a number of PDF or Word copies of books. Heretofore my eBook folder has been located under the Documents folder in my home directory. However, eBooks aren’t Documents, they are specialized in format and purpose. I think it’s time to move eBooks out of Documents and into it’s own directory, Ebooks.

Manuals

Over the years I’ve collected a number of technical books and references, some as PDFs, others as self-contained web sites. While these could be considered eBooks none of them require specialized or proprietary software to be viewed. I’ve always kept them in a directory in my home directory. I see no reason to change that now.

Word, Excel, Powerpoint

Historically I have tended to keep a directory under my Documents directory for each of these file types. I think this grew out of wanting to set a default save location for each in their respective programs. Over time these three directories have become the most jumbled and chaotic.  Each is littered with files and sub-directories. The sub-directories were an attempt to impose order. “Resumes,” for example is a sub-folder under Word that houses many examples of my resume. It also holds some Rich Text Format (RTF) copies of my resume, and some PDF copies as well. I put the non-Word format files in with the Word-format ones since that is where my resumes were. Adding insult to injury not all of my resumes are in the Resume directory, there are a few running around loose in the Documents folder.

The Excel directory is equally messy for the same reasons. Powerpoint isn’t too bad simply because I don’y have too many slide shows. However it does hold a couple of OpenOffice Presentation files.

Clearly it is time for a major rethinking regarding how to organize files produced by my office productivity suite. Since I am switching from Microsoft Office to OpenOffice this seems like a good time to abandon the Word - Excel - Powerpoint triumvirate. The better approach I think would be to promote the sub-directories from inside Word, Excel, and Powerpoint, so that they live directly under Documents. Instead of saving things based on their file type, save them by topic. All resumes, regardless of file type, go in the resume directory.

The hard part will be moving everything around and developing a good sense for topics.

PDF and RTF

These files have their own directory on my old machine just like Word, Excel, and Powerpoint. And just like those three, it is a somewhat chaotic jumble of files. Once again, grouping files by type wasn’t a good idea. Henceforth PDFs and RTFs will be stored in the topical directory where they belong.

Diagrams

The final broad category of files are diagrams. Some of these are Visio documents I’ve saved from previous employment engagements and the rest are Omni Graffle files. And like all their sibling file types, these have tended to be segregated by file extension. So, just like the rest these files will be stored in the topic for which they were created.

Summary

With the addition of the new top-level directories, and the shifting of file-type directories to topics, the new hierarchy looks like this: